Amul Sul



Reading time: 8 minutes

Tags:   postgresql (208)   edb (22)   enterprisedb (11)   india (11)   contributor (2)   pgconf.in (1)   pgsql-hackers (4)   postgres-internals (3)  
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 Amul Mohan Sul, and I grew up and completed my university studies in Mumbai. I did my master’s in computer application from VJTI, Mumbai. In 2012, NTT DATA brought me on board through campus placement. For three years, I dived deep into PostgreSQL, working on NTT DATA’s internal PostgreSQL project.

In 2015, I switched gears to EnterpriseDB, a big name in the PostgreSQL world. There, I sharpened my skills in databases.

Now, I’m an internal database developer and a committer for EDB’s flagship product, EDB Advanced Server (EPAS). I’ve settled down in Pune, always learning and striving to make a positive impact on the PostgreSQL community and beyond.

Amul Sul (right)
Amul Sul (right)

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

In my free time, I enjoy going for short bike rides and shopping with my wife. We shop for household stuff and groceries. But since our baby boy came along a year ago, most of our weekends are spent with him. I love taking him for walks outdoors, on his tricycle.

When I’m alone, I like watching suspense and sci-fi movies and web series. Lately, I’ve been watching videos about managing money and aquascaping on YouTube. It’s helpful and interesting to learn about.

Any exercises you do regularly?

I do a bit of running in the morning and then follow it up with a walk. Later in the evening, I go for another walk.

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

I quit using social media about 5 to 6 years ago because it was taking up too much of my time unnecessarily. Now, I only use LinkedIn for professional connections.

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

The most recent book I read was “The Psychology of Money” by Morgan Housel. It came highly recommended by many people around me, and I’ve heard a lot of good things about it from YouTubers who create content on money management.

Favorite movie, or show?

I enjoy watching a variety of regional serials and movies. Additionally, I’m a big fan of Marvel movies and make sure to watch almost all of them.

Best food?

I enjoy both Indian and Chinese cuisine.

Best drink? Non-alcoholic or alcoholic?

I abstain from alcohol. Instead, I particularly enjoy virgin pina colada mocktails. Additionally, I’m a fan of coffee.

What does your ideal weekend look like?

My ideal weekend is all about being with my loved ones. We could go for a walk in the park, catch up with neighbors, or simply relax at home watching movies or reading. I also enjoy doing things I love, like biking or trying out new activities. The main thing is to have fun and unwind with the people who mean the most to me.

What’s still on your bucket list?

Right now, there are a few things I really want to do or achieve. I’d like to visit some special places, learn new things, try exciting activities like skydiving, and help out in my community. I also used to enjoy a hobby called aquascaping, but I had to stop because my current house doesn’t not have a perfect viewing place. Even though I had to give it up, I still dream about making a big planted aquarium with cool fishes. These are just some of the things I hope to do in the future.

What is the best advice you ever got?

There are plenty of quotes I enjoy, but one that resonated with me recently at a social gathering is: “The less you need, the more you have…”. I find it quite profound.

When did you start using PostgreSQL, and why?

I began working with PostgreSQL in July 2012.

Do you remember which version of PostgreSQL you started with?

9.1

Yes, I studied at VJTI, Mumbai, which is part of Mumbai University. As I mentioned earlier, I pursued a master’s degree in computer application. This educational background greatly helped me secure my first job, which marked the beginning of my journey with PostgreSQL.

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

During my internship, I dabbled with MySQL a bit, but as time went on, I found myself spending the majority of my time working with PostgreSQL, which I found to be more preferable.

I am currently working on enhancing incremental backup and some internal projects for EPAS.

How do you contribute to PostgreSQL?

Yes, I contribute to PostgreSQL.

Any contributions to PostgreSQL which do not involve writing code?

My contributions involve writing code, reviewing, and providing helpful guidance to others.

What are your favorite PostgreSQL extensions?

I find several extensions to be quite useful. As a developer, specifically, I like pageinspect, pg_waldump, pg_buffercache, pg_filedump, and pgbench.

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

I believe that currently, we cannot demote the Master server without stopping it, which takes time due to shutdown checkpoints. I dream of having a feature that allows us to demote the server without stopping it, similar to how we promote it.

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

I find the “dynamic shared memory registry” feature added in version 17 very useful. It allows you to load certain extensions that require shared memory without needing to restart the entire server.

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

I would like to see two features implemented:

  1. The ability to demote the primary node to a standby node without needing to restart it.
  2. The capability to temporarily halt write operations on the primary server to prevent a split-brain state. This situation occurs when the master node becomes unreachable to the HA monitoring system for a while, causing a standby server to be promoted. In such scenarios, the old master might process ongoing write operations or accept new write operations, while the newly promoted master also accepts new write operations, leading to conflicts when the network is restored. If the original master could immediately stop write operations at the moment of network disconnection, it could be added back to the cluster as a standby upon network restoration.

Should PostgreSQL have a built-in connection pooler?

I’m not entirely sure if we really need that, considering the excellent job done by the available connection poolers.

Should PostgreSQL have built-in multi-master replication?

Yes, that would be beneficial, but it would require a significant amount of additional code and rewriting of existing code.

Could you describe your PostgreSQL development toolbox?

I use VIM as my editor with plugins like taglist, fugitive, and cscope. Among these, cscope is especially helpful for browsing the code.

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

A typical database management system and the C programming language.

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

git is incredibly useful. I usually make small changes and write about them in a commit message. Before sharing a patch, I combine small commits into one relevant commit. To keep my main work safe, I try out new things in a different place.

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

I regularly attend Pgconf India and submit talks there. My company sponsors the entire development team to attend, regardless of whether their talks are selected. This conference is especially important as many of our team members work remotely, providing a great opportunity to catch up with them. Additionally, I am very interested in attending to see my current and former colleagues and friends.

Do you think PostgreSQL has a high entry barrier?

No, not at all! There’s a special PostgreSQL mailing list just for newcomers. Anyone can ask any question there, no matter how silly it might seem.

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 PostgreSQL documentation is the best place to start learning, and there are plenty of blogs or videos on YouTube that cover PostgreSQL topics in detail.

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

Yes, I believe PostgreSQL will remain a major player in the field of database management systems. When I started my job, there were very few companies working on and contributing to PostgreSQL. However, the situation has changed, and now even major companies are showing interest in improving PostgreSQL.

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

Certainly! PostgreSQL is easily accessible and straightforward to install, with plenty of guidance available to assist in its use.

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

Yes.

SQL versus NoSQL databases?

SQL and NoSQL databases each have their own strengths and are useful for different purposes.

Anything else you like to add?

Thank you, Andreas, for this fantastic initiative that helps us learn more about PostgreSQL contributors and users.


Share: