時折、post_search_data に GIN インデックスを作成すると、パフォーマンスインサイトで多数の Lock:relations が発生することがあります。このインデックスを作成しているセッションを終了すると、ブロックされていたすべてのセッションが解放されます。興味深いのは、インデックスが「concurrently」を使用していることです。これはブロック操作ではないはずです。また、なぜ 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
idle_in_transaction_session_timeout を 10 分に(最初は 1 日に設定されていました)減らそうとしましたが、違いはありませんでした。他にこのような問題に遭遇した人はいますか?もしあれば、どのように対処しましたか?
バージョンは Discourse 2.7.0、Postgres バージョンは 13.8 です。アプリと DB は Docker 上ではなく、個別にホストされています(ec2、rds)。