Abbas Butt

Tags:   postgresql    edb    development   
Category:   Interviews   
Interview conducted 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.

My name is Ghulam Abbas Butt and I am from a small town called Wah Cantt, near Islamabad, Pakistan. I am a Senior Software Architect at EnterpriseDB. I have been working for EnterpriseDB since Jan 2011. In about two years I will be celebrating the silver jubilee of my professional career, that mainly spans product development.

Abbas Butt

Abbas Butt

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

In my free time I play cricket. I play as a hobbyist. A typical game of cricket lasts approx 2-3 hours. We normally play 10 over games. Depending on the outcome of the toss, one of the team gets to bat and the other goes to the field. When 10 overs finish, this completes the first innings. Next the second team gets to bat, at the end of the second innings, the team that scores higher, wins. I also watch TV shows. I like mystery, crime investigation & documentaries. For example Real Responders, The X files, The Darien gap etc.

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

Last book you read? Or a book you want to recommend to readers?

The last book I read was “Blockchain with Hyperledger Fabric” by Nitin Gaur.

I would recommend “The Internals of PostgreSQL” by Hironobu Suzuki to anybody who wants to work with PostgreSQL either as a user or a developer.

Any favorite movie, or show?

The drama series Twin Peaks is my all time favorite. For movies I liked Gladiator.

What does your ideal weekend look like?

My ideal weekend would be spending time with family in a nearby picnic place.

What’s still on your bucket list?

I want to spend more time with my physical trainer to achieve my ideal weight.

What is the best advice you ever got?

“Never get discouraged”, You will get more than one chance to do better later in life.

When did you start using PostgreSQL, and why?

When I was employed at EnterpriseDB in March 2006, I was hired to work in the core database development group. That was the time when I started using PostgreSQL.

Do you remember which version of PostgreSQL you started with?

Yes, I started using PostgreSQL version 6.5.

I have done my Bachelors in Electrical Engineering and Masters in Computer Engineering from University of Engineering and Technology, Taxila, Pakistan. My studies and job perfectly align with each other.

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

I use Oracle and SQL Server in addition to PostgreSQL. I am using them for development of xDB. xDB is EDB’s cross database replication tool, which supports replication to and from Oracle, SQL server and PostgreSQL.

At EnterpriseDB I am working on a heterogeneous database replication system. It involves replication to and from Oracle, SQL Server and PostgreSQL. I am also working on an online Oracle to PostgreSQL migration tool.

How do you contribute to PostgreSQL?

I have created the missing link between data visualization and PostgreSQL by providing an extension pg_gnuplot that integrates GNUPlot with PostgreSQL. Using this extension the user can plot data stored in PostgreSQL tables using SQL commands.

Any contributions to PostgreSQL which do not involve writing code?

I am trying to make PostgreSQL documentation easy to understand and follow. My strategy is to come up with baby steps that the reader can follow to try a particular feature. I have also set up some Katacoa scenarios for PostgreSQL logical replication that the user can try.

In addition I am currently in the process of writing a book on “Data Analysis using PostgreSQL”. Hopefully the book will be a good addition in the space of databases and data science.

What is your favorite PostgreSQL extension?

My favorite PostgreSQL extension is pgcrypto. I have created a sample Java application that uses pgcrypto for encryption in PostgreSQL.

What is the feature you like most in the latest PostgreSQL version?

Logical Replication is the feature that makes PostgreSQL usable in large scale deployments. Imagine a large retailer chain, with a lot of outlets spread across the country. Each outlet can do sales by using the database instance deployed locally in the outlet. Internet outages will not stop any sales in the outlet. Each local instance in the outlet can be configured to replicate changes of interest (can be sales summary) to the head office.

Adding to that, what feature/mechanism would you like to see in PostgreSQL? And why?

PostgreSQL has been missing transparent data encryption for a long time. This is required by organizations for compliance to security standards.

Could you describe your PostgreSQL development toolbox?

I use “Geany”, which serves as both an IDE and an editor. In addition I think “meld” is a must have tool in your development environment.

Which skills are a must have for a PostgreSQL developer/user?

If you are planning to work in the core database engine, you must have a sound understanding and working knowledge of C and database systems. The same skills are required for developing extensions for PostgreSQL. For users working knowledge of database design, SQL, PL/pgSQL is a must.

Do you use any git best practices, which makes working with PostgreSQL easier?

I mostly use standard git commands, but it always helps to keep a clean copy of the branch you are working on. Before submitting the final patch make sure your patch applies to the latest status of your working branch.

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

I am a regular speaker at I also occasionally speak at PGCon.

Do you think PostgreSQL has a high entry barrier?

I don’t think so. It’s pretty easy to install and start working with. pgAdmin helps users who prefer to work with a GUI. Almost all major languages (C, Java, Perl, Python, php etc) provide drivers to develop applications based on PostgreSQL.

What is your advice for people who want to start PostgreSQL developing - as in, contributing to the project. Where and how should they start?

My advice will be to start reading the mailing lists. If you find any patch that you can help testing, you can pick it up. Otherwise you can try fixing a bug that you feel like.

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

Off course. It has a very strong business case and companies like EnterpriseDB are providing enterprise level tools and support. Then there are many forks that provide special features with support. Thousands of businesses rely on PostgreSQL to store their data.

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

I recommend PostgreSQL for business, education, and research.

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

I skim through the list, can’t say I read all of the emails.

Which other Open Source projects are you involved or interested in?

I am particularly interested in video encoding and decoding Directshow filters. I have tried filters provided by them and they seem to work pretty well.