これは誤解のようです。私の大胆な強調を考えてみてください :
警告は明らかに異なる同時トランザクションに属しています 、明示的なトランザクションを開始しませんでした。 commit
置き忘れあり 、自動コミットモードで動作しているため。
ログを読み続けると、コミットのエントリがさらに下に表示される可能性があります:
デバッグ
それもrollback
も見つからない場合 入力もエラーも、コミットされていないゾンビトランザクションを残すアプリの問題をチェックします。これは悪いことです。 。
システムビューpg_stat_activity
データベースに接続している間:
SELECT *
FROM pg_stat_activity
WHERE datname = current_database() -- only current database
AND pid <> pg_backend_pid() -- except your current session
AND state LIKE 'idle%';
state
値idle
必ずしも疑わしいとは限りません。入力を待っているセッションだけです。
しかし、idle in transaction
およびidle in transaction (aborted)
詳細については、こちらのマニュアル またはこれらの関連する回答: