由于突然断电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-restartunable-to-restart-postgresql-server
4条答案
按热度按时间mzsu5hc01#
如果PID文件不存在。请尝试检查正在使用postgresql数据库的所有空闲会话。
使用postgresql杀死所有会话。检查数据库的状态
启动服务器后:
检查状态
nhjlsmyf2#
前一段时间我在www.example.com上遇到了类似的问题postmaster.pid。对我来说,问题是它没有被删除,因此它无法重新启动。对你来说,似乎postmaster.pid不存在,它期望在那里。
如果www.example.com真的不在那里,你检查了“/opt/PostgreSQL/9.3/data/”吗postmaster.pid?当时我发现它是一个文件,可以保护您在同一个表上进行多个调用。因此,可能另一个数据库正在处理相同的表或类似的东西?希望这个答案能给予你一些方向。
祝你好运
hi3rlvi23#
您可以尝试在
当你找到它的时候你可以用
我不知道这对你有没有帮助,但对我很有效。
jecbmhm34#
试试这个:
Postgres是一个令人惊叹的开源ACID兼容数据库,它是可靠的,并且有一个稳定版本的良好跟踪。但时不时地,你会遇到一个挑剔的行为,风险把你的设置下来。在大多数情况下,它与存储和日志有关。最近我遇到了一个奇怪的情况,一个4G的数据库占用了超过84 G的磁盘空间。然后我发现,因为我在postgresql.conf中的archive_command失败了,pg_xlogs从来没有被循环过,并且自从数据库启动以来一直被无限期地保留着。纠正archive命令将有助于解决问题,但这是您需要做的清理pg_xlog和刷新存储
sudo /etc/init.d/postgresql stop
du -sh /var/lib/postgresql/8.4/main/pg_xlog/(这是您的主数据文件夹)
84G /var/lib/postgresql/8.4/main/pg_xlog/
/usr/lib/postgresql/8.4/bin/pg_controldata /var/lib/postgresql/8.4/main/ ...最新检查点的NextXID:0/385464最新检查点的NextOID:159836 ... sudo -u postgres /usr/lib/postgresql/8.4/bin/pg_resetxlog -o 159836 -x 385464 -f /var/lib/postgresql/8.4/main/
记住要把正确的NextOID NExtXID,不要只是复制粘贴这个命令,你应该得到响应:事务日志重置
du -sh /var/lib/postgresql/8.4/main/pg_xlog/ 17M /var/lib/postgresql/8.4/main/pg_xlog/
sudo /etc/init.d/postgresql start