Avant tout, veuillez noter que j'ai trouvé plusieurs questions similaires sur Stack Overflow et des articles sur le Web, mais aucune de celles-ci ne m'a aidé à résoudre mon problème:
Maintenant, voici le problème:
master
et une branche mvp
.git
avec Homebrew (Mac).Maintenant, lorsque j'essaye de lancer l'application localement, j'obtiens le message d'erreur suivant:
PG::ConnectionBad at /
could not connect to server: Connection refused
Is the server running on Host "localhost" (::1) and accepting
TCP/IP connections on port 5432?
could not connect to server: Connection refused
Is the server running on Host "localhost" (127.0.0.1) and accepting
TCP/IP connections on port 5432?
J'ai essayé de redémarrer mes ordinateurs plusieurs fois.
J'ai aussi vérifié le contenu de /usr/local/var/postgres
:
PG_VERSION pg_dynshmem pg_multixact pg_snapshots pg_tblspc postgresql.conf
base pg_hba.conf pg_notify pg_stat pg_twophase postmaster.opts
global pg_ident.conf pg_replslot pg_stat_tmp pg_xlog server.log
pg_clog pg_logical pg_serial pg_subtrans postgresql.auto.conf
Comme vous pouvez le constater, il n’y a pas de fichier postmaster.pid
.
Une idée de comment je pourrais résoudre ce problème?
Vous êtes probablement à court de batterie et votre serveur postgresql ne s’est pas arrêté correctement.
La solution la plus simple consiste à télécharger l'application officielle Postgresql et à la lancer: le serveur sera forcé à démarrer ( http://postgresapp.com/
lancez postgres -D /usr/local/var/postgres
et vous devriez voir quelque chose comme:
FATAL: lock file "postmaster.pid" already exists
HINT: Is another postmaster (PID 379) running in data directory "/usr/local/var/postgres"?
Puis lancez kill -9 PID
dans HINT
Et vous devriez être prêt à partir.
Probablement parce que votre système s'est arrêté de manière inattendue
Essayer
postgres -D /usr/local/var/postgres
Vous pourriez voir
FATAL: lock file "postmaster.pid" already exists HINT: Is another postmaster (PID 449) running in data directory "/usr/local/var/postgres"?
Alors essaye
kill -9 PID
exemple
kill -9 419
Et il devrait commencer normalement postgres
Cela peut être aussi simple que le service postgresql est en panne. Essayez de courir:
Sudo service postgresql start
qui a résolu le problème pour moi.
Cela a fonctionné dans mon cas:
brew uninstall postgresql
rm -fr /usr/local/var/postgres/
brew install postgresql
Cela peut être dû au fait que le fichier pid créé pour postgress n'a pas été supprimé en raison d'un arrêt inattendu. Donc, pour résoudre ce problème, supprimez ce fichier pid.
Trouvez le répertoire de données postgres. Sur un MAC utilisant homebrew, il s'agit de /usr/local/var/postgres/
, d'autres systèmes, il pourrait s'agir de /usr/var/postgres/
Supprimer le fichier pid
postmaster.pid
Redémarrez postgress. Sur Mac,
services de brassage redémarrer postgresql
Si vous voulez redémarrer Postgresql sous Linux, vous devez utiliser la commande suivante.
/etc/init.d/postgresql restart
J'ai résolu le problème via cette commande
pg_ctl -D /usr/local/var/postgres start
Parfois, vous pourriez avoir cette erreur
pg_ctl: another server might be running; trying to start server anyway
Essayez donc d’exécuter la commande suivante puis lancez la première commande donnée ci-dessus.
pg_ctl -D /usr/local/var/postgres stop
Je rencontre souvent ce problème sous Windows. La façon dont j'ai résolu le problème est Service - Cliquez sur Serveur de base de données PostgreSQL 8.3 - Cliquez sur le deuxième onglet "Connexion" - choisissez la première ligne "Le compte système local".
Cela a fonctionné pour moi: Run
Sudo lsof -i :<port_number>
après cela, il affichera le PID actuellement associé au processus.
Après cela, lancez Sudo kill -9 <PID>
si cela ne fonctionne pas, essayez la solution proposée par user8376606, elle fonctionnerait certainement!