web-dev-qa-db-fra.com

Impossible de démarrer le service postgresql sur CentOS 7

Impossible de démarrer postgresql-9.5 sous CentOS 7.

J'ai suivi cette page - https://wiki.postgresql.org/wiki/YUM_Installation - pour l'installation du serveur de base de données sur CentOS.

J'ai essayé la même chose après avoir mis setenforce 0, et cela n'a pas aidé non plus.

Je fais toutes les opérations en tant que root.

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

Et voici ce que je reçois pour le statut -

Redirecting to /bin/systemctl status  postgresql-9.5.service
● postgresql-9.5.service - PostgreSQL 9.5 database server
   Loaded: loaded (/usr/lib/systemd/system/postgresql-9.5.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Thu 2016-02-18 15:20:30 EST; 2min 28s ago
  Process: 15041 ExecStartPre=/usr/pgsql-9.5/bin/postgresql95-check-db-dir ${PGDATA} (code=exited, status=1/FAILURE)

Feb 18 15:20:30 myserver systemd[1]: Starting PostgreSQL 9.5 database server...
Feb 18 15:20:30 myserver systemd[1]: postgresql-9.5.service: control process exited, code=exited status=1
Feb 18 15:20:30 myserver systemd[1]: Failed to start PostgreSQL 9.5 database server.
Feb 18 15:20:30 myserver systemd[1]: Unit postgresql-9.5.service entered failed state.
Feb 18 15:20:30 myserver systemd[1]: postgresql-9.5.service failed.

Et le contenu des différents fichiers de configuration est le suivant:

[root@myserver /]# cat /etc/ld.so.conf.d/postgresql-pgdg-libs.conf
/usr/pgsql-9.5/lib/

[root@myserver /]# cat /usr/lib/tmpfiles.d/postgresql-9.5.conf
d /var/run/postgresql 0755 postgres postgres -

[root@myserver /]# cat /usr/pgsql-9.5/share/postgresql-9.5-libs.conf
/usr/pgsql-9.5/lib/

[root@myserver /]# cat /etc/alternatives/pgsql-ld-conf
/usr/pgsql-9.5/lib/

[root@myserver /]# cat /var/lib/alternatives/pgsql-ld-conf
auto
/etc/ld.so.conf.d/postgresql-pgdg-libs.conf

/usr/pgsql-9.5/share/postgresql-9.5-libs.conf
950

Googlé pour l'erreur que je vois. Un certain nombre de personnes ont constaté la même erreur et la cause sous-jacente est différente dans chaque cas. En lisant ces articles, il n’est pas évident que je voie les causes déjà signalées.

24
Muthu Palanisamy

Assurez-vous d’avoir correctement installé tous les paquets et mis à jour les sections du référentiel yum [base] et [updates] avant l’installation comme indiqué dans le guide . Nous avons CentOS 7 avec PostgreSQL 9.5 et cela fonctionne parfaitement avec les étapes suivantes:

# vi /etc/yum.repos.d/CentOS-Base.repo
# yum localinstall http://yum.postgresql.org/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-2.noarch.rpm
# yum list postgres*
# yum install -y postgresql95-server.x86_64 postgresql95-contrib.x86_64 postgresql95-libs.x86_64 
# /usr/pgsql-9.5/bin/postgresql95-setup initdb
# systemctl enable postgresql-9.5.service
# systemctl start postgresql-9.5.service 

et enfin, systemctl status postgresql-9.5.service devrait vous montrer quelque chose comme ceci:

postgresql-9.5.service - PostgreSQL 9.5 database server
   Loaded: loaded (/usr/lib/systemd/system/postgresql-9.5.service; enabled)
   Active: active (running) since Fri 2016-02-19 00:01:13 UTC; 6min ago
  Process: 10809 ExecStart=/usr/pgsql-9.5/bin/pg_ctl start -D ${PGDATA} -s -w -t 300 (code=exited, status=0/SUCCESS)
  Process: 10802 ExecStartPre=/usr/pgsql-9.5/bin/postgresql95-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)
 Main PID: 10811 (postgres)
   CGroup: /system.slice/postgresql-9.5.service
           ├─10811 /usr/pgsql-9.5/bin/postgres -D /var/lib/pgsql/9.5/data
           ├─10812 postgres: logger process   
           ├─10814 postgres: checkpointer process   
           ├─10815 postgres: writer process   
           ├─10816 postgres: wal writer process   
           ├─10817 postgres: autovacuum launcher process   
           └─10818 postgres: stats collector process 
45
Dmitry Savinkov

Le problème le plus courant est que le cluster de base de données n'a pas été initialisé. Vous pouvez l'initialiser facilement en exécutant le script postgresql-XX-setup avec la commande initdb, par exemple.

Sudo /usr/pgsql-11/bin/postgresql-11-setup initdb

Ensuite, démarrez le service Postgres, par exemple.

Sudo systemctl start postgresql-11
6
isapir