Reading time: 7 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 Bharath Rupireddy. I’m working at Microsoft on Postgres internals. I live with my wife, Mrs. Brundhavani, in Hyderabad, Telangana, India.
How do you spend your free time? What are your hobbies?
I spend most of my time with my wife, family and friends. I jog and cycle for sometime every week. I visit different places here in India. I spend a good amount of my free time hacking Postgres code as I like doing it.
Any Social Media channels of yours we should be aware of?
Last book you read? Or a book you want to recommend to readers?
Database System Concepts by Avi Silberschatz, Henry F. Korth, S. Sudarshan. This book helped me get a good knowledge in database internals. I also follow lectures from CMUDatabaseGroup and DB2 — Chapter 01 — Video #01 — Introduction - YouTube and The Internals of PostgreSQL : Introduction (interdb.jp) for database/Postgres internals. I would recommend these for learning database/Postgres internals.
Any favorite movie, or show?
I watch Telugu (my mother tongue) and English movies/shows mostly. I love comedy, time-travel, and scientific genres a lot. I like Dark (a NetFlix series), Mr. Bean’s Johnny English movies and his comedy series, Interstellar, Avatar, Jurassic World series, Iron Man, James Bond series, The Martian, Train To Busan, Parasite to name a few.
What does your ideal weekend look like?
I go out with my wife for lunch/dinner or visit some nearest place and watch movies/shows or pay a visit to my native-place (where my parents live). I spend some time checking any of the hackers mails that I need to respond to. I sometimes prefer to be the laziest person in the world and not to do anything at all but just sleep or kill time.
What’s still on your bucket list?
I would like to always learn something new in Postgres (and databases in general) and contribute in whichever way I can to the Postgres open source community. Also, I would like to travel to many more places (currently visiting places in India) across the world with my wife.
What is the best advice you ever got?
The best pieces of advice I’ve got from various people that I’ve come across so far: “Don’t stop learning. Be enthusiastic. Love what you do. Ask powerful questions.”
When did you start using PostgreSQL, and why?
I started to use PostgreSQL when I was working at EnterpriseDB. I got a chance to work on the “Parallel Copy” feature (although it didn’t get committed, I personally learnt a lot from it). That laid the foundation for me to actually spend more time contributing to open source.
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?
Yes, I completed Bachelor of Technology in Electronics and Communication Engineering from Kakatiya University, Warangal, Telangana, India.
What other databases are you using? Which one is your favorite?
I’m currently using Postgres and it is my favorite. I also had experience in using the Teradata database.
On which PostgreSQL-related projects are you currently working?
How do you contribute to PostgreSQL?
I propose new features, patches, provide design thoughts, review others patches/features. I’m a recognized Postgres contributor.
Any contributions to PostgreSQL which do not involve writing code?
I mostly write code and contribute. I sometimes receive emails/messages from folks who are interested in contributing to Postgres. I help them answer their questions and provide them with the right resources.
What is your favorite PostgreSQL extension or tool?
Firstly, I like pg_controldata, pg_receivewal, pg_waldump, and pgbench tools the most because they helped me a lot in my work. Also, I like extensions pg_walinspect, pageinspect and postgres_fdw (as it allows on the fly access of the selective tables from other Postgres databases without needing to bring them into the source Postgres database).
What is the feature you like most in the latest PostgreSQL version?
I like the feature “Allow users to limit storage reserved by replication slots” that went into version 13. I wish this feature could have been there in the older versions too.
Adding to that, what feature/mechanism would you like to see in PostgreSQL? And why?
With Postgres being adopted on to cloud environments these days, we have many things to improve: better logging mechanism for manageability, more extensions and tools to avoid duplicate efforts by vendors, better predefined roles and pseudo-superuser access to improve security, and more parallelism (parallel inserts, updates, deletes). We have to accept the fact that all the users will not have access to the server file system, command line access, server logs etc. in cloud-environments. Features with postgres-on-cloud in mind will greatly help IMO.
Could you describe your PostgreSQL development toolbox?
Visual Studio Code (VSCode) with extensions such as GitLens, C/C++ IntelliSense, Remote - SSH. Ubuntu Virtual Machine on Microsoft Azure Cloud. My Ubuntu VM has the source code and I use VSCode running on my local dev laptop to connect to the VM and do my work.
Which skills are a must have for a PostgreSQL developer/user?
Firstly, one should love databases to the core and have zeal to learn new things. Then, learning C or Postgres isn’t that tough. Postgres source code (READMEs and comments) itself gives an enriching experience to learn the stuff. Above this, we have documentation and mailing lists where hackers can help clarify things.
Do you use any git best practices, which makes working with PostgreSQL easier?
I use few git commands (git pull,
Which PostgreSQL conferences do you visit? Do you submit talks?
I visited PGConf India, 2020. I haven’t submitted any talks so far, but I would like to submit one to an in-person conference. I’m looking forward to more in-person conferences to meet the community and spend some quality time on discussing things and have fun.
Do you think PostgreSQL has a high entry barrier?
No, not at all, the Postgres community is there to help in any way it can.
What is your advice for people who want to start PostgreSQL developing - as in, contributing to the project. Where and how should they start?
Follow -hackers mailing list and pick the features from latest commitfest, then review or test patches, provide design thoughts or improve the patches and so on. Postgres mailing lists is a great platform to put one’s ideas independently and the experts are there to provide thoughts on them. It is an opportunity to work with database experts from across the world irrespective of companies. IMO, this is the best way to learn Postgres.
Do you think PostgreSQL will be here for many years in the future?
I believe the fact that the databases (especially relational) are going to stay here. Postgres will surely be there for many more years - widespread adoption of Postgres by customers across the world; Postgres being the best fit for cloud; a knowledgeable, responsible, well-guided and active community.
Would you recommend PostgreSQL for business, or for side projects?
A BIG YES. It has the best of both worlds - on-premises and cloud. It is highly-performant, cost-effective, easily manageable, and has less maintenance cost. Above all, a knowledgeable community to help answer questions, solve problems and add more and more user-friendly features to the core.
Are you reading the -hackers mailing list? Any other list?
What other places do you hang out?
I mostly use my (hackers mail)[mailto:firstname.lastname@example.org] to communicate with hackers outside of my organization, Microsoft. Sometimes, I also use Skype or Google Hangout.
Which other Open Source projects are you involved or interested in?
None, only Postgres.
Anything else you like to add?
I would like to thank people who has/is helped/helping me to contribute more to the Postgres open source. I’m grateful to Microsoft and the team I work with for supporting me. I also thank EnterpriseDB for introducing me to the Postgres database.
I really thank team #PostgresFriends for doing this amazing work of interviewing folks who are involved in Postgres in various ways. This will really encourage more folks to come and contribute to Postgres.