Rafia Sabih

Reading time: 5 minutes

Tags:   postgresql (170)   berlin (3)   postgresql-mum (1)   pgwomen (4)   zheap (3)  
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.

I am basically from India, currently living in Berlin, Germany. I started my PostgreSQL journey in my masters and continued it by joining EDB, India. Then, I increased my spectrum to Postgres on Kubernetes working at Zalando.

Rafia Sabih

Rafia Sabih

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

Since childhood one of my hobbies is reading, my reading interests kept evolving through the years. While moving to Europe in 2019, I started to enjoy travelling.

Early this year, after becoming a mum to a beautiful daughter, I have a feeling that no book or place is more entertaining than her different expressions. Absolutely smitten!

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

From time to time I write blogs about different aspects of PostgreSQL at my blog.

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

Last book I really enjoyed was Wonder Weeks, I would recommend it to any new parents out there.

Otherwise, I recommend my favourite ones The fountainhead, Les Miserables, Atlas shrugged, and Gone with the wind.

What’s still on your bucket list?

Working on internals of more database engines.

What is the best advice you ever got?

Contribute more than you create! Still to practice and feel its power.

When did you start using PostgreSQL, and why?

I started using it for the implementation and experimental evaluation of the algorithm I developed as a part of my master’s thesis. I would say my first experience was a good one, since I had to implement the algorithm which means injecting my code at different places. I was evaluating it to be a long and hard task to find the functions of my interest. But contrary to my assumption, the readme in the source code totally changed my opinion.

Do you remember which version of PostgreSQL you started with?

Version 9.6

Yes, I did MTech(Research) from Indian Institute of Science, Bangalore India. It is a masters program which gives a glimpse of research. Basically, it had less coursework and the main focus was a research thesis. I joined a Database Systems Lab under Prof Jayant Haritsa and worked on multi-objective query optimization for cloud databases. The title of my thesis was, ‘Optimise time and money for OLAP queries in a cloud environment’.

My study directly helped me in my first job at EDB.

I am currently involved in the postgres-operator developed, used, and maintained by Zalando. Also, I developed a few Postgres extensions for monitoring – pg_auth_mon, and pg_mon.

How do you contribute to PostgreSQL?

  • Participate in reviewing or authoring patches in commitfests
  • Presenting and attending PostgreSQL conferences
  • Writing blog on PostgreSQL features, etc.

What is your favorite PostgreSQL extension?

FDW for its idea of making it so easy to work on data from outside of Postgres. And pgstattuple for how easy it makes to understand the internal tuple structures of Postgres tables particularly to understand the picture of free space and holes in pages.

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

Index bloats. Maybe the addition of zheap storage engine can help in reducing it.

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

I would like to see zheap - an undo based storage engine for PostgreSQL. It will be one thing that will make PostgreSQL more feature rich, and will reduce the woes of bloated tables. Also, another such feature that will make PostgreSQL stand tall besides other commercial relational DBMS. A selfish reason to see this work get committed is my involvement in its early days of development.

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

Willingness to dive deep into problems and getting your hands dirty.

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

Yes, I have attended and presented at PGConf India for the years 2016-2018, PGConf.EU 2018 held in Lisbon. I also attended a couple of pgDay Berlin in last few years.

I also had talks accepted at PGCon Ottawa in 2017 and at PostgresOpen USA (2019).

Do you think PostgreSQL has a high entry barrier?

No, it is actually one place with quite a low entry barrier in my opinion. One needs to know C, database concepts, and mostly that’s it. I find the community is also welcoming and responsive. One can ask questions in different mailing lists based on your topic, one can attend conferences, or pgDays to learn more about the different features of 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?

The best place to start if you want to contribute is to check the Commitfest page. After picking up a few patches of one’s interest, start to test and/or review them. Good way to test is to use the test suites provided with the postgresql source. In order to better understand the source code, I’d highly recommend going through the readme provided with the source for different modules.

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

I am currently involved in postgres-operator by Zalando. Also, I have written some Postgres extensions around monitoring.