Почему в кластере PSQL с 3 узлами один узел - sync_state= sync, а следующий узел sync_state= async?
Я хочу, чтобы PostgreSQL Syngous Streaming Database Replication Status = sync.
Я развернул кластер PostgreSQL с 3 узлами и записал тип синхронизации - Синхронный. Но когда я проверяю тип SELECT * FROM pg_stat_replication;
- я получаю первый узел - sync_state =sync
,и другие async
, что такое? Почему его два разных типа?
1 ответ
Решение
При синхронной потоковой репликации в PostgreSQL фиксация на первичном сервере задерживается до тех пор, пока один из резервных серверов не получит соответствующую информацию WAL (точное значение этого можно настроить с помощью synchronous_commit
).
Резервный сервер, который первым подтверждает получение информации WAL, - это сервер с sync_state
'sync'
другой будет 'async'
,