Sockets PostgreSQL server问题unix域套接字
我按照以下步骤首次使用Homebrew在Homebrew中安装PostgreSQL: 最后一步不起作用。我想它应该启动服务器。但是,我认为我成功地创建了一个数据库集群,并按照官方文档17.2和17.3启动了数据库服务器: 我的问题是,当我尝试在终端中使用createdb mydb创建数据库时,会收到以下消息:Sockets PostgreSQL server问题unix域套接字,sockets,postgresql-9.2,unix-socket,Sockets,Postgresql 9.2,Unix Socket,我按照以下步骤首次使用Homebrew在Homebrew中安装PostgreSQL: 最后一步不起作用。我想它应该启动服务器。但是,我认为我成功地创建了一个数据库集群,并按照官方文档17.2和17.3启动了数据库服务器: 我的问题是,当我尝试在终端中使用createdb mydb创建数据库时,会收到以下消息: createdb: could not connect to database postgres: could not connect to server: No such file or
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"?
我很困惑,因为这里有很多新概念,比如套接字、路径变量等等。我还对MacOSX中的目录结构感到困惑,因为我最近从Windows迁移过来。如果有人能给我指出正确的方向,我将不胜感激
更新
一如往常,一旦你发帖,你就会找到答案。几乎是这样:这篇文章中被接受的答案让我得出结论,我的Unix域套接字所在的位置是Postgres所不期望的
使用-h标志,它可以工作。因此,问题是,如何配置Postgres以在正确的位置查找套接字?您显然正在运行默认的OS X提供的PostgreSQL客户端,该客户端希望Unix域套接字位于与自制版本不同的位置。基本上
/usr/bin/{createdb,psql,...} ---> /var/pgsql_socket/.s.PGSQL.5432
/usr/local/bin/{createdb,psql,...} ---> /tmp/.s.PGSQL.5432
因此,请确保正确设置了路径,以便调用正确的路径
或者,您可以像这样覆盖套接字位置:
createdb -h /tmp ...