引用:http://baike.baidu.com/view/28196.htm
相关数据库:http://baike.baidu.com/taglist?tag=%CA%FD%BE%DD%BF%E2&tagfromview
PostgreSQL是以加州大学伯克利分校计算机系开发的 POSTGRES,版本 4.2为基础的对象关系型数据库管理系统(ORDBMS)。PostgreSQL支持大部分 SQL标准并且提供了许多其他现代特性:复杂查询、外键、触发器、视图、事务完整性、多版本并发控制。同样,PostgreSQL 可以用许多方法扩展,比如, 通过增加新的数据类型、函数、操作符、聚集函数、索引方法、过程语言。并且,因为许可证的灵活,任何人都可以以任何目的免费使用,修改,和分发 PostgreSQL, 不管是私用,商用,还是学术研究使用。
编辑本段历史
早期POSTGRES
现在被称为 PostgreSQL (发音为Post-gress-cue-ell 声音文件: MP3文件)的对象-关系型数据库管理系统(有一段时间被称为 Postgres95)是从伯克利写的 POSTGRES 软件包发展而来的。经过十几年的发展, PostgreSQL 是世界上可以获得的最先进的开放源码的数据库系统, 它提供了多版本并行控制,支持几乎所有 SQL 构件(包括子查询,事务和用户定 义类型和函数), 并且可以获得非常广阔范围的(开发)语言绑定 (包括 C,C++,Java,perl,tcl,和 python)。Postgres95
在 1994 年, Andrew Yu 和 Jolly Chen 向 POSTGRES 中增加了 SQL 语言的解释器。并随后将 Postgres95 源代码发布到互联网上供大家使用, 成为一个开放源码的,原先伯克利 POSTGRES 代码的继承者。PostgreSQL
到了 1996 年, "Postgres95"改成新名字 PostgreSQL 用于反映最初的 POSTGRES 和最新的使用 SQL 的版本之间的关系。 同时版本号也 重新从 6.0 开始, 将版本号放回到最初的由 伯克利 POSTGRES 项目开始的顺序中。编辑本段PostgreSQL改进
除了修正了一些错误,下面的是一些主要查询语言
原来的查询语言 PostQUEL 被 SQL 取代(在 server 端实现)。在 PostgreSQL 之前还不支持子查询)(但这个功能可以在 Postgres95 里面由用户定义的 SQL 函数实现)。重新实现了聚集。同时还增加了对 GROUP BY 查询子句的支持。 C 程序仍可以调用 libpq接口函数。前端库
增加了新的前端库, libpgtcl, 用以支持以 Tcl为基础的客户端。一个样本 shell, pgtclsh,提供了新的 Tcl 命令用于 Tcl 程序和 Postgres95 后端之间的交互。特性教程
在发布的源码中增加了一个简短的常用 SQL 和 Postgres95 特有的 SQL 特性的教程。编辑本段项目
Michael Stonebraker 领导的 POSTGRES 项目是由防务高级研究项目局(DARPA), 陆军研究办公室(ARO),国家科学基金(NSF), 以及 ESL, Inc 共同赞助的。 POSTGRES 的实现始于 1986 年, 该系统最初的概念详见 POSTGRES的设计。 最早的数据模型定义见 The POSTGRES Data Model。 当时的规则系统设计在 POSTGRES 规则系统的设计 里描述. 存储管理器的理论基础和体系结构在 POSTGRES存储系统的设计 里有详细描述。编辑本段主要特点
优点
事实上, PostgreSQL 的特性覆盖了 SQL-2/SQL-92 和 SQL-3/SQL-99,首先,它包括了可以说是目前世界上最丰富的数据类型的支持,其中有些数据类型可以说连商业数据库都不具备, 比如 IP 类型和几何类型等;其次,PostgreSQL 是全功能的自由软件数据库,很长时间以来,PostgreSQL 是唯一支持事务、子查询、多版本并行控制系统、数据完整性检查等特性的唯一的一种自由软件的数据库管理系统。直到最近才有 Inprise 的 InterBase 以及 SAP 等厂商将其原先专有软件开放为自由软件之后才打破了这个唯一。最后,PostgreSQL拥有一支非常活跃的开发队伍,而且在许多黑客的努力下,PostgreSQL 的质量日益提高。缺点
从 Postgres 开始,PostgreSQL 就经受了多次变化。- 扩展阅读:
-
- 1
PostgreSQL 8.0.0 中文文档(PostgreSQL 中国 制作)
- 2
- 3
- 4
- 1