Re: timeouts on transactions etc?
От | Steve Atkins |
---|---|
Тема | Re: timeouts on transactions etc? |
Дата | |
Msg-id | 0FF859EF-2B35-48C9-9F57-8E7FF1EFE5B3@blighty.com обсуждение исходный текст |
Ответ на | timeouts on transactions etc? (Darren Duncan <darren@darrenduncan.net>) |
Ответы |
Re: timeouts on transactions etc?
|
Список | pgsql-general |
On May 28, 2011, at 7:55 PM, Darren Duncan wrote: > Does Postgres have any mechanisms where one can set an activity timeout, say either dynamically thru SQL to affect a currentsession, or alternately in a configuration file so to take effect globally? > > I mean for example so we can tell Postgres to automatically abort/rollback a current statement or transaction if it isstill running after 5 seconds? It would return an error / throw an exception at the same time, as if there was a failureor constraint violation for some other reason, so the user would know. > > Or a generalization of this would be the DBMS enforcing particular resource limits, but I suspect that just clock timeis a relatively easy one to do, as it could be implemented with ordinary timers and signals/interrupts. > > Purposes of this feature include coping with applications that are not well-behaved such as by failing to explicitly endtransactions or by asking the DBMS to do too much at once. > > If so, where is this documented? If not, how much work might it be to add this? > > I'm looking for something enforced by the DBMS itself, not that an application or bridge layer should do. You're looking for "statement_timeout", I think. You can set that globally, but it's better to set it just in the sessionswhere you want it. http://www.postgresql.org/docs/9.0/static/runtime-config-client.html There's also the ability to log long statements, so you can identify and fix bad queries without breaking functionality -log_min_duration_statement and friends. Cheers, Steve
В списке pgsql-general по дате отправления: