Centos 无法重新启动Postgres服务器,无法终止进程

Centos 无法重新启动Postgres服务器,无法终止进程,centos,postgresql-9.3,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 runni

由于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问题,但没有解决方案。

不久前,我在postmaster.pid上遇到了类似的问题。对我来说,问题是它没有被删除,因此无法重新启动。对于您来说,postmaster.pid似乎不存在,并且它希望存在

如果postmaster.pid确实不存在,您是否签入了“/opt/PostgreSQL/9.3/data/”?当时我发现它是一个文件,可以防止您在同一个表上进行多次调用。那么,也许另一个数据库正在处理相同的表或类似的东西?希望这个答案能给你一些指导


祝你好运。

你可以尝试在中搜索postgres pid

    ps aux
当你找到它时,你可以用

    kill -9 postgresPID

我不知道这是否对您有帮助,但它对我有效。

如果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

通常我使用上述命令。它可以工作,但这次上面的命令不起作用。在“/opt/PostgreSQL/9.3/data/”中没有postmaster.pid文件。