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

Всем привет! На слейвах каталог pg_wal пухнет от количества файлов сейчас

почти 50к
На мастере держится примерно 2к

Всем этим управляет патрони

На слейвах скоро место на диске кончится. Куда стоит копать?

23 ответов

71 просмотр

select * from pg_stat_archiver - наверняка при репликации прилетела команда архивации с мастера, а на репликах каталога такого нет. + pg_replication_slots на всякий случай.

Maxim-Zalysin Автор вопроса
Andrei Sapozhnikov
select * from pg_stat_archiver - наверняка при реп...

archive_command = /bin/true нет архивации( SELECT slot_name, active, restart_lsn FROM pg_replication_slots; на слейвах почти для всего показывает false, но повторяя select из раза в раз иногда проскакивает active=true для слотов по очереди

Maxim Zalysin
archive_command = /bin/true нет архивации( SELECT...

есть каскадная репликация со всех реплик, если нет то для чего там слоты ? Разберитесь для чего на всех репликах слоты репликации созданы.

Maxim-Zalysin Автор вопроса
Andrei Sapozhnikov
есть каскадная репликация со всех реплик, если нет...

Каскадное репликации быть не должно, но могу сейчас сходу всей правды на выяснить. Я как то могу вычислить каскадную реплику? IP / hostname / ... И может просто могу деактивировать/дропнуть этот слот репликации?

Maxim Zalysin
Каскадное репликации быть не должно, но могу сейча...

если к слоту никто не обращается, то лучше дропнуть

Maxim-Zalysin Автор вопроса
Andrew Urpin
если к слоту никто не обращается, то лучше дропнут...

SELECT slot_name, active, restart_lsn, confirmed_flush_lsn FROM pg_replication_slots; Один слот залип на restart_lsn=17B3/2619DD58 и confirmed_flush_lsn=17B3/262A65D0 и он же каждый 4-5 вызов этого запрос active=true, вместо false

Andrew Urpin
если к слоту никто не обращается, то лучше дропнут...

ну как лучше, лучше канешн выяснить, может завтра починят и он нагонит, и эти wal нужны кому-то

Maxim Zalysin
Каскадное репликации быть не должно, но могу сейча...

в конфигурации СУБД: log_replication=on , log_connection=on, log_disconnection=on и ловите в логах кто и откуда запускает репликацию.

Maxim-Zalysin Автор вопроса
Andrei Sapozhnikov
в конфигурации СУБД: log_replication=on , log_conn...

log_connections=on log_replication_commands=on log_disconnections=on Но ничего про replication в логи не попадает(

Maxim Zalysin
log_connections=on log_replication_commands=on log...

Wal_keep_segments на реплике какой?

Maxim-Zalysin Автор вопроса
Guzya
Wal_keep_segments на реплике какой?

wal_keep_segments = 1024 на всех серверах кластера. Но как говорит документация - это параметр минимума доступных сегментов

Maxim Zalysin
wal_keep_segments = 1024 на всех серверах кластера...

тогда такой вопрос, а логическая репликация случаем не настроена?

Maxim-Zalysin Автор вопроса
Guzya
тогда такой вопрос, а логическая репликация случае...

Была задача у коллеги на это, как раз для выделения реплики под аналитику. Надо статус задачи уточнять

Maxim Zalysin
Была задача у коллеги на это, как раз для выделени...

Проверьте, что на подписчикам нет ошибок в логах на эту тему. И проверьте настройки патрони, на предмет "не убивания" слотов репликации, если такое есть, возможно это ошибка.

Maxim-Zalysin Автор вопроса

+1 Такое для них уже готовится) Делаем "дебезиум > кафка > clickhouse", но приоритеты в этом году пока подвинули реализацию.

Maxim-Zalysin Автор вопроса
Maxim Zalysin
Напрямую clickhouse'ом из wal'а psql?

нет из самого постгреса.

Maxim-Zalysin Автор вопроса
Ildar Garaev
нет из самого постгреса.

Аналитиков зацепила идея что можно иметь историю изменений живущую в wal. То есть не просто со слепками БД работать, а историей транзакций, в частности UPDATE row

Maxim Zalysin
Благодарю за наводку!

Вообще, лог.репликация в постгрес как постоянное решение, на мой взгляд, зло. https://www.sql.ru/forum/1335748/logicheskaya-replikaciya-i-perekluchenie-roley-na-publikuushhey-storone

Maxim-Zalysin Автор вопроса
Guzya
Вообще, лог.репликация в постгрес как постоянное р...

Планов на постоянную логическую реплику точно не было. Сразу решили что сделаем аналитикам счастье через дебезиум, так как отлаженный результат уже есть в связке с mysql. Но аналитики стали все больше делать master'у больно тяжелыми запросами построения витрин, а мы тратить время чтобы его чинить, вместо того чтобы вложиться в запуск дебезиум(с psql не так нативно как с mysql). В итоге договорились на скорую руку их отселить на логическую реплику, до готовности дебезиум.

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

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

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...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
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
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта