Pgpool-II 4.2.1 发布,这是一个 PostgreSQL 的连接池和语句复制系统。 https://www.pgpool.net/docs/42/en/html/release-4-2-1.html
Postgres Operator v1.6.0 发布。 https://github.com/zalando/postgres-operator
https://archives.postgresql.org/pgsql-jobs/2020-12/
Planet PostgreSQL: http://planet.postgresql.org/
本周 PostgreSQL 周刊由 David Fetter 为您带来
请在太平洋标准时间(PST8PDT)周日下午 3:00 前将新闻和公告提交至 david@fetter.org。
Tom Lane 推送了
文档:修复了如何使用 src/tutorial 文件的描述。在调用 psql 之前单独的“cd”命令是有意义的(或者至少我认为如此),当它在 commit ed1939332 中添加时。但是 4e3a61635 删除了解释何时使用它的支持文本,使其令人困惑。所以删除它。还将路径的未提供部分从四个点填充符切换到三个点填充符,因为至少有一个人将四个点填充符理解为“../..”的拼写错误。并修复这些/那些不一致之处。讨论:https://postgr.es/m/160837647714.673.5195186835607800484@wrigleys.postgresql.org https://git.postgresql.org/pg/commitdiff/eea1e08cfc95bb7e1b7e9f515e73cf75adf147e3
删除“jsonb 对象无效连接”错误情况。jsonb || jsonb 操作符武断地拒绝标量和非标量输入的某些组合,同时愿意连接其他组合。这当然是完全没有文档记录的。与其尝试记录它,不如删除该限制,创建一个统一的规则,即除非我们正在处理对象到对象的连接,否则非数组输入将转换为单元素数组,从而导致数组到数组的连接。(这不会改变任何以前没有抛出错误的情况的行为。)根据 Joel Jacobson 的抱怨。向所有受支持的分支进行反向移植。讨论:https://postgr.es/m/163099.1608312033@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/ff5d5611c01f60525c30b2c3ebc16d05edb7956d
增加 021_row_visibility.pl 中的超时。Commit 7b28913bc 认为 30 秒对任何人来说都足够长了,但是在像 valgrind 运行这样的上下文中,它不一定是。 https://git.postgresql.org/pg/commitdiff/08dde1b3dc78e90e01f3af8e89ab27ed37cd8963
改进 autoprewarm 对早期关闭场景的处理。如果在 autoprewarm 完成加载要预热的块列表之前,DBA 发出“pg_ctl stop -m fast”,则会发生不好的事情。当前的工作进程成功地提前终止,但是(如果这不是最后一个有块要预热的数据库),主导进程将尝试为下一个数据库启动另一个工作进程。由于 postmaster 现在处于 PM_WAIT_BACKENDS 状态,它会忽略启动请求,并且主导进程只是坐在那里直到手动杀死它。这主要是由于我们启动后台工作进程的半生不熟的设计造成的,但是对此的正确修复可能过于侵入性而无法进行反向移植。为了改善这种情况,修复 apw_load_buffers(),以在尝试启动另一个工作进程之前检查是否已收到 SIGTERM。这使我们仅在每次工作进程启动中留下一个非常狭窄的窗口,在该窗口中,SIGTERM 可能发生在启动请求和工作进程成功启动之间。另一个问题是,如果主导进程确实设法退出,它会无条件地使用共享缓冲区中当前仅有的块重写 autoprewarm.blocks,从而忘记我们在预热时尚未到达的任何块。这似乎毫无帮助,因为下一个数据库启动将不会获得预期的预热好处。修复它,以便如果我们关闭早于初始加载尝试完成的时间,则不修改该文件。根据 John Thompson 的错误 #16785。反向移植到引入 autoprewarm 代码的 v11。讨论:https://postgr.es/m/16785-c0207d8c67fb5f25@postgresql.org https://git.postgresql.org/pg/commitdiff/ff769831e081a4e69147019128a849ced43ec802
改进针对立即停止情况的客户端错误消息。到目前为止,如果 DBA 发出“pg_ctl stop -m immediate”,则发送给客户端的消息与崩溃并重新启动情况相同。这令人困惑,尤其因为该消息声称数据库将很快再次启动,而我们无权预测这一点。改进这些内容,以便我们可以为这两种情况生成不同的消息(并且还可以识别临时的 SIGQUIT,如果有人尝试这样做的话)。为此,请在 postmaster 设置的 pmsignal.c 的共享内存数据结构中添加一个字段,该字段在向其子进程广播 SIGQUIT 之前设置。似乎不需要互锁;中间的信号发送和信号接收应充分序列化对该字段的访问。因此,这并不比 pmsignal.c 的现有用法风险更大。将来我们可能会扩展这个想法,以改善其他主进程到子进程的信号场景,尽管目前似乎没有像 SIGQUIT 那样严重过载的信号场景。讨论:https://postgr.es/m/559291.1608587013@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/7e784d1dc191be24480a6b31a4ddc8e0e52be24d
修复关闭和未启动的后台工作进程之间的竞争条件。如果在某个进程决定请求新的后台工作进程的时间与 postmaster 可以启动该工作进程的时间之间命令了数据库关闭(智能或快速),则什么都不会发生,因为 postmaster 一旦退出 PM_RUN 状态,就不会启动任何 bgworkers。这很好...除非请求进程正在等待该工作进程完成(甚至启动);在这种情况下,请求者将被卡住,并且只有手动干预才能使我们能够关闭。为了修复此问题,请在 postmaster 发送关闭 (SIGTERM) 信号时取消对工作进程的挂起请求,并类似地取消此后到达的任何新请求。(我们可以稍微优化一下,仅针对有等待者的工作进程执行取消操作。)为了适应现有的 bgworker API,“取消”看起来像工作进程已启动并立即停止,从而导致取消注册 bgworker 条目。等待进程无论如何都必须处理工作进程的过早退出,因此这应该不会引入以前不存在的错误。我们确实有一个副作用,即当理论上可重启的 bgworkers 的注册记录本应保留在原位时,它们可能会消失;但是由于我们正在关闭,因此这无关紧要。反向移植到 v10。将此功能放入 9.6 中也可能很有价值,但是那里对 bgworkers 的管理略有不同(尤其是请参见 8ff518699),并且我不确定是否值得付出努力来验证该分支的补丁。讨论:https://postgr.es/m/661570.1608673226@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/7519bd16d1a2a2007b3604f6740611c0b75a6cd0
避免日志轮换测试中发生依赖于时间的故障。Buildfarm 成员 pogona 和 petalura 显示,当 pg_ctl/t/004_logrotate.pl 在当地午夜之前启动时发生故障。默认的午夜轮换行为发生在 Perl 脚本检查 current_logfiles 之前,因此它认为它已经请求的轮换已经发生...但实际上,该轮换发生在它查找之后,因此预期的新的日志数据将转到与它正在检查的文件不同的文件中。在 HEAD 中,src/test/kerberos/t/001_auth.pl 已获取类似的代码,该代码显然具有相关的故障模式。除了是全新的之外,很少有构建农场的动物运行该测试,因此我们尚未在那里看到故障也就不足为奇了。通过设置 log_rotation_age = 0 来修复这两种情况,以便不会发生基于时间的轮换。还将 004_logrotate.pl 将 lc_messages = 'C' 的决定吸收到了 kerberos 测试中,希望它在非英语的主流区域设置中也能起作用。报告:https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=pogona&dt=2020-12-24%2022%3A10%3A04 报告:https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=petalura&dt=2020-02-01%2022%3A20%3A04 https://git.postgresql.org/pg/commitdiff/5c31afc49d0b62b357218b6f8b01782509ef8acd
真正修复 cipher.c 中的虚拟实现。945083b2f 不足以消除编译器警告。 https://git.postgresql.org/pg/commitdiff/0848cf4f553bda5a9f044c56b3bec19929ee24e6
Alexander Korotkov 推送了
修复范围类型统计信息中的 typalign。6df7a9698b 引入了多范围类型,其 typanalyze 函数与范围类型 typanalyze 函数共享基础结构。自 6df7a9698b 以来,从 typcache 填充统计信息收集的有关类型的信息。但是 typalign 错误地始终设置为 double。此提交修复了此疏忽。 https://git.postgresql.org/pg/commitdiff/4e1ee79e3182256d9c8ddbc1ce9c4e8419c611ff
修复 multirange_constructor0() 中的编译器警告。讨论:https://postgr.es/m/X%2BBP8XE0UpIB6Yvh%40paquier.xyz 作者:Michael Paquier https://git.postgresql.org/pg/commitdiff/29f8f546767ebb4253f6dc37815e2d95fff9acd0
Michaël Paquier 推送了
重构逻辑以检查字符串中是否仅包含 ASCII 字符。相同的逻辑存在于排序规则命令、SASLprep 和 pgcrypto 中,因此这删除了一些代码。作者:Michael Paquier 复审者:Stephen Frost、Heikki Linnakangas 讨论:https://postgr.es/m/X9womIn6rne6Gud2@paquier.xyz https://git.postgresql.org/pg/commitdiff/93e8ff8701a65a70ea8826bdde7fdbbd9c285477
修复 recovery_target_xid 解析中的可移植性问题。此参数的解析一直使用 strtoul() 函数,该函数在不同平台上的可移植性不佳。在大多数 Unix 平台上,unsigned long 的大小为 64 位,而在 Windows 上则为 32 位。在恢复场景中,通常会依赖 txid_current() 甚至更新的 pg_current_xact_id() 的输出来获取事务 ID,用于设置 recovery_target_xid。这些函数返回的值在计算结果中包含了 epoch,一旦 epoch 递增,这将导致 strtoul() 在 unsigned long 大小为 32 位时失败。WAL 记录和 2PC 数据仅包含 32 位 XID 的信息,并且不可能有跨越多个 epoch 的 XID,因此丢弃事务 ID 设置中的高位不会对恢复产生影响。相反,使用 strtoul() 会根据 unsigned long 的大小导致跨平台行为不一致。此提交将 recovery_target_xid 的解析更改为使用 pg_strtouint64(),该函数从 9.6 版本开始可用。有一个 TAP 测试强调了使用 recovery_target_xid 进行恢复,其中添加了基于 pg_reset{xlog,wal} 的调整来增加 XID epoch,以便测试此更改,这是 Alexander Lakhin 的想法。报告者:Alexander Lakhin 讨论:https://postgr.es/m/16780-107fd0c0385b1035@postgresql.org 向后移植到:9.6 https://git.postgresql.org/pg/commitdiff/6db27037b99358018353b8748719cfa9de484988
修复文档和注释中的拼写错误和语法错误。此修复程序修复了文档中的几个区域和一些注释中的样式、语法甚至格式问题。作者:Justin Pryzby 讨论:https://postgr.es/m/20201222041153.GK30237@telsasoft.com https://git.postgresql.org/pg/commitdiff/90fbf7c57df601c7e0b43ae7cf71f0f69908a7cc
Tomáš Vondra 推送了
考虑 generate_useful_gather_paths 中的未排序路径。generate_useful_gather_paths 过去会跳过未排序路径(没有任何路径键),但这是不必要的 - 后面的代码实际上可以通过添加 Sort 节点来很好地处理这些路径。这显然是一个疏忽,阻止了有用的计划的构建。向后移植到引入增量排序的 13 版本。作者:James Coleman 审阅者:Tomas Vondra 向后移植到:13 讨论:https://postgr.es/m/CAAaqYe8cK3g5CfLC4w7bs=hC0mSksZC=H5M8LSchj5e5OxpTAg@mail.gmail.com https://git.postgresql.org/pg/commitdiff/f4a3c0b06250ddc8ae09b59b87cf68e9bc0d7ca1
检查 generate_useful_gather_paths 中的并行安全性。提交 ebb7ae839d 确保我们在考虑在 Gather Merge 下添加排序时忽略具有易变表达式的路径键。事实证明,我们也需要关心路径键的并行安全性,否则我们可能会尝试例如在相关子查询的结果上进行排序(正如 Luis Roberto 的报告所演示的那样)。由 Tom Lane 进行初步调查,由 James Coleman 编写补丁。向后移植到引入代码的 13 版本(作为增量排序的一部分)。报告者:Luis Roberto 作者:James Coleman 审阅者:Tomas Vondra 向后移植到:13 讨论:https://postgr.es/m/622580997.37108180.1604080457319.JavaMail.zimbra%40siscobra.com.br 讨论:https://postgr.es/m/CAAaqYe8cK3g5CfLC4w7bs=hC0mSksZC=H5M8LSchj5e5OxpTAg@mail.gmail.com https://git.postgresql.org/pg/commitdiff/86b7cca72d4d0a4e043fac0a2cdd56218ff2f258
在考虑 Gather Merge 下方的排序时,不允许使用 SRF。虽然我们允许在 ORDER BY 中使用 SRF,但扫描/连接处理不应考虑这种情况 - 此类排序应仅通过 ProjectSet 之上的最终排序发生。因此,请确保我们不会尝试在 Gather Merge 下添加此类排序,就像我们对易变和/或不并行的安全表达式所做的那样。向后移植到 PostgreSQL 13,其中此代码作为增量排序补丁的一部分引入。作者:James Coleman 审阅者:Tomas Vondra 向后移植到:13 讨论:https://postgr.es/m/CAAaqYe8cK3g5CfLC4w7bs=hC0mSksZC=H5M8LSchj5e5OxpTAg@mail.gmail.com 讨论:https://postgr.es/m/295524.1606246314%40sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/fac1b470a9f7e846534620b78ea4cf122ed432b2
不要在 find_em_expr_usable_for_sorting_rel 中搜索易变表达式。虽然 prepare_sort_from_pathkeys 必须关注将易变表达式与正确的 tlist 条目匹配,但我们不需要在 find_em_expr_usable_for_sorting_rel 中这样做,因为无论如何都必须推迟此类排序。作者:James Coleman 审阅者:Tomas Vondra 向后移植到:13 讨论:https://postgr.es/m/CAAaqYe8cK3g5CfLC4w7bs%3DhC0mSksZC%3DH5M8LSchj5e5OxpTAg%40mail.gmail.com https://git.postgresql.org/pg/commitdiff/9aff4dc01fbb9e126efafd839ae8541362328f1a
改进 find_em_expr_usable_for_sorting_rel 注释。阐明 find_em_expr_usable_for_sorting_rel 和 prepare_sort_from_pathkeys 之间的关系,即这两个地方需要共享哪些限制。作者:James Coleman 审阅者:Tomas Vondra 向后移植到:13 讨论:https://postgr.es/m/CAAaqYe8cK3g5CfLC4w7bs%3DhC0mSksZC%3DH5M8LSchj5e5OxpTAg%40mail.gmail.com https://git.postgresql.org/pg/commitdiff/1ca2eb103113d64930cf1120ba2beaaebd1076f4
Bruce Momjian 推送了
虚拟提交。https://git.postgresql.org/pg/commitdiff/6ecf488d91ceb93a8be907a24c5d8a90358534ed
将 hex_decode() 移动到 /common,以便可以从前端调用它。这允许从 ecpg 中删除 hex_decode() 的副本,并且将由即将添加的 pg_alterckey 命令使用。向后移植到:master https://git.postgresql.org/pg/commitdiff/c3826f831e6e63e13a749fd3ab9fd7106707b549
从提交 c3826f831e 恢复从 ecpg 中删除 hex_decode()。某些平台上的 ecpglib 无法处理来自库的 pg_log_fatal 调用。这是由 buildfarm 报告的。如果以后删除它,则需要重构和返回值更改。向后移植到:master https://git.postgresql.org/pg/commitdiff/558a6e8e21367dae9a294291337be10a8a4afd0a
添加密钥管理系统。这增加了一个密钥管理系统,该系统存储(当前)两个长度为 128、192 或 256 位的数据加密密钥。数据密钥使用密钥加密密钥进行 AES256 加密,并通过 GCM 密码模式进行验证。必须在 initdb 时指定用于获取密钥加密密钥的命令,并且将在每次数据库服务器启动时运行。新参数允许传递到终端的文件描述符打开。还添加了 pg_upgrade 支持。讨论:https://postgr.es/m/CA+fd4k7q5o6Nc_AaX6BcYM9yqTbC6_pnH-6nSD=54Zp6NBQTCQ@mail.gmail.com 讨论:https://postgr.es/m/20201202213814.GG20285@momjian.us 作者:Masahiko Sawada,我,Stephen Frost https://git.postgresql.org/pg/commitdiff/978f869b992f9fca343e99d6fdb71073c76e869a
修复提交 978f869b99 中的返回值和 const 声明。这修复了非 OpenSSL 编译的情况。报告者:buildfarm 成员 sifaka 向后移植到:master https://git.postgresql.org/pg/commitdiff/945083b2f7e6c19c8921c655cac6778acb1e3e03
从补丁 978f869b99 (CFE) 中删除 uint128 要求。使用 char[16] 代替。报告者:buildfarm 成员 florican 向后移植到:master https://git.postgresql.org/pg/commitdiff/e35b2bad1a10a8eef9c1ffb563847b9c9df0cfce
修复了提交 978f869b99 的文档和缺失的 initdb 帮助选项。报告者:Erik Rijkers 讨论:https://postgr.es/m/a27e7bb60fc4c4a1fe960f7b055ba822@xs4all.nl 向后移植到:master https://git.postgresql.org/pg/commitdiff/26d60f2a6c1c93838a49ac4d685652b1bc92f547
修复了提交 978f869b99 中 cipher.c 中的无返回函数调用。报告者:buildfarm 成员 sifaka 向后移植到:master https://git.postgresql.org/pg/commitdiff/8e59813e2287db90044537b1093c0869020ffa4a
从补丁 978f869b99 中删除对加密测试的缺失引用。报告者:Tom Lane 讨论:https://postgr.es/m/1205031.1608925990@sss.pgh.pa.us 向后移植到:master https://git.postgresql.org/pg/commitdiff/f234899353f8998bdbd265125ce4a505a312d910
添加 pg_alterckey 实用程序以更改集群密钥。这可以更改用于加密集群文件的数据加密密钥的密钥。讨论:https://postgr.es/m/20201202213814.GG20285@momjian.us 向后移植到:master https://git.postgresql.org/pg/commitdiff/62afb42a7f9f533efc6c19f462c3a848fa4ddb63
允许 ssl_passphrase_command 提示终端。以前,该命令无法访问终端以获取密码短语。向后移植到:master https://git.postgresql.org/pg/commitdiff/300e430c76644b483f70bc833d6251a6a7fb84a6
修复提交 978f869b99 中前端 Win32 代码中的函数调用拼写错误。报告者:buildfarm 成员 walleye 向后移植到:master https://git.postgresql.org/pg/commitdiff/7705f8ca03713457bf7cde0b859a1ab45e4f268b
pg_alterckey:调整文档构建和 Win32 休眠/打开构建失败。修复提交 62afb42a7f。报告者:Tom Lane 讨论:https://postgr.es/m/1252111.1608953815@sss.pgh.pa.us 向后移植到:master https://git.postgresql.org/pg/commitdiff/82f8c45be551a2940e3cbaf08aa7a521bdac8331
doc:修复提交 62afb42a7f 中 pg_alterckey 的 SGML 标记。向后移植到:master https://git.postgresql.org/pg/commitdiff/3d4843babce087ae8dc734aeec36db084001a0e4
添加用于检索集群文件加密密钥的脚本。脚本包括密码短语、直接、AWS 和两个 Yubikey 脚本。向后移植到:master https://git.postgresql.org/pg/commitdiff/d7602afa2ef6d8b2018103dccd89e75b4985ac06
pg_alterckey:从 Makefile 中删除 TAP 检查规则。报告者:Pavel Stehule,Michael Paquier 讨论:https://postgr.es/m/CAFj8pRBRNo4co5bqCx4BLx1ZZ45Z_T-opPxA+u7SLp7gAtBpNA@mail.gmail.com 向后移植到:master https://git.postgresql.org/pg/commitdiff/e174a6f1937248886e124cdb68408e727aeea278
auth 命令:列出要安装在 Makefile 中的特定命令。以前我使用了 Makefile 函数。向后移植到:master https://git.postgresql.org/pg/commitdiff/ba6725df364cd30e068ccd962fa426d9b7b44066
initdb:文档说明 -K 需要一个参数。报告者:"Shinoda, Noriyoshi" 讨论:https://postgr.es/m/TU4PR8401MB1152E92B4D44C81E496D6032EEDB0@TU4PR8401MB1152.NAMPRD84.PROD.OUTLOOK.COM 作者:"Shinoda, Noriyoshi" 向后移植到:msater https://git.postgresql.org/pg/commitdiff/ccbe34139b7d9059f4af3405b2411f653cc2ce7c
Noah Misch 推送了
Jeff Davis 推送
修复基于磁盘的哈希聚合中的错误 #16784。在处理元组之前,agg_refill_hash_table() 会将所有 pergroup 指针设置为 NULL,以向 advance_aggregates() 发出信号,表明它不应该尝试推进已溢出的组。问题在于,它还将排序分组集的 pergroup 设置为 NULL,这导致重新扫描失败。相反,更改 agg_refill_hash_table() 以仅将哈希分组集的 pergroup 设置为 NULL;并且在编译表达式时,传递 doSort=false。报告人:Alexander Lakhin 讨论:https://postgr.es/m/16784-7ff169bf2c3d1588%40postgresql.org 向后移植到:13 https://git.postgresql.org/pg/commitdiff/05c0258966b502fae1bd63dcbe74d52f5c6f6948
根据 buildfarm,稳定化在 05c02589 中引入的测试。顺便一提,使大小写与文件的其余部分匹配。报告人:Tom Lane https://git.postgresql.org/pg/commitdiff/fa0fdf0510df1a21f42ac9f232f77a79b8577152
Kyotaro HORIGUCHI 发送了另一个修订的补丁,使统计收集器使用共享内存而不是文件进行中间存储。
Kyotaro HORIGUCHI 发送了另一个修订的补丁,以修复几何数据类型的 NaN 处理。
Masahiko Sawada 发送了一个补丁,以确保在创建扩展时创建的模式在删除扩展时也被删除。
Justin Pryzby 发送了两个修订的补丁,以向 pg_dump 添加 zstd 压缩。
Peter Smith 发送了五个修订的补丁,允许表同步工作器使用多个事务。
Bharath Rupireddy 和 Michaël Paquier 交换了补丁,以便在关系已存在的情况下,在 CTAS/CMV 中快速失败。
Konstantin Knizhnik 和 Pavel Stěhule 交换了补丁,以添加一个可以在事件触发器中使用的登录事件。
Bharath Rupireddy 发送了另外四个修订的补丁,以在 CTAS 中使用并行插入。
Zeng Wenjing 发送了另一个修订的补丁,以实现全局临时表。
Amit Langote 发送了另一个修订的补丁,以在分区表中也创建外键触发器,并使用相同的触发器在跨分区更新期间正确强制执行外键。
Amit Langote 发送了另一个修订的补丁,以延迟初始化结果关系信息。
Thomas Munro 发送了另一个修订的补丁,以提供同步分散/收集 I/O 例程 pg_preadv() 和 pg_pwritev(),它们对应于具有这些例程的系统上的 preadv() 和 pwritev(),并使用向量化 I/O 将 WAL 段归零。
Peter Geoghegan 发送了一个补丁来检测 heap_compute_xid_horizon_for_tuples()。
David Rowley 发送了另一个修订的补丁,以减少 Windows 上 contrib 构建的特殊情况。
Yugo Nagata 发送了另一个修订的补丁,以实现物化视图的增量维护。
Michaël Paquier 和 Justin Pryzby 交换了补丁,以允许 CLUSTER、VACUUM FULL 和 REINDEX 动态更改表空间。
Masahiko Sawada 发送了一个补丁,以添加一个新的 IndexAM API 来控制索引清理策略。
Fujii Masao 发送了另外两个修订的补丁,以修复 recovery_conflict_lock 死锁。
Amit Kapila 和 Kirk Jamison 交换了补丁,以使用 dlist 更有效地删除关系缓冲区。
Pavel Stěhule 发送了另外两个修订的补丁,以实现模式变量。
Dmitry Dolgov 发送了另外两个修订的补丁,以将新的下标基础设施用于 JSONB。
Michaël Paquier 发送了一个补丁,以清理 makefile 中的一些 -I$(libpq_srcdir)
。
Craig Ringer 发送了一个补丁,以向 PostgresNode 实例添加一个 $node->gdb_backends()
方法。
Andrey V. Lepikhov 发送了另一个修订的补丁,以通过在 FDW API 中实现一些新方法来加速外部分区表的 COPY FROM:BeginForeignCopy、EndForeignCopy 和 ExecForeignCopy。
Justin Pryzby 发送了另一个修订的补丁,使 pg_ls_*()
显示目录和共享文件集。
Simon Riggs 发送了一个补丁,以添加一个布尔事务清理 GUC,默认为关闭,旨在替换连接池器等事物中 DISCARD ALL 的用法。
Ajin Cherian 发送了另一个修订的补丁,以实现两阶段事务的逻辑解码。
Fujii Masao 和 Bharath Rupireddy 交换了补丁,旨在修复一个错误,该错误表现为当关联的用户映射在当前会话中被 pgfdw_inval_callback() 中关闭无效连接(当它们不在事务中时)或在每个操作结束后调用的 pgfdw_xact_callback() 中删除时,postgres_fdw 造成的连接泄漏。
Li Japin 发送了一个补丁,以更好地记录流复制协议。
Thomas Munro 发送了另一个修订的补丁,以实现 WAL 的预取。
Bharath Rupireddy 发送了另一个修订的补丁,以添加用于多插入和单插入的新表 AM。
Kyotaro HORIGUCHI 发送了另一个修订的补丁,以使在不重写堆的情况下更改表持久性成为可能,并添加一个新命令:ALTER TABLE ALL IN TABLESPACE SET LOGGED/UNLOGGED。
Kyotaro HORIGUCHI 向 pg_waldump 发送了一个补丁,该补丁限制了开头显示的行数。
Masahiro Ikeda 发送了另一个修订的补丁,以将 WAL 写入/fsync 统计信息添加到 pg_stat_wal 视图中。
Nikita Glukhov 发送了另一个修订的补丁,以添加 SQL/JSON 函数。
Nikita Glukhov 发送了另一个修订的补丁,以实现 JSON_TABLE。
Dilip Kumar 和 Andrey Borodin 交换了补丁,以实现自定义表压缩方法。
Dmitry Dolgov 发送了另一个修订的补丁,以防止 ArrayExpr 中每个元素被打乱。
Andrey Borodin 发送了另一个修订的补丁,以重新组织 pglz 压缩代码以使其更有效率。这获得了大约 1.4 倍的加速。
Julien Rouhaud 发送了另一个修订的补丁,以向 pg_stat_statements 添加一个布尔列 toplevel。
Fabien COELHO 发送了一个补丁,以添加表访问方法作为 pgbench 的选项。
Justin Pryzby 发送了另一个修订的补丁,以添加一个用于核心数据类型二进制兼容性的 pg_upgrade 测试。
Alexander Korotkov 发送了一个补丁,以修复 multirange_bsearch_match() 的比较函数中的错误,实现用于检查范围是否包含多范围的运算符,通过添加 const 限定符(在适用时)并将多范围类型缓存参数替换为范围类型缓存参数,来改进内部多范围函数的签名,为多范围添加 GiST 索引,并为现有范围 GiST 索引添加对多范围匹配的支持。
Justin Pryzby 发送了另一个修订的补丁,以修复最新文档中的错别字并进行一些文字润色。