PostgreSQL 9.3发布

时间:2021-09-05 07:36:36

9月9日,PostgreSQL全球开发组宣布了9.3版发布的消息。从2010年9.0版开始,PostgreSQL已经连续四个版本稳定地按时在每年9月中旬发布,从一个侧面也显示了开发团队的强大实力。

9.3版的新增点通过官方的特性矩阵能够最直观地看到。官方Wiki中的What‘s New和正式文档中的版本说明有更详细的说明。

比较显著的新增特性包括:

外部数据集成

  • 外部数据封装器现在可写了,大大有助于系统间的双向数据交换。这在目前多种数据库和存储技术共存的复杂IT系统中非常重要。
  • 新增了一个高性能、读/写PostgreSQL-PostgreSQL联邦驱动器postgres_fdw。

可靠性和可用性增强

  • 数据页校验和。有助于管理员快速地检测故障硬盘和损坏数据的硬件
  • 快速故障恢复。次秒级主副切换,支持运营商级可用性
  • Streaming-Only Remastering:故障后梯级副本的快速、简便重新配置

面向开发者的特性

  • 更多的JSON构造方法和提取方法
  • Parallel pg_dump,可加速大规模数据库的备份
  • LATERAL JOIN(子句FROM部分中的子查询可以引用FROM列表中之前项里的列,详见文档
  • JSON数据类型新增的构建和解析方法
  • 外部数据包装器(Foreign Data Wrapper),这个允许和其他数据库(包括非Postgres的)整合的特性现在支持增加、更新和删除
  • Postgres FDW——该特性和db-link模块类似,能以更透明、标准的高性能方式(大多数情况下)访问其他Postgres服务器。
  • Event Triggers——这和一般的触发器有点相似,但是对数据库来说是全局的并且能捕捉DDL事件。然而它们无法使用SQL编写。
  • 物化视图――物化视图实际上是以提供的查询数据填充的表,并能按需刷新,而不需要直接查询基础表。然而目前还不能对它们自动刷新。
  • 自动更新视图――自动更新视图是一种视图,允许执行INSERT、UPDATE和DELETE语句。它们需要遵守某些规定。在9.3中,如果遵守这些规定,系统会自动将视图变为可更新的。

最新版本下载地址:http://www.postgresql.org/download/

HN的讨论中,masklinn特别提到对于应用开发者,PGResult是一个非常有用的功能。可以从中获得非常直观的应用诊断信息。

哪些特性最受欢迎呢?

瑞士电商技术公司Sensational的CTO Philip Hofstetter(@pilif)对NO KEY UPDATE锁模式情有独钟,说这能够大大提升应用在导入程序运行时的性能。NO KEY UPDATE和KEY SHARE是在原有的两种锁模式之外新增的两个模式,具体可以参见这篇文章。这是智利的PG核心开发者Álvaro Herrera(Twitter @alvherre)过去五年的工作成果。

在Heroku效力的Craig Kerstiens(他也是PostgreSQL Weekly和PostgresGuide.com/的负责人)则专门为此发表了一篇文章,同时Heroku也在生产环境开始提供PostgreSQL 9.3版的服务。

瑞典的Joel Jacobson最喜欢的是:防止非键字段的行更新阻塞外键检查。这能够提高并发性,减少有外键约束时表更新中的死锁概率。

jeltz表示自己最心仪的是两点:1) 不用再配置sysv 共享内存 2) LATERAL JOIN,用返回集合的函数做join操作更容易了(他认为官方声明中提到的子查询场景实际用处不大)。

zwily(他应该教育平台公司Instructure的研发副总Zach Wily指出,9.3为未来的双向复制打下了基础,原生的多主数据库间复制成为可能。

Skype 用 PostgreSQL 支撑海量用户

开源数据库 Sharding 技术 (Share Nothing)

Postgresql 9.3外部数据封装的新功能

PostgreSQL Pgpool-II单机多实例的Streaming replication

Ubuntu下PostgreSQL数据库集群(PL/Proxy)配置方法  http://www.alidata.org/archives/723

pl proxy 集群示例配置过程

http://blog.sina.com.cn/s/blog_4c7c8e8b0101l6fh.html

http://www.tudou.com/home/item_u76842067s0p1.html

RecDB:完全构建在PostgreSQL中的开源推荐引擎 https://github.com/Sarwat/recdb-postgresql

RecDB是明尼苏达大学博士生Mohamed Sarwat为首的团队开发的开源推荐引擎