PostgreSQL Roadmap
A step-by-step PostgreSQL roadmap: what to learn in order, the related skills and the best places to learn each step.
The stack, end to end
- Database: SQL, SELECT and WHERE, JOINs, GROUP BY and aggregates, INSERT, UPDATE, DELETE, PostgreSQL, MySQL, Backups and restore, Users and permissions, Subqueries and CTEs, Window functions, Indexes, Query optimisation, Transactions, Stored procedures, Database design, Normalisation, Primary and foreign keys, ER diagrams
- DevOps: Docker, Dockerfile, Docker Compose, Container networking, Monitoring, Logging, Prometheus, Grafana, Alerting
SQL basics
SQL is how you ask a relational database questions. Learn SELECT, WHERE, ORDER BY, GROUP BY, aggregate functions, joins and how to create, insert, update and delete data.
Skills
- SQL
- SELECT and WHERE
- JOINs
- GROUP BY and aggregates
- INSERT, UPDATE, DELETE
Tips
- Practise on real-looking data. Write the query by hand before using any tool that writes it for you.
Where to learn
- SQLBolt (practice, free)
- SQLZoo (practice, free)
- Mode: SQL tutorial (course, free)
A relational database in depth (PostgreSQL or MySQL)
Pick one popular relational database and learn it well: installation, users and permissions, backups, data types, indexes and the tools that come with it. SQL Server and Oracle are common in larger companies, and the SQL skills transfer.
Skills
- PostgreSQL
- MySQL
- Backups and restore
- Users and permissions
Tips
- Practise a backup and a restore. You do not want to learn that during an emergency.
Where to learn
- PostgreSQL documentation (docs, free)
- MySQL reference manual (docs, free)
Advanced SQL and performance
Go beyond the basics: subqueries, common table expressions, window functions, indexes, reading execution plans, transactions and stored procedures. This is what separates a SQL developer from a beginner.
Skills
- Subqueries and CTEs
- Window functions
- Indexes
- Query optimisation
- Transactions
- Stored procedures
Tips
- Learn to read an execution plan. It shows you why a query is slow.
Where to learn
- PostgreSQL tutorial (docs, free)
- Mode: Advanced SQL (course, free)
- Use The Index, Luke (book, free)
Database design
Good design prevents messy data. Learn tables, primary and foreign keys, relationships, normalisation, constraints and how to draw an entity-relationship diagram.
Skills
- Database design
- Normalisation
- Primary and foreign keys
- ER diagrams
Tips
- Sketch the tables on paper before creating them.
Where to learn
- PostgreSQL: Data definition (docs, free)
- MySQL documentation (docs, free)
Docker and containers
A container packages an app with everything it needs so it runs the same everywhere. Learn images, containers, volumes, networks, Dockerfiles and Docker Compose.
Skills
- Docker
- Dockerfile
- Docker Compose
- Container networking
Tips
- Containerise one of your own projects end to end.
Where to learn
- Docker: Get started (docs, free)
- Play with Docker (practice, free)
Monitoring and logging
You cannot fix what you cannot see. Learn metrics, logs, dashboards and alerts so you notice problems before users do.
Skills
- Monitoring
- Logging
- Prometheus
- Grafana
- Alerting
Tips
- Alert on what users feel (errors and slowness), not on every small blip.
Where to learn
- Prometheus overview (docs, free)
- Grafana tutorials (docs, free)
Frequently asked questions
Where should I start with PostgreSQL?
Start at step 1 and work down in order, because later steps build on earlier ones. If you are signed in, the roadmap compares your resume with each step and marks where you could start.
Is PostgreSQL worth learning?
Check how many job adverts in your area mention PostgreSQL, and whether it fits the kind of work you want. This roadmap shows what to learn; the Browse jobs page shows what employers are asking for.
How do I know I am ready to apply?
When you can build a small project from start to finish without copying a tutorial, and explain why you made your choices. Apply while you keep learning; you do not need to know everything.