PostgreSQL是以 加州大学伯克利分校开发的 POSTGRES 版本 4.2为基础的 对象关系型数据库管理系统(ORDBMS)。 当初由 Michael Stonebraker 教授领导的 POSTGRES项目, 是由高级防务研究项目局 (Defense Advanced Research Projects Agency) (DARPA), 陆军研究处 ( Army Research Office (ARO), 国家科学基金会 (National Science Foundation) (NSF),和 ESL 公司赞助进行的。
PostgreSQL 是最初的伯克利 的代码的一个开放源码的继承人. 它提供了 SQL92/SQL99 语言的支持以及一些其他现代特性.
POSTGRES 所领先的许多 面向对象的概念现在已经在一些商业数据库中得到了应用. 传统的关系型数据库管理系统 (RDBMS) 支持一个由命名关系(表)的集合 (包括特定类型的属性/字段)组成的数据模型.在现代的商用系统中, 可能的类型通常包括浮点数, 整数, 字符串, 金额及日期. 现在, 人们普遍认为这个模型已经不能满足未来的数据处理应用的需要了. 而关系型模型成功地取代了以前的模型在某种程度上来说是因为它的 “简单”. 当然, 正如我们常说的, 简单通常会使某些应用的实现变得非常困难. Postgres 通过一种让用户可以很容易扩展系统的方法整合了下面四种基本概念, 使其能提供可观的附加功能:
继承(inheritances) |
数据类型(data types) |
函数(functions) |
其它特性则提供了附加的功能和灵活性∶
约束 |
触发器 |
规则 |
事务完整 |
这些特性将 Postgres置于 对象-关系 (object-relational) 型数据库的范畴. 请注意, 这是和那些所谓的 面向对象(object-oriented), 面向对象型数据库通常并不适合于支持传统的关系型数据库语言. 所以, 尽管 Postgres 有一些面向对象的特性, 它仍然属于关系型数据库的范畴, 事实上, 一些商用数据库最近已经集成了一些 Postgres所领先的特性.