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 Athens, Greece, then went to Scotland to study at the University of Aberdeen. After 15 years of working in the industry with Open Source tools, I found myself working with my favourite database, as Senior PostgreSQL Architect at 2ndQuadrant in Edinburgh. Music is a big part of my life, I love listening to diverse genres, a long time ago I played in a rock band, and in the more recent past I presented a music-oriented radio show.
When did you start using PostgreSQL, and why?
A colleague and fellow open source enthusiast turned me onto Postgres back in 2008. I started using it right away to develop FOSS-based software, and I’ve been using it exclusively as my database of choice ever since then.
Do you remember which version of PostgreSQL you started with?
I had experimented with it a little since 7.4, but only started using it seriously after 8.2.
Yes, I studied Computer Science. My studies indeed helped me in my professional life, because they gave me a broad theoretical background which provides valuable insights into everyday computing problems. I’ve been fascinated by databases since the 80s (such as dBase III) so predictably that became one of my favourite subjects.
What other databases are you using? Which one is your favorite?
Strictly speaking, it’s not an RDBMS, but I loved using the SQLite library when I was developing embedded systems. Its simplicity and efficiency made it a great choice for this line of work.
How do you contribute to PostgreSQL? Any contributions to PostgreSQL which do not involve writing code?
Unfortunately I haven’t had the chance to write code for Postgres yet, but hopefully that will change soon given my most recent career focus. I participate in the project’s mailing lists and try to help users there from time to time. As a member of PostgreSQL Europe, I also volunteer and speak at related conferences and events. Finally, my work at 2ndQuadrant means I get to do PostgreSQL training, consultancy, support and advocacy work, and have the full support of the company in engaging and interacting with the community.
What is your favorite PostgreSQL extension?
What is the feature you like most in the latest PostgreSQL version?
I quite like the partitioning improvements and the new support for generated columns. I think these are features that will attract more people to Postgres.
Adding to that, what feature/mechanism would you like to see in PostgreSQL? And why?
Parallelization for queries that write data. Don’t get me wrong, it’s a hard problem to solve, but the direction the hardware industry is going in - and Moore’s Law - point to the fact that we will eventually need to tackle it.
Could you describe your PostgreSQL development toolbox?
I use Vagrant a lot to set up development environments, and generally use nano, git, the unix utilities and occasionally Geany. I am hopelessly in love with psql both in interactive and batch mode, as well as psycopg2 for Python.
Do you use any git best practices, which makes working with PostgreSQL easier?
Yes, everything I work on (code, configuration, infrastructure, documentation) is always committed to Git, and I love the flexibility distributed version control gives to team members to work in parallel, at their own pace, from any location in the world.
Which PostgreSQL conferences do you visit? Do you submit talks?
I visit FOSDEM PGDay and the PostgreSQL Devroom at FOSDEM every year, and I’ve been to multiple editions of PGConf Europe, Postgres London and FOSSCOMM. I’ve given talks at these conferences, and try to submit talks every year when I have stumbled across something (hopefully) interesting to show to others. As for other conferences, I’ve also attended the Open Source Summit and FOSS4G.
Do you think Postgres has a high entry barrier?
Absolutely not, as a matter of fact I think it’s the easiest database to get up and running quickly. Especially on Linux distributions like Debian/Ubuntu, and CentOS/Red Hat, you can just install the package and that sets everything up for you, without having to worry about pre-allocating data files, setting up kernel shared memory, and jumping through every other hoop other databases insist on before even starting up. Its strict adherence to the SQL standard also guarantees that there are no surprises for new users. Finally, graphical tools like OmniDB make it easy for anyone to run Postgres instances.
What is your advice for people who want to start PostgreSQL developing - as in, contributing to the project. Where and how should they start?
Start interacting with the community! Contact your local user group, come to a Postgres related event near your area, or even travel to an international one. The pgsql-general mailing list is also a good starting point to see what topics other users are interested in and when you think you’ve spotted something you can work on, you can talk to the pgsql-hackers mailing list regarding your contributions.
Do you think PostgreSQL will be here for many years in the future?
I believe so. It just keeps getting better and better in every respect and it appears that more and more people recognise this by migrating to Postgres in their professional environment. Also the fact that there are new faces appearing all the time in the developer community is very encouraging for the future.
Would you recommend Postgres for business, or for side projects?
It’s easy to set up, it’s stable, and works well enough for most things without any tweaking. For me, that makes it a pretty good choice for personal/side projects. For business use, Point In Time Recovery, ability to run on any platform, multiple backup, replication & high-availability solutions for every need, big data capability and industry-leading extensions like PostGIS make PostgreSQL a stand-out choice.
Are you reading the -hackers mailinglist? Any other list?
What other places do you hang out?
Which other Open Source projects are you involved or interested in?
I was Technical Lead for the DMPRoadmap project, which underpins DMPonline and many other Data Management Planning services for researchers all over the world. I also maintain the Greek l10n for Git. I’m a great admirer of Django, for the power and flexibility it gives you for developing web services rapidly, and Ubuntu for what the project has done to popularise Linux on the desktop. Finally, Kubernetes has impressed me both with its rapid rise in popularity and featureset highly focused on desired state automation.
Anything else you like to add?
Peace, Love and Linux.