Documentation Course
PostgreSQL In-Depth
From First Query to Production Architecture
A complete A-Z PostgreSQL curriculum — from absolute basics for beginners through production patterns for mid-level engineers to the deep internals that only senior engineers ever learn. Built from years of running PostgreSQL on a live blockchain indexer whose database grew to 10 TB.
How to use this course
This course works as both a sequential read and a standalone reference. Read front-to-back to build a complete mental model of Postgres under production load. Or jump to any module when you hit a specific incident — VACUUM bloat, a lock queue outage, a query regression after a data load.
Total reading time
~11 hrs
across 35 live modules
Built from
10 TB
live blockchain indexer, cut to 2.7 TB
Prerequisite
Zero SQL to production internals
Beginner through senior engineer

Your instructor
Jatin Jain Saraf
Architect of SupraScan, Supra Blockchain's explorer and indexer: 500–1,000 TPS on a PostgreSQL database that grew to 10 TB, now 2.7 TB. The case studies show the production work behind these courses.
See it in production
- Case studyScaling a Blockchain Database From a Single Partition to 4.6 TBA partition strategy that worked in 2021 became a 10TB liability by 2026. Here's the five-stage evolution that got it back under control, the outage the last stage caused, and the storage arc from 10TB avoided to 4.6TB today.
- Case studyConcurrency Design Under High TPS: Moving Wallet Counters Off Database TriggersA 3-4 day indexer lag traced back to four wallets and a database trigger. The fix moved counting logic out of the database entirely, and a routine check-with-the-docs step turned up an architectural assumption that had been wrong all along.
- Case studyPaying Down Three Years of JSONB DebtJSONB is the right tool for a blockchain's variable-shaped data, until it isn't. A tiered removal plan, twelve columns re-classified one by one, and three columns nobody's allowed to touch because another team reads them directly.
- Case studyA Type Migration Across Three Services: VARCHAR to BIGINT at ScaleThe migration itself was the easy part. The real risk was every downstream function quietly assuming a column would always come back as a string. Two hotfixes later, that assumption was gone.
- Case studyA Reliability-Hardening Sprint: Isolation, Guardrails, and a Query Plan That Went From 45 Million to 206None of these fixes were triggered by an outage. Per-network cache isolation, timeouts on every resolver, dead-code removal, a partition-pruning fix with a genuinely startling before/after number, and a real external security report handled the right way.
Phase 1 — Foundation
Absolute basics · No prior knowledge assumed
Phase 2 — Practitioner
Production patterns · Real application architecture
Phase 3 — Architect
Engine internals · High-throughput systems · Distributed architecture