Discussão sobre RDS periodicamente resulta em muitas sessões de espera Lock:relation para criar índice GIN

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).

Não poderei ajudá-lo com o problema específico que você está levantando, mas há algum motivo para você estar em uma versão tão antiga do Discourse? Quanto mais você esperar, maior a probabilidade de enfrentar problemas ao atualizar. Idealmente, você deve estar sempre na última versão. Além disso, as atualizações ocasionalmente incluem correções de segurança.

Estou gerenciando um site no ECS com RDS e não notei nenhum problema, mas é uma versão atualizada. É difícil adivinhar qual pode ser o problema sem mais detalhes da sua configuração.

Geralmente, quando alguém tem um problema com uma versão muito antiga, a primeira resposta é atualizar.

Entendido. Obrigado pelo seu feedback.