PostgreSQL 9.2.4 (Windows 7) - Service ne démarre pas, “impossible de charger le pg_hba.conf”
J'essaie d'obtenir Postgres 9.2.4 à exécuter en tant que service sous Windows 7. Après l'installation de postgres, le service a été en cours d'exécution fine. Cependant, après la mise postgres comme un serveur pour un autre programme, le service s'est arrêté en cours d'exécution. Lorsque je tente de démarrer le service de maintenant, je reçois un message disant :
"Postgresql-x64-9.2 - Serveur PostgreSQL 9.2 service Local
Ordinateur a démarré puis s'est arrêté. Certains services s'arrêtent automatiquement si
ils ne sont pas en cours d'utilisation par d'autres services ou programmes."
Lorsque j'essaie d'exécuter le programme que doit utiliser le serveur de base de données, j'obtiens cette erreur :
"Un problème a été rencontré lors de la tentative de connecter ou de créer l'
base de données de production. Détails: impossible de se connecter au serveur;
ne pas se connecter à distance prise. La demande doit maintenant se fermer"
J'ai aussi rencontré cette erreur lors de l'ouverture du même programme :
"Un problème a été rencontré lors de la tentative de connecter ou de créer l'
base de données de production. Détails: FATAL: impossible de charger le pg_hba.La conf
l'application doit maintenant se fermer."
J'ai essayé de lancer le service de session sous un compte système local ainsi que mon propre compte (Dans la postgres propriétés du service) en vain. J'ai aussi essayé de redémarrer mon ordinateur. Après beaucoup de dépannage en ligne, j'ai appris qu'une bonne chose à vérifier est les pg_log fichier. Voici le contenu de la dernière pg_log entrée :
2013-05-29 14:59:45 MDT LOG: database system was interrupted; last known up at 2013-05-29 14:58:01 MDT
2013-05-29 14:59:45 MDT LOG: database system was not properly shut down; automatic recovery in progress
2013-05-29 14:59:45 MDT LOG: record with zero length at 0/175BB98
2013-05-29 14:59:45 MDT LOG: redo is not required
2013-05-29 14:59:45 MDT LOG: database system is ready to accept connections
2013-05-29 14:59:45 MDT LOG: autovacuum launcher started
2013-05-29 15:07:00 MDT LOG: local connections are not supported by this build
2013-05-29 15:07:00 MDT CONTEXT: line 1 of configuration file "C:/PostgreSQL/data/pg_hba.conf"
2013-05-29 15:07:00 MDT FATAL: could not load pg_hba.conf
2013-05-29 15:07:00 MDT LOG: local connections are not supported by this build
2013-05-29 15:07:00 MDT CONTEXT: line 1 of configuration file "C:/PostgreSQL/data/pg_hba.conf"
2013-05-29 15:07:00 MDT FATAL: could not load pg_hba.conf
2013-05-29 15:09:03 MDT LOG: received fast shutdown request
2013-05-29 15:09:03 MDT LOG: aborting any active transactions
2013-05-29 15:09:03 MDT LOG: autovacuum launcher shutting down
2013-05-29 15:09:03 MDT LOG: shutting down
2013-05-29 15:09:03 MDT LOG: database system is shut down
Il semble avoir des problèmes avec le pg_hba.fichier conf, qui ressemble à ceci :
local all all trust
host all all 127.0.0.1 255.255.255.255 trust
host all all 0.0.0.0 0.0.0.0 trust
Que par de nombreuses suggestions en ligne, j'ai essayé de l'édition de la ligne supérieure pour un certain nombre de différentes options (hôte tous les tous les de fiducie et /ou de l'hôte de tous les 127.0.0.1/32 fiducie et /ou de l'hôte de tous 192.168.0.100/24 trust , etc.). Cela fait sens pour moi, que le fichier journal a été de dire que les connexions locales sont prises en charge par postgres et a également été pointant vers cette ligne. Cependant, aucun de mes modifications n'a eu aucun effet. J'ai essayé de redémarrer mon ordinateur après chaque changement mais rien n'a fait aucune différence.
Quand j'ai cherché des exemples de ce qu'un pg_hba.fichier conf ressemble normalement, les exemples regardé légèrement différente de celle de mon fichier. J'ai remarqué que dans le PostgreSQL fichier de programme, en plus de pg_hba.conf, il y avait aussi un "20130529-150444-vieux-pg_hba.conf" fichier qui avait l'air beaucoup plus comme les exemples que j'ai été trouver en ligne. Ce fichier a plusieurs lignes de commentaires avant que ces dernières lignes :
# TYPE DATABASE USER ADDRESS METHOD
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#host replication postgres 127.0.0.1/32 md5
#host replication postgres ::1/128 md5
J'espérais que c'était à l'origine de pg_hba.fichier conf et que si j'ai remplacé le nouveau fichier avec le contenu de l'ancien, postgres fonctionnait de nouveau. Pas de chance. J'ai été en espérant pour plus d'erreur des fichiers enregistrés dans pg_log pour voir si les dit précédemment, l'erreur a disparu ou changé en quelque chose d'autre, mais pas plus que les fichiers ont été enregistrés.
J'ai été dépannage en ligne pour quelques jours maintenant, et rien de ce que j'ai trouvé a travaillé. Désolé pour avoir une longue question, mais je voulais être complète et inclure toutes les informations pertinentes. Je vous serais reconnaissant si quelqu'un pouvait éclairer sur ce problème ou offrir des suggestions.
OriginalL'auteur user2437443 | 2013-05-30
Vous devez vous connecter pour publier un commentaire.
Locales d'entrée n'est pas pris en charge sur les machines Windows. Voir E. 20.3.1.3. L'authentification.
Changer votre configuration à partir de:
:
Pour plus d'info, consulter 19.1. Le pg_hba.Fichier conf.
OriginalL'auteur jim31415
J'ai eu ce problème avec la version de Postgresql 8.3 après l'avoir installé sur une machine Windows 7.
Initialement, il fonctionnait normalement, mais tout à coup il s'est arrêté (probablement après quelques mise à jour de Windows).
De nombreuses tentatives ont été faites de modifier les autorisations, mais il ne l'avait pas mis au travail.
Quelques mois plus tard, j'ai trouvé le problème dans un fichier qui était vide, en attendant, il doit disposer de certaines données.
Vérifier ce chemin d'accès: C:\Program Files (x86)\Postgresql\8.3\data\ (où 8.3 doit être remplacé à votre numéro de version).
Vérifiez si le fichier Postmaster.pid est vide ou non (l'ouvrir avec Wordpad ou le bloc-notes).
Si elle est vide, le renommer en _Postmaster.pid (ou un autre nom).
Allez au menu Démarrer et à la boîte de commande type de services.msc
Appuyez Sur Entrée
Recherchez la Base de données Postgresql entrée
Double-cliquez sur elle
Cliquez sur le bouton Démarrer
Si le service démarre, un maître de poste.pid sera créé (avec certaines données)
Vous pouvez le vérifier dans le chemin indiqué ci-dessus.
Le bon conseil est venu à partir de l'analyse de l'Observateur d'Événements:
Ouvrez l'Explorateur Windows, sélectionnez "Ordinateur", clic droit sur "Gérer", sélectionnez "Observateur d'Événements", attendez "Résumé des Événements d'Administration" à la charge, ouvrez le "Erreur" nœud, recherchez "PostgreSQL" entrée dans la "Source" de la colonne, puis double-cliquez sur elle. Il y avait la pointe informer des données fausses dans le Postmaster.fichier pid.
J'espère que cette information peut vous aider.
Cheers!
Ed.
OriginalL'auteur Eduardo
Le problème est que cette version de postgres sous win7 ne peut pas gérer les connexions locales. J'ai eu à travailler avec pg très rapidement sur mon ordinateur en local donc je n'ai pas trop s'occuper de la sécurité peut-être que ce n'est pas la meilleure solution pour un environnement réel. Mais mon PC local c'en était assez.
J'ai supprimé toutes les autres décommenté les lignes de pg_hba.conf et à gauche que dans le suivant:
Après ce que j'ai pu connecter via la ligne de commande.
Je ne comprends pas pourquoi le manuel dit pas plus sur cette question. Je suis sûr que beaucoup de gens ont le problème avec cette.
host all all 192.168.1.49/32 md5
C'est la seule solution qui a fonctionné pour moi. Merci!
Utiliser ce produit ou tout ipv4 variation dans le fichier conf apporte la même erreur lorsque je tente de démarrer postgres.
OriginalL'auteur halmai
J'ai eu le même problème. Ce qui a fonctionné pour moi a été:
shared_preload_libraries = '$libdir/plugins/plugin_debugger.dll'
)OriginalL'auteur Oliver Drummond
Dans un tel cas, la meilleure chose est d'analyser le système d'exploitation journaux. Pour windows, cochez la case "Observateur d'Événements" -> "Demande".
Cette erreur peut se produire pour diverses raisons. Dans mon cas, un postgres était déjà en cours d'exécution. J'ai trouvé cette information dans les Journaux Windows.
OriginalL'auteur bluelurker
Donc, rapide avertissement, j'ai PostgreSQL sur Linux. Mais, il y a des années, j'ai fait l'exécuter sur Windows. Et je crois me souvenir de ce problème. Je pense que l'idée est dans cette ligne:
les connexions locales est un Unix chose. Vous êtes à l'aide de windows. Donc "pas pris en charge par cette version". Essayez de changer de local à localhost et redémarrer. Voici un entrez description du lien ici à un problème similaire posté sur la Postgres liste de diffusion:
OriginalL'auteur David S
J'avais fait une erreur dans postgresql.conf. J'avais fait
où avant dans ce fichier il y a,
Cela ne peut être fait, et les ouvrages suivants:
OriginalL'auteur ericj
“Le Service sur l'ordinateur local a démarré puis s'est arrêté ,les services d'arrêter automatiquement si il ne sont pas en cours d'utilisation par d'autres services ou programmes.”
Maintenant je vais vous expliquer comment résoudre le Service sur l'ordinateur local a démarré puis s'est arrêté, les services d'arrêter automatiquement si il ne sont pas en cours d'utilisation par d'autres services ou programmes.
Pour résoudre ce problème, nous avons deux façons
Première
Démarrer --> - > Type de Services.msc et cliquez sur bouton entrer maintenant, vous pouvez profiter de tous les services, dans votre ordinateur après cela, sélectionnez votre service et faites un clic droit dessus et allez dans les Propriétés
Après cela, ouvrez Sélectionnez l'onglet connexion dans que sélectionner le Compte Système Local, puis cliquez sur ok maintenant, votre problème sera de résoudre
OriginalL'auteur Lashe