1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-15 19:21:59 +03:00

Add pg_terminate_backend() to allow terminating only a single session.

This commit is contained in:
Bruce Momjian
2008-04-15 13:55:12 +00:00
parent fcf053d782
commit 18b286f3e3
7 changed files with 90 additions and 24 deletions

View File

@ -1,4 +1,4 @@
<!-- $PostgreSQL: pgsql/doc/src/sgml/func.sgml,v 1.430 2008/04/14 17:05:32 tgl Exp $ -->
<!-- $PostgreSQL: pgsql/doc/src/sgml/func.sgml,v 1.431 2008/04/15 13:55:11 momjian Exp $ -->
<chapter id="functions">
<title>Functions and Operators</title>
@ -11848,6 +11848,9 @@ SELECT set_config('log_statement_stats', 'off', false);
<indexterm>
<primary>pg_cancel_backend</primary>
</indexterm>
<indexterm>
<primary>pg_terminate_backend</primary>
</indexterm>
<indexterm>
<primary>pg_reload_conf</primary>
</indexterm>
@ -11883,6 +11886,13 @@ SELECT set_config('log_statement_stats', 'off', false);
<entry><type>boolean</type></entry>
<entry>Cancel a backend's current query</entry>
</row>
<row>
<entry>
<literal><function>pg_terminate_backend</function>(<parameter>pid</parameter> <type>int</>)</literal>
</entry>
<entry><type>boolean</type></entry>
<entry>Terminate a backend</entry>
</row>
<row>
<entry>
<literal><function>pg_reload_conf</function>()</literal>
@ -11907,9 +11917,10 @@ SELECT set_config('log_statement_stats', 'off', false);
</para>
<para>
<function>pg_cancel_backend</> sends a query cancel
(<systemitem>SIGINT</>) signal to a backend process identified by
process ID. The process ID of an active backend can be found from
<function>pg_cancel_backend</> and <function>pg_terminate_backend</>
send a query cancel (<systemitem>SIGINT</>) signal to a backend process
identified by process ID. The
process ID of an active backend can be found from
the <structfield>procpid</structfield> column in the
<structname>pg_stat_activity</structname> view, or by listing the
<command>postgres</command> processes on the server with

View File

@ -1,4 +1,4 @@
<!-- $PostgreSQL: pgsql/doc/src/sgml/runtime.sgml,v 1.411 2008/03/31 02:43:14 tgl Exp $ -->
<!-- $PostgreSQL: pgsql/doc/src/sgml/runtime.sgml,v 1.412 2008/04/15 13:55:11 momjian Exp $ -->
<chapter Id="runtime">
<title>Operating System Environment</title>
@ -1372,6 +1372,13 @@ $ <userinput>kill -INT `head -1 /usr/local/pgsql/data/postmaster.pid`</userinput
well.
</para>
</important>
<para>
To terminate a session while allowing other sessions to continue, use
<function>pg_terminate_backend()</> (<xref
linkend="functions-admin-signal-table">) rather than sending a signal
to the child process.
</para>
</sect1>
<sect1 id="preventing-server-spoofing">