Beginner

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.

~2.5h
0 / 7 steps
🚀
Intro

How Postgres is actually put together

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

Secret Mission: build an audit-logged booking system

🧹
Wrap Up

Before You Go

Pro

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 unlock