Postgres DB无法在Mac OSX上启动:ERROR说:Unix域套接字上的连接

ban*_*ing 66 unix postgresql macos pid pgadmin

我已经安装了Postgresql,然后在我的本地Mac OSX Mountain Lion上运行了一堆rails应用程序并创建了数据库等.过了一段时间,当我启动pgAdminIII并尝试启动数据库服务器时,我遇到了这个错误:

在此输入图像描述

快速谷歌显示这篇文章.更多的浏览指出,可能存在某种postmaster.pid文件,这可能是导致这种情况的根本原因.如果我删除那些东西就没事了.

但是,在我删除计算机上的东西之前,我想确保我以系统的方式调试它,这不会导致更多的问题.

我在删除该文件之前读到的某个地方,我需要运行这个命令:

  ps auxw | grep post
Run Code Online (Sandbox Code Playgroud)

如果我没有得到任何结果,可以删除该文件.否则不是.好吧,我得到了这个命令的结果:

  AM               476   0.0  0.0  2423356    184 s000  R+    9:28pm   0:00.00 grep post
Run Code Online (Sandbox Code Playgroud)

所以现在当然我非常困惑.

所以我该怎么做?

这是我的postgres服务器错误日志的一部分:

 FATAL:  lock file "postmaster.pid" already exists
 HINT:  Is another postmaster (PID 171) running in data directory "/usr/local/var/postgres"?
Run Code Online (Sandbox Code Playgroud)

Postgresql仍然没有运行,仍然得到相同的错误,没有任何改变.我太老了,没有检查SO就删除了东西.

有些专家可以指导一个菜鸟.

谢谢

r3b*_*00t 153

我今天在Mac Sierra上遇到了同样的问题.在Mac Sierra你可以在postmaster.pid里面找到/Users/<user_name>/Library/Application Support/Postgres/var-9.6.删除postmaster.pid和问题将得到解决.

  • 删除了这个位置的`postmaster.pid`,问题得到解决.谢谢! (14认同)
  • 对于Postgres.app它是一样的:可能是它位于这里`/ Users/<user>/Library/Application\Support/Postgres/var-10/postmaster.pid` (2认同)

sqr*_*ren 33

如果数据库未正确关闭,通常会发生这种情况.

删除postmaster.pid文件:

 rm /usr/local/var/postgres/postmaster.pid
Run Code Online (Sandbox Code Playgroud)

或者,备份它:

 mv /usr/local/var/postgres/postmaster.pid /usr/local/var/postgres/postmaster.pid.backup
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,这个解决方案有效!删除`postmaster.pid`并运行`postgres -D/usr/local/var/postgres`后,它会注意到错误原因:"数据库系统未正确关闭;正在进行自动恢复" (2认同)

ban*_*ing 21

我现在正在使用数据库.

以下是我采取的步骤:

  1. 我重新启动了电脑
  2. 我打开终端跑了 cd /
  3. 然后我做了 ls -la
  4. 确保我能够到达 MackintoshHD/usr/local/var/postgres
  5. 然后呢 ls -la
  6. 在这里,我看到了postmaster.pid文件
  7. 我运行了这个命令cp postmaster.pid ~/Desktop,将文件复制到我的桌面.如果我要删除文件,我喜欢这样做.如果出现问题我可以把它放回去
  8. 然后我运行此命令从postgres目录中删除该文件 rm -r postmaster.pid
  9. 我去了我的pgadmin3 gui并将其解雇了.和Voila一起工作:)

感谢@Craig Ringer的帮助

  • 我不是在/ usr/local/var/postgres,而是在/ Users/[myhome]/Library/Application Support/Postgres/var-9.5/ - 最后一个目录取决于你的版本,删除postmaster.pid并像魅力一样工作,谢谢 (6认同)