Skip to content
This repository has been archived by the owner on Oct 1, 2020. It is now read-only.

londiste3 create-root failed with "could not access file "$libdir/pgq_lowlevel"" #38

Open
shuwnyuantee opened this issue Sep 18, 2014 · 10 comments

Comments

@shuwnyuantee
Copy link

I have installed skytools3, to test replication with Postgres 9.3. Here's my server environment & related packages version:

server: debian 7.6
postgres: postgresql-9.3 9.3.5-1.pgdg70+1, postgresql-contrib-9.3, postgresql-plperl-9.3
skytools: skytools3 3.1.5-1.pgdg70+1 (from repo: http://apt.postgresql.org/pub/repos/apt/)
python:
- python-minimal 2.7.3-4+deb7u1
- python-pgq3 3.1.5-1.pgdg70+1
- python-psycopg2 2.4.5-1
- python-skytools3 3.1.5-1.pgdg70+1
- python2.7 2.7.3-6+deb7u2
- python2.7-minimal 2.7.3-6+deb7u2

By following londiste3 tutorial, it failed at "londiste3 .... create-root ..." with this error:

[root@shuwnyuan st3simple]$ londiste3 /root/st3simple/st3_l3simple_primary.ini create-root node1 "dbname=l3simple host=localhost user=postgres port=5434"
2014-09-18 08:19:07,123 23596 INFO plpgsql is installed
2014-09-18 08:19:07,123 23596 INFO Installing pgq
2014-09-18 08:19:07,123 23596 INFO Reading from /usr/share/skytools3/pgq.sql
2014-09-18 08:19:07,201 23596 ERROR Job st3_l3simple_db1 got error on connection 'db': could not access file "$libdir/pgq_lowlevel": No such file or directory. Query: CREATE OR REPLACE FUNCTION pgq.insert_event_raw(
queue_n ...
Traceback (most recent call last):
File "/usr/lib/pymodules/python2.7/skytools-3.0/skytools/scripting.py", line 568, in run_func_safely
return func()
File "/usr/lib/pymodules/python2.7/skytools-3.0/skytools/adminscript.py", line 62, in work
fn(*cmdargs)
File "/usr/lib/pymodules/python2.7/skytools-3.0/pgq/cascade/admin.py", line 147, in cmd_create_root
return self.create_node('root', args)
File "/usr/lib/pymodules/python2.7/skytools-3.0/pgq/cascade/admin.py", line 198, in create_node
self.install_code(db)
File "/usr/lib/pymodules/python2.7/skytools-3.0/londiste/setup.py", line 29, in install_code
CascadeAdmin.install_code(self, db)
File "/usr/lib/pymodules/python2.7/skytools-3.0/pgq/cascade/admin.py", line 425, in install_code
skytools.db_install(db.cursor(), objs, self.log)
File "/usr/lib/pymodules/python2.7/skytools-3.0/skytools/sqltools.py", line 531, in db_install
obj.create(curs, log)
File "/usr/lib/pymodules/python2.7/skytools-3.0/skytools/sqltools.py", line 490, in create
curs.execute(stmt)
File "/usr/lib/python2.7/dist-packages/psycopg2/extras.py", line 123, in execute
return _cursor.execute(self, query, vars)
OperationalError: could not access file "$libdir/pgq_lowlevel": No such file or directory

Is there any version incompatibility issue for the packages I installed? Does skytools3.1.5 supported Postgres 9.3? Appreciate if you can advice how to proceed here. Thanks!

@jtjeferreira
Copy link

Hi

Im also facing this issue...

@jtjeferreira
Copy link

I installed skytools-modules and it fixed the issue

@shuwnyuantee
Copy link
Author

hi, I got it fixed too, the replication is working like charm for me now, thanks :)

@ghost
Copy link

ghost commented Aug 18, 2015

Hi,
Installed Packages
skytools-94.x86_64
skytools-94-debuginfo.x86_64
skytools-94-modules.x86_64

but the error is still there. I run from a user postgres:

2015-08-18 09:29:07,482 29484 ERROR Job master_account_l3 got error on connection 'db': could not access file "$libdir/pgq_lowlevel": No such file or directory. Query: CREATE OR REPLACE FUNCTION pgq.insert_event_raw(
queue_n ...
Traceback (most recent call last):
File "/usr/lib64/python2.6/site-packages/skytools/scripting.py", line 568, in run_func_safely
return func()
File "/usr/lib64/python2.6/site-packages/skytools/adminscript.py", line 62, in work
fn(*cmdargs)
File "/usr/lib64/python2.6/site-packages/pgq/cascade/admin.py", line 147, in cmd_create_root
return self.create_node('root', args)
File "/usr/lib64/python2.6/site-packages/pgq/cascade/admin.py", line 198, in create_node
self.install_code(db)
File "/usr/lib64/python2.6/site-packages/londiste/setup.py", line 29, in install_code
CascadeAdmin.install_code(self, db)
File "/usr/lib64/python2.6/site-packages/pgq/cascade/admin.py", line 425, in install_code
skytools.db_install(db.cursor(), objs, self.log)
File "/usr/lib64/python2.6/site-packages/skytools/sqltools.py", line 531, in db_install
obj.create(curs, log)
File "/usr/lib64/python2.6/site-packages/skytools/sqltools.py", line 490, in create
curs.execute(stmt)
File "/usr/lib64/python2.6/site-packages/psycopg2/extras.py", line 120, in execute
return super(DictCursor, self).execute(query, vars)
OperationalError: could not access file "$libdir/pgq_lowlevel": No such file or directory

if you run of root:

2015-08-18 09:27:13,812 29276 ERROR Job master_account_l3 got error on connection 'db': permission denied for database call_db. Query: create schema pgq;
Traceback (most recent call last):
File "/usr/lib64/python2.6/site-packages/skytools/scripting.py", line 568, in run_func_safely
return func()
File "/usr/lib64/python2.6/site-packages/skytools/adminscript.py", line 62, in work
fn(*cmdargs)
File "/usr/lib64/python2.6/site-packages/pgq/cascade/admin.py", line 147, in cmd_create_root
return self.create_node('root', args)
File "/usr/lib64/python2.6/site-packages/pgq/cascade/admin.py", line 198, in create_node
self.install_code(db)
File "/usr/lib64/python2.6/site-packages/londiste/setup.py", line 29, in install_code
CascadeAdmin.install_code(self, db)
File "/usr/lib64/python2.6/site-packages/pgq/cascade/admin.py", line 425, in install_code
skytools.db_install(db.cursor(), objs, self.log)
File "/usr/lib64/python2.6/site-packages/skytools/sqltools.py", line 531, in db_install
obj.create(curs, log)
File "/usr/lib64/python2.6/site-packages/skytools/sqltools.py", line 490, in create
curs.execute(stmt)
File "/usr/lib64/python2.6/site-packages/psycopg2/extras.py", line 120, in execute
return super(DictCursor, self).execute(query, vars)
ProgrammingError: permission denied for database call_db

@shuwnyuantee
Copy link
Author

@pbobrovnikov Probably my answer is too late. Did u try install skytools-modules as mentioned above? After so long, I actually forgot how I got it fixed. But try this as suggested by @jtjeferreira

@ckbhodge
Copy link

I had to do this command, which reinstalled it:
sudo apt-get install --reinstall skytools-modules-9.3

@booleanbetrayal
Copy link

Just to chime in, I received this because I actually had two instances of Postgres installed: through a standalone installer (postgres.app) and the other as a behind-the-scenes brew dependency. pg_config path was being determined by the latter, and that was causing all sorts of confusion. After removing the unintentional brew installation, and doing a full make clean; ./configure; make; sudo make install things worked as expected.

@paulovieira
Copy link

paulovieira commented Sep 20, 2016

I also had this error using skytools3 with postgres 9.5. The missing package was not skytools-modules (or any of it's variants). It was postgresql-9.5-pgq3 (which seems to be the replacement for skytools-modules for pg 9.5 and future releases). I'm using ubuntu with the official PGDG repository.

So, sudo apt-get install postgresql-9.5-pgq3 should solve the problem for pg 9.5.

Or more exactly, all these packages should be installed to have skytools working properly:

sudo apt-get install skytools3 skytools3-ticker skytools3-walmgr postgresql-9.5-pgq3

@wangyueming
Copy link

wangyueming commented Aug 29, 2017

I had the same error. I replicated from PG9.5 on ubuntu14.04 to PG9.1 on another ubuntu12.04. I set up the skytools3 on ubuntu14.04. I tried installing all the packages above on ubuntu14.04 without success. In the end I fixed this issue by executing command below on ubuntu12.04.

sudo apt-get install skytools-modules-9.1

@martinmarques
Copy link

Just in case someone is interested, on RedHat systems it's not possible to test londiste replication with multiple instances of different version on the same node. Basically because you'll need the modules package for both and that would create a conflict.
This is because, for example, skytools-92 and skytools-96 will use the same path for the files and so rpm will see a conflict and not install both packages.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants