我本地安装了 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"?
Run Code Online (Sandbox Code Playgroud)
手动启动不起作用:
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
Run Code Online (Sandbox Code Playgroud)
好的,权限有问题。让我们看看它们:
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
Run Code Online (Sandbox Code Playgroud)
我发现以下内容:这样做sudo chmod 777 /var/run/postgresql解决了问题,然后可以启动 postgresql 。不幸的是,这必须在每次重新启动 Ubuntu 后完成。所以两个问题:1.怎么了?为什么 chmod 不是永久的?2.如何修复?
谢谢!
好的,我找到了解决方案。删除、清除并重新安装 postgresql 并没有解决问题。我认为早期版本的一些文物仍然存在(例如,我仍然在 /etc/postgresql/ 中找到 9.1、9.3 和 9.4 作为子目录)。以下是我设置全新安装时执行的完整命令集:
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
Run Code Online (Sandbox Code Playgroud)
此后,问题不再存在。
| 归档时间: |
|
| 查看次数: |
4763 次 |
| 最近记录: |