On 11/05/2015 10:48 AM, Pavel Stehule wrote:
>     S
>     t                    C
>     a<-------------<transaction>--------------->E
>     r    A      B     A      B      A           n
>     t <idle> <stmt> <idle> <stmt> <idle>        d
>     |--------======--------======---------------|
>     Currently we can set timeout and cancel for period B (<stmt>). I can see
>     based on this discussion that there are legitimate use cases for wanting
>     timeout and cancel for any of the periods A, B, or C.
>     I guess the question then becomes how we provide that coverage. I think
>     for coverage of timeout you need three individual timeout settings.
>     However for cancel, it would seem that pg_cancel_transaction would cover
>     all three cases.
> It can be difficult to set it properly, because you don't know how much
> statements (cycles of A.B) will be in transaction. Respective for
> setting C, I have to know the number of A,B and it isn't possible everytime.

But you might have a limit you want to enforce regardless of the size or
quantity of A & B periods. That's why it needs to be a separate timeout
IMHO. Let's say I never want a transaction to be around more than 60
minutes no matter what. But I also don't want idle in transaction to
ever exceed 30 seconds, and I don't expect individual statements to
exceed 10 minutes.


Crunchy Data - http://crunchydata.com
PostgreSQL Support for Secure Enterprises
Consulting, Training, & Open Source Development

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to