Re: Unable to connect to PostgreSQL server via PHP - Mailing list pgsql-general
From | John Coulthard |
---|---|
Subject | Re: Unable to connect to PostgreSQL server via PHP |
Date | |
Msg-id | BAY121-F22318EAEE739F78C1EB0EFCFDC0@phx.gbl Whole thread Raw |
In response to | Re: Unable to connect to PostgreSQL server via PHP ("Lim Berger" <straightfwd007@gmail.com>) |
Responses |
Re: Unable to connect to PostgreSQL server via PHP
|
List | pgsql-general |
>From: "Lim Berger" <straightfwd007@gmail.com> >To: "John Coulthard" <bahhab@hotmail.com> >CC: pgsql-general@postgresql.org >Subject: Re: [GENERAL] Unable to connect to PostgreSQL server via PHP >Date: Mon, 13 Aug 2007 18:51:37 +0800 > >On 8/13/07, John Coulthard <bahhab@hotmail.com> wrote: > > The part of the php code for the connection is > > > > > > $dbconn=pg_connect( "dbname=lumbribase host=localhost port=5432 > > user=postgres password=$PG_PASS" ); > > if ( ! $dbconn ) { > > echo "Error connecting to the database !<br> " ; > > printf("%s", pg_errormessage( $dbconn ) ); > > exit(); } > > > > This code works on zeldia > > http://zeldia.cap.ed.ac.uk/Lumbribase/search_id.php > > but not on xyala http://xyala.cap.ed.ac.uk/Lumbribase/search_id.php > > > > So it's something to do with the way xyala is set up. I'm sure I'm >missing > > something obvious but what..? > > > > It's not a firewall issue because it persists when the iptabes are off. > > > > What does "could not connect to server: Permission denied" mean? Have I > > done some something as root or me that I should have done as > > user postgres? > > > >Hi John, > >Had the same issue. Try the following steps: > >1. PGHBA.CONF > >This is an important file. Mine (on Linux CentOS 4) is located at >"/var/lib/pgsql/data/pghba.conf". Make sure it looks like the >following. > >local all all md5 >host all all 127.0.0.1 255.255.255.255 md5 > > >2. POSTGRESQL.CONF > > >listen_addresses = 'localhost,*' >#port = 5432 >....other settings.... > > >3. PHP CODE > > >link = pg_connect("host=localhost dbname=MYDB user=MYUSER >password=MYPASS"); > >-- >That is all you need. Don't specify anything else in the connection >string. Let me know how it goes. > >LB > >---------------------------(end of broadcast)--------------------------- >TIP 6: explain analyze is your friend Thanks for the sugestions but they don''t solve the problem. I do notice that if I set listen_addresses='localhost,*' then I get the following when I start postgres... bash-3.00$ ps -ef | grep postgres root 9669 8757 0 13:34 pts/5 00:00:00 su postgres postgres 9670 9669 0 13:34 pts/5 00:00:00 bash postgres 9673 9670 0 13:34 pts/5 00:00:00 ps -ef postgres 9674 9670 0 13:34 pts/5 00:00:00 grep postgres bash-3.00$ /usr/bin/pg_ctl -D /var/lib/pgsql/data start postmaster starting bash-3.00$ LOG: could not bind IPv4 socket: Address already in use HINT: Is another postmaster already running on port 5432? If not, wait a few seconds and retry. bash-3.00$ it does start though. But if I just have localhost or * as the listen_addresses it starts without error. That's not my problem though this is "could not connect to server: Permission denied" If it's denying permission I must have the permissions set wrong but where to I start looking for them? All sub dirs in /var/lib/pgsql are owned by postgres and seem to have the same permissions on both systems. Cheers _________________________________________________________________ Find a local pizza place, movie theater, and more�.then map the best route! http://maps.live.com/default.aspx?v=2&ss=yp.bars~yp.pizza~yp.movie%20theater&cp=42.358996~-71.056691&style=r&lvl=13&tilt=-90&dir=0&alt=-1000&scene=950607&encType=1&FORM=MGAC01
pgsql-general by date: