PG Day Russia 将于 2021 年 7 月 8-9 日在线举行。论文征集现已开放,请访问 在 2021 年 6 月 7 日前提交您的演讲!
PL/R 8.4.2 发布,这是一个嵌入 R 语言到 PostgreSQL 的版本,已发布。
WAL-G 1.0 发布,这是一个用 Go 编写的 PostgreSQL 和其他数据库的备份管理系统,已发布。
pgtt 2.4 发布,这是一个实现全局临时表的扩展,已发布。
Database .NET v32.6 发布,这是一个多数据库管理工具,现在支持 PostgreSQL,已发布。
pg_partman 4.5.1 发布,这是一个分区表管理系统,已发布。
hypopg 1.3.0 发布,这是一个实现假设索引的扩展,已发布。
Planet PostgreSQL:https://planet.postgresql.org/
本周 PostgreSQL 周报由 David Fetter 提供。
请在太平洋标准时间(PST8PDT)周日晚上3:00之前将新闻和公告发送至 david@fetter.org。
Michaël Paquier 提交
改进多范围类型解析的一些错误消息措辞。在一些错误消息中,大括号被仅称为括号(不是花括号或大括号),这可能会令人困惑,因为可以使用其他类型的括号。顺便,增加了一个测试,以检查右大括号后检测到垃圾字符的情况。作者:Kyotaro Horiguchi 讨论:https://postgr.es/m/20210514.153153.1814935914483287479.horikyota.ntt@gmail.com https://git.postgresql.org/pg/commitdiff/12cc956664f159e97be71e33f15ec5f42e46b24e
在 TAP 测试中忽略更多环境变量。各种环境变量在 TAP 测试中未被重置,这可能导致测试失败,具体取决于测试或涉及的环境变量。例如,PGSSL{MAX,MIN}PROTOCOLVERSION 可能导致 SSL 测试失败。更糟糕的是,PGCLIENTENCODING 的垃圾值会导致服务器启动失败。根据稳定分支的支持情况,每个稳定分支的重置变量列表都会调整。顺便,根据 Andrew Dunstan 的建议,通过使用变量列表而不是逐个删除来稍微简化代码。审阅者:Andrew Dunstan, Daniel Gustafsson 讨论:https://postgr.es/m/YLbjjRpucIeZ78VQ@paquier.xyz 向后移植到:9.6 https://git.postgresql.org/pg/commitdiff/8279f68a1b13d58a0c9869a60081009d8995e4df
降低 REFRESH MATVIEW CONCURRENTLY 内部查询冲突的风险。REFRESH MATERIALIZED VIEW CONCURRENTLY 使用的内部 SQL 查询包含一些用于其差异和临时关系的别名,这些别名具有相当通用的名称:diff、newdata、newdata2 和 mv。取决于物化视图的查询,使用 CONCURRENTLY 可能会导致一些内部故障,如果 matview 查询和这些内部别名发生冲突。这些名称是在 841c29c8 中选择的。此提交改用一种不太可能引起冲突的命名模式,该模式基于 Thomas Munro 的想法,通过在这些别名后附加 _$。这并不完美,因为这些新名称仍然可能冲突,但至少它具有使代码可读且简单的优点,同时将冲突的可能性降低到接近零。报告者:Mathis Rudolf 作者:Bharath Rupireddy 审阅者:Bernd Helmle, Thomas Munro, Michael Paquier 讨论:https://postgr.es/m/109c267a-10d2-3c53-b60e-720fcf44d9e8@credativ.de 向后移植到:9.6 https://git.postgresql.org/pg/commitdiff/187682c3217375c9b70417bf3235790f639e8e7e
文档:修复 PGSSLMAXPROTOCOLVERSION 的链接引用。该链接指向最低协议版本。自 ff8ca5f 起不正确。作者:Daniel Gustafsson 讨论:https://postgr.es/m/F893F184-C645-4C21-A2BA-583441B7288F@yesql.se 向后移植到:13 https://git.postgresql.org/pg/commitdiff/77e9d1b4884262fa09cd8d141c7eadad3affde8b
文档:为 PGSSLCRLDIR 添加描述。 libpq 支持的环境变量部分缺少此项。f5465fa 中的疏忽。审阅者:Daniel Gustafsson, Kyotaro Horiguchi 讨论:https://postgr.es/m/YLhI0mLoRkY3u4Wj@paquier.xyz https://git.postgresql.org/pg/commitdiff/1e809db86b160e697a56bf47358f7733475840d3
Noah Misch 推送
将 010_logical_decoding_timelines.pl 中的超时时间提高到 180 秒。根据 buildfarm 成员 hornet。另外,更新 Pod 文档显示较低的值。向后移植到 v10,该测试最初出现在 v10 中。https://git.postgresql.org/pg/commitdiff/d03eeab886baa1be73f8fc2938fb842d25a71fe8
修复缺失的 gettimeofday() 声明。这避免了在拥有 gettimeofday() 的 MinGW 版本下的警告,根据 buildfarm 成员 walleye。https://git.postgresql.org/pg/commitdiff/49527a32ca97761d78efef732a4ac76a2fc086b2
为 libpq_pipeline.exe 添加 Windows 文件版本信息。https://git.postgresql.org/pg/commitdiff/42344ad0ed465ea988d8310d2f413d65329f55a8
标准化 ForeignScan.resultRelation 的 nodes/*funcs.c 格式。由于 readfuncs.c 字段顺序更改,catversion 增加。https://git.postgresql.org/pg/commitdiff/a2dee328bbe5b1979bbc6a784deb86a336c9cd74
Tom Lane 提交
修复投影重复应用的错误规划。create_projection_plan 包含一个隐藏的假设(在此通过 Assert 显式化),即具有投影能力的 Path 将产生具有投影能力的 Plan。不幸的是,该假设在几行之后就被 create_projection_plan 本身违反了。这意味着两个堆叠的 ProjectionPaths 可能导致我们将上层路径的 tlist 塞入一个不具备投影能力的子节点,从而产生一个无效的计划。堆叠的 ProjectionPaths 没有什么好理由;事实上,整个概念都是错误的,因为上层需要的 Var/Agg/etc 的集合不一定在下层输出中可用,而且下层也无法创建这些值,如果它们从其输入不可用的话。因此,我们可以通过调整 create_projection_path 来剥离它所提供的子路径中的任何顶层 ProjectionPath 来解决此问题。(这相当于说“哦,我们改变了这里需要投影的内容”。)这里添加的测试用例仅在 v13 和 HEAD 中失败;在此之前,我们不会尝试将 Sort 塞入计划的并行部分,原因我不太清楚。然而,所有直接相关的代码看起来与 v11 一样,即危险产生的地方(由 d7c19e62a)。因此,我并不相信在 v11 和 v12 中存在相同类型的错误,只要有合适的测试用例。因此,将代码更改(但不是无关的测试用例)向后移植到这些分支。根据 Bas Poot 的报告。讨论:https://postgr.es/m/534fca83789c4a378c7de379e9067d4f@politie.nl https://git.postgresql.org/pg/commitdiff/6ee41a301e70fc8e4ad383bad22d695f66ccb0ac
拒绝 SELECT ... GROUP BY GROUPING SETS (()) FOR UPDATE。这种情况应该被禁止,就像带普通 GROUP BY 的 FOR UPDATE 一样;FOR UPDATE 仅在查询结果的每一行都可以与单个表行进行标识时才有意义。然而,我们未能教会 CheckSelectLocking() 检查 groupingSets 以及 groupClause,因此它允许退化的 grouping sets。这导致了一个错误的计划和执行器中的空指针解引用。环顾四周查找同一错误的其它实例,发现唯一的实例是在 examine_simple_variable() 中。那只会导致不准确的估计,但它也应该被修复。根据 Yaoguang Chen 的私人报告。向所有支持的分支向后移植。https://git.postgresql.org/pg/commitdiff/1103033aedc10295eb689a4b7158f21ef4c14a11
Teach tab-complete.c 关于最近添加的 CREATE TYPE 选项。Commit c7aba7c14 遗漏了 SUBSCRIPT,commit 6df7a9698 遗漏了 MULTIRANGE_TYPE_NAME。Haiying Tang 和 Tom Lane 讨论:https://postgr.es/m/OS0PR01MB6113F9EDA46FA53BAA5445BDFB3D9@OS0PR01MB6113.jpnprd01.prod.outlook.com https://git.postgresql.org/pg/commitdiff/9e3b3ff2664dd0b349d2a6d6f047128cb3489cf2
更新 plannodes.h 关于 PlanRowMark 的注释。此处关于继承的 UPDATE/DELETE 计划中不同物理列号的引用自 86dc90056 起已过时;删除它。另外,重新组织关于继承案例的文本,使其更清晰。https://git.postgresql.org/pg/commitdiff/79c50ca57828e9f8375766b36cce1e2960eebf87
修复规划器中继承自外部表的行标记代码。Commit 428b260f8 破坏了需要行标记(SELECT FOR UPDATE 等)的计划,而查询的表之一是具有常规表作为继承子项的外部表。我们正确处理了反向情况,但显然认为外部表不能作为继承父项。事实并非如此;因此,我们需要能够在添加新子项时添加 CTID junk 列,而不仅仅是 wholerow junk 列。向引入错误代码的 v12 版本向后移植。Amit Langote 讨论:https://postgr.es/m/CA+HiwqEmo3FV1LAQ4TVyS2h1WM=kMkZUmbNuZSCnfHvMcUcPeA@mail.gmail.com https://git.postgresql.org/pg/commitdiff/889592344c48d3965567f331b4ea89dfe6447bce
重新允许具有两个以上组件的自定义 GUC 名称。Commit 3db826bd5 禁止了这种情况,但事实证明有些人依赖它。由于核心语法自 3dc37cd8d 起就允许了它,因此代码似乎应该与之保持一致。根据 Robert Sosinski 的 bug #17045。讨论:https://postgr.es/m/17045-6a4a9f0d1513f72b@postgresql.org https://git.postgresql.org/pg/commitdiff/2955c2be79b35fa369c83fa3b5f44661cb88afa9
修复 pg_subscription 上的权限不正确。文档的意图是除 subconninfo 外,所有列都应可公开读取。然而,这一点被忽略了两次。subsynccommit 自引入以来从未被读取过,oid 列(对于连接很重要)也是如此。鉴于之前没有抱怨,因此在回溯分支中对此做任何事情可能不值得。但为 v14 廉价修复仍有时间。根据 Israel Barth 的报告(经 Euler Taveira 转述)。补丁由 Euler Taveira 提供,我可能徒劳地更新了注释。讨论:https://postgr.es/m/b8f7c17c-0041-46b6-acfe-2d1f5a985ab4@www.fastmail.com https://git.postgresql.org/pg/commitdiff/3590680b85a8e51ef8df550e5a10dedd0d2dfd88
文档:修复 bogus intarray 索引示例。siglen 参数由 gist__intbig_ops 提供,而不是 gist__int_ops。Simon Norris 讨论:https://postgr.es/m/11BF2AA9-17AE-432A-AFE1-584FB9FB079D@hillcrestgeo.ca https://git.postgresql.org/pg/commitdiff/e4539386decae1c435767a69507cc7cbb11ac3ff
修复 postgres_fdw 与 RECORD 类型的全行 Var 失败。Commit 86dc90056 期望 FDW 可以处理其表的整行 Var,即使 Var 被标记为 vartype RECORDOID。以前,规划器生成的整行 Var 的 vartype 等于相关表的 rowtype OID。(此更改的目的是允许跨继承子表共享 resjunk 列。)事实证明,postgres_fdw 无法处理此问题,尽管幸运的是,其测试用例都没有暴露这一点。大部分工作正常,但当我们尝试读回此类 Var 的值时,record_in() 无法获得预期的 rowtype。幸运的是,通过修改控制此过程的 tupdesc,将外部表的 rowtype 替换为 RECORDOID 并不困难。因此,我们可以在共享 resjunk 列的同时解决运行时问题。根据 Alexander Pyhalov 的报告。讨论:https://postgr.es/m/7817fb9ebd6661cdf9b67dec6e129a78@postgrespro.ru https://git.postgresql.org/pg/commitdiff/f61db909dfb94f3411f8719916601a11a905b95e
Peter Eisentraut 提交
修复 hba 文件解析中的 RADIUS 错误报告。parse_hba_line() 中与 RADIUS 相关的检查不尊重 elevel 并且不填充 *err_msg。另外,verify_option_list_length() 以一种不可翻译的方式将错误消息拼接在一起。为了解决后者,删除该函数并内联错误检查。它稍微冗长一些,但只增加了极少的长度,并且可以轻松修复前两个问题。审阅者:Magnus Hagander magnus@hagander.net 讨论:https://postgresql.ac.cn/message-id/flat/8381e425-8c23-99b3-15ec-3115001db1b2%40enterprisedb.com https://git.postgresql.org/pg/commitdiff/7c544ecdad814ccda709cfb6aa7d62840c3a7486
文档:按组排列 pg_amcheck 参考页中的选项。以前的排列只是一个大列表,并且内部顺序也不一致。现在按组排列选项并对其进行排序,这与 --help 输出和其他参考页中的做法相同。同时修复 --help 输出中的一些顺序。https://git.postgresql.org/pg/commitdiff/cb3cffe694b6041c1de47b12b225e05f664c7285
修复 Python 3.10 的子事务测试。从 Python 3.10 开始,堆栈跟踪看起来不同:- PL/Python 函数 "subtransaction_exit_subtransaction_in_with", 第 3 行, 在 <module> - s.exit(None, None, None) + PL/Python 函数 "subtransaction_exit_subtransaction_in_with", 第 2 行, 在 <module> + with plpy.subtransaction() as s: 使用 try/except 专门处理使错误看起来总是相同。(有关 Python 中此更改的讨论,请参阅 https://github.com/python/cpython/pull/25719。)作者:Honza Horak hhorak@redhat.com 讨论:https://postgresql.ac.cn/message-id/flat/853083.1620749597%40sss.pgh.pa.us RHBZ:https://bugzilla.redhat.com/show_bug.cgi?id=1959080 https://git.postgresql.org/pg/commitdiff/4a682d85a1408e48ac529295c329ba2c17a44724
gitattributes: 添加新条目以静默空格错误。https://git.postgresql.org/pg/commitdiff/e6159885b78e9b91b2adc3161c5f827d081f2b13
文档:使词汇表中的术语一致。使用“reside in”(位于)而不是“belong to”(属于)来描述模式中的对象。之前的用法是两者的混合。作者:Alvaro Herrera alvherre@alvh.no-ip.org 讨论:https://postgresql.ac.cn/message-id/202106021932.idmbjjaqk7ke@alvherre.pgsql https://git.postgresql.org/pg/commitdiff/01ddd2f7e411ba434473faebf00f5b5af84c0f64
文档:简化 COMMENT 和 SECURITY LABEL 文档。只需说明位于模式中的对象可以被模式限定。不要列出所有可能的此类对象。现有的列表并不完整。讨论:https://postgresql.ac.cn/message-id/flat/b2ec2234-67fe-d861-5cea-f526cd18c086%40enterprisedb.com https://git.postgresql.org/pg/commitdiff/5c25fd650a774cc4f16ac9c635830d9bc5797f61
Thomas Munro 推送
Amit Kapila 提交
Fujii Masao 提交
添加恢复暂停的回归测试。以前没有为恢复暂停功能添加回归测试。此提交添加了检查以下内容的测试:- 恢复可以按预期暂停或恢复- pg_get_wal_replay_pause_state() 报告正确的暂停状态- 如果在恢复暂停时触发了提升,则暂停状态结束并且提升继续。建议者:Michael Paquier 作者:Fujii Masao 审阅者:Kyotaro Horiguchi, Dilip Kumar 讨论:https://postgr.es/m/YKNirzqM1HYyk5h4@paquier.xyz https://git.postgresql.org/pg/commitdiff/6bbc5c5e96b08f6b8c7d28d10ed8dfe6c49dca30
从 013_crash_restart.pl 中删除不必要的 Time::HiRes 使用。回归测试 013_crash_restart.pl 包含了“use Time::HiRes qw(usleep)”,但此处未使用 usleep。作者:Fujii Masao 审阅者:Kyotaro Horiguchi 讨论:https://postgr.es/m/63ad1368-18e2-8900-8443-524bdfb1bef5@oss.nttdata.com https://git.postgresql.org/pg/commitdiff/df466d30c6caa02e2215595fd83ca70be3199cec
Tomáš Vondra 提交了
David Rowley 提交
标准化 appendStringInfo 和 appendPQExpBuffer 的用法。修复一些地方使用了 appendStringInfo() 但应使用 appendStringInfoString()。还有一些 appendPQExpBuffer() 的情况,使用 appendPQExpBufferChar() 会更好,最后一些地方使用了 appendPQExpBuffer() 但 appendPQExpBufferStr() 更合适。这里没有修复任何 bug。目标只是让代码使用最适合任务的函数。这里更改的所有代码都是 PG14 新增的。在分支到 PG15 之前修复这些是有意义的。还有一些地方可以修复,但那些是旧代码,因此修复这些似乎不太值得,因为这可能会在未来造成不必要的向后移植痛苦。作者:Hou Zhijie 讨论:https://postgr.es/m/OS0PR01MB5716732158B1C4142C6FE375943D9@OS0PR01MB5716.jpnprd01.prod.outlook.com https://git.postgresql.org/pg/commitdiff/f736e188ce70bda34f04c9f381b7c5141dc20dce
调整不正确版权年份的位置。ca3b37487 之后提交的一些补丁错误地忘记将版权年份设置为 2021。修复这些。https://postgr.es/m/CAApHDvqyLmd9P2oBQYJ=DbrV8QwyPRdmXtCTFYPE08h+ip0UJw@mail.gmail.com https://git.postgresql.org/pg/commitdiff/7fc26d11e370afe237631265714221364d7e7910
清理一些可疑的 DatumGet* 宏用法。这清理了一些使用 DatumGetPointer() 的可疑代码,其中 Datum 被传递给期望 cstring 参数的函数。旧代码没有编译器警告,因为 DatumGetPointer() 中使用的 Pointer 类型是 char * 而不是 void *。但是,这也不是借口,我们应该使用正确的宏。这里我们也使用 OutputFunctionCall() 而不是直接使用 FunctionCall1() 来调用类型的输出函数。OutputFunctionCall() 是执行此操作的标准方法。它为我们转换返回值为 cstring。顺便,丢弃一个重复的 strlen() 调用。大多数编译器可能会优化掉第二个调用,但有些可能不会。无论如何,这只是使代码与其他已执行此操作的附近代码对齐。讨论:https://postgr.es/m/CAApHDvq1D=ehZ8hey8Hz67N+_Zth0GHO5wiVCfv1YcGPMXJq0A@mail.gmail.com https://git.postgresql.org/pg/commitdiff/8bdb36aab287f564eac534878bc0e1d873a4e3db
文档:修复一些拼写错误。作者:Daniel Gustafsson 讨论:https://postgr.es/m/7838B8EE-CFD6-48D7-AE2D-520D69FD84BD@yesql.se https://git.postgresql.org/pg/commitdiff/8f3c06c5d56fc0fa414bcf548860ac50a8fe5982
Andrew Dunstan 推送
Emre Hasegeli 发送了一个补丁来处理 PostgreSQL FDW 中的布尔比较谓词,因为并非所有谓词都被识别。
Pavel Stěhule 发送了另一个补丁的修订版,以使 PL/ppgsql 调试 API 返回变量内容的文本值。
Dilip Kumar 发送了另外四个修订版,以修补解码具有 TOAST 的投机插入时的内存泄漏。
Hou Zhijie 发送了三个修订版,以使 INSERT ... SELECT 能够并行执行。
Peter Smith 和 Ajin Cherian 交换了补丁,以在内置逻辑复制中支持预备事务。
Dilip Kumar 发送了三个修订版,以提取未更改的副本身份密钥(如果其存储在外部)。如果副本身份设置为 key 并且 key 未被修改,我们不会单独记录 key,因为它应该与更新的元组一起记录。但是,如果 key 存储在外部,我们必须解压并单独记录它。
Justin Pryzby 提交了另一个版本的补丁,用于实现 CREATE TABLE (LIKE .. INCLUDING ACCESS METHOD)。
Zhihong Yu 发送了一个补丁,以从 pgtls_init() 返回正确的错误代码。
Peter Smith 和 Takamichi Osumi 交换了补丁,以记录 AELs 在同步模式下的目录可能导致逻辑解码中的死锁风险。
Etsuro Fujita 发送了另一个修订版的补丁,以修复异步追加的重扫描。
Bharath Rupireddy 发送了两个修订版,以重构 parse_subscription_options,使其更易于扩展,并通过位图更容易检测互斥选项。
Hou Zhijie 和 Amit Langote 交换了补丁,以在常量分区键时跳过分区元组路由。
Kyotaro HORIGUCHI 发送了两个修订版,以修复可能产生重复历史文件的错误。
Aleksander Alekseev 发送了另一个修订版的补丁,将 ZSON 扩展添加到 contrib。
Joe Wildish 发送了另一个修订版的补丁,允许在 FOR EACH STATEMENT 触发器的 WHEN 表达式中使用查询。
Greg Sabino Mullane 发送了两个修订版,以在 checksum 已设置的情况下加快 pg_checksums 的速度。
Andrew Dunstan 发送了三个修订版,以澄清和更新简短的安装文档。
Matthias van de Meent 发送了一个补丁,用于报告并行 btree 构建中排序阶段的进度。
Jim Mlodgenski 发送了一个补丁,以实现 CREATE MODULE。
John Naylor 发送了两个修订版,以加快 UTF-8 验证速度。
Thomas Munro 发送了一个补丁,删除了关于信号量的更多过时注释。
Thomas Munro 发送了另一个修订版的补丁,通过将目标进程的引用从 pid 改为 pgprocno,使 ProcSendSignal() 更高效,从而可以避免扫描 ProcArray 并跟踪启动进程。
Greg Nancarrow 发送了另一个修订版的补丁,为客户端连接实现事件触发器。
Amit Langote 发送了另一个修订版的补丁,添加了一个断言以确保子行标记不会过早出现。
Nitin Jadhav 发送了另一个修订版的补丁,以实现多列列表分区。
David Christensen 发送了另一个修订版的补丁,将 pg_size_pretty(numeric) 的单位扩展到 YB,并将 pg_size_bytes 支持的单位扩展到所有单位。
Zhihong Yu 发送了两个修订版,以记录 write_relcache_init_file 中不需要检查 unlink 返回值的原因。
Robert Haas 和 Dilip Kumar 交换了补丁,以修复新备用服务器无法跟随新主服务器的边缘情况失败。
Bharath Rupireddy 发送了一个补丁,在忽略 fsm_set_and_search 的返回值时使用 (void)。
David Christensen 发送了一个补丁,以实现 DELETE...CASCADE。
Kyotaro HORIGUCHI 发送了一个补丁,使 pg_waldump 中的错误消息更清晰、更明确地说明了问题所在和位置。
Andrey V. Lepikhov 发送了另一个修订版的补丁,在具有外部分区的表上对批量写入使用 COPY。
Zeng Wenjing 发送了另一个版本的补丁,用于实现全局临时表。
Tomáš Vondra 发送了一个补丁,添加了 PQ_QUERY_PARAM_MAX_LIMIT,创建了描述符的副本用于批处理,并仅为批处理初始化一次槽。
Nitin Jadhav 发送了一个补丁,为启动过程创建了一个进度指示器。
Aleksander Alekseev 发送了一个补丁,将 ZSON 扩展添加到 contrib。
Andrew Dunstan 发送了一个补丁,以确保 pg_upgrade 回显 Windows 命令。
Maxim Orlov 发送了一个补丁,旨在修复一个表现为并行扫描中 SubTransGetTopmostTransaction assert 核心转储的错误。
Ajin Cherian 发送了一个补丁,从 CreateReplicationSlotCmd 结构中删除了两阶段选项,并添加了一个在 CREATE_REPLICATION_SLOT 中设置两阶段的选项。
Tom Lane 发送了另一个修订版的补丁,以修复 CALL 和具有仅输出参数的过程之间的不兼容性。
Melanie Plageman 发送了另一个修订版的补丁,添加了一个跟踪共享缓冲区操作的系统视图。
Jehan-Guillaume de Rorthais 发送了另一个修订版的补丁,添加了一个 pg_stat_waitaccum 视图,并将等待事件时间的测量方法从 INSTR_TIME 更改为 rdtsc。
Michaël Paquier 发送了一个补丁,以防止 VACUUM 重新压缩。
Álvaro Herrera 发送了一个补丁,以使 toast_get_compression_id 内联。
Álvaro Herrera 发送了另一个修订版的补丁,以减少 TOAST 在表重写时重新压缩的开销。
David Rowley 发送了一个补丁,以修复 brin_minmax_multi.c 中的一些拼写错误。
Vigneshwaran C 发送了另一个修订版的补丁,为发布添加了模式级别支持,并为此添加了测试。
Ranier Vilela 发送了另一个修订版的补丁,以减少 TOAST 在表重写时重新压缩的开销。
Vigneshwaran C 发送了另一个修订版的补丁,以在 CREATE/ALTER SUBSCRIPTION 时识别发布者中缺失的发布。
Julien Rouhaud 发送了另一个修订版的补丁,添加了一个 parser_hook hook,基于此添加了一个 sqlol 解析器,向核心解析器添加了一个新的 MODE_SINGLE_QUERY 并在 pg_parse_query 中使用它,并教会 sqlol 使用新的 MODE_SINGLE_QUERY 解析器模式。
Julien Rouhaud 发送了一个补丁,以修复 SQL 标准体中的空语句处理。
Michaël Paquier 发送了一个补丁,旨在修复 pg_log_backend_memory_contexts() 中放错位置的超级用户检查。
Tomáš Vondra 发送了另一个修订版的补丁,以修复 psql 的 \dX(扩展统计信息)中未能检查对象可见性的错误。