首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >致命错误锁定文件"postmaster.pid“已经存在

致命错误锁定文件"postmaster.pid“已经存在
EN

Stack Overflow用户
提问于 2016-04-05 20:12:10
回答 12查看 84.7K关注 0票数 61

我最近在我的Mac上安装了PostGIS (El Capitan 10.11.4,Postgres是9.5.1版),我使用了Homebrew,我按照下面的说明- http://morphocode.com/how-to-install-postgis-on-mac-os-x/

当我试图启动Postgres时

代码语言:javascript
复制
pg_ctl -D /usr/local/var/postgres start 

我得到以下错误:

代码语言:javascript
复制
$ FATAL:  lock file "postmaster.pid" already exists
HINT:  Is another postmaster (PID 280) running in data directory "/usr/local/var/postgres"?

所以我花了几个小时研究如何解决这个问题,但没有结果。

值得注意的是,我试图按照超级用户- https://superuser.com/questions/553045/fatal-lock-file-postmaster-pid-already-exists- (在上面的例子中,我运行了kill 208)的答案中建议的那样关闭PID,但是当我再次尝试启动Postgres时,我得到了相同的错误,尽管PID号不同。我看到一些人建议删除postmaster.pid文件,但我觉得也许我应该把它作为最后的手段.

诚然,我不知道如何解决这个问题的部分原因是,我对邮政局长到底是什么并不十分清楚--我刚刚开始了解这一切。

通过psql db_name命令跳入Postgres数据库可以很好地工作,这是值得的。

EN

回答 12

Stack Overflow用户

回答已采纳

发布于 2016-04-05 20:19:52

邮政局长是PostgreSQL的主要进程。您正在尝试启动已经在运行的PostgreSQL (您自己说您可以连接到它)。跳过这一步就行了。

票数 10
EN

Stack Overflow用户

发布于 2018-01-08 08:25:03

如果它对其他人有帮助,请张贴此信息:

当我的笔记本电脑坏掉的时候,我在重新启动后遇到了和OP一样的问题。帮助我的是运行以下命令来查看与postmaster.pid关联的PID:

代码语言:javascript
复制
cat /usr/local/var/postgres/postmaster.pid

出现的第一个数字是PID。在Activity中,我能够看到Postgres正在运行,但是没有一个与显示的PID数字相匹配的PID数字。

与在超级用户上引用的答案中列出的步骤不同,我正确地重新启动了我的笔记本,然后打开终端并运行

代码语言:javascript
复制
brew services restart postgresql

这在不需要删除postmaster.pid的情况下有效,我看到了其他几篇文章推荐的内容。有时候,简单的解决方案才能奏效。

票数 62
EN

Stack Overflow用户

发布于 2021-06-22 08:30:46

经过很长一段时间的搜索,我在这里补充了一些对我有用的东西:

  1. 删除postmaster.pid文件: rm /usr/local/var/postgres/postmaster.pid
  2. 重新启动postgres: brew services restart postgresql

希望这能帮到某人..。

更新8/2022:

正如迈克所评论的,对于M1 Mac,您可以将第1阶段替换为:

代码语言:javascript
复制
rm /opt/homebrew/var/postgresql/postmaster.pid
票数 42
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36436120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档