Re: best way to kill long running query? - Mailing list pgsql-general

From Bill Eaton
Subject Re: best way to kill long running query?
Date
Msg-id BHEMIOKCPPFPFJCHEKDCGEIMCFAA.EE2@aeroantenna.com
Whole thread Raw
In response to Re: best way to kill long running query?  (Magnus Hagander <magnus@hagander.net>)
List pgsql-general
>>> I want to allow some queries for my users to run for a
>>> prescribed period of time and kill them if they go over
>>> time. Is there a good way to do this?

>> set statement_timeout perhaps?
> I don't think you can set GUC parameters from the ODBC driver. Your
> options are:
>
> * postgresql.conf. Will apply to all sessions to the databse.
>
> * database. Use ALTER DATABLASE foo SET statement_timeout=<something>.
> Will then affect all connections to that database.
>
> * user. Use ALTER ROLE foo SET statement_timeout=<something>. Will then
> affect all connections from that user.
>
> * change your application to issue a "SET statement_timeout=<something>"
> query before anything else it sends.
>

The last option is almost exactly what I wanted. It works quite nicely The
only downside to this approach is that an error is raised if the timeout is
exceeded. Which, when I think about it, is probably good behavior --> it
allows me to distinguish between (1) a query that completed and returned no
records and (2) a query that aborted because it exceeded the timeout.

Thanks to all for the assist.

Bill Eaton



pgsql-general by date:

Previous
From: Martijn van Oosterhout
Date:
Subject: Re: invalid byte sequence for encoding "UTF8"
Next
From: Vivek Khera
Date:
Subject: Re: best way to kill long running query?