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. PHP发送短信功能

    发送短信的功能主要在于获得短信接口后,在函数中模仿用户行为,例如浏览器跳转输出短信接口的链接. 需要运用的函数为 curl_init(); curl_setopt(); curl_exec(); cu ...

  2. PHP两种基础的算法:冒泡、快速排序法》》》望能够帮助到大家

    首先扯个淡@@@@@@@@@ 算法是程序的核心,一个程序的好坏关键是这个程序算法的优劣. 冒泡排序法 原理:在要排序的一组数中,对当前还未排好的序列,从前往后对相邻的两个数依次进行比较和调整,让较大的 ...

  3. 2016最后一贴,终于调通一个测试示例,并发现一个BUG???

    真的难点在于第一次调通.纠结五天,终于搞出界面. 也发现了一个书上代码,编辑用户时死活不通的情况,我将Links去了,改在data里,我X,,全OK了.. 原来的代码: onAdd: function ...

  4. C++ 系列:内存管理

    1.内存分配方式 内存分配方式有三种: (1)从静态存储区域分配. 内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在.例如全局变量,static变量. (2)在栈上创建. 在执行函 ...

  5. 开发板tftp下载文件

    搭建过程: 1.安装相关软件包:tftpd(服务端),tftp(客户端),xinetd sudo apt-get install tftpd tftp xinetd 2.建立配置文件(蓝色的目录是可以 ...

  6. SQL参数化查询自动生成SqlParameter列表

    string sql = @"INSERT INTO stu VALUES (@id,@name) "; 参数化查询是经常用到的,它可以有效防止SQL注入.但是需要手动去匹配参数@ ...

  7. NetBeans连接SQL server数据库教程

    不废话,直接开始 1.下载sqljdbc.jar 可以从微软中国官方网站下载 SQLJDBC微软中国 笔者提供一个网盘链接Sqljdbc.jar 4个压缩包视版本选择,SQL 2012 用sqljdb ...

  8. LeetCode 1. Two Sum

    Problem: Given an array of integers, return indices of the two numbers such that they add up to a sp ...

  9. maven构建简单的web项目

    把jdk给换掉 项目修改好了以后写个页面测试一下,结果正常 下面应该添加依赖让web项目一步步丰满起来. 0-添加依赖 1-建一个servlet 2-web.xml中添加servlet声明 3-重新运 ...

  10. 身份证验证JS代码

    身份证验证JS程序function checkidcardfun(code) { var city = {11: "北京", 12: "天津", 13: &qu ...