On Wed, Jan 6, 2010 at 4:37 PM, Joachim Wieland <joe@mcknight.de> wrote:
> On Fri, Jan 1, 2010 at 10:45 PM, Simon Riggs <simon@2ndquadrant.com> wrote:
>> CancelRequest's behaviour currently equates to SIGINT, so
>> processCancelRequest() can only use SIGINT if SIGINT's behaviour remains
>> same.
>>
>> I would recommend we make SIGINT do cancel-anything, and handle
>> everything else via SIGUSR1, including CancelRequest.
>
> Actually, now that I look into it, if we wanted to send SIGUSR1 with a
> reason to a backend from within postmaster (where
> processCancelRequest() lives), we'd need to have shared memory access
> in postmaster which we have not.
>
> So the easiest way would be to keep SIGINTs behavior (cancel running
> statements, not idle transactions) and allow cancellation of idle
> transactions only via SQL but not via command line.
+1. That seems like the right approach to me.
...Robert