Jan Wieck JanWieck
Tue Nov 22 20:57:31 PST 2005
On 11/22/2005 1:18 PM, Melvin Davidson wrote:
> The script fails at the following line:
> 
> store node (id=3, comment = 'Rep Slave2 node');
> 
> It fails with:
> [postgres at slv 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 assume that you have not installed slony "on that node" correctly. 
Check that the shared libraries xxid.so and slony1_funcs.so are in the 
Postgres lib directory. They need to be installed on every node. You 
should see a corresponding error message that the loading of the file 
$libdir/xxid.so failed in the postmaster log of node 3.


Jan

> 
> 
>>>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
> Slony1-general at gborg.postgresql.org
> http://gborg.postgresql.org/mailman/listinfo/slony1-general


-- 
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== JanWieck at Yahoo.com #


More information about the Slony1-general mailing list