2012-01-10 16 views
6

recibo de errorFATAL: no se pudo crear el archivo de bloqueo "postmaster.pid": Permiso denegado

FATAL: could not create lock file "postmaster.pid": Permission denied 

al intentar ejecutar comandos

pg_ctl restart --pgdata "D:\Program Files\PostgreSQL\8.3\data" 

plenos derechos para el usuario postgres a D: \, D: \ Archivos de programa \, D: \ Archivos de programa \ PostgreSQL \ y D: \ Archivos de programa \ PostgreSQL \ 8.3 \ data están establecidos. ¿Qué más tengo que hacer?

Respuesta

6

usted tiene que hacer asegurarse de que el usuario postgres tiene derecho a escribir & ejecutar/var/run/PostgreSQL

sudo chmod 765 /var/run/postgresql 
sudo chown postgres /var/run/postgresql 

tuve este problema debido a la instalación de Postgres-XC y la solución era para eliminarlo.

pg_ctl es la forma más común (y recomendada) utilizada para iniciar/detener/etc postgres.

Por alguna razón, no fue parte de mi instalación postgres.
Después de duckduckgo'ing un poco, instalé postgre-xc que incluye pg_ctl.
postgres-xc cambió el propietario de/var/run/postgresql de postgres a postgres-xc.
Esto causó muchos dolores de cabeza y advertencias sobre la imposibilidad de bloquear el archivo pid.

Por lo tanto, eliminé postgres-xc (y revertí el propietario de/var/run/postgresql a postgres).

En lugar de utilizar pg_ctl, controlo postgres usando

service postgresql status
o
/etc/init.d/postgresql status.

Esperemos que esto ayude a alguien.

+0

No funciona en Windows 10 .... El –

+0

equiv en Windows sería net start-PostgreSQL 9.5, ver https://stackoverflow.com/questions/36629963/how-to-start-postgresql-on-windows – SamGoody

3

postgresql service se logined en NETWORK SERVICE, por lo que hay que hacer necesario directorio de datos (es decir: "D:\Program Files\PostgreSQL\8.3\data") es un control total sobre NETWORK SERVICE al grupo.

Cuestiones relacionadas