FATAL: не удалось создать файл блокировки "postmaster.pid": в доступе отказано - PullRequest
9 голосов
/ 10 января 2012

Я получаю сообщение об ошибке

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

при попытке выполнить команду

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

Полные права для пользователя postgres на D: \, D: \ Program Files \, D: \ ProgramФайлы \ PostgreSQL \ и D: \ Program Files \ PostgreSQL \ 8.3 \ data установлены.Что еще мне нужно сделать?

Ответы [ 4 ]

14 голосов
/ 10 января 2012

Я установил полный доступ к D: \ Program Files \ PostgreSQL \ 8.3 \ data для группы Users, и теперь он работает.Подробно на http://forumserver.twoplustwo.com/114/pokertracker/cant-connect-db-422617/ (последнее сообщение).

7 голосов
/ 27 августа 2018

Необходимо убедиться, что у пользователя postgres есть разрешение на запись в каталог данных postgres, настроенный в файле postgresql.conf.В моем случае /var/lib/postgresql/9.5/main/, если не добавить разрешение с:

chmod u+w /var/lib/postgresql/9.5/main/
6 голосов
/ 16 октября 2013

Вы должны убедиться, что пользователь postgres имеет право писать и выполнять / var / run / postgresql

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

У меня была эта проблема из-за установки postgres-xc, и решение былоудалите его.

pg_ctl является наиболее распространенным (и рекомендуемым) способом, используемым для запуска / остановки / и т.д. postgres.

По какой-то причине он не был частью моей установки postgres.
После небольшого duckduckgo'ing я установил postgre-xc, включающий pg_ctl.
postgres-xc сменил владельца / var /Запустите / postgresql из postgres в postgres-xc.
Это вызвало множество головной боли и предупреждений о невозможности заблокировать файл pid.

Итак, я удалил postgres-xc (и вернул владельца / var/ run / postgresql для postgres).

Вместо использования pg_ctl я управляю postgres, используя

service postgresql status
или
/etc/init.d/postgresql status.

Надеемсяэто кому-то поможет.

3 голосов
/ 13 июля 2016

postgresql service зарегистрирован в NETWORK SERVICE, поэтому вам необходимо сделать так, чтобы data dir (то есть: "D:\Program Files\PostgreSQL\8.3\data") имел полный контроль над NETWORK SERVICE группой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...