Re: unable to connect to pgsql server - Mailing list pgsql-php
From | Frank Bax |
---|---|
Subject | Re: unable to connect to pgsql server |
Date | |
Msg-id | 5.2.1.1.0.20040524141824.02d7b060@pop6.sympatico.ca Whole thread Raw |
In response to | Re: unable to connect to pgsql server (Keary Suska <hierophant@pcisys.net>) |
Responses |
Re: unable to connect to pgsql server
|
List | pgsql-php |
At 12:02 PM 5/24/04, Keary Suska wrote: >on 5/24/04 7:37 AM, fbax@sympatico.ca purportedly said: > > > I have a working system on OpenBSD 2.9 / PHP 4.0.4pl1 / pgsql 7.1 / > phplib 7.4 > > I created a new system on OpenBSD 3.5 / PHP 4.3.5RC3 / pgsql 7.3.5 / phplib > > 7.4 > > I copied an existing database and php/phplib application to the new box for > > testing, but when I try to access the application webpage, I get the > > following message in apache error log: > > PHP Warning: pg_connect(): Unable to connect to PostgreSQL server: unknown > > host name: localhost in /php/class/phplib-7.4/db_pgsql.inc on line 51 > >Usually, this is either because PHP can't resolve localhost, or the Postgres >server can't/isn't responding. Can you use localhost otherwise? E.g.: > $ telnet localhost >Even if telnetd isn't running, you should get two different messages--one >that indicates the host won't resolve, and the other indicating that the >host isn't responding (if telnetd isn't running). If you cannot use >localhost from the command line you probably have some other configuration >problem. telnet is disabled on OpenBSD by default by "ssh localhost" works fine. > Also check your nsswitch.conf. No such file on the system. >If the above works, make sure the postmaster (Postgres server) has enabled >IP connections. First check if Postmaster is listening using netstat. On my >Linux box, I would use netstat -lnp (but your options may be different). If >it is, check to make sure you are using the correct port. The default is >5432, so if you don't specify the port in the connect string the default >port will be used. I couldn't figure out OpenBSD options for netstat. Do these prove the same thing? # netstat -l | grep 5432 0xd187f7d8 stream 0 0 0xe8844498 0x0 0x0 0x0 /tmp/.s.PGSQL.5432 # fstat | head -n 1 ; fstat | grep 5432 USER CMD PID FD MOUNT INUM MODE R/W DV|SZ _pgsql postgres 5444 3* internet stream tcp 0xd18729dc *:5432 This also works: $ psql -h localhost dbname dbname > > # cat /etc/hosts | grep -v ^# > > ::1 localhost > > 127.0.0.1 localhost > >If nothing else works, this is a wild guess, but I don't know if PHP has >IPv6 support. Just for the heck of it, you may want to try reversing the >above lines in your hosts file so PHP sees the IPv4 address first. Change order and/or removal of IPV6 entry has no effect. >Another possibility is that something is blocking the connection, like a >firewall. I don't think any firewall software is installed/active by default and I didn't install/activate any. Frank