Great for analysts too
I came from spreadsheets and now write my own queries with window functions for monthly reports.
Browse
Install PostgreSQL, design tables with keys and constraints, write joins, aggregates and window functions, and add indexes that help
Created by Irina Sokolova
PostgreSQL is one of the most widely used databases in the world, trusted by startups and large companies alike for its reliability, standards compliance and rich feature set. This course teaches you to use it properly, from your first connection to designing schemas, writing real queries and understanding indexes.
We model and query the database for a small online bookshop: customers, books, authors, orders and order items. Every concept is applied to this schema, so you see how pieces fit together in a realistic system.
Examples are tested on PostgreSQL 17 and 18, and nearly everything works on older supported versions too. You can run PostgreSQL with Docker or a native installer. We use the psql command line client throughout, and you can also use a graphical tool such as pgAdmin or DBeaver if you prefer.
Developers who use databases through an ORM and want to understand what happens underneath, analysts moving beyond spreadsheets, and students learning SQL. No database experience is required, though basic comfort with the command line helps.
Database engineer teaching PostgreSQL, data modelling and query performance
I work as a database engineer, mostly with PostgreSQL. My job covers schema design, migrations, indexing, query tuning, backups and helping application developers understand why their queries are slow.
I teach databases as a practical engineering skill. We model real domains, write SQL by hand, read EXPLAIN output together and break things on purpose so you can see how constraints and transactions protect your data. I explain the theory, such as normal forms and isolation levels, only as far as it changes what you do.
All examples run on a local PostgreSQL install or a Docker container, and every course includes the scripts so you can reproduce each step.
I came from spreadsheets and now write my own queries with window functions for monthly reports.
I have used PostgreSQL through an ORM for years. Writing joins and reading EXPLAIN myself changed how I design features.
Letting the database reject bad data was a revelation. We added CHECK constraints to production the following week.
The bookshop schema made everything concrete. Window functions were explained better than anywhere else I have looked.
The EXPLAIN lesson was very practical. I would welcome a follow up on query tuning, which I see exists.
The volume path differed for my older image, but the note in the lesson pointed me in the right direction.
I avoided the command line before. Now psql with timing on is my default tool.