Медленный Sidekiq + Postmaster потребляют 95%+ CPU (32 ядра) после обновления версии Postgresql

Хорошо, чтобы подытожить: всё выглядит отлично, Postmaster значительно успокоился, а Sidekiq снова работает очень быстро.

Кратко о том, что сработало в моём случае (при имени базы данных по умолчанию ‘discourse’):

cd /var/discourse/
./launcher enter app
sudo -u postgres psql
\c discourse

Затем из консоли PostgreSQL были выполнены следующие команды. Каждая из них занимает некоторое время в зависимости от размера БД; первые две также вызывают высокую нагрузку на процессор:

VACUUM FULL VERBOSE;

REINDEX DATABASE discourse;

VACUUM VERBOSE ANALYZE;

Примечание: Я не заметил разницы, пока не выполнил команду VACUUM VERBOSE ANALYZE; по рекомендации @Falco, поэтому первые две команды могли оказаться излишними. Однако первые две, похоже, были ключевыми для решения этой проблемы в прошлом в предыдущей версии PostgreSQL.

Если во время выполнения REINDEX DATABASE discourse; вы получите ошибку типа ‘ERROR: deadlock detected’ — просто попробуйте запустить её снова, пока не сработает. Это случилось со мной в прошлый раз (в предыдущей версии PostgreSQL).

Существуют рекомендации по выполнению параллельной перестройки индексов вместо указанной выше: PostgreSQL 12 update

Однако обратите внимание, что @eboehnisch выше получил ошибку при выполнении параллельной перестройки индексов, см. выше.