Подтвердить что ты не робот

DB Postgres не начинается с Mac OSX: ERROR говорит: подключения к сокету Unix

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

enter image description here

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

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

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

  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 все еще не работает, по-прежнему получает ту же ошибку и ничего не изменилось. Я тоже курица, чтобы удалить вещи, не проверяя SO.

Могли бы некоторые из вас экспертов посоветовать noob.

Спасибо

4b9b3361

Ответ 1

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

Вот шаги, которые я сделал:

  • Я перезагрузил свой компьютер.
  • Я открыл терминал и запустил cd /
  • Тогда я сделал ls -la
  • Убедитесь, что я могу добраться до MackintoshHD/usr/local/var/postgres
  • Затем сделал ls -la
  • Здесь я увидел файл postmaster.pid
  • Я выполнил эту команду cp postmaster.pid ~/Desktop, которая скопировала файл на мой рабочий стол. Мне нравится делать это, если я удаляю файлы. Если что-то не так, я могу вернуть его.
  • Затем я выполнил эту команду, чтобы удалить файл из postgres каталог rm -r postmaster.pid
  • Я пошел в свой pgadmin3 gui и выстрелил в него. и Voila это сработало:)

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

Ответ 2

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

Ответ 3

Это может произойти, если база данных не закрылась правильно.

Чтобы исправить это, удалите файл postmaster.pid:

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

Или сделайте резервную копию:

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

Ответ 4

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

Я ввел команды в свой терминал ниже, предварительно установив папку 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) кажется запущенным сервером в любом случае запуск сервера LOG: система базы данных была прервана; последний известно в 2015-07-28 18:15:26 PDT LOG: система базы данных не была правильно выключить; автоматическое восстановление в процессе LOG: запись с нулевая длина при 0/4F0F7A8 LOG: повтор не требуется. LOG: database система готова к подключению LOG: запускается автовыпуклая

Источник