Назад | Перейти на главную страницу

Как изменить параметр hot_standby_feedback для существующей реплики базы данных в RDS

У меня есть первичный экземпляр базы данных и его реплика для чтения, которые работают на Amazon RDS для 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

чтобы иметь возможность использовать его в метабазе и других сервисах во время обновления реплики чтения.

Я нашел единственный способ изменить конфигурацию PostgreSQL - это использовать командную строку PostgreSQL с psql программа, но когда я пытаюсь изменить любой из этих параметров, я всегда получаю одну и ту же причину отказа:

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

Есть ли другой способ изменить эти параметры в конфигурации Amazon RDS?


Привет, вы должны определить эти параметры не из БД, а из веб-консоли AWS или с помощью интерфейса командной строки AWS.

Если ваша база данных использует группу параметров по умолчанию, вы должны сначала создать настраиваемую группу параметров, внести желаемые изменения в эту новую группу параметров, а затем изменить свой экземпляр RDS, чтобы использовать новую группу параметров.

Имейте в виду, что для смены Paramater Group потребуется перезагрузка вашего экземпляра. https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html