Хорошо, чтобы подытожить: всё выглядит отлично, 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 выше получил ошибку при выполнении параллельной перестройки индексов, см. выше.