PostgreSQL
PostgreSQL internals that decide production behaviour - MVCC and XID wraparound, autovacuum thresholds, work_mem, WAL durability, indexes, replication.
Read the PostgreSQL guideConcepts it implements
Readers see a consistent snapshot without blocking writers, because an update creates a new row version rather than overwriting the old one.
Bloat and vacuumDead row versions left by MVCC occupy space until a background process reclaims them; if it falls behind, tables and indexes grow without the data growing.
Transaction ID wraparoundPostgreSQL transaction IDs are 32-bit and wrap around, so rows must be frozen before the counter laps them or data would appear to vanish.
Isolation levelsThe contract for which concurrency anomalies a transaction may observe, traded against how much concurrency the engine allows.
Replication lagThe delay between a write committing on the primary and becoming visible on a replica.
Retrieval-augmented generationRelevant documents are retrieved at query time and supplied as context, so the model answers from evidence rather than parametric memory.
Vector searchText or images are embedded as vectors and compared by distance, so results are ranked by similarity rather than keyword match.
Write amplificationOne logical write causes several physical writes - to the log, the data pages, and every affected index.
SchemaThe structure that defines how data is organised in a database: tables, columns, data types, constraints, relationships, and indexes.
NormalisationOrganising tables so that each fact is stored once, reducing redundancy at the cost of more joins.
IndexA data structure maintained alongside a table that makes lookups by specific columns faster, at the cost of slower writes and additional storage.
Stored procedureA named block of SQL (or procedural code) stored in the database and executed on the server, avoiding the round-trip cost of sending each statement from the application.
Primary keyA column or set of columns that uniquely identifies every row in a table, enforced by a unique index and a NOT NULL constraint.
Foreign keyA constraint that links a column in one table to the primary key of another, enforcing referential integrity so that orphan rows cannot exist.
TransactionA sequence of operations that either all succeed (commit) or all fail (rollback), guaranteeing that the database moves from one consistent state to another.
TriggerCode that the database executes automatically when a specific event occurs on a table - typically an INSERT, UPDATE, or DELETE.
ViewA named query stored in the database that behaves like a virtual table - it does not hold data itself but runs its defining query each time it is read.
Where PostgreSQL sits
How this component relates to the rest of the stack. Items without a link are not covered here yet.
PostgreSQL release support
5 supported| Release | Latest | Released | End of life | Status |
|---|---|---|---|---|
18 | 18.6 | Sept 2025 | Nov 2030 | Supported |
17 | 17.11 | Sept 2024 | Nov 2029 | Supported |
16 | 16.15 | Sept 2023 | Nov 2028 | Supported |
15 | 15.19 | Oct 2022 | Nov 2027 | Supported |
14 | 14.24 | Sept 2021 | Nov 2026 | Supported |
13 | 13.23 | Sept 2020 | Nov 2025 | End of life |
12 | 12.22 | Oct 2019 | Nov 2024 | End of life |
11 | 11.22 | Oct 2018 | Nov 2023 | End of life |
Data as of 2026-10-01 from endoflife.date. Refresh with node scripts/fetch-versions.mjs.