In this article, I will provide you with a beginner-friendly introduction to PostgreSQL. Together, we will see what exactly PostgreSQL is and learn more about its:
- history,
- key features,
- pros & cons,
- use cases,
- and finally- examples of companies relying on this relational database.
And a friendly reminder- this PostgreSQL introduction is a continuation of a top 8 databases series I covered here.
Explainer Animation
If you enjoy whiteboard animations, then right here you can find a video version of this article:
If you find this content useful, please leave a subscriptionย ๐
PostgreSQL History
As usual, let’s start everything by learning more about PostgreSQL genesis.
PostgreSQL history started in the 1980s at the University of California, Berkeley when Michael Stonebraker began working on a new project, which would be the successor of Ingres. The goal of this project was to address the problems plaguing the databases of that time.
Initially, the project was called POSTGRES, highlighting that it is the successor of Ingres (which was created at the same university). But then, in 1996, the name was changed to PostgreSQL to emphasize its support for SQL. In 2007, the developer team decided to stick with the name PostgreSQL and Postgres as an alias.
But back to the development topic, the project target was to introduce support for data types and relationships between them. And, although the team took a lot of ideas from Ingres, the codebase was created from scratch.
The PostgreSQL introduction took place in 1986 when the team released official papers describing the system. Two years later, they performed a demo of a prototype at the ACM SIGMOD Conference. The team was gradually releasing new versions with new features and changes. Nevertheless, the number of feature requests and users began to surpass them, and the project ended in 1994, and POSTGRES Version 4.2 was released under the MIT license.
As the official date of the PostgreSQL release, we take 8th July of 1996, when Marc Fournier created the first non-university server for Postgres development.
What Is PostgreSQL Then?
So, with all of that being said, let’s answer the question- what is PostgreSQL?
Well, it’s an open-source relational database management system (aka RDBMS), based on the POSTGRES Version 4.2 (which we’ve already covered).
One of the key features of PostgreSQL is its support for a wide range of data types. Moreover, it also supports data types for special purposes, like arrays, JSON, and XML.
In addition to this, Postgres is also extendable and comes with a number of features that make it well-suited for a wide range of applications, like:
- transactions
- stored procedures & views
- triggers
- and support for complex queries.
What’s worth mentioning here as well, the Postgres license lets everyone use, modify and distribute it entirely for free. Regardless of whether we do it commercially or for personal use.
PostgreSQL Advantages
Nextly, let’s take a while to go through the introduction of PostgreSQL’s advantages:
- First of all, it’s open source. Postgres usage is entirely free regardless of whether we use it commercially, or not. Whatsoever, we can always modify and adjust it to our needs. This makes PostgreSQL a great choice for everyone, who desires a high-quality DBMS at no cost.
- Secondly, performance. It is known for its great performance, with the ability to handle large amounts of data and high levels of traffic.
- Thirdly, PostgreSQL is community-driven. From its very beginning, Postgres is developed by many people and companies working together to deliver a high-quality solution.
- Additionally, it has an active community and a lot of resources available online. Just like in previous articles, in this PostgresSQL introduction, I must use this argument. Tons of materials, libraries, forums, blog posts, etc. is a great advantage, which helps us incorporate it into our projects with ease. Moreover, in case of any problems we can easily find solutions on the internet, for example using StackOverflow.
- Whatsoever, Postgres supports a wide variety of programming languages. We can write SQL queries or custom functions with C or C++. Of course, we can find probably hundreds of libraries to write code with Java, Kotlin, and many more.
- Lastly, it comes with plenty of features and data types support out of the box. If you would like to learn more about its features, then I highly encourage you to visit its documentation here. Not to mention that we can always extend and customize its behavior due to its liberal licensing.
PostgreSQL Disadvantages
With all of that great things being covered in our PostgreSQL introduction, let’s see its drawbacks:
- Firstly, it’s comparatively slower and it is not as well supported as MySQL when it comes to different applications or hostings.
- Secondly, complexity. PostgreSQL is a powerful ORDBMS, but it may require more resources and expertise to set up and manage than some other database systems.
- Lastly, being an open-source solution means that there’s not a single organization, or a company standing behind it and it does not come with any warranty.
PostgreSQL Use Cases
As the next thing, let’s see what PostgreSQL is well suited for:
- First of all, web-based apps. PostgreSQL with its great support for different (even complex) data types and other features can be a great solution for content management systems, e-commerce platforms, etc.
- Scientific and financial applications. Postgres is often used in apps, which require processing large amounts of data, support for data analysis, and transactions support.
- Moreover, everywhere, where we need to process spatial data. Postgis, an extension for PostgreSQL, adds support for geographic objects allowing location queries to be run in SQL.
Please keep in mind that these are not all possible use cases. And if you need a mature relational database management system, which supports various data types, complex queries, and large datasets, then PostgreSQL can be a great choice.
Which Companies Use Postgres?
As the last thing, let’s take a second to see the list of companies using PostgreSQL.
As the first one- Apple. It uses Postgres to store and manage data for a number of its internal systems, including its online store and customer support systems. They even replaced MySQL with Postgres as an embedded DB in the OS X Lion.
And as the next one, Instagram. Yes, a giant with over 2 billion users makes use of PostgreSQL as one of the main databases for their system.
Of course, the list of all companies is much longer, but let’s see a couple more:
- Skype
- Yahoo
- Spotify
- Salesforce
- Uber and Airbnb.
Summary Of The PostgreSQL Introduction
And that’s all for this article, in which we cover what exactly PostgreSQL is. Together, we walked through its genesis, advantages, disadvantages, and use cases, as well.
I hope you enjoy this series about the most popular databases on my blog. Please keep in mind, that I have other articles, in which you can learn how to work with Postgres in practice, for example:
Alternatively, you might wan to check other articles in a series:
Finally, the task for you: please leave a comment with your thoughts or feedback in the comments section below.