PostgreSQL Fundamentals
Install PostgreSQL, understand its process architecture and the write-ahead log, and get comfortable with schemas, data types, constraints, and the newer PostgreSQL 18 features (uuidv7, virtual generated columns, temporal constraints) that current tutorials haven't caught up with yet.
PostgreSQL runs as a cluster of OS processes, not a single monolithic program: a postmaster parent process listens for connections and forks a dedicated backend process per client connection, alongside always-running background workers (the WAL writer, the checkpointer, autovacuum workers). Every change you make — an INSERT, an UPDATE, even a DDL statement — is first written to the write-ahead log (WAL) before the underlying table data is touched; that's what makes crash recovery and replication both possible, since the WAL is a durable, ordered record of everything that's happened.
Data lives in a hierarchy: a running server ("cluster" in Postgres terminology, confusingly unrelated to a Kubernetes cluster) contains multiple databases, each database contains schemas (a public schema exists by default), and each schema contains tables, indexes, views, and functions. Keeping that hierarchy straight matters the moment you're debugging a relation does not exist error caused by being connected to the wrong database or search_path.
Install Postgres 18 and connect
Tables, data types, and Postgres 18's new column features
CRUD, joins, and RETURNING's new OLD/NEW support
Constraints, and Postgres 18's temporal constraints
Secret Mission: build an audit-logged booking system
Before You Go
Test what you just learned
Self-testing is one of the best ways to retain new skills. Unlock project quizzes to check your understanding.
Log in to unlock0 / 7 complete
