Удалить файл Postmaster.pid в каталоге postgres - PullRequest
0 голосов
/ 14 июля 2020

Вчера структура моего ноутбука MacBook (El Capitan) из-за проблемы с Wi-Fi. В то время я щелкнул значок Postgres, который присутствует в строке меню. Затем я открыл Activity Monitor force quit the Postgres server.

Теперь я хочу запустить свой Postgres сервер, на котором отображается postmaster.pid должен быть удален.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 14 июля 2020

Никогда не удаляйте вручную postmaster.pid. Это одна из мер предосторожности, которые позволяют предотвратить запуск двух серверов PostgreSQL в одном каталоге данных, что может привести к немедленному повреждению данных.

При запуске PostgreSQL он проверяет наличие postmaster.pid. Если файл найден, PostgreSQL читает первую строку, которая является идентификатором процесса. Затем он проверяет, существует ли процесс с таким идентификатором.

  • Если есть такой процесс, PostgreSQL откажется запускаться.

  • Если такого процесса нет, то PostgreSQL напечатает предупреждение, но он все равно попытается запуститься.

Конечно, есть определенная вероятность, что идентификатор процесса in postmaster.pid принимается другим процессом, запущенным после сбоя исходного сервера базы данных. Тогда вы получите ложноположительную ошибку от PostgreSQL, и она не запустится. В этом случае вам придется удалить файл вручную, чтобы запустить PostgreSQL, но вам лучше дважды проверить, действительно ли это не a PostgreSQL процесс.

0 голосов
/ 14 июля 2020

Опять же, теперь у меня есть решение.

просто go в эту папку

Я использую postgres 10, поэтому у меня есть папка var-10, вы можете получить еще один .

/Users/gunarevuri/Library/Application Support/Postgres/var-10

затем

cd var-10

затем

rm postmaster.pid

он автоматически удаляет файл.

Вы можете запустить свой Postgres сервер из в строке меню или из приложения.

Ниже приведен снимок экрана для подробного объяснения.

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