PostgreSQL 每周新闻 - 2021 年 3 月 7 日

由 PWN 于 2021-03-08 发布
PWN

PostgreSQL 每周新闻 - 2021 年 3 月 7 日

PostgreSQL 产品新闻

parquet_s3_fdw 0.1 发布,这是一个用于 S3 上 parquet 文件的外部数据包装器。https://github.com/pgspider/parquet_s3_fdw/releases/tag/v0.1

3 月份的 PostgreSQL 工作

https://archives.postgresql.org/pgsql-jobs/2021-03/

PostgreSQL 新闻

Planet PostgreSQL:https://planet.postgresql.org/

本周的 PostgreSQL 每周新闻由 David Fetter 为您带来

请在太平洋标准时间下午 3:00 之前(PST8PDT)将新闻和公告提交至 david@fetter.org。

已应用的补丁

Thomas Munro 推送了

Amit Kapila 推送了

Andres Freund 推送了

  • 修复 Windows 系统上 021_row_visibility.pl 中的恢复测试挂起问题。psql 进程没有被显式杀死(但最终会因 postgres 关闭而退出)。由于某些原因,Windows 的 Perl 不喜欢这样,导致出现诸如 “Warning: unable to close filehandle GEN20 properly: Bad file descriptor during global destruction” 之类的错误。该测试是在 d6734a897e3 中引入的,因此无需进行反向移植。https://git.postgresql.org/pg/commitdiff/1e6e40447115ca7b4749d7d117b81b016ee5e2c2

Tom Lane 提交

Michaël Paquier 提交

Álvaro Herrera 推送

Peter Geoghegan 推送

  • 修复 nbtree 页面删除错误消息。调整一些假设页面删除目标页面必须是半死页面的“不可能发生”的错误消息。在内部目标页面的情况下,此假设是错误的。只需将这些页面称为目标页面即可。内部页面永远不会被标记为半死页面。每个正在删除的子树只有一个半死页面。半死页面也是目标子树的叶级页面。自 efada2b8 提交以来一直是这种情况,该提交完全修改了 nbtree 页面删除。https://git.postgresql.org/pg/commitdiff/3d8d5787a358156edaa7782f0c88e231af974a01

  • nbtree 页面删除:添加 leaftopparent 断言。添加文档断言。这使得更容易了解我们如何在目标子树的半死/叶级页面中维护顶部父链接。https://git.postgresql.org/pg/commitdiff/5b2f2af3d9d57626b9052a05337e32ad1399093d

Peter Eisentraut 推送

Heikki Linnakangas 推送

Fujii Masao 推送

Andrew Dunstan 推送

Magnus Hagander 推送

待处理的补丁

Pavel Stěhule 发送了另一个修订版补丁,以实现架构变量。

Maxim Orlov 发送了一个补丁,以修复 libpq 连接字符串中 TLS 和多个主机之间的不协调。

Thomas Munro 发送了另外两个修订版补丁,以添加用于 walreceiver 状态的条件变量,另一个用于恢复暂停/恢复,并在恢复中减少轮询 postmaster 的频率。

Ajin Cherian 和 Amit Kapila 交换了补丁,以添加一个选项,通过 pg_create_logical_replication_slot 启用两阶段提交。

Michael Banck 发送了一个补丁,以向 pg_dump/pg_dumpall 添加一个 --create-only 选项。

Michaël Paquier 发送了另一个修订版补丁,以阐明归档程序中信号处理的文档。

Etsuro Fujita 发送了另一个修订版补丁,以在 postgres_fdw 节点上实现异步追加。

Peter Eisentraut 发送了另一个修订版补丁,以处理构建中的 macOS SIP。

Laurenz Albe 和 Amit Langote 交换了补丁,以允许在分区表上设置 parallel_workers。

Joel Jacobson 发送了三个修订版补丁,以实现 regexp_positions(),它返回每个匹配项的起始和结束位置。

Thomas Munro 发送了另外两个修订版补丁,以提供一个新的可选 GUC,该 GUC 可用于检查客户端连接在运行非常长的查询时是否定期断开。

Paul Förster 发送了另一个修订版补丁,以在 psql --help 的输出中提及 URI 和服务。

Peter Smith 和 Ajin Cherian 交换了补丁,以实现两阶段事务的逻辑解码。

Greg Nancarrow 和 Amit Kapila 交换了补丁,以启用 “INSERT INTO ... SELECT ...” 的并行 SELECT,添加一个新的布尔 GUC enable_parallel_dml,以及类似的表选项 parallel_dml_enabled。

