From: | andres(at)anarazel(dot)de (Andres Freund) |
---|---|
To: | Yugo Nagata <nagata(at)sraoss(dot)co(dot)jp> |
Cc: | Robert Haas <robertmhaas(at)gmail(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: pg_terminate_backend can terminate background workers and autovacuum launchers |
Date: | 2017-06-22 02:52:21 |
Message-ID: | 20170622025221.77xgthbm4vozfnku@alap3.anarazel.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 2017-06-22 11:49:47 +0900, Yugo Nagata wrote:
> On Wed, 21 Jun 2017 11:04:34 -0400
> Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
>
> > On Wed, Jun 21, 2017 at 7:56 AM, Yugo Nagata <nagata(at)sraoss(dot)co(dot)jp> wrote:
> > > I have found that we can cancel/terminate autovacuum launchers and
> > > background worker processes by pg_cancel/terminate_backend function.
> > > I'm wondering this behavior is not expected and if not I want to fix it.
> >
> > I think it is expected. Even if we blocked it, those processes have
> > to cope gracefully with SIGTERM, because anyone with access to the OS
> > user can kill them that way by hand.
>
> I agree that we can kill theses processes by the OS command. However,
> It seems to me that pg_{cancel,terminate}_backend don't need to be able to
> kill processes except for client backends because we can do same thing by
> the OS command if necessary, and acutually these functions cannot kill
> most other processes, for example, background writer. Are the autovacuum
> launcher and background worker special for these functions?
I strongly disagree with this - I think it's quite useful to be able to
kill things via SQL that can hold lock on database objects. I'm not
seeing which problem would be solved by prohibiting this?
- Andres
From | Date | Subject | |
---|---|---|---|
Next Message | Amit Langote | 2017-06-22 02:53:25 | Re: Useless code in ExecInitModifyTable |
Previous Message | Yugo Nagata | 2017-06-22 02:49:47 | Re: pg_terminate_backend can terminate background workers and autovacuum launchers |