Je me contente d'actualiser le remède dans un contexte plus actuel. La solution fut postée par Exelsisdei le 15/06/2010
Symptôme :
Après une installation réussie de PostgreSQL 9.3 sur un Windows Server 2012 R2 on observe dans le gestionnaire de serveur, au bout d'un certain temps, que le service PostgreSQL n'a pas démarré (et est indémarrable).
Comme ce service n'est pas spécialement dépendant d'autres et que rien d'anormal se passe sur le serveur la cause à rechercher est donc interne (on exclue le gag de la mauvaise écriture de l'IPv6 dans "hba.conf" car, en ce cas, le service ne démarre jamais et ce dès le début).
En fait il y a un "verrou" qui se crée (je ne sais trop comment et encore moins pourquoi)
Remède :
- Dans l'accueil ouvrez une "invite de commande" option "Exécuter en tant qu'autre utilisateur" en choisissant Postgre
- Positionnez vous sur le dossier "bin" du programme PostgreSQL (dans mon cas "cd D:\Program Files\PostgreSQL\9.3\bin")
- Lancez l'utilitaire pg_resetxlog.exe avec le paramètre '-f' suivi du chemin où se situe les data de PostgreSQL (dans mon cas la ligne de commande est "pg_resetxlog.exe -f E:\PostgreSQL\9.3\data")
- Vous aurez alors un message explicite sur le problème :
"pg_resetxlog : le verrou « postmaster.pid » existe
Le serveur est-il démarré ? Sinon, supprimer le fichier verrou et réessayer."- Allez donc supprimer ce fichier sans crainte
- Relancez la même commande que précédemment. Vous aurez alors le message "Réinitialisation du journal des transactions"
- Mais le service ne pourra démarrer pour autant, il faut faire un redémarrage de l'ordi serveur.
En espérant que cette petite manip réparatrice contribue à garder vos cheveux sur votre tête![]()
Partager