Welcome to the world of PostgreSQL. PostgreSQL is a powerful, open-source object-relational database system. It is often called "Postgres" for short. It has over 30 years of active development, which has earned it a strong reputation for reliability.
A relational database stores data in tables, which are made of rows and columns. This structure is based on relational algebra and ensures data integrity and consistency.
PostgreSQL is known for its robustness and feature set. It is fully ACID compliant (Atomicity, Consistency, Isolation, Durability), which guarantees reliable transactions.
PostgreSQL supports advanced data types, allowing you to store JSON, XML, and even create custom types. It also has powerful indexing features, including Full Text Search and GiST indexes.
PostgreSQL is highly extensible. You can define your own data types, build custom functions, and even write code from different programming languages.
PostgreSQL uses Multi-Version Concurrency Control (MVCC), which allows multiple readers and writers to work at the same time. Readers do not block writers, and writers do not block readers, providing excellent performance in high-concurrency environments.
PostgreSQL is backed by a vibrant global community and is not controlled by any single corporation. This ensures it remains free and open-source forever. There is extensive documentation available.
PostgreSQL is a great choice for many applications. It is used for large-scale web applications, powers financial and scientific systems, and is a popular choice for geospatial data with PostGIS.
Fun Fact: PostgreSQL's original name was POSTGRES, a reference to its origins as a successor to the Ingres database at the University of California, Berkeley.
PostgreSQL is an "object-relational" database, which means it supports concepts like inheritance. Tables can inherit properties from other tables, which can simplify complex data models.
PostgreSQL is highly compliant with the SQL standard, supporting most major features of SQL:2016. This makes it easy for developers with SQL experience to get started.
Data integrity is a core principle of PostgreSQL. It supports primary keys, foreign keys, check constraints, and unique constraints to prevent invalid data from being entered.
PostgreSQL is a world-class database system that is reliable, feature-rich, and highly extensible, making it a perfect choice for projects of all sizes. In the next chapter, we will install it.
What does ACID compliance guarantee in a database?