Laurenz Albe



Tags:   postgresql    cybertec    foreign-data-wrapper    oracle_fdw    austria    tarock   
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, and where you are from.

I live in Vienna, Austria, the city of my birth. I am working for Cybertec as a PostgreSQL consultant, trainer and developer.

Laurenz Albe

Laurenz Albe

How do you spend your free time? What are your hobbies?

Free time? You must be kidding; I have three children. When possible, I like taking walks or playing a round of Tarock (a card game popular in the area of the former Austro-Hungarian empire) with friends.

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

If you count Stackoverflow as social media, that would be my channel. I got into that when I learned that the famous ranking from db-engines.com was partly based on the number of Stackoverflow questions. You could say that I am trying to make PostgreSQL famous.

Last book you read? Or a book you want to recommend to readers?

A random collection of favorites: “A confederacy of Dunces” by John Kennedy Toole, “Die Welt als Wille und Vorstellung” by Arthur Schopenhauer, “The Hitchhiker’s Guide to the Galaxy” by Douglas Adams

Any favorite movie, or show?

“The Life of Brian”, “Brazil”, … ah, there are so many

How would your ideal weekend look like?

I guess hang out some with the family, and a card game in the evening with a glass of wine or three.

What’s still on your bucket list?

I have achieved everything I want (the secret is not to want too much).

What is the best advice you ever got?

Pick your fights. Let go of the fights you don’t pick.

When did you start using PostgreSQL, and why?

Must have been 2005, when my then employer decided they wanted an open source database. I got assigned the task to review PostgreSQL, since a co-worker fell ill. I started reading the documentation and was hooked. Ever since that, I consider the documentation one of the killer features of PostgreSQL.

Do you remember which version of PostgreSQL you started with?

That was 8.0. The first version we used in production was 8.1. My first patch went into 8.2.

I had studied mathematics, but after getting my master’s degree I was unsure how to proceed. A friend persuaded me to study computer science, and I figured, what the heck, it might feed me. Mathematics helps with analytical thinking, and I got a decent introduction to database theory in computer science, so I would say that it definitely helped.

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

I use none other than PostgreSQL if I can help it. Since I develop the Oracle foreign data wrapper, I cannot help getting into contact with Oracle more than I like to.

Keeping my customers happy :^)

How do you contribute to PostgreSQL?

I contribute the occasional feature or bug fix to PostgreSQL (and review other’s patches), I maintain the Oracle foreign data wrapper.

Any contributions to PostgreSQL which do not involve writing code?

I try to answer questions on the mailing lists and on Stackoverflow. I consider teaching PostgreSQL a contribution as well - I hope I can spread my enthusiasm.

What is your favorite PostgreSQL extension?

pg_stat_statements, because it makes life easy. Pg_trgm, because it can do magic.

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

The lack of readline support on Windows comes to mind. The fix is simple: install Linux.

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

Autovacuum for insert-only tables. That reduces the pain with anti-wraparound VACUUM and makes index-only scans on insert-only tables painless.

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

Automatic partition creation, because people keep asking for it. Currently, you have to create partitions before you can use them. That’s normally not a big deal, but if you are using a hosted database where you have no shell access and cannot create a cron job, it can be annoying. There is a patch in the current commitfest, but I doubt that it will make v14.

Could you describe your PostgreSQL development toolbox?

vi, git, gcc, gdb, valgrind

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

Apart from the programming and database skills, you need a lot of perseverance and dedication to write code for PostgreSQL. It is tough to put your code out for public scrutiny and have it criticized and/or ignored. You have to deal with wishes and suggestions that may contradict each other and negotiate a compromise. It can take months or years to get your patch in.

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

“git blame” to unravel the history.

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

PGConf EU and the German, Swiss and Austrian conferences. It is great to “meet the family” and be among so many people who are all enthusiastic about PostgreSQL. I submit talks, but the competition for PGConf EU is fierce.

Do you think Postgres has a high entry barrier?

I don’t think so. The documentation is great, the code is great, the READMEs are great. People who don’t feel comfortable reading English have a hard time, 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?

If you want to contribute code, start following pgsql-hackers and understand how people communicate there. Read the developer FAQ. Review patches. Pick a smaller project that you are personally interested in, so that you can summon the dedication to see it through. But there are many other ways to contribute: report bugs, test beta versions, answer mailing list questions, attend conferences, evangelize.

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

Absolutely. It is good stuff, and it is not a hype that will soon be forgotten. Relational databases aren’t going to go away anytime soon, and PostgreSQL won’t either.

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

It is a general purpose database, and I would recommend it for anything that does not require an embedded database.

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

I am trying to keep up with -hackers , -docs and the more important user lists.

What other places do you hang out?

Stackoverflow.

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

I am not involved, but of course Linux is amazing.

Anything else you like to add?

Thanks for giving me my five minutes in the limelight!