Documentation PostgreSQL 8.1.23 > Référence > Applications relatives au serveur PostgreSQL > ipcclean | |
initdb | pg_controldata |
ipcclean — Supprimer la mémoire partagée et les sémaphores d'un serveur PostgreSQL™ victime d'un arrêt brutal
ipcclean
ipcclean supprime tous les segments de mémoire partagée et les ensembles de sémaphores détenus par l'utilisateur courant. Cette commande permet de nettoyer le système après l'arrêt brutal d'un serveur PostgreSQL™ (postmaster(1)).
Comme le redémarrage immédiat du serveur nettoie également la mémoire partagée et les sémaphores, cette commande n'a réellement que peu d'utilité.
Seul l'administrateur de base de données peut exécuter ce programme. En effet, s'il est lancé en exécution multi-utilisateur, il peut être la cause d'un comportement bizarre du serveur (des plantages brutaux, par exemple). S'il est exécuté alors que le serveur est en cours d'exécution, la mémoire partagée et les sémaphores alloués par ce serveur sont supprimés, ce qui peut engendrer de graves conséquences pour le serveur.
Ce script est une astuce assez sale mais, depuis qu'il a été écrit (il y a bien longtemps), personne n'a proposé une solution aussi efficace et portable. Comme, dorénavant, le postmaster effectue lui-même ce nettoyage, il est peu probable que ipcclean soit amélioré dans le futur.
Le script fait des suppositions sur le format de sortie de l'outil ipcs. Suppositions qui peuvent s'avérer erronées en fonction du système d'exploitation. Il est, de ce fait, possible qu'il ne fonctionne pas sur un système particulier. Il est toujours conseillé de lire le script avant de l'essayer.