You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在AWS RDS PostgreSQL中配置同步复制以解决索引丢数问题?

如何将RDS PostgreSQL只读副本设置为同步复制

前提说明

RDS PostgreSQL支持同步复制,但有两个关键限制:

  • 仅能设置一个同步副本(RDS不支持多同步副本配置)
  • 同步复制会增加主库写入延迟,因为主库必须等待同步副本确认接收日志后,才会向客户端返回写入成功

具体配置步骤

1. 修改主库的参数组

需要调整两个核心参数,且必须使用自定义参数组(RDS不允许修改默认参数组):

  • synchronous_commit:设为on(默认值即为on,若之前被修改过需恢复)
  • synchronous_standby_names:指定目标只读副本的实例标识符,比如my-read-replica;也可以用FIRST让RDS自动选择第一个符合条件的候选副本

操作流程:

  • 登录AWS控制台进入RDS服务
  • 找到主库对应的参数组,创建自定义参数组(选择与主库PostgreSQL版本匹配的参数组类型)
  • 在自定义参数组中搜索并修改上述两个参数
  • 将参数组应用到主库,重启主库(参数修改需重启生效)

2. 验证同步状态

配置完成后,在主库执行以下SQL查询,确认副本的同步状态:

SELECT application_name, state, sync_state FROM pg_stat_replication;

若结果中目标副本的sync_state字段显示为sync,则说明该副本已成功切换为同步副本。

注意事项

  • 若同步副本不可用,主库会暂停写入操作,直到副本恢复或手动切换回异步模式。可以将synchronous_commit设为remote_write作为折中方案:主库只需等待副本接收日志即可,无需等待写入磁盘,延迟更低且仍有一定数据保障
  • 同步复制能确保副本数据与主库完全一致,但会影响主库性能,建议先在测试环境验证后再应用到生产环境
  • 若存在多个只读副本,仅指定的那个会成为同步副本,其余副本仍保持异步复制模式

内容的提问来源于stack exchange,提问作者Balakrishnan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 08:48:21