查询和修改数据复制方式

本文介绍如何查询和修改RDS PostgreSQL实例的数据复制方式,提高云数据库性能或可用性。

前提条件

  • 实例为PostgreSQL高可用系列(云盘)。

  • 如需修改数据复制方式半同步,则需要实例内核版本为20220228及以上版本。如何升级内核小版本,请参见升级内核小版本

背景信息

RDS PostgreSQL高可用云盘实例支持修改数据复制方式,根据您对数据库可用性及性能要求,实现不同的实例保护级别。

不同复制方式对应的保护级别情况如下:

数据复制方式

保护级别

说明

异步模式(默认)

最高性能

适合数据持久性要求不高的场景,响应速度最快。

强同步模式

最大保护

适合数据持久性要求极高的场景,响应速度较慢。

半同步模式

最高可用性

兼顾数据持久性和响应速度。

查询数据复制方式

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
  2. 在左侧导航栏中,单击服务可用性

  3. 实例可用性区域即可查看数据复制方式

    image.png

修改数据复制方式

通过控制台修改

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
  2. 在左侧导航栏中单击服务可用性

  3. 单击修改数据复制方式

    image.png
  4. 选择数据复制方式

    数据复制方式
    重要

    如需修改数据复制方式半同步,则需要实例内核版本为20220228及以上版本。如何升级内核小版本,请参见升级内核小版本

  5. 单击确定

通过调整参数修改

您可以通过修改参数synchronous_commit(同步提交参数)、rds_sync_replication_timeout(同步复制超时时间参数)和synchronous_standby_names(同步的备实例名称)设置实例的数据复制方式。

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
  2. 在左侧导航栏中单击参数设置

  3. 可修改参数标签页,找到参数synchronous_commitrds_sync_replication_timeoutsynchronous_standby_names

  4. 单击笔修改参数值并单击确定

    不同数据复制方式需要设置的参数取值如下:

    数据复制方式

    参数配置

    异步模式

    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丢失。

  5. 单击提交参数

    提交参数