2025年9月25日: PostgreSQL 18 发布!

PostgreSQL 9.5:UPSERT、行级安全和大数据

发布于 2016-01-07,作者:PostgreSQL 全球开发组

2016 年 1 月 7 日:PostgreSQL 全球开发组宣布发布 PostgreSQL 9.5。此次发布增加了 UPSERT 功能、行级安全以及多项大数据功能,这将拓宽这款全球最先进数据库的用户群。凭借这些新功能,PostgreSQL 将成为初创公司、大型企业和政府机构更多应用程序的最佳选择。

法国儿童福利办公室 CNAF 的首席信息官 Annie Prévot 表示:“CNAF 每年为 1100 万人提供服务,分发 730 亿欧元,涉及 26 种社会福利计划。这项服务对民众至关重要,它依赖于一个必须绝对高效可靠的信息系统。CNAF 的信息系统令人满意地基于 PostgreSQL 数据库管理系统。”

UPSERT

“UPSERT”是应用程序开发人员多年来最常要求的功能,它是“INSERT, ON CONFLICT UPDATE”的缩写,允许将新行和更新行视为相同。UPSERT 通过让数据库处理并发数据更改之间的冲突,简化了 Web 和移动应用程序的开发。此功能还消除了将遗留 MySQL 应用程序迁移到 PostgreSQL 的最后一道重大障碍。

PostgreSQL 的 UPSERT 实现由 Heroku 程序员 Peter Geoghegan 在过去两年中开发,比其他关系数据库提供的实现更加灵活和强大。新的 ON CONFLICT 子句允许忽略新数据,或者以支持复杂 ETL(提取、转换、加载)工具链进行批量数据加载的方式更新不同的列或关系。而且,与所有 PostgreSQL 功能一样,它被设计为绝对并发安全,并能与所有其他 PostgreSQL 功能集成,包括逻辑复制。

行级安全

PostgreSQL 凭借其新的行级安全 (RLS) 功能,不断扩展其数据库安全能力。RLS 实现了真正的每行和每列数据访问控制,并与 SE Linux 等外部基于标签的安全堆栈集成。PostgreSQL 已被称为“默认最安全”。RLS 巩固了其作为对数据安全要求严格的应用程序(如符合 PCI、欧洲数据保护指令和医疗保健数据保护标准)的最佳选择的地位。

RLS 是过去五年中添加到 PostgreSQL 的安全功能的结晶,其中包括 NEC 的 KaiGai Kohei、Crunchy Data 的 Stephen Frost 和 Dean Rasheed 的大量工作。通过 RLS,数据库管理员可以设置安全“策略”,以过滤特定用户被允许更新或查看的行。这样实现的数据安全可以抵御 SQL 注入攻击和其他应用程序级别的安全漏洞。

大数据功能

PostgreSQL 9.5 包含多项适用于大型数据库以及与其他大数据系统集成的新功能。这些功能确保 PostgreSQL 在快速增长的开源大数据市场中继续发挥重要作用。其中包括:

BRIN 索引:这种新型索引支持为非常大的“自然排序”表创建微小但有效的索引。例如,包含数十亿行的日志数据表,其索引和搜索时间可以比标准 BTree 索引所需的时间少 5%。

更快的排序:PostgreSQL 现在使用一种名为“缩写键”的算法,可以更快地对文本和 NUMERIC 数据进行排序。这使得一些需要排序大量数据的查询速度提高了 2 到 12 倍,并且可以使索引创建速度提高 20 倍。

CUBE、ROLLUP 和 GROUPING SETS:这些新的标准 SQL 子句允许用户在单个查询中生成具有多个汇总级别的报表,而无需多个查询。CUBE 还将使 PostgreSQL 与 Tableau 等更多联机分析处理 (OLAP) 报表工具实现紧密集成。

外部数据包装器 (FDW):它们已允许将 PostgreSQL 用作 Hadoop 和 Cassandra 等其他大数据系统的查询引擎。9.5 版本增加了 IMPORT FOREIGN SCHEMA 和 JOIN 推送功能,使与外部数据库的查询连接更易于设置且更高效。

TABLESAMPLE:这个 SQL 子句允许快速抓取大型表的统计样本,而无需进行昂贵的排序。

Premier, Inc. 的首席数据库管理员 Boyan Botev 表示:“PostgreSQL 9.5 中的新型 BRIN 索引是一项强大的新功能,它使 PostgreSQL 能够管理和索引过去不切实际或不可能实现的数据量。它实现了传统关系数据库此前难以想象的数据和性能可扩展性,使 PostgreSQL 成为大数据分析的完美解决方案。”

链接

联系我们

PostgreSQL 媒体团队 press@postgresql.org 电话:+1 (347) 674-7759

关于 PostgreSQL

PostgreSQL 是全球最先进的数据库系统,拥有数千名用户和贡献者的全球社区,以及数十家公司和组织。PostgreSQL 项目建立在加州大学伯克利分校开始的 25 多年的工程经验之上,并且目前拥有无与伦比的开发速度。PostgreSQL 成熟的功能集不仅能与顶级的专有数据库系统相媲美,而且在高级数据库功能、可扩展性、安全性和稳定性方面还超越了它们。在此处了解有关 PostgreSQL 的更多信息并参与我们的社区:https://postgresql.ac.cn。