PostgreSQL服务器无法启动,无法创建锁定文件:权限被拒绝

时间:2014-04-04 00:23:45

标签: postgresql ubuntu ubuntu-13.10

每当我使用

安装时,我都会尝试安装并运行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

3 个答案:

答案 0 :(得分:69)

检查/ var / run / postgresql的所有者并将其设置为postgres(如果尚未设置) 为此,请键入

sudo chown -R postgres:postgres /var/run/postgresql

如果您正在运行的用户没有sudo权限,那么

1)更改为root

su -

2)将/ var / run / postgresql的所有权更改为postgres用户和postgres组

chown -R postgres:postgres /var/run/postgresql

我在Ubuntu 14.04上安装postgres时遇到了同样的问题,更改所有权为我解决了问题。

答案 1 :(得分:16)

The lock file ends up in /var/run. To fix the permissions of this dir, I needed to run sudo chmod a+w /var/run/postgresql.

答案 2 :(得分:1)

你能检查一下/ var / run的文件权限吗?

ls -l /var/run

如果'写'缺少权限,请尝试

sudo chmod o+w /var/run