设置 pglogical 扩展
要在 Aurora PostgreSQL 数据库集群上设置 pglogical 扩展,首先要将 pglogical 添加到 Aurora PostgreSQL 数据库集群的自定义数据库集群参数组上的共享库中。您还需要将 rds.logical_replication 参数的值设置为 1,以开启逻辑解码。最后,在数据库中创建此扩展。您可以使用 AWS Management Console或 AWS CLI 执行这些任务。
您必须拥有 rds_superuser 角色的权限才能执行这些任务。
以下步骤假设您的 Aurora PostgreSQL 数据库集群 与自定义数据库集群 参数组相关联。有关创建自定义数据库集群参数组的信息,请参阅Amazon Aurora 的参数组。
设置 pglogical 扩展
- 登录 AWS Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/ - 。 
- 
            在导航窗格中,选择 Aurora PostgreSQL 数据库集群的写入器实例 。 
- 
            打开 Aurora PostgreSQL 数据库集群写入器实例的配置选项卡。的 Configuration(配置)选项卡。在实例详细信息中,找到 Parameter group(参数组)链接。 
- 
            选择此链接以打开与您的 Aurora PostgreSQL 数据库集群 关联的自定义参数。 
- 
            在 Parameters(参数)搜索字段中,键入 shared_pre以查找shared_preload_libraries参数。
- 
            选择 Edit parameters(编辑参数)以访问属性值。 
- 
            将 pglogical添加到 Values(值)字段的列表中。使用逗号分隔值列表中的项目。  
- 
            找到 rds.logical_replication参数并将其设置为1,以开启逻辑复制。
- 
            重启 Aurora PostgreSQL 数据库集群的写入器实例,以使更改生效。 
- 
            当实例可用时,可以使用 psql(或 pgAdmin)连接到 Aurora PostgreSQL 数据库集群的写入器实例。psql --host=111122223333.aws-region.rds.amazonaws.com --port=5432 --username=postgres--password --dbname=labdb
- 
            要验证 pglogical 是否初始化,可以运行以下命令。 SHOW shared_preload_libraries;shared_preload_libraries -------------------------- rdsutils,pglogical (1 row)
- 
            验证启用逻辑解码的设置,如下所示。 SHOW wal_level;wal_level ----------- logical (1 row)
- 
            创建扩展,如下所示。 CREATE EXTENSION pglogical;EXTENSION CREATED
- 
            选择 Save changes(保存更改)。 
- 通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/ - 。 
- 
            从数据库列表中选择 Aurora PostgreSQL 数据库集群的写入器实例以将其选中,然后从 Actions(操作)菜单中选择 Reboot(重启)。 
设置 pglogical 扩展
要使用 AWS CLI 设置 pglogical,您可以调用 modify-db-parameter-group 操作来修改自定义参数组中的某些参数,如以下过程所示。
- 
            使用以下 AWS CLI 命令向 shared_preload_libraries参数中添加pglogical。aws rds modify-db-parameter-group \ --db-parameter-group-namecustom-param-group-name\ --parameters "ParameterName=shared_preload_libraries,ParameterValue=pglogical,ApplyMethod=pending-reboot" \ --regionaws-region
- 
            使用以下 AWS CLI 命令将 rds.logical_replication设置为1,以针对 Aurora PostgreSQL 数据库集群的写入器实例 开启逻辑解码功能。aws rds modify-db-parameter-group \ --db-parameter-group-namecustom-param-group-name\ --parameters "ParameterName=rds.logical_replication,ParameterValue=1,ApplyMethod=pending-reboot" \ --regionaws-region
- 
            使用以下 AWS CLI 命令重启 Aurora PostgreSQL 数据库集群的写入器实例,以便初始化 pglogical 库。 aws rds reboot-db-instance \ --db-instance-identifierwriter-instance\ --regionaws-region
- 
            当实例可用时,使用 psql连接到 Aurora PostgreSQL 数据库集群的写入器实例。psql --host=111122223333.aws-region.rds.amazonaws.com --port=5432 --username=postgres--password --dbname=labdb
- 
            创建扩展,如下所示。 CREATE EXTENSION pglogical;EXTENSION CREATED
- 
            使用以下 AWS CLI 命令重启 Aurora PostgreSQL 数据库集群的写入器实例。 aws rds reboot-db-instance \ --db-instance-identifierwriter-instance\ --regionaws-region