Sebastiaan Mannem



Tags:   postgresql    edb    ansible    postgresql_pg_hba    wal-g    oauth2    museum   
Category:   Interviews   
Interview conducted 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 was born in a city that is nowadays called Lelystad in the Netherlands. Lelystad was founded in 1967, and is built on reclaimed land, so a few years before that it was all water, and it still is approximately 3 metres (9.8 feet) below the sea level.

I have a younger sister, and together we grew up in a very comfortable family. My father, being a bus driver, always pointed out to me how important it is to study, and so I did. I went to high school (Electronics), and after that I started working, one job after another. I soon landed in IT, and it turned out I had a nag for databases. I managed the database systems for the Dutch government (Jails), started with SQL Server, moved over to Oracle to see if that was more exciting, and ended up being a team lead, and we started introducing Postgres.

After 7 years, I left the Dutch government, and I was all in on Postgres. Worked for a small Dutch competitor, worked for a huge retail shop managing their Postgres Infrastructure, and ended up as a Senior Consultant, Solutions Architect, and finally a Product Manager for EDB. Just now I am starting my own company called Mannem Solutions.

Sebastiaan Mannem

Sebastiaan Mannem

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

My hobbies are (in that order):

  • My family (I have a wife and three kids)
  • New stuff. Lately I am trying to wrap my head around cryptocurrencies and blockchain
  • I contribute to Open Source software. Some projects I am proud of:
    • I contributed the pg_hba module for Ansible
    • I contributed to WAL-G streaming and BASE_BACKUP streaming in WAL-G.
    • I am now working on a new project called pgfga, a tool to sync IAM accounts in ldap to Postgres. Rebuilding it in GoLang and it will be extended to support other IAM next to ldap.

I guess I am still a geek…

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

Personal:

Business:

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

There is so many I could call out, but a friend of mine once gave me the book:

“The hundred year old man that climbed out of the window and disappeared”.

The reason I like this book is that it reminds me that life is one big adventure. As is mentioned in the book: “Things are, and things happen”, and from that perspective, just being alive is the greatest gift of all.

Any favorite movie, or show?

This is my perfect way to relax, so there is a lot to like for me.

Probably my favorite series would be Game of Thrones, or Sons of Anarchy.

And I like a lot of movies, like The Matrix, Star Wars, all of the superhero movies, Mad Max, and what have you.

What would your ideal weekend look like?

On Saturday I would start my day early, and go out jogging before attending breakfast with my family. After that, parents, mother in law, and/or other relatives would visit us to celebrate, and we would end the day with a barbeque.

On Sunday, we would sleep in (until about 9:00), enjoy breakfast, and would plan to go out to go hiking in nature, visit a museum, a bike ride, or something similar.

What’s still on your bucket list?

  • I always wanted to start my own company. Doing that right now.
  • I would like to start a youtube channel about creativity
  • I would like to write a book
  • I would like to coach people in being successful

What is the best advice you ever got?

The older you get, the most you start becoming yourself

When did you start using PostgreSQL, and why?

As I moved from a job as a VB6/SQL developer to a SQL Server DBA, I was looking for an Open Source alternative to SQL server, and I looked into PostgreSQL and MySQL. Even then, MySQL was already wonky, and PostgreSQL did great. That must have been around 2007, installed on Windows as part of a LAPP stack. During those days I always used PostgreSQL for hobby projects, and startups of new ventures I pursued. Until I started using it professionally, around 2011/2012.

Do you remember which version of PostgreSQL you started with?

Yes, it must have been 8.2. I also worked with 8.3, and 8.4 in those days.

No, I studied Higher Technical School (Electronics), which was colocated with the higher Computer Science. That being said, I learned all about AND/OR, transistors, frequencies noise, analogues and digital, fuzzy logic, etc. So, yes. My study helped me a lot.

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

I started with automatic stuff in MsAccess, which was fun at the time. After a while I started working with MsSQL Server, Oracle, a bit of DB2, and PostgreSQL. PostgreSQL is my favorite by far, but I like SQL Server for its IAM integration. And I think that Oracle RAC still is a very powerful setup, although I do feel that using a microservice architecture it should not be required.

I once contributed an Ansible module on PostgreSQL, and I am contributing to WAL-G. I would like to improve my work I did at bol.com on pg_replication_activity, and on pghba (to sync ldap to PostgreSQL). I am also working on a high performance data loader built in RustLang. It was all private time, but starting August 2021 I have planned one working day to contribute, which will be awesome.

