Masahiko Sawada



Reading time: 5 minutes

Tags:   postgresql (119)   japan (6)  
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’m from Japan, and live in Kanagawa. I’m a PostgreSQL user and contributor, and work for EDB. I’m the father of my kid - a 1 year old boy.

Masahiko Sawada

Masahiko Sawada

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

Mainly playing with my kid, reading books and papers (mainly database research papers) to study new things, and playing tennis. I’d like to play tennis with my kid in the future.

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

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

“A Philosophy of Software Design”. I was looking for a book that helps me to understand good and bad software design. This book explains well the principles of software design, good design and bad design, and its reason.

What does your ideal weekend look like?

Relaxing at home with family or going out with my family, and meeting relatives and friends.

When did you start using PostgreSQL, and why?

In 2012, after graduating university, I joined a team that is responsible for PostgreSQL R&D and providing PostgreSQL technical support.

Do you remember which version of PostgreSQL you started with?

PostgreSQL 9.2

How do you contribute to PostgreSQL?

Writing code, reviewing patches. Vacuum is one of the most interesting parts of PostgreSQL to me. Replication and transaction areas are also my interests.

Any contributions to PostgreSQL which do not involve writing code?

I’ve been organizing PostgreSQL Unconference Japan every month in Japan for almost 2 years. Due to the COVID-19 pandemic it’s been an online conference. I volunteered as a commit fest manager for the 2021-01 Commitfest.

I was looking for a way to contribute to PostgreSQL development other than writing and reviewing code. Commitfest is the heart of PostgreSQL development and smoothly organizing many proposed patches helps its productivity. My boss suggested that I play the commitfest manager role. I originally wanted to do that role at some point so I was happy to volunteer..

One task is to garner interest from patch authors into actually reviewing patches. If a patch author continues to work on their own patches exclusively, they will not have time to review or commit other people’s patches. By sending public emails to the group we help patch authors to be reminded that they need to look at other people’s patches, not just their own. Also, the commitfest manager is responsible for closing all patches when the commitfest is over. Depending on activity on patches we move the patches to the next commitfest or close the patch that the author leaves to linger without updates.

What is your favorite PostgreSQL extension?

pg_bigm, an extension providing faster full-text search using 2-gram index for language that is encoded using two or more bytes and is searched also by 2 characters, like Japanese. This is also the first PostgreSQL-related project that I contributed to.

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

I’m sure the discussion is endless, but I still hear about users being annoyed by vacuum and freezing. I’ve been working on improving vacuum through code contributions and reviews. The freeze thing in particular is one of the issues I want to address.

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

Bottom-up deletion in B-tree indexes in PostgreSQL 14.

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

  1. 64-bit XID or some other features to eliminate freeze or to freeze with less cost.
  2. Single page repair/recovery. Currently it’s required to restore the database from a backup even in case of one page failure. pg_surgery will be a good solution for manually repairing individual pages but I’d like to do that automatically using WAL or physical standby.

Could you describe your PostgreSQL development toolbox?

emacs, lldb, and tmux. With tmux we can hold sessions, divide horizontally or vertically the screen, switching screens by short-cut commands, which is quite helpful.

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

As for developers, of course they need to have the skills to write code, review and debug programs. In addition, I think it is important to have the skills to discuss functional specifications and approaches on the mailing list while incorporating various ideas.

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

I’ve been to PGCon, FOSDEM, PGConf.EU, PGConf.Russia, PGConf.Asia, and FOSSASIA and submitted talks for all conferences.

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

I’d recommend starting with hacking contrib modules or external tools for the first step. They are likely to have a smaller code scale than hacking PostgreSQL core. And joining a local meetup would also be a good chance to connect with PostgreSQL developers.

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

Yes. The community has been very active for many years and PostgreSQL adoption is increasing also in Japan.

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

Yes, both. I believe that a highly functional and continuously developed database is suitable for business. Even if the requirements for the database change or the scale of the business grows, users can continue to use the same database and use the knowledge accumulated up to that point. On the other hand, for side projects (which I consider to be personal hobbies, etc.), I think a highly functional yet easy to use database is more suitable. Maybe they also want to learn about databases and SQL. In any case, PostgreSQL is a highly functional database that is easy to start using and can meet more strict requirements while being downloaded for free.

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

Mainly -hackers, -committers, and -bugs.

Anything else you like to add?

Thank you for doing those interviews. It’s a very good way to get to know the PostgreSQL community. I look forward to seeing people in the community again at conferences after this turmoil is over.