1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-31 22:04:40 +03:00

Revert addition of pg_terminate_backend() because of race conditions.

This commit is contained in:
Bruce Momjian
2008-04-15 20:28:47 +00:00
parent 2b8a795738
commit 76365960d2
9 changed files with 43 additions and 92 deletions

View File

@ -26,8 +26,16 @@ first. There is also a developer's wiki at<br/>
<h1><a name="section_2">Administration</a></h1>
<ul>
<li>-<em>Allow administrators to safely terminate individual sessions either</em>
<li>Allow administrators to safely terminate individual sessions either
via an SQL function or SIGTERM
<p> Lock table corruption following SIGTERM of an individual backend
has been reported in 8.0. A possible cause was fixed in 8.1, but
it is unknown whether other problems exist. This item mostly
requires additional testing rather than of writing any new code.
</p>
<p> <a href="http://archives.postgresql.org/pgsql-hackers/2006-08/msg00174.php">http://archives.postgresql.org/pgsql-hackers/2006-08/msg00174.php</a>
<a href="http://archives.postgresql.org/pgsql-hackers/2007-04/msg00218.php">http://archives.postgresql.org/pgsql-hackers/2007-04/msg00218.php</a>
</p>
</li><li>Check for unreferenced table files created by transactions that were
in-progress when the server terminated abruptly
<p> <a href="http://archives.postgresql.org/pgsql-patches/2006-06/msg00096.php">http://archives.postgresql.org/pgsql-patches/2006-06/msg00096.php</a>

View File

@ -1,4 +1,4 @@
<!-- $PostgreSQL: pgsql/doc/src/sgml/func.sgml,v 1.431 2008/04/15 13:55:11 momjian Exp $ -->
<!-- $PostgreSQL: pgsql/doc/src/sgml/func.sgml,v 1.432 2008/04/15 20:28:46 momjian Exp $ -->
<chapter id="functions">
<title>Functions and Operators</title>
@ -11848,9 +11848,6 @@ 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>
@ -11886,13 +11883,6 @@ 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>
@ -11917,10 +11907,9 @@ SELECT set_config('log_statement_stats', 'off', false);
</para>
<para>
<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
<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
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.412 2008/04/15 13:55:11 momjian Exp $ -->
<!-- $PostgreSQL: pgsql/doc/src/sgml/runtime.sgml,v 1.413 2008/04/15 20:28:46 momjian Exp $ -->
<chapter Id="runtime">
<title>Operating System Environment</title>
@ -1372,13 +1372,6 @@ $ <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">