Re: Problem about connecting PostgreSQL through TCP/IP

From: Gnanavel S <s(dot)gnanavel(at)gmail(dot)com>
To: Hui Chen <gray(dot)chenhui(at)gmail(dot)com>
Cc: pgsql-php(at)postgresql(dot)org
Subject: Re: Problem about connecting PostgreSQL through TCP/IP
Date: 2005-08-18 04:37:24
Message-ID: eec3b03c050817213728d6f28b@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-php

On 8/14/05, Hui Chen <gray(dot)chenhui(at)gmail(dot)com> wrote:
>
> Hello, everyone,
>
> Can anyone help me? I am quite frustrating now. I have been trying to
> connect PostgreSQL server through TCP/IP connection using PHP. I was
> not successful. Could please read the following and give me some
> hints. Thanks a million.
>
> OS: Fedora Core 4 ("uname -s -r" yields "Linux 2.6.12-1.1398_FC4smp")
> PostgreSQL: version 8.0.3
> PHP: version 5.0.4
>
> In postgresql.conf, these three lines were inserted,
> listen_addresses = '*'
> port = 5432
> max_connections = 100
>
> The following lines were inserted to pg_hba.conf:
> local all all password
> host all all 127.0.0.1/32 <http://127.0.0.1/32> password
> host all all 192.168.0.0/1 <http://192.168.0.0/1> password
>
> restart posgresql by
> /sbin/service postgresql restart
> The server was restarted OK.
>
> The PHP script used to connect database is as follows,
> <?php
> $conn = pg_connect("host=localhost port=5432 dbname=foodb user=foo
> password=foo") or die ("Can not connect to postgres");
> $result=pg_exec("SELECT * FROM footbl");
> $fetch = pg_fetch_row($result);
> print "<html><body>";
> print $fetch[0];
> print "<body></html>";
>
> pg_close($conn); // Close this connection
> ?>
>
> Assume this PHP script is named as "connectdb.php", then on
> commandline, when I run the following,
> php connectedb.php
> I see correct results, e.g.,
> <html><body>foo<body></html>
>
> On commandline again, I used the following to connect database,
> psql -d foodb -h localhost -p 5432 -U foo
> Password: ************

Whether the password you typed here is "foo"?

Welcome to psql 8.0.3, the PostgreSQL interactive terminal.
>
> Type: \copyright for distribution terms
> \h for help with SQL commands
> \? for help with psql commands
> \g or terminate with semicolon to execute query
> \q to quit
>
> foodb=>
>
> It is OK. Then I disabled "iptables" temporarily for testing purpose by
> /sbin/service iptables stop
> Flushing firewall rules: [ OK ]
> Setting chains to policy ACCEPT: filter [ OK ]
> Unloading iptables modules: [ OK ]
>
> On localhost, I tried this command,
> telnet localhost 5432
> after hit "enters", telnet exited. I checked postgresql_%S.log and see
> "LOG: invalid length of startup packet"
> which means postgresql server indeed saw the telnet connection.
>
> I tried this on any of my other machines in the LAN, I observed the same
> thing.
>
> In summary, it seemed the postgresql allowed TCP/IP connection, and
> worked well. However, when I ran the PHP script through web browser, I
> did not get connection. Instead, in Apache web server's error_log, I
> see
> [client 192.168.1.10 <http://192.168.1.10>] PHP Warning: pg_connect() [<a
> href='function.pg-connect'>function.pg-connect</a>]: Unable to connect
> to PostgreSQL server: could not connect to server: Permission
> denied\n\tIs the server running on host &quot;localhost&quot; and
> accepting\n\tTCP/IP connections on port 5432? in /foo/connectdb.php on
> line 2
>
> Interestingly, when I checked the log file for postgresql again, it
> did not have anything for this connection failure. It seemed the
> connection did not send to the database server at all. However,
> 1) I disabled firewall
> 2) I can telnet the ports
> 3) I can run the script from commandline
>
> What could go wrong?
>
> Thanks a lot for your reading this lengthy email. Waiting for your help!
>
> Gray
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Have you searched our list archives?
>
> http://archives.postgresql.org
>

--
with regards,
S.Gnanavel
Satyam Computer Services Ltd.

In response to

Responses

Browse pgsql-php by date

  From Date Subject
Next Message Hui Chen 2005-08-18 20:39:46 Re: Problem about connecting PostgreSQL through TCP/IP
Previous Message Hui Chen 2005-08-17 17:48:38 Re: Problem about connecting PostgreSQL through TCP/IP