Robert M. Haas

Vice President, Chief Database Architect, EDB

Robert Haas is a PostgreSQL major contributor and committer. PostgreSQL features which he has authored or coauthored include unlogged tables, fast-path locking, index-only scans, and parallel query. PostgreSQL features written by others which he has reviewed and committed include table partitioning, logical decoding, event triggers, and foreign tables. He works at EnterpriseDB as VP, Chief Database Scientist.

Prior to working at EnterpriseDB, Robert worked as a web application developer for almost 10 years. He first became interested in PostgreSQL development after running up against limitations of the PostgreSQL query optimizer during one of those jobs, specifically the inability of the optimizer to consider join removal. At EnterpriseDB, he has worked mostly on PostgreSQL, but also at times as a member of the support organization, and at other times on EnterpriseDB's Advanced Server, Backup and Recovery Tool, and Postgres Enterprise Manager products.

Read Blogs

Technical Blog
작성자: Robert M. Haas | 2025년 9월 18일 PostgreSQL 17에서 도입된 증분 백업은 전체 백업보다 변경된 블록을 중심으로 백업할 수 있게 했지만, 실제 운영에서는 백업 체인 관리와 복원 스테이징이라는 과제가 남았습니다. PostgreSQL 18은 pg_combinebackup에 --link 옵션을 추가해 불필요한 파일 복사를 줄일 수 있도록 개선했습니다. 이 글에서는 기존 증분 백업의 관리 문제와 --link 옵션이 복원 과정에 어떤 변화를 주는지 살펴봅니다. 목차 PostgreSQL 증분 백업 관리가 어려운 이유 증분 백업 복원과 스테이징의 과제 PostgreSQL 18의 pg_combinebackup --link 옵션 PostgreSQL 증분 백업에서 얻은 교훈...
Technical Blog
One of the pitfalls of developing a large new feature, such as the incremental backup feature that I developed for PostgreSQL 17, is that it's sometimes hard to anticipate the practical problems that people will encounter when attempting to actually make use of it. In the case of the incremental backup feature, I foresaw two major categories of problems, one related to backup management, and the...
EDB Labs
One way that you can make a PostgreSQL role very powerful is to give it the CREATEROLEproperty, either by creating it using a command like CREATE USER alice CREATEROLE, or by adding that property later using a command like ALTER ROLE alice CREATEROLE. Unfortunately, in existing releases, that's both too much and not enough.
Postgres Tutorials
In a recent blog post, I talked about why every system that implements MVCC needs some scheme for removing old row versions, and how VACUUM meets that need for PostgreSQL. In this post, I’d like to examine the history of VACUUM improvements in recent years, the state of VACUUM as it exists in PostgreSQL today, and how it might be improved in the future.
Postgres Tutorials
I admit it: I invented force_parallel_mode. I believed then, and still believe now, that it is valuable for testing purposes. Certainly, testing using force_parallel_mode=on or force_parallel_mode=regress has uncovered many bugs in PostgreSQL's parallel query support that would otherwise have been very difficult to find.
Postgres Tutorials
Experienced PostgreSQL users and developers rattle off the terms “MVCC” and “VACUUM” as if everyone should know what they are and how they work, but in fact many people don’t.
Over on TechCrunch, you can find an article posted just yesterday with the inflammatory title AWS gives open source the middle finger. The premise of the article is that, by creating a product which aims to provide compatibility with MongoDB, Amazon is attacking open source. This is a false narrative. MongoDB recently relicensed its code in such a way that it can no longer be used by cloud...
EDB Labs
There have been a number of articles on the upcoming improvements in Postgres v11, including one by EnterpriseDB’s own Bruce Momjian. A couple of the most commonly highlighted areas are in parallelism and partitioning.
EDB Labs
I admit it: I invented force_parallel_mode. I believed then, and still believe now, that it is valuable for testing purposes.
EDB Labs
Built-in sharding is something that many people have wanted to see in PostgreSQL for a long time. It would be a gross exaggeration to say that PostgreSQL 11 (due to be released this fall) is capable of real sharding, but it seems pretty clear that the momentum is building. The capabilities already added are independently useful, but I believe that some time in the next few years we're going to...