我正在尝试安装并运行 postgreSQL 服务器,每当我使用
安装它时sudo apt-get install postgresql
我收到以下错误:
* Starting PostgreSQL 9.1 database server
* The PostgreSQL server failed to start. Please check the log output:
2014-04-03 17:18:16 PDT FATAL: could not create lock file "/var/run/postgresql/.s.PGSQL.5432.lock": Permission denied
[fail]
invoke-rc.d: initscript postgresql, action "start" failed.
dpkg: error processing postgresql-common (--configure):
subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of postgresql-9.1:
postgresql-9.1 depends on postgresql-common (>= 115~); however:
Package postgresql-common is not configured yet.
dpkg: error processing postgresql-9.1 (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of postgresql:
postgresql depends on postgresql-9.1; however:
Package postgresql-9.1 is not configured yet.
dpkg: error processing postgresql (--configure):
dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
Errors were encountered while
processing:
postgresql-common
postgresql-9.1
postgresql
E: Sub-process /usr/bin/dpkg returned an error code (1)
我猜这是一个权限问题;我该如何解决它? 我运行的是 Ubuntu 13.10
更改
/var/run/postgresql
的所有者并将其设置为 postgres
:
sudo chown -R postgres:postgres /var/run/postgresql
如果您运行的用户没有 sudo 权限,则
更改为root:
su -
将
/var/run/postgresql
的所有权更改为用户 postgres
和组 postgres
:
chown -R postgres:postgres /var/run/postgresql
我在 Ubuntu 14.04 上安装
postgres
时遇到了同样的问题,并更改所有权为我解决了这个问题。
锁定文件最终位于
/var/run
。 要修复此目录的权限,我需要运行 sudo chmod a+w /var/run/postgresql
。
你能检查一下/var/run的文件权限吗?
ls -l /var/run
如果缺少“写入”权限,请尝试
sudo chmod o+w /var/run
我花了很多时间寻找解决方案。
我将我的用户添加到
postgres
组,但这没有帮助
最后我被迫选择了不是最安全的方式。
sudo chmod -R 777 /var/run/postgresql/
或
sudo mkdir /var/run/postgresql && sudo chmod 777 /var/run/postgresql
我的错误
致命:无法创建锁定文件 “/var/run/postgresql/.s.PGSQL.5432.lock”:权限被拒绝