本周人物:https://postgresql.life/post/dave_page/
pgBackRest 2.33 发布,一个用于 PostgreSQL 的备份和恢复系统。https://pgbackrest.org/release.html#2.33
pg_probackup 2.4.15 发布,一个用于管理 PostgreSQL 数据库集群备份和恢复的工具。https://github.com/postgrespro/pg_probackup/releases/tag/2.4.15
https://archives.postgresql.org/pgsql-jobs/2021-05/
Planet PostgreSQL:https://planet.postgresql.org/
本周 PostgreSQL 周报由 David Fetter 提供。
请在太平洋标准时间(PST8PDT)周日晚上3:00之前将新闻和公告发送至 david@fetter.org。
Alexander Korotkov 提交了
使 websearch_to_tsquery() 将引号中的文本解析为单个标记。websearch_to_tsquery() 会将引号中的文本拆分成标记,并自行连接它们,使用短语运算符。然而,当标记不包含单词时,这会导致意外的结果。例如,websearch_to_tsquery('"aaa: bbb"') 是 'aaa <2> bbb',因为它等同于 to_tsquery(E'aaa <-> \':\' <-> bbb')。但 websearch_to_tsquery('"aaa: bbb"') 应该为 'aaa <-> bbb' 才能匹配 to_tsvector('aaa: bbb')。自从 0c4f355c6a 以来,我们无论如何都会用短语运算符连接复杂标记的词元。因此,让我们只让 websearch_to_tsquery() 将引号中的文本解析为单个标记。因此,websearch_to_tsquery() 应该以 phraseto_tsquery() 相同的方式处理带引号的文本。这个解决方案正是我们所需要的,并且也简化了代码。此提交是一个不兼容的更改,因此我们不会向后移植它。报告者:Valentin Gatien-Baron 讨论:https://postgr.es/m/CA%2B0DEqiZs7gdOd4ikmg%3D0UWG%2BSwWOLxPsk_JW-sx9WNOyrb0KQ%40mail.gmail.com 作者:Alexander Korotkov 审阅者:Tom Lane, Zhihong Yu https://git.postgresql.org/pg/commitdiff/eb086056fec44516efdd5db71244a079fed65c7f
从 pg_trgm 文档中删除版本号的提及。我们通常不在此类情况下提及版本号。因此,这里也不提及。报告者:Bruce Momjian 讨论:https://postgr.es/m/20210503234914.GO6180%40momjian.us https://git.postgresql.org/pg/commitdiff/ae9492a61bbf575e2862cf9323c7f02806382093
Amit Kapila 提交
修复 'total_bytes' 的 slot 统计计算。之前,我们使用 ReorderBuffer 中所有更改的大小来计算事务解码后的 total_bytes,这可能导致某些事务的更改被计算多次。通过使用事务解码的更改大小来计算 'total_bytes' 来修复此问题。作者:Sawada Masahiko 审阅者:Vignesh C, Amit Kapila 讨论:https://postgr.es/m/20210319185247.ldebgpdaxsowiflw@alap3.anarazel.de https://git.postgresql.org/pg/commitdiff/205f466282be11ec97506f73341e47b72e0aee5d
收紧解码期间的并发中止检查。在解码进行中或已准备的事务时,我们以 ERRCODE_TRANSACTION_ROLLBACK 错误代码检测到并发中止。这不足够,因为回调可能在其他时间也抛出此错误代码。报告者:Tom Lane 作者:Amit Kapila 审阅者:Dilip Kumar 讨论:https://postgr.es/m/CAA4eK1KCjPRS4aZHB48QMM4J8XOC1+TD8jo-4Yu84E+MjwqVhA@mail.gmail.com https://git.postgresql.org/pg/commitdiff/2ce353fc19024d62e59ad99850d7592ebc9abecf
每次流/溢出后更新复制统计信息。目前,复制槽统计信息在 prepare、commit 和 rollback 时更新。现在,如果事务被中断,统计信息可能不会被更新。通过在每次流/溢出后更新复制统计信息来修复此问题。此外,更新文档以更改某些槽统计信息的描述。作者:Vignesh C, Sawada Masahiko 审阅者:Amit Kapila 讨论:https://postgr.es/m/20210319185247.ldebgpdaxsowiflw@alap3.anarazel.de https://git.postgresql.org/pg/commitdiff/592f00f8dec68038301467a904ac514eddabf6cd
Peter Eisentraut 提交
将系统调用名称从错误消息中提取出来。这是 82c3cd974131d7fa1cfcd07cebfb04fffe26ee35 应该包含的另一个内容。https://git.postgresql.org/pg/commitdiff/853c8c75571558f4b474eeac3ef9e6fcf9be62ba
libpq:重构一些错误消息,以便于翻译。https://git.postgresql.org/pg/commitdiff/ced12b73a9bc76b887cb7137df3d56222e2b5263
移除未使用的函数参数。由 04942bffd0aa9bd0d143d99b473342eb9ecee88b 引入。https://git.postgresql.org/pg/commitdiff/c285babf8f44d86b7fd1e73e9e4f94456b825bfb
防止 lwlock dtrace 探针进行不必要的工作。如果 dtrace 已编译但未启用,lwlock dtrace 探针仍会评估其参数。自 PostgreSQL 13 起,T_NAME(lock) 会执行非平凡的工作,因此如果不需要,应避免调用它。为解决此问题,将这些调用条件化为与每个探针对应的 *_ENABLED() 宏。审阅者:Craig Ringer craig.ringer@enterprisedb.com 讨论:https://postgresql.ac.cn/message-id/CAGRY4nwxKUS_RvXFW-ugrZBYxPFFM5kjwKT5O+0+Stuga5b4+Q@mail.gmail.com https://git.postgresql.org/pg/commitdiff/b94409a02f6122d77b5154e481c0819fed6b4c95
文档:为“multirange 类型”添加索引条目。在此之前,在索引中搜索“multirange”只会指向 multirange() 函数。为了使其更有用,还添加一个指向 range types 部分的条目。https://git.postgresql.org/pg/commitdiff/5df6aeab42279eaea8e9ff92744645b155c85b03
修复 ALTER TABLE / INHERIT 与生成列的问题。运行 ALTER TABLE t2 INHERIT t1 时,我们必须检查 t2 中对应于 t1 中生成列的列也必须是生成的,并且具有相同的生成表达式。否则,这将允许创建正常 CREATE TABLE 序列不允许的设置。讨论:https://postgresql.ac.cn/message-id/22de27f6-7096-8d96-4619-7b882932ca25@2ndquadrant.com https://git.postgresql.org/pg/commitdiff/a970edbed306354b0079bdcdc2fc74312122ad89
pg_dump:修复分区中生成列的转储。先前修复继承的生成列转储(0bf83648a52df96f7c8677edbbdf141bfa0cf32b)不得应用于分区,因为与正常继承表不同,它们总是单独转储并重新附加。报告者:Santosh Udupi email@hitha.net 讨论:https://postgresql.ac.cn/message-id/flat/CACLRvHZ4a-%2BSM_159%2BtcrHdEqxFrG%3DW4gwTRnwf7Oj0UNj5R2A%40mail.gmail.com https://git.postgresql.org/pg/commitdiff/feb270d1005f3d7b3705dec9e04c9a205750ea97
文档:修复拼写错误。https://git.postgresql.org/pg/commitdiff/c98a6d7887ea6588b4e9797903182312a2b46f67
GUC 描述改进以提高清晰度。https://git.postgresql.org/pg/commitdiff/38f36aad8c55c8f91e3fb8720fae1847c8fa0552
修复拼写错误。https://git.postgresql.org/pg/commitdiff/9f989a8581cc37879d493a5a78b0f01ec0e3245a
Tom Lane 提交
修复新正则表达式匹配所有检测代码中的性能问题。Commit 824bf7190 引入了对正则表达式编译生成的 NFA 的新搜索。我未能仔细考虑该搜索的性能特征,可预见的结果是它很糟糕:奇怪的正则表达式可能导致指数级搜索时间。更糟糕的是,该代码中没有中断检查,因此您甚至无法取消查询。通过引入搜索结果的记忆化来修复此问题,这样任何一个 NFA 状态都只需要详细检查一次。这可能使用大量内存,但我们可以通过限制我们尝试证明匹配所有性的状态数量来限制内存使用。这是合理的,因为我们已经有一个限制 (DUPINF) 来限制一个匹配所有正则表达式可以匹配的最大有限字符串长度;并且涉及超过 DUPINF 状态的模式无论如何都会超过该限制。此外,重新排列逻辑,以便在开始递归搜索以确定路径长度之前检查基本的“图形是否为全 RAINBOW 弧”属性。这将确保每当 NFA 不可能匹配所有时,都能快速退出。还添加了一个中断检查,以防这些措施不能完全消除慢速的风险。讨论:https://postgr.es/m/3483895.1619898362@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/f68970e33f4dc48094c24c78c452ad730ae9ae12
禁用缓存失效以避免破坏 postgres_fdw 终止测试。Commit 93f414614 改进了一个现有测试用例,使其能够显示“远程”工作进程是否终止。这很快暴露了当 debug_invalidate_system_caches_always (原 CLOBBER_CACHE_ALWAYS) 启用时,不会发生此类终止。这是因为缓存失效会强制 postgres_fdw 连接在事务结束时被丢弃,因此没有工作进程可以终止。在查找之前,工作进程是否设法退出 BackendStatusArray 存在一个竞争条件,但至少在 buildfarm 成员 hyrax 上,它在两次尝试中都失败了两次。与其重新禁用测试,不如通过暂时禁用 debug_invalidate_system_caches_always 来修复此问题。(庆幸的是,这现在只是一个 GUC,而不是一个编译时选项。)如果这仍然不足以使测试稳定,我们可以改用其他方法。讨论:https://postgr.es/m/3854538.1620081771@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/1273a15bf91fa322915e32d3b6dc6ec916397268
文档:改进和集中 OID 别名类型的文档。以前,关于 type regclass 的许多信息仅存在于 sequence functions 的讨论中。也许一开始这是有道理的,因为我认为最初只有那些函数接受 regclass。但这不再合理了。将其移至 datatype.sgml 的“Object Identifier Types”部分,并将其泛化以讨论其他 reg* 类型,并添加更多示例。根据 bug #16991,来自 Federico Caselli。讨论:https://postgr.es/m/16991-bcaeaafa17e0a723@postgresql.org https://git.postgresql.org/pg/commitdiff/f33a178a34809a2bae7a5f4c00984d87771f4204
文档:更新 RELEASE_CHANGES 清单。更新清单以反映当前做法:特定于平台的 FAQ 文件早已消失。我们也从未例行更新我们借用的 libbind 代码,并且似乎没有理由现在开始。解释每周期运行 pgindent 两次的当前做法。讨论:https://postgr.es/m/4038398.1620238684@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/e8ce68b0b9ae2757c6153a88bf869904d2d5ac0b
文档:微小的措辞调整。根据 David Johnston 的建议,改进自引用外键示例。讨论:https://postgr.es/m/CAKFQuwZTke7+HUn4YUGqu2+gAPi4Cy18TXMrg_Z5nADkxfPNMw@mail.gmail.com https://git.postgresql.org/pg/commitdiff/c38cadc0907a8d071b043b2b32b83efa09db38ea
文档:针对 debug_invalidate_system_caches_always 描述进行文案编辑。我来修复“useful only useful”,但我越看文本,越觉得有些地方可以改进。https://git.postgresql.org/pg/commitdiff/f9b809e7fbe36cd3fe1ce33edb277288a31da386
同步 guc.c 和 postgresql.conf.sample 与 SGML 文档。似乎不同的人在 config.sgml 列表中移动了 GUCs,而没有让代码保持一致。确保分配给 GUCs 的 config_group 代码与其在 config.sgml 中的列表位置匹配。同样,确保 postgresql.conf.sample 中的 GUCs 在 config.sgml 中出现的相同子部分和顺序。 (我对其中一些选择有一些疑问,但就此补丁而言,我们将 config.sgml 视为权威。)值得注意的是,这需要添加 WAL_RECOVERY config_group 值,因为 1d257577e 没有。既然我们正在重新编号该枚举,让我们删除对应于被划分为子组的主组的值。不应将 GUC 分配给主组本身,因此这些值会诱使人做错事,同时为翻译人员增加工作量。顺便,调整 PRESET_OPTIONS GUCs 的 short_desc 字符串,统一使用“Shows XYZ.”的措辞,消除一些字符串给人的可以设置值的印象。虽然其中一些错误很老,但没有后向移植,因为更改稳定分支中的 pg_settings 视图的内容似乎比任何有用的东西更有可能被视为兼容性中断。Bharath Rupireddy, Justin Pryzby, Tom Lane 讨论:https://postgr.es/m/16997-ff16127f6e0d1390@postgresql.org 讨论:https://postgr.es/m/20210413123139.GE6091@telsasoft.com https://git.postgresql.org/pg/commitdiff/a55a98477b690dedb9b4368d7e5710c8e7fa534e
Robert Haas 提交
amcheck:改进一些关于 TOAST 问题的令人困惑的报告。不要用索引扫描返回的元组数量来措辞报告,而是用元组内部找到的 chunk_seq 值来措辞。由我打补丁,Mark Dilger 审阅。讨论:http://postgr.es/m/CA+TgmoZUONCkdcdR778EKuE+f1r5Obieu63db2OgMPHaEvEPTQ@mail.gmail.com https://git.postgresql.org/pg/commitdiff/50529e5b4e39ad80a637ba0905277f9691eb4a15
文档:澄清 ALTER TABLE .. SET COMPRESSION 的工作方式。Justin Pryzby,根据 Michael Paquier 的投诉。Dilip Kumar 和我审阅。讨论:http://postgr.es/m/20210429040132.GF27406@telsasoft.com https://git.postgresql.org/pg/commitdiff/2d0f662402635d591cac9f1daae5e81e7c4374fc
针对可配置 TOAST 压缩的额外文档修复。提交 bbe0a81db69bd10bd166907c3701492a29aca294 中的语法更改允许 SET COMPRESSION 与 ALTER MATERIALIZED VIEW 以及 ALTER TABLE 一起使用,因此更新这些文档以说明它有效。此外,更新 pg_column_compression() 的文档以解释当没有相关值时它将返回 NULL。由我打补丁,根据 Michael Paquier 的担忧。讨论:http://postgr.es/m/CA+Tgmob9h5u4iNL9KM0drZgkY-JL4oCVW0dWrMqtLPQ1zHkquA@mail.gmail.com https://git.postgresql.org/pg/commitdiff/44b02c000515ba9d6683a8a97fe4305604d80028
Bruce Momjian 已推送
Álvaro Herrera 提交
在 ALTER CONSTRAINT期间修复传递给 object-alter hook 的 OID。使用约束的 OID 而不是触发器的 OID——一个容易犯的错误。显然 object-alter hook 没有经过很好的测试:-(后向移植到 12,该版本引入了此拼写错误 578b229718e8 讨论:https://postgr.es/m/20210503231633.GA6994@alvherre.pgsql https://git.postgresql.org/pg/commitdiff/e798d095da3a4a4bb5c50bb3dff886f07ef52f55
使 ALTER CONSTRAINT 能够递归应用于分区表。当 ALTER TABLE .. ALTER CONSTRAINT 更改分区表中的约束可延迟性属性时,我们未能将这些更改正确传播到分区和触发器。通过添加递归机制来修复,以影响所有派生的约束和所有派生的触发器。(特别是,即使分区各自的父对象已处于所需状态,也要递归到分区:分区可能已单独修改。)因为外键涉及两侧的表,我们无法使用标准的 ALTER TABLE 递归机制,因此我们通过跟踪 pg_constraint.conparentid 来自己实现。当 ALTER TABLE .. ALTER CONSTRAINT 应用于分区中作为向父约束添加约束的结果自动创建的派生 pg_constraint 对象时,会引发错误,而不是假装工作然后未能修改所有受影响的触发器。在此提交之前,此类命令将被允许,但未能影响所有触发器,因此它会默默地出现错误行为。(恢复现有数据库的转储不受影响,因为 pg_dump 实际上不会为这种派生约束产生任何内容。)为该情况添加一些测试。后向移植到 11,其中 commit 3de241dba86f 添加了对分区表的外键支持。(一个相关的更改是 pg12 中的 commit f56f8f8da6af,它添加了对*引用*分区表的外键的支持;这迫使我们为此使用一个临时的递归机制。)由 Tom Lane 根据 Ron L Johnson 的错误报告诊断。截至本文撰写之时,尚无审查意见。讨论:https://postgr.es/m/75fe0761-a291-86a9-c8d8-4906da077469@gmail.com 讨论:https://postgr.es/m/3144850.1607369633@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/6f70d7ca1d1937a9f7b79eff6fb18ed1bb2a4c47
移除 ATAddForeignConstraint 的冗余参数。Commit 0325d7a5957b 使此参数未使用,但忘记将其移除。现在执行。作者:Amit Langote amitlangote09@gmail.com 讨论:https://postgr.es/m/209c99fe-b9a2-94f4-cd68-a8304186a09e@lab.ntt.co.jp https://git.postgresql.org/pg/commitdiff/c250062df42ffd3e252471f6205bfb6cbef67b7b
更准确地跟踪 partdescs 中的分离分区。在 d6b8d29419df 中,当快照检查未将 pg_inherits 行标记为已分离时,我(Álvaro)在记录分区描述符是否包含已分离分区方面很疏忽。在这种情况下,没有分区被省略,但我们在 relcache 条目中将其保存为省略分区的 partdesc。翻转它(所以我们将其保存为不省略分区的 partdesc,而实际上它确实如此),这应该使代码更容易理解。作者:Amit Langote amitlangote09@gmail.com 讨论:https://postgr.es/m/CA+HiwqE7GxGU4VdzwZzfiz+Ont5SsopoFkgtrZGEdPqWRL+biA@mail.gmail.com https://git.postgresql.org/pg/commitdiff/3fe773b149755977d2ffde2afd89557b39d0afd9
改进关于 DETACH PARTITION 锁级别的文档。在 71f4c8c6f74b 中被遗忘了。报告者:Pavel Luzanov p.luzanov@postgrespro.ru 作者:Amit Langote amitlangote09@gmail.com 讨论:https://postgr.es/m/0688e7c3-8bc8-a3e4-9d8e-3bcbbf3e1f4d@postgrespro.ru https://git.postgresql.org/pg/commitdiff/db6e1aeb952e9aed26ba2a56b4145293c72b8068
记录 ALTER TABLE VALIDATE CONSTRAINT 使用的锁级别。后向移植到 9.6。作者:Simon Riggs simon.riggs@enterprisedb.com 讨论:https://postgr.es/m/CANbhV-EwxvdhHuOLdfG2ciYrHOHXV=mm6=fD5aMhqcH09Li3Tg@mail.gmail.com https://git.postgresql.org/pg/commitdiff/469116389e18dbf6be0bd555bc2055a26be91a48
移除冗余变量。作者:Amul Sul sulamul@gmail.com 审阅者:Jeevan Ladhe jeevan.ladhe@enterprisedb.com 审阅者:Bharath Rupireddy bharath.rupireddyforpostgres@gmail.com 审阅者:Justin Pryzby pryzby@telsasoft.com 讨论:https://postgr.es/m/CAAJ_b94HaNcrPVREUuB9-qUn2uB+gfcoX3FG_Vx0S6aFse+yhw@mail.gmail.com https://git.postgresql.org/pg/commitdiff/a288d94c91e345ebeb10ac30f247270c8c8e380a
AlterSubscription_refresh:避免覆盖全局变量。此补丁将 AlterSubscription_refresh 中全局变量 "wrconn" 的使用替换为同名局部变量,使其与其他 subscriptioncmds.c 中的函数(例如 DropSubscription)保持一致。全局 wrconn 仅用于逻辑应用/表同步工作进程。滥用它已知会引起麻烦,如果应用工作进程设法执行订阅刷新,例如 Jeremy Finzel 在 2020 年 11 月报告并由 Andres Freund 诊断的那样,地址为 https://postgresql.ac.cn/message-id/20201111215820.qihhrz7fayu6myfi@alap3.anarazel.de。后向移植到 10。在 master 分支中,还将连接建立移到 PG_TRY 块之外;这样我们就可以删除对 NULL 的检查(PG_FINALLY),并且它也使代码与同一文件中的类似代码更加一致。作者:Peter Smith peter.b.smith@fujitsu.com 审阅者:Bharath Rupireddy bharath.rupireddyforpostgres@gmail.com 审阅者:Japin Li japinli@hotmail.com 讨论:https://postgr.es/m/CAHut+Pu7Jv9L2BOEx_Z0UtJxfDevQSAUW2mJqWU+CtmDrEZVAg@mail.gmail.com https://git.postgresql.org/pg/commitdiff/4e8c0f1a0d0d095a749a329a216c88a340a455b6
Andres Freund 提交
Peter Geoghegan 提交
Thomas Munro 推送
回滚每个索引的排序版本跟踪功能。在处理复合类型和记录类型时发现了设计问题,这会导致某些相关版本无法被记录。还对使用 pg_depend 目录进行此操作表示疑虑。我们在这个版本中没有时间了,所以我们将其回滚并重试。已回滚的提交:1bf946bd:文档:记录 Windows 排序版本已知问题。cf002008:移除不再相关的测试用例。ef387bed:修复了虚假的排序版本记录逻辑。0fb0a050:隐藏 pg_collation_actual_version(
文档:更新关于 libc 排序版本的说明。每个索引的排序版本跟踪功能已被回滚,但我们仍然能够询问 Windows (352f6f2d) 和 FreeBSD (ca051d8b) 以获取要存储在 pg_collation.collversion 中的排序版本。因此,从回滚的补丁中,取一些关于所有三个支持操作系统上 libc 的文档内容,以替换仅提及 glibc 的现有说明。讨论:https://postgr.es/m/CA%2BhUKGLhj5t1fcjqAu8iD9B3ixJtsTNqyCCD4V0aTO9kAKAjjA%40mail.gmail.com https://git.postgresql.org/pg/commitdiff/b65431ca5e12a475ba7cf68afb63edb070c2ce08
Tomáš Vondra 提交了
使 pg_get_statisticsobjdef_expressions 返回 NULL。ruleutils.c 中的函数的通常行为是当对象不存在时返回 NULL。pg_get_statisticsobjdef_expressions 而是引发了一个错误,因此纠正了这一点。报告者:Justin Pryzby 讨论:https://postgr.es/m/20210505210947.GA27406%40telsasoft.com https://git.postgresql.org/pg/commitdiff/8d4b311d2494ca592e30aed03b29854d864eb846
修复有关扩展统计信息的注释中的拼写错误。报告者:Justin Pryzby 讨论:https://postgr.es/m/20210505210947.GA27406%40telsasoft.com https://git.postgresql.org/pg/commitdiff/93f9af138795a7d12366187de95f4961fb07ed98
在 maintenance.sgml 中提及统计信息对象。文档提到了表达式索引作为改进函数选择性估计的一种方法,但我们还有第二个选项来通过创建扩展统计信息来改进这一点。因此也提及这一点。报告者:Justin Pryzby 讨论:https://postgr.es/m/20210505210947.GA27406%40telsasoft.com https://git.postgresql.org/pg/commitdiff/44f90ad092f95fe19bebb51465193bc63849c15f
复制 postgres_fdw 中的 INSERT 查询。在执行带有批处理的 INSERT 时,我们可能需要在批处理大小改变时重建查询,在这种情况下,我们会 pfree 当前字符串。我们不能释放存储在 fdw_private 中的原始字符串,因为它可能在 EXPLAIN ANALYZE 中需要。因此,复制 SQL,但仅适用于 INSERT 查询。报告者:Pavel Stehule 讨论:https://postgr.es/m/CAFj8pRCL_Rjw-MCR6J7VX9OF7MR6PA5K8qUbrMvprW_e-aHkfQ%40mail.gmail.com https://git.postgresql.org/pg/commitdiff/c6a01d924939306e95c8deafd09352be6a955648
Andrew Dunstan 推送
为缺少版权声明的 Perl 文件添加版权声明。https://git.postgresql.org/pg/commitdiff/8fa6e6919c1aaa6f74c74e16452aaf0b5f3b4cd5
移除 Perl 版权补丁添加的多余换行符。https://git.postgresql.org/pg/commitdiff/8b82de0164c13eb3b113a525dc7eda7887f5238b
为 Gen_dummy_probes.pl 添加 README 和 Makefile 配方。讨论:https://postgr.es/m/20210506035602.3akutfvvojngj3nb@alap3.anarazel.de https://git.postgresql.org/pg/commitdiff/8292c0675a793a5afd0a8eedbeb0db7abfb844f3
Michaël Paquier 提交
David Rowley 提交
Aleksander Alekseev 发送了一个补丁的另一个修订版,允许 CustomScan 节点指示投影支持。
Melanie Plageman 发送了一个补丁的另一个修订版,以避免立即对刚构建的索引进行 fsync。
Dilip Kumar 发送了两个补丁的修订版,以添加 TOAST 压缩方法选项。
Vigneshwaran C 发送了四个补丁的修订版,以在 CREATE/ALTER SUBSCRIPTION 时识别发布者丢失的出版物。
Bertrand Drouvot 发送了一个补丁,旨在修复一个错误,该错误表现为 pg_upgrade 可能导致具有高事务负载的数据库过早回绕,方法是精确复制源数据库的最旧 XID 限制。
Bertrand Drouvot 发送了一个补丁,旨在修复一个表现为孤立依赖项的错误,方法是添加一个新的 Catalog Snapshot Is DirtyCatalogSnapshot,受新的 UseDirtyCatalogSnapshot 变量控制,并使用它来检查进行中的依赖项并获取对象的描述以生成错误消息。
Thomas Munro 发送了一个补丁的另一个修订版,在 src/test/recovery 下添加了一个新的 TAP 测试,以使用流复制节点重放 WAL 来运行标准回归测试。这为 WAL 解码和重做代码提供了基本的测试。
Mark Dilger 发送了两个补丁的修订版,以扩展 amcheck 以检查 TOAST 大小和压缩。
Jeff Davis 发送了一个补丁,以将表 AM 中的 ItemPointers 限制在系统的其他部分所期望的方式。
Dilip Kumar 和 Kyotaro HORIGUCHI 交换了补丁,旨在修复一个表现为恢复中竞争条件错误的 bug。
Craig Ringer 发送了一个补丁的另一个修订版,使 Valgrind 运行更简单,使用 make USE_VALGRIND=1。
David Fetter 发送了一个补丁,以澄清 pg_constraint 中的一些列描述。
Vigneshwaran C 发送了两个补丁的修订版,以打印指定 postgres 进程的堆栈跟踪。
Craig Ringer 发送了一个补丁,以在 disable 时为 probes.d 探针发出 dummy 语句。
Jeff Davis 发送了一个补丁的另一个修订版,以实现 ALTER TABLE ... SET ACCESS METHOD。
Amit Langote 发送了一个补丁,以澄清 ALTER TABLE ... DETACH PARTITION CONCURRENTLY 的文档。
Etsuro Fujita 发送了一个补丁,以修复 EXPLAIN ANALYZE 对异步能力节点的问题。
Etsuro Fujita 发送了一个补丁,以描述 FDW 的异步执行方式。
Nitin Jadhav 发送了一个补丁,以实现多列列表分区。
Yugo Nagata 发送了另一个版本的补丁,用于实现增量视图维护。
Konstantin Knizhnik 发送了一个补丁的另一个修订版,以移除不必要的自连接。
Andrey Borodin 发送了一个补丁的另一个修订版,以加速 GiST 索引构建。
Etsuro Fujita 发送了一个补丁,以修复继承的 UPDATE/DELETE 与异步执行之间的不匹配,方法是修改 postgresPlanDirectModify() 以在设置了异步能力标志时清除它。
James Coleman 发送了一个补丁,以并行化在每个工作进程中执行的相关子查询。
Jeff Janes 发送了一个补丁,以在 fatal 检查之前添加 configure 缓存检查点。
Hou Zhijie 发送了一个补丁的另一个修订版,以修复 EXPLAIN 关于 FDW 批量插入的信息。
Erik Rijkers 和 Alexander Korotkov 交换了补丁,以改进 JSON 路径查询中的示例,以突出实际发生的情况。
Bruce Momjian 发送了一个补丁的另一个修订版,以修复间隔算术中的错误行为。
Hou Zhijie 发送了一个补丁,以修复当 fdw batch_size 设置为 0 时的不准确错误消息。
David Rowley 发送了一个补丁的另一个修订版,以加速 NOT IN() 与一组 Consts。
Andrew Dunstan 发送了一个补丁的另一个修订版,以实现 SQL/JSON 的 JSON_TABLE 部分。
Andrew Dunstan 发送了一个补丁的另一个修订版,以实现 SQL/JSON 中的函数。
Tom Lane 发送了一个补丁,以创建一个二进制可强制转换的 C 函数,以缩短 CLOBBER_CACHE_ALWAYS 下 opr_sanity 测试的运行时间。
David Rowley 发送了一个补丁,以仅在计划关闭时验证 resultcache 内存。
Vigneshwaran C 发送了一个补丁,以纠正逻辑复制消息格式的数据类型。