Ow Mun Heng Ow.Mun.Heng at wdc.com
Wed Jul 2 19:22:36 PDT 2008
On Thu, 2008-07-03 at 11:40 +1000, James Tucker wrote:
> Just wanting to confirm there is no issue running an execute script
> when a subscriber is lagging the provider.  Does the DDL just get put
> in the sync queue and is executed at the same point in the replication
> stream as it was on the master ?  Or does it prioritise the DDL ?

Just to share my 2 bits worth.

My understanding is that it will get into a sync queue and it needs to
make sure that everything is in sync before the DDL will execute.

In my experience, in my environment, what I have experienced is that I
need to make sure that

1) syncs are up-to-date
2) no connections to the master DB (I kill off pgpool especially
culprit)

then I will execute the DDL execute script

#!/bin/sh

#
# Create a new column in a table in the replicated set
#
echo "Creating new column in the whatever table"
slonik <<_EOF_
cluster name = hmxmms_my_cluster;
node 1 admin conninfo = 'dbname=hmxmms host=xxx user=postgres
port=5432';
node 2 admin conninfo = 'dbname=hmxmms host=yyy user=postgres
port=5432';

execute script ( SET ID = 6, FILENAME =
'/home/pg_operator/slony/slony_add_column_20080624.sql', EVENT NODE =
1);
_EOF_


This is the hardest and most tedious script which I need to drop down to
a SSH connection to execute. For whatever reason, pgadmin doesn't have
this functionality.



More information about the Slony1-general mailing list