Frage:
Ich erhalte die Fehlermeldung „Failed to start PostgreSQL database server – Unregistered Authentication Agent for unix-process ‘ beim Starten des PostgreSQL-Servers auf dem CentOS-Rechner. Der Fehler weist darauf hin, dass der Dienst aufgrund eines nicht registrierten Authentifizierungsagenten für Unix-Prozess fehlgeschlagen ist, und wird von polkitd gemeldet Service. Ich verstehe, dass die polkitd ist ein Systemdämon und sein Authentifizierungsagent überprüft die Identität des Benutzers, bevor er eine Aktion ausführt. Der Befehl „journalctl -xe“ und /var/log/secure verrät dasselbe.
Hier ist die vollständige Fehlermeldung:
# 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...
Wie kann das Problem gelöst werden?
Lösung:
Ich hatte einen ähnlichen Fehler und die folgenden Schritte haben ihn für mich behoben.
Schritt 1 :Wechseln Sie zu postgres Benutzer
# su - postgres
Schritt 2: Initialisieren Sie den Datenbankserver
$ 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
Schritt 3:
$ exit
Schritt 4: Starten Sie den PostgreSQL-Server
# 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)
Und laut diesem Link können Sie den polkitd ignorieren Fehlermeldung.