本文介紹如何查詢和修改RDS PostgreSQL執行個體的資料複製方式,提高雲資料庫效能或可用性。
前提條件
執行個體為PostgreSQL高可用系列(雲端硬碟)。
如需修改資料複製方式為半同步,則需要執行個體核心版本為20220228及以上版本。如何升級核心小版本,請參見升級核心小版本。
背景資訊
RDS PostgreSQL高可用雲端硬碟執行個體支援修改資料複製方式,根據您對資料庫可用性及效能要求,實現不同的執行個體保護層級。
不同複製方式對應的保護層級情況如下:
資料複製方式 | 保護層級 | 說明 |
非同步模式(預設) | 最高效能 | 適合資料持久性要求不高的情境,響應速度最快。 |
強同步模式 | 最大保護 | 適合資料持久性要求極高的情境,響應速度較慢。 |
半同步模式 | 最高可用性 | 兼顧資料持久性和響應速度。 |
查詢資料複製方式
- 訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。
在左側導覽列中,單擊服務可用性。
在執行個體可用性地區即可查看資料複製方式。
修改資料複製方式
通過控制台修改
通過調整參數修改
您可以通過修改參數synchronous_commit(同步提交參數)、rds_sync_replication_timeout(同步複製逾時時間參數)和synchronous_standby_names(同步的備執行個體名稱)設定執行個體的資料複製方式。
- 訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。
在左側導覽列中單擊參數設定。
在可修改參數標籤頁,找到參數synchronous_commit、rds_sync_replication_timeout和synchronous_standby_names。
單擊修改參數值並單擊確定。
不同資料複製方式需要設定的參數取值如下:
資料複製方式
參數配置
非同步模式
synchronous_commit = off
說明synchronous_commit = off時,rds_sync_replication_timeout無效。
強同步模式
synchronous_commit = remote_write
rds_sync_replication_timeout = 0
synchronous_standby_names = 'standby1'
重要如果您有自建的從庫,請不要命名為standby1,因為synchronous_standby_names預設值為standby1。如果因為重名導致同步複製或半同步複製選擇的節點並不是RDS內的備執行個體,發生主備切換時,RDS將不予保證資料0丟失。
半同步模式
說明如需修改資料複製方式為半同步,則需要執行個體核心版本為20220228及以上版本。如何升級核心小版本,請參見升級核心小版本。
synchronous_commit = remote_write
rds_sync_replication_timeout > 0
說明rds_sync_replication_timeout的值表示資料同步的逾時時間長度,取值範圍為0~300000,單位為ms,建議設定為500。如果同步逾時,會降級為最高效能層級(非同步模式),等資料同步後,再次回到高可用層級(半同步模式)。
synchronous_standby_names = 'standby1'
重要如果您有自建的從庫,請不要命名為standby1,因為synchronous_standby_names預設值為standby1。如果因為重名導致同步複製或半同步複製選擇的節點並不是RDS內的備執行個體,發生主備切換時,RDS將不予保證資料0丟失。
單擊提交參數。