The Curious Engineer

All blogs / Databases

Robert Haas

rhaas.blogspot.com

Sr. Staff Software Engineer @ Databricks, PostgreSQL Major Contributor and Committer

Databases

Posts
203 from 13 Apr 2010 to 30 Oct 2026
Posting
monthly (11 in the last year)
Kind
personal blog
Feed
https://rhaas.blogspot.com/feeds/posts/default

2026 10

  1. Postgres 19 is late, and it's AI's fault
  2. Hacking Workshop for November 2026
  3. Hacking Workshop for October 2026
  4. Hacking Workshop for September 2026
  5. Hacking Workshop for June/July 2026
  6. Hacking Workshop for April/May 2026
  7. pg_plan_advice: Plan Stability and User Planner Control for PostgreSQL?
  8. Hacking Workshop for March 2026
  9. Who Contributed to PostgreSQL Development in 2025?
  10. Hacking Workshop for February 2026

2025 11

  1. The Future of the PostgreSQL Hacking Workshop
  2. Hacking Workshop for November 2025
  3. Hacking Workshop for October 2025
  4. Hacking Workshop for September 2025
  5. One Year of Hacking Workshops
  6. PostgreSQL Hacking + Patch Review Workshops for July 2025
  7. Hacking Workshop for June 2025
  8. Mentoring Applications and Hacking Workshop for April 2025
  9. PostgreSQL Hacking + Patch Review Workshops - March 2025
  10. Who Contributed to PostgreSQL Development in 2024?
  11. PostgreSQL Hacking Workshop - February 2025

2024 17

  1. 2025.pgconf.dev needs your submissions!
  2. PostgreSQL Hacking Workshop - January 2025
  3. PostgreSQL Hacking Workshop - December 2024
  4. Why pg_dump Is Amazing
  5. PostgreSQL Hacking Workshop - November 2024
  6. Is pg_dump a Backup Tool?
  7. PostgreSQL Hacking Workshop - October 2024
  8. PostgreSQL Hacking Workshop - September 2024
  9. Posting Your Patch On pgsql-hackers
  10. PostgreSQL Hacking Workshop - August 2024
  11. Mentoring Program Updates
  12. Mentoring Program for Code Contributors
  13. 2024.pgconf.dev and Growing the Community
  14. Hacking on PostgreSQL is Really Hard
  15. Who Contributed to PostgreSQL Development in 2023?
  16. Incremental Backups: Evergreen and Other Use Cases
  17. Incremental Backup: What To Copy?

2023 7

  1. Praise, Criticism, and Dialogue
  2. The PostgreSQL Documentation and the Limitations of Community
  3. Do I Really Need That backup_label File?
  4. Who Contributed to PostgreSQL Development in 2022?
  5. Updating the Cost Limit On The Fly
  6. Assigning Blame For PostgreSQL Errors
  7. Surviving Without A Superuser - Coming to v16

2022 5

  1. pg_basebackup could not set compression worker count - unsupported parameter
  2. Parallel Server-Side Backup Compression
  3. Server-Side LZ4 Backup Compression
  4. Surviving Without A Superuser - Part Two
  5. Who Contributed to PostgreSQL Development in 2020 and 2021?

2021 3

  1. Surviving Without A Superuser - Part One
  2. Collation Stability
  3. Talking about the PostgreSQL Optimizer at CMU

2020 5

  1. CVE-2019-9193
  2. Don't Manually Modify The PostgreSQL Data Directory!
  3. Who Contributed to PostgreSQL Development in 2019?
  4. Useless Vacuuming
  5. Contributors Team, Redux

2019 7

  1. Braces Are Too Expensive
  2. Synchronous Replication is a Trap
  3. The Contributors Team
  4. Tuning autovacuum_naptime
  5. How Much maintenance_work_mem Do I Need?
  6. Who Contributed to PostgreSQL Development in 2018?
  7. Amazon's DocumentDB, MongoDB, and TechCrunch

2018 5

  1. Using force_parallel_mode Correctly
  2. Who Contributed to PostgreSQL Development in 2017?
  3. Built-in Sharding for PostgreSQL
  4. DO or UNDO - there is no VACUUM
  5. The State of VACUUM

2017 6

  1. MVCC and VACUUM
  2. PostgreSQL's Hash Indexes Are Now Cool
  3. Plans for Partitioning in v11
  4. Who Contributes to PostgreSQL Development?
  5. New Features Coming in PostgreSQL 10
  6. Parallel Query v2

2016 6

  1. Uber's move away from PostgreSQL
  2. PostgreSQL Regression Test Coverage
  3. PostgreSQL 9.6 with Parallel Query vs. TPC-H
  4. Parallel Query Is Getting Better And Better
  5. No More Full-Table Vacuums
  6. PostgreSQL Past, Present, and Future: Moving The Goalposts

2015 4

  1. Parallel Sequential Scan is Committed!
  2. Planning Parallel and Distributed Queries
  3. PostgreSQL Shutdown
  4. Parallel Sequential Scan for PostgreSQL 9.5

