套接字文件“/var/pgsql_socket/.s.PGSQL.5432”缺少在山狮(OS X服务

2019-07-05 06:22发布

我只是用OS X Server的升级从狮子服务器我的MacMini服务器到山狮。 我有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也是空的。

我对这个在网上查。 然而几乎所有我看过,包括堆栈溢出的解决方案,都表明移除并重新安装的PostgreSQL。 我不知道,但这似乎不是一个合理的选择,因为在服务器应用上的几个选项使用PostgreSQL。 我联系了苹果企业支持(不同意),我被告知,我的问题,必须由这将投$ 695的开发来解决。

我有一个网站,被降权了,因为我不能重建。 我不知道在这一点上与此寻求帮助。 我会继续在网上寻找,看看我能找到的东西。 不过,我希望有人可以给我一个答案快,所以我可以重建我的数据库。

更新:二零一二年十二月十三日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 

更新:二零一二年十二月十三日18:10 GMT-6

经过紧张激烈的网络搜索该视频发现。 我能得到PostgreSQL的工作并删除错误。 我能够使用pgAdmin的和phpPgAdmin的连接。 我正要回去狮子Server,因为纯粹的无奈。 现在,我不会要。

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

Answer 1:

我可以将以下内容添加到我的.bash_profile文件,以防止错误:

export PGHOST=localhost

这工作,因为 :

如果省略主机名,psql将通过Unix域套接字连接到服务器的本地主机上,或者通过TCP / IP上没有Unix域套接字的机器本地主机。

您的操作系统支持Unix域套接字,但PostgreSQL的Unix套接字psql需要或者不存在,或者是在不同的位置比它预计。

明确指定主机名localhost力量psql使用TCP / IP。 设置环境变量PGHOST是实现的途径之一。 它记录了psql的手册 。



Answer 2:

尝试粘贴在控制台这样的:

$ mkdir /var/pgsql_socket/ 

$ ln -s /private/tmp/.s.PGSQL.5432 /var/pgsql_socket/


Answer 3:

我能够在127.0.0.1只需填写为PostgreSQL的主机地址,而不是留空白解决。 (实施例的Django)

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'database_name',
        'USER': 'database_user',
        'PASSWORD': 'pass',
        'HOST': '127.0.0.1',
        'PORT': '',
        }
}


Answer 4:

在你打开“postgresql.conf里最喜欢的编辑器。 寻找变量“unix_socket_directories”,它很可能是这样的:

unix_socket_directories = '/private/tmp/'

更改行这样的:

unix_socket_directories = '/var/pgsql_socket/'

注意:如果你想在多个目录中的套接字文件逗号将它们分开。



Answer 5:

正如在评论中提到别人,一个非常简单的解决这个问题,正在申报数据库配置中的数据库“主机”。 添加这个答案只是为了让任何人阅读这多一点的清晰。

在Ruby on Rails应用程序,例如,编辑/config/database.yml:

development:
  adapter: postgresql
  encoding: unicode
  database: database_name
  pool: 5
  host: localhost

注:最后一行添加到指定主机。 在此之前更新到优胜美地我从来不需要指定这样的主机。

希望这可以帮助别人。

干杯



Answer 6:

