Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Упала БД. Хелп. / 19 сообщений из 19, страница 1 из 1
31.10.2018, 16:40
    #39725986
Уткъ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упала БД. Хелп.
Код: sql
1.
2.
FATAL: database is not accepting commands to avoid wraparound data loss in database "promdb"
HINT:  Stop the postmaster and vacuum that database in single-user mode.
...
Рейтинг: 0 / 0
31.10.2018, 16:42
    #39725987
Уткъ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упала БД. Хелп.
Запустил в сингл юзер, запустил обычный вакуум.

БД пол терабайта.


вакуумироваться будет долго






От чего такая ошибка?

Если разрушение индекса какого-нить или таблички то писать должно что табличка разрушилась с указанием на файл...


Почем именно такая ошибка? о-О
...
Рейтинг: 0 / 0
31.10.2018, 16:43
    #39725988
Уткъ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упала БД. Хелп.
На тесте такой ошибки никогда не встречал, а тут раз и на проме сразу....
...
Рейтинг: 0 / 0
31.10.2018, 16:48
    #39725995
Melkij
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упала БД. Хелп.
Уткъ,

Вот поэтому: https://www.postgresql.org/docs/current/static/routine-vacuuming.html#VACUUM-FOR-WRAPAROUND

Число оставшихся до wraparound транзакций надо мониторить. Защита от потери данных, крайняя мера если прохлопали и варнинги в логах и не мониторили.
...
Рейтинг: 0 / 0
31.10.2018, 16:58
    #39726007
Уткъ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упала БД. Хелп.
MelkijУткъ,

Вот поэтому: https://www.postgresql.org/docs/current/static/routine-vacuuming.html#VACUUM-FOR-WRAPAROUND

Число оставшихся до wraparound транзакций надо мониторить. Защита от потери данных, крайняя мера если прохлопали и варнинги в логах и не мониторили.



А как их мониторить? ..
...
Рейтинг: 0 / 0
31.10.2018, 17:01
    #39726011
Уткъ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упала БД. Хелп.
MelkijУткъ,

Вот поэтому: https://www.postgresql.org/docs/current/static/routine-vacuuming.html#VACUUM-FOR-WRAPAROUND

Число оставшихся до wraparound транзакций надо мониторить. Защита от потери данных, крайняя мера если прохлопали и варнинги в логах и не мониторили.


варнинги в логе появились часов 5 назад, сегодня.
...
Рейтинг: 0 / 0
31.10.2018, 17:03
    #39726016
Уткъ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упала БД. Хелп.
Автовакуум работал.


Это получается какая-то сессия снимок долго-долго держала?

Или какая-нибудь мелкая табличка ни разу не вакуумировалась?



В общем пока отхожу от шока...
...
Рейтинг: 0 / 0
31.10.2018, 17:05
    #39726017
gav21
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упала БД. Хелп.
1. настроить автовакум
2. прибивать idle in transaction сессии (и просто не допускать аномально долгих транзакций)
...
Рейтинг: 0 / 0
31.10.2018, 17:26
    #39726040
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упала БД. Хелп.
+ еще один
http://www.sql.ru/forum/actualsearch.aspx?search=wraparound&sin=0&bid=7&a=&ma=0&dt=-1&s=1&so=1

УткъНа тесте такой ошибки никогда не встречал, а тут раз и на проме сразу....
дык нужон темп и объемы.

почти оффтоп: у вас очереди там или триггер-репликация е ?
партиечки,ексепшены в триггерах.сейвпойнты любите ?
...
Рейтинг: 0 / 0
31.10.2018, 17:30
    #39726045
Уткъ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упала БД. Хелп.
gav211. настроить автовакум
2. прибивать idle in transaction сессии (и просто не допускать аномально долгих транзакций)


автовакуум настроен.

на счет второго, этоже она должна была висеть годами...
...
Рейтинг: 0 / 0
31.10.2018, 17:34
    #39726048
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упала БД. Хелп.
Уткъgav211. настроить автовакум
2. прибивать idle in transaction сессии (и просто не допускать аномально долгих транзакций)
...
на счет второго, этоже она должна была висеть годами...нет. у вокеров по умолчанию такая скважность, что они с хорошим темпом счетчика транзакций не справляются