2014 11

  1. Parallelism Update
  2. Memory Matters
  3. Linux disables vm.zone_reclaim_mode by default
  4. Troubleshooting Database Corruption
  5. Why The Clock is Ticking for MongoDB
  6. Subtly Bad Things Linux May Be Doing To PostgreSQL
  7. Back from LSF/MM and Collab
  8. PostgreSQL Now Has Logical Decoding
  9. write scalability for UPDATE operations
  10. Linux's fsync() woes are getting some attention
  11. VACUUM FULL doesn't mean "VACUUM, but better"

2013 5

  1. Query Planning Gone Wrong: The Video
  2. Parallelism Progress
  3. MVCC Catalog Access
  4. Query Planning Gone Wrong
  5. Confronting The Big Issues

2012 14

  1. Absurd Shared Memory Limits
  2. perf: the good, the bad, the ugly
  3. PostgreSQL 9.3 Development Schedule
  4. Don't Take Me Too Seriously
  5. Did I Say 32 Cores? How about 64?
  6. Why Is My Database Corrupted?
  7. Tuning shared_buffers and wal_buffers
  8. Security Barrier Views
  9. First Results for Write Performance on IBM POWER7
  10. The Perils of Collation-Aware Comparisons
  11. The Git Workflow
  12. Performance and Scalability on IBM POWER7
  13. My Patches Are Breeding
  14. Linux Memory Reporting

2011 41

  1. Write Scalability
  2. Linux lseek scalability
  3. Unsticking VACUUM
  4. Hint Bits
  5. Fast Counting
  6. PostgreSQL Crash Debugging
  7. Deadlocks
  8. Index-Only Scans: We've Got 'Em
  9. CommitFest In Progress
  10. Scalability, in Graphical Form, Analyzed
  11. Postgres Open, and What Makes a Good Talk
  12. Index-Only Scans: Now There's a Patch
  13. Linux and glibc Scalability
  14. More On Read Scaling
  15. Read Scaling Out to 32 Cores
  16. False Contention
  17. Reducing Lock Contention
  18. Open Source Licensing
  19. Performance Optimization
  20. PostgreSQL 9.2 Development: CommitFest Managers Needed
  21. PostgreSQL 9.1 In Review
  22. shared_buffers on 32-bit systems
  23. A Change of Role
  24. PostgreSQL East, and The MySQL Conference and Expo
  25. One-Way Tuning
  26. CommitFests and Meritocracy
  27. A Welcoming Community?
  28. Working Toward PostgreSQL 9.1beta
  29. Query Planner Enhancements in PostgreSQL 9.1
  30. Advice for Google Summer of Code Students (and other prospective contributors)
  31. More Musings on Logical Replication
  32. Troubleshooting Stuck VACUUMs
  33. The Case For Logical Replication
  34. Working in the Community
  35. Keeping Local Git Branches Up To Date
  36. MySQL vs. PostgreSQL, Part 2: VACUUM vs. Purge
  37. PostgreSQL 9.1: Neat Stuff is Coming
  38. Locking in PostgreSQL
  39. What Kind of Replication Do You Need?
  40. Why SQL/MED is Cool
  41. PostgreSQL 9.1: Big Patches

2010 46

  1. PostgreSQL Performance vs. Microsoft SQL Server
  2. Two Hundred Commits
  3. SE-Linux for PostgreSQL: Part 3
  4. Crunch Time for PostgreSQL 9.1
  5. The Cost of Page Faults
  6. Troubleshooting Database Unresponsiveness
  7. MySQL vs. PostgreSQL, Part 1: Table Organization
  8. Profiling PostgreSQL
  9. Index-Only Scans
  10. Best Patches of 9.1CF3
  11. When Your Data Isn't Made of Gold
  12. Rob Wultsch's MySQL Talk at PostgreSQL West
  13. PostgreSQL West Talks
  14. Here Comes PostgreSQL West
  15. WAL Reliability
  16. Choosing a Datastore
  17. Down To Six
  18. SURGE Recap
  19. Stupid Git Tricks for PostgreSQL
  20. Enjoying Git
  21. Git Conversion, Take Two
  22. SE-Linux For PostgreSQL: Part 2
  23. So, Why Isn't PostgreSQL Using Git Yet?
  24. SE-Linux For PostgreSQL: Part 1
  25. Version Numbering
  26. Why We're Conservative With PostgreSQL Minor Releases
  27. How I Hack on PostgreSQL
  28. Git is Coming to PostgreSQL
  29. Multi-Tenancy and Virtualization
  30. Google and our Documentation
  31. Best Patches of 9.1CF1
  32. Distributed Serialization Anomalies
  33. Concurrent Development
  34. PostgreSQL as an In-Memory Only Database
  35. Working Toward PostgreSQL 9.0 Beta3
  36. Making PostgreSQL Faster
  37. Why Join Removal Is Cool
  38. An Excellent Developer Meeting
  39. Global Temporary and Unlogged Tables
  40. Lots and Lots of PostgreSQL Feature Requests
  41. Big Ideas
  42. Write-Ahead Logging in PostgreSQL 9.0
  43. Materialized Views in PostgreSQL
  44. Materialization in PostgreSQL 9.0
  45. Finding Our Way to LATERAL
  46. PostgreSQL East 2010 Slides