Почему можно писать только в Master реплику

«Почему можно писать только в Master реплику» — вопрос из категории Базы данных, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В PostgreSQL master-реплика архитектура подразумевает, что запись данных происходит только в master, а реплики работают в режиме read-only. Это обеспечивает:

  1. Согласованность данных - избегаем конфликтов при параллельной записи в разные узлы.
  2. Производительность - реплики могут обслуживать read-запросы без накладок на запись.
  3. Надёжность - простота восстановления при сбоях (только master нужно восстанавливать до последней транзакции).
-- Реплика вернёт ошибку при попытке записи
ERROR:  cannot execute INSERT in a read-only transaction

Для распределённой записи можно рассмотреть multi-master решения типа PostgreSQL BDR или Citus, но они сложнее в настройке и поддержке.