Назад к вопросам
Middle
8
В чём разница между физической и логической репликацией в PostgreSQL?
Компании, где спрашивали
Winline
Ответ от нейросети
sobes.tech AI
Физическая и логическая репликация в PostgreSQL отличаются по способу передачи данных и возможностям:
Физическая репликация:
- Копирует бинарные данные (WAL — Write-Ahead Log) с основного сервера на реплику.
- Реплика является точной копией мастера на уровне файловой системы.
- Используется для создания горячих резервных копий (standby).
- Реплика обычно read-only.
- Не позволяет выборочно реплицировать отдельные таблицы или данные.
Логическая репликация:
- Реплицирует изменения на уровне SQL (DML) — вставки, обновления, удаления.
- Позволяет реплицировать отдельные таблицы или наборы данных.
- Реплика может быть не точной копией мастера, допускается трансформация данных.
- Используется для миграций, интеграций, распределённых систем.
- Позволяет иметь реплики с разной структурой или фильтрацией данных.
Пример: если нужно реплицировать только часть данных или отдельные таблицы, используют логическую репликацию. Для высокой доступности и быстрой синхронизации всей базы — физическую.