我有一个主数据库实例及其只读副本,它们都在 Amazon RDS for PostgreSQL 上运行。canceling statement due to conflict with recovery
最近副本由于其配置而开始出现很多错误:
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 配置的唯一方法是使用该程序通过 PostgreSQL 命令行psql
,但是当我尝试更改任何这些参数时,我总是得到相同的拒绝原因:
my_db_ro=> SET hot_standby_feedback TO on;
ERROR: parameter "hot_standby_feedback" cannot be changed now
有没有其他方法可以更改 Amazon RDS 配置中的这些参数?
您好,您必须不是从数据库而是从 AWS Web 控制台或使用 AWS CLI 定义这些参数。
如果您的数据库使用默认参数组,您必须首先创建一个自定义参数组,在该新参数组中进行所需更改,然后修改您的 RDS 实例以使用新参数组。
请记住,更改参数组将需要重新启动您的实例。 https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html