Reading time: 6 minutes
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 Vigneshwaran C, and I live in Bangalore, Karnataka, India. I work as part of the Postgres open-source team in Fujitsu.
How do you spend your free time? What are your hobbies?
I spend my free time with my family. I also like to play badminton and do yoga whenever I get time.
Any Social Media channels of yours we should be aware of?
Last book you read? Or a book you want to recommend to readers?
I recently read a couple of books that were recommended by my friends to understand the life from another perspective: a) The monk who sold his ferrari and b) ikagai - The Japanese secret to a long and happy life
I would recommend “The Internals of PostgreSQL” by Hironobu Suzuki to people who want to become a postgres internals developer.
Any favorite movie, or show?
I like watching movies and shows in OTT. I had recently seen RRR, KGF & Bahubali movies. I have watched Friends & Malcolm in the middle series many times.
What’s still on your bucket list?
I have visited the Great Wall of China. It was a wonderful moment. I would like to visit the Taj Mahal and Andaman and Nicobar Islands with my family.
What is the best advice you ever got?
Give your best and don’t worry about the results.
When did you start using PostgreSQL, and why?
I started using postgres around 2013 to understand what are the different backups supported and to understand about pg_basebackup, pg_rman, pg_dump, pg_dumpall and pg_restore.
Do you remember which version of PostgreSQL you started with?
Have you studied at a university? If yes, was it related to computers? Did your study help you with your current job?
I did my Bachelor of Engineering in Computer Science from Visvesvaraya Technological University. It helped me to start my career to work in database internals which eventually led me to work in Postgres internals.
What other databases are you using? Which one is your favorite?
I have been using the Postgres database for nearly 10 years. Postgres database is my favorite database.
On which PostgreSQL-related projects are you currently working?
I’m working on a) Provide an option to skip logical replication of specified tables, b) Provide an option to skip logical replication of remote origin data & c) Provide a framework that will support Logical replication group.
How do you contribute to PostgreSQL?
I contribute to Postgres by developing features, fixing defects, reviewing the patches, testing the patches and writing blogs.
Any contributions to PostgreSQL which do not involve writing code?
I pickup the patches in logical replication, dump, restore and copy modules and check if it follows SQL standards, does it handle the changes for pg_dump, check if Assert works as expected, check if the feature documents the new options added, check if the tests are sufficient and check if the new changes has any performance impact.
What is your favorite PostgreSQL extension?
I use pg_controldata, pg_waldump and pg_bench which helps me in debugging the issues. I also like pg_stat_statements which tracks the database statistics and plugin_debugger which helps in debugging pl/pgsql functions.
What is the most annoying PostgreSQL thing you can think of? And any chance to fix it?
Currently PostgreSQL does not support logical replication of DDL statements, there is some discussion going on to support this feature. Hopefully it should be supported in the upcoming version.
What is the feature you like most in the latest PostgreSQL version?
Allow publication of all tables in a schema which helps in replicating changes for all tables in the specified list of schemas and allowing to skip a transaction in subscriber which helps in skipping all data modification changes within the transaction.
Adding to that, what feature/mechanism would you like to see in PostgreSQL? And why?
I would like PostgreSQL to support multi master replication, this will help customer in load balancing, rolling updates of nodes (e.g., logical replication works between different major versions of PostgreSQL), improves the availability of the system (e.g., no single point of failure) and improves performance in data aware applications.
Could you describe your PostgreSQL development toolbox?
My environment consists of Ubuntu with Visual Studio Code (VSCode), gcc, gdb, vim and perf.
Which skills are a must have for a PostgreSQL developer/user?
I felt a person who knows C and is good at debugging is enough to be a PostgreSQL developer. Additional knowledge of Perl and SQL will help in understanding the existing tests and enhance the tests.
Do you use any git best practices, which makes working with PostgreSQL easier?
I use git pull to get the latest code, git format-patch to create the patches for the features and bug fixes, git am and patch -p1 to apply the patches, git diff –check to check if the code formatting has no issues, git diff to review the code changes, git commit to commit the changes locally and git blame to see when each line was last modified and which commit had made that change.
Which PostgreSQL conferences do you visit? Do you submit talks?
Do you think PostgreSQL has a high entry barrier?
No not at all, PostgreSQL has a very good documentation to understand the features and a very friendly community to answer all the queries.
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 would recommend people to start by a) going through the documentation, b) make a working setup c) play around by executing various DDL & DML operations d) subscribe to -hackers & -bugs mailing list e) test and review the patches in hackers and bugs f) Read Postgres Internals.
Do you think PostgreSQL will be here for many years in the future?
Postgres will be here for many more years and help many of the companies to provide a lot of features on “on premise” and in the Cloud.
Would you recommend PostgreSQL for business, or for side projects?
Yes, as PostgreSQL is an open source database having a good community provides quick and prompt support to the queries posted. Also PostgreSQL adds a lot of features around performance, monitoring, security, replication, backup, utility commands, data types, new extension, etc with every version.
Are you reading the -hackers mailinglist? Any other list?
Anything else you like to add?
I would like to thank the people who helped me to contribute to the Postgres open source. I’m grateful to Fujitsu and EnterpriseDB who supported me on various patches and in many different ways.