My Way to PostgreSQL


A personal story how I ended up with PostgreSQL

Published on July 10, 2023 by Stefanie Janine Stölting

PostgreSQL postgres Stefanie

9 min READ

I just want to expain how I discovered PostgreSQL and what my history is in terms of working with data and databases.

How I Started With Data

When I learned COBOL I also learned to handle data structures, because that’s what this language is about: doing stuff with data. And a big thanks to Grace Hopper whom I really admire.

I liked it a lot because it was so easy to do things with data.

Discovering Databases

Later on, I discovered databases and it made life handling data much easier. What I used at the time is long dead and forgotten. SQL wasn’t around - back then, there was only one seller, with an overpriced offering.

But everything was still running on mainframes and it was not a good time to play with databases outside universities.

In Germany Informix became the database used by many companies, mostly because it ran on Siemens mainframes, which became very popular.

Later on I came in contact with Ingres and I had to learn another language to process data: QUEL. In fact I liked that a lot, and even nowadays I believe it would have been a better choice than SQL.
People who know a bit about the history might know whom I still blame for having SQL as the standardized database query language.

Databases On Personal Computers

The Beginning

My first experiences with coding on PCs started with CP/M. At the time, there was a database available called dBase. The first version came out as 2.1, in order to not scare customers about unstable code.
It was surprisingly stable, but it also had its own language to do stuff with data. Later versions even implemented SQL, which is when I came in contact with that query language.

Next Steps

I switched over to MS DOS, definitely not because I liked it. CP/M was really ahead of them technically. But as it had been installed on every PC one could buy, MS DOS had won.

I started linking C and COBOL, because the first one was great for output and system handling, and COBOL still was the best in handling data.

With Windows coming up, Microsoft made a deal with Sybase to sell their database product re-branded as their own. That was the birth of MS SQL Server.

But obviously, MS SQL was not available for free, it cost money. A German company named Software AG had a decent database Adabas_D that could be used with a limited amount of data. Today a lot of commercial databases offer a version for free, with limited resources.

Discovering Open Source

Linux

Discovering Linux was a relief to me, I liked it right from the beginning. But there was no usable database available.</br> The first commercial one was Sybase, but the prices were to high to use it for my private data stuff.

First Contact With Open Source Database

Then I discovered MySQL, it must have been 1996 or 1997. At first I was in high spirits: there was an open sourced database software. But the longer I looked at it, it was anything but a real database software to me - and I dropped using it.

First Contact With PostgreSQL

Someone in a Linux user group mentioned I should give “postgre” a try. I still remember him saying “postgre” because it took me some time to find it as PostgreSQL. I can’t say if it was 6.3, or 6.4, but is was 1998.

The first look was impressive, especially compared to my previous experiences. A real open sourced database software supporting SQL.
The only “downside” was that I wasn’t able to use it on Linux, but it did work like a charm on one of the BSD forks.

Some time later, I was able to get it running under Linux, and I moved away from BSD.

Using PostgreSQL

In contrast to my professional usage of closed-source databases I went on using PostgreSQL for my private stuff and hoped to bring it over to my professional life.

That started with some small projects around 2004/2005 where PostgreSQL always outperformed the previously used closed source database.
All problems that hit me so far had also hit other people. I’ was only a consumer, parsing through the PostgreSQL mailing lists to fix them.

Discovering Conferences

In 2008, I attended my first open source conference ever: PGcon 2008 in Ottawa, Canada.

Discovering that there are a lot more people out there using the same project I fell in love with about ten years ago was a relief. I met people from America (the continent), Europe, and Asia. With so many people eager to fly hours to attend a conference, and a lot of them paying everything out of their own pocket, I couldn’t be that wrong with PostgreSQL.

Using PostgreSQL In Business

The first bigger project was to use PostgreSQL with PostGIS. I am a developer using data, not a DBA.
But as there was nobody to handle the DBA tasks, they where assigned to me, too.

I still worked on other projects using different databases, but appreciated projects using PostgreSQL.

Beginning To Give Talks At Meetups and Conferences

Up until 2015 I had not thought at all about giving talks at user groups even while attending a lot of PostgreSQL conferences and Meetups. I still thought I wouldn’t have anything to say.
Nowadays I believe that was because there were nearly exclusively men giving technical talks.

I submitted a talk for the PostgreSQL devroom at FOSDEM 2016. To my surprise it was accepted!
After some problems with the projector (can you imagine using a resolution of 800x600???) were solved with the help of Robert Ivens
. I believe my talk was a success. I was asked about it several times while hanging around at FOSDEM.

Some time later, at another conference, another woman told me that I was her inspiration to give talks at conferences with my talk at FOSDEM 2016.
Up until then I hadn’t thought at all about that problem, but it was the exact same thing that stopped me from giving talks earlier.
The organization Postgres Women has existed for some time now. It has the goal to encourage more women to get into tech, and especially PostgreSQL.

Extension Development

While working on a project on site at a customer, I had some time in the evenings at a hotel. At that time I already had so many functions that I had developed over the years that were available in PostgreSQL.
I thought about how to bundle them together to publish them.

pgsql_tweaks

I ended up with an extension containing some of the functions which I published in a GitHub repository. Later on I moved the main repo to GitLab.
The name of the extension is pgsql_tweaks.

Later on I was asked to add it to the PGXN: PostgreSQL Extension Network. That makes it easier to install the extension.

I am still adding new features to that extension. There are still some functions that I haven’t published so far. But it’s work, as I would have to change the layouts, create tests, write documentation and so on. Just expect more to come.

cassandra2_fdw

I needed something to get data ported away from Apache Cassandra. The foreign data wrapper extension cassandra2_fdw seems the direction to go but hasn’t been updated to recent PostgreSQL versions for quite a while.
I wrote about it in the blog PostgreSQL Foreign Data Wrapper for Apache Cassandra released.

sparql_fdw

In 2019 I gave a talk PostgreSQL As Data Integration Tool at pgDay Paris. After the talk, I had spoken with several people about foreign data wrappers.
That way I got in contact with the original developer of the SPARQL.
I’m sorry that my changes haven’t made it into the original repo. The change request is still open.

Conference Program Committees

At some point I was asked to be part of some conference committees, both organized by the community and by companies.
Yes it is work, and yes it does cost time to go through all committed talks, and afterwards discuss the results - plus, to choose the speakers and talks. The last committee I was part of was PGConf.EU 2022 where 268 talks were submitted.
But it is something that I can give back to the great PostgreSQL community.

Public Support

There are several ways to share knowledge, and to support other people facing problems with PostgreSQL. One is by answering emails on the official mailing lists. They have the advantage that all emails are archived and available on the web. That is what helped me a lot when I faced problems.

Some time ago, I started giving support at an English speaking Telegram group, PostgreSQL. Shortly afterwards, I became an admin, as the creator of the group knew me from some conferences. I left that group, though, because there were people who demanded that they had the right to get answers from me.

While still active in the Telegram group above, I also became active in another Telegram group, PostgreSQL (English). As I regularly answered questions there, I became an admin there, too.
I’m still active in that group.

The End (So Far)

If you have made it this far, thanks a lot for reading.
And if you have not already attended a PostgreSQL conference, give it a try. This project has a very open minded-community, where people always love to meet new people.

Corrections

Wtih many thanks to Kathryn Renée Albe for all corrections.



Author: Stefanie Janine Stölting