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