а счетчик накручиваетс на каждом сейвпойнте

т.ч. перехват ексепшенов на основных ветках кода -- мультипликатор счетчика. на батчах особенно.
...
Рейтинг: 0 / 0
31.10.2018, 17:54
    #39726065
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упала БД. Хелп.
УткъMelkijУткъ,

Вот поэтому: https://www.postgresql.org/docs/current/static/routine-vacuuming.html#VACUUM-FOR-WRAPAROUND

Число оставшихся до wraparound транзакций надо мониторить. Защита от потери данных, крайняя мера если прохлопали и варнинги в логах и не мониторили.


варнинги в логе появились часов 5 назад, сегодня.

Это как то у вас счетчик транзакций щелкает просто неадекватно быстро.
Надо смотреть как вы так базу насилуете и зачем.
Варианты причин вам описали (savepoints/exceptions не по делу обычно основной источник).

Ну и если у вас база в полтерабайта да еще под такую нагрузку возьмите DBA вменяемого в штат.
Иначе вас ждет увлекательная жизнь полная сюрпризов (в основном неприятных).

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
31.10.2018, 18:00
    #39726072
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упала БД. Хелп.
УткъАвтовакуум работал.


Это получается какая-то сессия снимок долго-долго держала?

Или какая-нибудь мелкая табличка ни разу не вакуумировалась?



В общем пока отхожу от шока...

Может автовакуум просто не успевал если он у вас не настроен под ваш обьем данных.
С вашей скоростью накручивания счетчика - это очень легко можно сделать.
Еще есть метод как все сломать (включая autovacuum) - prepared транзакции использовать и не чистить (Не следить что нет забытых).

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
31.10.2018, 18:44
    #39726111
Уткъ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упала БД. Хелп.
Maxim BogukУткъАвтовакуум работал.


Это получается какая-то сессия снимок долго-долго держала?

Или какая-нибудь мелкая табличка ни разу не вакуумировалась?



В общем пока отхожу от шока...

Может автовакуум просто не успевал если он у вас не настроен под ваш обьем данных.
С вашей скоростью накручивания счетчика - это очень легко можно сделать.
Еще есть метод как все сломать (включая autovacuum) - prepared транзакции использовать и не чистить (Не следить что нет забытых).

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru



Кстати да, надо проверить.
...
Рейтинг: 0 / 0
01.11.2018, 11:57
    #39726432
Уткъ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упала БД. Хелп.
Скажите, правильно ли я понимаю что надо мониторить самое большое значение

Код: sql
1.
SELECT datname, age(datfrozenxid) FROM pg_database;



по всем БД?




Если оно меньше чем на 11000000 отличается от 2в31 степени то начинатся ошибки в логе, при отличии менее чем 10000000 БД останавливается.

Соотвестсвенно на мониторить разницу между age(datfrozenxid) и 2в31 степени ?
...
Рейтинг: 0 / 0
01.11.2018, 12:51
    #39726489
rinace
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упала БД. Хелп.
Уткъ,

Нет, не поможет.
Там кольцо и реальный номер транзакции есть результат деления по модулю на 2 в 31.
Вроде так, если ошибаюсь эксперты помогут.

Автовакуум надо настраивать агрессивно.
Больше воркеров, меньше трешхолды.
...
Рейтинг: 0 / 0
01.11.2018, 12:53
    #39726492
rinace
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упала БД. Хелп.
...
Рейтинг: 0 / 0
01.11.2018, 13:45
    #39726550
Уткъ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упала БД. Хелп.
rinaceУткъ,

Нет, не поможет.
Там кольцо и реальный номер транзакции есть результат деления по модулю на 2 в 31.
Вроде так, если ошибаюсь эксперты помогут.

Автовакуум надо настраивать агрессивно.
Больше воркеров, меньше трешхолды.


А как же заметить крадущегося песца?
...
Рейтинг: 0 / 0
01.11.2018, 14:43
    #39726614
vyegorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упала БД. Хелп.
rinace,

age() и показывает возраст базы по отношению к точке невозврата.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Упала БД. Хелп. / 19 сообщений из 19, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]