From: | Kevin Horan <khoran(at)cs(dot)ucr(dot)edu> |
---|---|
To: | pgadmin-support(at)postgresql(dot)org |
Cc: | Keith Larson <keithlarson(at)globalrecordings(dot)net> |
Subject: | slony ddl changes do nothing |
Date: | 2009-08-25 05:27:41 |
Message-ID: | 4A93764D.30002@cs.ucr.edu |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgadmin-support |
Whenever I select a slony cluster in the "use replication" drop down
of a ddl change dialog box, the change is not made either on the local
database or on the replicated database. For example, to create a new
sequence I select "new sequence" from the pop-up menu. If I leave "use
replication" blank, it creates the sequence locally just fine. If I
select an existing slony cluster, no change is made. The same thing
happens for other ddl changes also, like adding a new column to a table.
This was tested with pgadmin 1.10.0 and 1.8.
I turned on debug logging on pgadmin and I see this:
2009-08-24 21:56:02 QUERY : Void query (localhost:5431): SELECT
_pgbench_example2.ddlscript_prepare(1, 0);
SELECT _pgbench_example2.ddlscript_complete(1, 'CREATE SEQUENCE
public.ts3;ALTER TABLE public.ts3 OWNER TO admin;', 0);
So it seems that pgbench is sending some commands to slony, but they
don't do anything, even if I run those exact commands manually.
Inspecting the ddlscript_complete function, we have:
declare
p_set_id alias for
$1;
p_script alias for
$2;
p_only_on_node
alias for $3;
v_set_origin
int4;
begin
perform
"_pgbench_example2".updateRelname(p_set_id,
p_only_on_node);
if p_only_on_node = -1
then
return
"_pgbench_example2".createEvent('_pgbench_example2', 'DDL_SCRIPT',
p_set_id::text, p_script::text, p_only_on_node::text);
end
if;
return
NULL;
end;
So it seems the the script, p_script, is totally ignored unless
p_only_on_node equals -1, which it does not, because pgadmin does not
set it to -1. I'm not sure that it should set it to -1, I just know that
the way pgadmin is doing it does not seem to work.
My setup is very simple, just replicating pgbench from one master to
a slave. Replication is currently working fine, I can update values, do
failover, add sets and such all from pgadmin just fine, only ddl changes
don't work.
Kevin
From | Date | Subject | |
---|---|---|---|
Next Message | Kevin Field | 2009-08-25 14:35:38 | Re: sudden program termination: no warning, error, or crash |
Previous Message | Dave Page | 2009-08-25 00:33:10 | Re: Domain wizard bug |