An expert engineer explains the history of how the open source relational database 'PostgreSQL' gained trust and became widely used.



PostgreSQL is an open source relational database, and according to

a 2022 survey , it is the second most used database after MySQL. PostgreSQL expert engineer Craig Carstiens explains the history of how PostgreSQL has been developed and how the number of users has increased.

When Did Postgres Become Cool?
https://www.crunchydata.com/blog/when-did-postgres-become-cool



The origin of PostgreSQL was the Ingres (INteractive Graphics REtrieval System) project at the University of California, Berkeley. This was the beginning of a change in direction for the project and funding for the development of a relational database. It was named POSTGRES as the successor to Ingres, and version 1 was released in 1989.

The original language was QUEL, not SQL, but when ANSI (American National Standards Institute) decided to prioritize SQL in 1986, many relational database projects moved to SQL. In the case of POSTGRES, SQL support was incorporated in Postgres95 released in 1995. In 1996, the name 'Postgres 95 ' was no longer convenient, so the first version, 6.0, was released with the original name POSTGRES and a new name PostgreSQL to specify support for SQL. At the same time, the PostgreSQL global development team, which will continue to lead the PostgreSQL project in 2023, has also been established.

Although the name was changed to PostgreSQL, we decided to continue using the old name 'Postgres' considering the ease of pronunciation and the popularity of the name.

PostgreSQL 6.5, released in 1999, introduced MVCC (multi-version concurrency control), a technology that allows processing requests to be processed simultaneously from multiple users without losing concurrency. As such, the following functions were added throughout the early 2000s.

・Log advance writing (WAL)
・OUTER JOIN
・Excessive attribute storage technique (TOAST)
・More than 4 billion transactions
・DROP COLUMN
・Schema
・IPv6


As a result of these improvements, PostgreSQL began to be considered a fairly reliable database in 2005. In the late 2000s, support for larger numbers of transactions, wider support for SQL, and improvements to WAL and VACUUM made it reliable enough to use in production environments, but it was still difficult to use. There was room for improvement in this regard. During this period, the following features were added:

・Simultaneous index creation
・Warm standby server
・Improved query language
・All data types (array, UUID, ENUM, XML)
・Two-phase commit
・More complete role system


The same members continued to participate in the development of PostgreSQL from the beginning, but in the late 2000s new members started developing major functions. With the introduction of window functions and common table expressions (CTE) in PostgreSQL 8.4 in 2009, as well as the addition of powerful reporting functionality, Karstiens says he can no longer consider any other option than PostgreSQL. .



PostgreSQL was provided with a license that allowed commercial use, so as its functionality expanded, many companies began forking PostgreSQL and building new databases. Some of the forks born at that time did not survive until 2023, but some of them have been inherited by other products as shown below.

・Aster Data → Acquired by Teradata
・Truviso → Acquired by Cisco
・Netezza → Acquired by IBM
・Greenplum → Acquired by EMC
・ParAccel → Although not acquired, it effectively became RedShift


Despite the birth of these forks, the evolution of PostgreSQL continued as before.

◆2010: PostgreSQL 9.0 and 9.1
Added support for 'listen/notify' for Pub/Sub from the database, 'hstore' for key-value data types, and added support for pg_upgrade for easy upgrades. Also, the GIN index and GiST index have appeared.

◆2012: Supports JSON
With the rise of NoSQL databases like Mongo and Couchbase, it was clear that developers wanted a different way to work with their data. PostgreSQL listened and started supporting JSON in PostgreSQL 9.2 in 2012, but at the time of 9.2, JSON was stored as plain text in the database.

Around 2012, the use of Heroku to simplify application deployment increased, and Heroku Postgres became popular as the standard database for Heroku. It is stated that the trend has changed from a configuration that combines a MySQL database and VPS shared hosting for apps to a configuration that uses PaaS or dedicated database infrastructure.

◆2014: Real JSON
PostgreSQL 9.4, released in 2014, supports the JSONB type, which stores JSON in binary format, and allows you to easily create indexes on JSON data using GIN indexes.

◆2016~: 9.5, 9.6, 10
In versions since 2016, the theme has shifted to steadily improving performance and strengthening existing functions, rather than focusing on commonly used functions. For example, it is stated that inline updates are supported in JSONB and the number of items that can be executed in parallel has increased. However, in addition to these small updates, we have also added major features that may be important depending on your usage, such as the following.

Row level security
Logical replication
Table partitioning


In September 2023, PostgreSQL 16 will be released, packed with so much content that it's hard to believe that 35 years have passed since development began. You can understand the contents of PostgreSQL 16 by reading the article below.

PostgreSQL 16 will be released, with a lot of content such as performance improvements such as COPY performance improved by up to 300% and enhancement of logical replication function - GIGAZINE



◆When did PostgreSQL become cool?
The core of PostgreSQL has remained unchanged since its development: it is a highly reliable database. ``At the end of the day, what we look for in a database is reliability,'' says Carstiens, adding that while other newer, brighter products may gain short-term attention, in the end the product will remain stable for many years. It says it will come back to a trusted database.

As a result, PostgreSQL has become a cool database that attracts a large number of users, not because of the addition of specific features, but because it has a stable release cycle, focuses on quality, and continually improves performance and functionality. It can be said that this is the result of an accumulation of history. Carstiens concludes his blog by saying that the credit for making PostgreSQL a great database belongs to the developers who have contributed to PostgreSQL's development.

in Software, Posted by log1d_ts