Thomas Munro <thomas.mu...@enterprisedb.com> writes: > On Fri, Aug 24, 2018 at 6:53 AM, Tom Lane <t...@sss.pgh.pa.us> wrote: >> I think this is just a timing problem: the signal gets sent, >> but it might or might not get received before the current statement ends.
> How about we just wait forever if the function manages to return? > select case when pg_cancel_backend(pg_backend_pid(), '...') then > pg_sleep('infinity') end; Hm, that might work. I'd pick a long but not infinite timeout --- maybe 60 sec would be good. regards, tom lane