PostgreSQL is an object-relational
database management system (ORDBMS) based on
POSTGRES, Version 4.2,
developed at the University of California at Berkeley Computer
Science Department. The POSTGRES
project, led by Professor Michael Stonebraker, was sponsored by
the Defense Advanced Research Projects Agency
(DARPA), the Army Research Office
(ARO), the National Science Foundation
(NSF), and ESL, Inc.
PostgreSQL is an open-source descendant of
this original Berkeley code. It provides SQL92/SQL99 language support
and other modern features.
POSTGRES pioneered many of the
object-relational concepts now becoming available in some commercial
databases.
Traditional relational database management systems
(RDBMS) support a data model consisting of a collection
of named relations, containing attributes of a specific
type. In current commercial systems, possible types
include floating point numbers, integers, character
strings, money, and dates. It is commonly recognized
that this model is inadequate for future data-processing applications.
The relational model successfully replaced previous
models in part because of its "Spartan simplicity".
However, this simplicity makes the
implementation of certain applications very difficult.
PostgreSQL offers substantial additional
power by incorporating the following additional
concepts in such a way that users can easily
extend the system:
- inheritance
- data types
- functions
Other features provide additional power and flexibility:
- constraints
- triggers
- rules
- transactional integrity
These features put PostgreSQL into the
category of databases referred to as
object-relational. Note that this is distinct
from those referred to as object-oriented,
which in general are not as well suited to supporting
traditional relational database languages.
So, although PostgreSQL has some
object-oriented features, it is firmly in the relational database
world. In fact, some commercial databases have recently
incorporated features pioneered by PostgreSQL.