После того, как я перезапустил Windows для установки обновлений, Postgres перестал запускаться как служба. Я подумал, что это может быть из-за разрешений, поэтому я дал всем возможность изменять папку установки postgres. Затем я попытался запустить базу данных с помощью start, и это сработало. Но когда я пытаюсь запустить службу, я получаю следующее сообщение: служба на локальном компьютере запущена и остановлена.
Затем я попытался переустановить Postgres, но процесс дошел до конца и не смог запуститься.
Любая помощь будет полезна.
решение1
У меня была та же проблема на v9.4
Я обнаружил, что удаление c:\Program Files(x86)\PostgreSQL\9.4\data\postmaster.pid
и \postmaster.opts
перезапуск службы решают проблему.
решение2
Никогда не предпринимайте радикальных действий, таких как удаление и переустановка, не проверив журналы ошибок:
(Windows) C:\Program Files\PostgreSQL<версия>\data\log
Проблема может быть в чем-то очень простом, например (в моем случае) в IP-адресе, в котором pg_hba.conf
отсутствует маска — в таких случаях слепое удаление, вероятно, не сработает.
решение3
Решение проблемы состояло в том, чтобы полностью удалить Postgres и переустановить его. Я убедился, что удалил все его следы с диска перед повторной установкой. Похоже, это был единственный способ заставить его работать.
решение4
Я использую Windows и заметил, что иногда логи не говорят вам, что не так. Обходной путь, который я нашел, это:
В моей системе postgres.exe находится в "C:/Program Files/PostgreSQL/16/bin/postgres.exe". Ваш должен быть в похожем месте. Вам придется изменить 16 на ваш собственный номер версии PostgreSQL.
Откройте CMD и запустите
"C:/Program Files/PostgreSQL/16/bin/postgres.exe" "-D" "C:\Program Files\PostgreSQL\16\data"
Вывод расскажет вам, почему программа работает некорректно, после чего вы сможете приступить к устранению неполадок.
В некоторых случаях вы обнаружите, что в вашей конфигурации есть некоторые проблемы, и после их устранения программа должна работать без дальнейших проблем.