Thread: setting connection/ query timeout

setting connection/ query timeout

From
"tamanna madaan"
Date:
Hi All
 
I am using postgres-8.1.2 . In postgresql.conf I have set :
 
#statement_timeout = 0
 
 I am executing the below query just to check if postgres is allowing connections or not .
 
psql -Uslon -d<db_name> -h <IP> -c "select 1;"
 
Sometimes this query gets stuck for unknown reason . So, for this particular query I want to set a timeout
. I dont want to change "statement_timeout" in postgresql.conf as this would affect all the connections/queries.
I just want to set timeout for above mentioned query . How can I do that ??
 
Moreover, Just in case there is some problem while getting connection to postgres while executing the above query ,
I want the query to exit . How can I set connection timeout for that ??

Thanks..
Tamanna
 

Re: setting connection/ query timeout

From
Daniele Varrazzo
Date:
On Tue, Apr 19, 2011 at 8:09 PM, tamanna madaan
<tamanna.madan@globallogic.com> wrote:

> Sometimes this query gets stuck for unknown reason . So, for this particular
> query I want to set a timeout
> . I dont want to change "statement_timeout" in postgresql.conf as this would
> affect all the connections/queries.
> I just want to set timeout for above mentioned query . How can I do that ??

You can set a timeout only valid for the session using SET:

=> set statement_timeout to 1000;
SET
=> select pg_sleep(2);
ERROR:  canceling statement due to statement timeout

-- Daniele

Re: setting connection/ query timeout

From
"tamanna madaan"
Date:

 Thanks Daniele

-----Original Message-----
From: Daniele Varrazzo [mailto:daniele.varrazzo@gmail.com]
Sent: Wed 4/20/2011 1:15 AM
To: tamanna madaan
Cc: pgsql-general@postgresql.org
Subject: Re: [GENERAL] setting connection/ query timeout

On Tue, Apr 19, 2011 at 8:09 PM, tamanna madaan
<tamanna.madan@globallogic.com> wrote:

> Sometimes this query gets stuck for unknown reason . So, for this particular
> query I want to set a timeout
> . I dont want to change "statement_timeout" in postgresql.conf as this would
> affect all the connections/queries.
> I just want to set timeout for above mentioned query . How can I do that ??

You can set a timeout only valid for the session using SET:

=> set statement_timeout to 1000;
SET
=> select pg_sleep(2);
ERROR:  canceling statement due to statement timeout

-- Daniele