How to change hot_standby_feedback parameter for an existing database replica in RDS
I have a primary database instance and its read replica, both running on Amazon RDS for PostgreSQL. Recently the replica started to get a lot of canceling statement due to conflict with recovery
errors due to its configuration:
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
that I would like to change to
max_standby_archive_delay = -1
max_standby_streaming_delay = -1
hot_standby_feedback = on
to be able to use it in Metabase and other services while the read replica is updating.
The only way I found to change PostgreSQL configuration was vía PostgreSQL command line using the psql
program, but when I try to change any of these parameters I always get the same rejection reason:
my_db_ro=> SET hot_standby_feedback TO on;
ERROR: parameter "hot_standby_feedback" cannot be changed now
Is there any other way to change these parameters in Amazon RDS configuration?
Solution 1:
Hi, you must define those parameters not from the DB but from the AWS Web Console, or using AWS CLI.
If your Database is using the Default Parameter group you must first create a custom Parameter Group, made the desired changes in that new Parameter Group and then Modify your RDS Instance to use the new Parameter Group.
Take in mind that a change of Paremeter Group it will require a reboot of your instance. https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html