The Internals of PostgreSQL
PostgreSQL is a well-designed, open-source multi-purpose relational database system which is widely used throughout the world.
It is one huge system with the integrated subsystems, each of which has a particular complex feature and works cooperatively with each other. Although understanding of the internal mechanism is crucial for both administration and integration using PostgreSQL, its hugeness and complexity make it difficult.
The main purposes of this document are to explain how each subsystem works, and to provide the whole picture of PostgreSQL.
This document covers versions 17 and earlier.
Some academic papers have referred to this document. The Chinese version of this document was published in June 2019.
- Chapter 1. Database Cluster, Databases and Tables
- Chapter 2. Process and Memory Architecture
- Chapter 3. Query Processing
- Chapter 4. Foreign Data Wrappers (FDW)
- Chapter 5. Concurrency Control
- Chapter 6. VACUUM Processing
- Chapter 7. Heap Only Tuple (HOT) and Index-Only Scans
- Chapter 8. Buffer Manager
- Chapter 9. Write Ahead Logging (WAL)
- Chapter 10. Online Backup and Point-In-Time Recovery (PITR)
- Chapter 11. Streaming Replication
Author
Hironobu SUZUKI
I am a software programmer/engineer, the author of:
I graduated from graduate school in information engineering (M.S. in Information Engineering), have worked for several companies as a software developer and technical manager/director. I published seven books in the fields of database and system integration (4 PostgreSQL books and 3 MySQL books). In June 2019, the Chinese book of this document was published.
As a director of the Japan PostgreSQL Users Group (2010-2016), I organized the largest (non-commercial) technical seminar/lecture on PostgreSQL in Japan for more than six years, and also served as the program committee chair of the Japan PostgreSQL Conference in 2013 and as a member in 2008 and 2009.
In June 2022, my interview article was published in “PostgreSQL person of the week”.
Cuando era joven, vivió en Sudamérica por unos años. Recientemente, a veces vuelve a allí.
I am looking for a new job, applying ML and AI technologies to DBMS.
Contact
Please read the following FAQ before sending messages.
After reading, send a message to my twitter in public.
If you use email, please provide at least two SNS addresses (e.g. LinkedIn, Twitter) for verification purposes. Due to the XZ backdoor incident, I no longer accept contact from anonymous individuals.
Copyright
© Copyright ALL Right Reserved, Hironobu SUZUKI.
For any inquiries regarding the use of this document or any of its figures, please contact me.
Exception Educational institutions can use this document freely.