Sobes.tech
Назад к вопросам
Middle
8

В чём разница между физической и логической репликацией в PostgreSQL?

Компании, где спрашивали
Winline

Ответ от нейросети

sobes.tech AI

Физическая и логическая репликация в PostgreSQL отличаются по способу передачи данных и возможностям:

Физическая репликация:

  • Копирует бинарные данные (WAL — Write-Ahead Log) с основного сервера на реплику.
  • Реплика является точной копией мастера на уровне файловой системы.
  • Используется для создания горячих резервных копий (standby).
  • Реплика обычно read-only.
  • Не позволяет выборочно реплицировать отдельные таблицы или данные.

Логическая репликация:

  • Реплицирует изменения на уровне SQL (DML) — вставки, обновления, удаления.
  • Позволяет реплицировать отдельные таблицы или наборы данных.
  • Реплика может быть не точной копией мастера, допускается трансформация данных.
  • Используется для миграций, интеграций, распределённых систем.
  • Позволяет иметь реплики с разной структурой или фильтрацией данных.

Пример: если нужно реплицировать только часть данных или отдельные таблицы, используют логическую репликацию. Для высокой доступности и быстрой синхронизации всей базы — физическую.