我刚刚使用 OS X Server 将我的 MacMini Server 从 Lion Server 升级到了 Mountain Lion。我在使用 PostgreSQL 时遇到了与去年第一次安装 Lion Server 时相同的问题。
当我尝试执行任何类型的 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 企业支持(未达成协议),并被告知我的问题必须由开发人员解决,费用为 695 美元。
我有一个网站现在关闭了,因为我无法重建它。在这一点上,我不知道在哪里寻求帮助。我会继续上网看看能不能找到什么。但是我希望有人可以快速给我一个答案,以便我可以重建我的数据库。
更新:2012 年 12 月 13 日 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
更新:2012 年 12 月 13 日 18:10 GMT-6
经过激烈的网络搜索,找到了这个视频。我能够让 PostgreSQL 工作并消除错误。我可以使用 pgadmin 和 phppgadmin 进行连接。由于纯粹的挫败感,我正要回到 Lion Server。现在我不必了。