Monday 15 February 2010

windows - Slony Error, Replication Postgres - Slonik : PGRES_FATAL_ERROR load '$libdir/slony1_funcs.2.2.0 -



windows - Slony Error, Replication Postgres - Slonik : PGRES_FATAL_ERROR load '$libdir/slony1_funcs.2.2.0 -

so far have done slony replication postrong in single computer (both master , slave resides in same computer i.e. localhost).

i have done in ubuntu 12.04, suse enterprise server 11, , windows. followed illustration steps links. http://www.linuxjournal.com/article/7834?page=0,0 , this

i able perform steps between 2 different windows computer master ip : 192.168.0.3 slave ip 192.168.0.8)

but when tried slony replication between windows , suse (master: windows(192.168.0.3) , slave:suse(192.168.0.9)) when run slonik c:\slony\mtscript.txt , got error

c:\slony\mtscript.txt:8: pgres_fatal_error load '$libdir/slony1_funcs.2.2.0'; - error: not access file "$libdir/slony1_funcs.2.2.0": no such file or directory

c:\slony\mtscript.txt:8: error: extension slony-i c functions cannot loaded in database 'dbname=repdb_slave host=192.168.0.9 port=5432 user=postgres password=root'

when googled error dint found much, came know ruining command ./pg_config found that,

(1)in windows slony1_funcs.2.2.0.dll in libdir = c:/progra~2/postgr~1/9.3/lib (i.e c:\program files (x86)\postgresql\9.3\lib)

(2)and in suse slony1_funcs.2.2.0.so in pkglibdir = /opt/postgresql/9.3/lib/postgresql

edit :

my script file : mtscript.txt

cluster name = repdb_cluster_suse; node 1 admin conninfo = 'dbname=repdb host=192.168.0.3 port=5432 user=postgres password=root'; node 2 admin conninfo = 'dbname=repdb_slave host=192.168.0.9 port=5432 user=postgres password=root'; init cluster (id = 1, comment = 'node 1'); create set (id = 1, origin = 1,comment = 'contact table'); set add together table (set id = 1, origin = 1, id = 1,full qualified name = 'public.contact',comment = 'table contact'); set add together sequence (set id = 1, origin = 1, id = 2,full qualified name = 'public.contact_seq',comment = 'sequence contact_seq'); store node (id = 2, comment = 'node 2',event node=1); store path (server = 1, client = 2,conninfo = 'dbname=repdb host=192.168.0.3 port=5432 user=postgres password=root'); store path (server = 2, client = 1, conninfo = 'dbname=repdb_slave host=192.168.0.9 port=5432 user=postgres password=root'); store hear (origin = 1, provider = 1, receiver = 2); store hear (origin = 2, provider = 2, receiver = 1);

i have installed same version of postgres(version 9.3.5.1) , slony(2.2.0-1).(both downloaded here 32 bit version)

windows postgres installation directory c:\program files (x86)\postgresql\9.3

suse postgres install directory /opt/postgresql/9.3/bin

so how solve error? how perform slony replication between windows , linux(suse)?

any help wold appreciated.

thanks in advance

ok - there's nil wrong setup script, , know works windows<=>windows , linux<=>linux.

from windows machine, can seek like:

c:> psql -h 192.168.0.9 -u postgres -d repdb_slave postgres# load 'foo'; postgres# load 'slony1_funcs.2.2.0';

the first 1 should give error, , sec 1 should work. if not, check pg_config settings , file location , permissions again.

also - check postgresql server logs. if don't see first error logged there, create sure logging errors database , user-name , seek again. can seek slony 1 time again , check it's doing think is.

if sec "load" work, might bug in slony (something line-endings or similar). have mailing-lists mentioned on http://slony.info , take problem there, giving link question.

there must plenty of people have done cross-platform replication, strikes me odd there'd such obvious bug in slony. can't see we're missing though.

windows postgresql replication suse slony

No comments:

Post a Comment