On 14/10/08 12:51, Stephen Davies wrote:
> I am in the process of migrating a bunch of databases and associated CGI scripts from
> 9.1.4 to 9.3 (and from 32-bit to 64-bit).
>
> The database migration has been successful but I have an issue with psql
> connections from CGI scripts.
>
> I can connect to the 9.3 server locally with psql from the command line,
> with psql from other boxes on the LAN via TCP, via JDBC from programs and
> servlets but cannot connect locally via CGI.
>
> If I run any of the CGI scripts from the command line they work but when
> invoked by Apache, they fail with the usual question as to whether anything is
> listening on socket /tmp/.s.PGSQL.5432.
>
> Running netstat -an shows:
> tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN
> tcp6 0 0 :::5432 :::* LISTEN
> unix 2 [ ACC ] STREAM LISTENING 29773945 /tmp/.s.PGSQL.5432
> unix 3 [ ] STREAM CONNECTED 30139402 /tmp/.s.PGSQL.5432
>
> which I believe confirms that the socket is there and is used by local command
> line psql connections.
>
> Why would CGI connections fail?
It's possible that whatever driver the CGI scripts use is expecting to find
the socket in another directory, e.g. /var/run/postgresql/.
Regards
Ian Barwick
--
Ian Barwick http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services