Hou Zhijie



Reading time: 5 minutes

Tags:   postgresql (133)   logical replication (3)   hackers (4)   china (2)   fujitsu (4)   fnst (1)  
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.

My name is Hou Zhijie. I am from China and live in Nanjing. I have been working at Nanjing Fujitsu Nanda Software Technology since graduation. I was working in the Fujitsu Enterprise PostgreSQL development and maintenance team, and now I work as part of the PostgreSQL open-source team at Fujitsu.

Hou Zhijie

Hou Zhijie

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

I really like playing TRPG (Table-Top Role Playing Game) with my friends in my free time. Some of the TRPGs I play regularly are Call of Cthulhu(COC) and terror infinity TRPG. In these games, you can play a completely different character and go on an exciting adventure in a supernatural world.

I also love playing basketball, and I’ve recently started learning to draw character sketches.

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

What is the best advice you ever got?

One of my friends told me that “When your talent can’t support your ambition, just stop and learn more”.

When did you start using PostgreSQL, and why?

In 2018, when I was learning database internals due to work requirements, my friend suggested that I can refer to the implementation of PostgreSQL. From that day on, I became interested in PostgreSQL and started to research and use PostgreSQL.

Do you remember which version of PostgreSQL you started with?

V10

Yes, I graduated from Nanjing University of Posts and Telecommunications majoring in software engineering. I think the data structures, algorithms, and some basic database knowledge I learned in college helps me a lot.

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

I also use SQLite and Redis to store some simple data. But my favorite database is PostgreSQL.

I am currently working on the “logical replication parallel apply and logical replication for DDL” feature.

How do you contribute to PostgreSQL?

I’ve been contributing patches for new features, bug fixes and improvements. I often share internal technology about PostgreSQL in the company and encourage my colleagues to contribute to PostgreSQL.

Any contributions to PostgreSQL which do not involve writing code?

I review some interesting patches and post some suggestions for improvement. And I sometimes get involved in discussions of new features in PostgreSQL.

What is your favorite PostgreSQL extension?

pg_hint_plan. PostgreSQL’s optimizer is very good, but I often need to analyze and research some specific query plans. Using pg_hint_plan can make it easier for me to build the expected query plan.

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

Some of my friends complained that logical replication requires a high privilege for the replication connection user and cannot set specific privileges on publication. There have been some attempts to improve this and the patch is under review.

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

Row filter and column list for logical replication. I think these features give users more flexibility when building the replication.

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

The feature to exclude certain columns while publishing a particular table. I think it will be useful if the table has many columns while we want to exclude a few sensitive columns in replication.

Could you describe your PostgreSQL development toolbox?

VScode, GCC/Clang, GDB, GIT. I also use perf to measure the performance of newly added codes.

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

I haven’t had a chance to speak at conferences due to the coronavirus. But I hope to have the opportunity to participate in some in the future.

Do you think PostgreSQL has a high entry barrier?

No. I think PostgreSQL is very friendly to users and developers. When I was new to PostgreSQL, I got started very quickly because of the comprehensive code comments and documentation.

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 think they can first look at the Development information page in the PostgreSQL Wiki.

Personally, I think it would be easier to start by reviewing some interesting patches in Commitfest. They can start by reviewing some documentation patches and try to review patches for bug fixes and new features when more familiar with the PostgreSQL kernel.

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

Yes. Postgresql has a great community and is constantly adding great new features. So, I believe Postgresql will be more popular in the future.

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

I read -committers, -hackers, -bugs and -general.

What other places do you hang out?

I am interested in Pgpool-II, so I also read pgpool-hackers.

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

I am also interested in “Blender” which is a free and open source 3D creation suite. Although I haven’t started to contribute to it, I hope I will get started soon.

Anything else you like to add?

I’m grateful to my company and the team I work with for supporting me.