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.
Originally from India, I now live in Tokyo, Japan and have for the last few years. I am married and have a toddler daughter. I joined EDB earlier this year and before that I worked at NTT OSS Center since arriving in Tokyo. I have mostly worked on PostgreSQL in my professional life and most of it with the folks of the open source community developing it.
How do you spend your free time? What are your hobbies?
I like to roam with my family in the seemingly infinite maze that is the streets of Tokyo, mostly on foot but recently quite a bit on bicycle too, stopping by parks and cafes along the way. I enjoy making and drinking coffee at home. When sitting at home or outside, I like to read articles on my smartphone, email newsletters, and occasionally even books.
Any Social Media channels of yours we should be aware of?
Any favorite movie, or show?
I have liked the movies by Richard Linklater, David Lynch, Terrence Malick, Coen Brothers, and many others. As for TV shows: Seinfeld, Breaking Bad, The Office (both), Six Feet Under, Fargo (one with Lorne Malvo!), and many others.
How would your ideal weekend look like?
Going out to roam, maybe meet a friend for chitchat. Or just sit and relax at home with the family.
What’s still on your bucket list?
See Earth from space, standing on Mars, that sort of thing. :)
What is the best advice you ever got?
A manager in the first company I joined asked me to stick with the group slated to work on PostgreSQL in the team of freshly-out-of-school engineers gathered to work on various open source software.
When did you start using PostgreSQL, and why?
It was in the summer of 2012. I had just joined a team of folks that my first company had gathered to establish a center for support and development of open source infrastructure and middleware software.
Do you remember which version of PostgreSQL you started with?
Think it was 9.2.
Have you studied at a university? If yes, was it related to computers? Did your study help you with your current job?
Yes, I went to a university in Pune, India, majoring in computer science and engineering. I think it does somewhat help that I studied courses about computer architecture, algorithms, data structures, etc. Although in retrospect, it would’ve helped even more if I had actually joined some open source software community to exercise that knowledge in the real world.
On which PostgreSQL-related projects are you currently working?
Currently, I am working on trying to eliminate the inefficiencies of executing queries on tables containing many partitions.
How do you contribute to PostgreSQL?
Mainly by participating on the pgsql-hackers mailing list discussions on design and writing code for new features / performance improvements / bug fixes, and also sometimes reviewing other people’s proposals and code.
What is your favorite PostgreSQL extension?
postgres_fdw , which combined with table partitioning, can be a great tool to implement distributed querying over a cluster of PostgreSQL instances hosting “shards” of data. (Even though it lacks the functionality needed to make such a cluster a fully-functional general-purpose OLTP distributed database).
What is the feature you like most in the latest PostgreSQL version?
Adding to that, what feature/mechanism would you like to see in PostgreSQL? And why?
Seamless clustering, possibly with distributed transactions and querying. I hear that those capabilities are getting ever more important in the modern cloud-first world.
Could you describe your PostgreSQL development toolbox?
bash, vim, gdb/lldb, make, gcc/clang, cscope (code browser)
Which skills are a must have for a PostgreSQL developer/user?
Reading documentation/code, debugging with various tools. When interacting on mailing lists, good enough English writing skills to clearly and unambiguously communicate ideas, issues, questions with others on the list, given that we all belong to an international community of people trying to do their jobs (so have limited time) and volunteering to help others do theirs.
Do you use any git best practices, which makes working with PostgreSQL easier?
git format-patch, which carves out neatly formatted patches from your development branch. From personal experience, your fellow hackers will appreciate even the gesture of you posting patches generated this way instead of using
git diff > my_feature.patch.
Which PostgreSQL conferences do you visit? Do you submit talks?
I have been to PGCon (Ottawa), PGConf.ASIA (Tokyo, Bali), PGConf.EU (Milan), FOSDEM PGDay and submitted talks to all but the last one. I also participate in unconference events organized locally in Tokyo which are being held online recently and PostgreSQL Japan Developers Meetup which unfortunately were not able to be held this year.
Do you think Postgres has a high entry barrier?
Regarding joining the community, I don’t remember facing that much of a barrier even though I remember feeling a bit nervous before sending any email at first. I have also seen some people who I personally know get over their initial hesitation and start contributing to the community in a productive manner. I think anyone who keeps at it can cross through whatever barrier there is. Even though patches can get rejected more times than one would like, people themselves are not rejected. :)
What is your advice for people who want to start PostgreSQL developing - as in, contributing to the project. Where and how should they start?
Work with your supervisor to pick a worthwhile task (that is, to make it worth their time and yours), which could be an improvement in any of the pieces of software that make up the PostgreSQL ecosystem, think carefully about its design, maybe write some PoC code, and finally find collaborators near you and/or in the community to try to get that merged into the community codebase. To get some idea of the process behind this last part, pick any feature that has made it into a PostgreSQL release and spend maybe a couple of days or a week looking through the pgsql-hackers archives to pick up all the emails containing the discussions related to that feature. I am sure that by reading them over a few times, you will learn how those projects got done through patient exchanges between the people involved, as did I when I first started.
Do you think PostgreSQL will be here for many years in the future?
Yes. Developers and other stakeholders increasingly like it and I have confidence that the folks participating in and governing the project would not knowingly make any moves that might cause it to fade into irrelevance, either in terms of technical direction or otherwise.
Would you recommend Postgres for business, or for side projects?
Certainly. It’s capable enough for most data problems of modern applications and fun to work with. If it stops being fun for some tasks, there’s a ton of help available out there, so one would rarely be left to fend for themselves.
Are you reading the -hackers mailinglist? Any other list?
Which other Open Source projects are you involved or interested in?
Involved in none, but I do like sometimes to peek at those around NewSQL databases.
Anything else you like to add?
Thanks for the opportunity to sit down and write this.