Windows 上的 Postgresql:如果服务崩溃,postmaster.pid 会保留并阻止重新启动

Windows 上的 Postgresql:如果服务崩溃,postmaster.pid 会保留并阻止重新启动

我在 Windows 2008 R2 上将 Postgresql 9.1.1 x64 作为 Windows 服务运行时遇到了一个烦人的问题。

Postgres 服务由于未知原因崩溃,并postmaster.pid在磁盘上留下了一个文件,导致服务无法重新启动。

有没有办法配置这个文件的创建?

答案1

这是一个安全功能 - 在 Windows 上,Postgres 服务器使用其 PID 文件作为锁,以防止您启动指向同一数据目录的多个 postmaster(这是一种快速简便的破坏数据库的方法)。
您不应该寻找绕过此功能的方法。

如果 Postgres 确实已退出,您可以删除 PID 文件并重新启动它。
您还应该检查 Postgres 错误日志以找出原因为什么服务器崩溃了,并解决该问题。

相关内容