當我收到有關“/var/run/postgresql/.s.PGSQL.5432”的錯誤時,如何訪問 Postgres?
我正在執行 Ubuntu 16。我已經安裝了 Postgresql。Postgresql 以前可以工作,但後來我重新啟動了。
nmap 命令顯示埠 5432 已打開。Postgres 似乎工作正常:
service postgresql status
postgresql.service - PostgreSQL RDBMS 已載入:已載入(/lib/systemd/system/postgresql.service;已啟用;供應商預設:已啟用) 活動:自 2017 年 7 月 29 日星期六 18:42:59 EDT 以來處於活動狀態(已退出);1 分鐘 4 秒前 程序:201 ExecStart=/bin/true (code=exited, status=0/SUCCESS) Main PID: 201 (code=exited, status=0/SUCCESS)
Memory: 0B CGroup: /system.slice/postgresql.服務
我跑了這個:
psql
但我得到了這個:
psql:無法連接到伺服器:沒有這樣的文件或目錄伺服器是否在本地執行並接受 Unix 域套接字“/var/run/postgresql/.s.PGSQL.5432”上的連接?
上面列出的文件似乎不存在。
我如何進入 Postgresql?通常我會跑步
psql
或sudo -i -u postgres
然後psql
。但是這些命令不起作用。我不斷收到有關“無法連接到伺服器”的錯誤消息。幾次重新啟動都沒有幫助。更新:
我執行了這個命令:
dpkg -l | grep postgres
rc postgresql-9.5 9.5.6-0ubuntu0.16.04 amd64 對象關係 SQL 數據庫,9.5 版伺服器 ii postgresql-client 9.5+173 PostgreSQL所有前端程序(支持版本) ii postgresql-client-9.5 9.5.7-0ubuntu0.16.04 amd64 PostgreSQL 9.5 前端程序 ii postgresql-client-common 173 多個 PostgreSQL 客戶端版本的所有管理器 ii postgresql-common 173 all PostgreSQL 數據庫-集群管理器
psql:無法連接到伺服器:沒有這樣的文件或目錄伺服器是否在本地執行並接受 Unix 域套接字“/var/run/postgresql/.s.PGSQL.5432”上的連接?
此錯誤通常表示伺服器未執行。根據
dpkg -l
輸出和評論執行緒,這是由於postgresql-9.5
主包以某種方式被解除安裝。由於沒有使用--purge
to 選項呼叫解除安裝dpkg
,因此數據和配置文件仍然存在,因此apt-get install postgresql-9.5
可以解決問題。