我刚刚使用OS X Server将我的MacMini服务器从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 Enterprise Support(没有协议),我被告知我的问题必须由开发人员解决,这将花费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
更新: 12/13/2012 18:10 GMT-6
经过激烈的网络搜索,找到了这段视频。我能够让PostgreSQL工作并删除错误。我能够使用pgadmin和phppgadmin进行连接。由于极度沮丧,我正准备回到Lion Server。现在我不必这样做了。
http://www.youtube.com/watch?v=y1c7WFMMkZ4
我能够通过简单地填写PostgreSQL主机地址的127.0.0.1来解决,而不是将其留空。(Django示例)
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'database_name',
'USER': 'database_user',
'PASSWORD': 'pass',
'HOST': '127.0.0.1',
'PORT': '',
}
}
尝试在控制台中粘贴:
$ mkdir /var/pgsql_socket/
$ ln -s /private/tmp/.s.PGSQL.5432 /var/pgsql_socket/
我能够将以下内容添加到我的.bash_profile以防止错误:
export PGHOST=localhost
这是因为:
如果省略主机名,psql将通过Unix域套接字连接到本地主机上的服务器,或通过TCP/IP连接到没有Unix域套接字的机器上的本地主机。
您的操作系统支持Unix域套接字,但是< code>psql需要的PostgreSQL的Unix套接字不存在,或者位于与预期不同的位置。
将主机名显式指定为localhost
强制psql
使用TCP/IP。设置环境变量PGHOST
是实现这一点的方法之一。它记录在psql的手册中。
我刚升级我的MacMini服务器从狮子服务器到山狮使用OS X服务器。我在使用PostgreSQL时遇到了与去年第一次安装Lion Server时相同的问题。 当我尝试执行任何类型的PostgreSQL终端命令时,我会得到以下臭名昭著的错误消息,这些年来很多人都得到了这种消息: 当我尝试更改_postgres的密码时,我得到了错误。我尝试了几个命令,但得到了相同的错误。我刚刚重新启动了我的服务器,
如何修复此错误? psql:错误:无法连接到服务器:没有这样的文件或目录是在本地运行并在Unix域套接字上接受连接的服务器“/var/run/postgresql/.s.PGSQL.5432”? 我们使用Docker、Postgres12和Wercker。在Wercker中运行此命令时,无法创建数据库。但是我们可以在我本地的Ubuntu环境中创建它。
我有一个托管在Engine Yard Cloud上的rails应用程序。部署后,我收到一个错误: 进程postgresql:POSTGRES_CONNECTION关键: DB'postgres'无法连接到服务器:连接拒绝服务器是否在本地运行并接受Unix域套接字'/var/run/postgresql/. s上的连接。PGSQL.5432' 在此错误之后,带有应用程序的实例变得不可访问,需要重新加
问题内容: 在从openni编译演示时,我偶然发现了此错误: 我在Mac上执行此操作。我最好的猜测是该文件不在我的java.library.path中 我现在的问题是:这个猜测正确吗,以及如何在netbeans中添加到java.library.path中。 提前Thx 问题答案: 将此添加到projects属性的VM选项中:-Djava.library.path = / Users / olivi
问题内容: 我的问题开始于我无法以root用户身份登录mysql安装。我试图在不打开密码的情况下运行mysql …但是每当我运行命令时 我永远也回不了提示。我试图按照以下说明恢复密码。 屏幕如下所示: 并且没有提示您开始输入SQL命令来重置密码。 当我按+ 杀死它时,会收到以下消息: 如果重试该命令并将其保留足够长的时间,则会收到以下一系列消息: 但是,如果我尝试通过以下方式以root用户身份登录
问题内容: 这可能是一件非常简单的事情。我是python的新手,所以不要钉死我。 上面的命令给了我: 我唯一的进口是 问题答案: 如果您不理解错误消息,则表示您引用的是当时不可用的名称。您的代码段可能缺少导入语句。 出于可移植性的原因,套接字模块可能不提供SO_BINDTODEVICE。如果您完全确定自己在支持它的Linux上运行,请尝试用它的数字值替换它: 或对于python 3: