web-dev-qa-db-fra.com

Échec du démarrage du service PostgreSQL sur CentOS 7

PostgreSQL installé à l'aide de:

Sudo yum install postgresql-server postgresql-contrib

Version PostgreSQL: 9.2.18

Au démarrage du service:

Sudo service postgresql start

Vous avez une erreur:

Redirecting to /bin/systemctl start  postgresql.service
Job for postgresql.service failed because the control process exited with error code. See "systemctl status postgresql.service" and "journalctl -xe" for details.

Le journalctl -xe détail:

-- Unit postgresql.service has failed.
--
-- The result is failed.
 7月 19 04:17:04 node2 systemd[1]: Unit postgresql.service entered failed state.
 7月 19 04:17:04 node2 systemd[1]: postgresql.service failed.
 7月 19 04:17:04 node2 polkitd[19772]: Unregistered Authentication Agent for unix-process:27133:53830492 (system bus name :1.405, object path /org/freedesktop/PolicyKit1/AuthenticationA
 7月 19 04:19:33 node2 polkitd[19772]: Registered Authentication Agent for unix-process:27165:53845472 (system bus name :1.406 [/usr/bin/pkttyagent --notify-fd 5 --fallback], object pat
 7月 19 04:19:33 node2 systemd[1]: Starting PostgreSQL database server...
-- Subject: Unit postgresql.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit postgresql.service has begun starting up.
 7月 19 04:19:34 node2 pg_ctl[27187]: pg_ctl: could not start server
 7月 19 04:19:34 node2 pg_ctl[27187]: Examine the log output.
 7月 19 04:19:34 node2 systemd[1]: postgresql.service: control process exited, code=exited status=1
 7月 19 04:19:34 node2 systemd[1]: Failed to start PostgreSQL database server.
-- Subject: Unit postgresql.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit postgresql.service has failed.
--
-- The result is failed.
 7月 19 04:19:34 node2 systemd[1]: Unit postgresql.service entered failed state.
 7月 19 04:19:34 node2 systemd[1]: postgresql.service failed.
 7月 19 04:19:34 node2 polkitd[19772]: Unregistered Authentication Agent for unix-process:27165:53845472 (system bus name :1.406, object path /org/freedesktop/PolicyKit1/AuthenticationA
lines 2850-2910/2910 (END)

Courir systemctl status PostgreSQL.service, a obtenu ces informations:

● postgresql.service - PostgreSQL database server
   Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Wed 2017-07-19 04:30:26 EDT; 42min ago
  Process: 27285 ExecStart=/usr/bin/pg_ctl start -D ${PGDATA} -s -o -p ${PGPORT} -w -t 300 (code=exited, status=1/FAILURE)
  Process: 27280 ExecStartPre=/usr/bin/postgresql-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)
 Main PID: 26640 (code=exited, status=0/SUCCESS)
4
cloud_cloud

Vous avez 3 étapes avant de pouvoir vous connecter à une base de données PostgreSQL:

  • Installer PostgreSQL
  • Créer le cluster de données ($ PGDATA)
  • Démarrez le serveur

Vous avez déjà installé PostgreSQL, vous devez maintenant créer le cluster. L'outil initdb est ce dont vous avez besoin.

Vous trouverez la documentation ici .

Cela peut être déroutant car lorsque vous êtes sous une distribution basée sur Debian, les wrappers apt et Perl font toutes les étapes pour vous.

3
Arkhena

Dans mon cas, c'était le shared_buffers était trop gros pour mettre en échec l'état, je le diminue à 128 Mo et redémarré puis fonctionnait bien, mon cas était que je faisais une copie du répertoire de données après un crash du système d'exploitation vers un nouveau système d'exploitation.

0
Mawardy