2 查看字段约束_PostgreSQL 12.2, 11.7, 10.12, 9.6.17, 9.5.21, 和 9.4.26发布!

发表于2020年2月13日     

作者:PostgreSQL全球开发小组

全球开发小组已发布的更新涵盖所有支持的版本,包括12.2,11.7,10.12,9.6.17,9.5.21和9.4.26。该版本修正了一个在PostgreSQL服务器发现中发现的安全问题,在过去的三个月报告了超过75个错误, 用户应计划尽快更新。

译者简介

朱君鹏,华东师范大学博士研究生,个人兴趣主要集中在:新型硬件(GPU、RDMA、FPGA等)在数据库中的应用,架构设计与并行计算。

PostgreSQL 9.4 Now EOL

这次发布针对PostgreSQL 9.4,它将不再接收安全更新和bug修复。PostgreSQL 9.4引入了新的功能,如JSONB支撑,ALTER SYSTEM命令,将逻辑更改流到输出插件的能力,等等。

 我们非常自豪从此版本开始,这些功能也将出现在PostgreSQL较新的版本中。这些功能也获得改善,并且,根据我们的版本政策,现在是时候让PostgreSQL 9.4退休了。

 要获得持续的支持,我们建议您做计划升级到PostgreSQL支持的更高版本。请参阅有关更多PostgreSQL的版本政策信息。

安全问题

CVE-2020-1720: ALTER ... DEPENDS ON EXTENSION缺乏授权检查。

受到影响的版本:9.6-12

ALTER ... DEPENDS ON EXTENSION 命令不执行授权检查,这使得一个非特权用户在某种情况下能够删除任何一个函数、过程、物化视图、索引或触发器。如果管理员安装了一个扩展,而一个没有特权的用户可以创建该扩展,或者扩展所有者可以执行可预测的DROP EXTENSION,或者可以说服他执行DROP EXTENSION,那么就可能发生这种攻击。

PostgreSQL工程感谢Tom Lane报告这个问题。

错误修复和改进

这次更新修复了前几个月报告的超过75个错误。其中的一些仅仅影响到了12版本,但是另外一些影响到了所有的支持版本。

一些修复包括:

修复了在TRUNCATE…CASCADE中带外键约束的分区表不能删除所有数据的问题。如果你之前在使用TRUNCATE…CASCADE在带晚间约束的分区表上,请参见“更新”部分的确认和清理步骤。

l 修复了在TRUNCATE…CASCADE中带外键约束的分区表不能删除所有数据的问题。如果你之前在使用TRUNCATE…CASCADE在带晚间约束的分区表上,请参见“更新”部分的确认和清理步骤。

l 修复了向带有子分区的表(即多级分区表)添加外键约束的错误。如果您以前使用过此功能,则可以通过分离和重新附加受影响的分区,或删除外键约束并重新添加到父表来修复它。您可以在ALTER TABLE文档中找到关于如何执行这些步骤的更多信息。

l 修复了CVE-2017-7484的修复所引入的分区表的性能问题,该修复现在允许查询计划使用子表列上的统计信息,用于在查询包含leaky操作符时授予用户对父表的访问权限。

l 其他几个分区表的修复和更改,包括不允许返回伪类型(如RECORD)的分区键表达式。

l 修复了逻辑复制服务器执行每列更UPDATE触发器的问题。

l 修复了逻辑复制订阅者和发布者的一些崩溃和失败。

l 改进了带有REPLICA IDENTITY FULL的逻辑复制的性能

l 确保在物理复制槽上调用pg_replication_slot_advance()将在重启时持久化更改。

l 一些walsender进程的问题修复。

l 改进了具有非常大的内层关系的hash join的性能。

l 通过将“已删除的子计划”字段与其父追加或合并追加计划放置在一起,修正了EXPLAIN输出中“已删除的子计划”字段的位置。

l 修复了一些并行查询执行计划问题。

l 几个查询计划器错误的修复,包括影响到单行子查询的连接。

l MCV的几个修复扩展了统计信息,包括一个OR子句的错误估计。

l 在多核cpu上提高并行哈希连接的效率。

l 在对临时表执行索引创建、删除或重索引时,请忽略CONCURRENTLY选项。

l 当并行化的CREATE INDEX没有可用的动态共享内存槽时,退回到非并行索引构建。

l GIST和GIN索引修复。

l 修正了在使用box、range和inet数据类型时,在BRIN索引操作中可能出现的崩溃。

l 修正了对BRIN Hypothetical索引的支持。

l 修复ALTER TABLE表中的错误,当在GENERATED表达式中引用的列被增加或被改变早于ALTER TABLE。

l 修复了对一个外部表上多个AFTER ROW触发器的操作。

l 修复了一个从结果提取年的操作。

l 在pg_hba.conf文件中防止不想要的小写和RADIUS验证参数的截断。

l 对GSSAPI支持的几个修复,包括让libpq接受所有gss相关的连接参数,即使没有编译GSSAPI代码也是如此。

l pg_dump和pg_restore在并行模式下运行时的一些错误修复。

l 修复了试图在远程服务器上执行远程查询(如UPDATE remote_tab SET (x,y) = (SELECT…)时postgres_fdw崩溃的问题。

l 在contrib/tablefunc的cross stab()函数中不允许空类别值,以防止崩溃。

l Windows的几个修复,包括一个竞争条件,可能会导致NOTIFY时间。

l 几个ecpg修复。

有关可用修复的完整列表,请查看发布说明。

更新

所有的PostgreSQL更新版本都是累积的。与其他次版本一样,用户不需要转储和重新加载数据库或使用pg_upgrade来应用这个更新版本;您可以简单地关闭PostgreSQL并更新它的二进制文件。

跳过一个或多个更新版本的用户可能需要运行额外的更新步骤;有关早期版本的详细信息,请参阅发行说明。

如果您以前执行过TRUNCATE ... CASCADE在分区表的子分区上,并且分区表有来自另一个表的外键引用,您可能必须在另一个表上执行TRUNCATE,或者执行DELETE(如果您在运行TRUNCATE... CASCADE之后添加了行)。这个问题在此版本中得到了修复,但是您必须执行此步骤以确保清除了所有数据。

有关可用修复的完整列表,请查看发布说明。

请点击文章底部“阅读原文”查看原文。

PostgreSQL中文社区欢迎广大技术人员投稿 投稿邮箱:press@postgres.cn

71925bb5e9403a1e60844afd17c66af3.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值