Fleet training command
Learn PostgreSQL properly.
In your browser. For free.
A real PostgreSQL 18 server compiled to WebAssembly runs inside this tab. Nothing is sent anywhere, there is no account, and every lesson gets its own throwaway database — so you can break things on purpose. The path does not stop at joins: it goes through window frames, recursive CTEs, JSONB, upserts, query plans and PL/pgSQL.
Available now
- 01
Signal Acquisition
Pull rows out of a table and bend them to your will.
0/7 - 02
Instruments & Units
Text, numbers, dates and the casts between them.
0/4 - 03
Fleet Statistics
Collapse many rows into one number — correctly.
0/5 - 04
Docking Procedures
Combine tables without losing rows you meant to keep.
0/5 - 05
Nested Transmissions
Queries inside queries, and the set algebra between them.
0/5 - 06
Route Plotting
Name your intermediate results — then let them call themselves.
0/5 - 07
Sensor Windows
Aggregate without collapsing — the chapter the free courses skip.
0/6 - 08
Hull Design
Schemas that make bad data impossible.
0/4
Rest of the path · lessons in authoring
- 09
Pattern Recognition
The analytical shapes that recur in every real job.
- · running totals and moving averages
- · top-N per group
- · gaps and islands
- · deduplication
- · period-over-period comparison
- 10
Cargo Manifests
Semi-structured data, natively.
- · JSONB operators -> ->> #>
- · jsonb_path_query and containment @>
- · jsonb_array_elements and unnest
- · arrays and ranges
- · GIN indexes for JSONB and arrays
- 11
Writing to the Log
Changing data without losing any.
- · INSERT, UPDATE, DELETE
- · RETURNING
- · ON CONFLICT upserts
- · MERGE
- 12
Engine Efficiency
Why the query is slow, read from the plan itself.
- · reading EXPLAIN and EXPLAIN ANALYZE
- · seq scan vs index scan vs bitmap heap scan
- · btree, GIN, partial and expression indexes
- · statistics and row estimates
- 13
Airlock Protocol
Transactions, and what isolation actually buys you.
- · ACID and BEGIN/COMMIT/ROLLBACK
- · savepoints
- · isolation levels and the anomalies each prevents
- · locking and deadlock
- 14
Ship Automation
Logic that lives in the database.
- · SQL functions
- · PL/pgSQL: variables, control flow, loops
- · triggers and trigger functions
- 15
Postgres Proper
The features that are the reason to pick Postgres.
- · full-text search with tsvector and tsquery
- · table partitioning
- · row-level security
- · extensions and the wider ecosystem