Имя: Пароль:
1C
 
Упал PostgreSQL MSK FATAL: the database system is starting up
, , ,
0 zalexey
 
16.05.17
09:39
Утром работала база. Перезагрузили сервак и служба не запускается.
В логах:

MSK FATAL:  the database system is starting up

Служба не запущена. При попытке запустить запускается и останавливается. В логах винды:
Timed out waiting for server startup

Однажды нечто подобное было, помогло удаление
postmaster.pid

сейчас такого файла нет, есть только postmaster.pid
пробовал его удалять - не помогает.

Куда копать, кроме как восстановления из бекапов?
1 Одинесю
 
16.05.17
09:42
Бэкапы чего?
2 rphosts
 
16.05.17
09:42
постгри на виндовс? Какая версия постгри?
3 igork1966
 
16.05.17
09:42
4 igork1966
 
16.05.17
09:43
5 Одинесю
 
16.05.17
09:45
6 zalexey
 
16.05.17
09:46
(2) да, на windows
9.4.2-1.1 1Сx64
7 mishaPH
 
модератор
16.05.17
09:49
(0) было подобное недавно у меня со спец базой. ( использую как облако трансферное между разными базами) админы так и не смогли поднять.. установили заново а из бекапа скриптами восстановил всю структуру
8 zalexey
 
16.05.17
09:55
(5) служба запустилась, но базы порушены :(
в некоторые вообще не заходит. в некоторые заходит но валятся ошибки.
9 ansh15
 
16.05.17
12:06
10 AdApter
 
16.05.17
12:44
хороша сохранность данных на бесплатный серверах! "Уборщица выдернула кабель" и привет. MS sql при запуске откатывает не зафиксированные транзакции сам и не морочит никому головы
11 trdm
 
16.05.17
12:46
(10) MS SQL сыпется так же. Не вводите людей в заблуждение.
12 AdApter
 
16.05.17
12:58
(11) откатывает! и на практике и в мануале
https://msdn.microsoft.com/ru-ru/library/ms190925.aspx
"Восстановление всех незавершенных транзакций при запуске SQL Server"
13 trdm
 
16.05.17
13:19
(12) пофигу что он там откатиывает.
сыпется он безпроблемно.
2 раза чинил + в конфах у меня докуметы после изменения выплевываются на диск.
не доверяю я маркетологам на собственном опыте нахлебался.
14 AdApter
 
16.05.17
13:36
ну еще не известно в чем причина у топикстартерта. То что ms sql переживает жесткий ресет и откатывает я сам проверял. Почему сыпался у вас тоже еще не известно. сегодня вечером подниму потсреги на виртуалке и потестирую как он переживает ресет при активной записи документов.
15 zalexey
 
16.05.17
13:54
После (5) некоторые базы удалось выгрузить в DT, а в режиме предприятия сыпались ошибки.

DT попробовал загрузить в файловый режим - по первым ощущениям ошибок нет. Снес постгри, загрузил базу из этого DT. Вроде без ошибок.
---

Но глюк какой-то странный. В 08:30 перезагрузили они перезагрузили сервак и после этого пошла ошибка. И почему-то базы старые, с которыми вообще уже никто не работает, пострадали больше (в них даже конфигуратором невозможно войти - к счастью по ним есть бепакы), но интересно почему они пострадали сильнее.
16 AdApter
 
16.05.17
14:06
а что за базы? версия платформ и конфигураций?
17 AdApter
 
16.05.17
14:14
если причина падения в перезагрузке то проверьте в конфигах параметры full_page_writes и fsync

http://wiki.etersoft.ru/PostgreSQL/Optimum#full_page_writes

и лучше вместо перезагрузки использовать стоп\старт, потому что может не успеть отработать по таймауту запись изменений на диск - антивирь, медленный диск и пр.
18 zalexey
 
16.05.17
15:25
(16) Бух 3.0 и УТ 11 удалось спасти,
КАМИН 5 и Бух 2.0 - доступа нет. Платформа 8.3.8

(17) спасибо. сейчас буду изучать.
19 dmrjan
 
16.05.17
16:02
Рейд не софтовый зеркало случайно был?
20 AdApter
 
16.05.17
16:48
я так и предпологалаБП 3 и Ут11 - управляемые блокировки
старые базы - нет,
postgree работает лучше с управляемыми, потому что он хранит версии таблиц, а ms sql - блокировки
https://forum.privet.com/viewtopic.php?t=180452
21 ansh15
 
16.05.17
18:22
(18) Что-нибудь пишет в лог когда не дает доступ?
22 zalexey
 
16.05.17
21:53
(21) поднял сейчас рухнувшую папку. В базы, в которые не пускает пишет:
XX000: ERROR:  tuple concurrently updated

в логах:
2017-05-16 21:44:45 MSK STATEMENT:  CREATE OR REPLACE FUNCTION public.VASSN(boolean) RETURNS int4 AS
    '
    DECLARE bexpr alias for $1;
    BEGIN
    if bexpr
    then return 0;
    else return 2000000000;
    end if;
    END
    '
    LANGUAGE 'plpgsql' VOLATILE
2017-05-16 21:44:45 MSK WARNING:  there is no transaction in progress


бекапы подняли. но на будущее было бы интересно разобраться, что случилось вдруг и можно ли решить.
23 zalexey
 
16.05.17
22:20
Удивительно. Запустил через pgAdmin обслуживание одной базы, потыкал все, что там было на одной базе. В итоге в базу стало заходить. Причем во все базы, даже на которых обслуживание на запускал. Что это было? :)
24 ansh15
 
16.05.17
22:22