Bruce Momjian

Tags:   postgresql    postgis    community    conferences    gis   
Category:   Interviews   
Interviewed by: Andreas Scherbaum

PostgreSQL is the World’s most advanced Open Source Relational Database. The interview series “PostgreSQL Person of the Week” presents the people who make the project what it is today. Read all interviews here.

Please tell us about yourself, your hobbies and where you are from.

I live in Philadelphia and have worked on Postgres for 24 years. My heritage is Armenian.

Bruce Momjian

Bruce Momjian

Any Social Media channels of yours we should be aware of?

My website is

When did you start using PostgreSQL, and why?

I was a consultant writing database applications. I wanted an SQL database to use on my home Unix machine, and Postgres was both free and I could see how the database worked internally.

Do you remember which version of PostgreSQL you started with?

It was Postgres95, version 1.01.

I never took a computer course, but read lots of books and experimented.

What other databases are you using? Which one is your favorite?

I used Ingres and Informix in the 1990’s.

Uh, mostly helping to build the community, but I take on documentation improvements and small patches.

How do you contribute to PostgreSQL?

Community management, public speaking, blogging, patch application.

Any contributions to PostgreSQL which do not involve writing code?

Sure, the ones above.

What is your favorite PostgreSQL extension?

Probably PostGIS, since it extends Postgres to enable an important use case.

What is the most annoying PostgreSQL thing you can think of? And any chance to fix it?

I think we need the system to be auto-tuned better, particularly postgresql.conf parameters. Parallelism tuning is particularly difficult.

What is the feature you like most in the latest PostgreSQL version?

PG 12 had a lot of features that we have been waiting for for a long time, like REINDEX CONCURRENTLY, multi-column statistics, and CTE inlining.

Adding to that, what feature/mechanism would you like to see in PostgreSQL? And why?

I think sharding is an important workload we need to support.

Could you describe your PostgreSQL development toolbox?

I am pretty old-school: ssh, MicroEmacs, Bash scripts, GNU mkid.

Which skills are a must have for a PostgreSQL developer/user?

You must know C but it still takes a lot of study to understand all the Postgres subsystems.

Do you use any git best practices, which makes working with PostgreSQL easier?

I wrap every git action in a bash script that can automate my workfload and check for mistakes.

Which PostgreSQL conferences do you visit? Do you submit talks?

Uh, I do 30-40 events a year, of every size and in every geography. I am planning to be in Russia three times this year, and will be visiting Brazil after many years of absence.

Do you think Postgres has a high entry barrier?

No, but it does so many things, people often treat it like a normal relational databases and miss using many of its advanced features.

What is your advice for people who want to start PostgreSQL developing - as in, contributing to the project. Where and how should they start?

Well, documentation is a good start, as is blogging. For development, most patches are quite complex, even for simple features, so reviewing how other patches which added features can help.

Do you think PostgreSQL will be here for many years in the future?

Well, I am 24 years into this, and the code is 34 years old. I think the ability of Postgres to adjust to new workload demands, and its strong community, means it will probably be used for many more decades.

Would you recommend Postgres for business, or for side projects?

I think Postgres is good for all relational database workloads except embedded use cases, where SQLite is best, and for petabyte workloads.

Are you reading the -hackers mailinglist? Any other list?

I read all the lists.

What other places do you hang out?

I read Planet Postgres, and am on the IRC channel.

Which other Open Source projects are you involved or interested in?

I get involved in other projects as I find bugs or need features, but not regularly.