Dian M Fay 发送了两个修订版补丁,以在二进制 OpExpr 的另一侧也是文本时,禁止 postgres_fdw 中文本常量的显式转换。

Dilip Kumar 发送了三个修订版补丁,以添加表的压缩方法选项。

Julien Rouhaud 发送了另一个修订版补丁,以将查询混淆从 pg_stat_statements 移动到核心,在 pg_stat_activity 和 log_line_prefix 中公开 queryid,并在 EXPLAIN ... VERBOSE 中公开查询标识符。

Bruce Momjian 发送了一个补丁,以修复一些 GiST 代码注释。

Vik Fearing 发送了另一个修订版补丁,以实现 GROUP BY DISTINCT,它省略了重复的 GROUPING SET。

Mark Dilger 发送了另一个修订版补丁,以添加一个 contrib 扩展 pg_amcheck。

Pavel Borisov 发送了另一个修订版补丁,以使 amcheck 检查 btree 索引的 UNIQUE 约束。

Jacob Champion 提交了补丁的另一个修订版本,该补丁为表访问方法(AM)添加一个 API,以接受列投影列表。

Joel Jacobson 提交了补丁的两个修订版本,以支持带有边界信息的空范围。

Tomáš Vondra 提交了补丁的另外三个修订版本,以实现 BRIN 多范围索引。

Peter Eisentraut 提交了补丁的另一个修订版本,以实现 SQL 标准函数体。

Thomas Munro 提交了补丁的另外两个修订版本,以实现并行全哈希连接。

Magnus Hagander 提交了补丁的五个修订版本,以添加 PROXY 协议支持。

Vigneshwaran C 提交了一个补丁,通过在 Perl 代码中将声明与赋值分开来修复 Buildfarm 中 crake 的失败问题。

Michaël Paquier 提交了补丁的另一个修订版本,以在检查是否需要进行 SSL 之前启用 libcrypto 回调。

Daniel Gustafsson 提交了补丁的另一个修订版本,以支持 NSS 作为 libpq TLS 后端。

Gilles Darold 提交了一个补丁,以实现 regexp_count、regexp_instr、regexp_substr 和 regexp_replace。

David Rowley 提交了补丁的另一个修订版本,以减少在 Windows 上构建 contrib 模块的特殊情况数量。

Amit Langote 提交了补丁的另一个修订版本,以使 UPDATE 和 DELETE 在继承树上更好地扩展。

John Naylor 提交了一个补丁,以审查当前 popcount 实现的一些替代方案。

Mark Rofail 提交了补丁的另一个修订版本,以实现外键数组。

Pavel Stěhule 提交了补丁的另外三个修订版本,以使 psql 能够为 \watch 使用分页器。

Tom Lane 提交了补丁的另一个修订版本,以删除协议版本 2 中对 COPY FROM STDIN 的支持。

Mark Dilger 提交了补丁的两个修订版本,以添加 pg_amcheck contrib 应用程序。

Soumyadeep Chakraborty 和 Kyotaro HORIGUCHI 交换了补丁,以防止检查点程序写入旧的时间线。

Amit Kapila 提交了补丁的另一个修订版本,以跟踪回滚的复制源进度。

Masahiro Ikeda 和 Fujii Masao 交换了补丁,以将 WAL 写入/fsync 统计信息添加到 pg_stat_wal。

Justin Pryzby 和 Takayuki Tsunakawa 交换了补丁,以加快在外部分区表上的 COPY FROM 操作。

Álvaro Herrera 和 Justin Pryzby 交换了补丁,为 libpq 添加批处理/管道支持。

Daniel Gustafsson 提交了补丁的另外三个修订版本,以禁止 SSL 压缩。

Andrey V. Lepikhov 和 Tom Lane 交换了补丁,以删除 64K 的范围表限制。

Robins Tharakan 提交了一个补丁,以修复 pg_upgrade 对大量大对象的处理。

Jacob Champion 提交了一个补丁,以重构 sslfiles Makefile 目标。

Kyotaro HORIGUCHI 提交了补丁的另一个修订版本,将回调调用从 ReadPageInternal 移动到 XLogReadRecord,将页面读取器移出 XLogReadRecord,删除全局变量 readOff、readLen 和 readSegNo,并允许 xlogreader 使用不同的 xlog 块大小。

Andy Fan 提交了一个补丁,以调整分区修剪案例的成本模型。

Kyotaro HORIGUCHI 提交了补丁的另一个修订版本,以使恢复结束错误不那么可怕。

Heikki Linnakangas 提交了补丁的另一个修订版本,以强制在 COPY FROM 解析中进行前瞻。

