这里的postgres新人!
我按照here编辑了pg_hba.conf,但是当我尝试重启postgresql服务时,尝试失败了。下面是命令行输出,包含我可以收集的所有信息。
[root@arunpc modules]# service postgresql restart
Redirecting to /bin/systemctl restart postgresql.service
Job failed. See system logs and 'systemctl status' for details.
[root@arunpc modules]# systemctl status postgresql.service
postgresql.service - PostgreSQL database server
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled)
Active: failed since Sun, 08 Apr 2012 21:29:06 +0530; 14s ago
Process: 12228 ExecStop=/usr/bin/pg_ctl stop -D ${PGDATA} -s -m fast (code=exited, status=0/SUCCESS)
Process: 12677 ExecStart=/usr/bin/pg_ctl start -D ${PGDATA} -s -o -p ${PGPORT} -w -t 300 (code=exited, status=1/FAILURE)
Process: 12672 ExecStartPre=/usr/bin/postgresql-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)
Main PID: 12184 (code=exited, status=0/SUCCESS)
CGroup: name=systemd:/system/postgresql.service
[root@arunpc modules]# tail /var/log/messages
....
Apr 8 21:29:06 arunpc systemd[1]: postgresql.service: control process exited, code=exited status=1
Apr 8 21:29:06 arunpc systemd[1]: Unit postgresql.service entered failed state.
Apr 8 21:29:06 arunpc pg_ctl[12677]: pg_ctl: could not start server
Apr 8 21:29:06 arunpc pg_ctl[12677]: Examine the log output.
FWIW,这是使用的配置文件(pg_hba.conf):
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all postgres ident sameuser
local all all ident sameuser
# IPv4 local connections:
host all all 127.0.0.1 password
# IPv6 local connections:
host all all ::1 password
这里的错误是什么?在编辑之前它曾经工作得很好(因为这是一台开发机器,我出色地没有做任何备份)。
我还想获得更详细的日志输出。 / var / log / messages文件中的日志消息确实要求我“检查日志输出” - 这将是哪个日志输出?我可以采取哪些其他故障排除步骤?
非常感谢提前!
答案 0 :(得分:6)
根据您的启动脚本,它可能会将postmaster的输出重定向到文件。这通常是PGDATA目录中的server.log。我试过的事情:
在pg_hba.conf中注释掉所有内容并重试。如果问题是该文件中的语法错误,那么注释掉有问题的行将允许服务器启动,然后您将能够一次取消注释,直到找到错误。
直接从shell启动postmaster而不将其发送到后台。只需运行postmaster -D <pgdata dir>
,它就会发出更多有用的日志。