gpt4 book ai didi

macos - psql : could not connect to server: No such file or directory

转载 作者:行者123 更新时间:2023-11-29 13:59:23 25 4
gpt4 key购买 nike

今天下午当我试图启动本地 Postgres 服务器时,收到以下错误消息:

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: could not connect to server: No such file or directory (Mac OS X) ;但是,文件 /usr/local/var/postgres/postmaster.pid 似乎不存在。

我在 OS X Mavericks 上运行。


我不完全确定这是否有助于缩小范围,但我昨晚做的最后一件事是尝试一个名为 Yasu (http://yasuapp.net/) 的 OS X 系统实用程序。我只能假设当它重新启动系统时,那就是出现问题的时候。

最佳答案

使用像 ( netstat -ln; ps -ef ) | 这样的命令egrep '(postgres)|(postmaster)|(5432)' 尝试确定 postgres 服务器的实例是否正在运行。

如果 postmaster 没有运行,删除 postmaster.pid 文件并重新启动数据库。请勿在未确保数据库未运行的情况下删除 postmaster.pid 文件,并注意在未启动数据库的情况下删除 postmaster.pid 文件是没有意义的。

最好打开你的postgresql.conf 文件并查看listen_addressesportunix_socket_directoryunix_socket_groupunix_socket_permissions 设置可能是问题的根源。

由于引用的错误消息特别提到套接字文件,请仔细查看 unix_socket_directoryunix_socket_groupunix_socket_permissions

如果 unix_socket_directory 指向的不是 /tmp ,则存在各种解决方法。

或者,假设服务器正在运行,人们可能会尝试在不查看 postgresql.conf 文件的情况下找到套接字文件,尽管这可能会使解决权限问题变得有点困难,端口等问题。 locatefind 等工具可以与 sudo 结合使用或由 root 用户使用.

$ sudo find /tmp /var -name .s.PGSQL.5432

假定 .s.PGSQL.5432 文件问题的位置是问题的根本原因,在 psql 命令行上指定套接字文件位置可能是最直接的解决方法。例如,如果 *.s.PGSQL.5432 文件位于 /var/pgsql_socket 目录中,因为它在某些系统上是这样的,试试这个,但是,当然,使用 所在的实际目录.s.PGSQL.5432 位于:

$ pgsql -h /var/pgsql_socket

如果 .s.PGSQL.5432 文件在 /tmp 中,那么问题很可能是权限之一,请查阅 postgresql.conf 文件被建议,并且可能必须将尝试 psql 命令的用户添加到有权访问套接字文件的组中。 (请记住,在更改组成员资格后注销并重新登录。)

关于macos - psql : could not connect to server: No such file or directory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24355706/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com