-
Resources
-
Chapter 1: The Anatomy of PostgreSQL: Architecture and Process Model
-
- Join this Course to access resources
- Join this Course to access resources
- Join this Course to access resources
-
-
Chapter 2: The Journey of a Query: Lexing, Parsing, and the Traffic Cop
-
Chapter 3: The PostgreSQL Rule System and Query Rewriting
-
- Join this Course to access resources
-
-
Chapter 4: The Query Planner Part I: Statistics and Cost Estimation
-
- Join this Course to access resources
-
-
Chapter 5: The Query Planner Part II: Path Generation and GEQO
-
- Join this Course to access resources
-
-
Chapter 6: The Executor: Processing the Plan Tree
-
- Join this Course to access resources
-
-
Chapter 7: Advanced Indexing Under the Hood
-
- Join this Course to access resources
-
-
Chapter 8: Multiversion Concurrency Control (MVCC) and Vacuuming
-
- Join this Course to access resources
-
-
Chapter 9: Memory Management and Caching Strategies
-
- Join this Course to access resources
-
-
Chapter 10: The Write-Ahead Log (WAL) and Crash Recovery
-
- Join this Course to access resources
-
-
Chapter 11: Replication: Physical and Logical
-
- Join this Course to access resources
-
-
Chapter 12: Distributed PostgreSQL and Sharding
-
- Join this Course to access resources
-
-
Chapter 13: Extending the Engine
-
- Join this Course to access resources
-
-
Project Based Assignments
Academic Integrity
Academic Integrity and AI Use Policy
The Reality of This Course
Let’s be completely transparent: this is a self-paced, unaccredited MOOC. There is no university administration looking over your shoulder, no official transcript to protect, and no completion certificate to add to your LinkedIn profile. The only thing you take away from this course is the actual, physical capability to tune and architect PostgreSQL at a systems level.
Because of this, traditional "academic integrity" rules don't really apply here. If you choose to cheat, you aren't outsmarting a grading system, you are simply robbing yourself of the joy of learning and the opportunity to grow your engineering skills. If you skip the struggle of the three major projects, you will still be exactly where you started when you face a real database bottleneck in production.
Remember, learning is an active and uncomfortable process. Struggling does not mean you are lacking, it only means you are growing!
Artificial Intelligence: Tutor vs. Replacement
AI is an incredibly powerful tool for engineers, but how you use it dictates whether you are learning or just outsourcing your brain.
The Recommended Approach (AI as a Tutor): Use AI tools (like Gemini's Guided Learning features) to break down complex topics. If you are struggling to understand the math behind autovacuum_vacuum_scale_factor or how the Volcano execution model pulls tuples, ask an AI to explain it to you in a different way. Use it to build foundational understanding.
The Self-Sabotage Approach (AI as a Replacement): If you feed your project prompts into an AI and ask it to analyze your EXPLAIN (ANALYZE, BUFFERS) outputs, write your optimization scripts, or configure your Foreign Data Wrappers, you have entirely missed the point of the 120+ hours you are supposed to dedicate to this course. You will not learn how to do the work.
The "I Don't Care" Approach (AI as an Editor): If you complete the hard technical work yourself, write a messy draft of your project report, and then use AI to clean up the grammar and make it readable—that is up to you. You are robbing yourself of the chance to practice your technical communication skills, but this is an advanced systems engineering course, not an English class. I do not care if you use AI to polish your prose, so long as the technical insights are genuinely yours.
Community and Forum Etiquette
The course forums are a place for collaborative problem-solving, not a repository for answer keys. When interacting with your peers, stick to the following guidelines:
Do Not Share Solutions: Never post your completed project code, exact EXPLAIN outputs from your final optimized queries, or full project write-ups.
Provide Minimal Viable Help: When a peer is stuck, give them the smallest amount of information necessary to point them in the right direction. Do not do the mental heavy lifting for them.
Use Socratic Questioning: The best way to help a fellow engineer is to ask them a question that forces them to find the answer. Instead of saying, "You need to tune your work_mem," ask, "What does your execution plan say about where that hash join is being materialized?"
There are no comments for now.