blob: dabc58e48d831d36576a83164a670fe4ac1a8aa5 [file] [log] [blame]
<!--
$PostgreSQL: pgsql/doc/src/sgml/ref/ipcclean.sgml,v 1.13 2006/09/16 00:30:18 momjian Exp $
PostgreSQL documentation
-->
<refentry id="APP-IPCCLEAN">
<refmeta>
<refentrytitle id="APP-IPCCLEAN-TITLE"><application>ipcclean</application></refentrytitle>
<manvolnum>1</manvolnum>
<refmiscinfo>Application</refmiscinfo>
</refmeta>
<refnamediv>
<refname>ipcclean</refname>
<refpurpose>remove shared memory and semaphores from a failed <productname>PostgreSQL</productname> server</refpurpose>
</refnamediv>
<indexterm zone="app-ipcclean">
<primary>ipcclean</primary>
</indexterm>
<refsynopsisdiv>
<cmdsynopsis>
<command>ipcclean</command>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1 id="R1-APP-IPCCLEAN-1">
<title>Description</title>
<para>
<command>ipcclean</command> removes all shared memory segments and
semaphore sets owned by the current user. It is intended to be
used for cleaning up after a crashed
<productname>PostgreSQL</productname> server (<xref
linkend="app-postgres">). Note that immediately restarting the
server will also clean up shared memory and semaphores, so this
command is of little real utility.
</para>
<para>
Only the database administrator should execute this program as it
can cause bizarre behavior (i.e., crashes) if run during multiuser
execution. If this command is executed while a server is running,
the shared memory and semaphores allocated by that server will be
deleted, which would have rather severe consequences for that
server.
</para>
</refsect1>
<refsect1>
<title>Notes</title>
<para>
This script is a hack, but in the many years since it was written,
no one has come up with an equally effective and portable solution.
Since <command>postgres</command> can now clean up by
itself, it is unlikely that <command>ipcclean</command> will be
improved upon in the future.
</para>
<para>
The script makes assumptions about the output format of the
<command>ipcs</command>
utility which may not be true across different operating systems.
Therefore, it may not work on your particular OS. It's wise to
look at the script before trying it.
</para>
</refsect1>
</refentry>