Не работает служба Postgres. Причина неизвестна

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


При запуске Postgres выдает ошибку: Служба была запущена, а затем остановлена. Все перечитал, не могу понять в чем дело, все перепробовал, может кто то сталкивался с данной проблемой поделитесь опытом!

Может поможет кому.


В Windows при установке PostgreSQL создаётся пользователь postgres.


При возникновении подобной ошибки добавьте пользователя postgres во вкладку «Безопасность» папки C:\Program Files (x86)\PostgreSQL и дайте ему все права.


После этого у меня служба запускается нормально.

( 1
)Как это лечить ребята, помогите пожалуйста я нуб!!!

2.

doctorov_s

Сейчас в теме

Все еще отдыхают что ли?? Никто не может помочь??

3.

Cooler

Сейчас в теме

Все еще отдыхают что ли??

Нет, все заняты решением проблемы: новички пытаются угадать вашу конфигурацию и версии Windows и PostgreSQL, а гуру, которым это изначально ясно — что у вас в логах.

А потом все вместе будут телепать — что вы прочитали и что делали.

7.

doctorov_s

Сейчас в теме

4.

ansh15

Сейчас в теме

( 2
) Так что пишут в postgresql-дата_время.log? На тот момент когда перестало запускаться?

5.

doctorov_s

Сейчас в теме

Windows Server 2003, PostgreSQL Database Server 9.4.2-1.1C(x64)

6.

doctorov_s

Сейчас в теме

8.

TODD22

Сейчас в теме

чистить log как написано

Попробуйте логи читать, а не чистить.

9.

doctorov_s

Сейчас в теме

( 8
) А как его прочитать? ?

10.

TODD22

Сейчас в теме

11.

doctorov_s

Сейчас в теме

Вот что написано в Логе:


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

Сейчас в теме

17.

doctorov_s

Сейчас в теме

( 16
) немного не понял, что это? ? у меня же вообще служба не стартует а не база не работает?

22.

drim87

Сейчас в теме

( 11
) в логе у тебя написано что работа сервера (postgresql) бала выполнена некорректно и будет выполнено автоматическое восстановление! Далее оно выполнилось, служба получила статус «бд готова принимать соединение». Далее у тебя выполняется autovacuum и во время него у тебя найдена сиротская схема pg_temp_9. Удалить ее надо.

DROP SCHEMA pg_temp_9 CASCADE

12.

doctorov_s

Сейчас в теме

Читайте также:  Контрагент ОСФР в ЗАПОРОЖСКОЙ ОБЛАСТИ

13.

doctorov_s

Сейчас в теме

Так что делать, кто то может подсказать??

14.

sklowsky

Сейчас в теме

В конце года на двух серверах были проблемы с postgres. В результате выяснились проблемы с дисковой подсистемой. Проверьте диски на наличие ошибок. До проверки можно попробовать просто скопировать каталог с базой (каталог DATA). Если ошибки есть, они сразу вывалятся при копировании.

15.

doctorov_s

Сейчас в теме

18.

ansh15

Сейчас в теме

database system is ready to accept connections

Судя по вашему логу стартует.


Тогда что что пишет в журнале событий при запуске службы?

19.

doctorov_s

Сейчас в теме

Timed out waiting for server startup!

20.

spacecraft

Сейчас в теме

( 19
) это говорит только о том, что запускаемый сервис не вернул управление в течении 30 сек.


Свежие логи самого Postgre есть?


Сервер (виндовый) перезагружали?

21.

doctorov_s

Сейчас в теме

( 20
)Да сервак полностью перезагружался!

23.

vvvalera

Сейчас в теме

Попробуй переустановить службу, сравни с рабочей службой. Смотри в журнал приложений и служб ошибки

24.

korzhishe

Сейчас в теме

28.

ybatiaev

Сейчас в теме

