
PostgreSQL
简介
PostgreSQL是一个功能强大的开源关系型数据库系统。
由加州大学伯克利分校开发
经过长达15年以上的积极开发和不断改进,PostgreSQL已在可靠性、稳定性、数据一致性等获得了业内极高的声誉。目前PostgreSQL可以运行在所有主流操作系统上
,包括Linux、Unix和Windows。
PostgreSQL是完全的事务安全性数据库
,支持丰富的数据类型(如JSON和JSONB类型、数组类型)和自定义类型。PostgreSQL数据库提供了丰富的接口,可以很方便地扩展它的功能,如可以在GiST框架下实现自己的索引类型,支持使用C语言写自定义函数、触发器,也支持使用流行的编程语言写自定义函数。PL/Perl提供了使用Perl语言写自定义函数的功能,当然还有PL/Python、PL/Java、PL/Tcl等。
作为一种企业级数据库
,PostgreSQL以它所具有的各种高级功能而自豪,像多版本并发控制(MVCC)、按时间点恢复(PITR)、表空间、异步复制、嵌套事务、在线热备、复杂查询的规划和优化以及为容错而进行的预写日志等。它支持国际字符集、多字节编码并支持使用当地语言进行排序、大小写处理和格式化等操作。它也在所能管理的大数据量和所允许的大用户量并发访问时间具有完全的高伸缩性。
为什么使用PostgreSQL
PostgreSQL数据库是目前功能最强大的开源数据库
它是最接近工业标准SQL92的查询语言,至少实现了SQL:2011标准中要求的179项主要功能中的160项(注:目前没有哪个数据库管理系统能完全实现SQL:2011标准中的所有主要功能)
稳定可靠
PostgreSQL是唯一能做到数据零丢失的开源数据库。目前有报道称国内外有部分银行使用PostgreSQL数据库。
开源免费
PostgreSQL数据库是开源的、免费的,而且使用的是类BSD协议,在使用和二次开发上基本没有限制。
支持广泛
PostgreSQL 数据库支持大量的主流开发语言,包括C、C++、Perl、Python、Java、Tcl以及PHP等。
PostgreSQL社区活跃
PostgreSQL基本上每3个月推出一个补丁版本,这意味着已知的Bug很快会被修复,有应用场景的需求也会及时得到响应。
和Oracle的比较
Oracle数据库是目前功能最强大的商业数据库
;PostgreSQL则是功能最强大的开源数据库
PostgreSQL可以在内存很小的机器上完美运行起来,如在512MB的云主机中;而Oracle数据库基本要在数GB的云主机中才可以运行起来。
Oracle安装包动辄几个GB以上级别;而PostgreSQL的安装包只有几十MB大小。
PostgreSQL与Oracle的不同之处在于,PostgreSQL有更多支持互联网特征的功能。
如PostgreSQL数据类型支持网络地址类型、XML类型、JSON类型、UUID类型以及数组类型,且有强大的正则表达式函数,如where条件中可以使用正则表达式匹配,也可以使用Python、Perl等语言写存储过程等。另外,PostgreSQL更小巧。
和MySQL的比较
都开源,都跨平台,也都挺强大好用,各有千秋吧