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

1. doctorov_s 40 06.01.17 14:58 Сейчас в теме
С Новым годом! помогите пожалуйста разобраться с проблемой: При запуске Postgres выдает ошибку: Служба была запущена, а затем остановлена. Все перечитал, не могу понять в чем дело, все перепробовал, может кто то сталкивался с данной проблемой поделитесь опытом!
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
25. user1030293 10.08.18 12:16 Сейчас в теме
(1)
Не запускается Служба Postgres
При запуске Postgres выдает ошибку: Служба была запущена, а затем остановлена. Все перечитал, не могу понять в чем дело, все перепробовал, может кто то сталкивался с данной проблемой поделитесь опытом!

Может поможет кому.
В Windows при установке PostgreSQL создаётся пользователь postgres.
При возникновении подобной ошибки добавьте пользователя postgres во вкладку "Безопасность" папки C:\Program Files (x86)\PostgreSQL и дайте ему все права.
После этого у меня служба запускается нормально.
request4t; +1 Ответить
27. user1219497 12.05.19 23:01 Сейчас в теме
(1)Как это лечить ребята, помогите пожалуйста я нуб!!!



2019-05-08 17:38:27.761 MSK [1448] СООБЩЕНИЕ: работа системы БД была прервана; последний момент работы: 2019-05-08 17:34:49 MSK
2019-05-08 17:38:32.801 MSK [1448] СООБЩЕНИЕ: система БД была остановлена нештатно; производится автоматическое восстановление
2019-05-08 17:38:32.871 MSK [1448] СООБЩЕНИЕ: запись REDO начинается со смещения 0/163E278
2019-05-08 17:38:32.871 MSK [1448] СООБЩЕНИЕ: неверная длина записи по смещению 0/163E358: ожидалось 24, получено 0
2019-05-08 17:38:32.871 MSK [1448] СООБЩЕНИЕ: записи REDO обработаны до смещения 0/163E320
2019-05-08 17:38:33.895 MSK [720] СООБЩЕНИЕ: система БД готова принимать подключения
2019-05-08 17:42:06.794 MSK [5404] ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю)
2019-05-08 17:42:06.794 MSK [5404] ПОДРОБНОСТИ: Пароль не подходит для пользователя "postgres".
Подключение соответствует строке 80 в pg_hba.conf: "host all all 127.0.0.1/32 md5"
2019-05-08 17:42:08.004 MSK [5440] ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю)
2019-05-08 17:42:08.004 MSK [5440] ПОДРОБНОСТИ: Пароль не подходит для пользователя "postgres".
Подключение соответствует строке 80 в pg_hba.conf: "host all all 127.0.0.1/32 md5"
2019-05-08 17:42:08.113 MSK [5456] ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю)
2019-05-08 17:42:08.113 MSK [5456] ПОДРОБНОСТИ: Пароль не подходит для пользователя "postgres".
Подключение соответствует строке 80 в pg_hba.conf: "host all all 127.0.0.1/32 md5"
2019-05-08 17:43:04.482 MSK [720] СООБЩЕНИЕ: получен SIGHUP, файлы конфигурации перезагружаются
2019-05-08 17:45:32.966 MSK [3312] ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю)
2019-05-08 17:45:32.966 MSK [3312] ПОДРОБНОСТИ: Пароль не подходит для пользователя "postgres".
Подключение соответствует строке 80 в pg_hba.conf: "host all all 127.0.0.1/32 md5"
2019-05-08 17:45:34.109 MSK [4160] ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю)
2019-05-08 17:45:34.109 MSK [4160] ПОДРОБНОСТИ: Пароль не подходит для пользователя "postgres".
Подключение соответствует строке 80 в pg_hba.conf: "host all all 127.0.0.1/32 md5"
2019-05-08 17:45:34.171 MSK [4044] ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю)
2019-05-08 17:45:34.171 MSK [4044] ПОДРОБНОСТИ: Пароль не подходит для пользователя "postgres".
Подключение соответствует строке 80 в pg_hba.conf: "host all all 127.0.0.1/32 md5"
2019-05-08 18:05:53.171 MSK [720] СООБЩЕНИЕ: получен запрос на быстрое выключение
2019-05-08 18:05:53.181 MSK [1764] ОШИБКА: выполнение оператора отменено по запросу пользователя
2019-05-08 18:05:53.181 MSK [1880] ОШИБКА: выполнение оператора отменено по запросу пользователя
2019-05-08 18:05:53.221 MSK [720] СООБЩЕНИЕ: прерывание всех активных транзакций
2019-05-08 18:05:53.221 MSK [720] СООБЩЕНИЕ: рабочий процесс: logical replication launcher (PID 1880) завершился с кодом выхода 1
2019-05-08 18:05:53.231 MSK [1556] СООБЩЕНИЕ: выключение
2019-05-08 18:05:58.447 MSK [720] СООБЩЕНИЕ: система БД выключена
2. doctorov_s 40 06.01.17 15:27 Сейчас в теме
Все еще отдыхают что ли?? Никто не может помочь??
3. Cooler 22 06.01.17 15:48 Сейчас в теме
(2)
Все еще отдыхают что ли??
Нет, все заняты решением проблемы: новички пытаются угадать вашу конфигурацию и версии Windows и PostgreSQL, а гуру, которым это изначально ясно - что у вас в логах.

