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