The script fails at the following line:

store node (id=3, comment = 'Rep Slave2 node');

It fails with:
[EMAIL PROTECTED] postgres]$ ./slony_multi_slave.sh
<stdin>:105: loading of file /usr/local/pgsql/share//xxid.v74.sql:
PGRES_FATAL_ERROR ERROR:  current transaction is aborted, commands
ignored until end of transaction block
ERROR:  current transaction is aborted, commands ignored until end of
transaction block


I have no problem implementing the slony example scripts, however,
when I try to implement a second slave, the script fails.
    

More information please.  What point does it fail at?  How does it 
fail?  What error message(s) do you see?

  
Does anyone have a short example script for this simple replication?

    
It would be better if you could post your script, and we could point out 
what's wrong with it.
I have attached the script once again for review:


slonik <<_EOF_

#--
# define the namespace the replication system uses in our example it is
# slony_example
#--
CLUSTER NAME = $REPCLUSTER;

#--
# admin conninfo's are used by slonik to connect to the nodes one for each
# node on each side of the cluster, the syntax is that of PQconnectdb in
# the C-API
# --
node 1 admin conninfo = 'dbname=$MASTERDBNAME host=$MASTERHOST port=$PGPORT 
user=$REPLICATIONUSER';
node 2 admin conninfo = 'dbname=$MASTERDBNAME host=$SLAVE1HOST port=$PGPORT 
user=$REPLICATIONUSER';
node 3 admin conninfo = 'dbname=$MASTERDBNAME host=$SLAVE2HOST port=$PGPORT 
user=$REPLICATIONUSER';

# Initialize new cluster
# init the first node.  Its id MUST be 1.  This creates the schema
# _$CLUSTERNAME containing all replication system specific database
# objects.

init cluster ( id=1, comment = 'Replication Master Node');

# Make new set for tables
CREATE SET (ID=1, ORIGIN=1, COMMENT = 'Rep tables');

# Add the tables to the set
SET ADD TABLE (SET ID=1, ORIGIN=1, ID=101, FULLY QUALIFIED NAME = 
'rep_test.test_table', comment='test table');

#--
# Create the second node (the slave) tell the 2 nodes how to connect to
# each other and how they should listen for events.
#--

store node (id=2, comment = 'Rep Slave1 node');
store node (id=3, comment = 'Rep Slave2 node');

store path (server = 1, client = 2, conninfo='dbname=$MASTERDBNAME 
host=$MASTERHOST port=$PGPORT user=$REPLICATIONUSER ');
store path (server = 2, client = 1, conninfo='dbname=$MASTERDBNAME 
host=$SLAVE1HOST port=$PGPORT user=$REPLICATIONUSER ');
store path (server = 3, client = 2, conninfo='dbname=$MASTERDBNAME 
host=$SLAVE1HOST port=$PGPORT user=$REPLICATIONUSER ');

store listen (origin=1, provider = 1, receiver =2);
store listen (origin=2, provider = 2, receiver =1);
store listen (origin=3, provider = 3, receiver =2);
store listen (origin=2, provider = 2, receiver =3);
_______________________________________________
Slony1-general mailing list
[email protected]
http://gborg.postgresql.org/mailman/listinfo/slony1-general

Reply via email to