gpt4 book ai didi

postgresql - Mountain Lion 中缺少套接字文件 "/var/pgsql_socket/.s.PGSQL.5432"(OS X 服务器)

转载 作者:行者123 更新时间:2023-11-29 11:04:44 24 4
gpt4 key购买 nike

我刚刚使用 OS X Server 将我的 MacMini Server 从 Lion Server 升级到 Mountain Lion。我在去年第一次安装 Lion Server 时遇到了与 PostgreSQL 相同的问题。

当我尝试执行任何类型的 PostgreSQL 终端命令时,我收到以下臭名昭著的错误消息,多年来许多人都收到过:

psql: 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"?

当我收到错误时,我正在尝试更改 _postgres 的密码。我尝试了几个命令,但得到了同样的错误。我刚刚重新启动了我的服务器,但没有运气。我以 root 身份登录查看/var/pgsql_socket,文件夹是空的。文件夹/var/pgsql_socket_alt 也是空的。

我在网上查过这个。但是,我阅读过的几乎所有解决方案(包括 Stack Overflow 上的解决方案)都建议删除并重新安装 PostgreSQL。我不知道,但这似乎不是一个合理的选择,因为服务器应用程序上的几个选项使用 PostgreSQL。我联系了 Apple 企业支持(未达成协议(protocol)),我被告知我的问题必须由开发人员解决,费用为 695 美元。

我的网站现在无法重建,因此无法正常运行。我现在不知道该去哪里寻求帮助。我将继续在线查看是否可以找到一些东西。不过我希望有人能尽快给我一个答案,这样我就可以重建我的数据库。

更新:12/13/2012 15:33 GMT-6

这是我对 ps auwx|grep postg 的输出:

_postgres      28123   0.0  0.1  2479696   7724   ??  Ss    3:01PM   0:00.04 /Applications/Server.app/Contents/ServerRoot/usr/bin/postgres_real -D /Library/Server/PostgreSQL For Server Services/Data -c listen_addresses= -c log_connections=on -c log_directory=/Library/Logs/PostgreSQL -c log_filename=PostgreSQL_Server_Services.log -c log_line_prefix=%t  -c log_lock_waits=on -c log_statement=ddl -c logging_collector=on -c unix_socket_directory=/Library/Server/PostgreSQL For Server Services/Socket -c unix_socket_group=_postgres -c unix_socket_permissions=0770
server1 28216 0.0 0.0 2432768 620 s000 R+ 3:02PM 0:00.00 grep postg
_postgres 28138 0.0 0.0 2439388 752 ?? Ss 3:01PM 0:00.01 postgres: stats collector process
_postgres 28137 0.0 0.0 2479828 1968 ?? Ss 3:01PM 0:00.00 postgres: autovacuum launcher process
_postgres 28136 0.0 0.0 2479696 544 ?? Ss 3:01PM 0:00.00 postgres: wal writer process
_postgres 28135 0.0 0.0 2479696 732 ?? Ss 3:01PM 0:00.01 postgres: writer process
_postgres 28134 0.0 0.0 2479696 592 ?? Ss 3:01PM 0:00.00 postgres: checkpointer process
_postgres 28131 0.0 0.0 2439388 368 ?? Ss 3:01PM 0:00.00 postgres: logger process

更新:12/13/2012 18:10 GMT-6

经过大量的网络搜索,找到了这个视频。我能够让 PostgreSQL 工作并消除错误。我可以使用 pgadmin 和 phppgadmin 进行连接。由于纯粹的挫败感,我正要回到 Lion Server。现在我不需要了。

http://www.youtube.com/watch?v=y1c7WFMMkZ4

最佳答案

我能够将以下内容添加到我的 .bash_profile 中以防止错误:

export PGHOST=localhost

这有效 because :

If you omit the host name, psql will connect via a Unix-domain socket to a server on the local host, or via TCP/IP to localhost on machines that don't have Unix-domain sockets.

您的操作系统支持 Unix 域套接字,但 psql 需要的 PostgreSQL 的 Unix 套接字要么不存在,要么位于与预期不同的位置。

将主机名显式指定为 localhost 会强制 psql 使用 TCP/IP。设置环境变量 PGHOST 是实现这一目标的方法之一。它记录在 psql's manual 中.

关于postgresql - Mountain Lion 中缺少套接字文件 "/var/pgsql_socket/.s.PGSQL.5432"(OS X 服务器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13868730/

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