目录
1软件简介编辑
Postgresql 是一个自由的对象-关系数据库服务器(数据库管理系统),它在灵活的 BSD-风格许可证下发行。它提供了相对其他开放源代码
数据库系统(比如 MysqL 和 Firebird),和专有
系统(比如 Oracle、Sybase、IBM 的 DB2 和 Microsoft sql Server)之外的另一种选择。
Postgresql 不
寻常的
名字导致一些读者停下来尝试拼读它,特别是那些把sql拼读为"sequel"的人。Postgresql 开发者把它拼读为 "post-gress-Q-L"。它也经常被简略念为 "postgres"。
[1]
2主要特点编辑
优点
[2]
事实上, Postgresql 的特性覆盖了 sql-2/sql-92 和 sql-3/sql-99,首先,它包括了可以说是目前
世界上最丰富的
数据类型的支持,其中有些数据类型可以说连商业数据库都不具备, 比如 IP 类型和几何类型等;其次,Postgresql 是全功能的自由软件数据库,很长时间以来,Postgresql 是唯一支持
事务、
子查询、多版本并行控制系统(
MVCC)、
数据完整性检查等特性的唯一的一种自由软件的
数据库管理系统。 Inprise 的 InterBase 以及
SAP等厂商将其原先专有软件开放为自由软件之后才打破了这个唯一。最后,Postgresql拥有一支非常活跃的开发队伍,而且在许多
黑客的努力下,Postgresql 的质量日益提高。
从技术角度来讲,Postgresql 采用的是比较经典的
C/S(client/server)结构,也就是一个客户端对应一个服务器端
守护进程的模式,这个守护进程分析客户端来的查询请求,生成规划树,进行数据检索并最终把结果格式化输出后返回给客户端。为了便于客户端的程序的编写,由
数据库服务器提供了统一的客户端 C 接口。而不同的客户端接口都是源自这个 C 接口,比如
ODBC,
JDBC,
Python,
Perl,
Tcl,
C/C++,
ESQL等, 同时也要指出的是,Postgresql 对接口的支持也是非常丰富的,几乎支持所有类型的数据库客户端接口。这一点也可以说是 Postgresql 一大优点。
缺点
从 Postgres 开始,Postgresql 就经受了多次变化。
首先,早期的 Postgresql 继承了几乎所有 Ingres,Postgres,Postgres95 的问题:过于学院味,因为首先它的目的是数据库研究,因此不论在稳定性, 性能还是使用方方面面,长期以来一直没有得到重视,直到 Postgresql 项目开始以后,情况才越来越好,Postgresql 已经完全可以胜任任何中上规模范围内的应用范围的业务。目前有报道的生产数据库的大小已经有 TB 级的数据量,已经逼近 32 位计算的极限。不过学院味也给 Postgresql 带来一个意想不到的好处:大概因为各大学的软硬件环境差异太大的缘故,它是目前
支持平台最多的
数据库管理系统的一种,所支持的平台多达十几种,包括不同的系统,不同的硬件体系。至今,它仍然保持着
数据库管理系统的称号。