172 похожих чатов

Господа и дамы, всем дня. Вновь обращаюсь к вам за

советом:
Ночью в лог насыпало ошибок "requested WAL segment 0000000100000C0000000016 has already been removed"
Соответственно реалтайм реплика начала отставать, а в след за ней и вторая реплика, подключенная к первой, с отставанием.
Релатайм была перезалита и проблема ушла, однако сохранилась на второй этот способ не помог, и там проблема сохранилась, разве что ругается теперь на другой сегмент. Куда копать и как можно избежать подобного?

23 ответов

22 просмотра
Artem-M Автор вопроса

забыл, postgresql 14, Ubuntu 20.04

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

Artem-M Автор вопроса
D
надо увеличить максимальные размеры вала в настрой...

Правильно я понимаю, речь про wal_keep_size?

использовать слоты репликации или понадеяться на лучшее, увеличив wal_keep_size

Да как обычно — архив WAL, слоты... а какой метод репликации используется, вообще?

Artem M
Правильно я понимаю, речь про wal_keep_size?

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

D
да, его надо поставить в половину свободного места...

и впустую потратить половину свободного места на диске)

Artem-M Автор вопроса
Iliya
использовать слоты репликации или понадеяться на л...

Вот тут тоже уточню пожалуй, если мне не изменяет память - слот сначала надо создавать, а потом уже через него пускать реплику? Это ж, получается, пересобирать каскад опять придется

Artem M
Потоковая репликация

Тогда подходит и то, и другое, да.

слот можно в процессе создать и указать реплике, если я правильно помню, попробуй

Artem-M Автор вопроса
Iliya
слот можно в процессе создать и указать реплике, е...

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

Artem M
Вот в слотах меня смущает один момент, что если по...

ага, нужен мониторинг, хотя бы базовый свободного места по-хорошему -оставание реплики

Artem-M Автор вопроса
Iliya
ага, нужен мониторинг, хотя бы базовый свободного ...

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

Artem-M Автор вопроса
Iliya
слот можно в процессе создать и указать реплике, е...

Вот как указать что-то пока не нашел...

Artem-M Автор вопроса
Roman
postgres_exporter в помощь

он умеет мониторить отставание? Хм... видимо что-то пропустил в описании

Artem M
Вот тут тоже уточню пожалуй, если мне не изменяет ...

Нет, последовательность не слишком важна. Если реплика работает — ей можно добавить слот. (Часто его создают заранее, в рамках pg_basebackup — чтобы уж точно все WAL от момента бэкапа до поднятия реплики остались на месте. Удобно. Но это необязательно).

А что, разве логическая не можэт брать WAL из архивов?

Artem-M Автор вопроса

Я вот пока не нашел как уже работающую реплику перевести в слот, может быть подскажете? Я б сразу на кошках попробовал

Artem M
Вот я как раз на фоне этого и задумался про монито...

table bloat и index bloat сразу заодно начните мониторить.

Ilya Anfimov
А что, разве логическая не можэт брать WAL из архи...

Может. Это же не все используемые методы репликации, я это имел в виду (мало ли, что там у кого может быть).

Artem M
Я вот пока не нашел как уже работающую реплику пер...

Создаёшь на ведущем слот ( pg_create_physical_replication_slot() ), на ведомом указываешь его в primary_slot_name. И ведомого перезапускаешь, кажэтся.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта