DBD::PG and long running queries and tcp stack timeout

Started by Clemens Schwaighoferalmost 15 years ago3 messagesgeneral
Jump to latest
#1Clemens Schwaighofer
clemens.schwaighofer@e-graphics.com

Hi,

I have a script that runs a query on a remote server. The query will
take quite some time to finish.
Now the problem is that the tcp stack will timeout before the query is finished.

I am running the query as async and have a loop where I query the
pg_ready status every 5 seconds.

Is there anyway to send some NOOP or anything so this connection does
not timeout? Just reading pg_ready seems to do nothing, probably
because it gets filled once the query is done.

Running the query as not async has the same issues with timeout.

--
★ Clemens 呉 Schwaighofer
★ IT Engineer/Web Producer/Planning
★ E-Graphics Communications SP Digital
★ 6-17-2 Ginza Chuo-ku, Tokyo 104-8167, JAPAN
★ Tel: +81-(0)3-3545-7706
★ Fax: +81-(0)3-3545-7343
http://www.e-gra.co.jp

#2John R Pierce
pierce@hogranch.com
In reply to: Clemens Schwaighofer (#1)
Re: DBD::PG and long running queries and tcp stack timeout

On 06/01/11 11:35 PM, Clemens Schwaighofer wrote:

Hi,

I have a script that runs a query on a remote server. The query will
take quite some time to finish.
Now the problem is that the tcp stack will timeout before the query is finished.

is there a NAT firewall or something else in the middle thats doing
connection tracking? tcp shouldn't time out like that even if your
query is taking multiple hours.

--
john r pierce N 37, W 123
santa cruz ca mid-left coast

#3Clemens Schwaighofer
clemens.schwaighofer@e-graphics.com
In reply to: John R Pierce (#2)
Re: DBD::PG and long running queries and tcp stack timeout

yeah there is a NAT firewall inbetween. I can check there too.

But interesting thing is, if I set the tcp_keepalive_time higher it
won't time out. But still ... a bit strange.

2011/6/2 John R Pierce <pierce@hogranch.com>:

On 06/01/11 11:35 PM, Clemens Schwaighofer wrote:

Hi,

I have a script that runs a query on a remote server. The query will
take quite some time to finish.
Now the problem is that the tcp stack will timeout before the query is
finished.

is there a NAT firewall or something else in the middle thats doing
connection tracking?    tcp shouldn't time out like that even if your query
is taking multiple hours.

--
john r pierce                            N 37, W 123
santa cruz ca                         mid-left coast

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

--
★ Clemens 呉 Schwaighofer
★ IT Engineer/Web Producer/Planning
★ E-Graphics Communications SP Digital
★ 6-17-2 Ginza Chuo-ku, Tokyo 104-8167, JAPAN
★ Tel: +81-(0)3-3545-7706
★ Fax: +81-(0)3-3545-7343
http://www.e-gra.co.jp