Managing Concurrency in Postgres with Bruce Momjian
Following on from our previous look at the Query planner - we are joined again by Bruce Momjian to extend this exploration into looking how Postgres manages concurrency. We start off by discussing some of the challenges and workarounds used in the past to handle concurrent access, particularly in the eyes of a database administrator. We then highlight the concept of MVCC, how it works from a high-level, how Postgres implements it and the clean-up considerations that are present. Finally, we mention how Postgres stores data in page-form, how projects such as pg_compact work to regain space and what the fill-factor is.
Show Links
- Bruce Momjian
- Concurrency
- MVCC Unmasked
- Multi-user Operating Systems
- Multiversion concurrency control
- Dirty Reads
- PostgreSQL - Transaction Isolation Levels
- PostgreSQL - Database Page Layout
- PostgreSQL - VACUUM
- grayhemp/pgtoolkit: Tools for PostgreSQL maintenance
- reorg/pg_repack: Reorganize tables in PostgreSQL databases with minimal locks