PostgreSQL是一款开源、免费、不会受到任何版权与专利骚扰的数据库,起源于加州大学伯克利分校,使用BSD许可证,由The PostgreSQL Global Development Group维护,其实论综合性能来说,它比MySQL要好很多的,稳定快速,适用于各操作系统,只是在一贯习惯跟风的中国并不是很火。

  PostgreSQL是以加州大学伯克利分校计算机系开发的 POSTGRES,现在已经更名为POSTGRES,版本 4.2为基础的对象关系型数据库管理系统(ORDBMS)。PostgreSQL支持大部分 SQL标准并且提供了许多其他现代特性:复杂查询、外键、触发器、视图、事务完整性、MVCC。同样,PostgreSQL 可以用许多方法扩展,比如, 通过增加新的数据类型、函数、操作符、聚集函数、索引免费使用、修改、和分发 PostgreSQL,不管是私用、商用、还是学术研究使用。

  PostgreSQL是一个自由的对象-关系数据库服务器(数据库管理系统),它在灵活的BSD-风格许可证下发行。它提供了相对其他开放源代码数据库系统(比如MySQL和Firebird),和专有系统(比如Oracle、Sybase、IBM的DB2和MicrosoftSQLServer)之外的另一种选择。 

  PostgreSQL不寻常的名字导致一些读者停下来尝试拼读它,特别是那些把SQL拼读为”sequel”的人。PostgreSQL开发者把它拼读为”post-gress-Q-L”。它也经常被简略念为”postgres”。 

优点
  事实上,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带来一个意想不到的好处:大概因为各大学的软硬件环境差异太大的缘故,它是目前支持平台最多的数据库管理系统的一种,所支持的平台多达十几种,包括不同的系统,不同的硬件体系。至今,它仍然保持着支持平台最多的数据库管理系统的称号。

  其次,PostgreSQL的确还欠缺一些比较高端的数据库管理系统需要的特性,比如数据库集群,更优良的管理工具和更加自动化的系统优化功能等提高数据库性能的机制等。

 

版权声明:本文为gsk99原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/gsk99/p/4891495.html