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