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, your hobbies and where you are from.
I grew up in New York, went to undergraduate university at Virginia Tech, and rode nuclear submarines for a few years. After that I married and spent many years in Southern California raising a family and working. A couple of years ago my wife and I moved to Florida to be closer to family. For the past 5 years I have been VP of Engineering at Crunchy Data.
Any Social Media channels of yours we should be aware of?
When did you start using PostgreSQL, and why?
I think it was late 1998 or early 1999 when my brother-in-law asked me to help with a project he was doing for a friend’s company. It involved a database and web frontend. At the time I was working with Oracle and MSSQL where I worked, and suggested we use MSSQL for the project. But the company specifically wanted to use something called “Red Hat Linux” and the free RDBMS that shipped with it called “PostgreSQL”. It looked interesting, so I decided to give it a go. That was my introduction to the concept of FOSS in general, and Linux and PostgreSQL specifically.
Do you remember which version of PostgreSQL you started with?
I believe the initial version was PostgreSQL 6.4
Have you studied at a university? If yes, was it related to computers? Did your study help you with your current job?
As mentioned earlier, I attended undergraduate studies at Virginia Tech. My degree there was a Bachelor of Science in Mechanical Engineering. Subsequently I received the US Navy equivalent of a Masters in Nuclear Engineering, and a Masters in Business Administration from San Diego State University. None of that was directly related to computers, although I had plenty of computer relevant coursework.
How do you contribute to PostgreSQL? Any contributions to PostgreSQL which do not involve writing code?
I contribute to PostgreSQL in a variety of ways.
In the past I have been the original author for, and in some cases committed, many features currently in PostgreSQL. The best known ones are probably set-returning functions (a.k.a. SRFs or Table Functions), polymorphic function arguments, pg_settings and pg_config system VIEWs, multi-row VALUE clauses, generate_series, shared_preload_libraries, dblink, and crosstab. I also did a lot of work on array and bytea support. In recent years I have mostly worked on and/or committed/pushed bug and documentation fixes for various parts of the backend, including RLS.
Non-code contributions include being a PostgreSQL Infrastructure Team member, past Pg.US board member, conference committee member and/or volunteer and often speak for several of the biggest PostgreSQL conferences over multiple years, Funds group member, and mailing list moderator. I also occasionally write a blog on something PostgreSQL related – that goes up on the Crunchy Data website and is syndicated via Planet PostgreSQL.
Finally, my day job at Crunchy Data finds me hiring and training many top notch PostgreSQL folks. The company does quite a bit in general support of the community, and I support the company in those endeavors.
What is your favorite PostgreSQL extension?
Without a doubt, PL/R. It provides the glue between PostgreSQL and R, which is an incredibly powerful and increasingly popular language for statistics, data analytics, and machine learning.
What is the feature you like most in the latest PostgreSQL version?
Probably the general improvements in table partitioning.
Adding to that, what feature/mechanism would you like to see in PostgreSQL? And why?
There are so many to choose from! I have been closely involved with the discussions around adding key management and transparent data encryption to PostgreSQL. That is definitely a feature which is being requested from the field more and more often. It can be done today using file system encryption, but that does not always meet the requirements from on high.
Could you describe your PostgreSQL development toolbox?
Mostly the usual command line suspects: git, vim, gcc, gdb, grep, psql. I also like KDE’s Kate editor for larger editing tasks.
Which PostgreSQL conferences do you visit? Do you submit talks?
I frequent several PostgreSQL events most years, and have occasionally visited others. Most of the time, if I plan to attend a conference, I will submit talks and of course deliver any that are accepted.
Included over the years are PGCon, PostgresOpen, PGConf.EU, Postgres@SCaLE, and pgDay FOSDEM. I have also less frequently attended pgDay Paris, Nordic pgDay, PGConf Asia, PGConf APAC, PGConf Brazil, PgDay Australia. Finally, I have also given talks at non-PostgreSQL centric conferences such as Red Hat Defense in Depth, Openshift Commons, IOUG Collaborate, UseR, and FOSS4G.
Do you think PostgreSQL will be here for many years in the future?
Yes, I believe it will. Demand for PostgreSQL in the very mature RDBMS space is continuing to grow, and the product gets significantly better with every release. To quote a favorite song of mine, “the future’s so bright, I gotta wear shades”.
Would you recommend Postgres for business, or for side projects?
I recommend PostgreSQL for all the things!
Are you reading the -hackers mailinglist? Any other list?
I am subscribed to most of the “main” PostgreSQL mailing lists, including -hackers. But I cannot really claim to read every message every day, as that would be difficult at best. I do try to at least skim the headlines regularly, and will dive deeper into threads which catch my attention.
Which other Open Source projects are you involved or interested in?
In addition to the PostgreSQL related projects mentioned above, I am interested and occasionally have been peripherally involved in the R and the SELinux projects. I have also submitted issues and/or patches from time to time for other random projects, including Ansible.
Anything else you like to add?
The PostgreSQL community is awesome, and over the years has become like an extended family in many ways. I have attended weddings of community members, and watched the children of others grow up. I work daily with many of them, and slightly less frequently with many more. Without question, that little side project 20+ years ago that insisted I use this free database called “PostgreSQL” has paid many dividends and had a huge positive impact on my life.