System Design Space
Knowledge graphSettings

Updated: May 2, 2026 at 9:32 PM

PostgreSQL: history and architecture

medium

PostgreSQL as a transactional core: MVCC, WAL, isolation levels, indexes, replication, extensibility, and a practical comparison with MySQL.

PostgreSQL ends up at the center of so many systems that it is easy to treat it as a boring default. This chapter is valuable because it restores respect for why it gets chosen there so often.

In real work, it helps frame PostgreSQL through MVCC, WAL, extensibility, indexes, and execution plans: the properties that actually define a reliable transactional core, not just familiar SQL syntax.

In interviews and architecture discussions, the chapter is strongest when you can explain a Postgres decision through transactional guarantees, expressive SQL, and a well-understood operating model rather than habit.

Practical value of this chapter

Transactional core

Use PostgreSQL as the transactional backbone when ACID guarantees, expressive queries, and predictable consistency matter.

Indexes and planner

Design schema together with index strategy and plan analysis, not as a separate afterthought.

Operational stability

Treat autovacuum, bloat control, WAL archiving, and replication as first-class architecture concerns.

Interview articulation

Justify a Postgres choice through data integrity, expressive SQL, and known operational trade-offs.

Source

PostgreSQL

History, transactional core, replication, extensibility, and the PostgreSQL ecosystem.

Перейти на сайт

PostgreSQL is a free, open-source object-relational DBMS with a focus on extensibility, rich data types, and reliable transaction processing.

History: key milestones

1982-1994

Ingres -> POSTGRES

PostgreSQL evolved from the Ingres project at UC Berkeley and the POSTGRES system.

1994-1996

Postgres95

Postgres95 added an SQL interpreter and gave the database a modern direction.

1996-1997

PostgreSQL

The project was renamed PostgreSQL, and version 6.0 shipped in January 1997.

2005

8.0: Windows and PITR

The 8.0 branch brought native Windows support and point-in-time recovery.

2010

9.0: streaming replication

Streaming replication makes high-availability designs much more practical.

2017

10: logical replication

A new versioning scheme and built-in logical replication expand migration and integration options.

2023

16: mature modern branch

The 14-16 series improves performance, concurrency, and replication under heavy workloads.

2024

17: VACUUM and logical replication

PostgreSQL 17 improves planning, reduces VACUUM memory usage, and simplifies high-availability setups with logical replication.

Key PostgreSQL architecture properties

Object-relational DBMS

PostgreSQL is a free, open-source object-relational DBMS with an extensible core.

MVCC and isolation levels

MVCC gives transactions consistent snapshots and supports serializable behavior through SSI.

Extensible types and indexes

JSON/JSONB, arrays, ranges, user-defined types, and GiST, GIN, SP-GiST, BRIN indexes.

WAL-based replication

Built-in replication streams WAL and supports asynchronous and synchronous modes.

PostgreSQL architecture by layers

The architecture shows the layers: from drivers and the query planner to MVCC, WAL, and replication.

Clients and protocol
libpqBinary protocolDriversAuth/TLS
Layer transition
SQL layer
ParserPlannerExecutorCatalog metadata
Layer transition
MVCC and transactions
SnapshotsIsolation levelsSerializable (SSI)
Layer transition
Storage and indexes
HeapB-treeGIN/GiST/BRINWAL
Layer transition
Replication
WAL streamingAsynchronousSynchronousStandby replica
Layer transition
OS + hardware
FilesystemDiskCPU/RAMNetwork

Key features

PostgreSQL is known for strong extensibility, a rich type system, and a broad extension ecosystem.

Extensibility

User-defined typesProcedural languagesForeign data wrappers

Rich data types

JSONBArraysRange typesPostGIS types

Ecosystem

TimescaleDBGreenplumDerivative systems

DDL and DML: how a request flows

DDL changes structure and metadata, while DML works with data. The visualization below walks through the key stages for both request types.

How a request flows through PostgreSQL

Comparing the execution chain for DDL (schema) and DML (data)

Interactive replayStep 1/5

Active step

1. Parse + plan

The planner chooses an efficient plan and indexes.

Data operations

  • DML works with data and indexes without changing schema.
  • MVCC enables concurrent access without read locks.
  • Replication behavior depends on WAL mode and settings.
Row-level operationsWALMVCC

Source

MySQL

License, the LAMP stack, and MySQL's evolution.

Перейти на сайт

PostgreSQL and MySQL: practical comparison

Data model

PostgreSQL: Object-relational, extensible types and functions.

MySQL: Relational DBMS, often used in the LAMP stack.

License and management

PostgreSQL: Permissive PostgreSQL License and development through PGDG.

MySQL: GPL + commercial licenses; ownership through Sun and Oracle.

Concurrency and integrity

PostgreSQL: MVCC, isolation levels, and strong integrity guarantees.

MySQL: InnoDB is the default engine with transactions and foreign keys.

Ecosystem

PostgreSQL: Extensions, foreign data wrappers, and derivative systems.

MySQL: Strong web ecosystem and rich history of use in LAMP.

When PostgreSQL is often chosen over MySQL

Practical interpretation based on PostgreSQL properties:

  • PostgreSQL's extensible architecture and rich set of data types make it suitable for complex domain models.
  • MVCC and advanced isolation levels simplify concurrent transaction processing under high load.
  • WAL-based replication provides a clear path to scaling reads and designing failover.
  • The permissive license and strong extension ecosystem make PostgreSQL a practical platform choice.

Related chapters

Enable tracking in Settings