Ubuntu psql:无法连接到服务器

时间:2015-03-09 16:50:01

标签: ubuntu psql

我有一个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/run/postgresql/.s.PGSQL.5432"?

手动启动它不起作用:

sudo /etc/init.d/postgresql restart
  * Restarting PostgreSQL 9.4 database server
  * The PostgreSQL server failed to start. Please check the log output:
       2015-03-09 17:41:39 CET [3769-1] FATAL:  could not create lock file "/var/run/postgresql/.s.PGSQL.5432.lock": Permission denied

好的,权限有问题。让我们看看它们:

ls -all /var/run/
drwxr-xr-x 27 root        root         900 Mar  9 17:36 .
drwxr-xr-x 25 root        root        4096 Feb 28 06:19 ..
drwxrwsr-x  3 postgres-xc postgres-xc   60 Mar  9 17:35 postgresql

我发现了以下内容:执行sudo chmod 777 /var/run/postgresql解决了问题,然后可以启动postgresql。不幸的是,这必须在每次重启Ubuntu后完成。那两个问题: 1.什么错了?为什么chmod不是永久性的? 2.如何解决?

谢谢!

1 个答案:

答案 0 :(得分:2)

好的,我找到了解决方案。删除,清除和重新安装postgresql并没有解决问题。我认为早期版本的一些文物仍然存在(例如,我仍然发现9.1,9.3和9.4作为/ etc / postgresql /中的子目录)。以下是我为设置全新安装所做的全套命令:

sudo apt-get remove postgresql
sudo apt-get purge postgresql
apt-get --purge remove postgresql\*
sudo apt-get --purge remove postgresql\*
sudo rm -r /etc/postgresql/
sudo rm -r /etc/postgresql-common/
sudo rm -r /var/lib/postgresql/
sudo rm -r /var/run/postgres
userdel -r postgres
sudo userdel -r postgres
sudo apt-get install postgresql

此后,问题不再存在。