本周人物: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 为您带来
请在太平洋标准时间/太平洋夏令时间周日下午 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” 的槽统计信息计算。以前,我们使用 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
doc:为“多范围类型”添加索引条目。在此之前,在索引中查找“多范围”只会指向 multirange() 函数。为了使其更有用,还添加一个指向范围类型部分的条目。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
doc:修复拼写错误。https://git.postgresql.org/pg/commitdiff/c98a6d7887ea6588b4e9797903182312a2b46f67
GUC 描述改进以提高清晰度。https://git.postgresql.org/pg/commitdiff/38f36aad8c55c8f91e3fb8720fae1847c8fa0552
修复拼写错误。https://git.postgresql.org/pg/commitdiff/9f989a8581cc37879d493a5a78b0f01ec0e3245a
Tom Lane 推送了
修复新正则表达式匹配所有检测代码中的性能问题。提交 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 终止测试。提交 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
Doc:改进和集中 OID 别名类型的文档。以前,关于类型 regclass 的许多信息仅存在于序列函数的讨论中。也许一开始这样做是有道理的,因为我认为最初那些是唯一采用 regclass 的函数。但是它不再有意义了。将该材料移至 datatype.sgml 中的“对象标识符类型”部分,将其概括为也谈论其他 reg*
类型,并添加更多示例。根据 Federico Caselli 的错误 #16991。讨论:https://postgr.es/m/16991-bcaeaafa17e0a723@postgresql.org https://git.postgresql.org/pg/commitdiff/f33a178a34809a2bae7a5f4c00984d87771f4204
Doc:更新 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 列表中移动了 GUC,而没有费心使代码与之保持一致。确保分配给 GUC 的 config_group 代码与它们在 config.sgml 中的列出位置相匹配。同样,确保 postgresql.conf.sample 列出的 GUC 与它们在 config.sgml 中出现的子部分和顺序相同。(我对其中一些选择有些疑问,但就此补丁而言,我们将 config.sgml 视为权威。)值得注意的是,这需要添加一个 WAL_RECOVERY config_group 值,因为 1d257577e 没有这样做。既然无论如何我们都要重新编号该枚举,那就删除与分为子组的主要组相对应的值。不应将任何 GUC 分配给主要组本身,因此这些值只会产生做错事的诱惑,同时增加翻译人员的工作量。顺便说一下,调整 PRESET_OPTIONS GUC 的 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/448b02c00515ba9d6683a8a97fe4305604d80028
Bruce Momjian 推送
Álvaro Herrera 推送
修复在 ALTER CONSTRAINT 期间传递给对象更改钩子的 OID。使用了约束的 OID,而不是触发器的 OID - 这是一个很容易犯的错误。显然,对象更改钩子没有经过很好的测试 :-( 反向移植到 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 来创建我们自己的机制。当在分区中自动创建的派生 pg_constraint 对象上调用 ALTER TABLE .. ALTER CONSTRAINT 时,作为添加到其父级的约束的结果,会引发错误,而不是假装工作然后未能修改所有受影响的触发器。在此提交之前,允许这样的命令,但未能影响所有触发器,因此它会静默地错误执行。(还原现有数据库的转储不受影响,因为 pg_dump 不会为这样的派生约束生成任何内容。)为这种情况添加一些测试。反向移植到 11,其中外键支持由提交 3de241dba86f 添加到分区表。(一个相关的更改是 pg12 中的提交 f56f8f8da6af,它添加了对 *引用*
分区表的 FK 的支持;这迫使我们为此使用特殊的递归机制。)由 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 的未使用参数。提交 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 中,我 (Álvaro) 在记录分区描述符是否包含分离的分区时很马虎,当快照检查没有看到标记为分离的 pg_inherits 行时。在这种情况下,没有省略任何分区,但在 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 块之外进行;这样我们就可以在 PG_FINALLY 中删除 NULL 测试,并且它还可以使代码与同一文件中的类似代码更一致。作者: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(<错误的 OID>) 的内部错误。ff942057:禁止显示“警告:变量 'collcollate' 已设置但未使用”。d50e3b1f:修复排序规则版本查找中的断言。f24b1569:重新考虑排序规则依赖项的提取。257836a7:跟踪索引的排序规则版本。cd6f479e:添加 pg_depend.refobjversion。7d1297df:删除 pg_collation.collversion。讨论:https://postgr.es/m/CA%2BhUKGLhj5t1fcjqAu8iD9B3ixJtsTNqyCCD4V0aTO9kAKAjjA%40mail.gmail.com https://git.postgresql.org/pg/commitdiff/ec48314708262d8ea6cdcb83f803fc83dd89e721
文档:更新关于 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 时,当批处理大小更改时,我们可能需要重建查询,在这种情况下,我们会释放当前的字符串。我们不能释放存储在 fdw_private 中的原始字符串,因为在 EXPLAIN ANALYZE 中可能需要它。因此,只为 INSERT 查询复制 SQL。报告者: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 发送了一个补丁,旨在通过精确复制源数据库中的 oldestXid 限制来修复 pg_upgrade 可能导致高事务负载数据库提前回绕的错误。
Bertrand Drouvot 发送了一个补丁,旨在通过添加一个由新的 UseDirtyCatalogSnapshot 变量控制的新目录快照 DirtyCatalogSnapshot,并使用它来检查正在进行的依赖关系并获取对象的描述以生成错误消息来修复孤立依赖关系的错误。
Thomas Munro 发送了另一个补丁修订版,以在 src/test/recovery 下添加一个新的 TAP 测试,以使用正在重放 WAL 的流式副本运行标准回归测试。这为 WAL 解码和重做代码提供了一个基本练习。
Mark Dilger 发送了两个补丁修订版,以扩展 amcheck 以检查 TOAST 大小和压缩。
Jeff Davis 发送了一个补丁,以一种系统其他部分预期的方式绑定表 AM 中的 ItemPointer。
Dilip Kumar 和 Kyotaro HORIGUCHI 交换了补丁,旨在修复恢复中的竞争条件错误。
Craig Ringer 发送了另一个补丁修订版,以简化使用 make USE_VALGRIND=1 的 Valgrind 运行。
David Fetter 发送了一个补丁,以澄清 pg_constraint 中的一些列描述。
Vigneshwaran C 发送了另外两个补丁修订版,以打印指定 postgres 进程的回溯。
Craig Ringer 发送了一个补丁,以便在禁用时为 probes.d 探测发出虚拟语句。
Jeff Davis 发送了另一个补丁修订版,以实现 ALTER TABLE ... SET ACCESS METHOD。
Amit Langote 发送了一个补丁,以澄清 ALTER TABLE ... DETACH PARTITION CONCURRENTLY 的文档。
Etsuro Fujita 发送了一个补丁,以修复 async capable 节点的 EXPLAIN ANALYZE。
Etsuro Fujita 发送了一个补丁,以描述 FDW 的异步执行方式。
Nitin Jadhav 发送了一个补丁,以实现多列的列表分区。
Yugo Nagata 发送了另一个补丁修订版,以实现增量视图维护。
Konstantin Knizhnik 发送了另一个补丁修订版,以删除不必要的自连接。
Andrey Borodin 发送了另一个补丁修订版,以加速 GiST 索引构建。
Etsuro Fujita 发送了一个补丁,通过修改 postgresPlanDirectModify() 以便在设置时清除异步功能标志来修复继承的 UPDATE/DELETE 和异步执行之间的不便之处。
James Coleman 发送了一个补丁,以并行化在每个工作进程中执行的相关子查询。
Jeff Janes 发送了一个补丁,以在致命检查之前添加配置缓存检查点。
Hou Zhijie 发送了另一个补丁修订版,以修复 EXPLAIN 关于 FDW 批量插入的信息。
Erik Rijkers 和 Alexander Korotkov 交换了补丁,以改进 JSON 路径查询中的示例,以突出显示实际发生的事情。
Bruce Momjian 发送了另一个补丁修订版,以修复间隔算术中的错误行为。
Hou Zhijie 发送了一个补丁,以修复当 fdw batch_size 设置为 0 时出现错误消息不准确的错误。
David Rowley 发送了另一个补丁修订版,以加速使用一组 Consts 的 NOT IN()。
Andrew Dunstan 发送了另一个补丁修订版,以实现 SQL/JSON 的 JSON_TABLE 部分。
Andrew Dunstan 发送了另一个补丁修订版,以实现 SQL/JSON 中的函数。
Tom Lane 发送了一个补丁,以使 C 函数具有二进制强制转换功能,以便在 CLOBBER_CACHE_ALWAYS 下减少 opr_sanity 测试的运行时。
David Rowley 发送了一个补丁,仅在计划关闭时验证 resultcache 内存。
Vigneshwaran C 发送了一个补丁,以更正逻辑复制消息格式的数据类型。