web-dev-qa-db-fra.com

Le serveur PostgreSQL n'a pas pu démarrer, impossible de créer le fichier de verrouillage: autorisation refusée

J'essaie d'installer et d'exécuter un serveur postgreSQL, chaque fois que je l'installe en utilisant

Sudo apt-get install postgresql

J'obtiens l'erreur suivante:

* 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)

Je suppose que c'est un problème d'autorisations; comment dois-je procéder pour le résoudre? J'utilise Ubuntu 13.10

39
dawsondiaz

Vérifiez le propriétaire de/var/run/postgresql et définissez-le sur postgres s'il ne l'est pas déjà. Pour ce faire, tapez

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

Si l'utilisateur que vous utilisez n'a pas le privilège Sudo, alors

1) Changer pour root

su -

2) Changer la propriété de/var/run/postgresql en utilisateur postgres et groupe postgres

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

J'ai eu le même problème lors de l'installation de postgres sur Ubuntu 14.04 et le changement de propriétaire a résolu le problème pour moi.

70
Jessica Chiang

Le fichier de verrouillage se termine par /var/run. Pour corriger les autorisations de ce répertoire, j'avais besoin d'exécuter Sudo chmod a+w /var/run/postgresql.

16
Matt

Pourriez-vous vérifier les autorisations de fichier de/var/run?

ls -l /var/run

Si l'autorisation d'écriture est manquante, essayez

Sudo chmod o+w /var/run
1
new_sys_admin