PostgreSQL, often simply Postgres, is an object-relational database management system (ORDBMS). It is released under a BSD-style license and is thus free and open source software. As with many other open source programs, PostgreSQL is not controlled by any single company, but has a global community of developers and companies to develop it.
- Referential integrity constraints including foreign key constraints, column constraints, and row checks
- Views. Although views are by default not updateable, they can be made so by creating "insert", "update", and/or "delete" Query Re-Write Rules on the view.
- Inner, outer (full, left and right), and cross joins
- Correlated sub-queries
- Supports most of the major features of SQL:2008 standard
- Encrypted connections via SSL
- Binary and textual large-object storage
- Online backup
- Point-in-time recovery
- Two-phase commit
- TOAST (The Oversized-Attribute Storage Technique) is used to transparently store large table attributes (such as big MIME attachments or XML messages) in a separate area, with automatic compression.
- Common table expressions
- Embedded SQL is implemented using preprocessor. SQL code is first written embedded into C code. Then code is run through ECPG preprocessor, which replaces SQL with calls to code library. Then code can be compiled using C compiler. Embedding works also with C++ but it does not recognize all C++ constructs.