slony ddl changes do nothing

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

Browse pgadmin-support by date

  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