pgq / skytools-legacy

Obsolete, see https://github.com/pgq/ for maintained code.
https://github.com/pgq/
Other
248 stars 86 forks source link

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

Open shuwnyuantee opened 10 years ago

shuwnyuantee commented 10 years ago

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:

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 commented 10 years ago

Hi

Im also facing this issue...

jtjeferreira commented 10 years ago

I installed skytools-modules and it fixed the issue

shuwnyuantee commented 10 years ago

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

ghost commented 9 years ago

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 commented 8 years ago

@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 commented 8 years ago

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

booleanbetrayal commented 8 years ago

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 commented 8 years ago

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 commented 7 years ago

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 commented 6 years ago

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.