Вы должны убедиться, что пользователь 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
.
Надеемсяэто кому-то поможет.