Я обновил 19 кластеров RDS, не запуская анализ, и проблем не возникло. При 20-м обновлении, через 2 часа, при чтении нашей БД наблюдалась огромная задержка. После обращения в службу поддержки AWS они сказали мне, что мне нужно запустить Analyze; для каждой базы данных вручную (теперь я вижу это в их документации по обновлению).
Это решило проблему, но почему это проблема только для этого экземпляра RDS, а не для других? Я использую группу default:aurora-postgresql-13 по умолчанию, поэтому не следует ли запустить автоматический пылесос, который бы запускался Analyze; автоматически? Что мне не хватает?
Если у вас есть только чтение, автоанализ будет запущен только при достижении порога autovacuum_freeze_max_age. (Стандартный PostgreSQL, насчет Aurora не уверен)
Потому что один кластер чувствителен к плохим планам, вызванным отсутствием статистики, а другие нет. Определите запросы, которые пошли не так, и посмотрите, выполняют ли другие кластеры запросы, аналогичные этим.





почему это проблема только для этого экземпляра RDS, а не для других?
На самом деле относится к обновлениям Postgres в целом. pg_upgrade предписывает обновить статистику после обновления:
15. Статистика
Поскольку статистика оптимизатора не передается
pg_upgrade, вы будет проинструктировано запустить команду для восстановления этой информации в конец обновления. Возможно, вам придется установить параметры подключения соответствовать вашему новому кластеру.
Облачные сервисы любят контролировать ситуацию и держать своих пользователей в неведении (иногда даже слишком). Таким образом, вы не увидите этого, когда Amazon работает pg_upgrade за кулисами (и всякая дополнительная магия, которая им нужна, особенно с такими форками, как Aurora, которые используют специальную систему хранения).
Обратите внимание: не все хотят или даже нуждаются в обновлении статистики для (всех) столбцов таблицы. Некоторые рабочие нагрузки не чувствительны к статистике столбцов. Так что это не вынужденный шаг.
Об этом вам нужно спросить в службе поддержки AWS. Только они знают, что делают за кулисами.