Setting up Postgresql on Linux

Started by phil campaigneabout 22 years ago3 messagesgeneral
Jump to latest
#1phil campaigne
pcampaigne@charter.net

Hello,
when I login to linux and check the env's I see:
PATH=/usr/local/pgsql/bin:/bin:/usr/bin:/usr/local/bin:/usr/bin/X11:/usr/X11R6/bin:/home/postgres/bin:/opt/IBMJava2-14/bin:/opt/IBMJava2-14/jre/bin:/usr/local/pgsql/bin
LD_LIBRARY_PATH=/usr/local/pgsql/lib

However after I successfully start postgresql using
/etc/init.d/postgres start
/etc/init.d/postgres status

I cannot execute the following:
psql testdb
psql: relocation error: psql: undefined symbol: PQgetssl

Then if I execute from the command line:
LD_LIBRARY_PATH=/usr/local/pgsql/lib
export LD_LIBRARY_PATH

PATH=/usr/local/pgsql/bin:$PATH
export PATH

then psql testdb works!

What's going on???
thanks,
Phil

#2scott.marlowe
scott.marlowe@ihs.com
In reply to: phil campaigne (#1)
Re: Setting up Postgresql on Linux

On Thu, 4 Mar 2004, phil campaigne wrote:

Hello,
when I login to linux and check the env's I see:
PATH=/usr/local/pgsql/bin:/bin:/usr/bin:/usr/local/bin:/usr/bin/X11:/usr/X11R6/bin:/home/postgres/bin:/opt/IBMJava2-14/bin:/opt/IBMJava2-14/jre/bin:/usr/local/pgsql/bin
LD_LIBRARY_PATH=/usr/local/pgsql/lib

However after I successfully start postgresql using
/etc/init.d/postgres start
/etc/init.d/postgres status

I cannot execute the following:
psql testdb
psql: relocation error: psql: undefined symbol: PQgetssl

Then if I execute from the command line:
LD_LIBRARY_PATH=/usr/local/pgsql/lib
export LD_LIBRARY_PATH

PATH=/usr/local/pgsql/bin:$PATH
export PATH

then psql testdb works!

What's going on???

Are you exporting those same settings in your .bash_profile or whatever is
setting up your environ?

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: phil campaigne (#1)
Re: Setting up Postgresql on Linux

phil campaigne <pcampaigne@charter.net> writes:

when I login to linux and check the env's I see:
PATH=/usr/local/pgsql/bin:/bin:/usr/bin:/usr/local/bin:/usr/bin/X11:/usr/X11R6/bin:/home/postgres/bin:/opt/IBMJava2-14/bin:/opt/IBMJava2-14/jre/bin:/usr/local/pgsql/bin
LD_LIBRARY_PATH=/usr/local/pgsql/lib

What are you checking exactly? If it's not the output of "env" then
I would say you are looking at the wrong thing. Possibly you're looking
at a profile file that neglects to "export LD_LIBRARY_PATH", or some such.

I cannot execute the following:
psql testdb
psql: relocation error: psql: undefined symbol: PQgetssl

This is clearly picking up an incompatible version of libpq.so
(specifically, psql was built with SSL support but libpq.so wasn't).
I'd suggest trying "which psql" and "ldd" on the psql executable
to figure out exactly what's what.

regards, tom lane