|From:||Jeff Davis <pgsql(at)j-davis(dot)com>|
|To:||Daniel Farina <daniel(at)heroku(dot)com>|
|Cc:||Fujii Masao <masao(dot)fujii(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>|
|Subject:||Re: pg_terminate_backend for same-role|
|Views:||Raw Message | Whole Thread | Download mbox | Resend email|
On Tue, 2012-03-20 at 01:38 -0700, Daniel Farina wrote:
> On Thu, Mar 15, 2012 at 9:39 PM, Fujii Masao <masao(dot)fujii(at)gmail(dot)com> wrote:
> > On Fri, Mar 16, 2012 at 8:14 AM, Daniel Farina <daniel(at)heroku(dot)com> wrote:
> >> Parallel to pg_cancel_backend, it'd be nice to allow the user to just
> >> outright kill a backend that they own (politely, with a SIGTERM),
> >> aborting any transactions in progress, including the idle transaction,
> >> and closing the socket.
> > +1
> Here's a patch implementing the simple version, with no more guards
> against signal racing than have been seen previously. The more
> elaborate variants to close those races is being discussed in a
> parallel thread, but I thought I'd get this simple version out there.
After reading through the threads, it looks like there was no real
objection to this approach -- pid recycling is not something we're
I think you're missing a doc update though, in func.sgml:
"For the less restrictive <function>pg_cancel_backend</>, the role of an
active backend can be found from
the <structfield>usename</structfield> column of the
Also, high-availability.sgml makes reference to pg_cancel_backend(), and
it might be worthwhile to add an "...and pg_terminate_backend()" there.
Other than that, it looks good to me.
|Next Message||Stefan Kaltenbrunner||2012-03-26 08:05:39||Re: [COMMITTERS] pgsql: Replace empty locale name with implied value in CREATE DATABASE|
|Previous Message||Magnus Hagander||2012-03-26 06:50:24||Re: Reporting WAL file containing checkpoint's REDO record in pg_controldata's result|