А потом все вместе будут телепать - что вы прочитали и что делали.
7. doctorov_s 40 06.01.17 16:46 Сейчас в теме
4. ansh15 06.01.17 16:11 Сейчас в теме
(2) Так что пишут в postgresql-дата_время.log? На тот момент когда перестало запускаться?
5. doctorov_s 40 06.01.17 16:42 Сейчас в теме
Windows Server 2003, PostgreSQL Database Server 9.4.2-1.1C(x64)
6. doctorov_s 40 06.01.17 16:46 Сейчас в теме
попробовал, изменять порты, перезагружать комп, чистить log как написано в статье: http://b4bgroup.ru/stati/article_post/ne-zapuskayetsya-sluzhba-postgresql.
А вообще суть не в том, что не запускается изначально, а в том что 3 дня назад работало, а потом перестала запускаться служба, при попытке запустить выдает ошибку которая написано в самом начале!
8. TODD22 18 06.01.17 16:48 Сейчас в теме
(6)
чистить log как написано

Попробуйте логи читать, а не чистить.
9. doctorov_s 40 06.01.17 16:53 Сейчас в теме
(8) А как его прочитать??
10. TODD22 18 06.01.17 17:07 Сейчас в теме
(9)Выше вам показали где найти сам лог файл. А чем читается можно загуглить. Может вообще любым текстовым редактором. Может каким нибудь специальным или входящим в оснастку СУБД. Но вам в любом случае копать в эту сторону....
11. doctorov_s 40 06.01.17 17:19 Сейчас в теме
Вот что написано в Логе:
2016-12-30 13:45:51 GMT FATAL: the database system is starting up
2016-12-30 13:46:00 GMT LOG: database system was not properly shut down; automatic recovery in progress
2016-12-30 13:46:00 GMT LOG: redo starts at B/1E7C7528
2016-12-30 13:46:00 GMT LOG: record with zero length at B/1E7E48B8
2016-12-30 13:46:00 GMT LOG: redo done at B/1E7E4888
2016-12-30 13:46:00 GMT LOG: last completed transaction was at log time 2016-12-30 13:38:35.241+00
2016-12-30 13:46:02 GMT LOG: database system is ready to accept connections
2016-12-30 13:46:02 GMT LOG: autovacuum launcher started
2016-12-30 13:47:47 GMT LOG: autovacuum: found orphan temp table "pg_temp_9"."tt1" in database "GOATiT"
16. ansh15 06.01.17 18:04 Сейчас в теме
17. doctorov_s 40 06.01.17 18:08 Сейчас в теме
(16) немного не понял, что это?? у меня же вообще служба не стартует а не база не работает!
22. drim87 07.01.17 11:25 Сейчас в теме
(11) в логе у тебя написано что работа сервера (postgresql) бала выполнена некорректно и будет выполнено автоматическое восстановление. Далее оно выполнилось, служба получила статус "бд готова принимать соединение". Далее у тебя выполняется autovacuum и во время него у тебя найдена сиротская схема pg_temp_9. Удалить ее надо.

