【问题标题】:How to start Postgres server? [closed]如何启动 Postgres 服务器? [关闭]
【发布时间】:2024-01-17 23:27:02
【问题描述】:

我确实有一段时间遇到这个问题,但我最终决定接受它。 Postgres 最初是使用 Brew 安装的。

在我升级到 OSX 10.8.2 后收到一个

psql: could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/tmp/.s.PGSQL.5432"?

输入错误

$ psql

命令。

我看到以下过程:

$ ps auxw | grep post
Tulsa           59222   0.0  0.2  2483256  14808   ??  Ss   Thu03PM   0:02.61 /System/Library/PrivateFrameworks/DiskImages.framework/Resources/diskimages-helper -uuid 470DA5CC-1602-4D69-855F-F365A6512F90 -post-exec 4
Tulsa           57940   0.0  0.2  2498852  13648   ??  Ss   Wed10PM   0:00.61 /System/Library/PrivateFrameworks/DiskImages.framework/Resources/diskimages-helper -uuid FAFAAAB4-0F67-42C8-864E-EF8C31A42EE3 -post-exec 4
root            24447   0.0  0.1  2476468  10080   ??  Ss    8Feb13   0:03.40 /System/Library/PrivateFrameworks/DiskImages.framework/Resources/diskimages-helper -uuid CC768720-12C2-436C-9020-548C275A6B0C -post-exec 4
Tulsa           74224   0.0  0.0  2432768    596 s002  R+    7:24PM   0:00.00 grep post


$ which psql
/usr/local/bin/psql

$ pg_ctl start 
pg_ctl: no database directory specified and environment variable PGDATA unset
Try "pg_ctl --help" for more information. 

【问题讨论】:

  • 我不知道这是怎么回事,但标题是无价的...... +1
  • @retailcoder:它似乎应该是“升级 OS/X 正在毁了我的生活。”
  • 我很确定 -post-exec 与 PostgreSQL 没有任何关系。所以服务器不在本地运行。在 Linux 上,可以使用ps aux | grep postgres 找到它的进程。如果在 OS/X 上有所不同,我会有点惊讶。做 pg_ctl 告诉你的。
  • 如错误所说,PGDATA is unset。试试我在这里给出的解决方案,看看它是否适合你:*.com/questions/14949053/…。祝你好运! :D
  • 不,MacOS X 正在毁掉你的生活。见harmful.cat-v.org/software/operating-systems/osx/…

标签: postgresql osx-lion django-postgresql


【解决方案1】:

您尚未启动 Postgres 服务器。 Postgres 的一些 dmg 软件包将其设置为在启动时作为服务运行。但不是您进行了安装。

你需要初始化一个数据目录,启动 postgres,然后从那里开始。

initdb /some/directory # just do this ONCE
pg_ctl -D /some/directory start # many other options, e.g. logging, available here
psql postgres

您可以为数据目录设置环境变量,以后就不需要-D 标志了。您可以稍后再查看。

【讨论】:

  • 是的,但是什么目录???
  • 我讨厌这样的答案。如果我知道哪个目录是一个不错的选择,那么我可能不会从 S.O. 复制粘贴代码。添加“任何目录,EG: /usr/local/var/postgres”有多难。
  • 目录.....呜呜呜!
  • 我要和/usr/local/var/db/postgres一起去。
  • mkdir /usr/local/var/postgres/data,然后设置 env var PGDATA 指向那里,然后是pg_ctl -D /usr/local/var/postgres/data start >logfile 2>&1 &
最近更新 更多