Re: Out of date advice about SIGTERM'ing backends

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Josh Kupershmidt <schmiddy(at)gmail(dot)com>
Cc: pgsql-docs <pgsql-docs(at)postgresql(dot)org>
Subject: Re: Out of date advice about SIGTERM'ing backends
Date: 2012-08-30 21:58:48
Message-ID: 20120830215848.GD32350@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-docs

On Fri, Jun 29, 2012 at 08:10:40PM -0700, Josh Kupershmidt wrote:
> Hi all,
>
> In the "Notes" section[0] of the postgres command's page, this advice is given:
>
> | The postgres server uses SIGTERM to tell subordinate server
> | processes to quit normally and SIGQUIT to terminate without
> | the normal cleanup. These signals should not be used by users.
>
> I think now that we've added pg_terminate_backend() and made it
> callable by non-superusers, we should relax the caveat against using
> SIGTERM against backends. The warning to stay away from using SIGQUIT
> seems fine as-is. Patch attached.

Patch applied for 9.3.

---------------------------------------------------------------------------

>
> Josh
>
> [0] http://www.postgresql.org/docs/9.2/static/app-postgres.html#AEN87192

> diff --git a/doc/src/sgml/ref/postgres-ref.sgml b/doc/src/sgml/ref/postgres-ref.sgml
> new file mode 100644
> index 4e5cd02..a1d014d
> *** a/doc/src/sgml/ref/postgres-ref.sgml
> --- b/doc/src/sgml/ref/postgres-ref.sgml
> *************** PostgreSQL documentation
> *** 726,739 ****
>
> <para>
> To cancel a running query, send the <literal>SIGINT</literal> signal
> ! to the process running that command.
> </para>
>
> <para>
> ! The <command>postgres</command> server uses <literal>SIGTERM</literal>
> ! to tell subordinate server processes to quit normally and
> ! <literal>SIGQUIT</literal> to terminate without the normal cleanup.
> ! These signals <emphasis>should not</emphasis> be used by users. It
> is also unwise to send <literal>SIGKILL</literal> to a server
> process &mdash; the main <command>postgres</command> process will
> interpret this as a crash and will force all the sibling processes
> --- 726,743 ----
>
> <para>
> To cancel a running query, send the <literal>SIGINT</literal> signal
> ! to the process running that command. To terminate a backend process
> ! cleanly, send <literal>SIGTERM</literal> to that process. See
> ! also <function>pg_cancel_backend</> and <function>pg_terminate_backend</>
> ! in <xref linkend="functions-admin-signal"> for the SQL-callable equivalents
> ! of these two actions.
> </para>
>
> <para>
> ! The <command>postgres</command> server uses <literal>SIGQUIT</literal>
> ! to tell subordinate server processes to terminate without normal
> ! cleanup.
> ! This signal <emphasis>should not</emphasis> be used by users. It
> is also unwise to send <literal>SIGKILL</literal> to a server
> process &mdash; the main <command>postgres</command> process will
> interpret this as a crash and will force all the sibling processes

>
> --
> Sent via pgsql-docs mailing list (pgsql-docs(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-docs

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ It's impossible for everything to be true. +

In response to

Browse pgsql-docs by date

  From Date Subject
Next Message Bruce Momjian 2012-08-30 22:38:21 Re: pgtesttiming.sgml, FreeBSD command output
Previous Message Bruce Momjian 2012-08-30 20:56:38 Re: Comment on max_locks_per_transaction