Slony error please help

Started by avi Singhalmost 10 years ago5 messagesgeneral
Jump to latest
#1avi Singh
avisingh19811981@gmail.com

I am working on a project to upgrade postgresql from 9.4 to 9.5 we use
slony for replication

Phase 1 problem

1. We had slony version slony1-94-2.2.2-1.rhel5.x86_64 installed when i
tried testing upgrade on my test env it failed coz slony 2.2.2 version is
not compatible with 9.5 so i upgraded slony1-94-2.2.2-1.rhel5.x86_64
to slony1-94-2.2.4-4.rhel5.x86_64 which went well.

Phase 2 problem

1. Back to upgrade testing now when i run the check_upgrade script which
includes the command below

/usr/pgsql-9.5/bin/pg_upgrade -b /usr/pgsql-9.4/bin/ -B /usr/pgsql-9.5/bin/
-d /var/lib/pgsql/cmates1/data/ -D /var/lib/pgsql/cmates1/data/9.5/ -p 5432
-P 5433 -c

it throws this error

Could not load library "$libdir/slony1_funcs.2.2.2"
ERROR: could not access file "$libdir/slony1_funcs.2.2.2": No such file or
directory

Not sure why it is still looking for slony1_funcs.2.2.2 even though the
version is upgraded to 2.2.4 and it is running fine. i do see
slony1_funcs.2.2.4.so files in lib directory which is how it should be
since i have upgraded it to 2.2.4

Any suggestions?

Thanks
Avi

