Ouray Viney oviney at avaya.com
Tue Oct 23 20:46:04 PDT 2007
Hi All:

Note:  Special thank you to Andrew for sorting out my previous posting ;)

OK, to further my research and efforts to solve this problem I have checked a few things that I suspected as probable causes:

1. The location of the xxid.so that is failing to load and its respective permissions.
2. The location where postgres looks for $libdir (using pg_config)
3. Checked the postgres logs for any errors related to my attempts to run the slonik script (script included in the previous post).

...and here are the results:

1.
The location was in /usr/lib/pgsql/xxid.so and the permissions were fine:

-rwxr-xr-x  1 root root 8064 Oct 23 15:09 /usr/lib/pgsql/xxid.so

2.
The location of libdir in my installation:
[root at pgmaster ~]# pg_config | grep LIBDIR
LIBDIR = /usr/lib
PKGLIBDIR = /usr/lib/pgsql

3.
In the pg_log (/var/lib/pgsql/data/pg_log) directory, I checked the most recent log file and noticed:
ERROR:  access to library "$libdir/xxid" is not allowed
STATEMENT:  load '$libdir/xxid';
ERROR:  access to library "$libdir/xxid" is not allowed
STATEMENT:  load '$libdir/xxid';

This leads me to my next question; Why doesn't PostgreSQL not translate/evaluate the variable $libdir?  Or perhaps better yet... it that normal log entry for this type of error?  

Here is a list of the binary versions that I have installed (Just to make it clear what software versions I am using 
):

[root at pgmaster pg_log]# rpm -qa | grep postgres
postgresql-docs-8.2.5-1PGDG.rhel4
compat-postgresql-libs-4-2PGDG.rhel4
postgresql-slony1-engine-1.2.2-1_PG8.2.5
postgresql-libs-8.2.5-1PGDG.rhel4
postgresql-contrib-8.2.5-1PGDG.rhel4
postgresql-plpython-8.2.5-1PGDG.rhel4
postgresql-slony1-engine-debuginfo-1.2.2-1_PG8.2.5
postgresql-8.2.5-1PGDG.rhel4
postgresql-jdbc-7.4.13-2.RHEL4.1
postgresql-devel-8.2.5-1PGDG.rhel4
postgresql-pltcl-8.2.5-1PGDG.rhel4
postgresql-server-8.2.5-1PGDG.rhel4
postgresql-test-8.2.5-1PGDG.rhel4
postgresql-plperl-8.2.5-1PGDG.rhel4

Obviously, the most important one are:
postgresql-server-8.2.5-1PGDG.rhel4
postgresql-slony1-engine-1.2.2-1_PG8.2.5

I built the slony1-engine rpm from the source rpm that I got from the Slony-I website.

I am going to do some more digging, but for now I am at a loss.  I really don't want to have to redo this whole installation/configuration process using the source (assuming that will produce better results) without at least knowing why I had a problem using the binaries.

Note:  For fun I actually tried to load the xxid.so "extension" inside my schema using the following commands:

psql \somedb

LOAD '$libdir/xxid'; 

which resulted in failure...

pgbench=# LOAD '$libdir/xxid';
LOAD
pgbench=#

in the logs:

STATEMENT:  LOAD
        LOAD '$libdir/xxid';
LOG:  unexpected EOF on client connection
ERROR:  syntax error at or near "history" at character 1
STATEMENT:  history
        LOAD '$libdir/xxid';

I appreciate any help/pointers in resolving this problem without just reinstalling or just building from source.  I would like to ensure that I understand what is causing the failure.  As I will need to support this in the future.

Kind Rgds,

Ouray Viney


-----Original Message-----
From:	slony1-general-bounces at gborg.postgresql.org on behalf of Andrew Sullivan
Sent:	Tue 10/23/2007 21:09
To:	slony1-general at lists.slony.info
Cc:	slony1-general at gborg.postgresql.org
Subject:	Re: [Slony1-general] problems with slony1-engine-1.2.2-1_PG8.2.5andpostgresql-server-8.2.5-1PGDG.rhel4

Note: you're posting to the old list, I think.  You actually want the
new list.  I've changed the To: line, but cc:d the old list.

(Admins: I thought we'd made the old list no-post?)

On Tue, Oct 23, 2007 at 03:10:28PM -0400, Ouray Viney wrote:

> 	I suspected this initially and checked the permission on the
> file; it was originally set to "root".

Could anyone else read it?  It'd be the read permissions that are
relevant here.
 
> 	Does anyone know how the $libdir is set or what it really should
> be (I ran ltrace to try to find out but it wasn't actually evaluated:

You can use pg_config to learn that.

A

> 	After changing the permissions I re-ran the command but with no
> further progress.
> 
> 	Here are the current permissions on the file:
> 
> 	-rwxrwxrwx  1 postgres postgres 7.9K Oct 19 12:19 xxid.so
> 
> 	Note:  Obviously not required to have +x.
> 
> 	Does anyone else have any ideas why the error occurs?

That may be the problem, actually.  I am not sure whether postgres
will load the module with the execute bit set.  Also, you need to
check permissions on the parent directory.

A
-- 
Andrew Sullivan  | ajs at crankycanuck.ca
The plural of anecdote is not data.
		--Roger Brinner
_______________________________________________
Slony1-general mailing list
Slony1-general at gborg.postgresql.org
http://gborg.postgresql.org/mailman/listinfo/slony1-general




More information about the Slony1-general mailing list