我使用this教程安装了postgreSQL,但它无法连接到服务器。 我使用此命令登录Postgres会话:
sudo -u postgres 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"?
我在Stackoverflow中搜索并发现an answer表示我必须使用此命令删除 postmaster.bid 文件:
rm /usr/local/var/postgres/postmaster.pid
但它也会导致错误:
rm: cannot remove '/usr/local/var/postgres/postmaster.pid': No such file or directory
这些是本地目录的内容:
bin etc games include lib man n sbin share src
那么,如何找到 postmaster.bid 文件并将其删除? (如果是解决方案)
我的操作系统是Ubuntu 16.04。
答案 0 :(得分:1)
我在Ubuntu 18.04上也遇到了同样的问题,找不到完整的答案,所以我做了以下事情:
完全卸载了Postgresql:
sudo apt-get --purge remove postgresql-11 postgresql-client-11 postgresql-client-common postgresql-common postgresql-contrib postgresql-contrib-11
使用以下命令重新安装:
sudo tee /etc/apt/sources.list.d/pgdg.list <<END
deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main
END
wget https://www.postgresql.org/media/keys/ACCC4CF8.asc
sudo apt-key add ACCC4CF8.asc
sudo apt-get update
sudo apt-get install postgresql-11
验证postgresql是否已备份并正确运行:
sudo service postgresql status
现在,当我运行su -postgresql psql
时,错误消失了。
答案 1 :(得分:0)
检查postgres是否已完全安装在Ubuntu中。如果不这样做。这样做,
rm /usr/local/var/postgres/postmaster.pid
这应该有效。否则重新安装并尝试。!