How do you contribute to PostgreSQL?

I am collaborating on Open Source tools development projects to bring PostgreSQL’s power to the max. And I am doing weird experiments, like loading data in parallel, as fast as I can, and investigating how CPU’s and TPS tie together.

Any contributions to PostgreSQL which do not involve writing code?

I like to present at PGConf and other conferences. Not doing that much lately, but will try to do more in the near future again.

What is your favorite PostgreSQL extension?

The Extension concept is awesome, and there are so many great extensions. I think I like the Foreign Data Wrappers a lot. But basically I am most looking forward to the Pluggable Storage capabilities. I hope we will see great new storage engines coming in the near future.

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

I think we really need to improve the options for single sign on without requiring passwords cleartext on disk. There are options, but they could be better, and also we should create a solution out of the bits and pieces. I will be working on that with pgfga, but in all honesty, I think that PostgreSQL core should have some improvements before it could be comparable to IAM integration capabilities for SQL Server and DB2.

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

Let me call out 2 smaller new capabilities coming in v14:

  • I like the date binning option that date_bin() adds
  • I like the SEARCH and CYCLE options added to Common Table Expressions

Options like these make the Query language so much more powerful to process the data in a meaningful way…

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

I would like to see an authentication method for oAuth2. This new authentication mechanism is used ever more often, and is starting to win ground from ldap and Kerberos. Other RDBMS’s support oAuth2 authentication natively, and PostgreSQL has some ground work to do here. And I would like to see a decoupling between the ldap / IAM user and the internal PostgreSQL user. Like login without the LDAP user existing in PostgreSQL, ownership of created objects for the groups rather than the individual user, and more info on the role object (ldap DN, external uid, IAM URN, things like that). That would allow for far finer IAM integration.

Could you describe your PostgreSQL development toolbox?

I am not a PostgreSQL developer. More of a Tools developer, and a geek. Basically what I do is create a git repo with a Makefile that can build, test, etc. the project. Usually I then run a docker container with PostgreSQL, and a second docker container to build and test the tool to run against PostgreSQL. Of course the github project has a CI/CD pipeline to run unit and integration tests. As an IDE, I use GoLand for GoLang and Atom for other languages. I probably should move to using just one, but for now this works well enough.

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

I would say:

  • Creativity
  • A mindset to automate everything (CI?CD, TDD, etc.)
  • Good knowledge of the Programming language (that would be C for PostgreSQL)
  • Endurance, optimistic, small ego, and patience

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

I use git a lot, to find out certain implementations, who built and improved them, and when. I use git blame, git show, and git checkout moving through the history of branches.

I think that the general best practices apply: Always use git, always publish on github / gitlab, and always have a proper license in your project. But with PostgreSQL that already is taken care of ;)…

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

I visit PGConf, and some smaller European PGDay conferences and Meetups. Due to COVID that was running low. Let’s set that up a bit more.

Do you think Postgres has a high entry barrier?

I don’t think the barrier to start with PostgreSQL is high. I do think that we should do better at lowering the bar running PostgreSQL at enterprise scale. The PG community are geeks, and on the geek level there is so much you can do, but there is a need for properly described and tested solutions, reference architectures, etc. There recently has been a lot of movement in that space, but a lot still needs to be done.

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

The advice I was once given, was start with registering to the right mailing lists. From there see if you can do reviews. There are a lot of generic guidelines that you can just apply to commits, which already helps both the developers and the committers when done properly. And it is a good first introduction into the code, the way the community thinks and operates, etc.

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

Yes, I do believe PostgreSQL will be here for many more years. We have a strong and healthy community, and that keeps projects like PostgreSQL alive for a very long time.

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

Yes, I would advise storing all data that requires a relational model into PostgreSQL. There is only one RDBMS that is that powerful and Open Source licensed.

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

No, I should but I haven’t registered yet.

I currently am on these mailing lists:

What other places do you hang out?

I am on Slack , and WAL-G dev Telegram channel.

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

I am highly interested in blockchain projects. Looking into Etherium, Cardano and PolkaDot. But that is just reading and watching videos. I am working on a trading bot, but that is just personal, for fun.

Anything else you like to add?

I think this (the interviews) is an awesome contribution to the community. Thanks for setting this up, and hopefully we can keep things like this going.