Skip to content

Course curriculum: beginner → expert lesson roadmap #6

Description

@exekias

Full lesson roadmap for the PostgreSQL course, ordered beginner → expert. Checked items already exist under lessons/.

Notes:

  • The difficulty enum is beginner | intermediate | advanced, so "expert" tier maps to advanced (or we extend the enum).
  • Everything runs in a learner's own branch except infra-level ops (replication, physical backup, WAL), intentionally left out as they don't fit the sandbox model.
  • Modules 7 and 9 (indexes/EXPLAIN/partitioning/locking) need large seeds — good fit for the deploy-time template seeding + "generator → committed .sql" approach.

Module 1 — Query fundamentals · beginner

  • 01-select-basics — projection, filtering, ordering
  • 02-where-conditions — comparisons, AND/OR, IS NULL, LIKE, IN, BETWEEN
  • 03-sorting-and-pagination — ORDER BY, DISTINCT, LIMIT/OFFSET, keyset pagination
  • 04-aggregations — COUNT/SUM/AVG, GROUP BY, HAVING

Module 2 — Changing data · beginner

  • 05-insert-and-update — INSERT, UPDATE, RETURNING
  • 06-delete-and-lifecycle — DELETE, TRUNCATE, soft deletes
  • 07-upsert — INSERT … ON CONFLICT (DO UPDATE/NOTHING)
  • 08-transactions-basics — BEGIN/COMMIT/ROLLBACK, savepoints

Module 3 — Combining tables · beginner → intermediate

  • 09-joins — INNER/LEFT, ON vs USING
  • 10-advanced-joins — RIGHT/FULL/CROSS, self-joins, multi-table
  • 11-set-operations — UNION, INTERSECT, EXCEPT
  • 12-subqueries — scalar, IN/EXISTS, correlated, LATERAL

Module 4 — Schema & modeling · intermediate

  • 13-data-types — numeric, text, boolean, enum, identity/serial
  • 14-dates-and-times — timestamptz, intervals, time zones
  • 15-constraints — PK, FK, UNIQUE, CHECK, NOT NULL
  • 16-ddl-and-schemas — CREATE/ALTER TABLE, schemas, namespaces (PR: Add lesson 16: DDL and schemas #61)
  • 17-normalization — keys, relationships, normal forms (PR: Add lesson 17: Normalization #59)

Module 5 — Intermediate querying · intermediate

Module 6 — Postgres power types · intermediate → advanced

Module 7 — Performance & indexing · advanced

Module 8 — Programmability · advanced

Module 9 — Concurrency · advanced → expert

Module 10 — Expert & operations · expert (= advanced)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions