PostgreSQL Internals Through Pictures
This talk is designed for advanced PostgreSQL users who want to know
more about how the database internally processes a query. It
is also ideal for people wanting to modify the PostgreSQL server
source code. It covers PostgreSQL network communication,
query parsing, optimizer plan selection, multiversion concurrency
control (MVCC), and internal storage characteristics. It does
not require any programming knowledge.
Duration: 3 hours, 4 hours with questions
- PostgreSQL Development Bootcamp, March 19, 2023
- PGDay Israel, October 20, 2022
- PGConf Silicon Valley, November 17, 2015 (video)
- PG Day Russia, July 15, 2015 (video part 1, video part 2)
- Fosssl, September 10, 2005
MVCC Unmasked
Multi-Version Concurrency Control (MVCC) allows Postgres to offer high
concurrency even during significant database read/write activity. MVCC
specifically offers behavior where "readers never block writers, and
writers never block readers". This talk explains how MVCC is
implemented in Postgres and highlights optimizations which minimize the
downsides of MVCC. This talk is for advanced users.
Duration: 45 minutes, 60 minutes with questions
- PGConf India, March 1, 2024 (video)
- PostgreSQL Conference Europe, October 27, 2022
- PGConf US, March 29, 2017 (video)
- Fosdem PGDay, January 31, 2016
- Scale, January 21, 2016
- National Research Nuclear University (MEPhI), October 22, 2013
- HighLoad++, October 22, 2012 (video in Russian)
- Southeast LinuxFest June 8, 2012 (video)
- PG Brazil Conference, November 3, 2011
- O'Reilly Open Source Data Convention, July 25, 2011 (video)
- PG Day at the O'Reilly Open Source Convention, July 24, 2011 (video)
- International Free Software Forum, July 1, 2011
- webinar, June 8, 2011 (video, registration required)
- PGCon, May 19, 2011
- PgEast, March 23, 2011
- Italian PostgreSQL Day, December 10, 2010
- PGDay Europe, December 6, 2010
- PgWest, November 3, 2010
Inside PostgreSQL Shared Memory
This talk is for people who want to understand how PostgreSQL
shares information among processes using shared memory. The talk
covers the internal data page format, usage of the shared buffers,
locking methods, and various other shared memory data structures.
Duration: 30 minutes, 45 minutes with questions
- PostgreSQL@Scale, March 3, 2017
- PGConf Silicon Valley, November 17, 2015 (video)
- PGCon, June 18, 2015 (video)
- Postgres Open, September 18, 2013 (video)
- PostgreSQL Conference Europe, October 25, 2012
- New York Capital District PostgreSQL Users Group (NYCDPUG), March 4, 2010
- Tsinghua University, November 25, 2009
- PostgreSQL Conference: West 08, October 11, 2008 (video)
Unlocking the Postgres Lock Manager
Locking is critical for providing high concurrency for any database
— you cannot fully utilize your hardware if locking is throttling
its use. This talk explores all aspects of locking in Postgres by
showing queries and their locks; covered lock types include row,
table, shared, exclusive, and advisory lock types. The high concurrency
provided by Multiversion Concurrency Control (MVCC) is also covered.
Duration: 45 minutes, 60 minutes with questions
- PGConf NYC, October 1, 2024
- Boston PostgreSQL Users Group, March 23, 2021
- PgConf.Russia, February 4, 2020
- Percona Live Europe Open Source Database Conference, November 6, 2018
- Fosdem PGDay, February 2, 2018
- PostgreSQL Conference Europe, October 29, 2015
- PGDay NYC, March 22, 2013
- PGCon, May 17, 2012
- PG Corridor Days DC, March 30, 2012
- Boston PostgreSQL Users Group (BPUG), January 19, 2012
- Postgres Open, September 16, 2011 (video)