# Long-running transactions Page: https://stenobird.com/podcast/postgres-fm-5565051/long-running-transactions Text version: https://stenobird.com/podcast/postgres-fm-5565051/long-running-transactions.md Podcast: [Postgres FM](https://stenobird.com/podcast/postgres-fm-5565051) Published: 2026-03-27T14:00:00+00:00 Episode link: https://share.transistor.fm/s/5f6f39cb Audio file: https://media.transistor.fm/5f6f39cb/aee9f55d.mp3 Processing state: not_requested JSON: https://stenobird.com/v1/public/podcasts/postgres-fm-5565051/episodes/long-running-transactions Duration seconds: 2895 ## Resource Nik and Michael discuss long-running transactions, including when they're harmless, when they cause issues, and how to mitigate those issues. Here are some links to things they mentioned: transaction_timeout https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-TRANSACTION-TIMEOUT Our episode on transaction_timeout https://postgres.fm/episodes/transaction_timeout Our episode on slow queries (which was also our first ever episode!) https://postgres.fm/episodes/slow-queries-and-slow-transactions Our episode on locks https://postgres.fm/episodes/locks lock_timeout https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-LOCK-TIMEOUT Transaction Isolation levels https://www.postgresql.org/docs/current/transaction-iso.html pg_current_xact_id_if_assigned() https://pgpedia.info/p/pg_current_xact_id_if_assigned.html Monitor xmin horizon to prevent XID/MultiXID wraparound and high bloat (how-to guide by Nik) https://postgres.ai/docs/postgres-howtos/performance-optimization/monitoring/how-to-monitor-xmin-horizon idle_replication_slot_timeout https://www.postgresql.org/docs/current/runtime-config-replication.html#GUC-IDLE-REPLICATION-SLOT-TIMEOUT PREPARE TRANSACTION https://www.postgresql.org/docs/current/sql-prepare-transaction.html log_autovacuum_min_duration https://www.postgresql.org/docs/devel/runtime-config-logging.html#GUC-LOG-AUTOVACUUM-MIN-DURATION PostgreSQL Subtransactions Considered Harmful (blog post by Nikolay) https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful statement_timeout https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-STATEMENT-TIMEOUT idle_in_transaction_session_timeout https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-IDLE-IN-TRANSACTION-SESSION-TIMEOUT… ## Actions - request_transcript: `POST https://stenobird.com/v1/public/podcasts/postgres-fm-5565051/episodes/long-running-transactions/transcription-requests` — Idempotently request low-priority transcript generation for this episode. - read_markdown: `GET https://stenobird.com/podcast/postgres-fm-5565051/long-running-transactions.md` — Read the agent-friendly Markdown representation of this episode resource. A page view does not enqueue transcription. Agents should invoke `request_transcript` explicitly when they need this episode processed. ## Transcript Full transcripts are not published on public pages unless there is a clear rights basis.