122 votes

Comment vérifier l'état du serveur PostgreSQL Mac OS X

Comment puis-je savoir si mon serveur Postgresql est en cours d'exécution ou non ?

je reçois ce message :

 [~/dev/working/sw] sudo bundle exec rake db:migrate 
rake aborted!
could not connect to server: Connection refused
    Is the server running on host "localhost" and accepting
    TCP/IP connections on port 5432?

Mettre à jour:

 > which postgres
/usr/local/bin/postgres
> pg_ctl -D /usr/local/bin/postgres -l /usr/local/bin/postgres/server.log start
pg_ctl: could not open PID file "/usr/local/bin/postgres/postmaster.pid": Not a directory

Mise à jour 2 :

 >pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
server starting
sh: /usr/local/var/postgres/server.log: No such file or directory

119voto

Bohemian Points 134107

Le moyen le plus simple de vérifier les processus en cours :

 ps auxwww | grep postgres

Et recherchez une commande qui ressemble à ceci (votre version n'est peut-être pas 8.3):

 /Library/PostgreSQL/8.3/bin/postgres -D /Library/PostgreSQL/8.3/data

Pour démarrer le serveur, exécutez quelque chose comme ceci :

 /Library/PostgreSQL/8.3/bin/pg_ctl start -D /Library/PostgreSQL/8.3/data -l postgres.log

72voto

l3x Points 434

Vous pouvez exécuter la commande suivante pour déterminer si postgress est en cours d'exécution :

 $ pg_ctl status

Vous voudrez également définir la variable d'environnement PGDATA

Voici ce que j'ai dans mon ~/.bashrc pour postgres :

 export PGDATA='/usr/local/var/postgres'
export PGHOST=localhost
alias start-pg='pg_ctl -l $PGDATA/server.log start'
alias stop-pg='pg_ctl stop -m fast'
alias show-pg-status='pg_ctl status'
alias restart-pg='pg_ctl reload'

Pour qu'ils prennent effet, n'oubliez pas de les sourcer comme ceci :

 $ . ~/.bashrc

Maintenant, essayez-le et vous devriez obtenir quelque chose comme ceci :

 $ show-pg-status
pg_ctl: server is running (PID: 11030)
/usr/local/Cellar/postgresql/9.2.4/bin/postgres

11voto

Nvick Points 260

Cela dépend de l'endroit où votre serveur postgresql est installé. Vous utilisez le pg_ctl pour démarrer manuellement le serveur comme ci-dessous.

 pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X