Other features provide additional power and flexibility:constraintstriggersrulestransaction integrity

These features put Postgres into the category of databases referred to as object-relational. Notethat this is distinct from those referred to as object-oriented, which in general are not as wellsuited to supporting the traditional relational database languages. So, although Postgres hassome object-oriented features, it is firmly in the relational database world. In fact, somecommercial databases have recently incorporated features pioneered by Postgres.A Short History of PostgresThe Object-Relational Database Management System now known as PostgreSQL (and brieflycalled Postgres95) is derived from the Postgres package written at Berkeley. With over aChapter 1. Introduction2decade of development behind it, PostgreSQL is the most advanced open-source databaseavailable anywhere, offering multi-version concurrency control, supporting almost all SQLconstructs (including subselects, transactions, and user-defined types and functions), andhaving a wide range of language bindings available (including C, C++, Java, perl, tcl, andpython).The Berkeley Postgres ProjectImplementation of the Postgres DBMS began in 1986. The initial concepts for the system werepresented in The Design of Postgres and the definition of the initial data model appeared in ThePostgres Data Model. The design of the rule system at that time was described in The Designof the Postgres Rules System. The rationale and architecture of the storage manager weredetailed in The Postgres Storage System.Postgres has undergone several major releases since then. The first "demoware" systembecame operational in 1987 and was shown at the 1988 ACM-SIGMOD Conference. Wereleased Version 1, described in The Implementation of Postgres, to a few external users inJune 1989. In response to a critique of the first rule system (A Commentary on the PostgresRules System), the rule system was redesigned (On Rules, Procedures, Caching and Views inDatabase Systems) and Version 2 was released in June 1990 with the new rule system. Version3 appeared in 1991 and added support for multiple storage managers, an improved queryexecutor, and a rewritten rewrite rule system. For the most part, releases until Postgres95 (seebelow) focused on portability and reliability.Postgres has been used to implement many different research and production applications.These include: a financial data analysis system, a jet engine performance monitoring package,an asteroid tracking database, a medical information database, and several geographicinformation systems. Postgres has also been used as an educational tool at several universities.Finally, Illustra Information Technologies (http://www.illustra.com/) (since merged intoInformix (http://www.informix.com/)) picked up the code and commercialized it. Postgresbecame the primary data manager for the Sequoia 2000(http://www.sdsc.edu/0/Parts_Collabs/S2K/s2k_home.html) scientific computing project in late