我刚刚使用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。我不知道,但这似乎不是一个可行的选择,因为Server App上的几个选项都使用PostgreSQL。我联系了Apple Enterprise支持部门(未达成协议),并被告知开发人员必须解决我的问题,否则将投入695美元。
我有一个现在关闭的网站,因为我无法重建它。目前,我不知道该向哪里寻求帮助。我将继续在线寻找是否可以找到一些东西。但是,我希望有人能尽快给我答案,以便我重建数据库。
更新:2012年12月13日15:33 GMT-6
这是ps auwwx | 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。现在,我将不必。
psql
是在你PATH
安装之前的版本。他们在不同的地方寻找unix套接字。通过指定tcp / ip-h localhost
或最好对其进行修复,PATH
以便psql
首先找到正确的地址。苹果公司不仅决定捆绑PostgreSQL,而且将它弄乱,因此将其放置在非标准的地方,这是这个问题的根本原因。