Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sockets PostgreSQL server问题unix域套接字_Sockets_Postgresql 9.2_Unix Socket - Fatal编程技术网

Sockets PostgreSQL server问题unix域套接字

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

我按照以下步骤首次使用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 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 ...