( 24
) Добрый день! Как почистить лог постгриса? Ваша ссылка не работает (((( Помогите плиз

29.

korzhishe

Сейчас в теме

30.

korzhishe

Сейчас в теме

31.

korzhishe

Сейчас в теме

26.

DanielMSK

Сейчас в теме

Решение с чисткой логов помогает, тут же запустился

32.

frkbvfnjh

Сейчас в теме

( 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

Сейчас в теме

Пример

того, к чему может привести сброс журнала.


СУБД стартует, данные в базе имеются. но их качество абсолютно ничем не гарантировано.

34.

gesitnikov

Сейчас в теме

Не знаю, актуальна ли тема, но напишу свой случай. У меня при установке постгри не создавался пользователь соответствующий, все ставилось вроде как с правами пользователя 1с. А описанная в старттопике ситуация исправилась проставлением полного доступа на папку с постгри для пользователя СОЗДАТЕЛЬ/ВЛАДЕЛЕЦ.

( 34
) В моем случае я переместил папку, на новый диск, и тоже слетели права на папку. Просто дал доступ «Все» — «полный», и взлетела служба.

36.

RomanDan

Сейчас в теме

для тех кто ещё наступит на грабли с такой ошибкой в журнале 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\

psql: error: connection to server at «localhost» (::1), port 5432
failed: Connection refused (0x0000274D/10061)
Is the server running on that host and accepting TCP/IP connections?
connection to server at «localhost» (127.0.0.1), port 5432 failed: Connection refused (0x0000274D/10061)
Is the server running on that host and accepting TCP/IP connections?

В службах Windows PostgreSQL не запускается (установлена Win10).

Это решение не помогло https://stackoverflow.com/a/27568135/17655569
.

Также пробовал переустановить по этой инструкции https://webkul.com/blog/postgresql-windows-installation-problem-running-post-install-step-installation-may-not-complete-correctly/
. Но к сожалению, помогает только до первой перезагрузки.

Как можно решить данную проблему? Я начинаю учить язык программирования Java. Может твообще установить другую СУБД? SQLite 3 подойдет?

Вот нашел в логах:

ВАЖНО: XX000: C:\Program Files\PostgreSQL\14\bin\postgres.exe:
подходящий исполняемый файл postgres не найден ПОЛОЖЕНИЕ:
getInstallationPaths, postmaster.c:1495

Quick answer: Change the account in the Windows Services panel from Network to Local.

Details of my case

At the end (when populating the data cluster) I received an error:

Failed to load SQL Modules into database Cluster

I tried to start it from here (had to type the main password), but it went inactive immediately again. So I tried to use the Windows services panel to start «postgresql-x64-10», no joy. I copied the command from this panel and pasted it into a Windows console (cmd.exe) where I finally received this

Searching I found this related question, and was convinced the problem was about permissions.

Solution working for my case

2.

t.v.s.

Сейчас в теме

Банально, но проверьте права на папку data

3.

info1i

Сейчас в теме

4.

info1i

Сейчас в теме

Вопрос решил так:

И заработало. Спасибо за подсказку!

5.

info1i

Сейчас в теме

Сегодня утром снова отключили электричество, снова эта ситуация, но на этот раз решение не сработало.


Выходит, что с правами все в порядке. Но в чем тогда причина?

6.

ansh15

Сейчас в теме

Читайте также:  ФСС Екатеринбург

7.

ka7a8

Сейчас в теме

Бывает что после отключение питания на Linux серверах с 1С вообще ничего не запускается. База postgres поломана и кэш 1С тоже. Вот шаги как заново всё привести в рабочее состояние.

1. Запускаем postgres в сингл моде от пользователя postgres чтобы его не убил systemd по таймауту

  root@1cserver:~# su postgres
postgres@1cserver:~$ /usr/lib/postgresql/9.6/bin/postgres --single -c config_file=/etc/postgresql/9.6/main/postgresql.conf -D /var/lib/postgresql/9.6/main -P -d 1
2018-09-07 09:23:27.289 MSK [3421] DEBUG: запись о контрольной точке по смещению 23/36889418
2018-09-07 09:23:27.294 MSK [3421] DEBUG: redo record is at 23/3674B6A8; shutdown FALSE
2018-09-07 09:23:27.294 MSK [3421] DEBUG: next transaction ID: 0:18537840; next OID: 13492030
2018-09-07 09:23:27.294 MSK [3421] DEBUG: next MultiXactId: 1; next MultiXactOffset: 0
2018-09-07 09:23:27.294 MSK [3421] DEBUG: oldest unfrozen transaction ID: 545, in database 1
2018-09-07 09:23:27.294 MSK [3421] DEBUG: oldest MultiXactId: 1, in database 1
2018-09-07 09:23:27.294 MSK [3421] DEBUG: commit timestamp Xid oldest/newest: 0/0
2018-09-07 09:23:27.294 MSK [3421] DEBUG: предел наложения ID транзакций равен 2147484192, источник ограничения - база данных с OID 1
2018-09-07 09:23:27.294 MSK [3421] DEBUG: предел наложения MultiXactId равен 2147483648, источник ограничения - база данных с OID 1
2018-09-07 09:23:27.294 MSK [3421] DEBUG: starting up replication slots
2018-09-07 09:23:27.294 MSK [3421] LOG: система БД была остановлена нештатно; производится автоматическое восстановление
2018-09-07 09:23:27.298 MSK [3421] DEBUG: resetting unlogged relations: cleanup 1 init 0
2018-09-07 09:23:27.507 MSK [3421] LOG: запись REDO начинается со смещения 23/3674B6A8
2018-09-07 09:23:27.515 MSK [3421] LOG: invalid record length at 23/368B5C50: wanted 24, got 0
2018-09-07 09:23:27.515 MSK [3421] LOG: записи REDO обработаны до смещения 23/368B5C28
2018-09-07 09:23:27.515 MSK [3421] LOG: последняя завершённая транзакция была выполнена в 2018-09-06 20:47:59.49413+03
2018-09-07 09:23:27.515 MSK [3421] DEBUG: resetting unlogged relations: cleanup 0 init 1
2018-09-07 09:23:27.941 MSK [3421] DEBUG: performing replication slot checkpoint
2018-09-07 09:23:27.985 MSK [3421] DEBUG: предел наложения MultiXactId равен 2147483648, источник ограничения - база данных с OID 1
2018-09-07 09:23:27.985 MSK [3421] DEBUG: Граница членов мультитранзакции сейчас: 4294914944 (при старейшей мультитранзакции 1)

PostgreSQL stand-alone backend 9.6.8
backend>
  

После можно остановить postgres с нормальным кодом завершения и запустить в нормальном режиме

  root@1cserver:/home/usr1cv8# kill -15 #ваш_пид_процесса
root@1cserver:/home/usr1cv8# /etc/init.d/postgresql start
[ ok ] Starting postgresql (via systemctl): postgresql.service.    

2. Останавливаем непригодный 1С и чистим его кэш и конфигурациооные файлы и запускаем заново

  root@1cserver:~# /etc/init.d/srv1cv83 stop
root@1cserver:~# rm -rf /home/usr1cv8/.1cv8
root@1cserver:~# /etc/init.d/srv1cv83 start  

3. Запускаем RAS и добавляем базы которые были у нас на сервере 1С

  root@1cserver:~# /opt/1C/v8.3/x86_64/ras --daemon cluster
root@1cserver:~# /opt/1C/v8.3/x86_64/rac cluster list
cluster : 583eba18-b263-11e8-ed9e-309c239dab48
host : 1cserver
port : 1541
name : "Локальный кластер"
expiration-timeout : 0
lifetime-limit : 0
max-memory-size : 0
max-memory-time-limit : 0
security-level : 0
session-fault-tolerance-level : 0
load-balancing-mode : performance
errors-count-threshold : 0
kill-problem-processes : 0
root@1cserver:~# /opt/1C/v8.3/x86_64/rac infobase create --cluster=583eba18-b263-11e8-ed9e-309c239dab48 --name=our_1c_db --dbms=PostgreSQL --db-server=1cserver --db-name=our_1c_db --locale=ru --db-user=postgres --db-pwd=our_postgres_db_password

и так далее для каждой базы 1С что были на сервере
  

Радуемся жизни 🙂

Оцените статью
ФСС Help
Добавить комментарий