Tom Lane wrote:
> Jessica Perry Hekman <[EMAIL PROTECTED]> writes:
> > My other question was how to send the timeout value to the backend.
>
> I would imagine that the most convenient way to handle it would be as
> a SET variable:
>
>    SET query_timeout = n;
>
> Establishes a time limit on subsequent queries (n expressed in
> milliseconds, perhaps).
>
>    SET query_timeout = 0;
>
> Disables query time limit.
>
> This assumes that the query timeout should apply to each subsequent
> query, individually, until explicitly canceled.  If you want a timeout
> that applies to only one query and is then forgotten, then maybe this
> wouldn't be the most convenient definition.  What semantics are you
> trying to obtain, exactly?

    Why  don't  we  use  two separate GUC variables and leave the
    BEGIN syntax as is completely?

        SET transaction_timeout = m;
        SET statement_timeout = n;

    The alarm is set to the smaller  of  (what's  left  for)  the
    transaction or statement.

    If   you   want   to  go  sub-second,  I  suggest  making  it
    microseconds. That's what  struct  timeval  (used  in  struct
    itimerval)  uses. But I strongly suggest not doing so at all,
    because the usage of itimers disables the ability to  profile
    with  gprof  completely.  Compute  the time spent so far in a
    transaction exactly, but round UP to  full  seconds  for  the
    alarm allways.

    And   before   someone   asks,  no,  I  don't  think  that  a
    connection_timeout is a good thing.


Jan

--

#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== [EMAIL PROTECTED] #



_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html

Reply via email to