我按照以下步骤使用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"?
我很困惑,因为这里抛出的很多概念(如套接字,路径变量等)对我来说都是新的。我也对Mac OS X中的目录结构感到困惑,因为我最近从Windows迁移过。如果有人能指出我正确的方向,那将非常感激。
更新 与往常一样,一旦发布,您就会找到答案。差不多:这篇文章中接受的答案让我得出结论,我的Unix域套接字(无论是什么)位于Postgres不期望的地方。
使用-h标志,它可以工作。所以问题是,如何配置Postgres以在正确的位置查找套接字?
答案 0 :(得分: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 ...