web-dev-qa-db-fra.com

Impossible d'exécuter PostgreSQL en tant que service Windows

J'avais ceci dans mes services Windows:

C:/Program Files/PostgreSQL/8.4/bin/pg_ctl.exe runservice -N "postgresql-8.4" -D "D:/PostgreSQL/8.4/data" -w

Il ne finit jamais l'exécution. Mais si je l'ai fait sur le dos Shell:

C:/Program Files/PostgreSQL/8.4/bin/pg_ctl.exe start -N "postgresql-8.4" -D "D:/PostgreSQL/8.4/data" -w

Notez que j'ai seulement changé le "service d'exécution" en "démarrer" et que ça fonctionne très bien.

Une idée?

23
David

La commande runervice ne peut être exécutée que par le gestionnaire de services.

afin de réparer mon localhost Windows 7 pour démarrer Postgres en tant que service J'ai utilisé la commande suivante pour démarrer les données

 pg_ctl -D "C:\Program Files\PostgreSQL\9.1\data" start 

Puis vérifié le statut des erreurs

 pg_ctl -D "C:\Program Files\PostgreSQL\9.1\data" status 

si vous obtenez l'erreur 1063, ses autorisations sont plus que probables, j'ai exécuté la commande suivante

 cacls "C:\Program Files\PostgreSQL\9.1\data" /E /T /C /G postgres:F

puis relancez le début/le statut, il a montré que tout va bien, mais le gestionnaire de service ne veut pas démarrer le service

Ainsi, dans Services-> postgresql-> options-> ouverture de session, je configure l'ouverture de session en tant que compte système local au lieu de l'utilisateur postgres, et le tour est joué

33
Jay Rizzi

cela m’est arrivé parce que j’ai mis mon répertoire de données à quelque part que le compte d’utilisateur Windows de Postgres n’a pas accès.

11
pstanton

J'ai eu ce problème dans Windows après une panne système. L'exécution de la première commande a montré des données non valides dans C:\Program Files\PostgreSQL\9.1\data\postmaster.pid. La suppression de ce fichier a fait l'affaire. Référence.

4
Tom

J'ai rencontré le même problème après déplacement manuel des fichiers de données de la base de données } _ (répertoire PG_DATA) sans recréer toutes les autorisations nécessaires.

Voici comment j'ai résolu mon problème:

1. Vérifiez les autorisations sur l'ancien répertoire PG_DATA:

cacls "c:\path\to\old\pgdata\dir"

2. Vérifiez les autorisations sur le nouveau répertoire PG_DATA:

cacls "d:\path\to\NEW\pgdata\dir"

3. Comparez les sorties de 1. et 2.

Trouvez les différences entre les utilisateurs et/ou les autorisations, puis synchronisez-les.

Nota: J'ai trouvé plus facile d'utiliser Explorer pour l'étape de synchronisation plutôt que d'utiliser cacls directement à partir de la ligne de commande.

4
Stephan

Si vous avez changé pg_hba.conf , vous avez peut-être manqué quelque part dans le fichier. Par exemple, il doit y avoir CIDR après IP dans ce fichier. Ce doit être comme 192.168.1.100/32 

Si vous avez oublié de mettre 32, le serveur ne redémarre pas.

L'enquête sur les journaux de démarrage pourrait être un indice. Pour le cas, le problème se trouve dans pg_hba.conf vous pouvez voir quelque chose comme ceci:

2018-11-13 00:39:34.841 PST [8284] FATAL:  could not load pg_hba.conf
2018-11-13 00:39:34.842 PST [8284] LOG:  database system is shut down
2
onur

Vous devez vérifier dans vos fichiers journaux et dans le journal des événements Windows un indice du problème. S'il n'y a rien du tout, vous devez créer quelque chose comme Process Monitor et obtenir une trace de pile où elle est bloquée.

2
Magnus Hagander

J'ai eu ce problème dans le passé, et c'est que le programme d'installation n'a pas configuré correctement les autorisations pour l'utilisateur sous lequel le service devait s'exécuter.

2
Grant Johnson

Installation de PostgreSQL 10 sur Windows 7 (oui l’horloge tourne…). J'ai d'abord essayé la dernière version 11 qui a complètement échoué à installer ... ce n'est pas bon signe pour les utilisateurs de Windows. En tous cas.

Réponse rapide: Modifiez le compte du panneau Services Windows de Réseau en Local.

Détails de mon cas

Au cours de l’installation, j’ai créé/sélectionné un dossier de données dans le dossier du profil de l’utilisateur, car le dossier proposé par défaut dans le dossier du programme ne fonctionnerait pas, et si cela fonctionnait, ce serait une très bonne idée Je ne sais pas s’il est habituel de le faire sous Unix/Linux, mais pour Windows, c’est interdit depuis longtemps).

À la fin (lors du remplissage du cluster de données), j'ai reçu une erreur:

Impossible de charger les modules SQL dans le cluster de base de données

mais l'installation a pu se terminer. J'ai trouvé deux pages sur l'erreur précédente, ici et ici , mais elles ne semblaient pas pertinentes pour mon cas, alors je viens de démarrer pgAdmin et, à gauche, le "navigateur". , vu le serveur n'était pas actif.

J'ai essayé de le démarrer à partir d'ici (il a fallu taper le mot de passe principal), mais il est immédiatement devenu inactif. Alors j'ai essayé d'utiliser le panneau de services Windows pour démarrer "postgresql-x64-10", pas de joie. J'ai copié la commande de ce panneau et je l'ai collée dans une console Windows (cmd.exe) où j'ai finalement reçu ce message.

erreur 1063.

En cherchant, j'ai trouvé cette question connexe et j'étais convaincu qu'il s'agissait d'autorisations.

Solution fonctionnant pour mon cas

Dans le panneau des services, j'ai changé le compte utilisé pour démarrer le service de Service réseau à Système local, comme suggéré dans un commentaire de @AlexanderRios.

0
mins

ouvrez pgAdmin III puis dans le volet de droite, recherchez le serveur, puis cliquez avec le bouton droit de la souris et connectez-vous, entrez le mot de passe Une fois connecté, allez dans le navigateur et actualisez ODOO. Problème résolu.

Voir l'image pour mieux comprendre

 enter image description here

0
M Kamran Haider