Обсуждение: Trouble connecting locally after 9.2.4 upgrade
PostgreSQL 9.2.4
I just upgraded Postgresql from source from 9.2.3 to 9.2.4. I did the gmake world and gmake install-world. I did exactly the same thing I did with 9.2.3. For some reason when I try to access my database on the local machine with the below command I get the following error:
Command:
psql -U database_user -h localhost -d database_name
Error:
psql: symbol lookup error: psql: undefined symbol: PQconnectdbParams
If I connect remotely from my windows 7 box using pgadmin all works fine. My local Java applications running on the same server through tomcat connect to the database just fine. But locally the psql command will not work for me.
Any thoughts?
Thanks,
Lance Campbell
Software Architect
Web Services at Public Affairs
217-333-0382
Вложения
"Campbell, Lance" <lance@illinois.edu> writes: > Error: > psql: symbol lookup error: psql: undefined symbol: PQconnectdbParams This looks like psql is picking up a rather ancient version of libpq.so. Applying ldd or local equivalent to the psql executable would help you figure out where it's getting that library from. Bottom line though is probably that you forgot to worry about rpath or something similar while configuring the new build. regards, tom lane
I just found an old posting from 2010-08-15. I added the below. If fixed the issue. But I have never had to add this before. I don't manage the server I run the database on. It might be the case that there was an upgrade of Red Hat sincethe last time I installed that is causing this to be an issue. setenv LD_LIBRARY_PATH Thanks, Lance Campbell Software Architect Web Services at Public Affairs 217-333-0382 -----Original Message----- From: Tom Lane [mailto:tgl@sss.pgh.pa.us] Sent: Thursday, April 04, 2013 2:56 PM To: Campbell, Lance Cc: pgsql-admin@postgresql.org Subject: Re: [ADMIN] Trouble connecting locally after 9.2.4 upgrade "Campbell, Lance" <lance@illinois.edu> writes: > Error: > psql: symbol lookup error: psql: undefined symbol: PQconnectdbParams This looks like psql is picking up a rather ancient version of libpq.so. Applying ldd or local equivalent to the psql executable would help you figure out where it's getting that library from. Bottom line though is probably that you forgot to worry about rpath or something similar while configuring the new build. regards, tom lane
I figured it all out. When I ran the configuration script I told it to put the code in pgsql-9.2.4. Then after the codeinstalled I moved it to pgsql-9.2. Then the install could not find the proper libraries. So it used the system one. I reinstalled but this time with the target directory of pgsql-9.2. It worked fine. I don't need the environment variableLD_LIBRARY_PATH now. Thanks, Lance Campbell Software Architect Web Services at Public Affairs 217-333-0382 -----Original Message----- From: pgsql-admin-owner@postgresql.org [mailto:pgsql-admin-owner@postgresql.org] On Behalf Of Campbell, Lance Sent: Thursday, April 04, 2013 3:08 PM To: Tom Lane Cc: pgsql-admin@postgresql.org Subject: Re: [ADMIN] Trouble connecting locally after 9.2.4 upgrade I just found an old posting from 2010-08-15. I added the below. If fixed the issue. But I have never had to add this before. I don't manage the server I run the database on. It might be the case that there was an upgrade of Red Hat sincethe last time I installed that is causing this to be an issue. setenv LD_LIBRARY_PATH Thanks, Lance Campbell Software Architect Web Services at Public Affairs 217-333-0382 -----Original Message----- From: Tom Lane [mailto:tgl@sss.pgh.pa.us] Sent: Thursday, April 04, 2013 2:56 PM To: Campbell, Lance Cc: pgsql-admin@postgresql.org Subject: Re: [ADMIN] Trouble connecting locally after 9.2.4 upgrade "Campbell, Lance" <lance@illinois.edu> writes: > Error: > psql: symbol lookup error: psql: undefined symbol: PQconnectdbParams This looks like psql is picking up a rather ancient version of libpq.so. Applying ldd or local equivalent to the psql executable would help you figure out where it's getting that library from. Bottom line though is probably that you forgot to worry about rpath or something similar while configuring the new build. regards, tom lane -- Sent via pgsql-admin mailing list (pgsql-admin@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-admin
"Campbell, Lance" <lance@illinois.edu> writes: > I figured it all out. When I ran the configuration script I told it to put the code in pgsql-9.2.4. Then after the codeinstalled I moved it to pgsql-9.2. Then the install could not find the proper libraries. So it used the system one. I reinstalled but this time with the target directory of pgsql-9.2. It worked fine. I don't need the environment variableLD_LIBRARY_PATH now. Hah. Right, because configure would have set things up to build psql etc with rpaths pointing to the lib directory under the installation directory it was told to use. So it'd work until you moved the lib directory. Moral: be careful about relocating installed trees. regards, tom lane
On 04 Apr 13 17 20, Tom Lane wrote: > "Campbell, Lance" <lance@illinois.edu> writes: > > I figured it all out. When I ran the configuration script I told it > > to put the code in pgsql-9.2.4. Then after the code installed I > > moved it to pgsql-9.2. Then the install could not find the proper > > libraries. So it used the system one. I reinstalled but this time > > with the target directory of pgsql-9.2. It worked fine. I don't > > need the environment variable LD_LIBRARY_PATH now. > > Hah. Right, because configure would have set things up to build psql > etc with rpaths pointing to the lib directory under the installation > directory it was told to use. So it'd work until you moved the lib > directory. > > Moral: be careful about relocating installed trees. That's why I like to use LDFLAGS="-Wl,-rpath,'$ORIGIN/../lib'" when I build. It makes the install tree relocatable. -- Bruce Hunsaker NOTICE: This email message is for the sole use of the intended recipient(s) and may contain confidential and privilegedinformation. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intendedrecipient, please contact the sender by reply email and destroy all copies of the original message.