我正在使用postgres作为后端数据库运行django应用程序。它工作正常。突然之间,今天我看到我的数据库连接在生产服务器中拒绝了。所以我登录了我的服务器并试图
psql
然后显示此错误:
psql: could not connect to server: No such file or directory
Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
上面列出的文件似乎不存在。
我检查了我的postgres是否正在运行:
/etc/init.d/postgresql status
它正在返回SUCCESS消息。
postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
Active: active (exited) since Thu 2017-11-16 10:03:41 UTC; 55min ago
Process: 4701 ExecReload=/bin/true (code=exited, status=0/SUCCESS)
Process: 4899 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 4899 (code=exited, status=0/SUCCESS)
Nov 16 10:03:41 median systemd[1]: Starting PostgreSQL RDBMS...
Nov 16 10:03:41 median systemd[1]: Started PostgreSQL RDBMS.
然而,我停下来又重新开始了postgres。
我检查了是否还有其他postgres与
一起运行ps -ef | grep postgres
它又回来了,
root 5210 5117 0 10:21 pts/0 00:00:00 grep --color=auto postgres
所以没有其他的帖子。
我甚至检查过我的postgres是否意外删除了
dpkg -l | grep postgres
然后它返回
ii postgresql 9.5+173ubuntu0.1 all object-relational SQL database (supported version)
ii postgresql-9.5 9.5.10-0ubuntu0.16.04 amd64 object-relational SQL database, version 9.5 server
ii postgresql-client-9.5 9.5.10-0ubuntu0.16.04 amd64 front-end programs for PostgreSQL 9.5
ii postgresql-client-common 173ubuntu0.1 all manager for multiple PostgreSQL client versions
ii postgresql-common 173ubuntu0.1 all PostgreSQL database-cluster manager
ii postgresql-contrib-9.5 9.5.10-0ubuntu0.16.04 amd64 additional facilities for PostgreSQL
因此没有rc
而不是ii
,这意味着它尚未卸载。
我已尝试过互联网上的所有其他解决方案,但卸载了postgres。没有为我工作。我可能会做一些非常愚蠢的事情。我不想卸载和丢失我的数据。任何帮助都会非常明显吗?
答案 0 :(得分:0)
运行以下命令以检查PostgreSQL服务器实际运行的端口:
[root@server ~]# netstat -a | grep .s.PGSQL
unix 2 [ ACC ] STREAM LISTENING 2534417 /var/run/postgresql/.s.PGSQL.5432
我可以从此输出中看到我的服务器正在侦听端口5432,并且该文件是在/var/run/postgresql/.s.PGSQL.5432
中创建的
然后,您可以更新/etc/init.d/postgresql
以包含行
PGPORT=5432
export PGPORT
并更新位于数据目录中的postgresql.conf
文件,并将端口键/值设置为port=5432
然后重新启动PostgreSQL服务器
[root@server] service postgresql restart