Federico Campoli



Tags:   postgresql    postgres    python    dba   
Category:   Interviews   
Interviewed by: Andreas Scherbaum

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.

Despite I’m looking younger, I’ve been around this planet for almost 49 years. My hometown is Napoli, Italy, I moved to Tuscany to start my first job as ASP developer on MS-SQL Server in 1999.
Since then I travelled a lot and only recently I came back to Tuscany where I live and work.
I share my life with my partner and a ginger cat.
I started my DBA career on Oracle in 2004 and I discovered PostgreSQL in 2005.
It was love at first sight despite at that time PostgreSQL was quite rudimentary.
I made a bet by investing my time on learning the fundamentals.
I like to say that PostgreSQL is the best bet I’ve ever won.

Federico Campoli

Federico Campoli

How do you spend your free time? What are your hobbies?

Before the pandemic I used to go around taking photos.
Now that we are forced home I switched to cooking and trying to learn to play the guitar.

Any Social Media channels of yours we should be aware of?

Any favorite movie, or show?

Doctor Who of course. I’m a huge fan of the 4th Doctor portrayed by Tom Baker.
I love the original trilogy of Star Wars and funny stuff like the Monty Python.

How would your ideal weekend look like?

On a small sailboat, completely unplugged, spending time swimming and listening to the sea.

What’s still on your bucket list?

  • Learn to play decently the guitar
  • A project that has been hanging in my head for years
  • Restart the studies on Physics and get a degree
  • Learn to code in C in order to contribute to the PostgreSQL code

What is the best advice you ever got?

Always work like an asynchronous three phase induction motor.
If you keep your load at 60% there will be always room for fulfilling the peaks.

When did you start using PostgreSQL, and why?

I started looking at PostgreSQL in 2005. At that time I was a LAMP developer. I got tired of MySQL’s lack of transactions and the fragility of MyIsam. Despite the limitations in PostgreSQL 7.4 I was able to replace MySQL with PostgreSQL having no significant impact on the performance of my CMS.

Do you remember which version of PostgreSQL you started with?

I started by reading the book Practical PostgreSQL and as far as I remember it covers the version 7.2.
However I took my first steps on PostgreSQL 7.4.

My high school diploma says that I’m an electrical engineer. I did start studying Particle Physics but an happening in my personal life made me interrupt the course of studies.
Before starting my career in IT I also worked as roller skate instructor, tourist entertainer, stage actor and magician.
Everything I know to carry out my job is self taught or learned in the field.

What other databases are you using? Which one is your favorite?

I still like Oracle which has an interesting architecture, however I think the cost is just too high for what you get.

I’m the author and maintainer of pg_chameleon, a MySQL to PostgreSQL replica system written in python 3. The product can establish a replica or migrate the MySQL database to PostgreSQL with minimal downtime.

Any contributions to PostgreSQL which do not involve writing code?

I try to do advocacy and knowledge sharing. In particular in 2007 I had the idea of the PGDay organised in Prato with the help of the guys from the Prato Linux Users Group.
The idea of having a PGDay and making it possible, against all odds, is still my greatest achievement, because it was the spark that made PostgreSQL Europe a reality.
This makes me incredibly proud.

What is the most annoying PostgreSQL thing you can think of? And any chance to fix it?

The missing DDL in the logical decoding. I really don’t get why it has not been implemented already. It’s quite embarrassing to tell customers that in fact the logical decoding is not complete and requires tricky stuff to work properly.
Please, can somebody add this important feature to PostgreSQL 14?

Which PostgreSQL conferences do you visit? Do you submit talks?

I usually go to the FOSDEM PGDay and the PGConf.EU . I submit talks to many other conferences like the PGCon in Canada or the local PostgreSQL Days.

Do you think PostgreSQL will be here for many years in the future?

I’ve seen PostgreSQL evolving from the rudimentary 7.4 to the latest version 13.
The unusual approach in the development has one massive advantage; Flexibility.
I’m not sure how things will change when the young developers will replace the veterans.
My hope is that the same capability to adapt to the new challenges will be kept.

Do you think Postgres has a high entry barrier?

As a former Oracle DBA I don’t think PostgreSQL has a high entry barrier. This is not necessarily an advantage if looked at from the DBA point of view.
Today people can install PostgreSQL with just a yum/apt command when with Oracle you can’t even install the engine if you don’t read the documentation.
I’m not asking for making it difficult to install PostgreSQL, but maybe a post-install advice that the default settings are absolutely not suitable for production would be a good idea.

Would you recommend Postgres for business, or for side projects?

I recommend PostgreSQL for both. However for business I also give the advice of hiring a DBA for driving the development team in the right direction when designing the data layer.

Are you reading the -hackers mailinglist? Any other list?

I’ve lurked on the -hackers mailing list for a while. The volume of messages on that list is quite insane.

What other places do you hang out?

I’m occasionally on IRC , Slack and I lurk on some mailing lists. I’m the founder and I co-admin the English speaking PostgreSQL Telegram Channel.

Anything else you like to add?

DBA don’t bite. If we look grumpy and unapproachable is because our hard work is ignored at best and challenged at worst. This is the main reason I created the Database Administrators Appreciation Day which occurs the first Friday of July every year.