DROP SCHEMA pg_temp_9 CASCADE
12. doctorov_s 40 06.01.17 17:26 Сейчас в теме
при запуске PGAdmin выдает ошибку:
Server doesn't listen
The server doesn't accept connections: the connection library reports
could not connect to server: Connection refused (0x0000274D/10061) Is the server running on host "localhost" (127.0.0.1) and accepting TCP/IP connections on port 5432?
13. doctorov_s 40 06.01.17 17:34 Сейчас в теме
Так что делать, кто то может подсказать??
14. sklowsky 23 06.01.17 17:40 Сейчас в теме
В конце года на двух серверах были проблемы с postgres. В результате выяснились проблемы с дисковой подсистемой. Проверьте диски на наличие ошибок. До проверки можно попробовать просто скопировать каталог с базой (каталог DATA). Если ошибки есть, они сразу вывалятся при копировании.
15. doctorov_s 40 06.01.17 17:55 Сейчас в теме
18. ansh15 06.01.17 18:12 Сейчас в теме
database system is ready to accept connections
Судя по вашему логу стартует.
Тогда что что пишет в журнале событий при запуске службы?
19. doctorov_s 40 06.01.17 18:33 Сейчас в теме
20. spacecraft 06.01.17 18:45 Сейчас в теме
(19) это говорит только о том, что запускаемый сервис не вернул управление в течении 30 сек.
Свежие логи самого Postgre есть?
Сервер (виндовый) перезагружали?
21. doctorov_s 40 06.01.17 18:50 Сейчас в теме
(20)Да сервак полностью перезагружался!
23. vvvalera 1 10.01.17 12:28 Сейчас в теме +1 $m
Попробуй переустановить службу, сравни с рабочей службой. Смотри в журнал приложений и служб ошибки
24. korzhishe 11.11.17 11:50 Сейчас в теме
28. ybatiaev 58 31.05.19 12:17 Сейчас в теме
(24) Добрый день! Как почистить лог постгриса? Ваша ссылка не работает (((( Помогите плиз
26. DanielMSK 02.10.18 12:17 Сейчас в теме
Решение с чисткой логов помогает, тут же запустился
32. frkbvfnjh 785 06.06.19 07:00 Сейчас в теме
(26) Мне тоже помогло C:\Program Files (x86)\PostgreSQL\9.6.1-4.1C\bin>pg_resetxlog.exe -f "D:\PostgreSQL\data", только не с первого раза, нужно запустить службу, если не запустилась, то еще раз чистить и снова пробовать, или сразу выполнить эту команду раз 50 и потом все стартует.
При первом вызове была ошибка:
pg_resetxlog: lock file "postmaster.pid" exists
Is a server running? If not, delete the lock file and try again.

Удалил файл "postmaster.pid", потом нормально отработало.
33. ansh15 06.06.19 23:12 Сейчас в теме
Пример того, к чему может привести сброс журнала.
СУБД стартует, данные в базе имеются. но их качество абсолютно ничем не гарантировано.
34. gesitnikov 16.10.20 16:55 Сейчас в теме
Не знаю, актуальна ли тема, но напишу свой случай. У меня при установке постгри не создавался пользователь соответствующий, все ставилось вроде как с правами пользователя 1с. А описанная в старттопике ситуация исправилась проставлением полного доступа на папку с постгри для пользователя СОЗДАТЕЛЬ/ВЛАДЕЛЕЦ.
user1549132; +1 Ответить
35. user1549132 2 22.01.22 17:33 Сейчас в теме
(34) В моем случае я переместил папку, на новый диск, и тоже слетели права на папку. Просто дал доступ "Все" - "полный", и взлетела служба.
36. RomanDan 10.05.22 18:51 Сейчас в теме
Здравствуйте,

для тех кто ещё наступит на грабли с такой ошибкой в журнале Windows "Приложение":
< 2022-05-10 11:45:38.415 MSK >FATAL: lock file "postmaster.pid" already exists
< 2022-05-10 11:45:38.415 MSK >HINT: Is another postmaster (PID 3136) running in data directory "E:/PostgreSQLData/12"?


Утром Windows Server 2016 Std перестал отвечать даже на пинг. Пришлось рестартить через техподдержку дата-центра. Перезагрузили, но как служба PostgreSQL 12.6-6.1C(x64) не хотел запускаться. Стоит заметить, что попасть и работать в базах 1С можно было, Сервер 1С "вроде как" нормально функционировал при этом. В результате танцев с бубном помогло что-то из следующих действий, а может и совместно, ибо выполнялось вместе:
- остановить службу сервера 1С, удалить ВСЕ процессы postgres.exe на закладке Подробности в Диспетчере задач и переместить в другое место (переименовать) файл postmaster.pid
- удалить логи из папки (там ничего существенного нет, можете сами заглянуть в эти файлы) \pg_log\
37. dungeonkeeper 25 28.11.23 09:09 Сейчас в теме
Пожалуй добавлю свое разъяснение, поскольку недавно столкнулся с подобной историей сразу на двух серверах.
Симптомы такие. В консоли управления службами Windows, служба PostgresSQL не запущена. При попытке запустить службу руками, получаем сообщение что служба была запущена и затем остановлена.
Именно после подобных действий в журнале Windows появляются такие записи:
< 2022-05-10 11:45:38.415 MSK >FATAL: lock file "postmaster.pid" already exists
< 2022-05-10 11:45:38.415 MSK >HINT: Is another postmaster (PID 3136) running in data directory "E:/PostgreSQLData/12"?

Причина тому проста. Для запуска сервера PostgresSQL используется управляющее приложение pg_ctl.exe, именно оно и прописано в качестве службы.
У меня выглядит так :
"C:\Program Files\PostgreSQL\14.5-3.1C\bin\pg_ctl.exe" runservice -w -N "pgsql-14.5-3.1C-x64" -D "E:\SQL_bases\PostgreSQL\data\"

А сам процесс сервера SQL выглядит вот так:
"C:\Program Files\PostgreSQL\14.5-3.1C\bin\postgres.exe" -D "E:\SQL_bases\PostgreSQL\data"

Т.е. это другое приложение.
Если дать команду проверки состояния сервера, то мы увидим и PID процесса и сообщение о работе сервера.
c:\Program Files\PostgreSQL\14.5-3.1C\bin>pg_ctl.exe status -D "e:\SQL_bases\PostgreSQL\data\"
pg_ctl: server is running (PID: 8172)
C:/Program Files/PostgreSQL/14.5-3.1C/bin/postgres.exe "-D" "E:\SQL_bases\PostgreSQL\data"

По каким-то причинам pg_ctl.exe завершает свою работу при запуске, по этому и состояние службы в консоли не указано.
Вероятно такое поведение из-за последствий аварийного завершения работы сервера.

Теперь к самому главному, как вылечить.
Оказалось все просто. Надо сделать стоп/старт/стоп сервера Postgres через тоже самое приложение управления, таким образом корректно завершив незавершенные транзакции и только потом запустить службу
pg_ctl.exe stop -m fast -D "E:\SQL_bases\PostgreSQL\data\"
pg_ctl.exe start -D "E:\SQL_bases\PostgreSQL\data\"
pg_ctl.exe stop -m fast -D "E:\SQL_bases\PostgreSQL\data\"
net start pgsql-14.5-3.1C-x64
Оставьте свое сообщение
Вакансии
Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)

Программист 1С
Москва
зарплата от 250 000 руб.
Полный день