<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/Attic/ipcclean.sgml,v 1.3 2000/11/11 23:01:45 petere Exp $
Postgres documentation
-->

<refentry id="APP-IPCCLEAN">
 <docinfo>
  <date>2000-11-11</date>
 </docinfo>

 <refmeta>
  <refentrytitle id="APP-IPCCLEAN-TITLE"><application>ipcclean</application></refentrytitle>
  <manvolnum>1</manvolnum>
  <refmiscinfo>Application</refmiscinfo>
 </refmeta>

 <refnamediv>
  <refname>ipcclean</refname>
  <refpurpose>Clean up shared memory and semaphores from aborted backends</refpurpose>
 </refnamediv>

 <refsynopsisdiv>
  <cmdsynopsis>
   <command>ipcclean</command>
  </cmdsynopsis>
 </refsynopsisdiv>

 <refsect1 id="R1-APP-IPCCLEAN-1">
  <title>Description</title>
  <para>
   <application>ipcclean</application>
   cleans up shared memory and semaphore space from aborted backends by
   deleting all instances owned by user <literal>postgres</literal>.
   Only the DBA
   should execute this program as it can cause bizarre behavior (i.e.,
   crashes) if run during multi-user execution.  This program should be
   executed if messages such as

   <computeroutput>
semget: No space left on device
   </computeroutput>

   are encountered when starting up the 
   <application>postmaster</application> or the backend server.
  </para>

  <para>
   If this command is executed while <application>postmaster</application>
   is running, the shared memory and semaphores allocated by the
   <application>postmaster</application>
   will be deleted.  This will result in a general failure of the
   backend servers started by that
   <application>postmaster</application>.
  </para>

  <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.
   Suggestions are welcome.
  </para>

  <para>
   The script makes assumption about the format of output of the
   <application>ipcs</application>
   utility which may not be true across different operating systems.
   Therefore, it may not work on your particular OS.
  </para>
 </refsect1>
</refentry>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:nil
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"../reference.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:"/usr/lib/sgml/catalog"
sgml-local-ecat-files:nil
End:
-->
