Question :
J'ai reçu l'erreur " Échec du démarrage du serveur de base de données PostgreSQL - Agent d'authentification non enregistré pour le processus unix ' lors du démarrage du serveur PostgreSQL sur la machine CentOS. L'erreur indique que le service a échoué en raison d'un agent d'authentification non enregistré pour le processus Unix et il est signalé par polkitd un service. Je comprends que le polkitd est un démon système et son agent d'authentification vérifie l'identité de l'utilisateur avant d'exécuter une action. La commande ‘ journalctl -xe’ et /var/log/secure révèle la même chose.
Voici le message d'erreur complet :
# service postgresql start ::::::::::::::::::::::::::::::::::::: test.in systemd[1]: Unit postgresql.service entered failed state. test.in systemd[1]: postgresql.service failed. test.in polkitd[18278]: Unregistered Authentication Agent for unix-process:22928:182581476 (system bus name :1.1038, object path test.in chronyd[513]: Source 45.125.255.54 replaced with 123.108.200.124 test.in polkitd[18278]: Registered Authentication Agent for unix-process:22988:182656818 (system bus name :1.1039 [/usr/bin/pktty test.in systemd[1]: Starting PostgreSQL database server...
Comment résoudre le problème ?
Solution :
J'avais rencontré l'erreur similaire et les étapes ci-dessous l'ont corrigé pour moi.
Étape 1 :Passer à postgres utilisateur
# su - postgres
Étape 2 : Initialiser le serveur de base de données
$ initdb The files belonging to this database system will be owned by user "postgres". This user must also own the server process. ::::::::::::::::::::::::::::::::::::::::::: WARNING: enabling "trust" authentication for local connections You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb. Success. You can now start the database server using: postgres -D /var/lib/pgsql/data or pg_ctl -D /var/lib/pgsql/data -l logfile start
Étape 3 :
$ exit
Étape 4 : Démarrer le serveur PostgreSQL
# service postgresql start Loaded: loaded (/usr/lib/systemd/system/postgresql.service; disabled; vendor Active: active (running) since Wed 2016-08-31 17:43:58 IST; 10s ago Process: 23144 ExecStart=/usr/bin/pg_ctl start -D ${PGDATA} -s -o -p ${PGPORT Process: 23138 ExecStartPre=/usr/bin/postgresql-check-db-dir ${PGDATA} (code= Main PID: 23147 (postgres)
Et selon ce lien, vous pouvez ignorer le polkitd message d'erreur.