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

Привет. На слоте логической репликации после провидения VACUUM FULL на

любой из опубликованных таблиц неимоверно возрастает задержка и размер вал журнала и не сбрасывается до окончания транзакции внутри которой выполняется VACUUM FULL, чем это повидение может быть обусловлено? Была гипотеза что Postgres создает swp таблицу во время выполнения этой операции, а потом переименовывает её, НО в PG_CLASS в момент вакуума пусто (такого объекта нет, имею ввиду) и строки в PG_CLASS относящиеся к вакумируемой таблицы не как не меняются до завершения этой транзакции

6 ответов

11 просмотров

Ваша таблица полностью пересоздаётся. Со всеми накладными расходами на WAL, блокировки и прочее. Наверное, она очень большая.

Nikita-Brovko Автор вопроса
Роман Жарков
Ваша таблица полностью пересоздаётся. Со всеми нак...

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

Nikita-Brovko Автор вопроса
Роман Жарков
А как надо?

Такое повидение было бы нормальным для потоковой репликации, потому что там ходят физические дисковые блоки. В логической репликации ходят строки, а они как раз и не меняются во время VACUUM FULL, меняется лишь их расположения в файловом пространстве, строки остаются теми же самыми

Nikita Brovko
Такое повидение было бы нормальным для потоковой р...

Не специалист по репликации, но уверен, что вот это ваше представление о ней неправильное.

Nikita Brovko
Такое повидение было бы нормальным для потоковой р...

Логическая репликация построена по схеме, подобной физической потоковой репликации (см. Подраздел 26.2.5). Она реализуется процессами «walsender» (передачи WAL) и «apply» (применения). Процесс walsender запускает логическое декодирование (описанное в Главе 48) WAL и загружает стандартный модуль логического декодирования (pgoutput). Этот модуль преобразует изменения, считываемые из WAL, в протокол логической репликации (см. Раздел 52.5) и отфильтровывает данные согласно спецификации публикации. Затем данные последовательно передаются по протоколу логической репликации рабочему процессу применения изменений, который сопоставляет данные с логическими таблицами и применяет отдельные изменения по мере их поступления, сохраняя транзакционный порядок.

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта