Не запускается служба PostgresSQL

Иногда, в результате неправильного выключения сервера (пропало электричество, уборщица выдернула вилку из розетки и т.п.) перестает запускаться служба PostgresSQL. При попытке запуска появляется сообщение Служба была запущена, а затем остановлена.

Если до аварийного отключения СУБД работала нормально, то скорее всего такое сообщение возникает из-за ошибки в логах. В этом случае их нужно просто сбросить. Рассмотрим подробнее, как это сделать.

Прежде всего, потребуется определить два адреса:

  1. Адрес СУБД PostgresSQL. Обычно это папка Program Files. Нас будет интересовать папка Bin. Адрес может отличаться, в зависимость от версии СУБД. Например, он может выглядеть так: C:\Program Files\PostgreSQL\9.4.2-1.1C\bin
  2. Адрес, где хранятся сами базы данных. По умолчанию, это папка Data в папке с СУБД: C:\Program Files\PostgreSQL\9.4.2-1.1C\data. Но базы данных могут располагаться и по другому адресу. Чтобы точно узнать место расположения баз данных PostgresSQL, нужно зайти в свойства службы и посмотреть на командную строку ее запуска:
    Не запускается Служба PostgresSQL

Далее нужно запустить командную строку windows и набрать там следующие команды:

  1. cd «C:\Program Files\PostgreSQL\9.4.2-1.1C\bin» — эта команда осуществляет перевод в папку с приложениями СУБД. Используется первый адрес, который мы определили ранее.
  2. pg_resetxlog.exe -f «C:\Program Files\PostgreSQL\9.4.2-1.1C\data» — эта команда очищает логи СУБД. Здесь используется второй определенный нами адрес: адрес баз данных. После выполнения этой команды должно появиться сообщение Transaction log reset.
    Сброс логов PostgresSQL

Теперь можно запускать службу PostgresSQL.

Внимание! Для PostgresSQL версии 11 следует вместо файла pg_resetxlog.exe использовать файл pg_resetwal.exe

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

3 × два =