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

问题描述 投票:0回答:4

我正在尝试安装并运行 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

postgresql ubuntu ubuntu-13.10
4个回答
90
投票

更改

/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
时遇到了同样的问题,并更改所有权为我解决了这个问题。


24
投票

锁定文件最终位于

/var/run
。 要修复此目录的权限,我需要运行
sudo chmod a+w /var/run/postgresql


2
投票

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

ls -l /var/run

如果缺少“写入”权限,请尝试

sudo chmod o+w /var/run

-1
投票

我花了很多时间寻找解决方案。

我将我的用户添加到

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”:权限被拒绝

© www.soinside.com 2019 - 2024. All rights reserved.