PostgreSQL 14 Beta 1 发布。 测试!
官方 IRC 频道已从 Freenode 迁移到 Libera。详情请点击 此处。
DBD::Pg 3.15.0,一个用于 PostgreSQL 的 Perl 驱动程序,已发布。
pg_back 2.0.1,是一个可以将 PostgreSQL 数据库转储到文件的工具,已发布。
https://archives.postgresql.org/pgsql-jobs/2021-05/
Planet PostgreSQL: https://planet.postgresql.org/
本周的 PostgreSQL 每周新闻由 David Fetter 带给您
请在太平洋标准时间下午 3:00 前(星期日)将新闻和公告发送至 david@fetter.org。
Bruce Momjian 推送了
文档:根据 Tom、Alvaro、Julien 的反馈更新 PG 14 发行说明。 https://git.postgresql.org/pg/commitdiff/07af57dbad589bbef9d7178d9b1cb354412e823f
文档:根据 Fujii Masao 的反馈调整 PG 14 发行说明。 https://git.postgresql.org/pg/commitdiff/fe2fb9ebcae8445fdb3915ecf8402a3a887effc2
文档:为 vacuum_cleanup_index_scale_factor 添加 PG 14 发行说明项。 https://git.postgresql.org/pg/commitdiff/2e7c17837064297f25c427d58154dce8d4287302
文档:PG 14 发行说明的 XML 标记部分完成。 https://git.postgresql.org/pg/commitdiff/6a5bde7d4f96ef153578eaeb624ae12e48b46e85
文档:为 libpq 章节添加 xreflabel,PG 14 发行说明需要此标签。 https://git.postgresql.org/pg/commitdiff/1e7d53bd019e9d86ef1013308715622a2e400d3b
文档:还原 1e7d53bd01,以便可以访问 libpq 章节号。修复 PG 14 发行说明,使用 <link> 而不是 <xref>。这在提交消息 59fa7eb603 中讨论过。 https://git.postgresql.org/pg/commitdiff/4f7d1c30966cc02fd5eba2f0d51d1f53be07d457
文档:按照 Justin Pryzby 的建议更改 PG 14 发行说明。 https://git.postgresql.org/pg/commitdiff/4f586fe244a296d7c781de3f06c54755f2ae222b
文档:PG 14 发行说明的更多 XML 标记。 https://git.postgresql.org/pg/commitdiff/55370f8db96c8416940ad0b05be7a00a9f059a9f
文档:完成向 PG 14 发行说明添加 XML 标记。 https://git.postgresql.org/pg/commitdiff/0cdaa05b40e9f28e5d6d58ccd06fe19f3cd920c9
更新 PG 14 发行说明以解决 vacuum_cost_page_miss 问题。报告者:Peter Geoghegan 讨论: https://postgr.es/m/CAH2-WzmgSnDX9WVoxRZxuKeCy2MzLO9Dmo4+go0RzNW0VBdhmw@mail.gmail.com https://git.postgresql.org/pg/commitdiff/8dcae7f0a3d6aba1afad1599ab18d259c417b4ee
文档:PG 14 发行说明,调整 pg_{read|write}_all_data
条目。报告者:Stephen Frost 讨论: https://postgr.es/m/20210522232945.GO20766@tamriel.snowman.net https://git.postgresql.org/pg/commitdiff/7ce7d07e1c5fb33ee56bda235ae3d53f162f3bc0
文档:为 PG 14 发行说明进行文字换行和缩进。 https://git.postgresql.org/pg/commitdiff/8f73ed6b659464274eb9cc8358588b569960d0be
Etsuro Fujita 推送了
Magnus Hagander 推送了
修复 pg_stat_statements.toplevel 描述中的措辞。不正确的措辞在 7531fcb1fcf 中应用。报告者:Fujii Masao 讨论: https://postgr.es/m/e5512912-eac9-b163-df2b-e2601ce06d27@oss.nttdata.com https://git.postgresql.org/pg/commitdiff/f9e6d00df029144fd8f4ec70c52b5a1d2444f895
删除对 winflex 下载的过时引用。我们过去在我们的下载站点上分发 flex 的 windows 二进制版本,但它已经多年无法正常工作。“旧文档”引用的版本也已 EOL 多年。因此,将其删除。讨论: https://postgr.es/m/CABUevEwXLJpVpab62f7AFXNWQ5=U0kvErCLq4VEsikidLyzSQg@mail.gmail.com https://git.postgresql.org/pg/commitdiff/cff8436f19e1c0c278f1ee96d450507fbd43f9ef
Peter Eisentraut 推送了
翻译更新。Source-Git-URL: git://git.postgresql.org/git/pgtranslation/messages.git Source-Git-Hash: 9bbd9c3714d0c76daaa806588b1fbf744aa60496 https://git.postgresql.org/pg/commitdiff/6292b83074243db94df89271842bda0877cbc4ce
将一些 psql 文档片段放回字母顺序。 https://git.postgresql.org/pg/commitdiff/124966c1a35b950210e12048e64533963960febd
Tom Lane 推送了
标记 14beta1。 https://git.postgresql.org/pg/commitdiff/e4f9737fac77a5cb03a84d1f4038d300ffd28afd
避免在不需要的地方创建 testtablespace 目录。最近,我们重构了代码,以便 pg_regress 创建核心回归测试使用的“testtablespace”子目录,而不是在 makefile 中执行此操作。这会产生不希望的副作用,即在每个包含“input”或“output”测试文件的目录中创建这样的子目录。由于这些子目录保持为空,因此 git 不会抱怨它们,但它们仍然很杂乱。为了修复此问题,发明了一个明确的 --make-testtablespace-dir 开关,以便 pg_regress 仅在被明确告知时才创建子目录。讨论: https://postgr.es/m/2854388.1621284789@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/413c1ef98e0c9c708c4a9a13a838a55b65b16a80
清理 cpluspluscheck 违规。“typename”是 C++ 关键字,因此 pg_upgrade.h 无法在 C++ 中编译。幸运的是,似乎没有理由有人需要这样做。尽管如此,项目策略是所有 .h 文件都应该通过 cpluspluscheck,因此重命名该参数以修复此问题。57c081de0 中的疏忽;作为回溯补丁。(要求 pg_upgrade.h 通过 cpluspluscheck 的策略仅追溯到 v12,但最好使此代码在所有分支中看起来都相同。) https://git.postgresql.org/pg/commitdiff/6d59a218c38adf5b993200a804713df4982a0c75
避免在 plpgsql FOR 循环内的 COMMIT 后出现解压缩失败。exec_for_query() 通常会尝试一次从正在迭代的查询中预取几行,以减少执行程序入口/出口开销。不幸的是,如果我们在循环内有 COMMIT 或 ROLLBACK,这是不安全的,因为在我们预取但尚未检查的数据中可能存在 TOAST 引用。在 COMMIT/ROLLBACK 之后,我们的会话中没有快照,这意味着 VACUUM 可以自由删除最近删除的 TOAST 行。这最初被报告为触发 init_toast_snapshot() 中“没有已知快照”错误的案例,但即使您错过了这种情况,也可能会出现“丢失 toast 块”,如添加的隔离测试用例所示。为了修复此问题,只需在非原子上下文中禁用预取。也许会有性能方面的抱怨,促使我们稍后更加努力,但目前尚不清楚这是否真的花费很多,我怀疑我们是否希望回溯任何复杂的修复。顺便说一句,调整 init_toast_snapshot() 中的错误消息,使其更清楚地说明问题的可能原因。我基于 Konstantin Knizhnik 的早期调查编写的补丁。根据 Andreas Wicht 的错误 #15990。回溯到添加了过程内 COMMIT 的 v11。讨论: https://postgr.es/m/15990-eee2ac466b11293d@postgresql.org https://git.postgresql.org/pg/commitdiff/f21fadafaf0fb5ea4c9622d915972651273d62ce
在执行 COMMIT/ROLLBACK 操作后,恢复门户级别的快照。COMMIT/ROLLBACK 操作必然会销毁会话中的所有快照。最初的程序内事务实现只是草率地执行了此操作,忽略了这会导致我们在与正常情况下不同的环境中执行的事实。特别是,事实证明,对 toasted datums 的处理非常依赖于外部的 ActiveSnapshot:否则,当 SPI 或核心执行器弹出它们使用的任何快照并返回时,取消引用查询结果中可能出现的任何 toasted datums 是不安全的。 可以证明由于这种疏忽而导致的 “no known snapshots” 和 “missing chunk number N for toast value” 错误。历史上,这个外部快照一直由 Portal 代码持有,这似乎是一个保持原状的好计划。因此,在 pquery.c 中添加基础设施,以便在门户拥有的快照不存在时重新建立它,并添加足够的簿记支持,以便我们可以判断它是否存在。然而,我们不能仅仅在 COMMIT/ROLLBACK 中重新建立门户快照。与正常的事务开始一样,获取第一个快照应该等到 SET 和 LOCK 命令之后。因此,教导 spi.c 在正确的时间执行此操作。(请注意,此补丁不解决任何尝试在不使用 SPI 执行 SQL 命令的情况下运行程序内事务的 PL 的问题。)这使得 SPI 的 no_snapshots 参数相当不贴切,因此在 HEAD 中,将其重命名为 allow_nonatomic。replication/logical/worker.c 也需要进行一些修复,因为它在执行 AFTER 触发器时没有小心地保持快照打开。该代码没有使用门户,我怀疑有一天我们必须修复它。但目前,只需重新排列操作顺序。这包括向后移植最近添加的 finish_estate(),以集中化清理逻辑。此操作还向 v13 中向后移植了 commit 2ecfeda3e,以改进 worker.c 的测试覆盖率(正是该测试暴露了 worker.c 的快照管理是错误的)。根据 Andreas Wicht 的 bug #15990。向后移植到添加了程序内 COMMIT 的 v11。讨论:https://postgr.es/m/15990-eee2ac466b11293d@postgresql.org https://git.postgresql.org/pg/commitdiff/84f5c2908dad81e8622b0406beea580e40bb03ac
修复 GENERATED 表达式中 “tableoid” 的用法。我们认为这是受支持的(尽管我怀疑这不是一个好主意,因为 tableoid 不是不可变的)。但是,有几个代码路径未能及时填充该字段,导致这样的 GENERATED 表达式看到零或错误的值。当 ALTER TABLE 向具有现有行的表添加新的 GENERATED 列时,以及在具有 GENERATED 列的外部表上进行常规 INSERT 或 UPDATE 时,会发生这种情况。在调查 Vitaly Ustinov 的报告期间注意到。向后移植到引入 GENERATED 的 v12。讨论:https://postgr.es/m/CAM_DEiWR2DPT6U4xb-Ehigozzd3n3G37ZB1+867zbsEVtYoJww@mail.gmail.com https://git.postgresql.org/pg/commitdiff/2b0ee126bbf01cbfd657bd53c94f9284ba903ca2
禁止在 GENERATED 表达式中使用整行变量。以前允许这样做,但我认为这只是一个疏忽。这明显违反了生成列不能依赖于自身或其他生成列的规则。此外,由于代码依赖于不存在此类交叉引用的假设,因此很容易崩溃 ALTER TABLE,甚至在其他地方也是如此。即使您设法没有崩溃,您也会得到相当不稳定的、依赖于实现的结果。根据 Vitaly Ustinov 的报告。向后移植到引入 GENERATED 的 v12。讨论:https://postgr.es/m/CAM_DEiWR2DPT6U4xb-Ehigozzd3n3G37ZB1+867zbsEVtYoJww@mail.gmail.com https://git.postgresql.org/pg/commitdiff/4b10074453d182b5fc11a5667bab2ef8532ff3a6
删除 plpgsql 用于 SET/RESET 的特殊代码路径。在 84f5c2908 之后,plpgsql 不再需要专门处理 SET/RESET。这样做的目的是避免过早获取新的事务快照,而现在通过 _SPI_execute_plan()
的常规代码路径可以很好地做到这一点(实际上更好,因为它现在对 LOCK 也做了正确的事情)。因此,删除几行代码,回到将 SET/RESET 作为通用 SQL 命令的旧方法。这实质上恢复了 b981275b6 中的所有内容,除了测试用例外。讨论:https://postgr.es/m/15990-eee2ac466b11293d@postgresql.org https://git.postgresql.org/pg/commitdiff/30168be8f75b95183abccf48f0da7a64a0cfbd9f
修复逻辑复制工作器中对不再打开的 relcache 条目的访问。如果我们将复制的元组操作重定向到分区子表,然后尝试为该事件触发 AFTER 触发器,则子表的关联缓存条目已关闭。只要该条目仍然存在且仍然有效,就不会有明显的负面影响,但是运气不佳的缓存刷新可能会导致崩溃或其他错误行为。为了修复此问题,请将 ExecCleanupTupleRouting 调用(即关闭子表的操作)延迟到触发触发器之后。这需要一些重构,以便清理函数可以访问必要的状态。在 HEAD 中,我利用了新的 ApplyExecutionData 结构,简化了 worker.c 的一些函数 API。但是,向后移植这方面的内容似乎不安全/不切实际,至少在不大量分析可能与 a04daa97a 的交互的情况下。顺便说一句,在 afterTriggerInvokeEvents 中添加一个 Assert,以捕获此类情况。这似乎是值得的,因为我们已经开发出许多相当非结构化的调用 AfterTriggerEndQuery 的方法。向后移植到 v13,其中 worker.c 具备了处理分区目标表的能力。讨论:https://postgr.es/m/3382681.1621381328@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/b39630fd41f25b414d0ea9b30804f4105f2a0aff
当 postmaster 意外退出时,提供更详细的信息。当 postmaster 由于启动过程失败而停止时,发出 LOG 消息。如果我们由于该原因在 PM_STARTUP 阶段退出,则已经有类似的消息,因此如果启动过程在稍后失败而没有任何消息,似乎不一致。当 postmaster 由于崩溃后禁用 restart_after_crash 而停止时,也发出 LOG 消息。如果 DBA(或开发人员)忘记了已设置该消息,这似乎可能会有所帮助。此外,这也是 postmaster 在没有任何评论的情况下异常退出的唯一剩余位置。顺便说一句,删除一个无法访问的 ExitPostmaster(0) 调用。讨论:https://postgr.es/m/194914.1621641288@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/bc2a389efb3b52d259cefd53c16cfa00742116f2
重新排列 pg_attribute 列以消除一些填充空间。现在 attcompression 只是一个 char,之后有很多浪费的填充空间。将其移动到 char 宽列组中,以每个 pg_attribute 条目节省 4 个字节的网络。同时,交换 attstorage 和 attalign 的顺序,以使这些列的组合更符合逻辑。此外,重新排序相关代码中的操作,以匹配新的字段顺序。此补丁还修复了一个直接的错误:equalTupleDescs() 未能比较 attcompression。例如,这可能会导致 relcache 重新加载在更改后无法采用新值。Michael Paquier 和 Tom Lane,根据 Andres Freund 的抱怨。讨论:https://postgr.es/m/20210517204803.iyk5wwvwgtjcmc5w@alap3.anarazel.de https://git.postgresql.org/pg/commitdiff/f5024d8d7b04de2f5f4742ab433cc38160354861
David Rowley 推送
修复 README.barrier 中的错别字和过时的信息。当添加原子操作时,README.barrier 似乎没有收到备忘录。修复该问题。作者:Tatsuo Ishii,David Rowley 讨论:https://postgr.es/m/20210516.211133.2159010194908437625.t-ishii%40sraoss.co.jp 向后移植到:9.6,最旧的受支持版本 https://git.postgresql.org/pg/commitdiff/2ded19fa3a4dafbae80245710fa371d5163bdad4
修复规划器在使用唯一连接的 Result Cache 时的问题。当规划器考虑使用 Result Cache 节点缓存嵌套循环连接内侧的结果时,它未能考虑到内部路径的参数化可能不是整个连接条件。如果连接被标记为 inner_unique,则我们可能会意外地将缓存置于单行模式。这意味着在缓存第一行后,条目将被标记为已完成。这是错误的,因为如果仅参数化了连接条件的一部分,则无法保证 Result Cache 级别的唯一连接的唯一性。只有在嵌套循环应用连接筛选器后,才能保证唯一性。如果找到后续行,则会导致:错误:缓存条目已完成。可以通过仅在参数化整个连接条件时将缓存置于单行模式来解决此问题。但是,当连接是唯一的时,嵌套循环只会读取其内侧,直到第一行匹配为止,因此这可能意味着我们永远没有机会将缓存条目标记为已完成。由于未完成的缓存条目对于后续查找毫无用处,因此在这种情况下,我们根本不考虑 Result Cache 路径。顺便说一句,删除声称上述错误更适合作为 Assert 的 XXX 注释。在出现触发它的实际案例之后,似乎最好将其保留为 ERROR。报告者:David Christensen 讨论:https://postgr.es/m/CAOxo6X+dy-V58iEPFgst8ahPKEU+38NZzUuc+a7wDBZd4TrHMQ@mail.gmail.com https://git.postgresql.org/pg/commitdiff/9e215378d7fbb7d4615be917917c52f246cc6c61
Michaël Paquier 推送
藤井正雄推送
修复 pg_stat_wal 中的问题。1)之前为了将 WAL 活动发送到统计收集器,同时存在 pgstat_send_wal() 和 pgstat_report_wal()。前者被 WAL 写入器使用,后者被大多数其他进程使用。它们有点多余,因此这个提交将它们合并到 pgstat_send_wal() 中以简化代码。2)之前,WAL 全局统计计数器被计算出来,然后与零填充的缓冲区进行比较,以确定自上次提交以来是否发生了任何 WAL 活动。这些计算和比较并不便宜。即使在只读工作负载中,也会经常执行此操作。此提交通过直接检查某些 WAL 活动计数器来确定是否有 WAL 活动统计信息要发送,从而修复了此问题。3)之前,pgstat_report_stat() 没有检查是否有 WAL 活动统计信息要发送,作为顶部的“如果没有事要做,则不进行时钟检查”检查的一部分。在没有传递其他条件的情况下,拥有挂起的 WAL 统计信息可能很少见,但是为了安全起见,此提交更改了 pgstat_report_stats(),使其在顶部也检查一些 WAL 活动计数器。此提交还添加了有关 WAL 统计信息设计的注释。报告人:Andres Freund 作者:Masahiro Ikeda 审阅人:Kyotaro Horiguchi,Atsushi Torikoshi,Andres Freund,Fujii Masao 讨论:https://postgr.es/m/20210324232224.vrfiij2rxxwqqjjb@alap3.anarazel.de https://git.postgresql.org/pg/commitdiff/d8735b8b4651f5ed50afc472e236a8e6120f07f2
使备库提升将恢复暂停状态重置为“未暂停”。如果在恢复暂停时触发了提升,则暂停状态结束,提升继续。但是,以前在这种情况下,当提升正在进行时,pg_get_wal_replay_pause_state() 错误地返回“paused”。此提交更改了备库提升,使其在触发时将恢复暂停状态标记为“未暂停”,以解决此问题。作者:Fujii Masao 审阅人:Dilip Kumar,Kyotaro Horiguchi 讨论:https://postgr.es/m/f706876c-4894-0ba5-6f4d-79803eeea21b@oss.nttdata.com https://git.postgresql.org/pg/commitdiff/167bd4804995afd654bd97ca9486acbece24377e
Amit Kapila 推送
修复 020_messages.pl 测试。在创建订阅后,我们没有等待发布者赶上订阅者。现在,可能会发生以下情况:即使我们在测试中禁用了订阅,应用工作进程也会开始复制。这将使测试期望没有活动的槽位,但实际上存在一个。通过允许发布者等待赶上订阅来修复此症状。通过检查 walsender 是否存在来确保槽位仍然处于活动状态不是一个好主意,因为我们在清理 walsender 相关内存后会释放该槽位。通过检查 pg_replication_slots 中的槽位状态来修复它。此外,最好避免重复启用/禁用订阅。最后,我们关闭此测试的自动清理,以避免在消耗更改时测试中出现任何空事务。报告人:根据 buildfarm 作者:Vignesh C 审阅人:Amit Kapila,Michael Paquier 讨论:https://postgr.es/m/CAA4eK1+uW1UGDHDz-HWMHMen76mKP7NJebOTZN4uwbyMjaYVww@mail.gmail.com https://git.postgresql.org/pg/commitdiff/0a442a408b40d2c6710de7e5397cb2e769d8c630
修复多个复制的同一表截断的死锁。在应用截断更改时,逻辑应用工作进程在被截断的关系上获取 RowExclusiveLock。这允许两个应用工作进程一次截断关系,从而导致死锁。原因是其中一个工作进程在更新 pg_class 元组后尝试在关系上获取 SHARE 锁,并开始等待在关系上获取了 RowExclusiveLock 的第二个工作进程。当第二个工作进程尝试更新 pg_class 元组时,它开始等待第一个工作进程,从而导致死锁。通过在应用截断更改之前,像普通截断操作一样,在关系上获取 AccessExclusiveLock 来修复此问题。作者:Peter Smith,测试用例由 Haiying Tang 提供 审阅人:Dilip Kumar,Amit Kapila 向后移植:11 讨论:https://postgr.es/m/CAHut+PsNm43p0jM+idTvWwiGZPcP0hGrHMPK9TOAkc+a4UpUqw@mail.gmail.com https://git.postgresql.org/pg/commitdiff/6d0eb38557155855539cd007f04736dc3b2ba16f
Dean Rasheed 推送
Andrew Dunstan 推送
使用更便携的方式在 PostgresNode 中获取版本字符串。Windows 上较旧版本的 perl 不喜欢管道打开的列表形式,并且 perlcritic 不喜欢打开的字符串形式,因此我们使用更简单的 qx{} 公式来避免这两种形式。根据 Amit Kapila 的投诉。https://git.postgresql.org/pg/commitdiff/8bdd6f563aa2456de602e78991e6a9f61b8ec86d
安装 PostgresVersion.pm。我可悲的疏忽意味着当在提交 4c4eaf3d19 中添加 PostgresVersion.pm 时,Makefile 中没有添加安装它的规定,因此它没有与其他 perl 模块一起安装。https://git.postgresql.org/pg/commitdiff/bdbb2ce7d51e93ca2ec68e25e2fafb271b34e72d
Yugo Nagata 发送了另一个用于实现增量物化视图的补丁的修订版。
Amul Sul 发送了另一个补丁的修订版,用于将 WAL 写入代码与 StartupXLOG() 分开,使用全局屏障实现 WAL 禁止状态,在 WAL 写入的 START_CRIT_SECTION 之前出现错误或断言,并记录所有这些。这是(除其他外)ALTER SYSTEM READ {ONLY | WRITE} 的基础结构。
Pavel Stěhule 发送了另一个补丁的修订版,用于实现模式变量。
Bharath Rupireddy 发送了另一个补丁的修订版,以避免在 slot_store_error_callback 和 conversion_error_callback 中访问目录。
Amit Langote 发送了一个补丁,用于重新措辞 pathnodes.h 中的一些注释以使其更清晰。
Ranier Vilela 发送了另一个补丁的修订版,以修复 zic 中可能的内存损坏。
Bharath Rupireddy 发送了三个补丁的修订版,以针对 PostgreSQL FDW 中的非数字值收紧 batch_size 和 fetch_size 选项。
Masahiro Ikeda 发送了另外两个补丁的修订版,以在不引入新变量的情况下提高报告 WAL 统计信息的性能。
Hou Zhijie 和 Amit Langote 交换了补丁,以在存在常量分区键时跳过分区元组路由。
Peter Smith 和 Ajin Cherian 交换了补丁,以将对预备事务的支持添加到内置逻辑复制中,为流式传输事务添加准备 API 支持,并跳过逻辑复制的空事务。
Amit Langote 发送了另外四个补丁的修订版,以 pgoutput 来修复 RelationSyncEntry.map 的内存管理,方法是在其所属的同步条目无效时释放创建元组转换映射及其组件 TupleDesc 时分配的内存,并在认为不需要任何映射时释放 TupleDesc。
Nitin Jadhav 发送了另外两个补丁的修订版,以从 create_list_bounds() 中删除额外的 malloc,将 PartitionListValue 分配为单个块,在 PartitionHashBound 的 create_hash_bounds 中执行相同的操作,批量分配数据数组以避免 palloc 开销,并在 create_range_bounds() 中 pfree 中间结果。
Bertrand Drouvot 发送了另一个补丁的修订版,以在 pgupgrade 中保留 oldestxid。
Andrew Dunstan 发送了另一个补丁的修订版,以实现 SQL/JSON 函数。
Andrew Dunstan 发送了另一个补丁的修订版,以实现 SQL/JSON JSON_TABLE。
Matthias van de Meent 发送了另一个补丁的修订版,以改进 heapam 中行指针数组截断的使用。
Heikki Linnakangas 发送了一个补丁,以允许多次指定 pg_waldump --rmgr 选项。
Robert Haas、Dilip Kumar 和 Kyotaro HORIGUCHI 交换了补丁,旨在修复一个表现为恢复中竞争条件的错误。
Takashi Menjo 发送了另一个补丁的修订版,以将 PMEM 上的 WAL 段文件映射为 WAL 缓冲区。
Justin Pryzby 发送了另一个补丁的修订版,以实现 FPI 的不同压缩方法。
Takamichi Osumi 发送了一个补丁,以禁止在 user_catalog_table 上执行 TRUNCATE。
Peter Eisentraut 和 Álvaro Herrera 交换了补丁,以向 pgxs 添加 NO_INSTALL 选项。
Bharath Rupireddy 发送了另外三个补丁的修订版,以消除使用“非负数”的错误消息的歧义。
Daniel Gustafsson 发送了两个补丁的修订版,以扩展 configure_test_server_for_ssl 以添加扩展,并为 sslinfo 添加测试。
Mathis Rudolf 发送了一个补丁,旨在通过在 'refresh_by_match_merge()' 中添加 _pg_internal_
前缀到诸如 'mv' 和 'newdata' 之类的别名来修复一个表现为 REFRESH MATERIALIZED VIEW CONCURRENTLY 中的别名冲突的错误,这使得它不太可能导致与用户创建的 MV 的任何冲突。
Yura Sokolov 发送了一个补丁,向 exec_execute_message() 添加了一个 PortalDrop 调用。
Bharath Rupireddy 和 Peter Smith 交换了补丁,以重构 parse_subscription_options 中的“互斥选项”错误报告代码。
Michaël Paquier 发送了另一个补丁的修订版,以切换 pg_upgrade 的测试以使用 TAP。
Greg Nancarrow 发送了另一个补丁的修订版,以修复并行工作进程失败的断言和核心转储。
Kirill Reshke 发送了一个补丁,旨在通过在 KnownAssignedXids 中使用双向链表来修复表现为备用快照缓慢的错误。
Paul Guo 发送了一个补丁,通过使其可写来修复由于只读文件 open() 错误导致的 pg_rewind 失败。
Alexander Pyhalov 发送了一个补丁,使其可以将带有函数 RTE 的连接推送到 PostgreSQL 数据源。
Nitin Jadhav 发送了另一个补丁的修订版,以支持 tzh tzm 模式。
Michaël Paquier 发送了一个补丁,强制禁用服务器中的 SSL 重新协商。
Ivan Panchenko 发送了另一个补丁的修订版,使其可以在登录时触发操作。
Takayuki Tsunakawa 发送了另一个补丁的修订版,以在重写器中传播 CTE 属性标志。
Ashutosh Bapat 发送了两个补丁修订版,用于在 LogicalIncreaseXminForSlot() 中报告新的 catalog_xmin 候选值。
Michaël Paquier 发送了另一个补丁修订版,用于向 pg_stat_activity 添加认证数据。
Bharath Rupireddy 发送了另一个补丁修订版,用于为并行 vacuum 重写错误消息和文档。
侯志杰发送了两个补丁修订版,旨在修复当 batch_size >
65535 时,FDW 批量插入失败的错误。
Dmitry Dolgov 发送了另一个补丁修订版,用于实现索引跳跃扫描。
Tomáš Vondra 发送了一个补丁,旨在修复 REFRESH MATERIALIZED VIEW 性能下降的错误。
Michaël Paquier 和 Tom Lane 交换了补丁,以减少 pg_attribute 结构体的内存占用。
David Rowley 发送了另一个补丁修订版,用于加速使用 Consts 集合的 NOT IN() 操作。
Vigneshwaran C 发送了另一个补丁修订版,用于在 PUBLICATION 和 SUBSCRIPTION 命令中添加对缺失选项的 Tab 补全功能。