PG Day Russia 将于 2021 年 7 月 8-9 日在线举行。CfP 征集已开放,请访问 在 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 为您带来
请在太平洋标准时间下午 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 可能会导致一些内部失败。这些名称是在 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
doc: 修复 PGSSLMAXPROTOCOLVERSION 的链接引用。该链接指向的是最低协议版本。自 ff8ca5f 起不正确。作者:Daniel Gustafsson 讨论:https://postgr.es/m/F893F184-C645-4C21-A2BA-583441B7288F@yesql.se 向后移植:13 https://git.postgresql.org/pg/commitdiff/77e9d1b4884262fa09cd8d141c7eadad3affde8b
doc: 添加 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 秒。根据构建场成员 hornet 的报告。此外,更新 Pod 文档,显示较低的值。向后移植到 v10,该测试首次出现的地方。https://git.postgresql.org/pg/commitdiff/d03eeab886baa1be73f8fc2938fb842d25a71fe8
修复缺失的 gettimeofday() 声明。这避免了在具有 gettimeofday() 的 MinGW 版本下的警告,根据构建场成员 walleye 的报告。https://git.postgresql.org/pg/commitdiff/49527a32ca97761d78efef732a4ac76a2fc086b2
将 Windows 文件版本信息添加到 libpq_pipeline.exe。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 本身在几行之外就违反了该假设。这意味着两个堆叠的 ProjectionPath 可能会产生一个结果,其中我们尝试将上层路径的 tlist 插入到一个没有投影能力的子节点中,从而导致无效的计划。没有任何理由要有堆叠的 ProjectionPath;实际上,整个概念都是错误的,因为上层路径所需的 Vars/Aggs/等的集合不一定在下层路径的输出中可用,而且如果下层路径的输入中没有这些值,下层路径也无法创建这些值。因此,我们可以通过调整 create_projection_path 来修复此问题,以从其给定的子路径中剥离任何顶级 ProjectionPath。(这相当于说“哦,我们改变了主意,我们现在需要在这里投影什么。”)此处添加的测试用例仅在 v13 和 HEAD 中失败;在此之前,由于我不太清楚的原因,我们不会尝试将 Sort 推入计划的并行部分。但是,所有直接相关的代码看起来与 v11 一样,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,因此它会允许退化的分组集。这导致了错误的计划和执行程序中的空指针取消引用。在寻找相同 bug 的其他实例时,我发现的唯一一个是在 examine_simple_variable() 中。这只会导致愚蠢的估计,但也应该修复。根据 Yaoguang Chen 的私人报告。向后移植到所有受支持的分支。https://git.postgresql.org/pg/commitdiff/1103033aedc10295eb689a4b7158f21ef4c14a11
教 tab-complete.c 关于最近添加的 CREATE TYPE 选项。提交 c7aba7c14 遗漏了在此处添加 SUBSCRIPT,而提交 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
修复规划器为来自外部表的继承而产生的行标记代码。提交 428b260f8 中断了需要行标记(SELECT FOR UPDATE 等)且查询的表之一是具有常规表作为继承子项的外部表的规划。我们得到了相反的正确情况,但显然认为外部表不能是继承父项。事实并非如此;因此我们需要能够在添加新子项时添加一个 CTID 垃圾列,而不仅仅是 wholerow 垃圾列。向后移植到 v12,其中引入了错误的代码。Amit Langote 讨论:https://postgr.es/m/CA+HiwqEmo3FV1LAQ4TVyS2h1WM=kMkZUmbNuZSCnfHvMcUcPeA@mail.gmail.com https://git.postgresql.org/pg/commitdiff/889592344c48d3965567f331b4ea89dfe6447bce
重新允许具有两个以上组件的自定义 GUC 名称。提交 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
Doc: 修复错误的 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 类型的整行变量时失败的问题。提交 86dc90056 期望 FDW 可以处理其表的整行变量,即使这些变量被标记为 vartype RECORDOID。此前,规划器生成的整行变量的 vartype 等于相关表的行类型 OID。(此更改的目的是为了能够跨继承子表共享 resjunk 列。)事实证明,postgres_fdw 无法处理这种情况,尽管由于运气不好,其测试用例中没有暴露这一点。 大部分情况下都能正常工作,但是当我们尝试读取此类变量的值时,record_in() 无法使用预期的行类型。 幸运的是,修改控制此过程的 tupdesc 以将外表的行类型替换为 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 的用法。修复了一些应该使用 appendStringInfoString() 时使用了 appendStringInfo() 的地方。还有一些应该更适合使用 appendPQExpBufferChar() 的 appendPQExpBuffer() 的情况,最后,一些在 appendPQExpBufferStr() 更合适时使用了 appendPQExpBuffer() 的地方。这里没有修复任何错误。目的是使代码使用最适合该工作的优化函数。这里更改的所有代码都是 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() 来处理传递到函数中的 Datums,其中参数应该是一个 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 发送了三个版本的补丁,以在外部存储时提取未更改的副本身份密钥。如果将副本身份设置为密钥并且该密钥未被修改,则我们不会单独记录密钥,因为它应该与更新的元组一起记录。但是,如果密钥在外部存储,我们必须对其进行解 TOAST 并单独记录。
Justin Pryzby 发送了另一个版本的补丁,以实现 CREATE TABLE (LIKE .. INCLUDING ACCESS METHOD)。
Zhihong Yu 发送了一个补丁,以从 pgtls_init() 返回正确的错误代码。
Peter Smith 和 Takamichi Osumi 交换了补丁,以记录在同步模式下逻辑解码中目录上的 AEL 可能导致的死锁风险。
Etsuro Fujita 发送了另一个版本的补丁,以修复异步追加的重新扫描。
Bharath Rupireddy 发送了另外两个版本的补丁,以重构 parse_subscription_options,使其更容易扩展,并通过位图更容易检测到互斥选项。
Hou Zhijie 和 Amit Langote 交换了补丁,以跳过具有常量分区键的分区元组路由。
Kyotaro HORIGUCHI 发送了两个版本的补丁,以修复可能获得重复历史文件的错误。
Aleksander Alekseev 发送了另一个版本的补丁,以添加一种将列投影列表指定到表访问方法 API 的方法。
Joe Wildish 发送了另一个版本的补丁,以允许在 FOR EACH STATEMENT 触发器的 WHEN 表达式中使用查询。
Greg Sabino Mullane 发送了另外两个版本的补丁,以在校验和已设置的情况下加快 pg_checksums 的速度。
Andrew Dunstan 发送了三个修订版的补丁,以澄清和更新简短版本的安装文档。
Matthias van de Meent 发送了一个补丁,用于报告并行 B 树构建中排序阶段的进度。
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 断言的内核转储形式的错误。
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 钩子,添加基于此的 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(扩展统计信息)中的错误,该错误无法检查对象可见性。