Thanks a lot!
I did noticed "-i" option. I am using 8.0 whose manual
states that "-i" option is deprecated. The manual
also says that I can enable "listen_addresses" option in the
postgresql.conf to enable the server to listen over TCP/IP. What
really puzzles me is that I could actually telnet server at 5432 ports
and saw an corresponding entry in the log file; however, when I used
PHP to connect the server, the log file did not have an entry for the
failed connection attempt at all. Do you think what can go wrong?
On 8/15/05, operationsengineer1(at)yahoo(dot)com <operationsengineer1(at)yahoo(dot)com> wrote:
> did you enable the "i" flag when you started the
> postmaster? if you didn't do that, tcp/ip will not
> good luck.
> --- 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
> > password
> > host all all 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;
> > 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: ************
> > 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] 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
> > "localhost" 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
> Do You Yahoo!?
> Tired of spam? Yahoo! Mail has the best spam protection around
In response to
pgsql-php by date
|Next:||From: Janning Vygen||Date: 2005-08-17 07:12:14|
|Subject: Re: How to parse data type array columns?|
|Previous:||From: Hui Chen||Date: 2005-08-17 04:55:51|
|Subject: Re: Problem about connecting PostgreSQL through TCP/IP|