Honest Take — Before You Begin
PostgreSQL is the best database in the world. I am not being hyperbolic. It is open source, absurdly reliable, standards-compliant, extensible, and improving faster than any comme…
PostgreSQL Deep Dive covers: Essential PostgreSQL, Learn PostgreSQL, Learning PostgreSQL 10. Master PostgreSQL specifically — not just SQL, but psql, system catalogs, pg_stat views, configuration tuning, extensions, and the PostgreSQL-specific features that make it the best database for Rails applications. Go from "I use PostgreSQL" to "I understand PostgreSQL."
Rails migrations create tables, but understanding pg_stat_statements, vacuum, bloat, and lock contention is what separates senior from staff. When you run rails db:migrate and add a column, do you know that ALTER TABLE ADD COLUMN with a default value used to rewrite the entire table in PostgreSQL < 11 but is now instant? When you add an index, do you know that CREATE INDEX locks the table for writes, but CREATE INDEX CONCURRENTLY does not (and that strong_migrations gem enforces this)? When your Rails app has 100 Puma threads and 50 Sidekiq threads, do you know that you need at least 150 database connections (and that PgBouncer in transaction mode can reduce that to 20 actual PostgreSQL connections)?
This course unlocks once you've finished its prerequisite. Open prerequisite →
PostgreSQL is the best database in the world. I am not being hyperbolic. It is open source, absurdly reliable, standards-compliant, extensible, and improving faster than any comme…
Here's a question that separates "I use PostgreSQL" from "I know PostgreSQL": without opening schema.rb, could you sit down at a production console and find out which of your tabl…
Two facts about your production database that sound like bugs but are design:
This course hands you a book about a PostgreSQL version that reached end-of-life in 2022 — on purpose.
Work through each item before the checkpoint.
Set up a PostgreSQL lab environment and complete these tasks: 1. Master psql: \d, \di, \dt+, \x, \timing, \e, custom psqlrc 2. Read and interpret EXPLAIN (ANALYZE, BUFFERS, FORMAT…
6 lessons. Read in order; spiral back when you need to. By the end you'll have used the core ideas twice — once on the abstract, once on something you'll meet at work next week.