Periodicamente, vemos que a criação de um índice GIN em post_search_data resulta em muitos Lock:relations no “performance insight”. Encerrar a sessão que cria este índice libera todas as sessões bloqueadas. O interessante é que o índice usa "concurrently", que não deveria ser uma operação de bloqueio. Também é interessante por que ele o prefixa com temp.
CREATE INDEX CONCURRENTLY temp_idx_recent_regular_post_search_data ON post_search_data USING GIN(search_data) WHERE NOT private_message AND post_id >= 12431619
Também tentei reduzir o idle_in_transaction_session_timeout para 10 minutos (inicialmente estava definido para 1 dia), mas isso não fez diferença. Mais alguém teve um problema assim? Se sim, como você lidou com isso?
Nossa versão é Discourse 2.7.0 e a versão do Postgres é 13.8. O aplicativo e o banco de dados não estão no Docker, mas hospedados individualmente (ec2, rds).