4 votes

Postgresql sur Windows : postmaster.pid reste et empêche le redémarrage si le service a planté

J'ai rencontré un problème ennuyeux avec Postgresql 9.1.1 x64 fonctionnant en tant que service Windows sur Windows 2008 R2.

Le service Postgres a planté pour une raison inconnue et a laissé un fichier postmaster.pid sur le disque, ce qui empêche le service de redémarrer.

Y a-t-il un moyen de configurer la création de ce fichier?

5voto

voretaq7 Points 78924

Il s'agit d'une fonctionnalité de sécurité - sur Windows, le serveur Postgres utilise son fichier PID comme verrou pour vous empêcher de démarrer plusieurs postmasters pointant vers le même répertoire de données (un moyen rapide et facile de détruire votre base de données).
Vous ne devriez pas chercher à contourner cette fonctionnalité.

Si Postgres s'est effectivement arrêté, vous pouvez supprimer le fichier PID et le redémarrer.
Vous devriez également examiner les journaux d'erreurs de Postgres pour découvrir pourquoi le serveur a planté, et résoudre ce problème.

1 votes

Oui. Plus précisément, le postmaster n'a aucun moyen d'être sûr que tous les backends du serveur de base de données crashé se sont arrêtés. Il ne sait pas quels étaient leurs identifiants de processus et ils auraient pu être réutilisés de toute façon. Il compte sur l'administrateur pour s'assurer que tous les backends postgres.exe de ce cluster qui ont survécu au crash sont tués avant de redémarrer. Ce serait bien de rendre cela automatique, mais c'est aussi étonnamment difficile.

0 votes

@CraigRinger Seulement parce que Windows n'a pas d'équivalent au partage de mémoire SysV :-)

0 votes

@voretaq7 : Est-ce lié au modèle de processus par connexion de PostgreSQL sur Windows ? J'essaie de comprendre comment nous pourrions nous retrouver avec plusieurs postmasters pointant vers le même répertoire de données sur Windows (surtout lorsqu'ils sont exécutés en tant que service Windows).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X