#2Venkata B Nagothi
nag1010@gmail.com
In reply to: avi Singh (#1)
Re: Slony error please help

On Fri, Jun 17, 2016 at 5:36 AM, avi Singh <avisingh19811981@gmail.com>
wrote:

I am working on a project to upgrade postgresql from 9.4 to 9.5 we use
slony for replication

Phase 1 problem

1. We had slony version slony1-94-2.2.2-1.rhel5.x86_64 installed when i
tried testing upgrade on my test env it failed coz slony 2.2.2 version is
not compatible with 9.5 so i upgraded slony1-94-2.2.2-1.rhel5.x86_64
to slony1-94-2.2.4-4.rhel5.x86_64 which went well.

Phase 2 problem

1. Back to upgrade testing now when i run the check_upgrade script which
includes the command below

/usr/pgsql-9.5/bin/pg_upgrade -b /usr/pgsql-9.4/bin/ -B
/usr/pgsql-9.5/bin/ -d /var/lib/pgsql/cmates1/data/ -D
/var/lib/pgsql/cmates1/data/9.5/ -p 5432 -P 5433 -c

it throws this error

Could not load library "$libdir/slony1_funcs.2.2.2"
ERROR: could not access file "$libdir/slony1_funcs.2.2.2": No such file
or directory

How did you upgrade Slony ? Uninstall Slony, drop slony related schemas and
re-install, re-configure slony from scratch ? or did you ensure
SLONIK_UPDATE_FUNCTIONS has been executed successfully ?

Regards,
Venkata B N

Fujitsu Australia

#3avi Singh
avisingh19811981@gmail.com
In reply to: Venkata B Nagothi (#2)
Re: Slony error please help

1. Stoped slon process on both provider and subscriber nodes
2. installed slony1-94-2.2.4-4.rhel5.x86_64 on both nodes
3. ran the script listed below
#!/bin/bash
/usr/pgsql-9.4/bin/slonik <<_EOF_

cluster name = slon_cluster_cmates;
node 1 admin conninfo = 'dbname=site host=site-db01.qs01.sea1.cmates.com
user=repl password=';
node 3 admin conninfo = 'dbname=site host=pg-db03.qs01.sea1.cmates.com
user=repl password=';

update functions ( id = 1 );
update functions ( id = 3 );
_EOF_

4. Start all slony processes

Upgrade executed successfully and replication is running fine since than

On Thu, Jun 16, 2016 at 8:44 PM, Venkata Balaji N <nag1010@gmail.com> wrote:

Show quoted text

On Fri, Jun 17, 2016 at 5:36 AM, avi Singh <avisingh19811981@gmail.com>
wrote:

I am working on a project to upgrade postgresql from 9.4 to 9.5 we use
slony for replication

Phase 1 problem

1. We had slony version slony1-94-2.2.2-1.rhel5.x86_64 installed when i
tried testing upgrade on my test env it failed coz slony 2.2.2 version is
not compatible with 9.5 so i upgraded slony1-94-2.2.2-1.rhel5.x86_64
to slony1-94-2.2.4-4.rhel5.x86_64 which went well.

Phase 2 problem

1. Back to upgrade testing now when i run the check_upgrade script which
includes the command below

/usr/pgsql-9.5/bin/pg_upgrade -b /usr/pgsql-9.4/bin/ -B
/usr/pgsql-9.5/bin/ -d /var/lib/pgsql/cmates1/data/ -D
/var/lib/pgsql/cmates1/data/9.5/ -p 5432 -P 5433 -c

it throws this error

Could not load library "$libdir/slony1_funcs.2.2.2"
ERROR: could not access file "$libdir/slony1_funcs.2.2.2": No such file
or directory

How did you upgrade Slony ? Uninstall Slony, drop slony related schemas
and re-install, re-configure slony from scratch ? or did you ensure
SLONIK_UPDATE_FUNCTIONS has been executed successfully ?

Regards,
Venkata B N

Fujitsu Australia

#4Jan Wieck
JanWieck@Yahoo.com
In reply to: avi Singh (#1)
Re: Slony error please help

On Thu, Jun 16, 2016 at 3:36 PM, avi Singh <avisingh19811981@gmail.com>
wrote:

/usr/pgsql-9.5/bin/pg_upgrade -b /usr/pgsql-9.4/bin/ -B
/usr/pgsql-9.5/bin/ -d /var/lib/pgsql/cmates1/data/ -D
/var/lib/pgsql/cmates1/data/9.5/ -p 5432 -P 5433 -c

it throws this error

Could not load library "$libdir/slony1_funcs.2.2.2"
ERROR: could not access file "$libdir/slony1_funcs.2.2.2": No such file
or directory

Using git clones of everything on CentOS 7.1 I cannot reproduce this
problem.
Even the actual pg_upgrade without -c works, the cluster starts up and
replicates
just fine. I went through installing a 9.4 with 2.2.2, then upgrading to
2.2.4 (via
UPDATE FUNCTIONS) and last upgrading to 9.5 with pg_upgrade.

The only thing I can imagine would be that there is another slony cluster
(or
remnants of it) hanging around in the 9.4 installation, possibly in another
database.

Can you provide a list of all databases and all schemas in them from the
9.4 install?

Regards, Jan

Not sure why it is still looking for slony1_funcs.2.2.2 even though the
version is upgraded to 2.2.4 and it is running fine. i do see
slony1_funcs.2.2.4.so files in lib directory which is how it should be
since i have upgraded it to 2.2.4

Any suggestions?

Thanks
Avi

--
Jan Wieck
Senior Postgres Architect

#5Jan Wieck
JanWieck@Yahoo.com
In reply to: Jan Wieck (#4)
Re: Slony error please help

On Sun, Jul 17, 2016 at 12:47 AM, Jan Wieck <jan@wi3ck.info> wrote:

The only thing I can imagine would be that there is another slony cluster
(or
remnants of it) hanging around in the 9.4 installation, possibly in
another database.

That does reproduce the problem. I ran the new doc/pgbench-tutorial through
steps
01, 02 and 03 with a 9.4/2.2.2 installation. Upgraded to 9.4/2.2.5 but left
out the
UPDATE FUNCTIONS for node 3. I could have created a fourth database and just
run INIT CLUSTER against that.

I then installed 9.5/2.2.5 in parallel and the pg_upgrade run looks like
this:

(venv)[postgres@db1 pgbench-tutorial]$ pg_upgrade -b

/var/lib/pgsql/test_94/bin -B /var/lib/pgsql/test_95/bin -d
/opt/pgsql/test_94 -D /opt/pgsql/test_95 -p 54394 -P 54395 -c

Performing Consistency Checks

-----------------------------

Checking cluster versions ok

Checking database user is the install user ok

Checking database connection settings ok

Checking for prepared transactions ok

Checking for reg* system OID user data types ok

Checking for contrib/isn with bigint-passing mismatch ok

Checking for presence of required libraries fatal

Your installation references loadable libraries that are missing from the

new installation. You can add these libraries to the new installation,

or remove the functions using them from the old installation. A list of

problem libraries is in the file:

loadable_libraries.txt

Failure, exiting

(venv)[postgres@db1 pgbench-tutorial]$ cat loadable_libraries.txt

Could not load library "$libdir/slony1_funcs.2.2.2"

ERROR: could not access file "$libdir/slony1_funcs.2.2.2": No such file

or directory

If I drop the offending database or run UPDATE FUNCTIONS in it, pg_upgrade
is happy.

Regards, Jan

--
Jan Wieck
Senior Postgres Architect
http://pgblog.wi3ck.info