前言
目录
1. 什么是PostgreSQL? #
PostgreSQL是一个对象-关系数据库管理系统(ORDBMS),它基于加州大学伯克利分校计算机科学系开发的 POSTGRES, Version 4.2。POSTGRES项目由 Michael Stonebraker 教授领导,得到了国防高级研究计划局(DARPA)、陆军研究办公室(ARO)、国家科学基金会(NSF)以及 ESL 公司的赞助。
PostgreSQL是这一原始伯克利代码的开源后代。它提供 SQL92/SQL99 语言支持和其他现代特性。
POSTGRES开创的许多对象-关系概念如今才在一些商业数据库中变得可用。传统的关系数据库管理系统(RDBMS)支持的数据模型由一组命名的关系组成,关系中包含特定类型的属性。在当前的商业系统中,可用的类型包括浮点数、整数、字符串、货币和日期。人们普遍认识到,这个模型对于未来的数据处理应用是不够的。关系模型之所以能够成功地取代以前的模型,部分原因在于它的“斯巴达式的简洁”。然而,如前所述,这种简洁性常使某些应用的实现变得非常困难。Postgres通过以下面这种方式纳入下列附加概念,提供了可观的额外能力,使用户可以轻松地扩展系统:
| 继承 |
| 数据类型 |
| 函数 |
其他特性提供了额外的能力和灵活性:
| 约束 |
| 触发器 |
| 规则 |
| 事务完整性 |
这些特性使Postgres属于被称为对象-关系的数据库类别。注意,这不同于那些被称为面向对象的数据库,后者通常不太适合支持传统的关系数据库语言。因此,尽管 Postgres有一些面向对象的特性,它仍然坚定地站在关系数据库的世界中。事实上,一些商业数据库最近纳入了Postgres开创的特性。