Postgresql postmaster需要很长时间才能启动

时间:2016-01-23 04:30:23

标签: postgresql

我在Postgres 9.1中的情况是这样的 我有一些运行查询需要大量内存,然后我立即重新启动Postgres。之后我用postmaster再次启动它。

/usr/pgsql-9.1/bin/postmaster -p 5432 -D /var/lib/pgsql/9.1/data

但是,如果没有成功启动,它会被卡住很长时间。

从Postgres文档中,当我们立即重启服务器时,它可能会阻止postmaster释放系统资源(例如,共享内存和信号量)。 那我现在该怎么办?或者只是等待postmaster开始?

1 个答案:

答案 0 :(得分:0)

很大程度上取决于你如何停止服务器。

  • 如果您kill -9 postmaster进程,则使用资源的所有生成进程(每个会话1个)都会继续运行,因此您的系统仍然处于超载状态。此外,postmaster进程将其pid写入群集数据目录中非常恰当地称为postmaster.pid的文件(在您的情况下为/var/lib/pgsql/9.1/data)。找到具有该名称的文件时,无法启动新的postmaster进程,因此您应删除该文件。总而言之,永远不会杀死postmaster
  • 如果您使用pg_ctlrc.d脚本重新启动服务器,那么您的服务器上还有其他一些问题。如果可以,请重新启动服务器。

在任何一种情况下,您都不应该postmaster手动运行rc.d。请改用pg_ctl脚本或9.1

最后,9.5正在变老。请考虑升级到具有更多功能的$ps = New-Object -ComObjectPhotoshop.Application $ps.Open('C:\temp\RA102001.pdf')