Re: pg_connect timeout ignored - Mailing list pgsql-php

From ljb
Subject Re: pg_connect timeout ignored
Date
Msg-id c1jfof$1cd4$1@news.hub.org
Whole thread Raw
List pgsql-php
private@xxxxxxx.com wrote:
> I'm testing the connect_timeout option in pg_connect but the library seems
> to ignore it. I set the pg_connect to connect to an invalid host IP and set
> the connect_timeout=8 but the function returns in 30 seconds or more.
>
> $DB = pg_connect(host=169.2.2.22 user=postgres database=xyz
> connect_timeout=8);
>
> I'm running Redhat 9 on Postgresql 7.4 and php-pgsql-4.2.2-17.2.
>
> Any idea how the connect_timeout option works on PHP Pgsql?

It just passes the whole connection string through to the PostgreSQL
library libpq. So it isn't a problem with PHP. I tried it and it works for
me. I added "connect_timeout=2" to my connection string, and I got this
error (in 2 seconds) when trying to connect to an invalid IP address:

  Warning: pg_connect() [function.pg-connect.html]: Unable to connect to
  PostgreSQL server: timeout expired . in ...

I had to use 2 seconds. With 3 seconds or longer, I get a "no route to host,
is the server running..." error before it times out.

I'm running PostgreSQL-7.4.1 and  PHP-4.3.3 on Slackware 9.1 Linux. If the
problem you are having is fixed by an upgrade, I would try PostgreSQL-7.4.1
first (because I don't think PHP will affect it).

pgsql-php by date:

Previous
From: Adam Alkins
Date:
Subject: Re: phpBB 2.2 and PostgreSQL support
Next
From: Andy Dunlop
Date:
Subject: Too many clients