Centos 无法重新启动Postgres服务器,无法终止进程
由于PostGreSQL 9.3数据库服务器(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
[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文件。