Dan Hrabarchuk dan
Fri Dec 24 16:58:05 PST 2004
I successfully set up replication using a couple of test databases as
described by the README.

When I go to replicate my production machine I get the following output
on the slave:

CONFIG main: slon version 1.0.5 starting up
CONFIG main: local node id = 2
CONFIG main: loading current cluster configuration
CONFIG storeNode: no_id=1 no_comment='Master Node'
CONFIG storePath: pa_server=1 pa_client=2 pa_conninfo="dbname=sam
host=pgsql.geotivity.net port=5432 user=postgres" pa_connretry=10
CONFIG storeListen: li_origin=1 li_receiver=2 li_provider=1
CONFIG storeSet: set_id=1 set_origin=1 set_comment='First Set'
WARN   remoteWorker_wakeup: node 1 - no worker thread
CONFIG storeSubscribe: sub_set=1 sub_provider=1 sub_forward='t'
WARN   remoteWorker_wakeup: node 1 - no worker thread
CONFIG main: configuration complete - starting threads
CONFIG enableNode: no_id=1
ERROR:  copy: line 1, pg_atoi: zero-length string
lost synchronization with server, resetting connection
ERROR  remoteWorkerThread_1: PGendcopy() on local DBWARNING:  ROLLBACK:
no transaction in progress
WARN   remoteWorkerThread_1: data copy for set 1 failed - sleep 15
seconds
<repeat>
ERROR:  copy: line 1, Slony-I: Table unit is replicated and cannot be
modified on a subscriber node
lost synchronization with server, resetting connection
</repeat>

First off, why the zero-length string? Also why is the replication
daemon unable to replicate the unit table? Is there any way is increase
the verbosity of slon? When I do a COPY or a \COPY of any of the tables
I get a full and proper result. It seems as if it is trying to copy the
data but a local constraint is preventing the copy from happening.

Here is my installation script:

cluster name = geo;
node 1 admin conninfo = 'dbname=sam host=pgsql.geotivity.net port=5432
user=postgres';
node 2 admin conninfo = 'dbname=sam host=pgsql2.geotivity.net port=5432
user=postgres';
echo 'Cluster defined.';
 
init cluster (id=1, comment='Master Node');
store node (id=2, comment='Backup Node');
echo 'Nodes defined.';
 
store path (server=1, client=2, conninfo='dbname=sam
host=pgsql.geotivity.net port=5432 user=postgres');
store path (server=2, client=1, conninfo='dbname=sam
host=pgsql2.geotivity.net port=5432 user=postgres');
echo 'Paths stored.';
 
store listen (origin=1, receiver=2, provider=1);
store listen (origin=2, receiver=1, provider=2);
echo 'Listening.';
create set (id=1, origin=1, comment='First Set');
echo 'Set 1 created.';
 
set add table (set id=1, origin=1, id=1, fully qualified
name='public.unit', comment='Unit');
set add table (set id=1, origin=1, id=2, fully qualified
name='public.timezones', comment='Timezones');
set add table (set id=1, origin=1, id=3, fully qualified
name='public.timezone_rotations', comment='timezone_rotations');
set add table (set id=1, origin=1, id=4, fully qualified
name='public.client', comment='client');
set add table (set id=1, origin=1, id=5, fully qualified
name='public.project', comment='project');
echo 'Set 1 defined.';
 
subscribe set (id=1, provider=1, receiver=2, forward=yes);
echo 'Set 1 subscribed.';

Thank you very much for any help.

Dan Hrabarchuk



More information about the Slony1-general mailing list