如何更改 RDS 中现有数据库副本的 hot_standby_feedback 参数

如何更改 RDS 中现有数据库副本的 hot_standby_feedback 参数

canceling statement due to conflict with recovery我有一个主数据库实例及其只读副本,均在 Amazon RDS for PostgreSQL 上运行。最近,副本由于其配置开始出现大量错误:

my_db_ro=> select name, setting from pg_settings;
            name             | setting 
-----------------------------+---------
 hot_standby_feedback        | off
 max_standby_archive_delay   | 30000
 max_standby_streaming_delay | 30000

我想改成

max_standby_archive_delay = -1
max_standby_streaming_delay = -1
hot_standby_feedback = on

在读取副本更新时能够在 Metabase 和其他服务中使用它。

我发现更改 PostgreSQL 配置的唯一方法是使用该psql程序通过 PostgreSQL 命令行,但是当我尝试更改任何这些参数时,我总是得到相同的拒绝原因:

my_db_ro=> SET hot_standby_feedback TO on;
ERROR:  parameter "hot_standby_feedback" cannot be changed now

还有其他方法可以更改 Amazon RDS 配置中的这些参数吗?

答案1


您好,您必须从 AWS Web 控制台(而不是 DB)或使用 AWS CLI 定义这些参数。

如果您的数据库使用默认参数组,您必须首先创建一个自定义参数组,在该新参数组中进行所需的更改,然后修改您的 RDS 实例以使用新的参数组。

请记住,更改参数组将需要重新启动实例。 https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html

在此处输入图片描述

相关内容