PostgreSQL instalado usando:
sudo yum install postgresql-server postgresql-contrib
Versão do PostgreSQL: 9.2.18
Ao iniciar o serviço:
sudo service postgresql start
Erro recebido:
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.
O journalctl -xe
detalhe:
-- 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)
Run systemctl status PostgreSQL.service
, obtive esta informação:
● 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)
Você tem 3 passos antes de poder se conectar a um banco de dados PostgreSQL:
Você já instalou o PostgreSQL, agora precisa criar o cluster. A
initdb
ferramenta é o que você precisa.Você encontrará a documentação aqui .
Pode ser confuso porque quando você está em uma distribuição baseada em debian,
apt
e os wrappers perl fazem todos os passos para você.No meu caso,
shared_buffers
era muito grande que encaixou o estado de falha, reduzi para 128 MB e reiniciei e funcionou bem, meu caso foi que fiz uma cópia do diretório de dados após uma falha do sistema operacional para um novo sistema operacional.Mesmo comportamento comigo. No meu caso, havia permissões erradas no PGDATA. Foi registrado apenas em detalhes em /var/log/messages. Os dados do chmod 700 ajudaram a colocar o nó de espera em funcionamento.