PostgreSQL 8: the relational database that makes no compromises

PostgreSQL 8.3 with HOT updates, integrated full-text search and improved performance. MVCC, extensions, custom types and PL/pgSQL: from Berkeley academic project to the most complete open source relational database.

Open SourceWeb Open SourcePostgreSQLDatabaseSQLMVCC

From Berkeley to enterprise database

The origins of PostgreSQL date back to 1986, when professor Michael Stonebraker launched the POSTGRES project at the University of California, Berkeley, as the successor to the Ingres relational database. The goal was to explore advanced concepts: custom data types, table inheritance and an extensible rule system. In 1996 the academic project became PostgreSQL, an open source database maintained by an international community of developers.

With the release of version 8.3 in February 2008, PostgreSQL consolidates its position as the most feature-complete open source relational database.

MVCC and data integrity

PostgreSQL’s concurrency engine is based on MVCC (Multi-Version Concurrency Control). Each transaction operates on a consistent snapshot of the data: reads do not block writes and writes do not block reads. This approach eliminates the need for explicit locks in most use cases, ensuring high performance even under heavy concurrent load.

PostgreSQL implements all four isolation levels defined by the SQL standard and supports complex constraints: foreign keys, check constraints, unique constraints and exclusion constraints. Data integrity is not optional — it is a design principle.

What is new in version 8.3

Version 8.3 introduces significant improvements:

  • HOT updates (Heap-Only Tuple): when an update does not modify indexed columns, PostgreSQL avoids updating the indexes, drastically reducing I/O on tables with frequent updates
  • Full-text search integrated into the core: text search capabilities, previously available as the external tsearch2 module, are now part of the database. tsvector vectors, tsquery queries and GIN and GiST indexes for full-text search are native tools
  • Improvements to the query planner and support for bitmap index scans on complex queries

Extensibility as a principle

What sets PostgreSQL apart from other relational databases is the depth of its extensibility. Users can define custom data types, operators, aggregate functions, index methods and procedural languages. PL/pgSQL is the native procedural language for writing stored procedures and triggers, but PostgreSQL also supports PL/Python, PL/Perl and PL/Tcl.

This extensible architecture allows the database to be adapted to specific domains without modifying its core. Geometric types, array support and the ability to define custom domains are examples of a design philosophy that favours completeness and correctness over simplicity.

PostgreSQL has never been the fastest database for simple operations nor the easiest to configure. It is the database that refuses to compromise on data integrity and SQL standard compliance.

Link: postgresql.org

Need support? Under attack? Service Status
Need support? Under attack? Service Status