Postgres DB не запускается на Mac OSX: ошибка говорит: соединения в сокете домена Unix [закрыто]

Я установил Postgresql, а затем запустил кучу приложений rails на моем локальном Mac OSX Mountain Lion и создал базы данных и т. д. Сегодня через некоторое время, когда я запустил pgAdminIII и попытался запустить сервер базы данных, я получил эту ошибку:

enter image description here

быстрый google показал этой пост. Больше просмотров указывало на то, что там может быть какой-то почтмейстер.PID-файл, лежащий вокруг, может быть основной причиной этого. Если я удалю, что вещи будут быть хорошо.

однако, прежде чем я удалю материал на своем компьютере, я хотел убедиться, что я отлаживаю это систематически, что не приведет к большим проблемам.

где-то я читал, что перед удалением этого файла мне нужно запустить эту команду:

  ps auxw | grep post

Если я не получу никаких результатов, то его ОК, чтобы удалить файл. Еще нет. Ну, я получил этот результат от этой команды:

  AM               476   0.0  0.0  2423356    184 s000  R+    9:28pm   0:00.00 grep post

Так что теперь, конечно, я через путаницу.

Так что должен ли я это сделать?

вот часть моего журнала ошибок сервера postgres:

 FATAL:  lock file "postmaster.pid" already exists
 HINT:  Is another postmaster (PID 171) running in data directory "/usr/local/var/postgres"?

Postgresql по-прежнему не работает, по-прежнему получает ту же ошибку, и ничего не изменилось. Im слишком курица, чтобы удалить вещи без проверки на так.

не могли бы некоторые из вас эксперты, пожалуйста, руководство noob.

спасибо

4 ответов


у меня была такая же проблема сегодня на Mac Sierra. В Mac Sierra вы можете найти postmaster.pid внутри /Users/<user_name>/Library/Application Support/Postgres/var-9.6. Удалить postmaster.pid и проблема будет решена.


это часто происходит, если база данных не была закрыта должным образом.

удалить почтмейстер.пид файл:

 rm /usr/local/var/postgres/postmaster.pid

или, резервное копирование:

 mv /usr/local/var/postgres/postmaster.pid /usr/local/var/postgres/postmaster.pid.backup

у меня сейчас работает база данных.

вот шаги, которые я взял:

  1. я перезагрузил компьютер
  2. Я открыл терминал и побежал cd /
  3. тогда я сделал ls -la
  4. гарантировал, что я смогу добраться до MackintoshHD/usr/local/var/postgres
  5. сделал ls -la
  6. Я выполнил эту команду cp postmaster.pid ~/Desktop, который скопировали файл на мой рабочий стол.Мне нравится делать это, если я удаляю файлы. Если что-то не так я могу вернуть его
  7. затем я запустил эту команду, чтобы удалить файл из postgres каталог rm -r postmaster.pid
  8. Я пошел к моему pgadmin3 gui и запустил его. и вуаля, это сработало :)

спасибо @Craig Ringer за его помощь


Я использую Postgres.приложение, и ниже работал для меня:

Я ввел команды в свой терминал ниже, предварительно найдя папку Postgres и не используя "justin".

$declare -x PGDATA="/Users/justin/Library/Application Support/Postgres/var-9.4"

$pg_ctl restart -m immediate

Как объясняет Джастин в своем посте, вывод после этого:

ожидание завершения работы сервера............................................................... ошибка pg_ctl: сервер не выключается

после повторного ввода команды:

$pg_ctl restart -m immediate

Он работал и я получил это сообщение:

pg_ctl: старый серверный процесс (PID: 373), похоже, ушел, начиная сервер в любом случае, журнал запуска сервера: система базы данных была прервана; последний известно на 2015-07-28 18: 15: 26 PDT LOG: система базы данных не была правильно завершите работу; автоматическое восстановление в журнале выполнения: запись с нулевая длина при 0 / 4F0F7A8 LOG: повтор не требуется LOG: database система готова принять журнал соединений: autovacuum launcher started

источник