только в том случае, если она успешно реплицировалась. А как быть в случае с двумя серверами? Если слейв помер, то выходит мастер не зафиксирует транзакцию, пока не поднимется резерв. Можно ли настроить сервер так, чтобы пока слейв жив репликация была синхронной, но если он умирает, то коммиты фиксировались и в таком режиме?
Настроить так, чтобы это происходило автоматически, нельзя.
Точно так как вы сказали нельзя, но можно сделать допустим любые 2 из 3 (см 26.2.8.2.https://www.postgresql.org/docs/12/warm-standby.html#SYNCHRONOUS-REPLICATION )
Смысл синхронной репликации в том, чтобы исключить потерю данных из-за отказа сервера. Если же мы продолжаем писать в мастер при недоступном слейве, то мы можем потерять данные, и смысла в синхронной репликации нет. В таком случае, лучше настроить асинхронную репликацию, это будет и быстрее и проще.
в этом может помочь patroni
Обсуждают сегодня