PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是从加州大学伯克利分校写的POSTGRES软件包发展而来的。经过二十多年的发展,PostgreSQL是世界上是最先进的开源数据库之一。始于大学研究,所以整个PostgreSQL具有高度的理论支撑,同时具有严谨的代码设计风格,工业级的代码设计。POSTGRES是由图灵奖的获得者Michael Ralph Stonebraker最初主持设计开发的,具有许多先进的数据库理念。其中许多概念在很久以后才出现在一些商业数据库系统中。
PostgreSQL拥有现代关系型数据库基本的特性:
- 使用关系型模型作为数据模型;
- 使用锁和WAL日志实现事务的原子性,使用查询处理器进行检测以实现事务的一致性,使用锁和MVCC实现了事务的隔离性,使用WAL日志完成了事务的持久性;
- 具有完善、先进的查询处理器,能够使用动态规划,遗传算法进行基于成本的代价优化;
- 使用进程模型作为工作模型;
- 具有丰富的系统函数、类型、接口、插件、前端工具、语法等等。
PostgreSQL支持大部分的SQL标准并且提供了很多其他现代特性,如复杂查询、外键、触发器、视图、事务完整性、多版本并发控制等。同样,PostgreSQL也可以用许多方法扩展,例如通过增加新的数据类型、函数、操作符、聚集函数、索引方法、过程语言等。
PostgreSQL的开源协议类似于BSD协议或MIT协议,可以在任何目的下进行分发、闭源或者开源。只需将PostgreSQL协议内容附属到源码中即可。开放友善的开源协议,工业级的代码开发,造就了PostgreSQL如今丰富的生态支撑。此外,PostgreSQL还是跨平台的,可以在许多操作系统上运行,如Linux,FreeBSD,OS X,Solaris和Microsoft Windows等。
资料来源:
老鸟带你畅游PostgreSQL生态 http://www.postgres.cn/v2/news/viewone/1/544
刘鑫. MySQL和PostgreSQL的对比选择[J]. 沈阳工程学院学报(自然科学版), 2011, (2):171-173,177.
鲁笛, 向阳, 刘增宝. POSTGRESQL数据库缓冲管理的分析与研究[J]. 计算机技术与发展, 2011, (12):41-44.
PostgreSQL教程 https://www.yiibai.com/postgresql