我在 ubuntu 12.04 上安装了 PostgreSQL 8.4。当我通过终端启动 postgresql 服务时,它没有启动。然后我检查发现 postmaster.pid 丢失了。我的问题是如何恢复该 postmaster.pid,以及是什么原因导致该 postmaster.pid 丢失?
谢谢。抱歉我的英语不好,因为我不是本地人。
答案1
postmaster.pid
应该如果服务器未运行,则不存在。没错。它是正在运行的 PostgreSQL 服务器的进程 ID,如果没有,则不会有,postmaster.pid
除非服务器突然停止,在这种情况下,它将包含崩溃前旧邮政局长的 pid,直到 PostgreSQL 重新启动,此时 PostgreSQL 将用新邮政局长的 pid 替换它。
你永远不需要弄乱postmaster.pid
。最重要的是,永远不要删除它。
无论服务无法启动的原因是什么,postmaster.pid
都不是缺失。
您尚未说明启动 PostgreSQL 时使用了什么命令、出现了什么错误或其他任何信息,因此我们很难为您提供其他帮助。一般提示:
- 您必须使用 启动和停止服务
sudo
; - 检查
/var/log/syslog
PostgreSQL 日志以获取有关启动问题的详细信息