由于突然断电,PostGreSQL 9.3数据库服务器(CentOS)出现故障,我尝试启动/停止/重启postgres服务器出现此错误:
[root@aca80123 ~]# service postgresql-9.3 restart
Restarting PostgreSQL 9.3:
pg_ctl: PID file "/opt/PostgreSQL/9.3/data/postmaster.pid" does not exist
Is server running?
starting server anyway
waiting for server to start........ stopped waiting
pg_ctl: could not start server
Examine the log output.
PostgreSQL 9.3 did not start in a timely fashion, please see /opt/PostgreSQL/9.3/data/pg_log/startup.log for details
以下消息位于startup.log文件
中2016-03-01 23:24:18 IST LOG: redirecting log output to logging collector process
2016-03-01 23:24:18 IST HINT: Future log output will appear in directory "pg_log".
我找到了stackOverflow问题,但没有解决方案。 postgresql-service-unable-to-stop-start-restart unable-to-restart-postgresql-server
答案 0 :(得分:1)
如果PID文件不存在。请尝试检查所有使用postgresql数据库的空闲会话。
ps -ef|grep postgres
使用postgresql终止所有会话。 检查数据库的状态
pg_ctl status
pg_ctl: no server running
启动服务器后:
pg_ctl start
server starting
**postgres@server_name:~$ 2016-03-02 11:44:10 IST LOG: redirecting log output to logging collector process
2016-03-02 11:44:10 IST HINT: Future log output will appear in directory "pg_log".
检查状态
pg_ctl status
pg_ctl: server is running (PID: 51615)
/opt/postgres/9.3/bin/postgres
答案 1 :(得分:0)
前一段时间我和postmaster.pid遇到了类似的问题。对我来说问题是它没有删除,因此无法重新启动。对你来说,似乎postmaster.pid不存在,并且它希望在那里。
如果postmaster.pid真的不存在,您是否签入了“/opt/PostgreSQL/9.3/data/”?那时我发现它是一个文件,可以保护你不要在同一个表上进行多次调用。那么也许另一个数据库正在处理相同的表或类似的东西?希望答案可以给你一些指导。
祝你好运。答案 2 :(得分:0)
您可以尝试在
中搜索postgres pid ps aux
当你找到它时,你可以使用
杀死它 kill -9 postgresPID
我不知道这对你有帮助,但它对我有用。