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为首的团队开发的开源推荐引擎

PostgreSQL 9.3发布的更多相关文章

  1. 【ArcGIS 10.2新特性】ArcGIS 10.2将PostgreSQL原生数据发布为要素服务

    1.ArcGIS 10.2支持原生数据发布为要素服 有没有将自己已有的空间数据发布为要素服务的需求?有没有将非Esri空间数据类型的数据作为服务在Web端展示的需求?     ArcGIS 10.2 ...

  2. postgresql,postgis,geoserver 发布地图服务,并用.net mvc openlayers3进行显示

    1.所需工具 postgres版本 9.6.1 对应的postgis geoserver 2.8.2 openlayers3 2.将postgres postgis ,geosever安装好,再用如下 ...

  3. Postgresql空库发布或者部分空库,模式,表处理备份流程

    --备份数据库结构pg_dump -h localhost -p 8101 -d qhsoam -s -f /tmp/nodata.sql --仅备份某模式和该模式下的数据表结构pg_dump -h ...

  4. PostgreSQL 杂志

    pgmag 团队刚发布了头两期 PostgreSQL 杂志,还有中文版http://pgmag.org/download,推荐广大 PostgreSQL 数据库管理员及开发者阅读: Issue #01 ...

  5. 数据库新秀 postgresql vs mongo 性能PK

    前几天看了一篇文章<High Performance JSON PostgreSQL vs. MongoDB> 发布在Percona Live Europe 2017 作者是<Dom ...

  6. [转帖] “王者对战”之 MySQL 8 vs PostgreSQL 10

    原贴地址:https://www.oschina.net/translate/showdown-mysql-8-vs-postgresql-10?lang=chs&page=2# 英文原版地址 ...

  7. CentOS 6.7 下 PostgreSQL 9.5 的安装与配置

    #yum方式安装(不同的系统版本对应的版本也不同) yum install postgresql-server #安装指定版本 yum install https://download.postgre ...

  8. Mysql 和 Postgresql(PGSQL) 对比

    Mysql 和 Postgresql(PGSQL) 对比 转载自:http://www.oschina.net/question/96003_13994 PostgreSQL与MySQL比较 MySQ ...

  9. 【转帖】Windows下PostgreSQL安装图解

    Windows下PostgreSQL安装图解     这篇文章主要为大家介绍了如果在Windows下安装PostgreSQL数据库的方法,需要的朋友可以参考下     现在谈起免费数据库,大多数人首先 ...

随机推荐

  1. javase-常用三种遍历方法

    javase-常用三种遍历方法 import java.util.ArrayList; import java.util.Iterator; import java.util.List; public ...

  2. pk8和x509.pem转换成keystore

    转自:http://www.cnblogs.com/platte/p/3511814.html 一 在github上下载工具 https://github.com/getfatday/keytool- ...

  3. PHP 开发API接口签名验证

    就安全来说,所有客户端和服务器端的通信内容应该都要通过加密通道(HTTPS)传输,明文的HTTP通道将会是man-in-the- middle及其各种变种攻击的温床.所谓man-in-the-midd ...

  4. C语言语法 typedef小结

    在总结typedef之前,先了解一个专业术语: 常量指针(const pointer):常量指针在定义的时候必须被初始化,而且一旦初始化完成,则它的值就不能再改变. int errNumb = 0; ...

  5. mysql 字符串 日期互转

    一.字符串转日期 下面将讲述如何在MySQL中把一个字符串转换成日期: 背景:rq字段信息为:20100901 1.无需转换的: SELECT * FROM tairlist_day WHERE rq ...

  6. git学习(五):克隆和推送远程仓库

    这里我已经注册好了GitHub账号了 生成本地的ssh和在github上添加ssh 在本地 ssh-keygen -t rsa -C "carryhjr@gmail.com" 一路 ...

  7. hdu3534 树的直径变形

    题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=3534 题意:n 之后 n-1条边,l,r,w:求出树上的最长路径以及最长路径的条数. // ...

  8. angularJS- $http请求

    angular使用post.get向后台传参的问题 一.问题的来源 我们都知道向后台传参可以使用get.put,其形式就类似于name=jyy&id=001.但是在ng中我却发现使用$http ...

  9. strust2中使用session

    在Struts2里,如果需要在Action中使用session,可以通过下面两种方式得到1.通过ActionContext class中的方法getSession得到2.Action实现org.apa ...

  10. [svg 翻译教程]Polyline(折线)polygon(多边形)

    原文: http://tutorials.jenkov.com/svg/polygon-element.html Polyline 虽然说这个 元素我没用过,但是还是蛮强大的,也翻译下 示例 < ...