Reading time: 7 minutes
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, and where you are from.
I grew up in a small village in the south of Germany. For the last 16 years I have lived in Moenchengladbach in the very western part of Germany, known for its famous soccer team.
How do you spend your free time? What are your hobbies?
I like cycling, reading all kinds of interesting books (especially on history), watching movies, cooking, meeting friends, traveling and discovering new things. And if I had a really stressful day, I enjoy listening to all kinds of music.
Any Social Media channels of yours we should be aware of?
Last book you read? Or a book you want to recommend to readers?
There are many books I liked in the past, the last was an older one, “Inside Intel” which covers the history of the chip manufacturer. Quite interesting reading if someone is interested how such a company grew up in the very beginning of the Silicon Valley.
Any favorite movie, or show?
I’m a movie maniac. I watch all kinds of movies regardless of their genre. I’m a big fan of Sergio Leone and my favorite movie of all time is “Once upon a time in America”.
What’s still on your bucket list?
I don’t maintain such a list because it doesn’t give me any additional value.
What is the best advice you ever got?
Leave the room as it would be the last time.
When did you start using PostgreSQL, and why?
I think this must be around 2000. At that time I already had my first experiences with Interbase and was already using Linux on an old 486 box as a server for quite a while. I was looking for a free database with all the features like foreign keys and good SQL support, so I stumbled across this fancy, completely free community project called PostgreSQL.
Do you remember which version of PostgreSQL you started with?
PostgreSQL 7.0. I remember that this version didn’t have the WAL yet, that came later with 7.1.
Have you studied at a university? If yes, was it related to computers? Did your study help you with your current job?
I’ve studied information technologies at the University of Applied Sciences in Aalen, a small town near the village where I grew up. During my studies I had a professor who let me build a Linux server with PostgreSQL for tutorials, which can be used by students to learn databases and SQL. His lectures influenced me in a way that data management and databases in particular became a passion for me. After my studies, PostgreSQL became the central part of my working life and the things I’ve learned during my studies certainly helped a lot to gain a deeper understanding behind all the techniques which can be found in PostgreSQL and other databases.
What other databases are you using? Which one is your favorite?
I worked with MySQL, DB2 and Informix during my studies during internships and part time employment in a smaller web company. But if I could characterize a database to be designed, there’s definitely PostgreSQL to say. And it’s not only because of its features, but also the people behind it. But I’m generally interested in all kinds of database technologies.
On which PostgreSQL-related projects are you currently working?
As a consultant I’m involved in many aspects my customers are facing when using PostgreSQL in their company.
How do you contribute to PostgreSQL?
In the past I did some code contributions to PostgreSQL, and reviewed patches. Unfortunately, that became less and less in the last years because of a lack of (free) time. But I hope I can improve on this in the near future again. I also maintain the Informix FDW extension for PostgreSQL.
Any contributions to PostgreSQL which do not involve writing code?
Spread the enthusiasm of PostgreSQL and help customers to efficiently solve their challenges with PostgreSQL.
What is your favorite PostgreSQL extension?
Informix FDW….no just kidding, pg_stat_statements or pg_wait_sampling, because they help to reveal performance problems quickly. There are many other useful extensions and this shows the power of PostgreSQL and its extensibility.
What is the most annoying PostgreSQL thing you can think of? And any chance to fix it?
psql is one of the best interactive tools I’ve ever used…but at the same time the worst batch processor I can think of ;)
What is the feature you like most in the latest PostgreSQL version?
The VACUUM failsafe mechanisms and btree index bottom up deletion improvements as well as the memoize infrastructure in the optimizer.
Adding to that, what feature/mechanism would you like to see in PostgreSQL? And why?
Incremental physical backups over the streaming protocol. That enables sophisticated backup solutions just “over the wire”.
Could you describe your PostgreSQL development toolbox?
gcc/clang, git, gdb/cgdb, emacs, etags, valgrind and perf.
Which skills are a must have for a PostgreSQL developer/user?
For a developer, besides having knowledge in C programming, you should have patience and sometimes a thick skin. The latter isn’t necessarily meant in a negative way, but if you propose your patch for inclusion into PostgreSQL there can be controversial discussions and you must be prepared for compromises or even get your proposal rejected.
Do you use any git best practices, which makes working with PostgreSQL easier?
git grep, git blame and git show, so nothing special. I’m also using git worktree to have a tree for each major release separately on my workstation.
Which PostgreSQL conferences do you visit? Do you submit talks?
I’m a regular attendee at PGConf.EU, PGConf.DE and some of the PGDays. I also visited some of the PGCon’s in Ottawa. If time permitted, I submitted talks to those events.
Do you think PostgreSQL has a high entry barrier?
Personally I don’t think so. PostgreSQL is nowadays easy to install thanks to the packaging projects or the Windows installer. The strength of PostgreSQL is that it is able to grow with you and your projects. There’s still room to improve the tooling around PostgreSQL, though.
What is your advice for people who want to start PostgreSQL developing - as in, contributing to the project. Where and how should they start?
First of all, I’d recommend reading the -hackers and -bugs mailing list and start researching areas of interest. You can help tracking down issues, reviewing patches you think are appropriate for you and your current skill level or discuss them with others.
Do you think PostgreSQL will be here for many years in the future?
Definitely. I saw PostgreSQL growing up in the last 20 years to be one of the most important open source projects and I think PostgreSQL will develop further.
Would you recommend PostgreSQL for business, or for side projects?
As said above, PostgreSQL can grow with any kind of needs within enterprises. You can start with small projects and grow the database once you discover its strength. Many projects I supported over the years started exactly like this, with a small project and in the end replaced the mission critical core databases.
Are you reading the -hackers mailinglist? Any other list?
I regularly read -hackers and sometimes scan through the -bugs mailing lists.
What other places do you hang out?
I can be found on IRC, Slack, Twitter and all the other important communication channels.
Which other Open Source projects are you involved or interested in?
I am also very interested in the Debezium project, and all the cool data streaming and processing projects like Apache Kafka, Flink or Nifi.
Anything else you like to add?
Many thanks to all the amazing people behind PostgreSQL. And personally I’d like to thank especially Jan Wieck and Peter Eisentraut for their support in my early PostgreSQL days.