Ashutosh Bapat



Reading time: 5 minutes

Tags:   postgresql (141)   code-review (4)   postgres-fdw (2)   partition-wise join (1)   edb (15)   india (5)   harry potter (1)   baking (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.

I am from Pune, Maharashtra, India. I graduated from IIT Bombay with M.Tech. in Computer Science and Engineering. As part of my masters thesis I worked on “Pitch Detection of voice in Tabla accompaniment”. I started my career working with Sybase, now an SAP company, as a database internals developer. I worked on ASE, Sybase’s flagship database server.

Later I moved to EnterpriseDB starting my journey with the “Elephant” which has so far been enjoyable. Since then I have contributed to open source PostgreSQL as well as its forks like EPAS, Postgres-XC, 2ndQPostgres, focusing mostly on the distributed database solutions based on PostgreSQL. I have contributed in many areas of PostgreSQL or its forks but chiefly query processing, partitioning, FDW, postgres-fdw, transaction management. Currently, I am working with BDR, Bi-directional replication solution based on PostgreSQL with focus on logical replication.

I also spent about a year contributing features to Hive Replication.

Ashutosh Bapat

Ashutosh Bapat

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

I have indulged in many forms of arts including music, embroidery, dance aerobics, poetry and literature. I am also interested in hiking, trekking. I am developing my interests in baking and Astrology.

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

LinkedIn

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

The Little Princes, by Frances Hodgson Burnett. Quidditch Through The Ages by J. K. Rowling, Currently I am reading “The Manager’s Path” by Camille Fournier.

Any favorite movie, or show?

Many, Harry Potter movies among them.

What does your ideal weekend look like?

No weekend is alike. Usually I spend time with family and hobbies, bake different kinds of breads, gardening, hiking, anything other than coding.

When did you start using PostgreSQL, and why?

I started working with PostgreSQL when I joined EnterpriseDB.

Do you remember which version of PostgreSQL you started with?

9.0

IIT Bombay. I took courses from the Computer Science and Engineering department. In those two years I got introduced to many branches of computer science and research methodologies. That developed my interest in system software and distributed systems. My thesis, on “Pitch Detection of Voice in Tabla Accompaniment”, helped me develop analytical and problem solving skills which I still use to solve problems and make improvements, not just in PostgreSQL but in many spheres of life.

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

PostgreSQL

BDR, pglogical.

How do you contribute to PostgreSQL?

My contributions to PostgreSQL are mostly funded by EnterpriseDB and 2ndQuadrant. The team chooses a feature to be developed. I prepare a design, an implementation patch (sometimes starting with a PoC) and present it on the hackers mailing list. Interested people review the proposal, code and make suggestions. We discuss those on the mailing list. Some suggestions convert into code or design changes. The patch goes through several iterations. Finally, a committer picks it up and commits if there are no objections raised. Same thing goes with the bug fixes, but usually in a lesser number of iterations. When I submit a patch, I also make sure to review others’ patches and proposals.

Any contributions to PostgreSQL which do not involve writing code?

Evangelization, talking about PostgreSQL in conferences, writing blogs, supporting PostgreSQL deployments.

What is your favorite PostgreSQL extension?

postgres_fdw because I have contributed to it myself and it is one of the building blocks of sharding. Similarly for pglogical.

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

Time and efforts it requires to get a patch accepted in PostgreSQL. I think, PostgreSQL community needs to adopt a lot of modern software development practices like review boards, CI.

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

Really none. All you need is to be able to appear on -hackers or -bugs or -general and start participating in the conversation there. You will “eventually” acquire all the required skills, if you are patient. But if you are not that patient, familiarity with C, basic knowledge of data structures, and database concepts are a must.

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

I have so far talked at PostgreSQL conferences in Chicago, Tokyo, Bengaluru and of-course Ottawa, which is by far my favourite one.

Do you think PostgreSQL has a high entry barrier?

I have worked in other open source communities. Every community has its own idiosyncrasies, which impacts entry. The PostgreSQL community is one of the oldest and uses old methods of communication and development. I think that is the most difficult barrier.

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

Anybody and everybody can contribute to PostgreSQL. I think the key is to identify the areas to contribute based on personal skills. For example, one could compose a great jingle advertising PostgreSQL. PostgreSQL is almost an ecosystem by itself.

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

I hope it does. Whether an entity survives the test of time is largely dependent upon whether it adapts to changing circumstances. The circumstances now are favourable to PostgreSQL. It is a great product by itself. The project is delivering features which are relevant in these times. But the rate of accepting the features, adopting new methods, people, and talent is rather slow. PostgreSQL as a project will succeed if it adapts itself to the changing times.

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

I am using PostgreSQL for my personal projects. It works almost out of the box and doesn’t need much looking after. It is also robust, performant and cost effective to be accepted for businesses.

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

I have contributed to Hive and am still a spectator of their mailing list and JIRA.