Физическая или логическая репликация
Вопрос
Нужно переехать с PostgreSQL 13 на 16 с минимальным простоем. Почему для этого берут логическую репликацию, а не потоковую физическую?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Варианты ответа
- Физическая репликация не поддерживается в PostgreSQL 16
- Логическая сама копирует DDL и последовательности, готовить ничего не надо
- Логическая репликация работает только внутри одной мажорной версии
- Физическая требует той же мажорной версии, логическая работает между версиямиправильный ответ
Разбор
Физическая (потоковая) репликация воспроизводит WAL побайтно: реплика это точная копия всего кластера той же мажорной версии, только для чтения. Логическая расшифровывает WAL в изменения строк (INSERT, UPDATE, DELETE) выбранных таблиц и применяет их на подписчике, поэтому подписчик может быть другой версии, на нём можно писать в другие таблицы и выбирать, что реплицировать (публикации). Ограничения логической в PostgreSQL 16: DDL не реплицируется (схему переносят заранее), значения последовательностей тоже (их выставляют при переключении), у таблиц нужен первичный ключ или REPLICA IDENTITY для UPDATE и DELETE.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.