Data and query
Learn practical relational modelling and robust SQL with PostgreSQL.
SELECT category, COUNT(*)
FROM lessons
GROUP BY category;COURSE CURRICULUM
Finish one section at a time or jump directly to a concept you need.
Learn how postgresql clusters, databases, schemas, and clients works in PostgreSQL, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how select, aliases, casts, and readable clauses works in PostgreSQL, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how parameters, expressions, generated columns, and sessions works in PostgreSQL, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how rich types, arrays, jsonb, ranges, and null works in PostgreSQL, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how operators, functions, collations, and indexing choices works in PostgreSQL, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how case, filters, transactions, and row security works in PostgreSQL, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how set operations, recursive ctes, and lateral work works in PostgreSQL, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how aggregate, scalar, date, json, and array functions works in PostgreSQL, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how joins, grouping sets, subqueries, and ctes works in PostgreSQL, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how text search, regular expressions, and collation works in PostgreSQL, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how constraints, transactions, mvcc, and locking works in PostgreSQL, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how views, functions, extensions, indexes, and schemas works in PostgreSQL, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how keys, normalization, relationships, and partitions works in PostgreSQL, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how copy, backups, replication, and migrations works in PostgreSQL, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how window functions, explain analyze, and query tests works in PostgreSQL, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.