Performance Locks DML
Claim Queue Rows with FOR UPDATE SKIP LOCKED in PostgreSQL
Oct 24, 2026 / · 11 min read · skip locked row locking queue table delete returning ctid mvcc concurrency batch delete ·Claim Queue Rows with FOR UPDATE SKIP LOCKED in PostgreSQL Several workers poll the same job table with SELECT ... LIMIT 10, and a plain LIMIT does nothing to stop two of them from getting the same list of items to process. Add FOR UPDATE and the second worker hangs until the first one commits. Put FOR UPDATE SKIP …
Read MoreTrack Two-Phase Commit State with pg_prepared_xacts
Jun 19, 2026 / · 7 min read · postgresql database administration sql queries transactions two-phase commit pg_prepared_xacts postgres dba ·Track Two-Phase Commit State with pg_prepared_xacts A prepared transaction that never gets committed or rolled back is one of the quieter ways a PostgreSQL database degrades. It keeps holding locks, it pins the transaction-ID horizon so VACUUM cannot reclaim dead rows, and nothing in normal monitoring screams about it. …
Read MorePostgreSQL Advisory Locks with pg_advisory_lock
PostgreSQL Advisory Locks with pg_advisory_lock Two scheduled jobs fire at the same minute and both try to process the same nightly batch. Nothing in the data stops them — there is no single row to lock, because the work has not produced rows yet. Row and table locks are the wrong tool here. What you want is a named …
Read MorePostgreSQL Lock Monitoring Uncover Query Details and Lock Age
Sep 2, 2024 / · 3 min read · PostgreSQL SQL Database Performance Monitoring pg_stat_activity pg_locks ·PostgreSQL Lock Monitoring: Gain Insights into Locks with Query and Age Purpose This PostgreSQL SQL query equips you to monitor locks held by active database sessions along with their associated queries and age. This detailed information proves invaluable for performance tuning, troubleshooting lock conflicts, and …
Read MoreIdentify & Resolve Blocking Application Locks in PostgreSQL
Sep 1, 2024 / · 4 min read · PostgreSQL SQL Database Performance Troubleshooting pg_locks pg_stat_activity ·PostgreSQL Lock Monitoring: Identify Blocking Locks and Resolve Application Conflicts Purpose In a busy PostgreSQL environment, transactions can sometimes become blocked, waiting for other transactions to release locks. This can slow performance and even cause stalls. This article dissects a powerful PostgreSQL script …
Read MoreMastering PostgreSQL Locks: Troubleshooting & Insights
Apr 23, 2024 / · 2 min read · PostgreSQL database performance troubleshooting locks pg_locks pg_stat_activity pg_stat_all_tables pg_stat_user_tables ·Mastering PostgreSQL Locks: Troubleshooting and Performance Insights In a busy PostgreSQL database, multiple transactions might try to access the same resources simultaneously. Locks are PostgreSQL's way of handling concurrency, ensuring data consistency and preventing conflicts. This article dives into PostgreSQL lock …
Read MorePostgreSQL Lock Troubleshooting, Unlocking Blocked Processes
Apr 22, 2024 / · 3 min read · PostgreSQL database performance troubleshooting locks pg_locks pg_stat_activity ·PostgreSQL Lock Troubleshooting: Unlocking Blocked Processes In a busy PostgreSQL environment, transactions can sometimes become blocked, waiting for other transactions to release locks. This can slow performance and even cause stalls. This article dissects a powerful PostgreSQL script designed to expose blocked …
Read More