一个更简单的解决方案(感谢http://daniel.fone.net.nz/blog/2014/12/01/fixing-connection-errors-after-upgrading-postgres/ )。 我已经升级到9.4的Postgres。 在我的情况下,所有我需要做的(谷歌搜索,而不是成功的一天后)

gem uninstall pg
gem uninstall activerecord-postgresql-adapter
bundle install

重新启动的WEBrick,并完成了!



Answer 7:

检查数据库的状态:

service postgresql status

如果数据库没有运行,启动数据库:

sudo service postgresql start


Answer 8:

你可以检查你的postgresql.conf文件?

在哪个端口上你的Postgres运行?

我想是不是运行在端口5432.If不将其更改为5432

或者在终端使用

psql -U  postgres -p YOUR_PORT_NUMBER database_name


Answer 9:

我有这个问题,Django的。

通过明确设置你的主机名“localhost”的修复它。



Answer 10:

我在做字做这样的:

dpkg-reconfigure locales

并选择您的首选地区

pg_createcluster 9.5 main --start

(9.5是我的版本的PostgreSQL)

/etc/init.d/postgresql start

然后字!

sudo su - postgres
psql


Answer 11:

如果你有以上的问题,但你从优胜美地升级,则需要为升级解决方案可以破坏一些文件不同的方法。 更多详细信息,在`pg_tblspc`安装OS X(约塞米蒂或酋长)的最新版本后失踪 。



Answer 12:

apt-get install postgres-xc-client
apt-get install postgres-xc


Answer 13:

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

我不停地让我工作的上述解决方案上面的错误,没有。 最后,以下解决方案解决我的问题在Mac OS X

安装使用BREW的Postgres

brew install postgres

安装BREW服务

brew tap homebrew/services

要启动的Postgres作为后台服务

brew services start postgresql

要手动停止的Postgres

brew services stop postgresql

我们也可以使用BREW服务重新启动的Postgres

brew services restart postgresql


Answer 14:

检查的Postgres服务器与下面的代码运行

sudo service postgresql status

如果Postgres的服务器是无效的,写了下面的命令。

sudo service postgresql start


Answer 15:

文件权限是由Mac OS的拥有Postgres的分贝限制。 如启动ServerAdmin的Postgres的:这些权限重新启动,或者Postgres的重新启动后复位。

所以,暂时重置权限或所有权:

sudo chmod o+rwx /var/pgsql_socket/.s.PGSQL.5432
sudo chown "webUser"  /var/pgsql_socket/.s.PGSQL.5432

权限重置并不安全,因此安装这样一个版本,你自己的解决方案的分贝。



Answer 16:

我花了一段时间,但我能够最终通过提供和正在做额外的网络搜索建议会后得到这个工作。 我以前在由Mactasia创建以下YouTube视频的信息:

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

当我做这个我看到.lock为扩展名的文件。 不过,我还是得到了错误,当我尝试当我恢复了使用PostgreSQL我的Rails应用程序的工作,开始了Rails的服务器。 这一次,我有一个权限被拒绝的错误。 这是当我想起我不仅要改变的listen_addresses的plist中,但我也不得不改变unit_socket_permissions到0777我也以root身份登录改变对VAR / pgsql_socket文件夹的权限,我可以在访问用户级别。 现在Postgres的是工作的罚款。 我在从我的SQL备份重装我的数据的过程。

我不明白的是,当我有维基打开PostgreSQL的时候我做了须藤的ServerAdmin fullstatus Postgres的,但我仍然得到了错误假想工作。 那好吧。



Answer 17:

我刚刚创建了一个新的集群和工作对我来说,我使用(PostgreSQL系统)9.3.20:

sudo pg_createcluster 9.3 main --start


Answer 18:

先删除已安装的Postgres:

sudo apt-get purge postgr*
sudo apt-get autoremove

然后安装“突触”:

sudo apt-get install synaptic
sudo apt-get update

然后安装的Postgres

sudo apt-get install postgresql postgresql-contrib


Answer 19:

之后我的电脑冻结,并重新启动它自己我得到这个错误。 对我来说,解决办法不是这个网页上找到,而在另一极高度评价 ,以便具有相同的错误质疑PSQL:无法连接到服务器:没有这样的文件或目录(Mac OS X的) 。 答案是:只要删除这个文件/usr/local/var/postgres/postmaster.pid ,然后brew services restart postgresql的伎俩。 听取有关永久做要不然这可能会损坏你的数据库之前杀死Postgres处理上链接的答案警告。



文章来源: Socket File “/var/pgsql_socket/.s.PGSQL.5432” Missing In Mountain Lion (OS X Server)