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

时间:2013-07-23 01:47:02

标签: macos postgresql unix pid pgadmin

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

enter image description here

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

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

在某处我读到删除该文件之前,我需要运行此命令:

  ps auxw | grep post

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

  AM               476   0.0  0.0  2423356    184 s000  R+    9:28pm   0:00.00 grep post

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

那我该怎么办?

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

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

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

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

由于

4 个答案:

答案 0 :(得分:129)

今天我在Mac Sierra遇到了同样的问题。在Mac Sierra中,您可以在postmaster.pid内找到/Users/<user_name>/Library/Application Support/Postgres/var-9.6。删除postmaster.pid,问题将得到解决。

答案 1 :(得分:28)

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

删除postmaster.pid文件:

 rm /usr/local/var/postgres/postmaster.pid

或者,支持它:

 mv /usr/local/var/postgres/postmaster.pid /usr/local/var/postgres/postmaster.pid.backup

答案 2 :(得分:18)

我现在正在使用数据库。

以下是我采取的步骤:

  1. 我重新启动了计算机
  2. 我打开终端并运行cd /
  3. 然后我做了ls -la
  4. 确保我可以到达MackintoshHD/usr/local/var/postgres
  5. 然后ls -la
  6. 我在这里看到了postmaster.pid文件
  7. 我运行了这个复制了{。}}的命令 文件到我的桌面。如果我要删除文件,我喜欢这样做。如果 我可以把它放回去做错了
  8. 然后我运行此命令从postgres中删除文件 目录cp postmaster.pid ~/Desktop
  9. 我去了我的pgadmin3 gui并将其解雇了。和Voila一起工作:)
  10. 感谢@Craig Ringer的帮助

答案 3 :(得分:4)

我正在使用Postgres.app,以下内容对我有用:

我在下面的终端输入命令,事先找到Postgres文件夹,而不是使用“justin”。

$declare -x PGDATA="/Users/justin/Library/Application Support/Postgres/var-9.4"

$pg_ctl restart -m immediate

Justin在他的帖子中解释说,之后的输出是:

  

等待服务器关闭................................................................ pg_ctl失败:   服务器没有关闭

再次输入命令后:

$pg_ctl restart -m immediate

它奏效了,我收到了这条消息:

  

pg_ctl:旧服务器进程(PID:373)似乎已经不再启动服务器了   无论如何服务器启动LOG:数据库系统中断;持续   知道了2015-07-28 18:15:26 PDT日志:数据库系统没有   正确关闭;自动恢复进行中LOG:记录用   零长度为0 / 4F0F7A8日志:不需要重做日志:数据库   系统已准备好接受连接LOG:autovacuum启动器启动

Source

相关问题