時間:2024-02-24 17:17作者:下載吧人氣:14
非常重要的synchronous_commit參數
流復制的同步方式,有主庫配置文件postgresql.conf,中的synchronous_commit控制著。所以理解該參數的配置十分重要。
參數值 | 說明 | 優點 | 缺點 |
---|---|---|---|
on 或 local | 當事務提交時,WAL先寫入WAL buffer 再寫到 WAL文件(落盤)中。設置為on表示提交事務時需要等待本地WAL最終落盤后,才向客戶端返回成功。 | 非常安全 | 數據庫性能有損耗 |
off | 當事務提交時,不需要等待WAL先寫入WAL buffer 再寫到 WAL文件(落盤)中。 | 提升數據庫性能 | 數據庫宕機是最新提交的少量事務可能丟失 |
參數值 | 說明 | 優點 | 缺點 |
---|---|---|---|
remote_write | 當主庫提交事務后,需等待備庫接收主庫發送的WAL日志流并寫入WAL buffer, 就向客戶端返回成功 | 只有主庫的WAL是落盤的 | 事務響應時間快 |
on | 當主庫提交事務后,需等待備庫接收主庫發送的WAL日志流并寫入WAL buffer 以及寫入WAL文件, 就向客戶端返回成功 | 主、備庫WAL均落盤,有兩份持有化文件保護 | 事務響應時間相對較慢 |
remote_apply | 當主庫提交事務后,需等待備庫接收主庫發送的WAL日志流并寫入WAL buffer 以及寫入WAL文件, 同時備庫apply之后, 就向客戶端返回成功 | 數據保護最好 | 影響事務性能 |
在主庫執行以下SQL , sync_state字段為async表示異步同步方式
postgres=# select usename , application_name , client_addr,sync_state from pg_stat_replication;
usename | application_name | client_addr | sync_state
———+——————+—————-+————
repuser | walreceiver | 192.168.56.102 | async
(1 row)
網友評論