Daniel Gustafsson 提交了补丁的另一个修订版本,以从 libpq 中删除已弃用的参数 authtype 和 pqtty。

Amul Sul 提交了补丁的另一个修订版本,以使用全局屏障实现 wal 禁止状态,并在 WAL 写入的 START_CRIT_SECTION 之前报错或断言。

Thomas Munro 提交了一个补丁,使 relfile 墓碑文件以 WAL 级别为条件。

Amit Langote 提交了补丁的另一个修订版本,以对分区修剪步骤生成代码进行一些外观上的改进。

Thomas Munro 提交了补丁的另一个修订版本,以使用条件变量替换缓冲区 I/O 锁。

Thomas Munro 提交了补丁的另外两个修订版本,以添加缺少的 pthread_barrier_t,重构 pgbench 中线程移植性的实现方式,改进 pgbench 的时间测量代码,并同步其客户端线程。

Julien Rouhaud 提交了补丁的另一个修订版本,以修复各种共享内存估算问题。

Laurenz Albe 提交了补丁的另外两个修订版本,如果编辑器在没有保存的情况下退出,通过保留当前查询缓冲区而不是执行先前的查询来改进 \e、\ef 和 \ev 命令。

Masahiko Sawada 提交了补丁的两个修订版本,以确保在 TRUNCATE 时重置 pg_stat_xxx_tables.n_mod_since_analyze。

Tomáš Vondra 提交了补丁的另外两个修订版本,使其可以收集表达式的扩展统计信息。

Hayato Kuroda 提交了补丁的另一个修订版本,以重构 ECPGconnect 并允许在其中进行 IPv6 连接。

Kyotaro HORIGUCHI 提交了补丁的另一个修订版本,以在截断成功后延迟检查点完成。

Kota Miyake 提交了一个补丁,以删除 pgbench 的 \sleep 元命令中的一些缺陷。

Hou Zhijie 提交了一个补丁,以避免在插入 FK 关系时 RI 触发器中的 CCI。

Ibrar Ahmed 提交了补丁的另一个修订版本,以修复先前为了更高效地实现 GROUP BY 而破坏的测试。

Kirk Jamison 提交了补丁的另一个修订版本,以在 libpq 中实现跟踪。

Kyotaro HORIGUCHI 提交了补丁的另一个修订版本,以将统计信息收集器从使用文件进行临时存储更改为使用共享内存。

Andres Freund 提交了补丁的另一个修订版本,以确保在 Windows 上,仅当 stderr 无效时,PostgreSQL 才被视为作为服务运行。

Thomas Munro 提交了补丁的另一个修订版本,以注入故障计时,并修复并行哈希连接批处理清理中的竞争条件。

Andrew Dunstan 提交了一个补丁,以允许匹配来自客户端证书的整个 DN。

KaiGai Kohei 和 Tom Lane 交换了补丁,以将二进制输入/输出处理程序添加到 contrib/cube。

Bharath Rupireddy 提交了补丁的另外两个修订版本,以将刷新物化视图的代码重构为一组函数,并实现 EXPLAIN/EXPLAIN ANALYZE REFRESH MATERIALIZED VIEW。

Justin Pryzby 提交了一个启动程序补丁,使其可以将 Typ 转换为 List*,并使用它来允许在启动程序中使用复合类型。

Kyotaro HORIGUCHI 提交了一个补丁,通过添加 CHECKPOINT 来修复 011_crash_recovery.pl 中的间歇性故障。

Joel Jacobson 提交了一个补丁,以创建 pg_permissions 视图。

Joel Jacobson 提交了一个补丁,以创建 pg_ownerships 视图。

Justin Pryzby 提交了补丁的另一个修订版本,使其可以在分区索引上运行 CLUSTER。

Bharath Rupireddy 提交了补丁的另一个修订版本,以添加另一种 pg_terminate_backend 风格,允许用户指定等待和超时。

Bharath Rupireddy 提交了补丁的另一个修订版本,通过分离出不允许发送信号的情况,改进“PID XXXX 不是 PostgreSQL 服务器进程”消息。

Li Japin 提交了补丁的另一个修订版本,以实现 ALTER SUBSCRIPTION ... ADD/DROP PUBLICATION。

Joe Conway 提交了一个补丁,以修复 has_column_privilege() 中的一个错误,该错误导致 attnums 和不存在的列错误。

Justin Pryzby 提交了补丁的另一个修订版本,以实现 ALTER TABLE SET ACCESS METHOD,允许指定分区表的表访问方法由分区继承,并实现 lsyscache get_rel_relam(),因为表的 AM 现在正在使用。