1

我按照以下步骤使用 Homebrew 安装 PostgreSQL(第一次使用 Homebrew):http ://dhilipsiva.blogspot.se/2013/02/install-postgresql-on-os-x-using.html

最后一步没有成功。我认为它应该启动服务器。但是,我认为我成功创建了一个数据库集群并按照官方文档(17.2 和 17.3)启动了数据库服务器:http ://www.postgresql.org/docs/9.2/interactive/runtime.html

我的问题是,当我尝试createdb mydb在终端中使用创建数据库时,我收到以下消息:

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

我很困惑,因为这里抛出的许多概念(如套接字、路径变量等)对我来说都是新的。由于我最近从 Windows 迁移,我也对 Mac OS X 中的目录结构感到困惑。如果有人能指出我正确的方向,将不胜感激。

更新 与往常一样,一旦您发布,您就会找到答案。差不多:这篇文章中接受的答案让我得出结论,我的 Unix 域套接字(不管是什么)位于 Postgres 不期望的地方。

无法启动 Postgres

使用 -h 标志,它可以工作。所以问题是,我如何配置 Postgres 在正确的位置寻找套接字?

4

1 回答 1

0

您显然正在运行默认的 OS X 提供的 PostgreSQL 客户端,它期望 Unix 域套接字与 Homebrew 版本位于不同的位置。基本上,

/usr/bin/{createdb,psql,...} ---> /var/pgsql_socket/.s.PGSQL.5432
/usr/local/bin/{createdb,psql,...} ---> /tmp/.s.PGSQL.5432

因此,请确保您的路径设置正确,以便您调用正确的路径。

或者,您可以像这样覆盖套接字位置:

createdb -h /tmp ...
于 2013-09-10T18:10:48.633 回答