Learn PostgreSQL in Action
// Kaufman-style skill map for mastering PostgreSQL as a Java software engineer: mental models, sub-skills, practice plan, evaluation rubric, and production-grade learning path.
This overview is designed to help you choose the right entry point quickly. Follow the full track from lesson one, continue from your last checkpoint, or jump straight into a phase that matches what you need right now.
Curriculum Map
Navigate by phase, then choose the lesson that matches your current depth.
Kaufman Skill Map for PostgreSQL Mastery
20 minKaufman-style skill map for mastering PostgreSQL as a Java software engineer: mental models, sub-skills, practice plan, evaluation rubric, and production-grade learning path.
Production-Like PostgreSQL Lab Setup
9 minBuild a repeatable PostgreSQL 18 lab with Docker, psql, pgbench, pg_stat_statements, logging, metrics queries, and Java/Testcontainers readiness.
PostgreSQL Architecture: Process, Memory, Storage
15 minDeep mental model of PostgreSQL architecture: postmaster, backend processes, auxiliary processes, memory areas, shared buffers, WAL buffers, checkpoints, storage layout, and Java production implications.
Cluster, Database, Schema, Role, and Search Path Boundaries
14 minDeep production model of PostgreSQL cluster, database, schema, role, ownership, privileges, search_path, namespace boundaries, tenant design, and Java application implications.
PostgreSQL Type System Semantics
17 minDeep mental model of PostgreSQL type system semantics for Java engineers: numeric, text, collation, time, UUID/UUIDv7, JSONB, arrays, ranges, domains, enums, composite types, and production mapping decisions.
DDL as Application Contract
14 minDDL as application contract: constraints, identity, generated columns, defaults, foreign keys, exclusion constraints, temporal constraints, deferrable constraints, and safe schema evolution for Java production systems.
Physical Storage, Pages, Tuples, TOAST, and Bloat
18 minDeep mental model of PostgreSQL physical storage: relation forks, heap pages, tuple headers, TOAST, fillfactor, visibility map, free space map, HOT updates, and bloat failure modes.
MVCC and Snapshot Semantics
17 minDeep mental model of PostgreSQL MVCC and snapshot semantics: tuple visibility, xmin/xmax, snapshots, read consistency, update chains, anomalies, Java transaction boundaries, and production diagnostics.
Transaction Engineering, Locking, and Deadlocks
17 minProduction-grade transaction engineering, PostgreSQL locking, blocking, deadlock prevention, lock observability, Java retry boundaries, and safe concurrency patterns.
Isolation Levels and Application Invariants
14 minDeep guide to PostgreSQL isolation levels, anomaly modeling, serializable retries, application invariants, Java transaction semantics, and correctness-oriented database design.
Learn Postgresql In Action Part 011 Query Planner Cost Statistics
24 minLearn Postgresql In Action Part 012 Explain Analyze Diagnostics
19 minLearn Postgresql In Action Part 013 Btree Index Deep Dive
20 minLearn Postgresql In Action Part 014 Indexing Specialized Indexes
18 minIndex Selection Strategy and Anti-Patterns
19 minIndex selection strategy for PostgreSQL production systems: workload inventory, index budgets, composite vs separate indexes, partial indexes, covering indexes, redundant index cleanup, and migration-safe index governance for Java applications.
Query Shape Engineering
12 minQuery shape engineering for PostgreSQL: sargability, predicate design, CTE materialization, EXISTS, IN, LATERAL, pagination, batching, optional filters, JSONB predicates, and Java/Hibernate query patterns that help or hurt the planner.
Join Strategies and Execution Behavior
21 minJoin strategies and execution behavior in PostgreSQL: nested loop, hash join, merge join, join order, join cardinality, skew, memory pressure, outer joins, semi/anti joins, Java ORM implications, and production diagnostics.
Aggregation, Sorting, and Memory Engineering
15 minAggregation, sorting, and memory engineering in PostgreSQL: sort methods, hash aggregate, group aggregate, DISTINCT, window functions, work_mem, temp files, parallel aggregation, reporting workloads, and Java production implications.