Re: Connecting via localhost pg-8.0.3 - Mailing list pgsql-admin

From David
Subject Re: Connecting via localhost pg-8.0.3
Date
Msg-id 20050616020048.GA1912@localhost.localdomain
Whole thread Raw
In response to Re: Connecting via localhost pg-8.0.3  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Connecting via localhost pg-8.0.3
List pgsql-admin
On Tue, Jun 14, 2005 at 11:22:34PM -0400, Tom Lane wrote:
> David <dbree@duo-county.com> writes:
> > I've just upgraded from 7.4.7 to 8.0.3.
>
> On what platform, and how did you build or obtain each of these PG
> versions?

Oops - thought I included that but apparently didn't..

Platform is Debian. The packages come from The Debian repositories.

> > I get the following error if I omit "host=localhost"  :
>
> > Warning: pg_connect(): Unable to connect to PostgreSQL server: could
> > not connect to server: ¸^@Hv@' Is the server running locally and
> > accepting connections on Unix domain socket
> > "/var/run/postgresql/.s.PGSQL.5432"? in
> > /home/dlb/public_html/test.php
> > on line 2
>
> The junk text where a kernel error message ought to be is a known
> problem with some older RPM distributions (if running in a non-C
> locale) but I thought it was fixed in all known 8.0.3 packagings.
> So I'm a tad interested to find where your 8.0.3 came from.
>
> As far as actually solving your problem: it's a good guess that
> the problem is a confusion about where the Postgres server socket
> lives.  The error message shows that the client library is looking
> in /var/run/postgresql/, but the normal default for this is /tmp/.
> Do you see a socket file at /tmp/.s.PGSQL.5432 ?  If so then you
> have a libpq.so that came from a different build than the server
> came from, and the ultimate answer is to get those two components
> in sync.

Well, you guessed correctly.  It was a configuration problem.  By
inserting the line:
        unix_socket_directory = '/var/run/postgresql'
into postgresql.conf, it works as expected.

I must confess that I was a bit unclear about the connection parameters.
I thought that (in php) "host=localhost" meant to use sockets, but this
means connect through TCP/IP over lo, correct?

> It could well be that both of the above points are explained if
> your PHP is linking to an old version of libpq.so that doesn't
> match your PG server.

I'd wondered if this could have been it, but apparently all appears to
be satisfactory now.

Thanks for the reply.  It got me headed in the right direction.

pgsql-admin by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: How to recover when can't start database
Next
From: Postgres Admin
Date:
Subject: PostgreSQL and Delphi 6