時(shí)間:2024-02-24 17:17作者:下載吧人氣:18
非常重要的synchronous_commit參數(shù)
流復(fù)制的同步方式,有主庫(kù)配置文件postgresql.conf,中的synchronous_commit控制著。所以理解該參數(shù)的配置十分重要。
參數(shù)值 | 說(shuō)明 | 優(yōu)點(diǎn) | 缺點(diǎn) |
---|---|---|---|
on 或 local | 當(dāng)事務(wù)提交時(shí),WAL先寫(xiě)入WAL buffer 再寫(xiě)到 WAL文件(落盤(pán))中。設(shè)置為on表示提交事務(wù)時(shí)需要等待本地WAL最終落盤(pán)后,才向客戶(hù)端返回成功。 | 非常安全 | 數(shù)據(jù)庫(kù)性能有損耗 |
off | 當(dāng)事務(wù)提交時(shí),不需要等待WAL先寫(xiě)入WAL buffer 再寫(xiě)到 WAL文件(落盤(pán))中。 | 提升數(shù)據(jù)庫(kù)性能 | 數(shù)據(jù)庫(kù)宕機(jī)是最新提交的少量事務(wù)可能丟失 |
參數(shù)值 | 說(shuō)明 | 優(yōu)點(diǎn) | 缺點(diǎn) |
---|---|---|---|
remote_write | 當(dāng)主庫(kù)提交事務(wù)后,需等待備庫(kù)接收主庫(kù)發(fā)送的WAL日志流并寫(xiě)入WAL buffer, 就向客戶(hù)端返回成功 | 只有主庫(kù)的WAL是落盤(pán)的 | 事務(wù)響應(yīng)時(shí)間快 |
on | 當(dāng)主庫(kù)提交事務(wù)后,需等待備庫(kù)接收主庫(kù)發(fā)送的WAL日志流并寫(xiě)入WAL buffer 以及寫(xiě)入WAL文件, 就向客戶(hù)端返回成功 | 主、備庫(kù)WAL均落盤(pán),有兩份持有化文件保護(hù) | 事務(wù)響應(yīng)時(shí)間相對(duì)較慢 |
remote_apply | 當(dāng)主庫(kù)提交事務(wù)后,需等待備庫(kù)接收主庫(kù)發(fā)送的WAL日志流并寫(xiě)入WAL buffer 以及寫(xiě)入WAL文件, 同時(shí)備庫(kù)apply之后, 就向客戶(hù)端返回成功 | 數(shù)據(jù)保護(hù)最好 | 影響事務(wù)性能 |
在主庫(kù)執(zhí)行以下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)
網(wǎng)友評(píng)論