skytools-legacy icon indicating copy to clipboard operation
skytools-legacy copied to clipboard

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

Open shuwnyuantee opened this issue 10 years ago • 10 comments

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!

shuwnyuantee avatar Sep 18 '14 09:09 shuwnyuantee

Hi

Im also facing this issue...

jtjeferreira avatar Nov 07 '14 20:11 jtjeferreira

I installed skytools-modules and it fixed the issue

jtjeferreira avatar Nov 07 '14 21:11 jtjeferreira

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

shuwnyuantee avatar Nov 08 '14 03:11 shuwnyuantee

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

ghost avatar Aug 18 '15 06:08 ghost

@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

shuwnyuantee avatar Apr 30 '16 06:04 shuwnyuantee

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

ckbhodge avatar Jul 19 '16 12:07 ckbhodge

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.

booleanbetrayal avatar Jul 21 '16 17:07 booleanbetrayal

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

paulovieira avatar Sep 20 '16 12:09 paulovieira

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

wangyueming avatar Aug 29 '17 00:08 wangyueming

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.

martinmarques avatar Jul 23 '18 13:07 martinmarques