无法重新启动Postgres服务器并且无法终止该进程

时间:2016-03-01 13:14:44

标签: centos postgresql-9.3

由于突然断电,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

3 个答案:

答案 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

我不知道这对你有帮助,但它对我有用。