Re: Problem about connecting PostgreSQL through TCP/IP

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



did you enable the "i" flag when you started the
postmaster?  if you didn't do that, tcp/ip will not
connect!

http://www.postgresql.org/docs/7.4/interactive/app-postmaster.html

good luck.

--- Hui Chen <gray.chenhui@xxxxxxxxx> 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[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: ************
> 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
> &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
> 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 


[Index of Archives]     [Postgresql General]     [Postgresql Admin]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Yosemite Backpacking]     [Postgresql Jobs]

  Powered by Linux