PostgreSQL 9.3发布
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为未来的双向复制打下了基础,原生的多主数据库间复制成为可能。
开源数据库 Sharding 技术 (Share Nothing)
PostgreSQL Pgpool-II单机多实例的Streaming replication
Ubuntu下PostgreSQL数据库集群(PL/Proxy)配置方法 http://www.alidata.org/archives/723
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发布的更多相关文章
- 【ArcGIS 10.2新特性】ArcGIS 10.2将PostgreSQL原生数据发布为要素服务
1.ArcGIS 10.2支持原生数据发布为要素服 有没有将自己已有的空间数据发布为要素服务的需求?有没有将非Esri空间数据类型的数据作为服务在Web端展示的需求? ArcGIS 10.2 ...
- postgresql,postgis,geoserver 发布地图服务,并用.net mvc openlayers3进行显示
1.所需工具 postgres版本 9.6.1 对应的postgis geoserver 2.8.2 openlayers3 2.将postgres postgis ,geosever安装好,再用如下 ...
- Postgresql空库发布或者部分空库,模式,表处理备份流程
--备份数据库结构pg_dump -h localhost -p 8101 -d qhsoam -s -f /tmp/nodata.sql --仅备份某模式和该模式下的数据表结构pg_dump -h ...
- PostgreSQL 杂志
pgmag 团队刚发布了头两期 PostgreSQL 杂志,还有中文版http://pgmag.org/download,推荐广大 PostgreSQL 数据库管理员及开发者阅读: Issue #01 ...
- 数据库新秀 postgresql vs mongo 性能PK
前几天看了一篇文章<High Performance JSON PostgreSQL vs. MongoDB> 发布在Percona Live Europe 2017 作者是<Dom ...
- [转帖] “王者对战”之 MySQL 8 vs PostgreSQL 10
原贴地址:https://www.oschina.net/translate/showdown-mysql-8-vs-postgresql-10?lang=chs&page=2# 英文原版地址 ...
- CentOS 6.7 下 PostgreSQL 9.5 的安装与配置
#yum方式安装(不同的系统版本对应的版本也不同) yum install postgresql-server #安装指定版本 yum install https://download.postgre ...
- Mysql 和 Postgresql(PGSQL) 对比
Mysql 和 Postgresql(PGSQL) 对比 转载自:http://www.oschina.net/question/96003_13994 PostgreSQL与MySQL比较 MySQ ...
- 【转帖】Windows下PostgreSQL安装图解
Windows下PostgreSQL安装图解 这篇文章主要为大家介绍了如果在Windows下安装PostgreSQL数据库的方法,需要的朋友可以参考下 现在谈起免费数据库,大多数人首先 ...
随机推荐
- 【积累篇:他山之石,把玉攻】解决XP 系统 .Net Framework 4安装时出现严重错误 (0x80070643)
第一步: 1.开始——运行——输入cmd——回车——在打开的窗口中输入net stop WuAuServ 2.开始——运行——输入%windir% 3.在打开的 的窗口中有个文件夹叫SoftwareD ...
- UWP Composition API - PullToRefresh
背景: 之前用ScrollViewer 来做过 PullToRefresh的控件,在项目一些特殊的条件下总有一些问题,比如ScrollViewer不会及时到达指定位置.于是便有了使用Compositi ...
- Quartz任务调度基本使用
转自:http://www.cnblogs.com/bingoidea/archive/2009/08/05/1539656.html 上一篇:定时器的实现.Java定时器Timer和Quartz介绍 ...
- mac+phpstorm+xampp断点调试
1.下载xdebug文件 http://xdebug.org/wizard.php 将phpinfo()的源代码复制到文本框中,xdebug会提示如何配置和下载哪个版本的xdebug. 全部下载地址: ...
- allow zero datetime=true导致datetime转换失败:MySql.Data.Types.MySqlDateTime”的对象无法转换为类型“System.Nullable`1[System.DateTime]
allow zero datetime=true导致datetime转换失败:MySql.Data.Types.MySqlDateTime”的对象无法转换为类型“System.Nullable`1[S ...
- iOS 传值方式
1.代理传值 2.AppDelegate传值 3.block传值 4.通知传值 5.NSUserDefault传值
- css的margin
1.适合于没有设定width/height的普通block水平元素 2.只适用于水平方向尺寸 例子:一侧定宽的自适应布局 <html> <head> <meta name ...
- nginx:文件下载指定保存文件名的配置
一般在我们上传完资源文件之后,为了避免文件名冲突,会将文件名改成毫无意义的一段字符.这个字符,可能是MD5产生的,或者是其他方式产生的字符串.这时候,下载的时候,默认保存的文件名会是这段毫无意义的文件 ...
- Codeforces 486E LIS of Sequence 题解
题目大意: 一个序列,问其中每一个元素是否为所有最长上升子序列中的元素或是几个但不是所有最长上升子序列中的元素或一个最长上升子序列都不是. 思路: 求以每一个元素为开头和结尾的最长上升子序列长度,若两 ...
- fragment 重叠问题
项目中用到了Android Fragment 在程序异常的时候 fragment 点击会造成fragment 重叠 在fragmentActivity中加入一下方法 @Override public ...