{"type":"rich","version":"1.0","provider_name":"Transistor","provider_url":"https://transistor.fm","author_name":"Postgres FM","title":"Locks","html":"<iframe width=\"100%\" height=\"180\" frameborder=\"no\" scrolling=\"no\" seamless src=\"https://share.transistor.fm/e/33f2ada6\"></iframe>","width":"100%","height":180,"duration":2333,"description":"Nikolay and Michael discuss heavyweight locks in Postgres — how to think about them, why you can't avoid them, and some tips for minimising issues.\n \nHere are some links to things they mentioned:\nLocking (docs) https://www.postgresql.org/docs/current/explicit-locking.html\nPostgres rocks, except when it blocks (blog post by Marco Slot) https://www.citusdata.com/blog/2018/02/15/when-postgresql-blocks/\nLock Conflicts (tool by Hussein Nasser) https://pglocks.org/\nlog_lock_waits (docs) https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-LOG-LOCK-WAITS\nHow to analyze heavyweight lock trees (guide by Nikolay) https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos/-/blob/main/0042_how_to_analyze_heavyweight_locks_part_2.md\nLock management (docs) https://www.postgresql.org/docs/current/runtime-config-locks.html\nOur episode on zero-downtime migrations https://postgres.fm/episodes/zero-downtime-migrations\n\n~~~\nWhat did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on social media, or by commenting on our Google doc!\n\n~~~\nPostgres FM is produced by:\nMichael Christofides, founder of pgMustard\nNikolay Samokhvalov, founder of Postgres.ai\n\nWith credit to:\nJessie Draws for the elephant artwork","thumbnail_url":"https://img.transistorcdn.com/NFbJlGhGV5mzIU1kM0iZ823A69pjZUNX40LszVO5LKI/rs:fill:0:0:1/w:400/h:400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9zaG93/LzMyMTQ3LzE3MTA3/OTEzODMtYXJ0d29y/ay5qcGc.webp","thumbnail_width":300,"thumbnail_height":300}