ipcclean -- remove shared memory and semaphores from a failed PostgreSQL server




ipcclean 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 PostgreSQL server ( postgres ). Note that immediately restarting the server will also clean up shared memory and semaphores, so this command is of little real utility.

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.


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 postgres can now clean up by itself, it is unlikely that ipcclean will be improved upon in the future.

The script makes assumptions about the output format of the ipcs 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.