{"format": 1, "mode": "release", "from_release": null, "to_release": {"date": "2023-11-09", "build": "14.10", "major": "14", "minor": 10, "manual": "14", "status": "stable", "doc_git": "", "version": "14.10", "eol_date": "2026-11-12", "date_text": "2023-11-09", "supported": true, "manual_url": "/docs/14/release-14-10.html", "source_url": "/docs/release/14.10/", "entry_count": 56, "placeholder": false, "content_hash": "d59b596c87adbcee5a1a6d4a423fbd5704f36c66bcdba0aab3325c3394e3616c", "manual_build": "14.24", "source_as_of": "", "changes_count": 56, "doc_loaded_at": "2026-09-26T02:56:39.341991", "migration_html": "<p>对于运行 14.X 的用户，不需要执行导出/恢复。</p>\n<p>但是，已发现若干错误可能导致特定类型的索引产生错误的搜索结果或不必要的低效。建议在安装此更新后对可能受影响的索引执行 <code>REINDEX</code>。请参阅下面的第四到第七条变更日志条目。</p>\n<p>另外，如果是从早于 14.9 的版本升级，请参见<a href=\"/docs/14/release-14-9.html\" title=\"E.16. 发布版本 14.9\">第 E.16 节</a>。</p>", "compatibility_count": 0, "label": "14.10", "status_label": "受支持版本", "eol": "2026-11-12", "age_days": 1056, "support_days": 43}, "groups": [{"date": "2023-11-09", "build": "14.10", "major": "14", "minor": 10, "manual": "14", "status": "stable", "doc_git": "", "version": "14.10", "eol_date": "2026-11-12", "date_text": "2023-11-09", "supported": true, "manual_url": "/docs/14/release-14-10.html", "source_url": "/docs/release/14.10/", "entry_count": 56, "placeholder": false, "content_hash": "d59b596c87adbcee5a1a6d4a423fbd5704f36c66bcdba0aab3325c3394e3616c", "manual_build": "14.24", "source_as_of": "", "changes_count": 56, "doc_loaded_at": "2026-09-26T02:56:39.341991", "migration_html": "<p>对于运行 14.X 的用户，不需要执行导出/恢复。</p>\n<p>但是，已发现若干错误可能导致特定类型的索引产生错误的搜索结果或不必要的低效。建议在安装此更新后对可能受影响的索引执行 <code>REINDEX</code>。请参阅下面的第四到第七条变更日志条目。</p>\n<p>另外，如果是从早于 14.9 的版本升级，请参见<a href=\"/docs/14/release-14-9.html\" title=\"E.16. 发布版本 14.9\">第 E.16 节</a>。</p>", "compatibility_count": 0, "label": "14.10", "status_label": "受支持版本", "eol": "2026-11-12", "age_days": 1056, "support_days": 43, "entries": [{"id": "14.10-02faee33a889dd5e", "cves": ["CVE-2023-5868"], "html": "<p>修复 <code>DISTINCT</code> <code>\"any\"</code> 聚合函数中对未知类型参数的处理（Tom Lane）<a href=\"https://postgr.es/c/9146d0d65\">§</a></p>\n<p>此错误导致 <code>text</code> 类型的值在运行时被解释为 <code>unknown</code> 类型的值（即以零终止的字符串）。这可能导致泄露 <code>text</code> 值之后的服务器内存。</p>\n<p><span>PostgreSQL</span> 项目感谢 Jingzhou Fu 报告此问题。（CVE-2023-5868）</p>", "text": "修复 DISTINCT \"any\" 聚合函数中对未知类型参数的处理（Tom Lane）§ 此错误导致 text 类型的值在运行时被解释为 unknown 类型的值（即以零终止的字符串）。这可能导致泄露 text 值之后的服务器内存。 PostgreSQL 项目感谢 Jingzhou Fu 报告此问题。（CVE-2023-5868）", "title": "修复 DISTINCT \"any\" 聚合函数中对未知类型参数的处理", "commits": ["9146d0d65"], "section": "变更", "category": "security", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "7ce743ac01b226f984db1b6815f273e33dfdfa0718e6c18d64ba83fe0ec666a1", "section_path": ["变更"], "commit_groups": [["3b0776fde", "4f4a422fb", "8c6633f4d", "9146d0d65", "d3d1e2509", "d3de70fdb", "e911afd09"]], "identity_text": "Fix handling of unknown-type arguments in DISTINCT \"any\" aggregate functions (Tom Lane) This error led to a text-type value being interpreted as an unknown-type value (that is, a zero-terminated string) at runtime. This could result in disclosure of server memory following the text value. The PostgreSQL Project thanks Jingzhou Fu for reporting this problem. (CVE-2023-5868)", "commit_aliases": ["3b0776fde", "4f4a422fb", "8c6633f4d", "9146d0d65", "d3d1e2509", "d3de70fdb", "e911afd09"], "source_commits": ["9146d0d65"], "source_entry_id": "14.10/changes/001", "db_id": "f5153bd2bddb2965fe2e2dcf7419bf67", "patch_ids": ["377783eb6ed06698ffae0a66dac5d5af"], "statement_hash": "bf7258f7eeb548923cd5038b3937b14fb41e52398a82fc2f455c997e83cdb422", "relations": [{"rule": 2, "type": "equivalent", "target": "411ed3e5d2a9be5f075e65357cb57db3", "evidence": {"same_day": true, "patch_ids": ["377783eb6ed06698ffae0a66dac5d5af"], "statement_hash": "bf7258f7eeb548923cd5038b3937b14fb41e52398a82fc2f455c997e83cdb422"}}, {"rule": 2, "type": "equivalent", "target": "5f9df7523a98b9b77b643a8e78b33c9f", "evidence": {"same_day": true, "patch_ids": ["377783eb6ed06698ffae0a66dac5d5af"], "statement_hash": "bf7258f7eeb548923cd5038b3937b14fb41e52398a82fc2f455c997e83cdb422"}}, {"rule": 2, "type": "equivalent", "target": "99b0ad14eb1a1212a1b58eba457cddaf", "evidence": {"same_day": true, "patch_ids": ["377783eb6ed06698ffae0a66dac5d5af"], "statement_hash": "bf7258f7eeb548923cd5038b3937b14fb41e52398a82fc2f455c997e83cdb422"}}, {"rule": 2, "type": "equivalent", "target": "b0e41cd3662df33978f634d732140974", "evidence": {"same_day": true, "patch_ids": ["377783eb6ed06698ffae0a66dac5d5af"], "statement_hash": "bf7258f7eeb548923cd5038b3937b14fb41e52398a82fc2f455c997e83cdb422"}}, {"rule": 2, "type": "equivalent", "target": "c698278fc761a66399286e0735278ad7", "evidence": {"same_day": true, "patch_ids": ["377783eb6ed06698ffae0a66dac5d5af"], "statement_hash": "bf7258f7eeb548923cd5038b3937b14fb41e52398a82fc2f455c997e83cdb422"}}], "version": "14.10", "category_label": "安全相关", "also_in": [], "variants": [], "related_changes": [{"db_id": "99b0ad14eb1a1212a1b58eba457cddaf", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "修复 DISTINCT \"any\" 聚合函数中对未知类型参数的处理", "evidence": {"same_day": true, "patch_ids": ["377783eb6ed06698ffae0a66dac5d5af"], "statement_hash": "bf7258f7eeb548923cd5038b3937b14fb41e52398a82fc2f455c997e83cdb422"}, "url": "/docs/compare/?release=16.1#16.1-f4a32f59543aa7d4", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "5f9df7523a98b9b77b643a8e78b33c9f", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "修复 DISTINCT \"any\" 聚合函数中对未知类型参数的处理", "evidence": {"same_day": true, "patch_ids": ["377783eb6ed06698ffae0a66dac5d5af"], "statement_hash": "bf7258f7eeb548923cd5038b3937b14fb41e52398a82fc2f455c997e83cdb422"}, "url": "/docs/compare/?release=15.5#15.5-007533800ff37dbc", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "411ed3e5d2a9be5f075e65357cb57db3", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "修复 DISTINCT \"any\" 聚合函数中对未知类型参数的处理", "evidence": {"same_day": true, "patch_ids": ["377783eb6ed06698ffae0a66dac5d5af"], "statement_hash": "bf7258f7eeb548923cd5038b3937b14fb41e52398a82fc2f455c997e83cdb422"}, "url": "/docs/compare/?release=13.13#13.13-cb74a975d65eb2b7", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}, {"db_id": "c698278fc761a66399286e0735278ad7", "kind": "equivalent", "version": "12.17", "label": "12.17", "title": "修复 DISTINCT \"any\" 聚合函数中对未知类型参数的处理", "evidence": {"same_day": true, "patch_ids": ["377783eb6ed06698ffae0a66dac5d5af"], "statement_hash": "bf7258f7eeb548923cd5038b3937b14fb41e52398a82fc2f455c997e83cdb422"}, "url": "/docs/compare/?release=12.17#12.17-98e305aa20a51a8c", "source_url": "/docs/release/12.17/#id-1.11.6.11.5"}, {"db_id": "b0e41cd3662df33978f634d732140974", "kind": "equivalent", "version": "11.22", "label": "11.22", "title": "修复 DISTINCT \"any\" 聚合函数中对未知类型参数的处理", "evidence": {"same_day": true, "patch_ids": ["377783eb6ed06698ffae0a66dac5d5af"], "statement_hash": "bf7258f7eeb548923cd5038b3937b14fb41e52398a82fc2f455c997e83cdb422"}, "url": "/docs/compare/?release=11.22#11.22-88a15e360ecf1c36", "source_url": "/docs/release/11.22/#id-1.11.6.5.6"}]}, {"id": "14.10-581b45cad797a532", "cves": ["CVE-2023-5869"], "html": "<p>检测计算新数组维度时的整数溢出（Tom Lane）<a href=\"https://postgr.es/c/edc0a8d82\">§</a></p>\n<p>当向超出当前数组边界的数组下标赋予新元素时，在极端情况下可能发生未检测到的整数溢出。可能利用内存越界写入来执行任意代码，也可能泄露服务器内存。</p>\n<p><span>PostgreSQL</span> 项目感谢 Pedro Gallegos 报告此问题。（CVE-2023-5869）</p>", "text": "检测计算新数组维度时的整数溢出（Tom Lane）§ 当向超出当前数组边界的数组下标赋予新元素时，在极端情况下可能发生未检测到的整数溢出。可能利用内存越界写入来执行任意代码，也可能泄露服务器内存。 PostgreSQL 项目感谢 Pedro Gallegos 报告此问题。（CVE-2023-5869）", "title": "检测计算新数组维度时的整数溢出", "commits": ["edc0a8d82"], "section": "变更", "category": "security", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "14785e301d92068319c29b696f389c79fa17690748ed5c64ffc189d23cd65a57", "section_path": ["变更"], "commit_groups": [["18b585155", "26c599beb", "3bc6bc3ee", "c48008f59", "d267cea24", "e24daa94b", "edc0a8d82"]], "identity_text": "Detect integer overflow while computing new array dimensions (Tom Lane) When assigning new elements to array subscripts that are outside the current array bounds, an undetected integer overflow could occur in edge cases. Memory stomps that are potentially exploitable for arbitrary code execution are possible, and so is disclosure of server memory. The PostgreSQL Project thanks Pedro Gallegos for reporting this problem. (CVE-2023-5869)", "commit_aliases": ["18b585155", "26c599beb", "3bc6bc3ee", "c48008f59", "d267cea24", "e24daa94b", "edc0a8d82"], "source_commits": ["edc0a8d82"], "source_entry_id": "14.10/changes/002", "db_id": "53a48386c7c2b0738e20233af123cb83", "patch_ids": ["00147d3eddf145838149e503b27471ba"], "statement_hash": "635846be981662e45373dc6783ce309a45134b56196850d31be1570d67652f4a", "relations": [{"rule": 2, "type": "equivalent", "target": "2c78902a72483c44567dbd0e43cf8db1", "evidence": {"same_day": true, "patch_ids": ["00147d3eddf145838149e503b27471ba"], "statement_hash": "635846be981662e45373dc6783ce309a45134b56196850d31be1570d67652f4a"}}, {"rule": 2, "type": "equivalent", "target": "3ea179ce96b78d0ac28bb92db24d7bb5", "evidence": {"same_day": true, "patch_ids": ["00147d3eddf145838149e503b27471ba"], "statement_hash": "635846be981662e45373dc6783ce309a45134b56196850d31be1570d67652f4a"}}, {"rule": 2, "type": "equivalent", "target": "bf9a8d1e1a2f36fc165ec2db760161d6", "evidence": {"same_day": true, "patch_ids": ["00147d3eddf145838149e503b27471ba"], "statement_hash": "635846be981662e45373dc6783ce309a45134b56196850d31be1570d67652f4a"}}, {"rule": 2, "type": "equivalent", "target": "cb3a97594563bb28577f0b455189e032", "evidence": {"same_day": true, "patch_ids": ["00147d3eddf145838149e503b27471ba"], "statement_hash": "635846be981662e45373dc6783ce309a45134b56196850d31be1570d67652f4a"}}, {"rule": 2, "type": "equivalent", "target": "d439c86ebeb0e6972d7e13755cb2cea9", "evidence": {"same_day": true, "patch_ids": ["00147d3eddf145838149e503b27471ba"], "statement_hash": "635846be981662e45373dc6783ce309a45134b56196850d31be1570d67652f4a"}}], "version": "14.10", "category_label": "安全相关", "also_in": [], "variants": [], "related_changes": [{"db_id": "bf9a8d1e1a2f36fc165ec2db760161d6", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "检测计算新数组维度时的整数溢出", "evidence": {"same_day": true, "patch_ids": ["00147d3eddf145838149e503b27471ba"], "statement_hash": "635846be981662e45373dc6783ce309a45134b56196850d31be1570d67652f4a"}, "url": "/docs/compare/?release=16.1#16.1-4c16ed3bd29aa177", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "cb3a97594563bb28577f0b455189e032", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "检测计算新数组维度时的整数溢出", "evidence": {"same_day": true, "patch_ids": ["00147d3eddf145838149e503b27471ba"], "statement_hash": "635846be981662e45373dc6783ce309a45134b56196850d31be1570d67652f4a"}, "url": "/docs/compare/?release=15.5#15.5-e6fff3ddb818bbdf", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "d439c86ebeb0e6972d7e13755cb2cea9", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "检测计算新数组维度时的整数溢出", "evidence": {"same_day": true, "patch_ids": ["00147d3eddf145838149e503b27471ba"], "statement_hash": "635846be981662e45373dc6783ce309a45134b56196850d31be1570d67652f4a"}, "url": "/docs/compare/?release=13.13#13.13-b3cd77d12b62df2b", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}, {"db_id": "2c78902a72483c44567dbd0e43cf8db1", "kind": "equivalent", "version": "12.17", "label": "12.17", "title": "检测计算新数组维度时的整数溢出", "evidence": {"same_day": true, "patch_ids": ["00147d3eddf145838149e503b27471ba"], "statement_hash": "635846be981662e45373dc6783ce309a45134b56196850d31be1570d67652f4a"}, "url": "/docs/compare/?release=12.17#12.17-77a934e216e7596b", "source_url": "/docs/release/12.17/#id-1.11.6.11.5"}, {"db_id": "3ea179ce96b78d0ac28bb92db24d7bb5", "kind": "equivalent", "version": "11.22", "label": "11.22", "title": "检测计算新数组维度时的整数溢出", "evidence": {"same_day": true, "patch_ids": ["00147d3eddf145838149e503b27471ba"], "statement_hash": "635846be981662e45373dc6783ce309a45134b56196850d31be1570d67652f4a"}, "url": "/docs/compare/?release=11.22#11.22-54f46ed4e9376414", "source_url": "/docs/release/11.22/#id-1.11.6.5.6"}]}, {"id": "14.10-ea5079e94edabc74", "cves": ["CVE-2023-5870"], "html": "<p>防止 <code>pg_signal_backend</code> 角色向后台工作进程和自动清理进程发送信号（Noah Misch，Jelte Fennema-Nio）<a href=\"https://postgr.es/c/508acb901\">§</a> <a href=\"https://postgr.es/c/ecd5d240c\">§</a></p>\n<p>文档说明 <code>pg_signal_backend</code> 不能向超级用户拥有的进程发送信号。但它能够向这些后台进程发送信号，因为它们公布的角色 OID 为零。现在将此视为表示超级用户所有权。取消这些进程类型之一的安全影响就核心代码而言相当小（我们只会启动另一个），但扩展可能添加更容易受影响的后台工作进程。</p>\n<p>同时确保在这些进程中正确设置 <code>is_superuser</code> 参数。对于该疏忽，目前没有已知的具体安全后果，但对于某些扩展来说可能是重要的。</p>\n<p><span>PostgreSQL</span> 项目感谢 Hemanth Sandrana 和 Mahendrakar Srinivasarao 报告此问题。（CVE-2023-5870）</p>", "text": "防止 pg_signal_backend 角色向后台工作进程和自动清理进程发送信号（Noah Misch，Jelte Fennema-Nio）§ § 文档说明 pg_signal_backend 不能向超级用户拥有的进程发送信号。但它能够向这些后台进程发送信号，因为它们公布的角色 OID 为零。现在将此视为表示超级用户所有权。取消这些进程类型之一的安全影响就核心代码而言相当小（我们只会启动另一个），但扩展可能添加更容易受影响的后台工作进程。 同时确保在这些进程中正确设置 is_superuser 参数。对于该疏忽，目前没有已知的具体安全后果，但对于某些扩展来说可能是重要的。 PostgreSQL 项目感谢 Hemanth Sandrana 和 Mahendrakar Srinivasarao 报告此问题。（CVE-2023-5870）", "title": "防止 pg_signal_backend 角色向后台工作进程和自动清理进程发送信号", "commits": ["508acb901", "ecd5d240c"], "section": "变更", "category": "security", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "b4ac3b54a3fef175d36d0069c2c137b69889466a6c4cf1aca6c1b1498483f275", "section_path": ["变更"], "commit_groups": [["2893f2f40", "28b609550", "3a9b18b30", "508acb901", "595c988c9", "785412731", "e082734c8"], ["2c3c5ec49", "2c7a2a00a", "7bbf4d037", "a27be40c1", "b72de09a1", "ecd5d240c", "fbc371909"]], "identity_text": "Prevent the pg_signal_backend role from signalling background workers and autovacuum processes (Noah Misch, Jelte Fennema-Nio) The documentation says that pg_signal_backend cannot issue signals to superuser-owned processes. It was able to signal these background processes, though, because they advertise a role OID of zero. Treat that as indicating superuser ownership. The security implications of cancelling one of these process types are fairly small so far as the core code goes (we'll just start another one), but extensions might add background workers that are more vulnerable. Also ensure that the is_superuser parameter is set correctly in such processes. No specific security consequences are known for that oversight, but it might be significant for some extensions. The PostgreSQL Project thanks Hemanth Sandrana and Mahendrakar Srinivasarao for reporting this problem. (CVE-2023-5870)", "commit_aliases": ["2893f2f40", "28b609550", "2c3c5ec49", "2c7a2a00a", "3a9b18b30", "508acb901", "595c988c9", "785412731", "7bbf4d037", "a27be40c1", "b72de09a1", "e082734c8", "ecd5d240c", "fbc371909"], "source_commits": ["508acb901", "ecd5d240c"], "source_entry_id": "14.10/changes/003", "db_id": "ba304364dca158290e41073934a3134c", "patch_ids": ["8ead78d15b6001e9b1dadb64d2686862", "fe5f7d00b5b89117d583e472e94ac48a"], "statement_hash": "23bc362c6c5807721e41d714ce6276b5d91f3b15af887efbc0d681a91541b844", "relations": [{"rule": 2, "type": "equivalent", "target": "4b0992ca977f635c7758a17608f5e59f", "evidence": {"same_day": true, "patch_ids": ["8ead78d15b6001e9b1dadb64d2686862", "fe5f7d00b5b89117d583e472e94ac48a"], "statement_hash": "23bc362c6c5807721e41d714ce6276b5d91f3b15af887efbc0d681a91541b844"}}, {"rule": 2, "type": "equivalent", "target": "67b664496af6540010383348f9d71ad4", "evidence": {"same_day": true, "patch_ids": ["8ead78d15b6001e9b1dadb64d2686862", "fe5f7d00b5b89117d583e472e94ac48a"], "statement_hash": "23bc362c6c5807721e41d714ce6276b5d91f3b15af887efbc0d681a91541b844"}}, {"rule": 2, "type": "equivalent", "target": "6f6be896c75edd111e2b6617f47d957b", "evidence": {"same_day": true, "patch_ids": ["8ead78d15b6001e9b1dadb64d2686862", "fe5f7d00b5b89117d583e472e94ac48a"], "statement_hash": "23bc362c6c5807721e41d714ce6276b5d91f3b15af887efbc0d681a91541b844"}}, {"rule": 2, "type": "equivalent", "target": "aad7a037e7eea1cda3add2629e6504ff", "evidence": {"same_day": true, "patch_ids": ["8ead78d15b6001e9b1dadb64d2686862", "fe5f7d00b5b89117d583e472e94ac48a"], "statement_hash": "23bc362c6c5807721e41d714ce6276b5d91f3b15af887efbc0d681a91541b844"}}, {"rule": 2, "type": "equivalent", "target": "f4ba501cfe72d1a5acc9ceb661c83667", "evidence": {"same_day": true, "patch_ids": ["8ead78d15b6001e9b1dadb64d2686862", "fe5f7d00b5b89117d583e472e94ac48a"], "statement_hash": "23bc362c6c5807721e41d714ce6276b5d91f3b15af887efbc0d681a91541b844"}}], "version": "14.10", "category_label": "安全相关", "also_in": [], "variants": [], "related_changes": [{"db_id": "4b0992ca977f635c7758a17608f5e59f", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "防止 pg_signal_backend 角色向后台工作进程和自动清理进程发送信号", "evidence": {"same_day": true, "patch_ids": ["8ead78d15b6001e9b1dadb64d2686862", "fe5f7d00b5b89117d583e472e94ac48a"], "statement_hash": "23bc362c6c5807721e41d714ce6276b5d91f3b15af887efbc0d681a91541b844"}, "url": "/docs/compare/?release=16.1#16.1-bee2c1eaae999c16", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "f4ba501cfe72d1a5acc9ceb661c83667", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "防止 pg_signal_backend 角色向后台工作进程和自动清理进程发送信号", "evidence": {"same_day": true, "patch_ids": ["8ead78d15b6001e9b1dadb64d2686862", "fe5f7d00b5b89117d583e472e94ac48a"], "statement_hash": "23bc362c6c5807721e41d714ce6276b5d91f3b15af887efbc0d681a91541b844"}, "url": "/docs/compare/?release=15.5#15.5-edd37c3a2a604e66", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "aad7a037e7eea1cda3add2629e6504ff", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "防止 pg_signal_backend 角色向后台工作进程和自动清理进程发送信号", "evidence": {"same_day": true, "patch_ids": ["8ead78d15b6001e9b1dadb64d2686862", "fe5f7d00b5b89117d583e472e94ac48a"], "statement_hash": "23bc362c6c5807721e41d714ce6276b5d91f3b15af887efbc0d681a91541b844"}, "url": "/docs/compare/?release=13.13#13.13-2024116eff31fd4f", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}, {"db_id": "67b664496af6540010383348f9d71ad4", "kind": "equivalent", "version": "12.17", "label": "12.17", "title": "防止 pg_signal_backend 角色向后台工作进程和自动清理进程发送信号", "evidence": {"same_day": true, "patch_ids": ["8ead78d15b6001e9b1dadb64d2686862", "fe5f7d00b5b89117d583e472e94ac48a"], "statement_hash": "23bc362c6c5807721e41d714ce6276b5d91f3b15af887efbc0d681a91541b844"}, "url": "/docs/compare/?release=12.17#12.17-5de0c13ef0792005", "source_url": "/docs/release/12.17/#id-1.11.6.11.5"}, {"db_id": "6f6be896c75edd111e2b6617f47d957b", "kind": "equivalent", "version": "11.22", "label": "11.22", "title": "防止 pg_signal_backend 角色向后台工作进程和自动清理进程发送信号", "evidence": {"same_day": true, "patch_ids": ["8ead78d15b6001e9b1dadb64d2686862", "fe5f7d00b5b89117d583e472e94ac48a"], "statement_hash": "23bc362c6c5807721e41d714ce6276b5d91f3b15af887efbc0d681a91541b844"}, "url": "/docs/compare/?release=11.22#11.22-682c6fc45a019a5c", "source_url": "/docs/release/11.22/#id-1.11.6.5.6"}]}, {"id": "14.10-d1b2459041361b0a", "cves": [], "html": "<p>修复 GiST 索引构建中递归页面分裂时的错误行为（Heikki Linnakangas）<a href=\"https://postgr.es/c/747cef5a5\">§</a></p>\n<p>修复了一个页面下行链接位置被错误跟踪的情况，并引入了一些逻辑来允许从此类情况中恢复，而不是静默地执行错误操作。此错误可能导致后续索引搜索返回不正确的结果。建议在安装此更新后重建所有 GiST 索引。</p>", "text": "修复 GiST 索引构建中递归页面分裂时的错误行为（Heikki Linnakangas）§ 修复了一个页面下行链接位置被错误跟踪的情况，并引入了一些逻辑来允许从此类情况中恢复，而不是静默地执行错误操作。此错误可能导致后续索引搜索返回不正确的结果。建议在安装此更新后重建所有 GiST 索引。", "title": "修复 GiST 索引构建中递归页面分裂时的错误行为", "commits": ["747cef5a5"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "aa14cd57d7ad178665e223195a533a6222dacce54eb7f978454978bbb1980128", "section_path": ["变更"], "commit_groups": [["26917ebea", "28d3c2ddc", "747cef5a5", "c3c284b37", "d7f521325", "db7394d4d"]], "identity_text": "Fix misbehavior during recursive page split in GiST index build (Heikki Linnakangas) Fix a case where the location of a page downlink was incorrectly tracked, and introduce some logic to allow recovering from such situations rather than silently doing the wrong thing. This error could result in incorrect answers from subsequent index searches. It may be advisable to reindex all GiST indexes after installing this update.", "commit_aliases": ["26917ebea", "28d3c2ddc", "747cef5a5", "c3c284b37", "d7f521325", "db7394d4d"], "source_commits": ["747cef5a5"], "source_entry_id": "14.10/changes/004", "db_id": "f8d168b50c33bdb06dbbba6b3a70b4c2", "patch_ids": ["dda8015b2cb7febbee0d8ec81b15e1f1"], "statement_hash": "5c3738c63cdf2d59adc87135bcac7d2486c5d29a6b3a04ce34d8ddb67192edfa", "relations": [{"rule": 2, "type": "equivalent", "target": "2a7ddeba40f11da483b6c48eeaebb284", "evidence": {"same_day": true, "patch_ids": ["dda8015b2cb7febbee0d8ec81b15e1f1"], "statement_hash": "5c3738c63cdf2d59adc87135bcac7d2486c5d29a6b3a04ce34d8ddb67192edfa"}}, {"rule": 2, "type": "equivalent", "target": "41d33305cccfb4f8758f8e889cc1bad2", "evidence": {"same_day": true, "patch_ids": ["dda8015b2cb7febbee0d8ec81b15e1f1"], "statement_hash": "5c3738c63cdf2d59adc87135bcac7d2486c5d29a6b3a04ce34d8ddb67192edfa"}}, {"rule": 2, "type": "equivalent", "target": "bfff1d6c07bb200f3982d273d15be0c5", "evidence": {"same_day": true, "patch_ids": ["dda8015b2cb7febbee0d8ec81b15e1f1"], "statement_hash": "5c3738c63cdf2d59adc87135bcac7d2486c5d29a6b3a04ce34d8ddb67192edfa"}}, {"rule": 2, "type": "equivalent", "target": "c1e0614a5596d77272d473d776a05d82", "evidence": {"same_day": true, "patch_ids": ["dda8015b2cb7febbee0d8ec81b15e1f1"], "statement_hash": "5c3738c63cdf2d59adc87135bcac7d2486c5d29a6b3a04ce34d8ddb67192edfa"}}], "version": "14.10", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "bfff1d6c07bb200f3982d273d15be0c5", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "修复 GiST 索引构建中递归页面分裂时的错误行为", "evidence": {"same_day": true, "patch_ids": ["dda8015b2cb7febbee0d8ec81b15e1f1"], "statement_hash": "5c3738c63cdf2d59adc87135bcac7d2486c5d29a6b3a04ce34d8ddb67192edfa"}, "url": "/docs/compare/?release=16.1#16.1-9637104c834c3a09", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "c1e0614a5596d77272d473d776a05d82", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "修复 GiST 索引构建中递归页面分裂时的错误行为", "evidence": {"same_day": true, "patch_ids": ["dda8015b2cb7febbee0d8ec81b15e1f1"], "statement_hash": "5c3738c63cdf2d59adc87135bcac7d2486c5d29a6b3a04ce34d8ddb67192edfa"}, "url": "/docs/compare/?release=15.5#15.5-ca9856742c0d9b93", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "41d33305cccfb4f8758f8e889cc1bad2", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "修复 GiST 索引构建中递归页面分裂时的错误行为", "evidence": {"same_day": true, "patch_ids": ["dda8015b2cb7febbee0d8ec81b15e1f1"], "statement_hash": "5c3738c63cdf2d59adc87135bcac7d2486c5d29a6b3a04ce34d8ddb67192edfa"}, "url": "/docs/compare/?release=13.13#13.13-39edf4f51df72bcd", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}, {"db_id": "2a7ddeba40f11da483b6c48eeaebb284", "kind": "equivalent", "version": "12.17", "label": "12.17", "title": "修复 GiST 索引构建中递归页面分裂时的错误行为", "evidence": {"same_day": true, "patch_ids": ["dda8015b2cb7febbee0d8ec81b15e1f1"], "statement_hash": "5c3738c63cdf2d59adc87135bcac7d2486c5d29a6b3a04ce34d8ddb67192edfa"}, "url": "/docs/compare/?release=12.17#12.17-83be794e35c5e14a", "source_url": "/docs/release/12.17/#id-1.11.6.11.5"}]}, {"id": "14.10-1f652351dd5ca6f8", "cves": [], "html": "<p>防止对 <code>interval</code> 列的 B-树索引条目进行去重（Noah Misch）<a href=\"https://postgr.es/c/0834df909\">§</a></p>\n<p>存在可区分但比较相等的 <code>interval</code> 值，例如 <code>24:00:00</code> 和 <code>1 day</code>。这违反了 B-树去重所做的假设，因此 <code>interval</code> 列需要从去重中排除。此疏忽可能导致仅索引扫描返回不正确的结果。此外，更新后 <span>amcheck</span> 将对几乎所有此类索引报告错误。用户应当重建 <code>interval</code> 列上的所有 B-树索引。</p>", "text": "防止对 interval 列的 B-树索引条目进行去重（Noah Misch）§ 存在可区分但比较相等的 interval 值，例如 24:00:00 和 1 day。这违反了 B-树去重所做的假设，因此 interval 列需要从去重中排除。此疏忽可能导致仅索引扫描返回不正确的结果。此外，更新后 amcheck 将对几乎所有此类索引报告错误。用户应当重建 interval 列上的所有 B-树索引。", "title": "防止对 interval 列的 B-树索引条目进行去重", "commits": ["0834df909"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "556e2d2100ce60a099b1ebc106fd39db05301f384d2724952256c34eff913224", "section_path": ["变更"], "commit_groups": [["0834df909", "5f27b5f84", "6fd1dbdb2", "782be0f71", "bf1c21c4f"]], "identity_text": "Prevent de-duplication of btree index entries for interval columns (Noah Misch) There are interval values that are distinguishable but compare equal, for example 24:00:00 and 1 day. This breaks assumptions made by btree de-duplication, so interval columns need to be excluded from de-duplication. This oversight can cause incorrect results from index-only scans. Moreover, after updating amcheck will report an error for almost all such indexes. Users should reindex any btree indexes on interval columns.", "commit_aliases": ["0834df909", "5f27b5f84", "6fd1dbdb2", "782be0f71", "bf1c21c4f"], "source_commits": ["0834df909"], "source_entry_id": "14.10/changes/005", "db_id": "f94c80d3702648f88e51766968050275", "patch_ids": ["770ce32b7813901103fe23fb21b4ffeb"], "statement_hash": "a6745f00f7053fdc5d93931e78e339cd0275c54067e4154f5fdaece98dd7cc26", "relations": [{"rule": 2, "type": "equivalent", "target": "2ceb2742b948456e32736fbefc247941", "evidence": {"same_day": true, "patch_ids": ["770ce32b7813901103fe23fb21b4ffeb"], "statement_hash": "a6745f00f7053fdc5d93931e78e339cd0275c54067e4154f5fdaece98dd7cc26"}}, {"rule": 2, "type": "equivalent", "target": "bdd9a651ad30d749e407ffce635a70f6", "evidence": {"same_day": true, "patch_ids": ["770ce32b7813901103fe23fb21b4ffeb"], "statement_hash": "a6745f00f7053fdc5d93931e78e339cd0275c54067e4154f5fdaece98dd7cc26"}}, {"rule": 2, "type": "equivalent", "target": "e6d2faeabba2de947636ad76709dbec2", "evidence": {"same_day": true, "patch_ids": ["770ce32b7813901103fe23fb21b4ffeb"], "statement_hash": "a6745f00f7053fdc5d93931e78e339cd0275c54067e4154f5fdaece98dd7cc26"}}], "version": "14.10", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "bdd9a651ad30d749e407ffce635a70f6", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "防止对 interval 列的 B-树索引条目进行去重", "evidence": {"same_day": true, "patch_ids": ["770ce32b7813901103fe23fb21b4ffeb"], "statement_hash": "a6745f00f7053fdc5d93931e78e339cd0275c54067e4154f5fdaece98dd7cc26"}, "url": "/docs/compare/?release=16.1#16.1-56f53f7a899d03d9", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "e6d2faeabba2de947636ad76709dbec2", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "防止对 interval 列的 B-树索引条目进行去重", "evidence": {"same_day": true, "patch_ids": ["770ce32b7813901103fe23fb21b4ffeb"], "statement_hash": "a6745f00f7053fdc5d93931e78e339cd0275c54067e4154f5fdaece98dd7cc26"}, "url": "/docs/compare/?release=15.5#15.5-04f10e64c06fbe6f", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "2ceb2742b948456e32736fbefc247941", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "防止对 interval 列的 B-树索引条目进行去重", "evidence": {"same_day": true, "patch_ids": ["770ce32b7813901103fe23fb21b4ffeb"], "statement_hash": "a6745f00f7053fdc5d93931e78e339cd0275c54067e4154f5fdaece98dd7cc26"}, "url": "/docs/compare/?release=13.13#13.13-ad75943739d781e6", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}]}, {"id": "14.10-e3bada6d50e267ab", "cves": [], "html": "<p>在 BRIN <code>datetime_minmax_multi_ops</code> 索引中更合理地处理 <code>date</code> 值（Tomas Vondra）<a href=\"https://postgr.es/c/d1740e169\">§</a></p>\n<p>日期的距离计算是反向的，导致了关于合并哪些条目的错误决策。索引仍然产生正确的结果，但效率远低于应有的水平。建议重建 <code>date</code> 列上的 BRIN <code>minmax_multi</code> 索引。</p>", "text": "在 BRIN datetime_minmax_multi_ops 索引中更合理地处理 date 值（Tomas Vondra）§ 日期的距离计算是反向的，导致了关于合并哪些条目的错误决策。索引仍然产生正确的结果，但效率远低于应有的水平。建议重建 date 列上的 BRIN minmax_multi 索引。", "title": "在 BRIN datetime_minmax_multi_ops 索引中更合理地处理 date 值", "commits": ["d1740e169"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "d6dddfcd9e47398336e4eb85561d02bb291b4b78df5a9e37765b33f6251fe2fe", "section_path": ["变更"], "commit_groups": [["088233f8d", "394d51731", "d1740e169", "e7965226d"]], "identity_text": "Process date values more sanely in BRIN datetime_minmax_multi_ops indexes (Tomas Vondra) The distance calculation for dates was backward, causing poor decisions about which entries to merge. The index still produces correct results, but is much less efficient than it should be. Reindexing BRIN minmax_multi indexes on date columns is advisable.", "commit_aliases": ["088233f8d", "394d51731", "d1740e169", "e7965226d"], "source_commits": ["d1740e169"], "source_entry_id": "14.10/changes/006", "db_id": "7f1ad2b3d8bd336e9ca34a9e3eaf3e79", "patch_ids": ["d9df1955ea7fa75deac8fbf85f007394"], "statement_hash": "d7b4facb8d97061980cd3f77e42b4fc59384eb85b4d6d65e34e1afa0f91d6dd1", "relations": [{"rule": 2, "type": "equivalent", "target": "54993f9ecfae1876b620371fc919195a", "evidence": {"same_day": true, "patch_ids": ["d9df1955ea7fa75deac8fbf85f007394"], "statement_hash": "d7b4facb8d97061980cd3f77e42b4fc59384eb85b4d6d65e34e1afa0f91d6dd1"}}, {"rule": 2, "type": "equivalent", "target": "f3871f66f8d8cbc99517cfb12af4aaec", "evidence": {"same_day": true, "patch_ids": ["d9df1955ea7fa75deac8fbf85f007394"], "statement_hash": "d7b4facb8d97061980cd3f77e42b4fc59384eb85b4d6d65e34e1afa0f91d6dd1"}}], "version": "14.10", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "54993f9ecfae1876b620371fc919195a", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "在 BRIN datetime_minmax_multi_ops 索引中更合理地处理 date 值", "evidence": {"same_day": true, "patch_ids": ["d9df1955ea7fa75deac8fbf85f007394"], "statement_hash": "d7b4facb8d97061980cd3f77e42b4fc59384eb85b4d6d65e34e1afa0f91d6dd1"}, "url": "/docs/compare/?release=16.1#16.1-4d2a92470d7a3596", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "f3871f66f8d8cbc99517cfb12af4aaec", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "在 BRIN datetime_minmax_multi_ops 索引中更合理地处理 date 值", "evidence": {"same_day": true, "patch_ids": ["d9df1955ea7fa75deac8fbf85f007394"], "statement_hash": "d7b4facb8d97061980cd3f77e42b4fc59384eb85b4d6d65e34e1afa0f91d6dd1"}, "url": "/docs/compare/?release=15.5#15.5-bd6d32e496541e2d", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}]}, {"id": "14.10-83b45125eb2d2d2f", "cves": [], "html": "<p>在 BRIN <code>datetime_minmax_multi_ops</code> 索引中更合理地处理较大的 <code>timestamp</code> 和 <code>timestamptz</code> 值（Tomas Vondra）<a href=\"https://postgr.es/c/52c934cc1\">§</a> <a href=\"https://postgr.es/c/90c4da6d4\">§</a></p>\n<p>无穷值被错误地视为与其他值距离为零而非较大距离，导致了关于合并哪些条目的错误决策。此外，有限但非常大的值（接近可表示时间戳范围的端点）可能导致内部溢出，同样导致错误决策。索引仍然产生正确的结果，但效率远低于应有的水平。如果列包含或曾经包含无穷值或非常大的有限值，建议重建 <code>timestamp</code> 和 <code>timestamptz</code> 列上的 BRIN <code>minmax_multi</code> 索引。</p>", "text": "在 BRIN datetime_minmax_multi_ops 索引中更合理地处理较大的 timestamp 和 timestamptz 值（Tomas Vondra）§ § 无穷值被错误地视为与其他值距离为零而非较大距离，导致了关于合并哪些条目的错误决策。此外，有限但非常大的值（接近可表示时间戳范围的端点）可能导致内部溢出，同样导致错误决策。索引仍然产生正确的结果，但效率远低于应有的水平。如果列包含或曾经包含无穷值或非常大的有限值，建议重建 timestamp 和 timestamptz 列上的 BRIN minmax_multi 索引。", "title": "在 BRIN datetime_minmax_multi_ops 索引中更合理地处理较大的 timestamp 和 timestamptz 值", "commits": ["52c934cc1", "90c4da6d4"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "02f851767eb63cdda91ad3427b874bc9bd9f2cf862ee6bead41b6d20f00d844d", "section_path": ["变更"], "commit_groups": [["0635fe02b", "90c4da6d4", "b5489b75c", "daa7b0d7c"], ["497fc9208", "52c934cc1", "8da86d62a", "d04a9283b"]], "identity_text": "Process large timestamp and timestamptz values more sanely in BRIN datetime_minmax_multi_ops indexes (Tomas Vondra) Infinities were mistakenly treated as having distance zero rather than a large distance from other values, causing poor decisions about which entries to merge. Also, finite-but-very-large values (near the endpoints of the representable timestamp range) could result in internal overflows, again causing poor decisions. The index still produces correct results, but is much less efficient than it should be. Reindexing BRIN minmax_multi indexes on timestamp and timestamptz columns is advisable if the column contains, or has contained, infinities or large finite values.", "commit_aliases": ["0635fe02b", "497fc9208", "52c934cc1", "8da86d62a", "90c4da6d4", "b5489b75c", "d04a9283b", "daa7b0d7c"], "source_commits": ["52c934cc1", "90c4da6d4"], "source_entry_id": "14.10/changes/007", "db_id": "edb997b3349877ecda675f3ae5a9a500", "patch_ids": ["54c8f086341979006a41b844982c3bcc", "b154a139e677d19e4ab71e35b4be09c2"], "statement_hash": "4e3053c8c0fa6710166610553b61dd2a37217a30eeacb0c1be6339ec8aa4fbfc", "relations": [{"rule": 2, "type": "equivalent", "target": "c5156f42619392828bb32c558d27c1d5", "evidence": {"same_day": true, "patch_ids": ["54c8f086341979006a41b844982c3bcc", "b154a139e677d19e4ab71e35b4be09c2"], "statement_hash": "4e3053c8c0fa6710166610553b61dd2a37217a30eeacb0c1be6339ec8aa4fbfc"}}, {"rule": 2, "type": "equivalent", "target": "d3325736fffd2357c33d0bbad7349f3c", "evidence": {"same_day": true, "patch_ids": ["54c8f086341979006a41b844982c3bcc", "b154a139e677d19e4ab71e35b4be09c2"], "statement_hash": "4e3053c8c0fa6710166610553b61dd2a37217a30eeacb0c1be6339ec8aa4fbfc"}}], "version": "14.10", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "c5156f42619392828bb32c558d27c1d5", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "在 BRIN datetime_minmax_multi_ops 索引中更合理地处理较大的 timestamp 和 timestamptz 值", "evidence": {"same_day": true, "patch_ids": ["54c8f086341979006a41b844982c3bcc", "b154a139e677d19e4ab71e35b4be09c2"], "statement_hash": "4e3053c8c0fa6710166610553b61dd2a37217a30eeacb0c1be6339ec8aa4fbfc"}, "url": "/docs/compare/?release=16.1#16.1-9951c27c653ba69f", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "d3325736fffd2357c33d0bbad7349f3c", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "在 BRIN datetime_minmax_multi_ops 索引中更合理地处理较大的 timestamp 和 timestamptz 值", "evidence": {"same_day": true, "patch_ids": ["54c8f086341979006a41b844982c3bcc", "b154a139e677d19e4ab71e35b4be09c2"], "statement_hash": "4e3053c8c0fa6710166610553b61dd2a37217a30eeacb0c1be6339ec8aa4fbfc"}, "url": "/docs/compare/?release=15.5#15.5-89cf161f0d54ab6e", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}]}, {"id": "14.10-8cc787a4aeea6139", "cves": [], "html": "<p>避免在包含极端 interval 值的 BRIN <code>interval_minmax_multi_ops</code> 索引中出现计算溢出（Tomas Vondra）<a href=\"https://postgr.es/c/0fa73c5cd\">§</a></p>\n<p>此错误可能在尝试向此类索引插入较大的 interval 值时导致意外失败。</p>", "text": "避免在包含极端 interval 值的 BRIN interval_minmax_multi_ops 索引中出现计算溢出（Tomas Vondra）§ 此错误可能在尝试向此类索引插入较大的 interval 值时导致意外失败。", "title": "避免在包含极端 interval 值的 BRIN interval_minmax_multi_ops 索引中出现计算溢出", "commits": ["0fa73c5cd"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "0ccd1f5ba362466e1e6253a77fb26865582b6d8f8447359dcb54c48f0b1a93ad", "section_path": ["变更"], "commit_groups": [["0fa73c5cd", "2fbb2fcb0", "924e0e2ee", "c6cf6d353"]], "identity_text": "Avoid calculation overflows in BRIN interval_minmax_multi_ops indexes with extreme interval values (Tomas Vondra) This bug might have caused unexpected failures while trying to insert large interval values into such an index.", "commit_aliases": ["0fa73c5cd", "2fbb2fcb0", "924e0e2ee", "c6cf6d353"], "source_commits": ["0fa73c5cd"], "source_entry_id": "14.10/changes/008", "db_id": "ddb61f045493b5688c816ae466be5ed5", "patch_ids": ["f69516fbdcc22c3c9557dcb4756468bb"], "statement_hash": "7060b57fcbbe4f22059beee39769d34361e408eb9d35e77f1b07d7781305f71b", "relations": [{"rule": 2, "type": "equivalent", "target": "0d46d6de278474592fd1902949b38c6a", "evidence": {"same_day": true, "patch_ids": ["f69516fbdcc22c3c9557dcb4756468bb"], "statement_hash": "7060b57fcbbe4f22059beee39769d34361e408eb9d35e77f1b07d7781305f71b"}}, {"rule": 2, "type": "equivalent", "target": "7a7219460b6cde5f0286d2baaf3f3965", "evidence": {"same_day": true, "patch_ids": ["f69516fbdcc22c3c9557dcb4756468bb"], "statement_hash": "7060b57fcbbe4f22059beee39769d34361e408eb9d35e77f1b07d7781305f71b"}}], "version": "14.10", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "7a7219460b6cde5f0286d2baaf3f3965", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "避免在包含极端 interval 值的 BRIN interval_minmax_multi_ops 索引中出现计算溢出", "evidence": {"same_day": true, "patch_ids": ["f69516fbdcc22c3c9557dcb4756468bb"], "statement_hash": "7060b57fcbbe4f22059beee39769d34361e408eb9d35e77f1b07d7781305f71b"}, "url": "/docs/compare/?release=16.1#16.1-fae5c38c5ea997ed", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "0d46d6de278474592fd1902949b38c6a", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "避免在包含极端 interval 值的 BRIN interval_minmax_multi_ops 索引中出现计算溢出", "evidence": {"same_day": true, "patch_ids": ["f69516fbdcc22c3c9557dcb4756468bb"], "statement_hash": "7060b57fcbbe4f22059beee39769d34361e408eb9d35e77f1b07d7781305f71b"}, "url": "/docs/compare/?release=15.5#15.5-dd7cd8df42cba374", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}]}, {"id": "14.10-09a3fc33a5e18424", "cves": [], "html": "<p>修复具有多个分区键的 hash 分区表的分区步骤生成和运行时分区剪枝（David Rowley）<a href=\"https://postgr.es/c/d26f33c32\">§</a> <a href=\"https://postgr.es/c/cd15bff48\">§</a></p>\n<p>某些涉及其中一个分区键上 <code>IS NULL</code> 条件的情况可能导致崩溃。</p>", "text": "修复具有多个分区键的 hash 分区表的分区步骤生成和运行时分区剪枝（David Rowley）§ § 某些涉及其中一个分区键上 IS NULL 条件的情况可能导致崩溃。", "title": "修复具有多个分区键的 hash 分区表的分区步骤生成和运行时分区剪枝", "commits": ["cd15bff48", "d26f33c32"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "c6e2639d44f3e877159556f7745346b38d7532a9b52ff21a1624a0f8359f0f48", "section_path": ["变更"], "commit_groups": [["07f261b31", "45c4b2a3a", "6352f1627", "916adc7c5", "cd15bff48", "cd259de50", "f0c409d9c"], ["1e81d3e6e", "2759924f3", "3cc0c2517", "595db9e9c", "890a73ba3", "d26f33c32", "d9e46dfb7"]], "identity_text": "Fix partition step generation and runtime partition pruning for hash-partitioned tables with multiple partition keys (David Rowley) Some cases involving an IS NULL condition on one of the partition keys could result in a crash.", "commit_aliases": ["07f261b31", "1e81d3e6e", "2759924f3", "3cc0c2517", "45c4b2a3a", "595db9e9c", "6352f1627", "890a73ba3", "916adc7c5", "cd15bff48", "cd259de50", "d26f33c32", "d9e46dfb7", "f0c409d9c"], "source_commits": ["cd15bff48", "d26f33c32"], "source_entry_id": "14.10/changes/009", "db_id": "ad7a4f9421b4ade2c5b3a2ab544c11e0", "patch_ids": ["089066ebd8cde9ea0c9008c516ec4609", "d19566760a24944db78a2cbec48c31ec"], "statement_hash": "e08385007c93dfd84e573ff7ff864aea3c0bc7baacb0f800105d8ccdb99015ef", "relations": [{"rule": 2, "type": "equivalent", "target": "1d5d18322fc50f044ed62e35d1dff60e", "evidence": {"same_day": true, "patch_ids": ["089066ebd8cde9ea0c9008c516ec4609", "d19566760a24944db78a2cbec48c31ec"], "statement_hash": "e08385007c93dfd84e573ff7ff864aea3c0bc7baacb0f800105d8ccdb99015ef"}}, {"rule": 2, "type": "equivalent", "target": "4b5cd2b510bdc0a67c23d65973f635dc", "evidence": {"same_day": true, "patch_ids": ["089066ebd8cde9ea0c9008c516ec4609", "d19566760a24944db78a2cbec48c31ec"], "statement_hash": "e08385007c93dfd84e573ff7ff864aea3c0bc7baacb0f800105d8ccdb99015ef"}}, {"rule": 2, "type": "equivalent", "target": "74c67553eecfbe90431e7002fc3628dc", "evidence": {"same_day": true, "patch_ids": ["089066ebd8cde9ea0c9008c516ec4609", "d19566760a24944db78a2cbec48c31ec"], "statement_hash": "e08385007c93dfd84e573ff7ff864aea3c0bc7baacb0f800105d8ccdb99015ef"}}, {"rule": 2, "type": "equivalent", "target": "dd77435c0e6125d49df989fe8db335cd", "evidence": {"same_day": true, "patch_ids": ["089066ebd8cde9ea0c9008c516ec4609", "d19566760a24944db78a2cbec48c31ec"], "statement_hash": "e08385007c93dfd84e573ff7ff864aea3c0bc7baacb0f800105d8ccdb99015ef"}}, {"rule": 2, "type": "equivalent", "target": "e4f0b27dd82aad5bd310ed111ff06b69", "evidence": {"same_day": true, "patch_ids": ["089066ebd8cde9ea0c9008c516ec4609", "d19566760a24944db78a2cbec48c31ec"], "statement_hash": "e08385007c93dfd84e573ff7ff864aea3c0bc7baacb0f800105d8ccdb99015ef"}}], "version": "14.10", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "dd77435c0e6125d49df989fe8db335cd", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "修复具有多个分区键的 hash 分区表的分区步骤生成和运行时分区剪枝", "evidence": {"same_day": true, "patch_ids": ["089066ebd8cde9ea0c9008c516ec4609", "d19566760a24944db78a2cbec48c31ec"], "statement_hash": "e08385007c93dfd84e573ff7ff864aea3c0bc7baacb0f800105d8ccdb99015ef"}, "url": "/docs/compare/?release=16.1#16.1-7ec71dacea8cbc6e", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "74c67553eecfbe90431e7002fc3628dc", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "修复具有多个分区键的 hash 分区表的分区步骤生成和运行时分区剪枝", "evidence": {"same_day": true, "patch_ids": ["089066ebd8cde9ea0c9008c516ec4609", "d19566760a24944db78a2cbec48c31ec"], "statement_hash": "e08385007c93dfd84e573ff7ff864aea3c0bc7baacb0f800105d8ccdb99015ef"}, "url": "/docs/compare/?release=15.5#15.5-d7c067d920980424", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "1d5d18322fc50f044ed62e35d1dff60e", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "修复具有多个分区键的 hash 分区表的分区步骤生成和运行时分区剪枝", "evidence": {"same_day": true, "patch_ids": ["089066ebd8cde9ea0c9008c516ec4609", "d19566760a24944db78a2cbec48c31ec"], "statement_hash": "e08385007c93dfd84e573ff7ff864aea3c0bc7baacb0f800105d8ccdb99015ef"}, "url": "/docs/compare/?release=13.13#13.13-8b5517c5a1bf0e21", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}, {"db_id": "e4f0b27dd82aad5bd310ed111ff06b69", "kind": "equivalent", "version": "12.17", "label": "12.17", "title": "修复具有多个分区键的 hash 分区表的分区步骤生成和运行时分区剪枝", "evidence": {"same_day": true, "patch_ids": ["089066ebd8cde9ea0c9008c516ec4609", "d19566760a24944db78a2cbec48c31ec"], "statement_hash": "e08385007c93dfd84e573ff7ff864aea3c0bc7baacb0f800105d8ccdb99015ef"}, "url": "/docs/compare/?release=12.17#12.17-113a6572c411e1ab", "source_url": "/docs/release/12.17/#id-1.11.6.11.5"}, {"db_id": "4b5cd2b510bdc0a67c23d65973f635dc", "kind": "equivalent", "version": "11.22", "label": "11.22", "title": "修复具有多个分区键的 hash 分区表的分区步骤生成和运行时分区剪枝", "evidence": {"same_day": true, "patch_ids": ["089066ebd8cde9ea0c9008c516ec4609", "d19566760a24944db78a2cbec48c31ec"], "statement_hash": "e08385007c93dfd84e573ff7ff864aea3c0bc7baacb0f800105d8ccdb99015ef"}, "url": "/docs/compare/?release=11.22#11.22-e6f4103effc07989", "source_url": "/docs/release/11.22/#id-1.11.6.5.6"}]}, {"id": "14.10-354d1c23feb774a2", "cves": [], "html": "<p>在继承的 <code>UPDATE</code>/<code>DELETE</code>/<code>MERGE</code> 中正确标识目标表，即使父表被约束排除（Amit Langote，Tom Lane）<a href=\"https://postgr.es/c/8f4a6b9e4\">§</a></p>\n<p>如果最初指定的表被约束排除，但并非其所有继承后代都被排除，则第一个未被排除的后代会被标识为主目标表。这会导致触发与该表关联的语句级触发器，而不是本应触发的最初指定的表的触发器。在 v16 中，同样的疏忽还可能导致 <span>“<span>invalid perminfoindex 0 in RTE with relid NNNN</span>”</span> 错误。</p>", "text": "在继承的 UPDATE/DELETE/MERGE 中正确标识目标表，即使父表被约束排除（Amit Langote，Tom Lane）§ 如果最初指定的表被约束排除，但并非其所有继承后代都被排除，则第一个未被排除的后代会被标识为主目标表。这会导致触发与该表关联的语句级触发器，而不是本应触发的最初指定的表的触发器。在 v16 中，同样的疏忽还可能导致 “invalid perminfoindex 0 in RTE with relid NNNN” 错误。", "title": "在继承的 UPDATE/DELETE/MERGE 中正确标识目标表，即使父表被约束排除", "commits": ["8f4a6b9e4"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "6bb2a300952fb875b9fd5a4e53e69efaa28fd752408185e84cb8bcd03ecd7d39", "section_path": ["变更"], "commit_groups": [["01575ad78", "178ee1d85"], ["1268e7378", "387f9ed0a", "8f4a6b9e4", "b1444a09d"], ["1f06b7fc6", "2bf99b48d"]], "identity_text": "Correctly identify the target table in an inherited UPDATE/DELETE/MERGE even when the parent table is excluded by constraints (Amit Langote, Tom Lane) If the initially-named table is excluded by constraints, but not all its inheritance descendants are, the first non-excluded descendant was identified as the primary target table. This would lead to firing statement-level triggers associated with that table, rather than the initially-named table as should happen. In v16, the same oversight could also lead to invalid perminfoindex 0 in RTE with relid NNNN errors.", "commit_aliases": ["01575ad78", "1268e7378", "178ee1d85", "1f06b7fc6", "2bf99b48d", "387f9ed0a", "8f4a6b9e4", "b1444a09d"], "source_commits": ["01575ad78", "1f06b7fc6", "8f4a6b9e4"], "source_entry_id": "14.10/changes/010", "db_id": "e611f263f407c7bd86d247f985adceab", "patch_ids": ["2e9435c5ff6b647b2e05bfe90186a891", "d206fd6a20b245e9b593169ba2614be6", "ddc408c57c9415868e91ac402e98520e"], "statement_hash": "2945baf49a3fa10572f71ef10fd9b38ae699b64a6fc6318346f2220ab5d40a66", "relations": [{"rule": 2, "type": "equivalent", "target": "8322f7d9982b87ba2d9974b584129577", "evidence": {"same_day": true, "patch_ids": ["2e9435c5ff6b647b2e05bfe90186a891", "d206fd6a20b245e9b593169ba2614be6", "ddc408c57c9415868e91ac402e98520e"], "statement_hash": "2945baf49a3fa10572f71ef10fd9b38ae699b64a6fc6318346f2220ab5d40a66"}}, {"rule": 2, "type": "equivalent", "target": "d987a075ebd403450d2fb6a4e2e4068e", "evidence": {"same_day": true, "patch_ids": ["2e9435c5ff6b647b2e05bfe90186a891", "d206fd6a20b245e9b593169ba2614be6", "ddc408c57c9415868e91ac402e98520e"], "statement_hash": "2945baf49a3fa10572f71ef10fd9b38ae699b64a6fc6318346f2220ab5d40a66"}}], "version": "14.10", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "8322f7d9982b87ba2d9974b584129577", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "在继承的 UPDATE/DELETE/MERGE 中正确标识目标表，即使父表被约束排除", "evidence": {"same_day": true, "patch_ids": ["2e9435c5ff6b647b2e05bfe90186a891", "d206fd6a20b245e9b593169ba2614be6", "ddc408c57c9415868e91ac402e98520e"], "statement_hash": "2945baf49a3fa10572f71ef10fd9b38ae699b64a6fc6318346f2220ab5d40a66"}, "url": "/docs/compare/?release=16.1#16.1-8d59fdb168b8b653", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "d987a075ebd403450d2fb6a4e2e4068e", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "在继承的 UPDATE/DELETE/MERGE 中正确标识目标表，即使父表被约束排除", "evidence": {"same_day": true, "patch_ids": ["2e9435c5ff6b647b2e05bfe90186a891", "d206fd6a20b245e9b593169ba2614be6", "ddc408c57c9415868e91ac402e98520e"], "statement_hash": "2945baf49a3fa10572f71ef10fd9b38ae699b64a6fc6318346f2220ab5d40a66"}, "url": "/docs/compare/?release=15.5#15.5-03842d84f3da3534", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}]}, {"id": "14.10-4ee6961756cfacbb", "cves": [], "html": "<p>修复 B-树标记/恢复处理 ScalarArrayOpExpr 子句时的边界情况（Peter Geoghegan）<a href=\"https://postgr.es/c/41486c4aa\">§</a></p>\n<p>将索引扫描恢复到先前标记的位置时，如果扫描恰好前进到 ScalarArrayOpExpr（即 <code>indexcol = ANY(ARRAY[])</code>）子句的匹配末尾，代码可能会遗漏必要的设置步骤。这可能导致漏掉一些应当被获取的行。</p>", "text": "修复 B-树标记/恢复处理 ScalarArrayOpExpr 子句时的边界情况（Peter Geoghegan）§ 将索引扫描恢复到先前标记的位置时，如果扫描恰好前进到 ScalarArrayOpExpr（即 indexcol = ANY(ARRAY[])）子句的匹配末尾，代码可能会遗漏必要的设置步骤。这可能导致漏掉一些应当被获取的行。", "title": "修复 B-树标记/恢复处理 ScalarArrayOpExpr 子句时的边界情况", "commits": ["41486c4aa"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "f45383b6357ee86fcce8d258ff811b4a3f472fa201d21cb738d8424ead08da36", "section_path": ["变更"], "commit_groups": [["3fa81b62e", "41486c4aa", "714780dcd", "7c07305e6", "b36d72cbc", "cac37c1a1", "d4724e94a"]], "identity_text": "Fix edge case in btree mark/restore processing of ScalarArrayOpExpr clauses (Peter Geoghegan) When restoring an indexscan to a previously marked position, the code could miss required setup steps if the scan had advanced exactly to the end of the matches for a ScalarArrayOpExpr (that is, an indexcol = ANY(ARRAY[])) clause. This could result in missing some rows that should have been fetched.", "commit_aliases": ["3fa81b62e", "41486c4aa", "714780dcd", "7c07305e6", "b36d72cbc", "cac37c1a1", "d4724e94a"], "source_commits": ["41486c4aa"], "source_entry_id": "14.10/changes/011", "db_id": "3092aa3877c8b5881bff66303ac9fba2", "patch_ids": ["47e71e9e9344a5b195caefd90b827c2a"], "statement_hash": "41b359d05710c2b9b3ba768c9d230038b2ad62d4314da769abe4ddd64e1da777", "relations": [{"rule": 2, "type": "equivalent", "target": "20992fc7dd779964133d64b758a4a2b7", "evidence": {"same_day": true, "patch_ids": ["47e71e9e9344a5b195caefd90b827c2a"], "statement_hash": "41b359d05710c2b9b3ba768c9d230038b2ad62d4314da769abe4ddd64e1da777"}}, {"rule": 2, "type": "equivalent", "target": "299572bba361d3f89294b6a45f531e0d", "evidence": {"same_day": true, "patch_ids": ["47e71e9e9344a5b195caefd90b827c2a"], "statement_hash": "41b359d05710c2b9b3ba768c9d230038b2ad62d4314da769abe4ddd64e1da777"}}, {"rule": 2, "type": "equivalent", "target": "36784f7db150ca75661df18bbde3c3a9", "evidence": {"same_day": true, "patch_ids": ["47e71e9e9344a5b195caefd90b827c2a"], "statement_hash": "41b359d05710c2b9b3ba768c9d230038b2ad62d4314da769abe4ddd64e1da777"}}, {"rule": 2, "type": "equivalent", "target": "99d9c6ae915caa3b8dedfed9b19b44db", "evidence": {"same_day": true, "patch_ids": ["47e71e9e9344a5b195caefd90b827c2a"], "statement_hash": "41b359d05710c2b9b3ba768c9d230038b2ad62d4314da769abe4ddd64e1da777"}}, {"rule": 2, "type": "equivalent", "target": "c80a4dc76428d40d528bacb2ac23edab", "evidence": {"same_day": true, "patch_ids": ["47e71e9e9344a5b195caefd90b827c2a"], "statement_hash": "41b359d05710c2b9b3ba768c9d230038b2ad62d4314da769abe4ddd64e1da777"}}], "version": "14.10", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "99d9c6ae915caa3b8dedfed9b19b44db", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "修复 B-树标记/恢复处理 ScalarArrayOpExpr 子句时的边界情况", "evidence": {"same_day": true, "patch_ids": ["47e71e9e9344a5b195caefd90b827c2a"], "statement_hash": "41b359d05710c2b9b3ba768c9d230038b2ad62d4314da769abe4ddd64e1da777"}, "url": "/docs/compare/?release=16.1#16.1-dec9cd7f64cd1a27", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "c80a4dc76428d40d528bacb2ac23edab", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "修复 B-树标记/恢复处理 ScalarArrayOpExpr 子句时的边界情况", "evidence": {"same_day": true, "patch_ids": ["47e71e9e9344a5b195caefd90b827c2a"], "statement_hash": "41b359d05710c2b9b3ba768c9d230038b2ad62d4314da769abe4ddd64e1da777"}, "url": "/docs/compare/?release=15.5#15.5-76f04b14320b152f", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "299572bba361d3f89294b6a45f531e0d", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "修复 B-树标记/恢复处理 ScalarArrayOpExpr 子句时的边界情况", "evidence": {"same_day": true, "patch_ids": ["47e71e9e9344a5b195caefd90b827c2a"], "statement_hash": "41b359d05710c2b9b3ba768c9d230038b2ad62d4314da769abe4ddd64e1da777"}, "url": "/docs/compare/?release=13.13#13.13-5fe943ad957fdb2a", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}, {"db_id": "36784f7db150ca75661df18bbde3c3a9", "kind": "equivalent", "version": "12.17", "label": "12.17", "title": "修复 B-树标记/恢复处理 ScalarArrayOpExpr 子句时的边界情况", "evidence": {"same_day": true, "patch_ids": ["47e71e9e9344a5b195caefd90b827c2a"], "statement_hash": "41b359d05710c2b9b3ba768c9d230038b2ad62d4314da769abe4ddd64e1da777"}, "url": "/docs/compare/?release=12.17#12.17-2350671584e4d32f", "source_url": "/docs/release/12.17/#id-1.11.6.11.5"}, {"db_id": "20992fc7dd779964133d64b758a4a2b7", "kind": "equivalent", "version": "11.22", "label": "11.22", "title": "修复 B-树标记/恢复处理 ScalarArrayOpExpr 子句时的边界情况", "evidence": {"same_day": true, "patch_ids": ["47e71e9e9344a5b195caefd90b827c2a"], "statement_hash": "41b359d05710c2b9b3ba768c9d230038b2ad62d4314da769abe4ddd64e1da777"}, "url": "/docs/compare/?release=11.22#11.22-ad258f2e16798d9f", "source_url": "/docs/release/11.22/#id-1.11.6.5.6"}]}, {"id": "14.10-7ce749d4d9f2e8da", "cves": [], "html": "<p>修复 Memoize 执行中的查询内内存泄漏（Orlov Aleksej，David Rowley）<a href=\"https://postgr.es/c/e4b95b9b0\">§</a></p>", "text": "修复 Memoize 执行中的查询内内存泄漏（Orlov Aleksej，David Rowley）§", "title": "修复 Memoize 执行中的查询内内存泄漏", "commits": ["e4b95b9b0"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "8275d3bb52663666bc20f42c332268d8456041e53e445ce949bf0de8fefe54de", "section_path": ["变更"], "commit_groups": [["0b053e78b", "31b2b2d72", "689af6db6", "e4b95b9b0"]], "identity_text": "Fix intra-query memory leak in Memoize execution (Orlov Aleksej, David Rowley)", "commit_aliases": ["0b053e78b", "31b2b2d72", "689af6db6", "e4b95b9b0"], "source_commits": ["e4b95b9b0"], "source_entry_id": "14.10/changes/012", "db_id": "0c1229412831f695d79cbf49b0a398ed", "patch_ids": ["112f6e8b0243a91500d6048372f6bd00"], "statement_hash": "5b49a52485f12721aa432756dcb209ebaf025a8bcae1b04db016fd6d3dbb05dd", "relations": [{"rule": 2, "type": "equivalent", "target": "4aaf9b3e07bfd62fabd18100aeb1d490", "evidence": {"same_day": true, "patch_ids": ["112f6e8b0243a91500d6048372f6bd00"], "statement_hash": "5b49a52485f12721aa432756dcb209ebaf025a8bcae1b04db016fd6d3dbb05dd"}}, {"rule": 2, "type": "equivalent", "target": "c1f0f9c6437dda391e6471a7754d99ef", "evidence": {"same_day": true, "patch_ids": ["112f6e8b0243a91500d6048372f6bd00"], "statement_hash": "5b49a52485f12721aa432756dcb209ebaf025a8bcae1b04db016fd6d3dbb05dd"}}], "version": "14.10", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "4aaf9b3e07bfd62fabd18100aeb1d490", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "修复 Memoize 执行中的查询内内存泄漏", "evidence": {"same_day": true, "patch_ids": ["112f6e8b0243a91500d6048372f6bd00"], "statement_hash": "5b49a52485f12721aa432756dcb209ebaf025a8bcae1b04db016fd6d3dbb05dd"}, "url": "/docs/compare/?release=16.1#16.1-ed1602e4f7ed6627", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "c1f0f9c6437dda391e6471a7754d99ef", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "修复 Memoize 执行中的查询内内存泄漏", "evidence": {"same_day": true, "patch_ids": ["112f6e8b0243a91500d6048372f6bd00"], "statement_hash": "5b49a52485f12721aa432756dcb209ebaf025a8bcae1b04db016fd6d3dbb05dd"}, "url": "/docs/compare/?release=15.5#15.5-b3859e2f65c590f2", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}]}, {"id": "14.10-de0a828705ad4a21", "cves": [], "html": "<p>修复当集合返回函数反复返回零行时的查询内内存泄漏（Tom Lane）<a href=\"https://postgr.es/c/5d7515d7d\">§</a></p>", "text": "修复当集合返回函数反复返回零行时的查询内内存泄漏（Tom Lane）§", "title": "修复当集合返回函数反复返回零行时的查询内内存泄漏", "commits": ["5d7515d7d"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "d5ed33ce1ef8ee5ec0ac6c35b32462034319a36b4b7e6739b41d8ba112d5e31b", "section_path": ["变更"], "commit_groups": [["07494a0df", "237f8765d", "592cb11fb", "5d7515d7d", "7ab6971c6", "b7684473d", "d8d7f282f"]], "identity_text": "Fix intra-query memory leak when a set-returning function repeatedly returns zero rows (Tom Lane)", "commit_aliases": ["07494a0df", "237f8765d", "592cb11fb", "5d7515d7d", "7ab6971c6", "b7684473d", "d8d7f282f"], "source_commits": ["5d7515d7d"], "source_entry_id": "14.10/changes/013", "db_id": "ea280c727dd4689077c1d0dd3078f8bc", "patch_ids": ["244019edef4e7b67225fc33155d81a6b"], "statement_hash": "2d510e3de1d6b8555ee197040c205f582a3832043b6156d4de7bf7fbd508e495", "relations": [{"rule": 2, "type": "equivalent", "target": "1eaaf9e5f18ad3b83c6dcb987ba8984b", "evidence": {"same_day": true, "patch_ids": ["244019edef4e7b67225fc33155d81a6b"], "statement_hash": "2d510e3de1d6b8555ee197040c205f582a3832043b6156d4de7bf7fbd508e495"}}, {"rule": 2, "type": "equivalent", "target": "6a565afc7f22cb799ff93166a170c9e1", "evidence": {"same_day": true, "patch_ids": ["244019edef4e7b67225fc33155d81a6b"], "statement_hash": "2d510e3de1d6b8555ee197040c205f582a3832043b6156d4de7bf7fbd508e495"}}, {"rule": 2, "type": "equivalent", "target": "71606f22410fedd4c03802e9a9556fa6", "evidence": {"same_day": true, "patch_ids": ["244019edef4e7b67225fc33155d81a6b"], "statement_hash": "2d510e3de1d6b8555ee197040c205f582a3832043b6156d4de7bf7fbd508e495"}}, {"rule": 2, "type": "equivalent", "target": "7978fcf75eeaa392dc92c6f0387f8e6e", "evidence": {"same_day": true, "patch_ids": ["244019edef4e7b67225fc33155d81a6b"], "statement_hash": "2d510e3de1d6b8555ee197040c205f582a3832043b6156d4de7bf7fbd508e495"}}, {"rule": 2, "type": "equivalent", "target": "84cbb4ef27598e4b190da55f0c5f0327", "evidence": {"same_day": true, "patch_ids": ["244019edef4e7b67225fc33155d81a6b"], "statement_hash": "2d510e3de1d6b8555ee197040c205f582a3832043b6156d4de7bf7fbd508e495"}}], "version": "14.10", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "1eaaf9e5f18ad3b83c6dcb987ba8984b", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "修复当集合返回函数反复返回零行时的查询内内存泄漏", "evidence": {"same_day": true, "patch_ids": ["244019edef4e7b67225fc33155d81a6b"], "statement_hash": "2d510e3de1d6b8555ee197040c205f582a3832043b6156d4de7bf7fbd508e495"}, "url": "/docs/compare/?release=16.1#16.1-29bea271ff14aa35", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "84cbb4ef27598e4b190da55f0c5f0327", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "修复当集合返回函数反复返回零行时的查询内内存泄漏", "evidence": {"same_day": true, "patch_ids": ["244019edef4e7b67225fc33155d81a6b"], "statement_hash": "2d510e3de1d6b8555ee197040c205f582a3832043b6156d4de7bf7fbd508e495"}, "url": "/docs/compare/?release=15.5#15.5-ba8aed344ac38328", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "6a565afc7f22cb799ff93166a170c9e1", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "修复当集合返回函数反复返回零行时的查询内内存泄漏", "evidence": {"same_day": true, "patch_ids": ["244019edef4e7b67225fc33155d81a6b"], "statement_hash": "2d510e3de1d6b8555ee197040c205f582a3832043b6156d4de7bf7fbd508e495"}, "url": "/docs/compare/?release=13.13#13.13-79fdb74a9cfee06b", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}, {"db_id": "71606f22410fedd4c03802e9a9556fa6", "kind": "equivalent", "version": "12.17", "label": "12.17", "title": "修复当集合返回函数反复返回零行时的查询内内存泄漏", "evidence": {"same_day": true, "patch_ids": ["244019edef4e7b67225fc33155d81a6b"], "statement_hash": "2d510e3de1d6b8555ee197040c205f582a3832043b6156d4de7bf7fbd508e495"}, "url": "/docs/compare/?release=12.17#12.17-8c5f1bacc9c1c67b", "source_url": "/docs/release/12.17/#id-1.11.6.11.5"}, {"db_id": "7978fcf75eeaa392dc92c6f0387f8e6e", "kind": "equivalent", "version": "11.22", "label": "11.22", "title": "修复当集合返回函数反复返回零行时的查询内内存泄漏", "evidence": {"same_day": true, "patch_ids": ["244019edef4e7b67225fc33155d81a6b"], "statement_hash": "2d510e3de1d6b8555ee197040c205f582a3832043b6156d4de7bf7fbd508e495"}, "url": "/docs/compare/?release=11.22#11.22-ef415ae9cc70191f", "source_url": "/docs/release/11.22/#id-1.11.6.5.6"}]}, {"id": "14.10-ecd781797d111393", "cves": [], "html": "<p>修复将 <code>cursor_to_xmlschema()</code> 应用于非数据返回 Portal 时的崩溃（Boyu Yang）<a href=\"https://postgr.es/c/9baabfa38\">§</a></p>", "text": "修复将 cursor_to_xmlschema() 应用于非数据返回 Portal 时的崩溃（Boyu Yang）§", "title": "修复将 cursor_to_xmlschema() 应用于非数据返回 Portal 时的崩溃", "commits": ["9baabfa38"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "6b3c7d8b3d9e11efd18536a8dd1bb874a01ec7df0da47b8051317aada61a66dc", "section_path": ["变更"], "commit_groups": [["123337079", "95f54f0d0", "9baabfa38", "db00be6d7", "e6e50ada0", "ec693a3f3", "f73fa5a47"]], "identity_text": "Don't crash if cursor_to_xmlschema() is applied to a non-data-returning Portal (Boyu Yang)", "commit_aliases": ["123337079", "95f54f0d0", "9baabfa38", "db00be6d7", "e6e50ada0", "ec693a3f3", "f73fa5a47"], "source_commits": ["9baabfa38"], "source_entry_id": "14.10/changes/014", "db_id": "6df4fcbb0d469f19c8ff15d2bc8224cd", "patch_ids": ["3fae9c8270171214d55f97a0a69433da"], "statement_hash": "391ee0dbedc609bbdd8973174757b2af9033b6fd6de885f4cdbb73e203858a46", "relations": [{"rule": 2, "type": "equivalent", "target": "03ea47b753209e24cddfa116470ed7d2", "evidence": {"same_day": true, "patch_ids": ["3fae9c8270171214d55f97a0a69433da"], "statement_hash": "391ee0dbedc609bbdd8973174757b2af9033b6fd6de885f4cdbb73e203858a46"}}, {"rule": 2, "type": "equivalent", "target": "0a39c80cc99224fc1cbe62a64a085e92", "evidence": {"same_day": true, "patch_ids": ["3fae9c8270171214d55f97a0a69433da"], "statement_hash": "391ee0dbedc609bbdd8973174757b2af9033b6fd6de885f4cdbb73e203858a46"}}, {"rule": 2, "type": "equivalent", "target": "2621a5bc48d1d6bf35c2911523953b61", "evidence": {"same_day": true, "patch_ids": ["3fae9c8270171214d55f97a0a69433da"], "statement_hash": "391ee0dbedc609bbdd8973174757b2af9033b6fd6de885f4cdbb73e203858a46"}}, {"rule": 2, "type": "equivalent", "target": "47e43f6287333b6f40d42b450852cbf9", "evidence": {"same_day": true, "patch_ids": ["3fae9c8270171214d55f97a0a69433da"], "statement_hash": "391ee0dbedc609bbdd8973174757b2af9033b6fd6de885f4cdbb73e203858a46"}}, {"rule": 2, "type": "equivalent", "target": "8fe11ba0ed258fd26fbeb318f6ed9aed", "evidence": {"same_day": true, "patch_ids": ["3fae9c8270171214d55f97a0a69433da"], "statement_hash": "391ee0dbedc609bbdd8973174757b2af9033b6fd6de885f4cdbb73e203858a46"}}], "version": "14.10", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "0a39c80cc99224fc1cbe62a64a085e92", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "修复将 cursor_to_xmlschema() 应用于非数据返回 Portal 时的崩溃", "evidence": {"same_day": true, "patch_ids": ["3fae9c8270171214d55f97a0a69433da"], "statement_hash": "391ee0dbedc609bbdd8973174757b2af9033b6fd6de885f4cdbb73e203858a46"}, "url": "/docs/compare/?release=16.1#16.1-2de9c26979736ac4", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "2621a5bc48d1d6bf35c2911523953b61", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "修复将 cursor_to_xmlschema() 应用于非数据返回 Portal 时的崩溃", "evidence": {"same_day": true, "patch_ids": ["3fae9c8270171214d55f97a0a69433da"], "statement_hash": "391ee0dbedc609bbdd8973174757b2af9033b6fd6de885f4cdbb73e203858a46"}, "url": "/docs/compare/?release=15.5#15.5-df81aa8645d30e8e", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "47e43f6287333b6f40d42b450852cbf9", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "修复将 cursor_to_xmlschema() 应用于非数据返回 Portal 时的崩溃", "evidence": {"same_day": true, "patch_ids": ["3fae9c8270171214d55f97a0a69433da"], "statement_hash": "391ee0dbedc609bbdd8973174757b2af9033b6fd6de885f4cdbb73e203858a46"}, "url": "/docs/compare/?release=13.13#13.13-7b5f65f97e8630d1", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}, {"db_id": "8fe11ba0ed258fd26fbeb318f6ed9aed", "kind": "equivalent", "version": "12.17", "label": "12.17", "title": "修复将 cursor_to_xmlschema() 应用于非数据返回 Portal 时的崩溃", "evidence": {"same_day": true, "patch_ids": ["3fae9c8270171214d55f97a0a69433da"], "statement_hash": "391ee0dbedc609bbdd8973174757b2af9033b6fd6de885f4cdbb73e203858a46"}, "url": "/docs/compare/?release=12.17#12.17-4e3796be34691d72", "source_url": "/docs/release/12.17/#id-1.11.6.11.5"}, {"db_id": "03ea47b753209e24cddfa116470ed7d2", "kind": "equivalent", "version": "11.22", "label": "11.22", "title": "修复将 cursor_to_xmlschema() 应用于非数据返回 Portal 时的崩溃", "evidence": {"same_day": true, "patch_ids": ["3fae9c8270171214d55f97a0a69433da"], "statement_hash": "391ee0dbedc609bbdd8973174757b2af9033b6fd6de885f4cdbb73e203858a46"}, "url": "/docs/compare/?release=11.22#11.22-34b580c3d31d1a98", "source_url": "/docs/release/11.22/#id-1.11.6.5.6"}]}, {"id": "14.10-2f0d0b080faed90f", "cves": [], "html": "<p>将 <code>pgrowlocks()</code> 应用于分区表时，抛出预期的错误（David Rowley）<a href=\"https://postgr.es/c/c5988e69f\">§</a></p>\n<p>之前会抛出一个不切题的错误 <span>“<span>only heap AM is supported</span>”</span>。</p>", "text": "将 pgrowlocks() 应用于分区表时，抛出预期的错误（David Rowley）§ 之前会抛出一个不切题的错误 “only heap AM is supported”。", "title": "将 pgrowlocks() 应用于分区表时，抛出预期的错误", "commits": ["c5988e69f"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "a6a63eb2f6ae00d85da546b9ed2b2172f1eeea6d1c05ae3fec6ddc296c58030c", "section_path": ["变更"], "commit_groups": [["136068353", "73635b6d6", "a98f01c93", "b3c8d1d0e", "c5988e69f", "efcb601d2"]], "identity_text": "Throw the intended error if pgrowlocks() is applied to a partitioned table (David Rowley) Previously, a not-on-point complaint only heap AM is supported would be raised.", "commit_aliases": ["136068353", "73635b6d6", "a98f01c93", "b3c8d1d0e", "c5988e69f", "efcb601d2"], "source_commits": ["c5988e69f"], "source_entry_id": "14.10/changes/015", "db_id": "1c45cc4a0520cc8fcee674a34fc57c45", "patch_ids": ["152532cf785c69daf2f0bbc5281a552d"], "statement_hash": "366c3c377fac92db6e072867ee3421b575535319976dc79b47a3aeb9ed31fd44", "relations": [{"rule": 2, "type": "equivalent", "target": "14492f034a1adc9dad5e9747284839e9", "evidence": {"same_day": true, "patch_ids": ["152532cf785c69daf2f0bbc5281a552d"], "statement_hash": "366c3c377fac92db6e072867ee3421b575535319976dc79b47a3aeb9ed31fd44"}}, {"rule": 2, "type": "equivalent", "target": "a37711088c428b48c8adb0c58b0b9897", "evidence": {"same_day": true, "patch_ids": ["152532cf785c69daf2f0bbc5281a552d"], "statement_hash": "366c3c377fac92db6e072867ee3421b575535319976dc79b47a3aeb9ed31fd44"}}, {"rule": 2, "type": "equivalent", "target": "dbcac358631568c01d33aa618dd50d3a", "evidence": {"same_day": true, "patch_ids": ["152532cf785c69daf2f0bbc5281a552d"], "statement_hash": "366c3c377fac92db6e072867ee3421b575535319976dc79b47a3aeb9ed31fd44"}}, {"rule": 2, "type": "equivalent", "target": "ea71a3a2ad8483e1352a697c20302637", "evidence": {"same_day": true, "patch_ids": ["152532cf785c69daf2f0bbc5281a552d"], "statement_hash": "366c3c377fac92db6e072867ee3421b575535319976dc79b47a3aeb9ed31fd44"}}], "version": "14.10", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "a37711088c428b48c8adb0c58b0b9897", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "将 pgrowlocks() 应用于分区表时，抛出预期的错误", "evidence": {"same_day": true, "patch_ids": ["152532cf785c69daf2f0bbc5281a552d"], "statement_hash": "366c3c377fac92db6e072867ee3421b575535319976dc79b47a3aeb9ed31fd44"}, "url": "/docs/compare/?release=16.1#16.1-beef0b8ae89f59c0", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "ea71a3a2ad8483e1352a697c20302637", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "将 pgrowlocks() 应用于分区表时，抛出预期的错误", "evidence": {"same_day": true, "patch_ids": ["152532cf785c69daf2f0bbc5281a552d"], "statement_hash": "366c3c377fac92db6e072867ee3421b575535319976dc79b47a3aeb9ed31fd44"}, "url": "/docs/compare/?release=15.5#15.5-946d94450adb9811", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "dbcac358631568c01d33aa618dd50d3a", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "将 pgrowlocks() 应用于分区表时，抛出预期的错误", "evidence": {"same_day": true, "patch_ids": ["152532cf785c69daf2f0bbc5281a552d"], "statement_hash": "366c3c377fac92db6e072867ee3421b575535319976dc79b47a3aeb9ed31fd44"}, "url": "/docs/compare/?release=13.13#13.13-4801f99d6fad28a9", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}, {"db_id": "14492f034a1adc9dad5e9747284839e9", "kind": "equivalent", "version": "12.17", "label": "12.17", "title": "将 pgrowlocks() 应用于分区表时，抛出预期的错误", "evidence": {"same_day": true, "patch_ids": ["152532cf785c69daf2f0bbc5281a552d"], "statement_hash": "366c3c377fac92db6e072867ee3421b575535319976dc79b47a3aeb9ed31fd44"}, "url": "/docs/compare/?release=12.17#12.17-6d03bd902ab5bebc", "source_url": "/docs/release/12.17/#id-1.11.6.11.5"}]}, {"id": "14.10-51f367c21ee6b80a", "cves": [], "html": "<p>在各种 SQL 函数中更妥善地处理无效索引（Noah Misch）<a href=\"https://postgr.es/c/0a7b183fd\">§</a></p>\n<p>如果将 <code>pgstatindex()</code>、<code>pgstatginindex()</code>、<code>pgstathashindex()</code> 或 <code>pgstattuple()</code> 应用于无效索引，现在会报告错误。如果将 <code>brin_desummarize_range()</code>、<code>brin_summarize_new_values()</code>、<code>brin_summarize_range()</code> 或 <code>gin_clean_pending_list()</code> 应用于无效索引，则除了报告一条调试级别的消息外不做任何操作。之前这些函数会尝试处理该索引，并可能根据失败的 <code>CREATE INDEX</code> 遗留的内容而以奇怪的方式失败。</p>", "text": "在各种 SQL 函数中更妥善地处理无效索引（Noah Misch）§ 如果将 pgstatindex()、pgstatginindex()、pgstathashindex() 或 pgstattuple() 应用于无效索引，现在会报告错误。如果将 brin_desummarize_range()、brin_summarize_new_values()、brin_summarize_range() 或 gin_clean_pending_list() 应用于无效索引，则除了报告一条调试级别的消息外不做任何操作。之前这些函数会尝试处理该索引，并可能根据失败的 CREATE INDEX 遗留的内容而以奇怪的方式失败。", "title": "在各种 SQL 函数中更妥善地处理无效索引", "commits": ["0a7b183fd"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "995c5e1e2c833c376aca583e2ad6835eb26bf1865087f4b88d44d12004d01e0e", "section_path": ["变更"], "commit_groups": [["0a7b183fd", "123b0d111", "13503eb59", "1a368dd3e", "975ae0553", "bae063db4", "e633e9b13"]], "identity_text": "Handle invalid indexes more cleanly in assorted SQL functions (Noah Misch) Report an error if pgstatindex(), pgstatginindex(), pgstathashindex(), or pgstattuple() is applied to an invalid index. If brin_desummarize_range(), brin_summarize_new_values(), brin_summarize_range(), or gin_clean_pending_list() is applied to an invalid index, do nothing except to report a debug-level message. Formerly these functions attempted to process the index, and might fail in strange ways depending on what the failed CREATE INDEX had left behind.", "commit_aliases": ["0a7b183fd", "123b0d111", "13503eb59", "1a368dd3e", "975ae0553", "bae063db4", "e633e9b13"], "source_commits": ["0a7b183fd"], "source_entry_id": "14.10/changes/016", "db_id": "ddab22545d9a9856a3b7bc03af6e7b28", "patch_ids": ["de1e1d5d9a90e471a33128b8b9e94054"], "statement_hash": "e40495e7751cb3788ae7d9760022c7662fa3936ac85e24a46b8afa4723f9e4ef", "relations": [{"rule": 2, "type": "equivalent", "target": "5760cea3b2fc0cbd33b2c318bff1d956", "evidence": {"same_day": true, "patch_ids": ["de1e1d5d9a90e471a33128b8b9e94054"], "statement_hash": "e40495e7751cb3788ae7d9760022c7662fa3936ac85e24a46b8afa4723f9e4ef"}}, {"rule": 2, "type": "equivalent", "target": "6f6bd9bf3d6b2d059181b1626295fac0", "evidence": {"same_day": true, "patch_ids": ["de1e1d5d9a90e471a33128b8b9e94054"], "statement_hash": "e40495e7751cb3788ae7d9760022c7662fa3936ac85e24a46b8afa4723f9e4ef"}}, {"rule": 2, "type": "equivalent", "target": "90756dce89f741b0d6cae5d8361a802f", "evidence": {"same_day": true, "patch_ids": ["de1e1d5d9a90e471a33128b8b9e94054"], "statement_hash": "e40495e7751cb3788ae7d9760022c7662fa3936ac85e24a46b8afa4723f9e4ef"}}, {"rule": 2, "type": "equivalent", "target": "bb6be4b4c072d18fe950003e6410e30b", "evidence": {"same_day": true, "patch_ids": ["de1e1d5d9a90e471a33128b8b9e94054"], "statement_hash": "e40495e7751cb3788ae7d9760022c7662fa3936ac85e24a46b8afa4723f9e4ef"}}, {"rule": 2, "type": "equivalent", "target": "bed85b0094743b91f22f54d4724a6780", "evidence": {"same_day": true, "patch_ids": ["de1e1d5d9a90e471a33128b8b9e94054"], "statement_hash": "e40495e7751cb3788ae7d9760022c7662fa3936ac85e24a46b8afa4723f9e4ef"}}], "version": "14.10", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "6f6bd9bf3d6b2d059181b1626295fac0", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "在各种 SQL 函数中更妥善地处理无效索引", "evidence": {"same_day": true, "patch_ids": ["de1e1d5d9a90e471a33128b8b9e94054"], "statement_hash": "e40495e7751cb3788ae7d9760022c7662fa3936ac85e24a46b8afa4723f9e4ef"}, "url": "/docs/compare/?release=16.1#16.1-c39d5b58908ea8dc", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "5760cea3b2fc0cbd33b2c318bff1d956", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "在各种 SQL 函数中更妥善地处理无效索引", "evidence": {"same_day": true, "patch_ids": ["de1e1d5d9a90e471a33128b8b9e94054"], "statement_hash": "e40495e7751cb3788ae7d9760022c7662fa3936ac85e24a46b8afa4723f9e4ef"}, "url": "/docs/compare/?release=15.5#15.5-ae32a06903153a13", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "90756dce89f741b0d6cae5d8361a802f", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "在各种 SQL 函数中更妥善地处理无效索引", "evidence": {"same_day": true, "patch_ids": ["de1e1d5d9a90e471a33128b8b9e94054"], "statement_hash": "e40495e7751cb3788ae7d9760022c7662fa3936ac85e24a46b8afa4723f9e4ef"}, "url": "/docs/compare/?release=13.13#13.13-97d8cec127c5d858", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}, {"db_id": "bb6be4b4c072d18fe950003e6410e30b", "kind": "equivalent", "version": "12.17", "label": "12.17", "title": "在各种 SQL 函数中更妥善地处理无效索引", "evidence": {"same_day": true, "patch_ids": ["de1e1d5d9a90e471a33128b8b9e94054"], "statement_hash": "e40495e7751cb3788ae7d9760022c7662fa3936ac85e24a46b8afa4723f9e4ef"}, "url": "/docs/compare/?release=12.17#12.17-f8da4f21df006b8b", "source_url": "/docs/release/12.17/#id-1.11.6.11.5"}, {"db_id": "bed85b0094743b91f22f54d4724a6780", "kind": "equivalent", "version": "11.22", "label": "11.22", "title": "在各种 SQL 函数中更妥善地处理无效索引", "evidence": {"same_day": true, "patch_ids": ["de1e1d5d9a90e471a33128b8b9e94054"], "statement_hash": "e40495e7751cb3788ae7d9760022c7662fa3936ac85e24a46b8afa4723f9e4ef"}, "url": "/docs/compare/?release=11.22#11.22-2adbf91d9f6852fd", "source_url": "/docs/release/11.22/#id-1.11.6.5.6"}]}, {"id": "14.10-5ffe2108757d20cf", "cves": [], "html": "<p>避免在 <code>to_tsvector()</code> 处理长输入时过早的内存分配失败（Tom Lane）<a href=\"https://postgr.es/c/a2799f53d\">§</a></p>", "text": "避免在 to_tsvector() 处理长输入时过早的内存分配失败（Tom Lane）§", "title": "避免在 to_tsvector() 处理长输入时过早的内存分配失败", "commits": ["a2799f53d"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "0e4eef6efe0794ec4b19259ade09ad3f9add370416a39373eae6ac6b9e245040", "section_path": ["变更"], "commit_groups": [["0fb91ed2b", "4a81ed29d", "52a676ef4", "71bb73f60", "8465efc1a", "a2799f53d", "cf1c65070"]], "identity_text": "Avoid premature memory allocation failure with long inputs to to_tsvector() (Tom Lane)", "commit_aliases": ["0fb91ed2b", "4a81ed29d", "52a676ef4", "71bb73f60", "8465efc1a", "a2799f53d", "cf1c65070"], "source_commits": ["a2799f53d"], "source_entry_id": "14.10/changes/017", "db_id": "6030ae0532a7fbbd10d9c4d0acf02729", "patch_ids": ["7bbd8463c1b0e94fd15c9bde36851982"], "statement_hash": "99657a354179d2b27f9df4630e0948eaa99c6e1cb898b910ab7afbbe4faac8e6", "relations": [{"rule": 2, "type": "equivalent", "target": "000b458c5d4044168c985184b50e8901", "evidence": {"same_day": true, "patch_ids": ["7bbd8463c1b0e94fd15c9bde36851982"], "statement_hash": "99657a354179d2b27f9df4630e0948eaa99c6e1cb898b910ab7afbbe4faac8e6"}}, {"rule": 2, "type": "equivalent", "target": "55c88a39eb5628209721f0e344d52e51", "evidence": {"same_day": true, "patch_ids": ["7bbd8463c1b0e94fd15c9bde36851982"], "statement_hash": "99657a354179d2b27f9df4630e0948eaa99c6e1cb898b910ab7afbbe4faac8e6"}}, {"rule": 2, "type": "equivalent", "target": "5acfa40be0a1324cfe5c678298fb13b1", "evidence": {"same_day": true, "patch_ids": ["7bbd8463c1b0e94fd15c9bde36851982"], "statement_hash": "99657a354179d2b27f9df4630e0948eaa99c6e1cb898b910ab7afbbe4faac8e6"}}, {"rule": 2, "type": "equivalent", "target": "a98abf05063bf8b1063dcdd1645ab2d0", "evidence": {"same_day": true, "patch_ids": ["7bbd8463c1b0e94fd15c9bde36851982"], "statement_hash": "99657a354179d2b27f9df4630e0948eaa99c6e1cb898b910ab7afbbe4faac8e6"}}, {"rule": 2, "type": "equivalent", "target": "f7c6137246c93ebe47becf690e9086b5", "evidence": {"same_day": true, "patch_ids": ["7bbd8463c1b0e94fd15c9bde36851982"], "statement_hash": "99657a354179d2b27f9df4630e0948eaa99c6e1cb898b910ab7afbbe4faac8e6"}}], "version": "14.10", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "000b458c5d4044168c985184b50e8901", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "避免在 to_tsvector() 处理长输入时过早的内存分配失败", "evidence": {"same_day": true, "patch_ids": ["7bbd8463c1b0e94fd15c9bde36851982"], "statement_hash": "99657a354179d2b27f9df4630e0948eaa99c6e1cb898b910ab7afbbe4faac8e6"}, "url": "/docs/compare/?release=16.1#16.1-3a434bbd0ed13313", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "f7c6137246c93ebe47becf690e9086b5", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "避免在 to_tsvector() 处理长输入时过早的内存分配失败", "evidence": {"same_day": true, "patch_ids": ["7bbd8463c1b0e94fd15c9bde36851982"], "statement_hash": "99657a354179d2b27f9df4630e0948eaa99c6e1cb898b910ab7afbbe4faac8e6"}, "url": "/docs/compare/?release=15.5#15.5-dfe0c4d6a142e3f4", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "5acfa40be0a1324cfe5c678298fb13b1", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "避免在 to_tsvector() 处理长输入时过早的内存分配失败", "evidence": {"same_day": true, "patch_ids": ["7bbd8463c1b0e94fd15c9bde36851982"], "statement_hash": "99657a354179d2b27f9df4630e0948eaa99c6e1cb898b910ab7afbbe4faac8e6"}, "url": "/docs/compare/?release=13.13#13.13-2217206f0303295b", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}, {"db_id": "55c88a39eb5628209721f0e344d52e51", "kind": "equivalent", "version": "12.17", "label": "12.17", "title": "避免在 to_tsvector() 处理长输入时过早的内存分配失败", "evidence": {"same_day": true, "patch_ids": ["7bbd8463c1b0e94fd15c9bde36851982"], "statement_hash": "99657a354179d2b27f9df4630e0948eaa99c6e1cb898b910ab7afbbe4faac8e6"}, "url": "/docs/compare/?release=12.17#12.17-b076375b4b43d5cd", "source_url": "/docs/release/12.17/#id-1.11.6.11.5"}, {"db_id": "a98abf05063bf8b1063dcdd1645ab2d0", "kind": "equivalent", "version": "11.22", "label": "11.22", "title": "避免在 to_tsvector() 处理长输入时过早的内存分配失败", "evidence": {"same_day": true, "patch_ids": ["7bbd8463c1b0e94fd15c9bde36851982"], "statement_hash": "99657a354179d2b27f9df4630e0948eaa99c6e1cb898b910ab7afbbe4faac8e6"}, "url": "/docs/compare/?release=11.22#11.22-0510e66909f90a1b", "source_url": "/docs/release/11.22/#id-1.11.6.5.6"}]}, {"id": "14.10-62827871225c4dd6", "cves": [], "html": "<p>修复 <code>tsvectorrecv()</code> 中构造的 <code>tsvector</code> 的过度分配（Denis Erokhin）<a href=\"https://postgr.es/c/cf12c4fd2\">§</a></p>\n<p>如果传入的向量包含位置数据，二进制接收函数会在完成的 <code>tsvector</code> 中留下浪费的空间（大约等于位置数据的大小）。在极端情况下，这可能导致对于发出时在长度限制内的向量产生 <span>“<span>maximum total lexeme length exceeded</span>”</span> 失败。无论如何都可能导致磁盘空间浪费。</p>", "text": "修复 tsvectorrecv() 中构造的 tsvector 的过度分配（Denis Erokhin）§ 如果传入的向量包含位置数据，二进制接收函数会在完成的 tsvector 中留下浪费的空间（大约等于位置数据的大小）。在极端情况下，这可能导致对于发出时在长度限制内的向量产生 “maximum total lexeme length exceeded” 失败。无论如何都可能导致磁盘空间浪费。", "title": "修复 tsvectorrecv() 中构造的 tsvector 的过度分配", "commits": ["cf12c4fd2"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "49e288b659de20d2e7b2841643ae7a0e2295c5bc312fbcb018930f3158b3de37", "section_path": ["变更"], "commit_groups": [["2296bc362", "55e188a15", "5b7b38246", "5c34a7374", "7a310cae0", "9da153846", "cf12c4fd2"]], "identity_text": "Fix over-allocation of the constructed tsvector in tsvectorrecv() (Denis Erokhin) If the incoming vector includes position data, the binary receive function left wasted space (roughly equal to the size of the position data) in the finished tsvector. In extreme cases this could lead to maximum total lexeme length exceeded failures for vectors that were under the length limit when emitted. In any case it could lead to wasted space on-disk.", "commit_aliases": ["2296bc362", "55e188a15", "5b7b38246", "5c34a7374", "7a310cae0", "9da153846", "cf12c4fd2"], "source_commits": ["cf12c4fd2"], "source_entry_id": "14.10/changes/018", "db_id": "5fc2d01ad8a45a50dae5390c0a2fb8f2", "patch_ids": ["6bce57963dffafae7182a081da49f9cf"], "statement_hash": "a9dad01c949f171609c4387c6c1ecabac5e030199b6bef4f35d80eba338e480b", "relations": [{"rule": 2, "type": "equivalent", "target": "59381a536e7291208784c809c9c9e0cc", "evidence": {"same_day": true, "patch_ids": ["6bce57963dffafae7182a081da49f9cf"], "statement_hash": "a9dad01c949f171609c4387c6c1ecabac5e030199b6bef4f35d80eba338e480b"}}, {"rule": 2, "type": "equivalent", "target": "7fc7f03e22fd8b8b15cbc0bf24471683", "evidence": {"same_day": true, "patch_ids": ["6bce57963dffafae7182a081da49f9cf"], "statement_hash": "a9dad01c949f171609c4387c6c1ecabac5e030199b6bef4f35d80eba338e480b"}}, {"rule": 2, "type": "equivalent", "target": "c87deb30836d63b994932914def691de", "evidence": {"same_day": true, "patch_ids": ["6bce57963dffafae7182a081da49f9cf"], "statement_hash": "a9dad01c949f171609c4387c6c1ecabac5e030199b6bef4f35d80eba338e480b"}}, {"rule": 2, "type": "equivalent", "target": "ecb904f26661489d6402b3e395fcddd0", "evidence": {"same_day": true, "patch_ids": ["6bce57963dffafae7182a081da49f9cf"], "statement_hash": "a9dad01c949f171609c4387c6c1ecabac5e030199b6bef4f35d80eba338e480b"}}, {"rule": 2, "type": "equivalent", "target": "fd4783d09e517c6ae5c42a0f39721922", "evidence": {"same_day": true, "patch_ids": ["6bce57963dffafae7182a081da49f9cf"], "statement_hash": "a9dad01c949f171609c4387c6c1ecabac5e030199b6bef4f35d80eba338e480b"}}], "version": "14.10", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "59381a536e7291208784c809c9c9e0cc", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "修复 tsvectorrecv() 中构造的 tsvector 的过度分配", "evidence": {"same_day": true, "patch_ids": ["6bce57963dffafae7182a081da49f9cf"], "statement_hash": "a9dad01c949f171609c4387c6c1ecabac5e030199b6bef4f35d80eba338e480b"}, "url": "/docs/compare/?release=16.1#16.1-13bc6e4ee0766fc0", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "c87deb30836d63b994932914def691de", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "修复 tsvectorrecv() 中构造的 tsvector 的过度分配", "evidence": {"same_day": true, "patch_ids": ["6bce57963dffafae7182a081da49f9cf"], "statement_hash": "a9dad01c949f171609c4387c6c1ecabac5e030199b6bef4f35d80eba338e480b"}, "url": "/docs/compare/?release=15.5#15.5-e14ea9365b33d315", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "ecb904f26661489d6402b3e395fcddd0", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "修复 tsvectorrecv() 中构造的 tsvector 的过度分配", "evidence": {"same_day": true, "patch_ids": ["6bce57963dffafae7182a081da49f9cf"], "statement_hash": "a9dad01c949f171609c4387c6c1ecabac5e030199b6bef4f35d80eba338e480b"}, "url": "/docs/compare/?release=13.13#13.13-a07b47b98e571426", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}, {"db_id": "fd4783d09e517c6ae5c42a0f39721922", "kind": "equivalent", "version": "12.17", "label": "12.17", "title": "修复 tsvectorrecv() 中构造的 tsvector 的过度分配", "evidence": {"same_day": true, "patch_ids": ["6bce57963dffafae7182a081da49f9cf"], "statement_hash": "a9dad01c949f171609c4387c6c1ecabac5e030199b6bef4f35d80eba338e480b"}, "url": "/docs/compare/?release=12.17#12.17-9883ddcf96fed1c1", "source_url": "/docs/release/12.17/#id-1.11.6.11.5"}, {"db_id": "7fc7f03e22fd8b8b15cbc0bf24471683", "kind": "equivalent", "version": "11.22", "label": "11.22", "title": "修复 tsvectorrecv() 中构造的 tsvector 的过度分配", "evidence": {"same_day": true, "patch_ids": ["6bce57963dffafae7182a081da49f9cf"], "statement_hash": "a9dad01c949f171609c4387c6c1ecabac5e030199b6bef4f35d80eba338e480b"}, "url": "/docs/compare/?release=11.22#11.22-398e609952029aae", "source_url": "/docs/release/11.22/#id-1.11.6.5.6"}]}, {"id": "14.10-e3d86ab34dce8c36", "cves": [], "html": "<p>修复 <code>gtsvector_picksplit()</code> 中的不正确编码（Alexander Lakhin）<a href=\"https://postgr.es/c/df11421d8\">§</a></p>\n<p>这可能导致 <code>tsvector</code> 列上 GiST 索引的页面分裂决策不佳。</p>", "text": "修复 gtsvector_picksplit() 中的不正确编码（Alexander Lakhin）§ 这可能导致 tsvector 列上 GiST 索引的页面分裂决策不佳。", "title": "修复 gtsvector_picksplit() 中的不正确编码", "commits": ["df11421d8"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "174f171d7180be01f2c2ae9c630ccb111286220011e3453aab906ab21cad489e", "section_path": ["变更"], "commit_groups": [["358cd2b25", "40ddb8db9", "82fa8ae5f", "88aa4a049", "ae10dbb0c", "df11421d8", "fac3fa0d5"]], "identity_text": "Fix incorrect coding in gtsvector_picksplit() (Alexander Lakhin) This could lead to poor page-split decisions in GiST indexes on tsvector columns.", "commit_aliases": ["358cd2b25", "40ddb8db9", "82fa8ae5f", "88aa4a049", "ae10dbb0c", "df11421d8", "fac3fa0d5"], "source_commits": ["df11421d8"], "source_entry_id": "14.10/changes/019", "db_id": "5aef59f4e50323edda984232c993201d", "patch_ids": ["7c45197484f797ce9edeef17cc2ea9f1"], "statement_hash": "62ccdcb3ed00c1230ee6771e816a77722f2ff07c2b5de5c0915bcd3c03c63800", "relations": [{"rule": 2, "type": "equivalent", "target": "806152677bd4190024a52e427acf9939", "evidence": {"same_day": true, "patch_ids": ["7c45197484f797ce9edeef17cc2ea9f1"], "statement_hash": "62ccdcb3ed00c1230ee6771e816a77722f2ff07c2b5de5c0915bcd3c03c63800"}}, {"rule": 2, "type": "equivalent", "target": "8762ba133bb382bd152e8a63ef050ee3", "evidence": {"same_day": true, "patch_ids": ["7c45197484f797ce9edeef17cc2ea9f1"], "statement_hash": "62ccdcb3ed00c1230ee6771e816a77722f2ff07c2b5de5c0915bcd3c03c63800"}}, {"rule": 2, "type": "equivalent", "target": "d601e41c2ae013a2ce0c826e81d6ea35", "evidence": {"same_day": true, "patch_ids": ["7c45197484f797ce9edeef17cc2ea9f1"], "statement_hash": "62ccdcb3ed00c1230ee6771e816a77722f2ff07c2b5de5c0915bcd3c03c63800"}}, {"rule": 2, "type": "equivalent", "target": "fa066ad72e07f5edabbd05a2b932c813", "evidence": {"same_day": true, "patch_ids": ["7c45197484f797ce9edeef17cc2ea9f1"], "statement_hash": "62ccdcb3ed00c1230ee6771e816a77722f2ff07c2b5de5c0915bcd3c03c63800"}}], "version": "14.10", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "fa066ad72e07f5edabbd05a2b932c813", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "修复 gtsvector_picksplit() 中的不正确编码", "evidence": {"same_day": true, "patch_ids": ["7c45197484f797ce9edeef17cc2ea9f1"], "statement_hash": "62ccdcb3ed00c1230ee6771e816a77722f2ff07c2b5de5c0915bcd3c03c63800"}, "url": "/docs/compare/?release=15.5#15.5-581bc2622c821831", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "8762ba133bb382bd152e8a63ef050ee3", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "修复 gtsvector_picksplit() 中的不正确编码", "evidence": {"same_day": true, "patch_ids": ["7c45197484f797ce9edeef17cc2ea9f1"], "statement_hash": "62ccdcb3ed00c1230ee6771e816a77722f2ff07c2b5de5c0915bcd3c03c63800"}, "url": "/docs/compare/?release=13.13#13.13-40b5236e547aa4d9", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}, {"db_id": "806152677bd4190024a52e427acf9939", "kind": "equivalent", "version": "12.17", "label": "12.17", "title": "修复 gtsvector_picksplit() 中的不正确编码", "evidence": {"same_day": true, "patch_ids": ["7c45197484f797ce9edeef17cc2ea9f1"], "statement_hash": "62ccdcb3ed00c1230ee6771e816a77722f2ff07c2b5de5c0915bcd3c03c63800"}, "url": "/docs/compare/?release=12.17#12.17-828f518db344fde4", "source_url": "/docs/release/12.17/#id-1.11.6.11.5"}, {"db_id": "d601e41c2ae013a2ce0c826e81d6ea35", "kind": "equivalent", "version": "11.22", "label": "11.22", "title": "修复 gtsvector_picksplit() 中的不正确编码", "evidence": {"same_day": true, "patch_ids": ["7c45197484f797ce9edeef17cc2ea9f1"], "statement_hash": "62ccdcb3ed00c1230ee6771e816a77722f2ff07c2b5de5c0915bcd3c03c63800"}, "url": "/docs/compare/?release=11.22#11.22-1a5989b7801abeb7", "source_url": "/docs/release/11.22/#id-1.11.6.5.6"}]}, {"id": "14.10-ce1f5e488c3056b8", "cves": [], "html": "<p>改进对损坏的 PGLZ 压缩数据的检查（Flavien Guedez）<a href=\"https://postgr.es/c/2c63dc035\">§</a></p>", "text": "改进对损坏的 PGLZ 压缩数据的检查（Flavien Guedez）§", "title": "改进对损坏的 PGLZ 压缩数据的检查", "commits": ["2c63dc035"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "5257cc4396d81040de5b8a72df117b8608c1d5af68ba8950a17988832d5e0fbc", "section_path": ["变更"], "commit_groups": [["2c63dc035", "817669ea2", "985ac5ce2", "9b103f861", "cfa4eba02"]], "identity_text": "Improve checks for corrupt PGLZ compressed data (Flavien Guedez)", "commit_aliases": ["2c63dc035", "817669ea2", "985ac5ce2", "9b103f861", "cfa4eba02"], "source_commits": ["2c63dc035"], "source_entry_id": "14.10/changes/020", "db_id": "1f9fef774baf82c12f756f38d340117d", "patch_ids": ["1741d93967df184ccdd1d4a6a398e317"], "statement_hash": "376e0ff79d717a1f737b64123dffc6633d2de3292433146e651e3137f240dd47", "relations": [{"rule": 2, "type": "equivalent", "target": "0489fc842a2b1c58a08777eb6ac0fa6c", "evidence": {"same_day": true, "patch_ids": ["1741d93967df184ccdd1d4a6a398e317"], "statement_hash": "376e0ff79d717a1f737b64123dffc6633d2de3292433146e651e3137f240dd47"}}, {"rule": 2, "type": "equivalent", "target": "71092b06384fa60d2620cf9898bcb83b", "evidence": {"same_day": true, "patch_ids": ["1741d93967df184ccdd1d4a6a398e317"], "statement_hash": "376e0ff79d717a1f737b64123dffc6633d2de3292433146e651e3137f240dd47"}}, {"rule": 2, "type": "equivalent", "target": "8cc7351035a797c6025ec99004a78074", "evidence": {"same_day": true, "patch_ids": ["1741d93967df184ccdd1d4a6a398e317"], "statement_hash": "376e0ff79d717a1f737b64123dffc6633d2de3292433146e651e3137f240dd47"}}], "version": "14.10", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "71092b06384fa60d2620cf9898bcb83b", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "改进对损坏的 PGLZ 压缩数据的检查", "evidence": {"same_day": true, "patch_ids": ["1741d93967df184ccdd1d4a6a398e317"], "statement_hash": "376e0ff79d717a1f737b64123dffc6633d2de3292433146e651e3137f240dd47"}, "url": "/docs/compare/?release=16.1#16.1-aa262152ca332e13", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "8cc7351035a797c6025ec99004a78074", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "改进对损坏的 PGLZ 压缩数据的检查", "evidence": {"same_day": true, "patch_ids": ["1741d93967df184ccdd1d4a6a398e317"], "statement_hash": "376e0ff79d717a1f737b64123dffc6633d2de3292433146e651e3137f240dd47"}, "url": "/docs/compare/?release=15.5#15.5-124499f9eb37b98c", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "0489fc842a2b1c58a08777eb6ac0fa6c", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "改进对损坏的 PGLZ 压缩数据的检查", "evidence": {"same_day": true, "patch_ids": ["1741d93967df184ccdd1d4a6a398e317"], "statement_hash": "376e0ff79d717a1f737b64123dffc6633d2de3292433146e651e3137f240dd47"}, "url": "/docs/compare/?release=13.13#13.13-0b06a58f18f74b17", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}]}, {"id": "14.10-ce714df2eaf571dc", "cves": [], "html": "<p>修复 <code>COMMIT AND CHAIN</code>/<code>ROLLBACK AND CHAIN</code> 在存在未释放的保存点时无法正常工作的问题（Liu Xiang，Tom Lane）<a href=\"https://postgr.es/c/10323f140\">§</a></p>\n<p>它们将某个先前事务的属性传播到新事务，而不是传播当前事务的属性。</p>", "text": "修复 COMMIT AND CHAIN/ROLLBACK AND CHAIN 在存在未释放的保存点时无法正常工作的问题（Liu Xiang，Tom Lane）§ 它们将某个先前事务的属性传播到新事务，而不是传播当前事务的属性。", "title": "修复 COMMIT AND CHAIN/ROLLBACK AND CHAIN 在存在未释放的保存点时无法正常工作的问题", "commits": ["10323f140"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "c29855d3fad558cf4c09204f713ef7a61fe69c36a0a347d329ddaa35a9e908ca", "section_path": ["变更"], "commit_groups": [["10323f140", "227c7cf15", "48e2b234f", "555a8d9d3", "77dc81602", "7cabb20a9"]], "identity_text": "Fix COMMIT AND CHAIN/ROLLBACK AND CHAIN to work properly when there is an unreleased savepoint (Liu Xiang, Tom Lane) Instead of propagating the current transaction's properties to the new transaction, they propagated some previous transaction's properties.", "commit_aliases": ["10323f140", "227c7cf15", "48e2b234f", "555a8d9d3", "77dc81602", "7cabb20a9"], "source_commits": ["10323f140"], "source_entry_id": "14.10/changes/021", "db_id": "3b7aa83879f9013bd598a11cddc0feee", "patch_ids": ["a4b5f91c300cadc05c151b1eccf8582d"], "statement_hash": "88a62e79d7e896d7f9bec1e265cfe54f4f6b45a7154a43ba2f6e24334b791043", "relations": [{"rule": 2, "type": "equivalent", "target": "b25427ede2878783ebd51245686237b5", "evidence": {"same_day": true, "patch_ids": ["a4b5f91c300cadc05c151b1eccf8582d"], "statement_hash": "88a62e79d7e896d7f9bec1e265cfe54f4f6b45a7154a43ba2f6e24334b791043"}}, {"rule": 2, "type": "equivalent", "target": "edd734d6e29de8741a00889487ab3270", "evidence": {"same_day": true, "patch_ids": ["a4b5f91c300cadc05c151b1eccf8582d"], "statement_hash": "88a62e79d7e896d7f9bec1e265cfe54f4f6b45a7154a43ba2f6e24334b791043"}}], "version": "14.10", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "edd734d6e29de8741a00889487ab3270", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "修复 COMMIT AND CHAIN/ROLLBACK AND CHAIN 在存在未释放的保存点时无法正常工作的问题", "evidence": {"same_day": true, "patch_ids": ["a4b5f91c300cadc05c151b1eccf8582d"], "statement_hash": "88a62e79d7e896d7f9bec1e265cfe54f4f6b45a7154a43ba2f6e24334b791043"}, "url": "/docs/compare/?release=13.13#13.13-6d664ba5efc92bfe", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}, {"db_id": "b25427ede2878783ebd51245686237b5", "kind": "equivalent", "version": "12.17", "label": "12.17", "title": "修复 COMMIT AND CHAIN/ROLLBACK AND CHAIN 在存在未释放的保存点时无法正常工作的问题", "evidence": {"same_day": true, "patch_ids": ["a4b5f91c300cadc05c151b1eccf8582d"], "statement_hash": "88a62e79d7e896d7f9bec1e265cfe54f4f6b45a7154a43ba2f6e24334b791043"}, "url": "/docs/compare/?release=12.17#12.17-23d99a4a680bf0df", "source_url": "/docs/release/12.17/#id-1.11.6.11.5"}]}, {"id": "14.10-20bc347ab7711845", "cves": [], "html": "<p>在 <code>COPY FROM</code> 中，当需要不支持的编码转换时干净地失败（Tom Lane）<a href=\"https://postgr.es/c/a715c0212\">§</a></p>\n<p>最近的重构意外地移除了预期的错误检查，导致显示 <span>“<span>cache lookup failed for function 0</span>”</span> 而非有用的错误消息。</p>", "text": "在 COPY FROM 中，当需要不支持的编码转换时干净地失败（Tom Lane）§ 最近的重构意外地移除了预期的错误检查，导致显示 “cache lookup failed for function 0” 而非有用的错误消息。", "title": "在 COPY FROM 中，当需要不支持的编码转换时干净地失败", "commits": ["a715c0212"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "84d66d9b61c524cf9944e30ee02d3eaaf36ee1284a3bdbe7d266d7d148d43116", "section_path": ["变更"], "commit_groups": [["95fd5c89f", "a715c0212", "d8a09939a", "ea0e7cd6b"]], "identity_text": "In COPY FROM, fail cleanly when an unsupported encoding conversion is needed (Tom Lane) Recent refactoring accidentally removed the intended error check for this, such that it ended in cache lookup failed for function 0 instead of a useful error message.", "commit_aliases": ["95fd5c89f", "a715c0212", "d8a09939a", "ea0e7cd6b"], "source_commits": ["a715c0212"], "source_entry_id": "14.10/changes/022", "db_id": "58345bdbdc05d0bc9de24c7d2ede9fd7", "patch_ids": ["8a2c3dd9b4c0ccf96cd046c1ed398d6e"], "statement_hash": "90b612f4d96a5c3c42a98f84aa4fd3a5b99687123d4e80c21abc2c959e5b1ac1", "relations": [{"rule": 2, "type": "equivalent", "target": "0638eabc74ed6a234b59ea8cc3976587", "evidence": {"same_day": true, "patch_ids": ["8a2c3dd9b4c0ccf96cd046c1ed398d6e"], "statement_hash": "90b612f4d96a5c3c42a98f84aa4fd3a5b99687123d4e80c21abc2c959e5b1ac1"}}, {"rule": 2, "type": "equivalent", "target": "eedfb9d94f990e6e8af3dfddc838e58a", "evidence": {"same_day": true, "patch_ids": ["8a2c3dd9b4c0ccf96cd046c1ed398d6e"], "statement_hash": "90b612f4d96a5c3c42a98f84aa4fd3a5b99687123d4e80c21abc2c959e5b1ac1"}}], "version": "14.10", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "0638eabc74ed6a234b59ea8cc3976587", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "在 COPY FROM 中，当需要不支持的编码转换时干净地失败", "evidence": {"same_day": true, "patch_ids": ["8a2c3dd9b4c0ccf96cd046c1ed398d6e"], "statement_hash": "90b612f4d96a5c3c42a98f84aa4fd3a5b99687123d4e80c21abc2c959e5b1ac1"}, "url": "/docs/compare/?release=16.1#16.1-a29ff43ac2eb2535", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "eedfb9d94f990e6e8af3dfddc838e58a", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "在 COPY FROM 中，当需要不支持的编码转换时干净地失败", "evidence": {"same_day": true, "patch_ids": ["8a2c3dd9b4c0ccf96cd046c1ed398d6e"], "statement_hash": "90b612f4d96a5c3c42a98f84aa4fd3a5b99687123d4e80c21abc2c959e5b1ac1"}, "url": "/docs/compare/?release=15.5#15.5-18f281375aa70b40", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}]}, {"id": "14.10-a03d26669de89f68", "cves": [], "html": "<p>避免在 <code>EXPLAIN</code> 中，当标记为由 <code>EXPLAIN</code> 显示的参数具有 NULL 启动时值时发生崩溃（Xing Guo，Aleksander Alekseev，Tom Lane）<a href=\"https://postgr.es/c/47c0f00cf\">§</a></p>\n<p>没有内置参数符合此描述，但扩展可以定义此类参数。</p>", "text": "避免在 EXPLAIN 中，当标记为由 EXPLAIN 显示的参数具有 NULL 启动时值时发生崩溃（Xing Guo，Aleksander Alekseev，Tom Lane）§ 没有内置参数符合此描述，但扩展可以定义此类参数。", "title": "避免在 EXPLAIN 中，当标记为由 EXPLAIN 显示的参数具有 NULL 启动时值时发生崩溃", "commits": ["47c0f00cf"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "46bc2475727744b884f9ef4e36f7386cb1eac7f97c294103320473feb37b422c", "section_path": ["变更"], "commit_groups": [["137227c6d", "47c0f00cf", "65810fc6d", "6e1cca511", "7704a1a72", "82063edd4", "ae33659d4"]], "identity_text": "Avoid crash in EXPLAIN if a parameter marked to be displayed by EXPLAIN has a NULL boot-time value (Xing Guo, Aleksander Alekseev, Tom Lane) No built-in parameter fits this description, but an extension could define such a parameter.", "commit_aliases": ["137227c6d", "47c0f00cf", "65810fc6d", "6e1cca511", "7704a1a72", "82063edd4", "ae33659d4"], "source_commits": ["47c0f00cf"], "source_entry_id": "14.10/changes/023", "db_id": "402f8fbb582b049d49cb639f137c7d21", "patch_ids": ["db9cb6e54672e12ca6a5690536edb283"], "statement_hash": "5fed92b774d62537d533a638909f2d8fcb35a87cb163cfc0f6a3e03aeb8733c0", "relations": [{"rule": 2, "type": "equivalent", "target": "9c3cee52848b8c6493f34682b1872615", "evidence": {"same_day": true, "patch_ids": ["db9cb6e54672e12ca6a5690536edb283"], "statement_hash": "5fed92b774d62537d533a638909f2d8fcb35a87cb163cfc0f6a3e03aeb8733c0"}}, {"rule": 2, "type": "equivalent", "target": "c082f950476dcdc3b153213829f7f87e", "evidence": {"same_day": true, "patch_ids": ["db9cb6e54672e12ca6a5690536edb283"], "statement_hash": "5fed92b774d62537d533a638909f2d8fcb35a87cb163cfc0f6a3e03aeb8733c0"}}, {"rule": 2, "type": "equivalent", "target": "ed131854c44aa976a38ce3b448861a96", "evidence": {"same_day": true, "patch_ids": ["db9cb6e54672e12ca6a5690536edb283"], "statement_hash": "5fed92b774d62537d533a638909f2d8fcb35a87cb163cfc0f6a3e03aeb8733c0"}}, {"rule": 2, "type": "equivalent", "target": "fa2e40cac871ac177af8d24ec1a895ac", "evidence": {"same_day": true, "patch_ids": ["db9cb6e54672e12ca6a5690536edb283"], "statement_hash": "5fed92b774d62537d533a638909f2d8fcb35a87cb163cfc0f6a3e03aeb8733c0"}}], "version": "14.10", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "9c3cee52848b8c6493f34682b1872615", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "避免在 EXPLAIN 中，当标记为由 EXPLAIN 显示的参数具有 NULL 启动时值时发生崩溃", "evidence": {"same_day": true, "patch_ids": ["db9cb6e54672e12ca6a5690536edb283"], "statement_hash": "5fed92b774d62537d533a638909f2d8fcb35a87cb163cfc0f6a3e03aeb8733c0"}, "url": "/docs/compare/?release=16.1#16.1-a38eec1a0d654ac8", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "ed131854c44aa976a38ce3b448861a96", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "避免在 EXPLAIN 中，当标记为由 EXPLAIN 显示的参数具有 NULL 启动时值时发生崩溃", "evidence": {"same_day": true, "patch_ids": ["db9cb6e54672e12ca6a5690536edb283"], "statement_hash": "5fed92b774d62537d533a638909f2d8fcb35a87cb163cfc0f6a3e03aeb8733c0"}, "url": "/docs/compare/?release=15.5#15.5-c981e8975ec273bb", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "c082f950476dcdc3b153213829f7f87e", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "避免在 EXPLAIN 中，当标记为由 EXPLAIN 显示的参数具有 NULL 启动时值时发生崩溃", "evidence": {"same_day": true, "patch_ids": ["db9cb6e54672e12ca6a5690536edb283"], "statement_hash": "5fed92b774d62537d533a638909f2d8fcb35a87cb163cfc0f6a3e03aeb8733c0"}, "url": "/docs/compare/?release=13.13#13.13-9ea046baaca2754a", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}, {"db_id": "fa2e40cac871ac177af8d24ec1a895ac", "kind": "equivalent", "version": "12.17", "label": "12.17", "title": "避免在 EXPLAIN 中，当标记为由 EXPLAIN 显示的参数具有 NULL 启动时值时发生崩溃", "evidence": {"same_day": true, "patch_ids": ["db9cb6e54672e12ca6a5690536edb283"], "statement_hash": "5fed92b774d62537d533a638909f2d8fcb35a87cb163cfc0f6a3e03aeb8733c0"}, "url": "/docs/compare/?release=12.17#12.17-876012bf6d39eed4", "source_url": "/docs/release/12.17/#id-1.11.6.11.5"}]}, {"id": "14.10-043a9a7d186900ec", "cves": [], "html": "<p>确保在删除 <code>ON COMMIT DROP</code> 临时表时拥有快照（Tom Lane）<a href=\"https://postgr.es/c/f6e1ee3cf\">§</a></p>\n<p>这可以防止当临时表的某些目录条目的字段宽度足够大而需要 toast 时（例如非常复杂的 <code>CHECK</code> 条件）可能出现的异常行为。</p>", "text": "确保在删除 ON COMMIT DROP 临时表时拥有快照（Tom Lane）§ 这可以防止当临时表的某些目录条目的字段宽度足够大而需要 toast 时（例如非常复杂的 CHECK 条件）可能出现的异常行为。", "title": "确保在删除 ON COMMIT DROP 临时表时拥有快照", "commits": ["f6e1ee3cf"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "3275d019b90aaa73e2eccccf2603e5bed9a4ce4e5d32749a5cfe1d215307941a", "section_path": ["变更"], "commit_groups": [["07eb22a77", "0d1a7cd14", "1e678175c", "54b208f90", "57e6e861d", "a295684b8", "f6e1ee3cf"]], "identity_text": "Ensure we have a snapshot while dropping ON COMMIT DROP temp tables (Tom Lane) This prevents possible misbehavior if any catalog entries for the temp tables have fields wide enough to require toasting (such as a very complex CHECK condition).", "commit_aliases": ["07eb22a77", "0d1a7cd14", "1e678175c", "54b208f90", "57e6e861d", "a295684b8", "f6e1ee3cf"], "source_commits": ["f6e1ee3cf"], "source_entry_id": "14.10/changes/024", "db_id": "4b62dcb740a8b6624d22c52faad9538f", "patch_ids": ["c55225c904210c85f5efed9b6a1e3263"], "statement_hash": "24ef383d53726d9d6fbca1c28aacb3c6dab535178409e21304b16e951fd54801", "relations": [{"rule": 2, "type": "equivalent", "target": "2b62b18d82a9ef200e53901779e106f2", "evidence": {"same_day": true, "patch_ids": ["c55225c904210c85f5efed9b6a1e3263"], "statement_hash": "24ef383d53726d9d6fbca1c28aacb3c6dab535178409e21304b16e951fd54801"}}, {"rule": 2, "type": "equivalent", "target": "407d669577583d994c8a923628cfb466", "evidence": {"same_day": true, "patch_ids": ["c55225c904210c85f5efed9b6a1e3263"], "statement_hash": "24ef383d53726d9d6fbca1c28aacb3c6dab535178409e21304b16e951fd54801"}}, {"rule": 2, "type": "equivalent", "target": "4cbb3e8dcbce0228fedd00e60cc0d38e", "evidence": {"same_day": true, "patch_ids": ["c55225c904210c85f5efed9b6a1e3263"], "statement_hash": "24ef383d53726d9d6fbca1c28aacb3c6dab535178409e21304b16e951fd54801"}}, {"rule": 2, "type": "equivalent", "target": "8b39165ae7d3eb4017dc155244906002", "evidence": {"same_day": true, "patch_ids": ["c55225c904210c85f5efed9b6a1e3263"], "statement_hash": "24ef383d53726d9d6fbca1c28aacb3c6dab535178409e21304b16e951fd54801"}}, {"rule": 2, "type": "equivalent", "target": "8b6727c81f63fe1001b5db3297261daf", "evidence": {"same_day": true, "patch_ids": ["c55225c904210c85f5efed9b6a1e3263"], "statement_hash": "24ef383d53726d9d6fbca1c28aacb3c6dab535178409e21304b16e951fd54801"}}], "version": "14.10", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "407d669577583d994c8a923628cfb466", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "确保在删除 ON COMMIT DROP 临时表时拥有快照", "evidence": {"same_day": true, "patch_ids": ["c55225c904210c85f5efed9b6a1e3263"], "statement_hash": "24ef383d53726d9d6fbca1c28aacb3c6dab535178409e21304b16e951fd54801"}, "url": "/docs/compare/?release=16.1#16.1-dc4a298e2ddbebfd", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "2b62b18d82a9ef200e53901779e106f2", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "确保在删除 ON COMMIT DROP 临时表时拥有快照", "evidence": {"same_day": true, "patch_ids": ["c55225c904210c85f5efed9b6a1e3263"], "statement_hash": "24ef383d53726d9d6fbca1c28aacb3c6dab535178409e21304b16e951fd54801"}, "url": "/docs/compare/?release=15.5#15.5-9ef8dfc29466c041", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "8b6727c81f63fe1001b5db3297261daf", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "确保在删除 ON COMMIT DROP 临时表时拥有快照", "evidence": {"same_day": true, "patch_ids": ["c55225c904210c85f5efed9b6a1e3263"], "statement_hash": "24ef383d53726d9d6fbca1c28aacb3c6dab535178409e21304b16e951fd54801"}, "url": "/docs/compare/?release=13.13#13.13-0f256716aa6265f6", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}, {"db_id": "4cbb3e8dcbce0228fedd00e60cc0d38e", "kind": "equivalent", "version": "12.17", "label": "12.17", "title": "确保在删除 ON COMMIT DROP 临时表时拥有快照", "evidence": {"same_day": true, "patch_ids": ["c55225c904210c85f5efed9b6a1e3263"], "statement_hash": "24ef383d53726d9d6fbca1c28aacb3c6dab535178409e21304b16e951fd54801"}, "url": "/docs/compare/?release=12.17#12.17-e19e21b82f0c9b3f", "source_url": "/docs/release/12.17/#id-1.11.6.11.5"}, {"db_id": "8b39165ae7d3eb4017dc155244906002", "kind": "equivalent", "version": "11.22", "label": "11.22", "title": "确保在删除 ON COMMIT DROP 临时表时拥有快照", "evidence": {"same_day": true, "patch_ids": ["c55225c904210c85f5efed9b6a1e3263"], "statement_hash": "24ef383d53726d9d6fbca1c28aacb3c6dab535178409e21304b16e951fd54801"}, "url": "/docs/compare/?release=11.22#11.22-5fb1657482018dac", "source_url": "/docs/release/11.22/#id-1.11.6.5.6"}]}, {"id": "14.10-57d9602e7daaba86", "cves": [], "html": "<p>避免在 <code>system()</code> 刚刚 fork 的子进程中对关闭信号的不当响应（Nathan Bossart）<a href=\"https://postgr.es/c/54fc9dca5\">§</a> <a href=\"https://postgr.es/c/555bc89c9\">§</a></p>\n<p>此修复避免了一个竞争条件：由 <code>system()</code> fork 出来但尚未 exec 目标子程序的子进程可能接收并处理原本发给父服务器进程的信号。这将导致重复的清理操作，后果不佳。</p>", "text": "避免在 system() 刚刚 fork 的子进程中对关闭信号的不当响应（Nathan Bossart）§ § 此修复避免了一个竞争条件：由 system() fork 出来但尚未 exec 目标子程序的子进程可能接收并处理原本发给父服务器进程的信号。这将导致重复的清理操作，后果不佳。", "title": "避免在 system() 刚刚 fork 的子进程中对关闭信号的不当响应", "commits": ["54fc9dca5", "555bc89c9"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "812cbec3ae5573056ec5257d6649320978cbec8a0315987deea89ea3d8c54659", "section_path": ["变更"], "commit_groups": [["0e32652a7", "555bc89c9", "bc322c73c", "ebc093fa6"], ["54fc9dca5", "97550c071", "ac1dfc303", "c9265ae80", "d0e7f95b4", "e2e169042", "ee06199fc"]], "identity_text": "Avoid improper response to shutdown signals in child processes just forked by system() (Nathan Bossart) This fix avoids a race condition in which a child process that has been forked off by system(), but hasn't yet exec'd the intended child program, might receive and act on a signal intended for the parent server process. That would lead to duplicate cleanup actions being performed, which will not end well.", "commit_aliases": ["0e32652a7", "54fc9dca5", "555bc89c9", "97550c071", "ac1dfc303", "bc322c73c", "c9265ae80", "d0e7f95b4", "e2e169042", "ebc093fa6", "ee06199fc"], "source_commits": ["54fc9dca5", "555bc89c9"], "source_entry_id": "14.10/changes/025", "db_id": "3a09791126686461e747c0dd65a2078a", "patch_ids": ["020e563d2e8c3f57c72b9597fd089c82", "ac576f30d6734990ee5451f8c6c1cdc6"], "statement_hash": "983d3d4a55c5cd7696079d1f6baf1403abb2a93dcaa8644ae89a6ca2a6338b84", "relations": [{"rule": 2, "type": "equivalent", "target": "033f701f7a26ba319512b1c4dfeb5ee1", "evidence": {"same_day": true, "patch_ids": ["020e563d2e8c3f57c72b9597fd089c82", "ac576f30d6734990ee5451f8c6c1cdc6"], "statement_hash": "983d3d4a55c5cd7696079d1f6baf1403abb2a93dcaa8644ae89a6ca2a6338b84"}}, {"rule": 2, "type": "equivalent", "target": "18e7bd1ad49b965b86d9d78ab6bf85ba", "evidence": {"same_day": true, "patch_ids": ["020e563d2e8c3f57c72b9597fd089c82", "ac576f30d6734990ee5451f8c6c1cdc6"], "statement_hash": "983d3d4a55c5cd7696079d1f6baf1403abb2a93dcaa8644ae89a6ca2a6338b84"}}, {"rule": 2, "type": "equivalent", "target": "37627097c59ef26d03af9618bfb0558a", "evidence": {"same_day": true, "patch_ids": ["020e563d2e8c3f57c72b9597fd089c82", "ac576f30d6734990ee5451f8c6c1cdc6"], "statement_hash": "983d3d4a55c5cd7696079d1f6baf1403abb2a93dcaa8644ae89a6ca2a6338b84"}}, {"rule": 2, "type": "equivalent", "target": "82b3b1253b45baff6df74b7d093a3736", "evidence": {"same_day": true, "patch_ids": ["020e563d2e8c3f57c72b9597fd089c82", "ac576f30d6734990ee5451f8c6c1cdc6"], "statement_hash": "983d3d4a55c5cd7696079d1f6baf1403abb2a93dcaa8644ae89a6ca2a6338b84"}}, {"rule": 2, "type": "equivalent", "target": "d8c01110f01b4e8bcb6266e806adf7b0", "evidence": {"same_day": true, "patch_ids": ["020e563d2e8c3f57c72b9597fd089c82", "ac576f30d6734990ee5451f8c6c1cdc6"], "statement_hash": "983d3d4a55c5cd7696079d1f6baf1403abb2a93dcaa8644ae89a6ca2a6338b84"}}], "version": "14.10", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "18e7bd1ad49b965b86d9d78ab6bf85ba", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "避免在 system() 刚刚 fork 的子进程中对关闭信号的不当响应", "evidence": {"same_day": true, "patch_ids": ["020e563d2e8c3f57c72b9597fd089c82", "ac576f30d6734990ee5451f8c6c1cdc6"], "statement_hash": "983d3d4a55c5cd7696079d1f6baf1403abb2a93dcaa8644ae89a6ca2a6338b84"}, "url": "/docs/compare/?release=16.1#16.1-ef271e3f084fd9c4", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "37627097c59ef26d03af9618bfb0558a", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "避免在 system() 刚刚 fork 的子进程中对关闭信号的不当响应", "evidence": {"same_day": true, "patch_ids": ["020e563d2e8c3f57c72b9597fd089c82", "ac576f30d6734990ee5451f8c6c1cdc6"], "statement_hash": "983d3d4a55c5cd7696079d1f6baf1403abb2a93dcaa8644ae89a6ca2a6338b84"}, "url": "/docs/compare/?release=15.5#15.5-2d3248a46971eb29", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "033f701f7a26ba319512b1c4dfeb5ee1", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "避免在 system() 刚刚 fork 的子进程中对关闭信号的不当响应", "evidence": {"same_day": true, "patch_ids": ["020e563d2e8c3f57c72b9597fd089c82", "ac576f30d6734990ee5451f8c6c1cdc6"], "statement_hash": "983d3d4a55c5cd7696079d1f6baf1403abb2a93dcaa8644ae89a6ca2a6338b84"}, "url": "/docs/compare/?release=13.13#13.13-38c971e1223bb141", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}, {"db_id": "82b3b1253b45baff6df74b7d093a3736", "kind": "equivalent", "version": "12.17", "label": "12.17", "title": "避免在 system() 刚刚 fork 的子进程中对关闭信号的不当响应", "evidence": {"same_day": true, "patch_ids": ["020e563d2e8c3f57c72b9597fd089c82", "ac576f30d6734990ee5451f8c6c1cdc6"], "statement_hash": "983d3d4a55c5cd7696079d1f6baf1403abb2a93dcaa8644ae89a6ca2a6338b84"}, "url": "/docs/compare/?release=12.17#12.17-cd86f26da1424957", "source_url": "/docs/release/12.17/#id-1.11.6.11.5"}, {"db_id": "d8c01110f01b4e8bcb6266e806adf7b0", "kind": "equivalent", "version": "11.22", "label": "11.22", "title": "避免在 system() 刚刚 fork 的子进程中对关闭信号的不当响应", "evidence": {"same_day": true, "patch_ids": ["020e563d2e8c3f57c72b9597fd089c82", "ac576f30d6734990ee5451f8c6c1cdc6"], "statement_hash": "983d3d4a55c5cd7696079d1f6baf1403abb2a93dcaa8644ae89a6ca2a6338b84"}, "url": "/docs/compare/?release=11.22#11.22-a268e941230868b8", "source_url": "/docs/release/11.22/#id-1.11.6.5.6"}]}, {"id": "14.10-53baf7fd24177a2c", "cves": [], "html": "<p>处理前端程序中 <code>pg_control</code> 的撕裂读取（Thomas Munro）<a href=\"https://postgr.es/c/dc75748a9\">§</a></p>\n<p>在某些文件系统上，当服务器并发写入 <code>pg_control</code> 时，读取该文件可能不是原子操作。这可以通过无效的 CRC 来检测。现在在报告错误之前会重试几次以查看文件是否变为有效。</p>", "text": "处理前端程序中 pg_control 的撕裂读取（Thomas Munro）§ 在某些文件系统上，当服务器并发写入 pg_control 时，读取该文件可能不是原子操作。这可以通过无效的 CRC 来检测。现在在报告错误之前会重试几次以查看文件是否变为有效。", "title": "处理前端程序中 pg_control 的撕裂读取", "commits": ["dc75748a9"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "7e0b9b0f315f492060b70500d8d55b81526d9c67c38579e4a17e7af75ec74925", "section_path": ["变更"], "commit_groups": [["43c979086", "5725e4ebe", "5e39884d3", "63a582222", "67060be3d", "dc75748a9"]], "identity_text": "Cope with torn reads of pg_control in frontend programs (Thomas Munro) On some file systems, reading pg_control may not be an atomic action when the server concurrently writes that file. This is detectable via a bad CRC. Retry a few times to see if the file becomes valid before we report error.", "commit_aliases": ["43c979086", "5725e4ebe", "5e39884d3", "63a582222", "67060be3d", "dc75748a9"], "source_commits": ["dc75748a9"], "source_entry_id": "14.10/changes/026", "db_id": "d1b19018b9230ecd474a081c16df3aee", "patch_ids": ["9fc294bfeafe9138d877c88cc7a9123f"], "statement_hash": "0a9493fc5fa963db45149ab87bf2f35549cad2cc8f007f00ec077e686921f1ed", "relations": [{"rule": 2, "type": "equivalent", "target": "1c4370d23701d45f35875358360f8270", "evidence": {"same_day": true, "patch_ids": ["9fc294bfeafe9138d877c88cc7a9123f"], "statement_hash": "0a9493fc5fa963db45149ab87bf2f35549cad2cc8f007f00ec077e686921f1ed"}}, {"rule": 2, "type": "equivalent", "target": "2aed2e6c8bc311238f4f5c9a6d764468", "evidence": {"same_day": true, "patch_ids": ["9fc294bfeafe9138d877c88cc7a9123f"], "statement_hash": "0a9493fc5fa963db45149ab87bf2f35549cad2cc8f007f00ec077e686921f1ed"}}, {"rule": 2, "type": "equivalent", "target": "2b0f32989fe28b5feb764a12a1e483c0", "evidence": {"same_day": true, "patch_ids": ["9fc294bfeafe9138d877c88cc7a9123f"], "statement_hash": "0a9493fc5fa963db45149ab87bf2f35549cad2cc8f007f00ec077e686921f1ed"}}, {"rule": 2, "type": "equivalent", "target": "d9bf0b903f5115a4e404da89b7d8298a", "evidence": {"same_day": true, "patch_ids": ["9fc294bfeafe9138d877c88cc7a9123f"], "statement_hash": "0a9493fc5fa963db45149ab87bf2f35549cad2cc8f007f00ec077e686921f1ed"}}], "version": "14.10", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "2aed2e6c8bc311238f4f5c9a6d764468", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "处理前端程序中 pg_control 的撕裂读取", "evidence": {"same_day": true, "patch_ids": ["9fc294bfeafe9138d877c88cc7a9123f"], "statement_hash": "0a9493fc5fa963db45149ab87bf2f35549cad2cc8f007f00ec077e686921f1ed"}, "url": "/docs/compare/?release=16.1#16.1-d3933311eb81045c", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "2b0f32989fe28b5feb764a12a1e483c0", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "处理前端程序中 pg_control 的撕裂读取", "evidence": {"same_day": true, "patch_ids": ["9fc294bfeafe9138d877c88cc7a9123f"], "statement_hash": "0a9493fc5fa963db45149ab87bf2f35549cad2cc8f007f00ec077e686921f1ed"}, "url": "/docs/compare/?release=15.5#15.5-7e718a6b14550c44", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "d9bf0b903f5115a4e404da89b7d8298a", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "处理前端程序中 pg_control 的撕裂读取", "evidence": {"same_day": true, "patch_ids": ["9fc294bfeafe9138d877c88cc7a9123f"], "statement_hash": "0a9493fc5fa963db45149ab87bf2f35549cad2cc8f007f00ec077e686921f1ed"}, "url": "/docs/compare/?release=13.13#13.13-c5f7f1cc760623bf", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}, {"db_id": "1c4370d23701d45f35875358360f8270", "kind": "equivalent", "version": "12.17", "label": "12.17", "title": "处理前端程序中 pg_control 的撕裂读取", "evidence": {"same_day": true, "patch_ids": ["9fc294bfeafe9138d877c88cc7a9123f"], "statement_hash": "0a9493fc5fa963db45149ab87bf2f35549cad2cc8f007f00ec077e686921f1ed"}, "url": "/docs/compare/?release=12.17#12.17-4e6f6a5b3a7d8b70", "source_url": "/docs/release/12.17/#id-1.11.6.11.5"}]}, {"id": "14.10-3f872020ab5a3531", "cves": [], "html": "<p>避免在相关 SQL 函数中对 <code>pg_control</code> 的撕裂读取（Thomas Munro）<a href=\"https://postgr.es/c/a56fe5cf0\">§</a></p>\n<p>在读取 <code>pg_control</code> 之前获取适当的锁，以确保获得该文件的一致视图。</p>", "text": "避免在相关 SQL 函数中对 pg_control 的撕裂读取（Thomas Munro）§ 在读取 pg_control 之前获取适当的锁，以确保获得该文件的一致视图。", "title": "避免在相关 SQL 函数中对 pg_control 的撕裂读取", "commits": ["a56fe5cf0"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "23b51bdf82d5fe66fa30ba390ca7af75c41129dc0aa08b9009450de01a72f59f", "section_path": ["变更"], "commit_groups": [["2371432cd", "606be8a35", "637e86ecc", "a56fe5cf0", "ae9da357b", "c558e6fd9", "f1634c968"]], "identity_text": "Avoid torn reads of pg_control in relevant SQL functions (Thomas Munro) Acquire the appropriate lock before reading pg_control, to ensure we get a consistent view of that file.", "commit_aliases": ["2371432cd", "606be8a35", "637e86ecc", "a56fe5cf0", "ae9da357b", "c558e6fd9", "f1634c968"], "source_commits": ["a56fe5cf0"], "source_entry_id": "14.10/changes/027", "db_id": "774bcf5dde9193debb738b2014eb881f", "patch_ids": ["d67f4445b83644d5a53d5ccfbddd5589"], "statement_hash": "aa71ec65e193fb08b29d2704a19128805872cede43991d458e0c5bb1afcbda16", "relations": [{"rule": 2, "type": "equivalent", "target": "0c67b181e69bcc974c6d7854c72f2fb6", "evidence": {"same_day": true, "patch_ids": ["d67f4445b83644d5a53d5ccfbddd5589"], "statement_hash": "aa71ec65e193fb08b29d2704a19128805872cede43991d458e0c5bb1afcbda16"}}, {"rule": 2, "type": "equivalent", "target": "250fa1d7beb1bc326fd6d8fa82753615", "evidence": {"same_day": true, "patch_ids": ["d67f4445b83644d5a53d5ccfbddd5589"], "statement_hash": "aa71ec65e193fb08b29d2704a19128805872cede43991d458e0c5bb1afcbda16"}}, {"rule": 2, "type": "equivalent", "target": "4aa535a7d8a738ca8b634def86561904", "evidence": {"same_day": true, "patch_ids": ["d67f4445b83644d5a53d5ccfbddd5589"], "statement_hash": "aa71ec65e193fb08b29d2704a19128805872cede43991d458e0c5bb1afcbda16"}}, {"rule": 2, "type": "equivalent", "target": "74fca8055e2e50da58aa180c287110ad", "evidence": {"same_day": true, "patch_ids": ["d67f4445b83644d5a53d5ccfbddd5589"], "statement_hash": "aa71ec65e193fb08b29d2704a19128805872cede43991d458e0c5bb1afcbda16"}}, {"rule": 2, "type": "equivalent", "target": "a6df5b569e7d40c0018f25f07eee2679", "evidence": {"same_day": true, "patch_ids": ["d67f4445b83644d5a53d5ccfbddd5589"], "statement_hash": "aa71ec65e193fb08b29d2704a19128805872cede43991d458e0c5bb1afcbda16"}}], "version": "14.10", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "250fa1d7beb1bc326fd6d8fa82753615", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "避免在相关 SQL 函数中对 pg_control 的撕裂读取", "evidence": {"same_day": true, "patch_ids": ["d67f4445b83644d5a53d5ccfbddd5589"], "statement_hash": "aa71ec65e193fb08b29d2704a19128805872cede43991d458e0c5bb1afcbda16"}, "url": "/docs/compare/?release=16.1#16.1-aab675f6119e32be", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "74fca8055e2e50da58aa180c287110ad", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "避免在相关 SQL 函数中对 pg_control 的撕裂读取", "evidence": {"same_day": true, "patch_ids": ["d67f4445b83644d5a53d5ccfbddd5589"], "statement_hash": "aa71ec65e193fb08b29d2704a19128805872cede43991d458e0c5bb1afcbda16"}, "url": "/docs/compare/?release=15.5#15.5-59f381aab979034a", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "0c67b181e69bcc974c6d7854c72f2fb6", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "避免在相关 SQL 函数中对 pg_control 的撕裂读取", "evidence": {"same_day": true, "patch_ids": ["d67f4445b83644d5a53d5ccfbddd5589"], "statement_hash": "aa71ec65e193fb08b29d2704a19128805872cede43991d458e0c5bb1afcbda16"}, "url": "/docs/compare/?release=13.13#13.13-c4e624e4cba926f3", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}, {"db_id": "a6df5b569e7d40c0018f25f07eee2679", "kind": "equivalent", "version": "12.17", "label": "12.17", "title": "避免在相关 SQL 函数中对 pg_control 的撕裂读取", "evidence": {"same_day": true, "patch_ids": ["d67f4445b83644d5a53d5ccfbddd5589"], "statement_hash": "aa71ec65e193fb08b29d2704a19128805872cede43991d458e0c5bb1afcbda16"}, "url": "/docs/compare/?release=12.17#12.17-4154cad8425b2490", "source_url": "/docs/release/12.17/#id-1.11.6.11.5"}, {"db_id": "4aa535a7d8a738ca8b634def86561904", "kind": "equivalent", "version": "11.22", "label": "11.22", "title": "避免在相关 SQL 函数中对 pg_control 的撕裂读取", "evidence": {"same_day": true, "patch_ids": ["d67f4445b83644d5a53d5ccfbddd5589"], "statement_hash": "aa71ec65e193fb08b29d2704a19128805872cede43991d458e0c5bb1afcbda16"}, "url": "/docs/compare/?release=11.22#11.22-11b0f4811f381186", "source_url": "/docs/release/11.22/#id-1.11.6.5.6"}]}, {"id": "14.10-333f69f76f49f87a", "cves": [], "html": "<p>避免计算后端活动字符串数组大小时的整数溢出（Jakub Wartak）<a href=\"https://postgr.es/c/f91c87b31\">§</a></p>\n<p>在 64 位机器上，我们允许 <code>track_activity_query_size</code> 的值大到足以在乘以允许的连接数时导致 32 位溢出。然而，实际分配每个后端本地数组的代码对此不够谨慎，导致数组分配不正确。</p>", "text": "避免计算后端活动字符串数组大小时的整数溢出（Jakub Wartak）§ 在 64 位机器上，我们允许 track_activity_query_size 的值大到足以在乘以允许的连接数时导致 32 位溢出。然而，实际分配每个后端本地数组的代码对此不够谨慎，导致数组分配不正确。", "title": "避免计算后端活动字符串数组大小时的整数溢出", "commits": ["f91c87b31"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "28b0d0d395336cc3ce23536e44eaaa63bcd06ed15f4d00cbfa15f90f5ee01ee8", "section_path": ["变更"], "commit_groups": [["75f31a3f2", "95e91da66", "9b3900cdb", "a0b013625", "a956bd3fa", "f91c87b31"]], "identity_text": "Avoid integer overflow when computing size of backend activity string array (Jakub Wartak) On 64-bit machines we will allow values of track_activity_query_size large enough to cause 32-bit overflow when multiplied by the allowed number of connections. The code actually allocating the per-backend local array was careless about this though, and allocated the array incorrectly.", "commit_aliases": ["75f31a3f2", "95e91da66", "9b3900cdb", "a0b013625", "a956bd3fa", "f91c87b31"], "source_commits": ["f91c87b31"], "source_entry_id": "14.10/changes/028", "db_id": "86f661d67a291cdaaba7d905f23a8784", "patch_ids": ["46c4e8ba92be13fd6488a0d629a4c25d"], "statement_hash": "8134673c40ff201f08ac108e602e19112aac9d8bace6f4000590946b43993f87", "relations": [{"rule": 2, "type": "equivalent", "target": "99bfcc92586904dc2cdcaf30e96c72e1", "evidence": {"same_day": true, "patch_ids": ["46c4e8ba92be13fd6488a0d629a4c25d"], "statement_hash": "8134673c40ff201f08ac108e602e19112aac9d8bace6f4000590946b43993f87"}}, {"rule": 2, "type": "equivalent", "target": "bf3781d62695a4da2886551e25f093c2", "evidence": {"same_day": true, "patch_ids": ["46c4e8ba92be13fd6488a0d629a4c25d"], "statement_hash": "8134673c40ff201f08ac108e602e19112aac9d8bace6f4000590946b43993f87"}}, {"rule": 2, "type": "equivalent", "target": "c2b17c108ca10ffae19fc1881e1675e9", "evidence": {"same_day": true, "patch_ids": ["46c4e8ba92be13fd6488a0d629a4c25d"], "statement_hash": "8134673c40ff201f08ac108e602e19112aac9d8bace6f4000590946b43993f87"}}, {"rule": 2, "type": "equivalent", "target": "ed4cc484d13babb5a5c068f95fea6c79", "evidence": {"same_day": true, "patch_ids": ["46c4e8ba92be13fd6488a0d629a4c25d"], "statement_hash": "8134673c40ff201f08ac108e602e19112aac9d8bace6f4000590946b43993f87"}}], "version": "14.10", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "99bfcc92586904dc2cdcaf30e96c72e1", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "避免计算后端活动字符串数组大小时的整数溢出", "evidence": {"same_day": true, "patch_ids": ["46c4e8ba92be13fd6488a0d629a4c25d"], "statement_hash": "8134673c40ff201f08ac108e602e19112aac9d8bace6f4000590946b43993f87"}, "url": "/docs/compare/?release=16.1#16.1-9792979ed6190d7b", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "ed4cc484d13babb5a5c068f95fea6c79", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "避免计算后端活动字符串数组大小时的整数溢出", "evidence": {"same_day": true, "patch_ids": ["46c4e8ba92be13fd6488a0d629a4c25d"], "statement_hash": "8134673c40ff201f08ac108e602e19112aac9d8bace6f4000590946b43993f87"}, "url": "/docs/compare/?release=15.5#15.5-75496837be222e84", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "bf3781d62695a4da2886551e25f093c2", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "避免计算后端活动字符串数组大小时的整数溢出", "evidence": {"same_day": true, "patch_ids": ["46c4e8ba92be13fd6488a0d629a4c25d"], "statement_hash": "8134673c40ff201f08ac108e602e19112aac9d8bace6f4000590946b43993f87"}, "url": "/docs/compare/?release=13.13#13.13-d210c182143d4a2a", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}, {"db_id": "c2b17c108ca10ffae19fc1881e1675e9", "kind": "equivalent", "version": "12.17", "label": "12.17", "title": "避免计算后端活动字符串数组大小时的整数溢出", "evidence": {"same_day": true, "patch_ids": ["46c4e8ba92be13fd6488a0d629a4c25d"], "statement_hash": "8134673c40ff201f08ac108e602e19112aac9d8bace6f4000590946b43993f87"}, "url": "/docs/compare/?release=12.17#12.17-05a140849df1b343", "source_url": "/docs/release/12.17/#id-1.11.6.11.5"}]}, {"id": "14.10-e9c7138faa92d9df", "cves": [], "html": "<p>修复在继承表上执行 <code>ANALYZE</code> 时短暂显示不一致的进度统计信息的问题（Heikki Linnakangas）<a href=\"https://postgr.es/c/2d4f99bc6\">§</a></p>\n<p>块级别的计数器应在更新当前关系字段的同时重置为零。</p>", "text": "修复在继承表上执行 ANALYZE 时短暂显示不一致的进度统计信息的问题（Heikki Linnakangas）§ 块级别的计数器应在更新当前关系字段的同时重置为零。", "title": "修复在继承表上执行 ANALYZE 时短暂显示不一致的进度统计信息的问题", "commits": ["2d4f99bc6"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "1cf1656c834a02167ff7c9479a41b79c26c585fbafe39d4072833eb94280e326", "section_path": ["变更"], "commit_groups": [["2d4f99bc6", "5ae245664", "992d2ca81", "c181f2e2b", "ed9247cd7"]], "identity_text": "Fix briefly showing inconsistent progress statistics for ANALYZE on inherited tables (Heikki Linnakangas) The block-level counters should be reset to zero at the same time we update the current-relation field.", "commit_aliases": ["2d4f99bc6", "5ae245664", "992d2ca81", "c181f2e2b", "ed9247cd7"], "source_commits": ["2d4f99bc6"], "source_entry_id": "14.10/changes/029", "db_id": "3e6301563d8b6f5deb51bd8d2a76467b", "patch_ids": ["fb3db28284746e71ade490dd44b04d90"], "statement_hash": "3f3611ce9429eaabf1c46835ef931ed377946db82d92ee67fa60d64d5e2b98de", "relations": [{"rule": 2, "type": "equivalent", "target": "b2cf0429fb83e1683a752f6c88341176", "evidence": {"same_day": true, "patch_ids": ["fb3db28284746e71ade490dd44b04d90"], "statement_hash": "3f3611ce9429eaabf1c46835ef931ed377946db82d92ee67fa60d64d5e2b98de"}}, {"rule": 2, "type": "equivalent", "target": "d3e873296184e51f9badc05d554234eb", "evidence": {"same_day": true, "patch_ids": ["fb3db28284746e71ade490dd44b04d90"], "statement_hash": "3f3611ce9429eaabf1c46835ef931ed377946db82d92ee67fa60d64d5e2b98de"}}, {"rule": 2, "type": "equivalent", "target": "d47cbf61bbae75cbdd9fccab5d410683", "evidence": {"same_day": true, "patch_ids": ["fb3db28284746e71ade490dd44b04d90"], "statement_hash": "3f3611ce9429eaabf1c46835ef931ed377946db82d92ee67fa60d64d5e2b98de"}}], "version": "14.10", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "b2cf0429fb83e1683a752f6c88341176", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "修复在继承表上执行 ANALYZE 时短暂显示不一致的进度统计信息的问题", "evidence": {"same_day": true, "patch_ids": ["fb3db28284746e71ade490dd44b04d90"], "statement_hash": "3f3611ce9429eaabf1c46835ef931ed377946db82d92ee67fa60d64d5e2b98de"}, "url": "/docs/compare/?release=16.1#16.1-219c13f32aab94e0", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "d3e873296184e51f9badc05d554234eb", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "修复在继承表上执行 ANALYZE 时短暂显示不一致的进度统计信息的问题", "evidence": {"same_day": true, "patch_ids": ["fb3db28284746e71ade490dd44b04d90"], "statement_hash": "3f3611ce9429eaabf1c46835ef931ed377946db82d92ee67fa60d64d5e2b98de"}, "url": "/docs/compare/?release=15.5#15.5-2c510de9de0126b0", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "d47cbf61bbae75cbdd9fccab5d410683", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "修复在继承表上执行 ANALYZE 时短暂显示不一致的进度统计信息的问题", "evidence": {"same_day": true, "patch_ids": ["fb3db28284746e71ade490dd44b04d90"], "statement_hash": "3f3611ce9429eaabf1c46835ef931ed377946db82d92ee67fa60d64d5e2b98de"}, "url": "/docs/compare/?release=13.13#13.13-06f73ea6b2c20c9b", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}]}, {"id": "14.10-8729ca6f45d472eb", "cves": [], "html": "<p>修复后台写入器未将其 WAL 写入报告给统计计数器的问题（Nazir Bilal Yavuz）<a href=\"https://postgr.es/c/594001864\">§</a></p>", "text": "修复后台写入器未将其 WAL 写入报告给统计计数器的问题（Nazir Bilal Yavuz）§", "title": "修复后台写入器未将其 WAL 写入报告给统计计数器的问题", "commits": ["594001864"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "248ccf7d7547fe790aeb7c08a5647bf85a2c381cb552db46dba82c939053115f", "section_path": ["变更"], "commit_groups": [["0684d1949", "4a97a43a7", "594001864", "e64c733bb"]], "identity_text": "Fix the background writer to report any WAL writes it makes to the statistics counters (Nazir Bilal Yavuz)", "commit_aliases": ["0684d1949", "4a97a43a7", "594001864", "e64c733bb"], "source_commits": ["594001864"], "source_entry_id": "14.10/changes/030", "db_id": "d30730476e35305f1aad73640f563c66", "patch_ids": ["9da3f272b8d54d3634977d476657bfa2"], "statement_hash": "72b0dfd3d0fd9ee7d1d1ba924b8d4f880587fab7d3803fba5d6d8c8170c3423b", "relations": [{"rule": 2, "type": "equivalent", "target": "5196d330263bc0d2eedff1740498fd79", "evidence": {"same_day": true, "patch_ids": ["9da3f272b8d54d3634977d476657bfa2"], "statement_hash": "72b0dfd3d0fd9ee7d1d1ba924b8d4f880587fab7d3803fba5d6d8c8170c3423b"}}, {"rule": 2, "type": "equivalent", "target": "ba7050d4fb45b86d8cb4128edd2f7faf", "evidence": {"same_day": true, "patch_ids": ["9da3f272b8d54d3634977d476657bfa2"], "statement_hash": "72b0dfd3d0fd9ee7d1d1ba924b8d4f880587fab7d3803fba5d6d8c8170c3423b"}}], "version": "14.10", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "ba7050d4fb45b86d8cb4128edd2f7faf", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "修复后台写入器未将其 WAL 写入报告给统计计数器的问题", "evidence": {"same_day": true, "patch_ids": ["9da3f272b8d54d3634977d476657bfa2"], "statement_hash": "72b0dfd3d0fd9ee7d1d1ba924b8d4f880587fab7d3803fba5d6d8c8170c3423b"}, "url": "/docs/compare/?release=16.1#16.1-65d8e82095353606", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "5196d330263bc0d2eedff1740498fd79", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "修复后台写入器未将其 WAL 写入报告给统计计数器的问题", "evidence": {"same_day": true, "patch_ids": ["9da3f272b8d54d3634977d476657bfa2"], "statement_hash": "72b0dfd3d0fd9ee7d1d1ba924b8d4f880587fab7d3803fba5d6d8c8170c3423b"}, "url": "/docs/compare/?release=15.5#15.5-c829fbb3d50df948", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}]}, {"id": "14.10-99539adad1f5e03e", "cves": [], "html": "<p>跟踪缓存的 <code>CALL</code> 语句的依赖关系，并在需要时重新规划（Tom Lane）<a href=\"https://postgr.es/c/5cff431bc\">§</a></p>\n<p>DDL 命令，例如替换已内联到 <code>CALL</code> 参数中的函数，可能需要重新规划已被 PL/pgSQL 缓存的 <code>CALL</code>。之前这不会发生，导致异常行为或诸如 <span>“<span>cache lookup failed</span>”</span> 之类的奇怪错误。</p>", "text": "跟踪缓存的 CALL 语句的依赖关系，并在需要时重新规划（Tom Lane）§ DDL 命令，例如替换已内联到 CALL 参数中的函数，可能需要重新规划已被 PL/pgSQL 缓存的 CALL。之前这不会发生，导致异常行为或诸如 “cache lookup failed” 之类的奇怪错误。", "title": "跟踪缓存的 CALL 语句的依赖关系，并在需要时重新规划", "commits": ["5cff431bc"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "7e538dad0f09d515fc02f1f6d1f46c8342bfdab02fe1180ac985589ace688855", "section_path": ["变更"], "commit_groups": [["055f786ea", "0e59266a5", "4435a8d5d", "5cff431bc", "8cfc3e80b", "dc8d72c1c", "fdc7cf73b"]], "identity_text": "Track the dependencies of cached CALL statements, and re-plan them when needed (Tom Lane) DDL commands, such as replacement of a function that has been inlined into a CALL argument, can create the need to re-plan a CALL that has been cached by PL/pgSQL. That was not happening, leading to misbehavior or strange errors such as cache lookup failed.", "commit_aliases": ["055f786ea", "0e59266a5", "4435a8d5d", "5cff431bc", "8cfc3e80b", "dc8d72c1c", "fdc7cf73b"], "source_commits": ["5cff431bc"], "source_entry_id": "14.10/changes/031", "db_id": "692df1745c276b8c3864e5516fb90ba9", "patch_ids": ["d151b170f74e32a11350e7a972ecb744"], "statement_hash": "dd5031bfee679f826d6e6229ff8033d590ea9374c21617cb2ba371befb7bb52d", "relations": [{"rule": 2, "type": "equivalent", "target": "1487d17841c67993807ed04e30095f60", "evidence": {"same_day": true, "patch_ids": ["d151b170f74e32a11350e7a972ecb744"], "statement_hash": "dd5031bfee679f826d6e6229ff8033d590ea9374c21617cb2ba371befb7bb52d"}}, {"rule": 2, "type": "equivalent", "target": "1a54405fa5176bd9ebd24191c281a464", "evidence": {"same_day": true, "patch_ids": ["d151b170f74e32a11350e7a972ecb744"], "statement_hash": "dd5031bfee679f826d6e6229ff8033d590ea9374c21617cb2ba371befb7bb52d"}}, {"rule": 2, "type": "equivalent", "target": "2a752703d690e6ef32e7c330fe8735e4", "evidence": {"same_day": true, "patch_ids": ["d151b170f74e32a11350e7a972ecb744"], "statement_hash": "dd5031bfee679f826d6e6229ff8033d590ea9374c21617cb2ba371befb7bb52d"}}, {"rule": 2, "type": "equivalent", "target": "ad0b3fc1bbdac02757099b54bb9285a2", "evidence": {"same_day": true, "patch_ids": ["d151b170f74e32a11350e7a972ecb744"], "statement_hash": "dd5031bfee679f826d6e6229ff8033d590ea9374c21617cb2ba371befb7bb52d"}}, {"rule": 2, "type": "equivalent", "target": "dc2f8e49dc4349ed41293a0c0de418dc", "evidence": {"same_day": true, "patch_ids": ["d151b170f74e32a11350e7a972ecb744"], "statement_hash": "dd5031bfee679f826d6e6229ff8033d590ea9374c21617cb2ba371befb7bb52d"}}], "version": "14.10", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "1a54405fa5176bd9ebd24191c281a464", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "跟踪缓存的 CALL 语句的依赖关系，并在需要时重新规划", "evidence": {"same_day": true, "patch_ids": ["d151b170f74e32a11350e7a972ecb744"], "statement_hash": "dd5031bfee679f826d6e6229ff8033d590ea9374c21617cb2ba371befb7bb52d"}, "url": "/docs/compare/?release=16.1#16.1-53fe25698f0531de", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "ad0b3fc1bbdac02757099b54bb9285a2", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "跟踪缓存的 CALL 语句的依赖关系，并在需要时重新规划", "evidence": {"same_day": true, "patch_ids": ["d151b170f74e32a11350e7a972ecb744"], "statement_hash": "dd5031bfee679f826d6e6229ff8033d590ea9374c21617cb2ba371befb7bb52d"}, "url": "/docs/compare/?release=15.5#15.5-403795d62ed47dc9", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "1487d17841c67993807ed04e30095f60", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "跟踪缓存的 CALL 语句的依赖关系，并在需要时重新规划", "evidence": {"same_day": true, "patch_ids": ["d151b170f74e32a11350e7a972ecb744"], "statement_hash": "dd5031bfee679f826d6e6229ff8033d590ea9374c21617cb2ba371befb7bb52d"}, "url": "/docs/compare/?release=13.13#13.13-5727dc84e6114285", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}, {"db_id": "dc2f8e49dc4349ed41293a0c0de418dc", "kind": "equivalent", "version": "12.17", "label": "12.17", "title": "跟踪缓存的 CALL 语句的依赖关系，并在需要时重新规划", "evidence": {"same_day": true, "patch_ids": ["d151b170f74e32a11350e7a972ecb744"], "statement_hash": "dd5031bfee679f826d6e6229ff8033d590ea9374c21617cb2ba371befb7bb52d"}, "url": "/docs/compare/?release=12.17#12.17-18a160825faa46e2", "source_url": "/docs/release/12.17/#id-1.11.6.11.5"}, {"db_id": "2a752703d690e6ef32e7c330fe8735e4", "kind": "equivalent", "version": "11.22", "label": "11.22", "title": "跟踪缓存的 CALL 语句的依赖关系，并在需要时重新规划", "evidence": {"same_day": true, "patch_ids": ["d151b170f74e32a11350e7a972ecb744"], "statement_hash": "dd5031bfee679f826d6e6229ff8033d590ea9374c21617cb2ba371befb7bb52d"}, "url": "/docs/compare/?release=11.22#11.22-5840fa89fa55fdde", "source_url": "/docs/release/11.22/#id-1.11.6.5.6"}]}, {"id": "14.10-a7ffa9c9c2063f77", "cves": [], "html": "<p>在检查来自外层查询级别的 <code>RECORD</code> 类型 Var 时正确跟踪嵌套深度（Richard Guo）<a href=\"https://postgr.es/c/ae13f8166\">§</a></p>\n<p>此疏忽可能导致断言失败、核心转储或 <span>“<span>bogus varno</span>”</span> 错误。</p>", "text": "在检查来自外层查询级别的 RECORD 类型 Var 时正确跟踪嵌套深度（Richard Guo）§ 此疏忽可能导致断言失败、核心转储或 “bogus varno” 错误。", "title": "在检查来自外层查询级别的 RECORD 类型 Var 时正确跟踪嵌套深度", "commits": ["ae13f8166"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "61dc34bbf832da61df14ea2057b751cb8a16ecfd8de238c53562d27e108652ec", "section_path": ["变更"], "commit_groups": [["2679a107a", "53630f12d", "a374f6c61", "ae13f8166", "c5b7f791d", "d29812c0c", "e0e492e5a"]], "identity_text": "Track nesting depth correctly when inspecting RECORD-type Vars from outer query levels (Richard Guo) This oversight could lead to assertion failures, core dumps, or bogus varno errors.", "commit_aliases": ["2679a107a", "53630f12d", "a374f6c61", "ae13f8166", "c5b7f791d", "d29812c0c", "e0e492e5a"], "source_commits": ["ae13f8166"], "source_entry_id": "14.10/changes/032", "db_id": "32c57fccf9f6e9a420b936606481cb9d", "patch_ids": ["d0431e23c35a94d06e5d2a44329bd4fd"], "statement_hash": "ed22c3e1611610362e0e152644637c66398c1a021cb333c32021e27ad5ea82c5", "relations": [{"rule": 2, "type": "equivalent", "target": "3543945bead243c78fada851f46cd9a8", "evidence": {"same_day": true, "patch_ids": ["d0431e23c35a94d06e5d2a44329bd4fd"], "statement_hash": "ed22c3e1611610362e0e152644637c66398c1a021cb333c32021e27ad5ea82c5"}}, {"rule": 2, "type": "equivalent", "target": "6681232cbaaa0eefc8e6e3e9ff6db27b", "evidence": {"same_day": true, "patch_ids": ["d0431e23c35a94d06e5d2a44329bd4fd"], "statement_hash": "ed22c3e1611610362e0e152644637c66398c1a021cb333c32021e27ad5ea82c5"}}, {"rule": 2, "type": "equivalent", "target": "668a42c014ec775f8a0391b69f6073a1", "evidence": {"same_day": true, "patch_ids": ["d0431e23c35a94d06e5d2a44329bd4fd"], "statement_hash": "ed22c3e1611610362e0e152644637c66398c1a021cb333c32021e27ad5ea82c5"}}, {"rule": 2, "type": "equivalent", "target": "6f7e94fa742ac9471ae0f083e0bd93c5", "evidence": {"same_day": true, "patch_ids": ["d0431e23c35a94d06e5d2a44329bd4fd"], "statement_hash": "ed22c3e1611610362e0e152644637c66398c1a021cb333c32021e27ad5ea82c5"}}, {"rule": 2, "type": "equivalent", "target": "de062e943406b60706de3315a3e15ec2", "evidence": {"same_day": true, "patch_ids": ["d0431e23c35a94d06e5d2a44329bd4fd"], "statement_hash": "ed22c3e1611610362e0e152644637c66398c1a021cb333c32021e27ad5ea82c5"}}], "version": "14.10", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "de062e943406b60706de3315a3e15ec2", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "在检查来自外层查询级别的 RECORD 类型 Var 时正确跟踪嵌套深度", "evidence": {"same_day": true, "patch_ids": ["d0431e23c35a94d06e5d2a44329bd4fd"], "statement_hash": "ed22c3e1611610362e0e152644637c66398c1a021cb333c32021e27ad5ea82c5"}, "url": "/docs/compare/?release=16.1#16.1-4a41a2ad5044435c", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "6f7e94fa742ac9471ae0f083e0bd93c5", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "在检查来自外层查询级别的 RECORD 类型 Var 时正确跟踪嵌套深度", "evidence": {"same_day": true, "patch_ids": ["d0431e23c35a94d06e5d2a44329bd4fd"], "statement_hash": "ed22c3e1611610362e0e152644637c66398c1a021cb333c32021e27ad5ea82c5"}, "url": "/docs/compare/?release=15.5#15.5-a93342167b4a8f59", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "668a42c014ec775f8a0391b69f6073a1", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "在检查来自外层查询级别的 RECORD 类型 Var 时正确跟踪嵌套深度", "evidence": {"same_day": true, "patch_ids": ["d0431e23c35a94d06e5d2a44329bd4fd"], "statement_hash": "ed22c3e1611610362e0e152644637c66398c1a021cb333c32021e27ad5ea82c5"}, "url": "/docs/compare/?release=13.13#13.13-2f6038f57a449d11", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}, {"db_id": "6681232cbaaa0eefc8e6e3e9ff6db27b", "kind": "equivalent", "version": "12.17", "label": "12.17", "title": "在检查来自外层查询级别的 RECORD 类型 Var 时正确跟踪嵌套深度", "evidence": {"same_day": true, "patch_ids": ["d0431e23c35a94d06e5d2a44329bd4fd"], "statement_hash": "ed22c3e1611610362e0e152644637c66398c1a021cb333c32021e27ad5ea82c5"}, "url": "/docs/compare/?release=12.17#12.17-e7f9f1a9d6318f25", "source_url": "/docs/release/12.17/#id-1.11.6.11.5"}, {"db_id": "3543945bead243c78fada851f46cd9a8", "kind": "equivalent", "version": "11.22", "label": "11.22", "title": "在检查来自外层查询级别的 RECORD 类型 Var 时正确跟踪嵌套深度", "evidence": {"same_day": true, "patch_ids": ["d0431e23c35a94d06e5d2a44329bd4fd"], "statement_hash": "ed22c3e1611610362e0e152644637c66398c1a021cb333c32021e27ad5ea82c5"}, "url": "/docs/compare/?release=11.22#11.22-89e2243631bbbdab", "source_url": "/docs/release/11.22/#id-1.11.6.5.6"}]}, {"id": "14.10-b4079d8f6e9a790f", "cves": [], "html": "<p>跟踪 ScalarArrayOpExpr 计划节点的 hash 函数和求反器函数依赖（David Rowley）<a href=\"https://postgr.es/c/6341cb0b0\">§</a></p>\n<p>在大多数情况下，此疏忽是无害的，因为这些函数不太可能在节点的原始操作符仍然存在的情况下消失。</p>", "text": "跟踪 ScalarArrayOpExpr 计划节点的 hash 函数和求反器函数依赖（David Rowley）§ 在大多数情况下，此疏忽是无害的，因为这些函数不太可能在节点的原始操作符仍然存在的情况下消失。", "title": "跟踪 ScalarArrayOpExpr 计划节点的 hash 函数和求反器函数依赖", "commits": ["6341cb0b0"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "e66a06832e13f4352248da2cea303b3014789d1ad025b054029a1b8ca3cc6c8f", "section_path": ["变更"], "commit_groups": [["17a3f1c34", "1a6900e58", "6341cb0b0", "ee3a551e9"]], "identity_text": "Track hash function and negator function dependencies of ScalarArrayOpExpr plan nodes (David Rowley) In most cases this oversight was harmless, since these functions would be unlikely to disappear while the node's original operator remains present.", "commit_aliases": ["17a3f1c34", "1a6900e58", "6341cb0b0", "ee3a551e9"], "source_commits": ["6341cb0b0"], "source_entry_id": "14.10/changes/033", "db_id": "3c7ce03c1edc15cfcc03eec0496a4f65", "patch_ids": ["6564e7b295e4ab5cd641ceba0a1ec372"], "statement_hash": "531bdb6d257fbabc4187f6855f1704efd8f6f0636cb991e12e289ed498b5a2e7", "relations": [{"rule": 2, "type": "equivalent", "target": "80641a4d9aa4be4ad98d10f5e604efd4", "evidence": {"same_day": true, "patch_ids": ["6564e7b295e4ab5cd641ceba0a1ec372"], "statement_hash": "531bdb6d257fbabc4187f6855f1704efd8f6f0636cb991e12e289ed498b5a2e7"}}, {"rule": 2, "type": "equivalent", "target": "9d2ebeeaa50f0e54830dcbdd57e44a6c", "evidence": {"same_day": true, "patch_ids": ["6564e7b295e4ab5cd641ceba0a1ec372"], "statement_hash": "531bdb6d257fbabc4187f6855f1704efd8f6f0636cb991e12e289ed498b5a2e7"}}], "version": "14.10", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "9d2ebeeaa50f0e54830dcbdd57e44a6c", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "跟踪 ScalarArrayOpExpr 计划节点的 hash 函数和求反器函数依赖", "evidence": {"same_day": true, "patch_ids": ["6564e7b295e4ab5cd641ceba0a1ec372"], "statement_hash": "531bdb6d257fbabc4187f6855f1704efd8f6f0636cb991e12e289ed498b5a2e7"}, "url": "/docs/compare/?release=16.1#16.1-222ab318852dc4d9", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "80641a4d9aa4be4ad98d10f5e604efd4", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "跟踪 ScalarArrayOpExpr 计划节点的 hash 函数和求反器函数依赖", "evidence": {"same_day": true, "patch_ids": ["6564e7b295e4ab5cd641ceba0a1ec372"], "statement_hash": "531bdb6d257fbabc4187f6855f1704efd8f6f0636cb991e12e289ed498b5a2e7"}, "url": "/docs/compare/?release=15.5#15.5-a2c661593cfc7258", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}]}, {"id": "14.10-a5edc6f259fe7be1", "cves": [], "html": "<p>修复 <code>RECORD</code> 类型缓存管理中的错误处理缺陷（Thomas Munro）<a href=\"https://postgr.es/c/e2452c2a6\">§</a></p>\n<p>在恰好错误的时刻发生内存不足错误可能留下不一致的状态，导致无限循环。</p>", "text": "修复 RECORD 类型缓存管理中的错误处理缺陷（Thomas Munro）§ 在恰好错误的时刻发生内存不足错误可能留下不一致的状态，导致无限循环。", "title": "修复 RECORD 类型缓存管理中的错误处理缺陷", "commits": ["e2452c2a6"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "63af74fe8cda9a1f8bab6f5e9d588fe7cff6f93cf5e4696b733925920490fbd5", "section_path": ["变更"], "commit_groups": [["012b80ad2", "189097db8", "3acd0599b", "6ae57f190", "a26cc0334", "e2452c2a6", "f899c7f1e"]], "identity_text": "Fix error-handling bug in RECORD type cache management (Thomas Munro) An out-of-memory error occurring at just the wrong point could leave behind inconsistent state that would lead to an infinite loop.", "commit_aliases": ["012b80ad2", "189097db8", "3acd0599b", "6ae57f190", "a26cc0334", "e2452c2a6", "f899c7f1e"], "source_commits": ["e2452c2a6"], "source_entry_id": "14.10/changes/034", "db_id": "2fcc7bae682d51d098cfc6d7ef138251", "patch_ids": ["bbf959dd25503d44fc5ee4ef269d9cf7"], "statement_hash": "17077e598b1ef6286532fd602659aa82d4553bd9227344cb2ee73c167037d140", "relations": [{"rule": 2, "type": "equivalent", "target": "630afa85073551ecc72f86b2e3e040f1", "evidence": {"same_day": true, "patch_ids": ["bbf959dd25503d44fc5ee4ef269d9cf7"], "statement_hash": "17077e598b1ef6286532fd602659aa82d4553bd9227344cb2ee73c167037d140"}}, {"rule": 2, "type": "equivalent", "target": "910734a753f9130250b124d177eb2480", "evidence": {"same_day": true, "patch_ids": ["bbf959dd25503d44fc5ee4ef269d9cf7"], "statement_hash": "17077e598b1ef6286532fd602659aa82d4553bd9227344cb2ee73c167037d140"}}, {"rule": 2, "type": "equivalent", "target": "9882582fb6ef445bf02faa87dfe6a449", "evidence": {"same_day": true, "patch_ids": ["bbf959dd25503d44fc5ee4ef269d9cf7"], "statement_hash": "17077e598b1ef6286532fd602659aa82d4553bd9227344cb2ee73c167037d140"}}, {"rule": 2, "type": "equivalent", "target": "abcf78ff4896829a223d6bd208a2bac9", "evidence": {"same_day": true, "patch_ids": ["bbf959dd25503d44fc5ee4ef269d9cf7"], "statement_hash": "17077e598b1ef6286532fd602659aa82d4553bd9227344cb2ee73c167037d140"}}, {"rule": 2, "type": "equivalent", "target": "c1c2f245a542a9a8db7a2809a754c0f5", "evidence": {"same_day": true, "patch_ids": ["bbf959dd25503d44fc5ee4ef269d9cf7"], "statement_hash": "17077e598b1ef6286532fd602659aa82d4553bd9227344cb2ee73c167037d140"}}], "version": "14.10", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "abcf78ff4896829a223d6bd208a2bac9", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "修复 RECORD 类型缓存管理中的错误处理缺陷", "evidence": {"same_day": true, "patch_ids": ["bbf959dd25503d44fc5ee4ef269d9cf7"], "statement_hash": "17077e598b1ef6286532fd602659aa82d4553bd9227344cb2ee73c167037d140"}, "url": "/docs/compare/?release=16.1#16.1-4d43e955504f9b2c", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "9882582fb6ef445bf02faa87dfe6a449", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "修复 RECORD 类型缓存管理中的错误处理缺陷", "evidence": {"same_day": true, "patch_ids": ["bbf959dd25503d44fc5ee4ef269d9cf7"], "statement_hash": "17077e598b1ef6286532fd602659aa82d4553bd9227344cb2ee73c167037d140"}, "url": "/docs/compare/?release=15.5#15.5-e0bd9b7bba1f6589", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "c1c2f245a542a9a8db7a2809a754c0f5", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "修复 RECORD 类型缓存管理中的错误处理缺陷", "evidence": {"same_day": true, "patch_ids": ["bbf959dd25503d44fc5ee4ef269d9cf7"], "statement_hash": "17077e598b1ef6286532fd602659aa82d4553bd9227344cb2ee73c167037d140"}, "url": "/docs/compare/?release=13.13#13.13-3b79c57cf291a492", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}, {"db_id": "630afa85073551ecc72f86b2e3e040f1", "kind": "equivalent", "version": "12.17", "label": "12.17", "title": "修复 RECORD 类型缓存管理中的错误处理缺陷", "evidence": {"same_day": true, "patch_ids": ["bbf959dd25503d44fc5ee4ef269d9cf7"], "statement_hash": "17077e598b1ef6286532fd602659aa82d4553bd9227344cb2ee73c167037d140"}, "url": "/docs/compare/?release=12.17#12.17-2b68d14bd314992e", "source_url": "/docs/release/12.17/#id-1.11.6.11.5"}, {"db_id": "910734a753f9130250b124d177eb2480", "kind": "equivalent", "version": "11.22", "label": "11.22", "title": "修复 RECORD 类型缓存管理中的错误处理缺陷", "evidence": {"same_day": true, "patch_ids": ["bbf959dd25503d44fc5ee4ef269d9cf7"], "statement_hash": "17077e598b1ef6286532fd602659aa82d4553bd9227344cb2ee73c167037d140"}, "url": "/docs/compare/?release=11.22#11.22-7e85b60791b00239", "source_url": "/docs/release/11.22/#id-1.11.6.5.6"}]}, {"id": "14.10-a8eaf33f090c0dbd", "cves": [], "html": "<p>修复在同一会话中出错后重试逻辑解码时的断言失败（Hou Zhijie）<a href=\"https://postgr.es/c/f7d25117b\">§</a></p>", "text": "修复在同一会话中出错后重试逻辑解码时的断言失败（Hou Zhijie）§", "title": "修复在同一会话中出错后重试逻辑解码时的断言失败", "commits": ["f7d25117b"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "64f6350aa01bc026e62d1a4da7266409cec5d15acfc63dd3880cab099a555e2b", "section_path": ["变更"], "commit_groups": [["7e57208ed", "c570bb4d6", "c7256e656", "f7d25117b", "feb4e218e"]], "identity_text": "Fix assertion failure when logical decoding is retried in the same session after an error (Hou Zhijie)", "commit_aliases": ["7e57208ed", "c570bb4d6", "c7256e656", "f7d25117b", "feb4e218e"], "source_commits": ["f7d25117b"], "source_entry_id": "14.10/changes/035", "db_id": "4b59450f3ec879e12310603a73408649", "patch_ids": ["6ba1bfa6cc8d2592885cc07aba179b01"], "statement_hash": "af8400e730acdcfe878097ab182ee9c0103e1499fbf095a8c55f6139429785db", "relations": [{"rule": 2, "type": "equivalent", "target": "5db72ee0148399e58558ea84f60fc8c4", "evidence": {"same_day": true, "patch_ids": ["6ba1bfa6cc8d2592885cc07aba179b01"], "statement_hash": "af8400e730acdcfe878097ab182ee9c0103e1499fbf095a8c55f6139429785db"}}, {"rule": 2, "type": "equivalent", "target": "6a3c6ac7c886d3790d656686bd5bf677", "evidence": {"same_day": true, "patch_ids": ["6ba1bfa6cc8d2592885cc07aba179b01"], "statement_hash": "af8400e730acdcfe878097ab182ee9c0103e1499fbf095a8c55f6139429785db"}}, {"rule": 2, "type": "equivalent", "target": "9ae6eb7d3d3648d95599e21920fb4534", "evidence": {"same_day": true, "patch_ids": ["6ba1bfa6cc8d2592885cc07aba179b01"], "statement_hash": "af8400e730acdcfe878097ab182ee9c0103e1499fbf095a8c55f6139429785db"}}, {"rule": 2, "type": "equivalent", "target": "de76ad82242169ac713c014bef0a39a7", "evidence": {"same_day": true, "patch_ids": ["6ba1bfa6cc8d2592885cc07aba179b01"], "statement_hash": "af8400e730acdcfe878097ab182ee9c0103e1499fbf095a8c55f6139429785db"}}], "version": "14.10", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "de76ad82242169ac713c014bef0a39a7", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "修复在同一会话中出错后重试逻辑解码时的断言失败", "evidence": {"same_day": true, "patch_ids": ["6ba1bfa6cc8d2592885cc07aba179b01"], "statement_hash": "af8400e730acdcfe878097ab182ee9c0103e1499fbf095a8c55f6139429785db"}, "url": "/docs/compare/?release=15.5#15.5-9dfdb40b5be4092c", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "5db72ee0148399e58558ea84f60fc8c4", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "修复在同一会话中出错后重试逻辑解码时的断言失败", "evidence": {"same_day": true, "patch_ids": ["6ba1bfa6cc8d2592885cc07aba179b01"], "statement_hash": "af8400e730acdcfe878097ab182ee9c0103e1499fbf095a8c55f6139429785db"}, "url": "/docs/compare/?release=13.13#13.13-1dabb9a5a42bcd77", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}, {"db_id": "6a3c6ac7c886d3790d656686bd5bf677", "kind": "equivalent", "version": "12.17", "label": "12.17", "title": "修复在同一会话中出错后重试逻辑解码时的断言失败", "evidence": {"same_day": true, "patch_ids": ["6ba1bfa6cc8d2592885cc07aba179b01"], "statement_hash": "af8400e730acdcfe878097ab182ee9c0103e1499fbf095a8c55f6139429785db"}, "url": "/docs/compare/?release=12.17#12.17-91a4b365508a285c", "source_url": "/docs/release/12.17/#id-1.11.6.11.5"}, {"db_id": "9ae6eb7d3d3648d95599e21920fb4534", "kind": "equivalent", "version": "11.22", "label": "11.22", "title": "修复在同一会话中出错后重试逻辑解码时的断言失败", "evidence": {"same_day": true, "patch_ids": ["6ba1bfa6cc8d2592885cc07aba179b01"], "statement_hash": "af8400e730acdcfe878097ab182ee9c0103e1499fbf095a8c55f6139429785db"}, "url": "/docs/compare/?release=11.22#11.22-423daa21ef2f3570", "source_url": "/docs/release/11.22/#id-1.11.6.5.6"}]}, {"id": "14.10-4bb88aac730e5527", "cves": [], "html": "<p>在读取 WAL 时将内存不足失败视为致命错误（Michael Paquier）<a href=\"https://postgr.es/c/baeb8542c\">§</a></p>\n<p>之前这会被视为无效数据条件，导致得出已到达 WAL 末尾的错误结论，这是不正确的，并可能导致不一致的 WAL 重放。</p>", "text": "在读取 WAL 时将内存不足失败视为致命错误（Michael Paquier）§ 之前这会被视为无效数据条件，导致得出已到达 WAL 末尾的错误结论，这是不正确的，并可能导致不一致的 WAL 重放。", "title": "在读取 WAL 时将内存不足失败视为致命错误", "commits": ["baeb8542c"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "91c71b330edfeb15b896d81b3e13c7acf56ccc24882bf296cf5649ddf7f4663d", "section_path": ["变更"], "commit_groups": [["22b2e6e9d", "6103d2cca", "6b18b3fe2", "a06efbc3a", "afc79591d", "baeb8542c"]], "identity_text": "Treat out-of-memory failures as fatal while reading WAL (Michael Paquier) Previously this would be treated as a bogus-data condition, leading to the conclusion that we'd reached the end of WAL, which is incorrect and could lead to inconsistent WAL replay.", "commit_aliases": ["22b2e6e9d", "6103d2cca", "6b18b3fe2", "a06efbc3a", "afc79591d", "baeb8542c"], "source_commits": ["baeb8542c"], "source_entry_id": "14.10/changes/036", "db_id": "231b2502cd1c1fd8494fd7267c6c0d39", "patch_ids": ["e0cd1caa7b990696a26bffd398107706"], "statement_hash": "c4a360afd0ef3f2e40471ae51900a86dfedf9aab849358fe7e862c88cf7e4f82", "relations": [{"rule": 2, "type": "equivalent", "target": "924ed59f280b8496af52812d7e73f312", "evidence": {"same_day": true, "patch_ids": ["e0cd1caa7b990696a26bffd398107706"], "statement_hash": "c4a360afd0ef3f2e40471ae51900a86dfedf9aab849358fe7e862c88cf7e4f82"}}, {"rule": 2, "type": "equivalent", "target": "cd22b8ea2b2ac4b8d5e4405e84404ce7", "evidence": {"same_day": true, "patch_ids": ["e0cd1caa7b990696a26bffd398107706"], "statement_hash": "c4a360afd0ef3f2e40471ae51900a86dfedf9aab849358fe7e862c88cf7e4f82"}}, {"rule": 2, "type": "equivalent", "target": "d7bbacba367f2ca38cfb8e5f94e4d33f", "evidence": {"same_day": true, "patch_ids": ["e0cd1caa7b990696a26bffd398107706"], "statement_hash": "c4a360afd0ef3f2e40471ae51900a86dfedf9aab849358fe7e862c88cf7e4f82"}}, {"rule": 2, "type": "equivalent", "target": "f27ae374968ad2ef5b6d7308dfd8005d", "evidence": {"same_day": true, "patch_ids": ["e0cd1caa7b990696a26bffd398107706"], "statement_hash": "c4a360afd0ef3f2e40471ae51900a86dfedf9aab849358fe7e862c88cf7e4f82"}}], "version": "14.10", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "924ed59f280b8496af52812d7e73f312", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "在读取 WAL 时将内存不足失败视为致命错误", "evidence": {"same_day": true, "patch_ids": ["e0cd1caa7b990696a26bffd398107706"], "statement_hash": "c4a360afd0ef3f2e40471ae51900a86dfedf9aab849358fe7e862c88cf7e4f82"}, "url": "/docs/compare/?release=16.1#16.1-8306001262c52c26", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "f27ae374968ad2ef5b6d7308dfd8005d", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "在读取 WAL 时将内存不足失败视为致命错误", "evidence": {"same_day": true, "patch_ids": ["e0cd1caa7b990696a26bffd398107706"], "statement_hash": "c4a360afd0ef3f2e40471ae51900a86dfedf9aab849358fe7e862c88cf7e4f82"}, "url": "/docs/compare/?release=15.5#15.5-00ba9a51cc134fd1", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "d7bbacba367f2ca38cfb8e5f94e4d33f", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "在读取 WAL 时将内存不足失败视为致命错误", "evidence": {"same_day": true, "patch_ids": ["e0cd1caa7b990696a26bffd398107706"], "statement_hash": "c4a360afd0ef3f2e40471ae51900a86dfedf9aab849358fe7e862c88cf7e4f82"}, "url": "/docs/compare/?release=13.13#13.13-aea4bfe5fb481401", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}, {"db_id": "cd22b8ea2b2ac4b8d5e4405e84404ce7", "kind": "equivalent", "version": "12.17", "label": "12.17", "title": "在读取 WAL 时将内存不足失败视为致命错误", "evidence": {"same_day": true, "patch_ids": ["e0cd1caa7b990696a26bffd398107706"], "statement_hash": "c4a360afd0ef3f2e40471ae51900a86dfedf9aab849358fe7e862c88cf7e4f82"}, "url": "/docs/compare/?release=12.17#12.17-df91a4fb3747f0dd", "source_url": "/docs/release/12.17/#id-1.11.6.11.5"}]}, {"id": "14.10-cbbd8b35d8741c7d", "cves": [], "html": "<p>修复由于尝试基于伪造的 WAL 记录长度字段分配内存而可能导致的恢复失败（Thomas Munro，Michael Paquier）<a href=\"https://postgr.es/c/3ce3b53d7\">§</a> <a href=\"https://postgr.es/c/3d413c5a7\">§</a></p>", "text": "修复由于尝试基于伪造的 WAL 记录长度字段分配内存而可能导致的恢复失败（Thomas Munro，Michael Paquier）§ §", "title": "修复由于尝试基于伪造的 WAL 记录长度字段分配内存而可能导致的恢复失败", "commits": ["3ce3b53d7", "3d413c5a7"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "2ce038a32359bd8c659b7c20e1cd204fc04d8db6dc375894baa070ff6579e58f", "section_path": ["变更"], "commit_groups": [["10d0591ea", "3d413c5a7", "45d1fe8b5", "99d334a18", "bde2f1847", "becfbdd6c"], ["3ce3b53d7", "6606c5716", "bae868caf", "ce497f648", "e8f3c0687", "f4d152edd"]], "identity_text": "Fix possible recovery failure due to trying to allocate memory based on a bogus WAL record length field (Thomas Munro, Michael Paquier)", "commit_aliases": ["10d0591ea", "3ce3b53d7", "3d413c5a7", "45d1fe8b5", "6606c5716", "99d334a18", "bae868caf", "bde2f1847", "becfbdd6c", "ce497f648", "e8f3c0687", "f4d152edd"], "source_commits": ["3ce3b53d7", "3d413c5a7"], "source_entry_id": "14.10/changes/037", "db_id": "748d9725b1c95e20bfde7341b50118d6", "patch_ids": ["3ac70aec4a3d322fb8eca31faa35495a", "7af0183d45d69154b21fce5aaec6012e"], "statement_hash": "981b89cb590f8cf3d268832df888519833e301c9bb4639e48a4446874d6ee462", "relations": [{"rule": 2, "type": "equivalent", "target": "49d4d72ae184d3224ccd2f9b47c0044e", "evidence": {"same_day": true, "patch_ids": ["3ac70aec4a3d322fb8eca31faa35495a", "7af0183d45d69154b21fce5aaec6012e"], "statement_hash": "981b89cb590f8cf3d268832df888519833e301c9bb4639e48a4446874d6ee462"}}, {"rule": 2, "type": "equivalent", "target": "5004130fcb4304366ea010e2c901d0b8", "evidence": {"same_day": true, "patch_ids": ["3ac70aec4a3d322fb8eca31faa35495a", "7af0183d45d69154b21fce5aaec6012e"], "statement_hash": "981b89cb590f8cf3d268832df888519833e301c9bb4639e48a4446874d6ee462"}}, {"rule": 2, "type": "equivalent", "target": "8249086131bbf4442f00c9cb7ce768b7", "evidence": {"same_day": true, "patch_ids": ["3ac70aec4a3d322fb8eca31faa35495a", "7af0183d45d69154b21fce5aaec6012e"], "statement_hash": "981b89cb590f8cf3d268832df888519833e301c9bb4639e48a4446874d6ee462"}}, {"rule": 2, "type": "equivalent", "target": "91f04dc5a72f326bf424fd40f971cdf4", "evidence": {"same_day": true, "patch_ids": ["3ac70aec4a3d322fb8eca31faa35495a", "7af0183d45d69154b21fce5aaec6012e"], "statement_hash": "981b89cb590f8cf3d268832df888519833e301c9bb4639e48a4446874d6ee462"}}], "version": "14.10", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "8249086131bbf4442f00c9cb7ce768b7", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "修复由于尝试基于伪造的 WAL 记录长度字段分配内存而可能导致的恢复失败", "evidence": {"same_day": true, "patch_ids": ["3ac70aec4a3d322fb8eca31faa35495a", "7af0183d45d69154b21fce5aaec6012e"], "statement_hash": "981b89cb590f8cf3d268832df888519833e301c9bb4639e48a4446874d6ee462"}, "url": "/docs/compare/?release=16.1#16.1-47ae7e27ddaa78ae", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "5004130fcb4304366ea010e2c901d0b8", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "修复由于尝试基于伪造的 WAL 记录长度字段分配内存而可能导致的恢复失败", "evidence": {"same_day": true, "patch_ids": ["3ac70aec4a3d322fb8eca31faa35495a", "7af0183d45d69154b21fce5aaec6012e"], "statement_hash": "981b89cb590f8cf3d268832df888519833e301c9bb4639e48a4446874d6ee462"}, "url": "/docs/compare/?release=15.5#15.5-d38ad77c68ecbf25", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "91f04dc5a72f326bf424fd40f971cdf4", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "修复由于尝试基于伪造的 WAL 记录长度字段分配内存而可能导致的恢复失败", "evidence": {"same_day": true, "patch_ids": ["3ac70aec4a3d322fb8eca31faa35495a", "7af0183d45d69154b21fce5aaec6012e"], "statement_hash": "981b89cb590f8cf3d268832df888519833e301c9bb4639e48a4446874d6ee462"}, "url": "/docs/compare/?release=13.13#13.13-ccba0a02f3a0b778", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}, {"db_id": "49d4d72ae184d3224ccd2f9b47c0044e", "kind": "equivalent", "version": "12.17", "label": "12.17", "title": "修复由于尝试基于伪造的 WAL 记录长度字段分配内存而可能导致的恢复失败", "evidence": {"same_day": true, "patch_ids": ["3ac70aec4a3d322fb8eca31faa35495a", "7af0183d45d69154b21fce5aaec6012e"], "statement_hash": "981b89cb590f8cf3d268832df888519833e301c9bb4639e48a4446874d6ee462"}, "url": "/docs/compare/?release=12.17#12.17-9f3ef1d61e26e57f", "source_url": "/docs/release/12.17/#id-1.11.6.11.5"}]}, {"id": "14.10-01200cb568b27e0e", "cves": [], "html": "<p>确保备库模式的 WAL 恢复在发现无效页面头部时报告错误（Yugo Nagata，Kyotaro Horiguchi）<a href=\"https://postgr.es/c/2f13e8d9e\">§</a></p>", "text": "确保备库模式的 WAL 恢复在发现无效页面头部时报告错误（Yugo Nagata，Kyotaro Horiguchi）§", "title": "确保备库模式的 WAL 恢复在发现无效页面头部时报告错误", "commits": ["2f13e8d9e"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "b1c210c7a26a8b175ca5a79168a21304d89f694da8c7858884a687e0a7d4a6a3", "section_path": ["变更"], "commit_groups": [["2f13e8d9e", "5dc093eac", "7b03d3a3b"]], "identity_text": "Ensure that standby-mode WAL recovery reports an error when an invalid page header is found (Yugo Nagata, Kyotaro Horiguchi)", "commit_aliases": ["2f13e8d9e", "5dc093eac", "7b03d3a3b"], "source_commits": ["2f13e8d9e"], "source_entry_id": "14.10/changes/038", "db_id": "3852764b073ccc1acc63c4b631e14284", "patch_ids": ["8aa3483d5b33e887f3a3aa4cce2f8323"], "statement_hash": "9e9887965c89484bdb50887c3a9ff97886cb3b937890ff9b5d6cf0b7475ed72f", "relations": [{"rule": 2, "type": "equivalent", "target": "88e0869b6237f2ea77cedd9d35e0edb3", "evidence": {"same_day": true, "patch_ids": ["8aa3483d5b33e887f3a3aa4cce2f8323"], "statement_hash": "9e9887965c89484bdb50887c3a9ff97886cb3b937890ff9b5d6cf0b7475ed72f"}}, {"rule": 2, "type": "equivalent", "target": "8a038e1d0f2a96b8dac15a66108e6f43", "evidence": {"same_day": true, "patch_ids": ["8aa3483d5b33e887f3a3aa4cce2f8323"], "statement_hash": "9e9887965c89484bdb50887c3a9ff97886cb3b937890ff9b5d6cf0b7475ed72f"}}], "version": "14.10", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "8a038e1d0f2a96b8dac15a66108e6f43", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "确保备库模式的 WAL 恢复在发现无效页面头部时报告错误", "evidence": {"same_day": true, "patch_ids": ["8aa3483d5b33e887f3a3aa4cce2f8323"], "statement_hash": "9e9887965c89484bdb50887c3a9ff97886cb3b937890ff9b5d6cf0b7475ed72f"}, "url": "/docs/compare/?release=13.13#13.13-229ae3d29fe9f56e", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}, {"db_id": "88e0869b6237f2ea77cedd9d35e0edb3", "kind": "equivalent", "version": "12.17", "label": "12.17", "title": "确保备库模式的 WAL 恢复在发现无效页面头部时报告错误", "evidence": {"same_day": true, "patch_ids": ["8aa3483d5b33e887f3a3aa4cce2f8323"], "statement_hash": "9e9887965c89484bdb50887c3a9ff97886cb3b937890ff9b5d6cf0b7475ed72f"}, "url": "/docs/compare/?release=12.17#12.17-24da136fdcaf0fdb", "source_url": "/docs/release/12.17/#id-1.11.6.11.5"}]}, {"id": "14.10-59d543dd94314bf2", "cves": [], "html": "<p>修复逻辑磁带管理中的数据类型大小混淆（Ranier Vilela）<a href=\"https://postgr.es/c/d2bd4ba30\">§</a></p>\n<p>在 long 类型宽于 int 类型的平台上可能发生整数溢出，但需要一个数 TB 大小的临时文件才能引发问题。</p>", "text": "修复逻辑磁带管理中的数据类型大小混淆（Ranier Vilela）§ 在 long 类型宽于 int 类型的平台上可能发生整数溢出，但需要一个数 TB 大小的临时文件才能引发问题。", "title": "修复逻辑磁带管理中的数据类型大小混淆", "commits": ["d2bd4ba30"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "641c4892a1f6cd0afd7c680aacabecbf1771700a1bad08710c8d0982d64b3b7c", "section_path": ["变更"], "commit_groups": [["1d2939b6d", "420c8dc7e", "5180160c1", "52c6c0f19", "d2bd4ba30"]], "identity_text": "Fix datatype size confusion in logical tape management (Ranier Vilela) Integer overflow was possible on platforms where long is wider than int, although it would take a multiple-terabyte temporary file to cause a problem.", "commit_aliases": ["1d2939b6d", "420c8dc7e", "5180160c1", "52c6c0f19", "d2bd4ba30"], "source_commits": ["d2bd4ba30"], "source_entry_id": "14.10/changes/039", "db_id": "1caf5ebd2b2ee2a42d25e0a86ef8416b", "patch_ids": ["5de5f27b2ddb7b9b509784d5a2b25f86"], "statement_hash": "450e7a8ecb3cfb5e97cdd2ee3feeff871a1507208a57bf7201d3f501614dc8d6", "relations": [{"rule": 2, "type": "equivalent", "target": "9e12c03263e6ea107868ce9dfa79bdb4", "evidence": {"same_day": true, "patch_ids": ["5de5f27b2ddb7b9b509784d5a2b25f86"], "statement_hash": "450e7a8ecb3cfb5e97cdd2ee3feeff871a1507208a57bf7201d3f501614dc8d6"}}, {"rule": 2, "type": "equivalent", "target": "c2e16802f0fdb45e4a7a393d68a93b84", "evidence": {"same_day": true, "patch_ids": ["5de5f27b2ddb7b9b509784d5a2b25f86"], "statement_hash": "450e7a8ecb3cfb5e97cdd2ee3feeff871a1507208a57bf7201d3f501614dc8d6"}}], "version": "14.10", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "c2e16802f0fdb45e4a7a393d68a93b84", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "修复逻辑磁带管理中的数据类型大小混淆", "evidence": {"same_day": true, "patch_ids": ["5de5f27b2ddb7b9b509784d5a2b25f86"], "statement_hash": "450e7a8ecb3cfb5e97cdd2ee3feeff871a1507208a57bf7201d3f501614dc8d6"}, "url": "/docs/compare/?release=15.5#15.5-62b2b35c8b9d8919", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "9e12c03263e6ea107868ce9dfa79bdb4", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "修复逻辑磁带管理中的数据类型大小混淆", "evidence": {"same_day": true, "patch_ids": ["5de5f27b2ddb7b9b509784d5a2b25f86"], "statement_hash": "450e7a8ecb3cfb5e97cdd2ee3feeff871a1507208a57bf7201d3f501614dc8d6"}, "url": "/docs/compare/?release=13.13#13.13-30f4078e4e82d8a1", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}]}, {"id": "14.10-cd4c873bb9c050af", "cves": [], "html": "<p>避免意外关闭 syslogger 进程的 stdin（Heikki Linnakangas）<a href=\"https://postgr.es/c/3d895f95a\">§</a></p>", "text": "避免意外关闭 syslogger 进程的 stdin（Heikki Linnakangas）§", "title": "避免意外关闭 syslogger 进程的 stdin", "commits": ["3d895f95a"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "01923f64487cb0e96f142e6f2c68f1f52202513aae10d63f82224898de4ee99e", "section_path": ["变更"], "commit_groups": [["0c1024060", "3d895f95a", "5f38ff3d0", "5fec3c870", "a01e479e8"]], "identity_text": "Avoid unintended close of syslogger process's stdin (Heikki Linnakangas)", "commit_aliases": ["0c1024060", "3d895f95a", "5f38ff3d0", "5fec3c870", "a01e479e8"], "source_commits": ["3d895f95a"], "source_entry_id": "14.10/changes/040", "db_id": "0a1c74a0fec351eba67f4c7747561f58", "patch_ids": ["d49d5744535dde787120c8f68dc72afb"], "statement_hash": "f2fbf75aef8f7c623a9474b95e94e7625defc8c65ca46fab10c35b7456a6579a", "relations": [{"rule": 2, "type": "equivalent", "target": "03ded8e2c12c84b79273a5dc88b58ce4", "evidence": {"same_day": true, "patch_ids": ["d49d5744535dde787120c8f68dc72afb"], "statement_hash": "f2fbf75aef8f7c623a9474b95e94e7625defc8c65ca46fab10c35b7456a6579a"}}, {"rule": 2, "type": "equivalent", "target": "147d4c5a121771fb2d3367ad05ac0680", "evidence": {"same_day": true, "patch_ids": ["d49d5744535dde787120c8f68dc72afb"], "statement_hash": "f2fbf75aef8f7c623a9474b95e94e7625defc8c65ca46fab10c35b7456a6579a"}}], "version": "14.10", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "03ded8e2c12c84b79273a5dc88b58ce4", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "避免意外关闭 syslogger 进程的 stdin", "evidence": {"same_day": true, "patch_ids": ["d49d5744535dde787120c8f68dc72afb"], "statement_hash": "f2fbf75aef8f7c623a9474b95e94e7625defc8c65ca46fab10c35b7456a6579a"}, "url": "/docs/compare/?release=15.5#15.5-839b6a10cbe9b84c", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "147d4c5a121771fb2d3367ad05ac0680", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "避免意外关闭 syslogger 进程的 stdin", "evidence": {"same_day": true, "patch_ids": ["d49d5744535dde787120c8f68dc72afb"], "statement_hash": "f2fbf75aef8f7c623a9474b95e94e7625defc8c65ca46fab10c35b7456a6579a"}, "url": "/docs/compare/?release=13.13#13.13-afd9f907e3599373", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}]}, {"id": "14.10-ac74e9d5f0c6c37f", "cves": [], "html": "<p>避免对在解析分析过程中不接受有意义处理的工具语句进行计划缓存重新验证（Tom Lane）<a href=\"https://postgr.es/c/9b2a41db1\">§</a></p>\n<p>除了节省一些开销外，这还可以防止在缓存失效后对于不能设置快照的语句（如 <code>SET TRANSACTION ISOLATION LEVEL</code>）发生失败。</p>", "text": "避免对在解析分析过程中不接受有意义处理的工具语句进行计划缓存重新验证（Tom Lane）§ 除了节省一些开销外，这还可以防止在缓存失效后对于不能设置快照的语句（如 SET TRANSACTION ISOLATION LEVEL）发生失败。", "title": "避免对在解析分析过程中不接受有意义处理的工具语句进行计划缓存重新验证", "commits": ["9b2a41db1"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "bdb0093ac9fa3f37430a0fc046688b6d73ef7b760d7d33a3affb6d28a84a2e81", "section_path": ["变更"], "commit_groups": [["27566bcf3", "870085135", "9b2a41db1", "9c59f3862", "b808dbf90", "ba0d737ca", "d8b2fcc9d"]], "identity_text": "Avoid doing plan cache revalidation of utility statements that do not receive interesting processing during parse analysis (Tom Lane) Aside from saving a few cycles, this prevents failure after a cache invalidation for statements that must not set a snapshot, such as SET TRANSACTION ISOLATION LEVEL.", "commit_aliases": ["27566bcf3", "870085135", "9b2a41db1", "9c59f3862", "b808dbf90", "ba0d737ca", "d8b2fcc9d"], "source_commits": ["9b2a41db1"], "source_entry_id": "14.10/changes/041", "db_id": "3486e7c449c0529bcb3e46897bf28cc0", "patch_ids": ["03c38d5967c93e88d4bcff4b590b3f51"], "statement_hash": "d638472b6f5a779506b43d4cc7cb92d7994a2f77aaa99de2a791e0216c96340e", "relations": [{"rule": 2, "type": "equivalent", "target": "2fb502b78a862816d4ad1edcfbefb5e9", "evidence": {"same_day": true, "patch_ids": ["03c38d5967c93e88d4bcff4b590b3f51"], "statement_hash": "d638472b6f5a779506b43d4cc7cb92d7994a2f77aaa99de2a791e0216c96340e"}}, {"rule": 2, "type": "equivalent", "target": "558f571c2524ffd7e76ee51f0e9bd1a7", "evidence": {"same_day": true, "patch_ids": ["03c38d5967c93e88d4bcff4b590b3f51"], "statement_hash": "d638472b6f5a779506b43d4cc7cb92d7994a2f77aaa99de2a791e0216c96340e"}}, {"rule": 2, "type": "equivalent", "target": "9fbf8c3cfa4c4ca8494dd26c859611ea", "evidence": {"same_day": true, "patch_ids": ["03c38d5967c93e88d4bcff4b590b3f51"], "statement_hash": "d638472b6f5a779506b43d4cc7cb92d7994a2f77aaa99de2a791e0216c96340e"}}, {"rule": 2, "type": "equivalent", "target": "f9969ef060cb8efda11944c4b729010b", "evidence": {"same_day": true, "patch_ids": ["03c38d5967c93e88d4bcff4b590b3f51"], "statement_hash": "d638472b6f5a779506b43d4cc7cb92d7994a2f77aaa99de2a791e0216c96340e"}}], "version": "14.10", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "2fb502b78a862816d4ad1edcfbefb5e9", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "避免对在解析分析过程中不接受有意义处理的工具语句进行计划缓存重新验证", "evidence": {"same_day": true, "patch_ids": ["03c38d5967c93e88d4bcff4b590b3f51"], "statement_hash": "d638472b6f5a779506b43d4cc7cb92d7994a2f77aaa99de2a791e0216c96340e"}, "url": "/docs/compare/?release=15.5#15.5-74394c4dbd78bf9a", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "9fbf8c3cfa4c4ca8494dd26c859611ea", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "避免对在解析分析过程中不接受有意义处理的工具语句进行计划缓存重新验证", "evidence": {"same_day": true, "patch_ids": ["03c38d5967c93e88d4bcff4b590b3f51"], "statement_hash": "d638472b6f5a779506b43d4cc7cb92d7994a2f77aaa99de2a791e0216c96340e"}, "url": "/docs/compare/?release=13.13#13.13-c19e8c5d1b28c496", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}, {"db_id": "f9969ef060cb8efda11944c4b729010b", "kind": "equivalent", "version": "12.17", "label": "12.17", "title": "避免对在解析分析过程中不接受有意义处理的工具语句进行计划缓存重新验证", "evidence": {"same_day": true, "patch_ids": ["03c38d5967c93e88d4bcff4b590b3f51"], "statement_hash": "d638472b6f5a779506b43d4cc7cb92d7994a2f77aaa99de2a791e0216c96340e"}, "url": "/docs/compare/?release=12.17#12.17-d6bbc17520c73de7", "source_url": "/docs/release/12.17/#id-1.11.6.11.5"}, {"db_id": "558f571c2524ffd7e76ee51f0e9bd1a7", "kind": "equivalent", "version": "11.22", "label": "11.22", "title": "避免对在解析分析过程中不接受有意义处理的工具语句进行计划缓存重新验证", "evidence": {"same_day": true, "patch_ids": ["03c38d5967c93e88d4bcff4b590b3f51"], "statement_hash": "d638472b6f5a779506b43d4cc7cb92d7994a2f77aaa99de2a791e0216c96340e"}, "url": "/docs/compare/?release=11.22#11.22-1a49223cf4f0440f", "source_url": "/docs/release/11.22/#id-1.11.6.5.6"}]}, {"id": "14.10-d99cfa8956a4c1d9", "cves": [], "html": "<p>在使用期间将按引用传递的 <code>attmissingval</code> 值保存在长生命周期的上下文中（Andrew Dunstan）<a href=\"https://postgr.es/c/7f4515a58\">§</a></p>\n<p>这避免了当元组槽的生命周期超过用于构造其值的元组描述符时可能出现的悬挂指针使用。</p>", "text": "在使用期间将按引用传递的 attmissingval 值保存在长生命周期的上下文中（Andrew Dunstan）§ 这避免了当元组槽的生命周期超过用于构造其值的元组描述符时可能出现的悬挂指针使用。", "title": "在使用期间将按引用传递的 attmissingval 值保存在长生命周期的上下文中", "commits": ["7f4515a58"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "561aa089d460966e0fa55af8cacff71bf71fb42f20d29cabec3948683cd66cd4", "section_path": ["变更"], "commit_groups": [["01993ac74", "1bb619d4d", "2d13dab04", "75f323aa1", "7f4515a58", "a68458108", "f938acd68"], ["b915bf495"]], "identity_text": "Keep by-reference attmissingval values in a long-lived context while they are being used (Andrew Dunstan) This avoids possible use of dangling pointers when a tuple slot outlives the tuple descriptor with which its value was constructed.", "commit_aliases": ["01993ac74", "1bb619d4d", "2d13dab04", "75f323aa1", "7f4515a58", "a68458108", "b915bf495", "f938acd68"], "source_commits": ["7f4515a58", "b915bf495"], "source_entry_id": "14.10/changes/042", "db_id": "3be9f3f12e2f84810231deffc20a89f5", "patch_ids": ["8da127e289f4b08fe964f510186e03d9", "b6fb305304ad57d85eeec2e4a1941dbf"], "statement_hash": "08f2a2de57da6f3f763d5d993b3ad47fd2bc5dde64dd5c51b427de3eff287073", "relations": [{"rule": 2, "type": "equivalent", "target": "32d8e4c66356506bf1d5fb3dfb214397", "evidence": {"same_day": true, "patch_ids": ["8da127e289f4b08fe964f510186e03d9", "b6fb305304ad57d85eeec2e4a1941dbf"], "statement_hash": "08f2a2de57da6f3f763d5d993b3ad47fd2bc5dde64dd5c51b427de3eff287073"}}, {"rule": 2, "type": "equivalent", "target": "8a34d05285c02c1699164868e42711cb", "evidence": {"same_day": true, "patch_ids": ["8da127e289f4b08fe964f510186e03d9", "b6fb305304ad57d85eeec2e4a1941dbf"], "statement_hash": "08f2a2de57da6f3f763d5d993b3ad47fd2bc5dde64dd5c51b427de3eff287073"}}, {"rule": 2, "type": "equivalent", "target": "a1108fedf6b162bc7ffe3f1ad75070dc", "evidence": {"same_day": true, "patch_ids": ["8da127e289f4b08fe964f510186e03d9", "b6fb305304ad57d85eeec2e4a1941dbf"], "statement_hash": "08f2a2de57da6f3f763d5d993b3ad47fd2bc5dde64dd5c51b427de3eff287073"}}, {"rule": 2, "type": "equivalent", "target": "ec436083385b7f9ae9eecb79fc0fa2d6", "evidence": {"same_day": true, "patch_ids": ["8da127e289f4b08fe964f510186e03d9", "b6fb305304ad57d85eeec2e4a1941dbf"], "statement_hash": "08f2a2de57da6f3f763d5d993b3ad47fd2bc5dde64dd5c51b427de3eff287073"}}], "version": "14.10", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "32d8e4c66356506bf1d5fb3dfb214397", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "在使用期间将按引用传递的 attmissingval 值保存在长生命周期的上下文中", "evidence": {"same_day": true, "patch_ids": ["8da127e289f4b08fe964f510186e03d9", "b6fb305304ad57d85eeec2e4a1941dbf"], "statement_hash": "08f2a2de57da6f3f763d5d993b3ad47fd2bc5dde64dd5c51b427de3eff287073"}, "url": "/docs/compare/?release=15.5#15.5-f4f2416a1281eef0", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "ec436083385b7f9ae9eecb79fc0fa2d6", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "在使用期间将按引用传递的 attmissingval 值保存在长生命周期的上下文中", "evidence": {"same_day": true, "patch_ids": ["8da127e289f4b08fe964f510186e03d9", "b6fb305304ad57d85eeec2e4a1941dbf"], "statement_hash": "08f2a2de57da6f3f763d5d993b3ad47fd2bc5dde64dd5c51b427de3eff287073"}, "url": "/docs/compare/?release=13.13#13.13-fc729637c7795fc3", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}, {"db_id": "8a34d05285c02c1699164868e42711cb", "kind": "equivalent", "version": "12.17", "label": "12.17", "title": "在使用期间将按引用传递的 attmissingval 值保存在长生命周期的上下文中", "evidence": {"same_day": true, "patch_ids": ["8da127e289f4b08fe964f510186e03d9", "b6fb305304ad57d85eeec2e4a1941dbf"], "statement_hash": "08f2a2de57da6f3f763d5d993b3ad47fd2bc5dde64dd5c51b427de3eff287073"}, "url": "/docs/compare/?release=12.17#12.17-6a7fca8cd02cab7c", "source_url": "/docs/release/12.17/#id-1.11.6.11.5"}, {"db_id": "a1108fedf6b162bc7ffe3f1ad75070dc", "kind": "equivalent", "version": "11.22", "label": "11.22", "title": "在使用期间将按引用传递的 attmissingval 值保存在长生命周期的上下文中", "evidence": {"same_day": true, "patch_ids": ["8da127e289f4b08fe964f510186e03d9", "b6fb305304ad57d85eeec2e4a1941dbf"], "statement_hash": "08f2a2de57da6f3f763d5d993b3ad47fd2bc5dde64dd5c51b427de3eff287073"}, "url": "/docs/compare/?release=11.22#11.22-4c9f857a381deec3", "source_url": "/docs/release/11.22/#id-1.11.6.5.6"}]}, {"id": "14.10-a96c40745a47e138", "cves": [], "html": "<p>在 <code>ALTER ROLE</code> 之后重新计算 <code>search_path</code> 的有效值（Jeff Davis）<a href=\"https://postgr.es/c/00953f1e2\">§</a> <a href=\"https://postgr.es/c/5a32af3f2\">§</a></p>\n<p>这确保在重命名角色后，特殊字符串 <code>$user</code> 的含义会被重新确定。</p>", "text": "在 ALTER ROLE 之后重新计算 search_path 的有效值（Jeff Davis）§ § 这确保在重命名角色后，特殊字符串 $user 的含义会被重新确定。", "title": "在 ALTER ROLE 之后重新计算 search_path 的有效值", "commits": ["00953f1e2", "5a32af3f2"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "2a182fc42bc34bb9cb0c9a66e4d79c6ab68332aec17249458abbd3d3ea291c9a", "section_path": ["变更"], "commit_groups": [["00953f1e2", "0d56c32c8", "43ba5105a", "90cadfd49", "9f3343e40", "a86d40227", "fa2e87494"], ["01bc42634", "1bc19dfcf", "4caa9e33e", "5a32af3f2", "7bed93a46", "ae1269295", "bee263b08"]], "identity_text": "Recalculate the effective value of search_path after ALTER ROLE (Jeff Davis) This ensures that after renaming a role, the meaning of the special string $user is re-determined.", "commit_aliases": ["00953f1e2", "01bc42634", "0d56c32c8", "1bc19dfcf", "43ba5105a", "4caa9e33e", "5a32af3f2", "7bed93a46", "90cadfd49", "9f3343e40", "a86d40227", "ae1269295", "bee263b08", "fa2e87494"], "source_commits": ["00953f1e2", "5a32af3f2"], "source_entry_id": "14.10/changes/043", "db_id": "12d08d3aa4f8048b215c977ed23a3215", "patch_ids": ["5e842034f62ed19bb7d61fb7f83b30a3", "bb4301e5a7a166e0744d13876ca0b955"], "statement_hash": "e16204c1d317f79b86e682bb1a72d7e45ad8ca33633f099e7409f48ec56af393", "relations": [{"rule": 2, "type": "equivalent", "target": "0e8dd6c80043f85e6072abd27246195a", "evidence": {"same_day": true, "patch_ids": ["5e842034f62ed19bb7d61fb7f83b30a3", "bb4301e5a7a166e0744d13876ca0b955"], "statement_hash": "e16204c1d317f79b86e682bb1a72d7e45ad8ca33633f099e7409f48ec56af393"}}, {"rule": 2, "type": "equivalent", "target": "5390277331b23ef17452ede3ac2cc50c", "evidence": {"same_day": true, "patch_ids": ["5e842034f62ed19bb7d61fb7f83b30a3", "bb4301e5a7a166e0744d13876ca0b955"], "statement_hash": "e16204c1d317f79b86e682bb1a72d7e45ad8ca33633f099e7409f48ec56af393"}}, {"rule": 2, "type": "equivalent", "target": "a3e15b11760eadb9ad089543dd256ae7", "evidence": {"same_day": true, "patch_ids": ["5e842034f62ed19bb7d61fb7f83b30a3", "bb4301e5a7a166e0744d13876ca0b955"], "statement_hash": "e16204c1d317f79b86e682bb1a72d7e45ad8ca33633f099e7409f48ec56af393"}}, {"rule": 2, "type": "equivalent", "target": "b56a44e40ffacfa537106c5b759c3e52", "evidence": {"same_day": true, "patch_ids": ["5e842034f62ed19bb7d61fb7f83b30a3", "bb4301e5a7a166e0744d13876ca0b955"], "statement_hash": "e16204c1d317f79b86e682bb1a72d7e45ad8ca33633f099e7409f48ec56af393"}}], "version": "14.10", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "b56a44e40ffacfa537106c5b759c3e52", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "在 ALTER ROLE 之后重新计算 search_path 的有效值", "evidence": {"same_day": true, "patch_ids": ["5e842034f62ed19bb7d61fb7f83b30a3", "bb4301e5a7a166e0744d13876ca0b955"], "statement_hash": "e16204c1d317f79b86e682bb1a72d7e45ad8ca33633f099e7409f48ec56af393"}, "url": "/docs/compare/?release=15.5#15.5-8e9d773fbc0e30b5", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "5390277331b23ef17452ede3ac2cc50c", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "在 ALTER ROLE 之后重新计算 search_path 的有效值", "evidence": {"same_day": true, "patch_ids": ["5e842034f62ed19bb7d61fb7f83b30a3", "bb4301e5a7a166e0744d13876ca0b955"], "statement_hash": "e16204c1d317f79b86e682bb1a72d7e45ad8ca33633f099e7409f48ec56af393"}, "url": "/docs/compare/?release=13.13#13.13-c867ab93a5683398", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}, {"db_id": "a3e15b11760eadb9ad089543dd256ae7", "kind": "equivalent", "version": "12.17", "label": "12.17", "title": "在 ALTER ROLE 之后重新计算 search_path 的有效值", "evidence": {"same_day": true, "patch_ids": ["5e842034f62ed19bb7d61fb7f83b30a3", "bb4301e5a7a166e0744d13876ca0b955"], "statement_hash": "e16204c1d317f79b86e682bb1a72d7e45ad8ca33633f099e7409f48ec56af393"}, "url": "/docs/compare/?release=12.17#12.17-b9309ef769400934", "source_url": "/docs/release/12.17/#id-1.11.6.11.5"}, {"db_id": "0e8dd6c80043f85e6072abd27246195a", "kind": "equivalent", "version": "11.22", "label": "11.22", "title": "在 ALTER ROLE 之后重新计算 search_path 的有效值", "evidence": {"same_day": true, "patch_ids": ["5e842034f62ed19bb7d61fb7f83b30a3", "bb4301e5a7a166e0744d13876ca0b955"], "statement_hash": "e16204c1d317f79b86e682bb1a72d7e45ad8ca33633f099e7409f48ec56af393"}, "url": "/docs/compare/?release=11.22#11.22-c35e087a34320a7f", "source_url": "/docs/release/11.22/#id-1.11.6.5.6"}]}, {"id": "14.10-78822e51b67b3c99", "cves": [], "html": "<p>修复在 Windows 上当 <code>min_dynamic_shared_memory</code> 设置为大于零时出现的 <span>“<span>could not duplicate handle</span>”</span> 错误（Thomas Munro）<a href=\"https://postgr.es/c/fb9a16a1a\">§</a></p>", "text": "修复在 Windows 上当 min_dynamic_shared_memory 设置为大于零时出现的 “could not duplicate handle” 错误（Thomas Munro）§", "title": "修复在 Windows 上当 min_dynamic_shared_memory 设置为大于零时出现的 “could not duplicate handle” 错误", "commits": ["fb9a16a1a"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "e7aa8b8e8846e72308402f4e696b3a0f5160e589a48dbe66db1756bb16eab839", "section_path": ["变更"], "commit_groups": [["174ccda5e", "dab889d60", "f72790b29", "fb9a16a1a"]], "identity_text": "Fix could not duplicate handle error occurring on Windows when min_dynamic_shared_memory is set above zero (Thomas Munro)", "commit_aliases": ["174ccda5e", "dab889d60", "f72790b29", "fb9a16a1a"], "source_commits": ["fb9a16a1a"], "source_entry_id": "14.10/changes/044", "db_id": "c47e7fa87a6bb0e08b6d7f311798c87e", "patch_ids": ["9b32a326813dca8a7097380bd649b45f"], "statement_hash": "d5966f80aaf08196b907f0e0cd0cedc3507476a7a6358fad2a5dda4824573029", "relations": [{"rule": 2, "type": "equivalent", "target": "25ff89a9f3c791b5ec7dab98e355e5b1", "evidence": {"same_day": true, "patch_ids": ["9b32a326813dca8a7097380bd649b45f"], "statement_hash": "d5966f80aaf08196b907f0e0cd0cedc3507476a7a6358fad2a5dda4824573029"}}, {"rule": 2, "type": "equivalent", "target": "f237abef09a3b9371f9787e2658d8bac", "evidence": {"same_day": true, "patch_ids": ["9b32a326813dca8a7097380bd649b45f"], "statement_hash": "d5966f80aaf08196b907f0e0cd0cedc3507476a7a6358fad2a5dda4824573029"}}], "version": "14.10", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "25ff89a9f3c791b5ec7dab98e355e5b1", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "修复在 Windows 上当 min_dynamic_shared_memory 设置为大于零时出现的 “could not duplicate handle” 错误", "evidence": {"same_day": true, "patch_ids": ["9b32a326813dca8a7097380bd649b45f"], "statement_hash": "d5966f80aaf08196b907f0e0cd0cedc3507476a7a6358fad2a5dda4824573029"}, "url": "/docs/compare/?release=16.1#16.1-056b9900bc9ba8b7", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "f237abef09a3b9371f9787e2658d8bac", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "修复在 Windows 上当 min_dynamic_shared_memory 设置为大于零时出现的 “could not duplicate handle” 错误", "evidence": {"same_day": true, "patch_ids": ["9b32a326813dca8a7097380bd649b45f"], "statement_hash": "d5966f80aaf08196b907f0e0cd0cedc3507476a7a6358fad2a5dda4824573029"}, "url": "/docs/compare/?release=15.5#15.5-18df127c15cb90e3", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}]}, {"id": "14.10-81ee2f2d5ac943e8", "cves": [], "html": "<p>修复 <code>GenericXLogFinish</code> 中的操作顺序（Jeff Davis）<a href=\"https://postgr.es/c/6615bb95a\">§</a></p>\n<p>此代码在将更改的缓冲区标记为脏之前就写入了 WAL，违反了崩溃安全所需的条件。核心代码没有使用此函数，但扩展会使用（例如 <code>contrib/bloom</code>）。</p>", "text": "修复 GenericXLogFinish 中的操作顺序（Jeff Davis）§ 此代码在将更改的缓冲区标记为脏之前就写入了 WAL，违反了崩溃安全所需的条件。核心代码没有使用此函数，但扩展会使用（例如 contrib/bloom）。", "title": "修复 GenericXLogFinish 中的操作顺序", "commits": ["6615bb95a"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "b6b76a05c0f5e209ae12dd6d66be78f1ee3238fb43e31480695002219d71b368", "section_path": ["变更"], "commit_groups": [["04f0baa85", "469d367be", "6615bb95a", "6dbd01b9f", "b8963e8a2", "b9bb02620", "ef74c7197"]], "identity_text": "Fix order of operations in GenericXLogFinish (Jeff Davis) This code violated the conditions required for crash safety by writing WAL before marking changed buffers dirty. No core code uses this function, but extensions do (contrib/bloom does, for example).", "commit_aliases": ["04f0baa85", "469d367be", "6615bb95a", "6dbd01b9f", "b8963e8a2", "b9bb02620", "ef74c7197"], "source_commits": ["6615bb95a"], "source_entry_id": "14.10/changes/045", "db_id": "7c32d87e6f3b8249150f2af273bec934", "patch_ids": ["bd7a3a85904058e4f6abbcb11bd32d98"], "statement_hash": "3e2d6b47b23e0718b47d04b72cc261397b203df51ccde3c8f15f94d9fb1aa837", "relations": [{"rule": 2, "type": "equivalent", "target": "1b180e1797c4a541539d23793d66203b", "evidence": {"same_day": true, "patch_ids": ["bd7a3a85904058e4f6abbcb11bd32d98"], "statement_hash": "3e2d6b47b23e0718b47d04b72cc261397b203df51ccde3c8f15f94d9fb1aa837"}}, {"rule": 2, "type": "equivalent", "target": "56fdcd2471815966a9406016d8f155ab", "evidence": {"same_day": true, "patch_ids": ["bd7a3a85904058e4f6abbcb11bd32d98"], "statement_hash": "3e2d6b47b23e0718b47d04b72cc261397b203df51ccde3c8f15f94d9fb1aa837"}}, {"rule": 2, "type": "equivalent", "target": "61c6c32100c65d4d9d08a4413658ba0f", "evidence": {"same_day": true, "patch_ids": ["bd7a3a85904058e4f6abbcb11bd32d98"], "statement_hash": "3e2d6b47b23e0718b47d04b72cc261397b203df51ccde3c8f15f94d9fb1aa837"}}, {"rule": 2, "type": "equivalent", "target": "9c4e097c80c1eef302393ab83faa30d0", "evidence": {"same_day": true, "patch_ids": ["bd7a3a85904058e4f6abbcb11bd32d98"], "statement_hash": "3e2d6b47b23e0718b47d04b72cc261397b203df51ccde3c8f15f94d9fb1aa837"}}, {"rule": 2, "type": "equivalent", "target": "9ef966ebe248441ad6aea22f52558ddd", "evidence": {"same_day": true, "patch_ids": ["bd7a3a85904058e4f6abbcb11bd32d98"], "statement_hash": "3e2d6b47b23e0718b47d04b72cc261397b203df51ccde3c8f15f94d9fb1aa837"}}], "version": "14.10", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "9c4e097c80c1eef302393ab83faa30d0", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "修复 GenericXLogFinish 中的操作顺序", "evidence": {"same_day": true, "patch_ids": ["bd7a3a85904058e4f6abbcb11bd32d98"], "statement_hash": "3e2d6b47b23e0718b47d04b72cc261397b203df51ccde3c8f15f94d9fb1aa837"}, "url": "/docs/compare/?release=16.1#16.1-72777bf5de245f48", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "61c6c32100c65d4d9d08a4413658ba0f", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "修复 GenericXLogFinish 中的操作顺序", "evidence": {"same_day": true, "patch_ids": ["bd7a3a85904058e4f6abbcb11bd32d98"], "statement_hash": "3e2d6b47b23e0718b47d04b72cc261397b203df51ccde3c8f15f94d9fb1aa837"}, "url": "/docs/compare/?release=15.5#15.5-b61125b63eca15d5", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "56fdcd2471815966a9406016d8f155ab", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "修复 GenericXLogFinish 中的操作顺序", "evidence": {"same_day": true, "patch_ids": ["bd7a3a85904058e4f6abbcb11bd32d98"], "statement_hash": "3e2d6b47b23e0718b47d04b72cc261397b203df51ccde3c8f15f94d9fb1aa837"}, "url": "/docs/compare/?release=13.13#13.13-890e26d7eda46482", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}, {"db_id": "9ef966ebe248441ad6aea22f52558ddd", "kind": "equivalent", "version": "12.17", "label": "12.17", "title": "修复 GenericXLogFinish 中的操作顺序", "evidence": {"same_day": true, "patch_ids": ["bd7a3a85904058e4f6abbcb11bd32d98"], "statement_hash": "3e2d6b47b23e0718b47d04b72cc261397b203df51ccde3c8f15f94d9fb1aa837"}, "url": "/docs/compare/?release=12.17#12.17-6a91fdf5f6e9563a", "source_url": "/docs/release/12.17/#id-1.11.6.11.5"}, {"db_id": "1b180e1797c4a541539d23793d66203b", "kind": "equivalent", "version": "11.22", "label": "11.22", "title": "修复 GenericXLogFinish 中的操作顺序", "evidence": {"same_day": true, "patch_ids": ["bd7a3a85904058e4f6abbcb11bd32d98"], "statement_hash": "3e2d6b47b23e0718b47d04b72cc261397b203df51ccde3c8f15f94d9fb1aa837"}, "url": "/docs/compare/?release=11.22#11.22-ac099ca027ebfb60", "source_url": "/docs/release/11.22/#id-1.11.6.5.6"}]}, {"id": "14.10-65007d3672492eeb", "cves": [], "html": "<p>移除 PL/Python 异常处理中的不正确断言（Alexander Lakhin）<a href=\"https://postgr.es/c/bb65f3c1b\">§</a></p>", "text": "移除 PL/Python 异常处理中的不正确断言（Alexander Lakhin）§", "title": "移除 PL/Python 异常处理中的不正确断言", "commits": ["bb65f3c1b"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "ab261359862f14a6185daee183b2e3ec190c29c6a418b878612d068115921286", "section_path": ["变更"], "commit_groups": [["35e8ba3e5", "99d27e55c", "9e0ce80f3", "af5b3c3d1", "bb65f3c1b", "ddded779a", "f171430f0"]], "identity_text": "Remove incorrect assertion in PL/Python exception handling (Alexander Lakhin)", "commit_aliases": ["35e8ba3e5", "99d27e55c", "9e0ce80f3", "af5b3c3d1", "bb65f3c1b", "ddded779a", "f171430f0"], "source_commits": ["bb65f3c1b"], "source_entry_id": "14.10/changes/046", "db_id": "34f72232f88d2c8113b147b4b4c60849", "patch_ids": ["f0046a383d3185a6acedaad23f9124f3"], "statement_hash": "01d474392eb4f3d384a5e0c5defe7b8069be3a823b5254c8af32036ddb6a05da", "relations": [{"rule": 2, "type": "equivalent", "target": "058fe6702eb481fceca693a6258232fc", "evidence": {"same_day": true, "patch_ids": ["f0046a383d3185a6acedaad23f9124f3"], "statement_hash": "01d474392eb4f3d384a5e0c5defe7b8069be3a823b5254c8af32036ddb6a05da"}}, {"rule": 2, "type": "equivalent", "target": "6dc31139b4d2be5a1c3158dfce7a85db", "evidence": {"same_day": true, "patch_ids": ["f0046a383d3185a6acedaad23f9124f3"], "statement_hash": "01d474392eb4f3d384a5e0c5defe7b8069be3a823b5254c8af32036ddb6a05da"}}, {"rule": 2, "type": "equivalent", "target": "89486b43985b6f630fb1088659e7311e", "evidence": {"same_day": true, "patch_ids": ["f0046a383d3185a6acedaad23f9124f3"], "statement_hash": "01d474392eb4f3d384a5e0c5defe7b8069be3a823b5254c8af32036ddb6a05da"}}, {"rule": 2, "type": "equivalent", "target": "acb9055b5bb405c50411e57d9654dc8d", "evidence": {"same_day": true, "patch_ids": ["f0046a383d3185a6acedaad23f9124f3"], "statement_hash": "01d474392eb4f3d384a5e0c5defe7b8069be3a823b5254c8af32036ddb6a05da"}}, {"rule": 2, "type": "equivalent", "target": "d70e749ac35cbe2c8c0511280d6cf413", "evidence": {"same_day": true, "patch_ids": ["f0046a383d3185a6acedaad23f9124f3"], "statement_hash": "01d474392eb4f3d384a5e0c5defe7b8069be3a823b5254c8af32036ddb6a05da"}}], "version": "14.10", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "6dc31139b4d2be5a1c3158dfce7a85db", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "移除 PL/Python 异常处理中的不正确断言", "evidence": {"same_day": true, "patch_ids": ["f0046a383d3185a6acedaad23f9124f3"], "statement_hash": "01d474392eb4f3d384a5e0c5defe7b8069be3a823b5254c8af32036ddb6a05da"}, "url": "/docs/compare/?release=16.1#16.1-cd267753f991b20a", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "058fe6702eb481fceca693a6258232fc", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "移除 PL/Python 异常处理中的不正确断言", "evidence": {"same_day": true, "patch_ids": ["f0046a383d3185a6acedaad23f9124f3"], "statement_hash": "01d474392eb4f3d384a5e0c5defe7b8069be3a823b5254c8af32036ddb6a05da"}, "url": "/docs/compare/?release=15.5#15.5-78a4e8e99c9e6113", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "d70e749ac35cbe2c8c0511280d6cf413", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "移除 PL/Python 异常处理中的不正确断言", "evidence": {"same_day": true, "patch_ids": ["f0046a383d3185a6acedaad23f9124f3"], "statement_hash": "01d474392eb4f3d384a5e0c5defe7b8069be3a823b5254c8af32036ddb6a05da"}, "url": "/docs/compare/?release=13.13#13.13-cda9e50b8904a42d", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}, {"db_id": "89486b43985b6f630fb1088659e7311e", "kind": "equivalent", "version": "12.17", "label": "12.17", "title": "移除 PL/Python 异常处理中的不正确断言", "evidence": {"same_day": true, "patch_ids": ["f0046a383d3185a6acedaad23f9124f3"], "statement_hash": "01d474392eb4f3d384a5e0c5defe7b8069be3a823b5254c8af32036ddb6a05da"}, "url": "/docs/compare/?release=12.17#12.17-732682fbbdf2b9af", "source_url": "/docs/release/12.17/#id-1.11.6.11.5"}, {"db_id": "acb9055b5bb405c50411e57d9654dc8d", "kind": "equivalent", "version": "11.22", "label": "11.22", "title": "移除 PL/Python 异常处理中的不正确断言", "evidence": {"same_day": true, "patch_ids": ["f0046a383d3185a6acedaad23f9124f3"], "statement_hash": "01d474392eb4f3d384a5e0c5defe7b8069be3a823b5254c8af32036ddb6a05da"}, "url": "/docs/compare/?release=11.22#11.22-3de32ca5a816f3f3", "source_url": "/docs/release/11.22/#id-1.11.6.5.6"}]}, {"id": "14.10-617e833763ff8b6f", "cves": [], "html": "<p>修复 <span>pg_restore</span>，使选择性恢复能够同时包含所选表的表级和列级 ACL（Euler Taveira，Tom Lane）<a href=\"https://postgr.es/c/829d91cc6\">§</a></p>\n<p>之前，如果两种类型都存在，只会恢复表级 ACL。</p>", "text": "修复 pg_restore，使选择性恢复能够同时包含所选表的表级和列级 ACL（Euler Taveira，Tom Lane）§ 之前，如果两种类型都存在，只会恢复表级 ACL。", "title": "修复 pg_restore，使选择性恢复能够同时包含所选表的表级和列级 ACL", "commits": ["829d91cc6"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "b7fbee94bf89d48cb83da1820d2fd637c9eba3965897d376ab2b97d8d1c499b3", "section_path": ["变更"], "commit_groups": [["06c0c3688", "10e705bd2", "295953f8b", "4f16152d9", "829d91cc6", "aaaf8fbb6", "c02f29758"]], "identity_text": "Fix pg_restore so that selective restores will include both table-level and column-level ACLs for selected tables (Euler Taveira, Tom Lane) Formerly, only the table-level ACL would get restored if both types were present.", "commit_aliases": ["06c0c3688", "10e705bd2", "295953f8b", "4f16152d9", "829d91cc6", "aaaf8fbb6", "c02f29758"], "source_commits": ["829d91cc6"], "source_entry_id": "14.10/changes/047", "db_id": "412661ef133221630648dbf55e99b490", "patch_ids": ["d238d50d2ce73e23100077ffc68351c6"], "statement_hash": "b05820049ad07c5c1774cdf1156749061d13db40589d9a7b23ac017653b3077d", "relations": [{"rule": 2, "type": "equivalent", "target": "2131547ac59bcdc4724160a3181219de", "evidence": {"same_day": true, "patch_ids": ["d238d50d2ce73e23100077ffc68351c6"], "statement_hash": "b05820049ad07c5c1774cdf1156749061d13db40589d9a7b23ac017653b3077d"}}, {"rule": 2, "type": "equivalent", "target": "302558461ac2a969704eef7bf95cbe35", "evidence": {"same_day": true, "patch_ids": ["d238d50d2ce73e23100077ffc68351c6"], "statement_hash": "b05820049ad07c5c1774cdf1156749061d13db40589d9a7b23ac017653b3077d"}}, {"rule": 2, "type": "equivalent", "target": "4282f9960890427dc1256f8d24bda6fa", "evidence": {"same_day": true, "patch_ids": ["d238d50d2ce73e23100077ffc68351c6"], "statement_hash": "b05820049ad07c5c1774cdf1156749061d13db40589d9a7b23ac017653b3077d"}}, {"rule": 2, "type": "equivalent", "target": "79a645f700a7b01c2d229d8683ebf8bd", "evidence": {"same_day": true, "patch_ids": ["d238d50d2ce73e23100077ffc68351c6"], "statement_hash": "b05820049ad07c5c1774cdf1156749061d13db40589d9a7b23ac017653b3077d"}}, {"rule": 2, "type": "equivalent", "target": "9d58445bcb9ee4aa696ca5ff7fa07a34", "evidence": {"same_day": true, "patch_ids": ["d238d50d2ce73e23100077ffc68351c6"], "statement_hash": "b05820049ad07c5c1774cdf1156749061d13db40589d9a7b23ac017653b3077d"}}], "version": "14.10", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "79a645f700a7b01c2d229d8683ebf8bd", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "修复 pg_restore，使选择性恢复能够同时包含所选表的表级和列级 ACL", "evidence": {"same_day": true, "patch_ids": ["d238d50d2ce73e23100077ffc68351c6"], "statement_hash": "b05820049ad07c5c1774cdf1156749061d13db40589d9a7b23ac017653b3077d"}, "url": "/docs/compare/?release=16.1#16.1-5d47a28a721967e8", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "302558461ac2a969704eef7bf95cbe35", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "修复 pg_restore，使选择性恢复能够同时包含所选表的表级和列级 ACL", "evidence": {"same_day": true, "patch_ids": ["d238d50d2ce73e23100077ffc68351c6"], "statement_hash": "b05820049ad07c5c1774cdf1156749061d13db40589d9a7b23ac017653b3077d"}, "url": "/docs/compare/?release=15.5#15.5-549c3330a7fad7e3", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "2131547ac59bcdc4724160a3181219de", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "修复 pg_restore，使选择性恢复能够同时包含所选表的表级和列级 ACL", "evidence": {"same_day": true, "patch_ids": ["d238d50d2ce73e23100077ffc68351c6"], "statement_hash": "b05820049ad07c5c1774cdf1156749061d13db40589d9a7b23ac017653b3077d"}, "url": "/docs/compare/?release=13.13#13.13-e02f7a923efb86f8", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}, {"db_id": "9d58445bcb9ee4aa696ca5ff7fa07a34", "kind": "equivalent", "version": "12.17", "label": "12.17", "title": "修复 pg_restore，使选择性恢复能够同时包含所选表的表级和列级 ACL", "evidence": {"same_day": true, "patch_ids": ["d238d50d2ce73e23100077ffc68351c6"], "statement_hash": "b05820049ad07c5c1774cdf1156749061d13db40589d9a7b23ac017653b3077d"}, "url": "/docs/compare/?release=12.17#12.17-5c437003fa0fbcb1", "source_url": "/docs/release/12.17/#id-1.11.6.11.5"}, {"db_id": "4282f9960890427dc1256f8d24bda6fa", "kind": "equivalent", "version": "11.22", "label": "11.22", "title": "修复 pg_restore，使选择性恢复能够同时包含所选表的表级和列级 ACL", "evidence": {"same_day": true, "patch_ids": ["d238d50d2ce73e23100077ffc68351c6"], "statement_hash": "b05820049ad07c5c1774cdf1156749061d13db40589d9a7b23ac017653b3077d"}, "url": "/docs/compare/?release=11.22#11.22-a6785b91c5a52928", "source_url": "/docs/release/11.22/#id-1.11.6.5.6"}]}, {"id": "14.10-0cd79d030bed6a99", "cves": [], "html": "<p>在 <span>pg_upgrade</span> 中增加对 <code>abstime</code>、<code>reltime</code> 和 <code>tinterval</code> 数据类型使用的检查（Álvaro Herrera）<a href=\"https://postgr.es/c/26c291a15\">§</a> <a href=\"https://postgr.es/c/f9280e77e\">§</a></p>\n<p>这些过时的数据类型已在 <span>PostgreSQL</span> 版本 12 中移除，因此在声称旧数据库可以升级之前，需要确保其中不存在这些类型。</p>", "text": "在 pg_upgrade 中增加对 abstime、reltime 和 tinterval 数据类型使用的检查（Álvaro Herrera）§ § 这些过时的数据类型已在 PostgreSQL 版本 12 中移除，因此在声称旧数据库可以升级之前，需要确保其中不存在这些类型。", "title": "在 pg_upgrade 中增加对 abstime、reltime 和 tinterval 数据类型使用的检查", "commits": ["26c291a15", "f9280e77e"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "b0e41861aca0d84756d287fa6d6af0af5851023eeea7c454e42b0b15b4cadbf3", "section_path": ["变更"], "commit_groups": [["04d2d605f", "2f1f49975", "d3246a2ad", "f9280e77e"], ["26c291a15", "2e3dc8c14", "8845d8597", "af9f6cd1d", "d3946c4f6", "fb9ddd0fa"]], "identity_text": "Add logic to pg_upgrade to check for use of abstime, reltime, and tinterval data types (Álvaro Herrera) These obsolete data types were removed in PostgreSQL version 12, so check to make sure they aren't present in an older database before claiming it can be upgraded.", "commit_aliases": ["04d2d605f", "26c291a15", "2e3dc8c14", "2f1f49975", "8845d8597", "af9f6cd1d", "d3246a2ad", "d3946c4f6", "f9280e77e", "fb9ddd0fa"], "source_commits": ["26c291a15", "f9280e77e"], "source_entry_id": "14.10/changes/048", "db_id": "e934bd8e8a629227e415bcebc458f138", "patch_ids": ["43a1ed48fc62c2947dcac628a0151d55", "b2ca49ee08f96b4d11d4b0e6a5ce188a"], "statement_hash": "71bc3276811f888d0cdd4651e0ce6a448f4f01967be5ec907cb502dce38cd12b", "relations": [{"rule": 2, "type": "equivalent", "target": "2366052a8cfbeca59f12ac9cfb94f3f2", "evidence": {"same_day": true, "patch_ids": ["43a1ed48fc62c2947dcac628a0151d55", "b2ca49ee08f96b4d11d4b0e6a5ce188a"], "statement_hash": "71bc3276811f888d0cdd4651e0ce6a448f4f01967be5ec907cb502dce38cd12b"}}, {"rule": 2, "type": "equivalent", "target": "71e659f8c6a94b7dd48a713a2e518e67", "evidence": {"same_day": true, "patch_ids": ["43a1ed48fc62c2947dcac628a0151d55", "b2ca49ee08f96b4d11d4b0e6a5ce188a"], "statement_hash": "71bc3276811f888d0cdd4651e0ce6a448f4f01967be5ec907cb502dce38cd12b"}}, {"rule": 2, "type": "equivalent", "target": "92a09069bcdae1953f673d61387c7759", "evidence": {"same_day": true, "patch_ids": ["43a1ed48fc62c2947dcac628a0151d55", "b2ca49ee08f96b4d11d4b0e6a5ce188a"], "statement_hash": "71bc3276811f888d0cdd4651e0ce6a448f4f01967be5ec907cb502dce38cd12b"}}, {"rule": 2, "type": "equivalent", "target": "c8dba6be7269bdd8b6f8ff01e36654aa", "evidence": {"same_day": true, "patch_ids": ["43a1ed48fc62c2947dcac628a0151d55", "b2ca49ee08f96b4d11d4b0e6a5ce188a"], "statement_hash": "71bc3276811f888d0cdd4651e0ce6a448f4f01967be5ec907cb502dce38cd12b"}}], "version": "14.10", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "71e659f8c6a94b7dd48a713a2e518e67", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "在 pg_upgrade 中增加对 abstime、reltime 和 tinterval 数据类型使用的检查", "evidence": {"same_day": true, "patch_ids": ["43a1ed48fc62c2947dcac628a0151d55", "b2ca49ee08f96b4d11d4b0e6a5ce188a"], "statement_hash": "71bc3276811f888d0cdd4651e0ce6a448f4f01967be5ec907cb502dce38cd12b"}, "url": "/docs/compare/?release=16.1#16.1-c1d8d960116d5e87", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "92a09069bcdae1953f673d61387c7759", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "在 pg_upgrade 中增加对 abstime、reltime 和 tinterval 数据类型使用的检查", "evidence": {"same_day": true, "patch_ids": ["43a1ed48fc62c2947dcac628a0151d55", "b2ca49ee08f96b4d11d4b0e6a5ce188a"], "statement_hash": "71bc3276811f888d0cdd4651e0ce6a448f4f01967be5ec907cb502dce38cd12b"}, "url": "/docs/compare/?release=15.5#15.5-7741975398eafd84", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "c8dba6be7269bdd8b6f8ff01e36654aa", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "在 pg_upgrade 中增加对 abstime、reltime 和 tinterval 数据类型使用的检查", "evidence": {"same_day": true, "patch_ids": ["43a1ed48fc62c2947dcac628a0151d55", "b2ca49ee08f96b4d11d4b0e6a5ce188a"], "statement_hash": "71bc3276811f888d0cdd4651e0ce6a448f4f01967be5ec907cb502dce38cd12b"}, "url": "/docs/compare/?release=13.13#13.13-bb62ba10fd7c97c1", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}, {"db_id": "2366052a8cfbeca59f12ac9cfb94f3f2", "kind": "equivalent", "version": "12.17", "label": "12.17", "title": "在 pg_upgrade 中增加对 abstime、reltime 和 tinterval 数据类型使用的检查", "evidence": {"same_day": true, "patch_ids": ["43a1ed48fc62c2947dcac628a0151d55", "b2ca49ee08f96b4d11d4b0e6a5ce188a"], "statement_hash": "71bc3276811f888d0cdd4651e0ce6a448f4f01967be5ec907cb502dce38cd12b"}, "url": "/docs/compare/?release=12.17#12.17-67296bd96b86db1c", "source_url": "/docs/release/12.17/#id-1.11.6.11.5"}]}, {"id": "14.10-df78ed87f8a2a71b", "cves": [], "html": "<p>避免在 <span>pg_basebackup</span> 中生成无效的临时槽名（Jelte Fennema）<a href=\"https://postgr.es/c/9de74ca70\">§</a></p>\n<p>这仅在服务器连接通过 <span>pgbouncer</span> 时被观察到。</p>", "text": "避免在 pg_basebackup 中生成无效的临时槽名（Jelte Fennema）§ 这仅在服务器连接通过 pgbouncer 时被观察到。", "title": "避免在 pg_basebackup 中生成无效的临时槽名", "commits": ["9de74ca70"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "470dcb63dc088ef31d153300a8019110bb6d0fd07503cc4e1bbb2b6fc7af008b", "section_path": ["变更"], "commit_groups": [["105795843", "2fe968ce9", "574bff7bd", "6cdd7b805", "9de74ca70", "dbd1a06c9", "e1c6db630"]], "identity_text": "Avoid generating invalid temporary slot names in pg_basebackup (Jelte Fennema) This has only been seen to occur when the server connection runs through pgbouncer.", "commit_aliases": ["105795843", "2fe968ce9", "574bff7bd", "6cdd7b805", "9de74ca70", "dbd1a06c9", "e1c6db630"], "source_commits": ["9de74ca70"], "source_entry_id": "14.10/changes/049", "db_id": "47869ab08f6232514fd6de2181cf44cd", "patch_ids": ["33925cb42e8eb19625a390d453445d77"], "statement_hash": "0e79a31c5f7a4748d194469d2c09bdeb099c939ab26662abcb898d1ad7c2c2b1", "relations": [{"rule": 2, "type": "equivalent", "target": "248f82bf55cd31ead3bcb32b2d02aaf7", "evidence": {"same_day": true, "patch_ids": ["33925cb42e8eb19625a390d453445d77"], "statement_hash": "0e79a31c5f7a4748d194469d2c09bdeb099c939ab26662abcb898d1ad7c2c2b1"}}, {"rule": 2, "type": "equivalent", "target": "29871136659f86c0c2e5989da3bfb60b", "evidence": {"same_day": true, "patch_ids": ["33925cb42e8eb19625a390d453445d77"], "statement_hash": "0e79a31c5f7a4748d194469d2c09bdeb099c939ab26662abcb898d1ad7c2c2b1"}}, {"rule": 2, "type": "equivalent", "target": "64c099d9842a37cff559f0a35ef82178", "evidence": {"same_day": true, "patch_ids": ["33925cb42e8eb19625a390d453445d77"], "statement_hash": "0e79a31c5f7a4748d194469d2c09bdeb099c939ab26662abcb898d1ad7c2c2b1"}}, {"rule": 2, "type": "equivalent", "target": "e4ecb54f6f4cd23430c950ba911c848f", "evidence": {"same_day": true, "patch_ids": ["33925cb42e8eb19625a390d453445d77"], "statement_hash": "0e79a31c5f7a4748d194469d2c09bdeb099c939ab26662abcb898d1ad7c2c2b1"}}], "version": "14.10", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "e4ecb54f6f4cd23430c950ba911c848f", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "避免在 pg_basebackup 中生成无效的临时槽名", "evidence": {"same_day": true, "patch_ids": ["33925cb42e8eb19625a390d453445d77"], "statement_hash": "0e79a31c5f7a4748d194469d2c09bdeb099c939ab26662abcb898d1ad7c2c2b1"}, "url": "/docs/compare/?release=15.5#15.5-1947b715ebba1e73", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "29871136659f86c0c2e5989da3bfb60b", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "避免在 pg_basebackup 中生成无效的临时槽名", "evidence": {"same_day": true, "patch_ids": ["33925cb42e8eb19625a390d453445d77"], "statement_hash": "0e79a31c5f7a4748d194469d2c09bdeb099c939ab26662abcb898d1ad7c2c2b1"}, "url": "/docs/compare/?release=13.13#13.13-54ecff4398d38a33", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}, {"db_id": "248f82bf55cd31ead3bcb32b2d02aaf7", "kind": "equivalent", "version": "12.17", "label": "12.17", "title": "避免在 pg_basebackup 中生成无效的临时槽名", "evidence": {"same_day": true, "patch_ids": ["33925cb42e8eb19625a390d453445d77"], "statement_hash": "0e79a31c5f7a4748d194469d2c09bdeb099c939ab26662abcb898d1ad7c2c2b1"}, "url": "/docs/compare/?release=12.17#12.17-5cdf4accd53124b0", "source_url": "/docs/release/12.17/#id-1.11.6.11.5"}, {"db_id": "64c099d9842a37cff559f0a35ef82178", "kind": "equivalent", "version": "11.22", "label": "11.22", "title": "避免在 pg_basebackup 中生成无效的临时槽名", "evidence": {"same_day": true, "patch_ids": ["33925cb42e8eb19625a390d453445d77"], "statement_hash": "0e79a31c5f7a4748d194469d2c09bdeb099c939ab26662abcb898d1ad7c2c2b1"}, "url": "/docs/compare/?release=11.22#11.22-18118279cd51704f", "source_url": "/docs/release/11.22/#id-1.11.6.5.6"}]}, {"id": "14.10-59536d62f0a0878a", "cves": [], "html": "<p>避免在 Windows 上 <span>pgbench</span> 中出现虚假的 <span>“<span>too many client connections</span>”</span> 错误（Noah Misch）<a href=\"https://postgr.es/c/0df88a686\">§</a></p>", "text": "避免在 Windows 上 pgbench 中出现虚假的 “too many client connections” 错误（Noah Misch）§", "title": "避免在 Windows 上 pgbench 中出现虚假的 “too many client connections” 错误", "commits": ["0df88a686"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "5f6170650dc45ac63352ccb78d749efa2b2512762bf46290d8a45df0e7e073a2", "section_path": ["变更"], "commit_groups": [["06ff06484", "0df88a686", "1102f4ece", "3895e9153", "73cda80a3", "90ebcc32d"]], "identity_text": "Avoid false too many client connections errors in pgbench on Windows (Noah Misch)", "commit_aliases": ["06ff06484", "0df88a686", "1102f4ece", "3895e9153", "73cda80a3", "90ebcc32d"], "source_commits": ["0df88a686"], "source_entry_id": "14.10/changes/050", "db_id": "7bf19e30aa9fa1cd754182099c0c376d", "patch_ids": ["2780294901b7130574a563777cc21dfc"], "statement_hash": "7f543108fe43115146bd742aaf5ca5711921405f567676aa9577423b18d8a309", "relations": [{"rule": 2, "type": "equivalent", "target": "452ee86caa83537e7fe60788bbced011", "evidence": {"same_day": true, "patch_ids": ["2780294901b7130574a563777cc21dfc"], "statement_hash": "7f543108fe43115146bd742aaf5ca5711921405f567676aa9577423b18d8a309"}}, {"rule": 2, "type": "equivalent", "target": "519c47e3c8ca694821b66282cc378d09", "evidence": {"same_day": true, "patch_ids": ["2780294901b7130574a563777cc21dfc"], "statement_hash": "7f543108fe43115146bd742aaf5ca5711921405f567676aa9577423b18d8a309"}}, {"rule": 2, "type": "equivalent", "target": "a209dfb1e56931cd8e7c716c2530701c", "evidence": {"same_day": true, "patch_ids": ["2780294901b7130574a563777cc21dfc"], "statement_hash": "7f543108fe43115146bd742aaf5ca5711921405f567676aa9577423b18d8a309"}}, {"rule": 2, "type": "equivalent", "target": "dbe51dcd9f16cad59ba344580fc951eb", "evidence": {"same_day": true, "patch_ids": ["2780294901b7130574a563777cc21dfc"], "statement_hash": "7f543108fe43115146bd742aaf5ca5711921405f567676aa9577423b18d8a309"}}], "version": "14.10", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "452ee86caa83537e7fe60788bbced011", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "避免在 Windows 上 pgbench 中出现虚假的 “too many client connections” 错误", "evidence": {"same_day": true, "patch_ids": ["2780294901b7130574a563777cc21dfc"], "statement_hash": "7f543108fe43115146bd742aaf5ca5711921405f567676aa9577423b18d8a309"}, "url": "/docs/compare/?release=16.1#16.1-a61c39eab88cd512", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "dbe51dcd9f16cad59ba344580fc951eb", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "避免在 Windows 上 pgbench 中出现虚假的 “too many client connections” 错误", "evidence": {"same_day": true, "patch_ids": ["2780294901b7130574a563777cc21dfc"], "statement_hash": "7f543108fe43115146bd742aaf5ca5711921405f567676aa9577423b18d8a309"}, "url": "/docs/compare/?release=15.5#15.5-0315882f787cb411", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "519c47e3c8ca694821b66282cc378d09", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "避免在 Windows 上 pgbench 中出现虚假的 “too many client connections” 错误", "evidence": {"same_day": true, "patch_ids": ["2780294901b7130574a563777cc21dfc"], "statement_hash": "7f543108fe43115146bd742aaf5ca5711921405f567676aa9577423b18d8a309"}, "url": "/docs/compare/?release=13.13#13.13-817cd05fa68a0e3e", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}, {"db_id": "a209dfb1e56931cd8e7c716c2530701c", "kind": "equivalent", "version": "12.17", "label": "12.17", "title": "避免在 Windows 上 pgbench 中出现虚假的 “too many client connections” 错误", "evidence": {"same_day": true, "patch_ids": ["2780294901b7130574a563777cc21dfc"], "statement_hash": "7f543108fe43115146bd742aaf5ca5711921405f567676aa9577423b18d8a309"}, "url": "/docs/compare/?release=12.17#12.17-882e6ba253904a4e", "source_url": "/docs/release/12.17/#id-1.11.6.11.5"}]}, {"id": "14.10-e607fc00fb438959", "cves": [], "html": "<p>在 <code>contrib/amcheck</code> 中，不将被中断的页面删除报告为损坏（Noah Misch）<a href=\"https://postgr.es/c/42496cba6\">§</a></p>\n<p>此修复防止了 <span>“<span>the first child of leftmost target page is not leftmost of its level</span>”</span>、<span>“<span>block NNNN is not leftmost</span>”</span> 或 <span>“<span>left link/right link pair in index XXXX not in agreement</span>”</span> 的误报。这些误报出现在 <span>amcheck</span> 在未完成的 B-树索引页面删除之后且 <code>VACUUM</code> 清理之前运行时。</p>", "text": "在 contrib/amcheck 中，不将被中断的页面删除报告为损坏（Noah Misch）§ 此修复防止了 “the first child of leftmost target page is not leftmost of its level”、“block NNNN is not leftmost” 或 “left link/right link pair in index XXXX not in agreement” 的误报。这些误报出现在 amcheck 在未完成的 B-树索引页面删除之后且 VACUUM 清理之前运行时。", "title": "在 contrib/amcheck 中，不将被中断的页面删除报告为损坏", "commits": ["42496cba6"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "2f485d272940dc1ce015e95332f69de565fa0aa0f24e93c46868c4ae06532d8e", "section_path": ["变更"], "commit_groups": [["3a205c916", "3c6a05b80", "42496cba6", "6ec9e9975", "6f81386a9", "e04509f32", "f31ccb575"]], "identity_text": "In contrib/amcheck, do not report interrupted page deletion as corruption (Noah Misch) This fix prevents false-positive reports of the first child of leftmost target page is not leftmost of its level, block NNNN is not leftmost or left link/right link pair in index XXXX not in agreement. They appeared if amcheck ran after an unfinished btree index page deletion and before VACUUM had cleaned things up.", "commit_aliases": ["3a205c916", "3c6a05b80", "42496cba6", "6ec9e9975", "6f81386a9", "e04509f32", "f31ccb575"], "source_commits": ["42496cba6"], "source_entry_id": "14.10/changes/051", "db_id": "7f89c62ce761a8e710280306b63c9382", "patch_ids": ["83e4ef6619cef4f609a760ec0e92abdb"], "statement_hash": "7ebcabb4b48af0667c3ecf2e967b8c18202814693e8d0ae24f0bb2d495893386", "relations": [{"rule": 2, "type": "equivalent", "target": "5b53a5f229384f927f774cef448e3568", "evidence": {"same_day": true, "patch_ids": ["83e4ef6619cef4f609a760ec0e92abdb"], "statement_hash": "7ebcabb4b48af0667c3ecf2e967b8c18202814693e8d0ae24f0bb2d495893386"}}, {"rule": 2, "type": "equivalent", "target": "9dedd63a3f50409489e06df7f677c3b7", "evidence": {"same_day": true, "patch_ids": ["83e4ef6619cef4f609a760ec0e92abdb"], "statement_hash": "7ebcabb4b48af0667c3ecf2e967b8c18202814693e8d0ae24f0bb2d495893386"}}, {"rule": 2, "type": "equivalent", "target": "be9f4bfaaa3e6a9ddd97ed2186e07557", "evidence": {"same_day": true, "patch_ids": ["83e4ef6619cef4f609a760ec0e92abdb"], "statement_hash": "7ebcabb4b48af0667c3ecf2e967b8c18202814693e8d0ae24f0bb2d495893386"}}, {"rule": 2, "type": "equivalent", "target": "d8ee619b4c02cdf238c242b7c84cf8d2", "evidence": {"same_day": true, "patch_ids": ["83e4ef6619cef4f609a760ec0e92abdb"], "statement_hash": "7ebcabb4b48af0667c3ecf2e967b8c18202814693e8d0ae24f0bb2d495893386"}}, {"rule": 2, "type": "equivalent", "target": "fd41839d53181a54d5cc23a74741f5d5", "evidence": {"same_day": true, "patch_ids": ["83e4ef6619cef4f609a760ec0e92abdb"], "statement_hash": "7ebcabb4b48af0667c3ecf2e967b8c18202814693e8d0ae24f0bb2d495893386"}}], "version": "14.10", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "5b53a5f229384f927f774cef448e3568", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "在 contrib/amcheck 中，不将被中断的页面删除报告为损坏", "evidence": {"same_day": true, "patch_ids": ["83e4ef6619cef4f609a760ec0e92abdb"], "statement_hash": "7ebcabb4b48af0667c3ecf2e967b8c18202814693e8d0ae24f0bb2d495893386"}, "url": "/docs/compare/?release=16.1#16.1-3342797ee931fa2c", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "9dedd63a3f50409489e06df7f677c3b7", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "在 contrib/amcheck 中，不将被中断的页面删除报告为损坏", "evidence": {"same_day": true, "patch_ids": ["83e4ef6619cef4f609a760ec0e92abdb"], "statement_hash": "7ebcabb4b48af0667c3ecf2e967b8c18202814693e8d0ae24f0bb2d495893386"}, "url": "/docs/compare/?release=15.5#15.5-d3dfba334e6bf911", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "be9f4bfaaa3e6a9ddd97ed2186e07557", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "在 contrib/amcheck 中，不将被中断的页面删除报告为损坏", "evidence": {"same_day": true, "patch_ids": ["83e4ef6619cef4f609a760ec0e92abdb"], "statement_hash": "7ebcabb4b48af0667c3ecf2e967b8c18202814693e8d0ae24f0bb2d495893386"}, "url": "/docs/compare/?release=13.13#13.13-1b550f07f47d6f74", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}, {"db_id": "d8ee619b4c02cdf238c242b7c84cf8d2", "kind": "equivalent", "version": "12.17", "label": "12.17", "title": "在 contrib/amcheck 中，不将被中断的页面删除报告为损坏", "evidence": {"same_day": true, "patch_ids": ["83e4ef6619cef4f609a760ec0e92abdb"], "statement_hash": "7ebcabb4b48af0667c3ecf2e967b8c18202814693e8d0ae24f0bb2d495893386"}, "url": "/docs/compare/?release=12.17#12.17-13ecc152d9ad3e91", "source_url": "/docs/release/12.17/#id-1.11.6.11.5"}, {"db_id": "fd41839d53181a54d5cc23a74741f5d5", "kind": "equivalent", "version": "11.22", "label": "11.22", "title": "在 contrib/amcheck 中，不将被中断的页面删除报告为损坏", "evidence": {"same_day": true, "patch_ids": ["83e4ef6619cef4f609a760ec0e92abdb"], "statement_hash": "7ebcabb4b48af0667c3ecf2e967b8c18202814693e8d0ae24f0bb2d495893386"}, "url": "/docs/compare/?release=11.22#11.22-cc2d47c4bfbbe3a1", "source_url": "/docs/release/11.22/#id-1.11.6.5.6"}]}, {"id": "14.10-27d139caec78ff29", "cves": [], "html": "<p>修复 <code>contrib/btree_gin</code> 在 <code>interval</code> 列上的索引在执行使用 <code>&lt;</code> 或 <code>&lt;=</code> 操作符的索引扫描时的失败（Dean Rasheed）<a href=\"https://postgr.es/c/162b38a06\">§</a></p>\n<p>这样的索引扫描无法返回所有应返回的条目。</p>", "text": "修复 contrib/btree_gin 在 interval 列上的索引在执行使用 < 或 <= 操作符的索引扫描时的失败（Dean Rasheed）§ 这样的索引扫描无法返回所有应返回的条目。", "title": "修复 contrib/btree_gin 在 interval 列上的索引在执行使用 < 或 <= 操作符的索引扫描时的失败", "commits": ["162b38a06"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "045ba1fe41de16fc9eb18dcf23a71bdf7ac9305a5d0e30f3cc7e796e703377f1", "section_path": ["变更"], "commit_groups": [["162b38a06", "35e6a5c20", "5f0691839", "849172ff4", "ab73a37e9", "c804ffb56", "f7cd7b265"]], "identity_text": "Fix failure of contrib/btree_gin indexes on interval columns, when an indexscan using the < or <= operator is performed (Dean Rasheed) Such an indexscan failed to return all the entries it should.", "commit_aliases": ["162b38a06", "35e6a5c20", "5f0691839", "849172ff4", "ab73a37e9", "c804ffb56", "f7cd7b265"], "source_commits": ["162b38a06"], "source_entry_id": "14.10/changes/052", "db_id": "fd219a1293f00b8394656ea647581882", "patch_ids": ["84f913c6297a057f16db346fb67300e4"], "statement_hash": "3e66f075a51be5c57dd3a33105154071359cdead98207ece255868bd85b5d860", "relations": [{"rule": 2, "type": "equivalent", "target": "009cea7e5da099d3bd27cbff559d4cf1", "evidence": {"same_day": true, "patch_ids": ["84f913c6297a057f16db346fb67300e4"], "statement_hash": "3e66f075a51be5c57dd3a33105154071359cdead98207ece255868bd85b5d860"}}, {"rule": 2, "type": "equivalent", "target": "09fc75bafe53c1f45ccee66e736cd192", "evidence": {"same_day": true, "patch_ids": ["84f913c6297a057f16db346fb67300e4"], "statement_hash": "3e66f075a51be5c57dd3a33105154071359cdead98207ece255868bd85b5d860"}}, {"rule": 2, "type": "equivalent", "target": "46be902eb6dad47c512aed47256cc3a6", "evidence": {"same_day": true, "patch_ids": ["84f913c6297a057f16db346fb67300e4"], "statement_hash": "3e66f075a51be5c57dd3a33105154071359cdead98207ece255868bd85b5d860"}}, {"rule": 2, "type": "equivalent", "target": "66554317a5f4f755259d5ad20ed1f836", "evidence": {"same_day": true, "patch_ids": ["84f913c6297a057f16db346fb67300e4"], "statement_hash": "3e66f075a51be5c57dd3a33105154071359cdead98207ece255868bd85b5d860"}}, {"rule": 2, "type": "equivalent", "target": "832af3b39b90b210fd007494ada7f758", "evidence": {"same_day": true, "patch_ids": ["84f913c6297a057f16db346fb67300e4"], "statement_hash": "3e66f075a51be5c57dd3a33105154071359cdead98207ece255868bd85b5d860"}}], "version": "14.10", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "832af3b39b90b210fd007494ada7f758", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "修复 contrib/btree_gin 在 interval 列上的索引在执行使用 < 或 <= 操作符的索引扫描时的失败", "evidence": {"same_day": true, "patch_ids": ["84f913c6297a057f16db346fb67300e4"], "statement_hash": "3e66f075a51be5c57dd3a33105154071359cdead98207ece255868bd85b5d860"}, "url": "/docs/compare/?release=16.1#16.1-8115689a73bc7d1f", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "66554317a5f4f755259d5ad20ed1f836", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "修复 contrib/btree_gin 在 interval 列上的索引在执行使用 < 或 <= 操作符的索引扫描时的失败", "evidence": {"same_day": true, "patch_ids": ["84f913c6297a057f16db346fb67300e4"], "statement_hash": "3e66f075a51be5c57dd3a33105154071359cdead98207ece255868bd85b5d860"}, "url": "/docs/compare/?release=15.5#15.5-2a495edd80d13e4f", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "009cea7e5da099d3bd27cbff559d4cf1", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "修复 contrib/btree_gin 在 interval 列上的索引在执行使用 < 或 <= 操作符的索引扫描时的失败", "evidence": {"same_day": true, "patch_ids": ["84f913c6297a057f16db346fb67300e4"], "statement_hash": "3e66f075a51be5c57dd3a33105154071359cdead98207ece255868bd85b5d860"}, "url": "/docs/compare/?release=13.13#13.13-0d781e1d4bb8887d", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}, {"db_id": "09fc75bafe53c1f45ccee66e736cd192", "kind": "equivalent", "version": "12.17", "label": "12.17", "title": "修复 contrib/btree_gin 在 interval 列上的索引在执行使用 < 或 <= 操作符的索引扫描时的失败", "evidence": {"same_day": true, "patch_ids": ["84f913c6297a057f16db346fb67300e4"], "statement_hash": "3e66f075a51be5c57dd3a33105154071359cdead98207ece255868bd85b5d860"}, "url": "/docs/compare/?release=12.17#12.17-3cf6de6fa066c547", "source_url": "/docs/release/12.17/#id-1.11.6.11.5"}, {"db_id": "46be902eb6dad47c512aed47256cc3a6", "kind": "equivalent", "version": "11.22", "label": "11.22", "title": "修复 contrib/btree_gin 在 interval 列上的索引在执行使用 < 或 <= 操作符的索引扫描时的失败", "evidence": {"same_day": true, "patch_ids": ["84f913c6297a057f16db346fb67300e4"], "statement_hash": "3e66f075a51be5c57dd3a33105154071359cdead98207ece255868bd85b5d860"}, "url": "/docs/compare/?release=11.22#11.22-1fa757aba0c130ab", "source_url": "/docs/release/11.22/#id-1.11.6.5.6"}]}, {"id": "14.10-f21e24bd3b01232a", "cves": [], "html": "<p>增加对 LLVM 16 和 17 的支持（Thomas Munro，Dmitry Dolgov）<a href=\"https://postgr.es/c/0a8b7d5c1\">§</a> <a href=\"https://postgr.es/c/82d9a782a\">§</a> <a href=\"https://postgr.es/c/ee3e4c41f\">§</a></p>", "text": "增加对 LLVM 16 和 17 的支持（Thomas Munro，Dmitry Dolgov）§ § §", "title": "增加对 LLVM 16 和 17 的支持", "commits": ["0a8b7d5c1", "82d9a782a", "ee3e4c41f"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "655db84161b1f3f9f2f5350b34c733923722073ba615e2e17ca5c3ed17df1f52", "section_path": ["变更"], "commit_groups": [["0a8b7d5c1", "53c4dabe1", "76200e5ee", "774185056", "7da915e33", "b60e3ac76"], ["15ddc9725", "37d5babb5", "74d19ec09", "82d9a782a", "eed1feb3f", "f28956b23"], ["60596f148", "981292c19", "b2e097788", "d701f0d1f", "ee3e4c41f", "f90b4a846"], ["7c070e224", "9ad986276"]], "identity_text": "Add support for LLVM 16 and 17 (Thomas Munro, Dmitry Dolgov)", "commit_aliases": ["0a8b7d5c1", "15ddc9725", "37d5babb5", "53c4dabe1", "60596f148", "74d19ec09", "76200e5ee", "774185056", "7c070e224", "7da915e33", "82d9a782a", "981292c19", "9ad986276", "b2e097788", "b60e3ac76", "d701f0d1f", "ee3e4c41f", "eed1feb3f", "f28956b23", "f90b4a846"], "source_commits": ["0a8b7d5c1", "7c070e224", "82d9a782a", "ee3e4c41f"], "source_entry_id": "14.10/changes/053", "db_id": "69cccc8d5d144e56463fb7e8dcdd5ab6", "patch_ids": ["4608433d39e69599bbd1c2e12efe2bc8", "4f39a7e788fa268757ebae21b3399a4b", "5a7a440eec4f7b5c085a254917051668", "cd2a51aad46e6f425ca90312af1a85b1"], "statement_hash": "5de6078d4566df4986d303e091aa16a8f18761e85570fe824aae0e1cbfe20668", "relations": [{"rule": 2, "type": "equivalent", "target": "007c120ddb57b6841e60b1f23de49af5", "evidence": {"same_day": true, "patch_ids": ["4608433d39e69599bbd1c2e12efe2bc8", "4f39a7e788fa268757ebae21b3399a4b", "5a7a440eec4f7b5c085a254917051668", "cd2a51aad46e6f425ca90312af1a85b1"], "statement_hash": "5de6078d4566df4986d303e091aa16a8f18761e85570fe824aae0e1cbfe20668"}}, {"rule": 2, "type": "equivalent", "target": "44ecc0dade5b0c9fb36d888323f1cd01", "evidence": {"same_day": true, "patch_ids": ["4608433d39e69599bbd1c2e12efe2bc8", "4f39a7e788fa268757ebae21b3399a4b", "5a7a440eec4f7b5c085a254917051668", "cd2a51aad46e6f425ca90312af1a85b1"], "statement_hash": "5de6078d4566df4986d303e091aa16a8f18761e85570fe824aae0e1cbfe20668"}}, {"rule": 2, "type": "equivalent", "target": "e08f9c82df7e0b6b2778678bfb0c8430", "evidence": {"same_day": true, "patch_ids": ["4608433d39e69599bbd1c2e12efe2bc8", "4f39a7e788fa268757ebae21b3399a4b", "5a7a440eec4f7b5c085a254917051668", "cd2a51aad46e6f425ca90312af1a85b1"], "statement_hash": "5de6078d4566df4986d303e091aa16a8f18761e85570fe824aae0e1cbfe20668"}}, {"rule": 2, "type": "equivalent", "target": "e8a52c776d10ff6d7c6f4744d3c9a2a0", "evidence": {"same_day": true, "patch_ids": ["4608433d39e69599bbd1c2e12efe2bc8", "4f39a7e788fa268757ebae21b3399a4b", "5a7a440eec4f7b5c085a254917051668", "cd2a51aad46e6f425ca90312af1a85b1"], "statement_hash": "5de6078d4566df4986d303e091aa16a8f18761e85570fe824aae0e1cbfe20668"}}], "version": "14.10", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "44ecc0dade5b0c9fb36d888323f1cd01", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "增加对 LLVM 16 和 17 的支持", "evidence": {"same_day": true, "patch_ids": ["4608433d39e69599bbd1c2e12efe2bc8", "4f39a7e788fa268757ebae21b3399a4b", "5a7a440eec4f7b5c085a254917051668", "cd2a51aad46e6f425ca90312af1a85b1"], "statement_hash": "5de6078d4566df4986d303e091aa16a8f18761e85570fe824aae0e1cbfe20668"}, "url": "/docs/compare/?release=16.1#16.1-9a90d9e624c911ab", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "e08f9c82df7e0b6b2778678bfb0c8430", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "增加对 LLVM 16 和 17 的支持", "evidence": {"same_day": true, "patch_ids": ["4608433d39e69599bbd1c2e12efe2bc8", "4f39a7e788fa268757ebae21b3399a4b", "5a7a440eec4f7b5c085a254917051668", "cd2a51aad46e6f425ca90312af1a85b1"], "statement_hash": "5de6078d4566df4986d303e091aa16a8f18761e85570fe824aae0e1cbfe20668"}, "url": "/docs/compare/?release=15.5#15.5-6d4b5936d4e70748", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "e8a52c776d10ff6d7c6f4744d3c9a2a0", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "增加对 LLVM 16 和 17 的支持", "evidence": {"same_day": true, "patch_ids": ["4608433d39e69599bbd1c2e12efe2bc8", "4f39a7e788fa268757ebae21b3399a4b", "5a7a440eec4f7b5c085a254917051668", "cd2a51aad46e6f425ca90312af1a85b1"], "statement_hash": "5de6078d4566df4986d303e091aa16a8f18761e85570fe824aae0e1cbfe20668"}, "url": "/docs/compare/?release=13.13#13.13-f44a327a7a0e285d", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}, {"db_id": "007c120ddb57b6841e60b1f23de49af5", "kind": "equivalent", "version": "12.17", "label": "12.17", "title": "增加对 LLVM 16 和 17 的支持", "evidence": {"same_day": true, "patch_ids": ["4608433d39e69599bbd1c2e12efe2bc8", "4f39a7e788fa268757ebae21b3399a4b", "5a7a440eec4f7b5c085a254917051668", "cd2a51aad46e6f425ca90312af1a85b1"], "statement_hash": "5de6078d4566df4986d303e091aa16a8f18761e85570fe824aae0e1cbfe20668"}, "url": "/docs/compare/?release=12.17#12.17-d04e0431486236ad", "source_url": "/docs/release/12.17/#id-1.11.6.11.5"}]}, {"id": "14.10-f02a51ad63ec6450", "cves": [], "html": "<p>消除在最新 <span>macOS</span> 上的各种编译时警告（Tom Lane）<a href=\"https://postgr.es/c/e9d1560d3\">§</a> <a href=\"https://postgr.es/c/5d60e8ed3\">§</a></p>\n<p><span>Xcode 15</span>（随 <span>macOS Sonoma</span> 发布）改变了链接器的行为方式，在构建 <span>PostgreSQL</span> 时导致许多重复库警告。这些警告是无害的，但很烦人，因此避免两次引用相同的库。同时移除了 <code>-multiply_defined suppress</code> 链接器选项的使用，该选项显然长期以来一直没有实际作用，而现在使用它会引发警告。</p>", "text": "消除在最新 macOS 上的各种编译时警告（Tom Lane）§ § Xcode 15（随 macOS Sonoma 发布）改变了链接器的行为方式，在构建 PostgreSQL 时导致许多重复库警告。这些警告是无害的，但很烦人，因此避免两次引用相同的库。同时移除了 -multiply_defined suppress 链接器选项的使用，该选项显然长期以来一直没有实际作用，而现在使用它会引发警告。", "title": "消除在最新 macOS 上的各种编译时警告", "commits": ["5d60e8ed3", "e9d1560d3"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "3f3f5bf4bb20b945ebe5cf6fda6678ccc8bef3ba867b502c5db22ab2a8566f21", "section_path": ["变更"], "commit_groups": [["06843df4a", "1b64e374c", "4d10fda52", "75c562653", "be3398ea1", "d8ceb98e4", "e9d1560d3"], ["0e0de20c8", "3aa021b29", "53cc19bfa", "5d60e8ed3", "78f17fb97", "abe423712", "e73d6a0df"]], "identity_text": "Suppress assorted build-time warnings on recent macOS (Tom Lane) Xcode 15 (released with macOS Sonoma) changed the linker's behavior in a way that causes many duplicate-library warnings while building PostgreSQL. These were harmless, but they're annoying so avoid citing the same libraries twice. Also remove use of the -multiply_defined suppress linker switch, which apparently has been a no-op for a long time, and is now actively complained of.", "commit_aliases": ["06843df4a", "0e0de20c8", "1b64e374c", "3aa021b29", "4d10fda52", "53cc19bfa", "5d60e8ed3", "75c562653", "78f17fb97", "abe423712", "be3398ea1", "d8ceb98e4", "e73d6a0df", "e9d1560d3"], "source_commits": ["5d60e8ed3", "e9d1560d3"], "source_entry_id": "14.10/changes/054", "db_id": "85d46f943149d90e88baded142b84a7e", "patch_ids": ["a81aa1a96ae2547ce0a8a861dc1f36ec", "dfa8ace78adca8f45321650020e39d4b"], "statement_hash": "d5073e3f085ec763f28cd688ba22d86ad1daa8518a3db095e50181b6dd5f78da", "relations": [{"rule": 2, "type": "equivalent", "target": "102539bf06fb66ec5b1425b9816b45ad", "evidence": {"same_day": true, "patch_ids": ["a81aa1a96ae2547ce0a8a861dc1f36ec", "dfa8ace78adca8f45321650020e39d4b"], "statement_hash": "d5073e3f085ec763f28cd688ba22d86ad1daa8518a3db095e50181b6dd5f78da"}}, {"rule": 2, "type": "equivalent", "target": "889e1c2830937ade620da8228f2e65f1", "evidence": {"same_day": true, "patch_ids": ["a81aa1a96ae2547ce0a8a861dc1f36ec", "dfa8ace78adca8f45321650020e39d4b"], "statement_hash": "d5073e3f085ec763f28cd688ba22d86ad1daa8518a3db095e50181b6dd5f78da"}}, {"rule": 2, "type": "equivalent", "target": "da7113d399b310b7c7ad431af069368a", "evidence": {"same_day": true, "patch_ids": ["a81aa1a96ae2547ce0a8a861dc1f36ec", "dfa8ace78adca8f45321650020e39d4b"], "statement_hash": "d5073e3f085ec763f28cd688ba22d86ad1daa8518a3db095e50181b6dd5f78da"}}, {"rule": 2, "type": "equivalent", "target": "fcb39f9d3a410ab1f0380fa857afcba4", "evidence": {"same_day": true, "patch_ids": ["a81aa1a96ae2547ce0a8a861dc1f36ec", "dfa8ace78adca8f45321650020e39d4b"], "statement_hash": "d5073e3f085ec763f28cd688ba22d86ad1daa8518a3db095e50181b6dd5f78da"}}, {"rule": 2, "type": "equivalent", "target": "fe1c4f5f7923ecd141d97844c567cca5", "evidence": {"same_day": true, "patch_ids": ["a81aa1a96ae2547ce0a8a861dc1f36ec", "dfa8ace78adca8f45321650020e39d4b"], "statement_hash": "d5073e3f085ec763f28cd688ba22d86ad1daa8518a3db095e50181b6dd5f78da"}}], "version": "14.10", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "fcb39f9d3a410ab1f0380fa857afcba4", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "消除在最新 macOS 上的各种编译时警告", "evidence": {"same_day": true, "patch_ids": ["a81aa1a96ae2547ce0a8a861dc1f36ec", "dfa8ace78adca8f45321650020e39d4b"], "statement_hash": "d5073e3f085ec763f28cd688ba22d86ad1daa8518a3db095e50181b6dd5f78da"}, "url": "/docs/compare/?release=16.1#16.1-bb1be8b973b8c1e7", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "889e1c2830937ade620da8228f2e65f1", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "消除在最新 macOS 上的各种编译时警告", "evidence": {"same_day": true, "patch_ids": ["a81aa1a96ae2547ce0a8a861dc1f36ec", "dfa8ace78adca8f45321650020e39d4b"], "statement_hash": "d5073e3f085ec763f28cd688ba22d86ad1daa8518a3db095e50181b6dd5f78da"}, "url": "/docs/compare/?release=15.5#15.5-573d44f59425776a", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "102539bf06fb66ec5b1425b9816b45ad", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "消除在最新 macOS 上的各种编译时警告", "evidence": {"same_day": true, "patch_ids": ["a81aa1a96ae2547ce0a8a861dc1f36ec", "dfa8ace78adca8f45321650020e39d4b"], "statement_hash": "d5073e3f085ec763f28cd688ba22d86ad1daa8518a3db095e50181b6dd5f78da"}, "url": "/docs/compare/?release=13.13#13.13-f188fa0b88c1c38d", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}, {"db_id": "da7113d399b310b7c7ad431af069368a", "kind": "equivalent", "version": "12.17", "label": "12.17", "title": "消除在最新 macOS 上的各种编译时警告", "evidence": {"same_day": true, "patch_ids": ["a81aa1a96ae2547ce0a8a861dc1f36ec", "dfa8ace78adca8f45321650020e39d4b"], "statement_hash": "d5073e3f085ec763f28cd688ba22d86ad1daa8518a3db095e50181b6dd5f78da"}, "url": "/docs/compare/?release=12.17#12.17-11c5a66bc2fc6633", "source_url": "/docs/release/12.17/#id-1.11.6.11.5"}, {"db_id": "fe1c4f5f7923ecd141d97844c567cca5", "kind": "equivalent", "version": "11.22", "label": "11.22", "title": "消除在最新 macOS 上的各种编译时警告", "evidence": {"same_day": true, "patch_ids": ["a81aa1a96ae2547ce0a8a861dc1f36ec", "dfa8ace78adca8f45321650020e39d4b"], "statement_hash": "d5073e3f085ec763f28cd688ba22d86ad1daa8518a3db095e50181b6dd5f78da"}, "url": "/docs/compare/?release=11.22#11.22-37043fae46d4141e", "source_url": "/docs/release/11.22/#id-1.11.6.5.6"}]}, {"id": "14.10-44b0d97fcadf1394", "cves": [], "html": "<p>在构建 <code>contrib/unaccent</code> 的规则文件时，如果未指定 <code>--with-python</code> 且未设置 make 变量 <code>PYTHON</code>，则回退使用 <code>python</code>（Japin Li）<a href=\"https://postgr.es/c/e4d7ad30f\">§</a></p>", "text": "在构建 contrib/unaccent 的规则文件时，如果未指定 --with-python 且未设置 make 变量 PYTHON，则回退使用 python（Japin Li）§", "title": "在构建 contrib/unaccent 的规则文件时，如果未指定 --with-python 且未设置 make 变量 PYTHON，则回退使用 python", "commits": ["e4d7ad30f"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "ecd4489b981c6cfd4725ecf71194b6d6edfd4ac3ae63e4a2b2ea7ef0fd54a974", "section_path": ["变更"], "commit_groups": [["641db601b", "6fc3a138b", "8a9e4e84e", "a64b8b035", "e4d7ad30f"]], "identity_text": "When building contrib/unaccent's rules file, fall back to using python if --with-python was not given and make variable PYTHON was not set (Japin Li)", "commit_aliases": ["641db601b", "6fc3a138b", "8a9e4e84e", "a64b8b035", "e4d7ad30f"], "source_commits": ["e4d7ad30f"], "source_entry_id": "14.10/changes/055", "db_id": "6be5d9258a4392f257e4b57e7bbb4779", "patch_ids": ["821d296a7cd70265386a728132cfdc85"], "statement_hash": "3360b3093e02d388f54ecaf0d840b5324c3d55111d7efc9a2616b4c261135df2", "relations": [{"rule": 2, "type": "equivalent", "target": "7ea8e184a9d5a011bfb13752213bd32b", "evidence": {"same_day": true, "patch_ids": ["821d296a7cd70265386a728132cfdc85"], "statement_hash": "3360b3093e02d388f54ecaf0d840b5324c3d55111d7efc9a2616b4c261135df2"}}, {"rule": 2, "type": "equivalent", "target": "8d63636360a6339258306bc5258862d5", "evidence": {"same_day": true, "patch_ids": ["821d296a7cd70265386a728132cfdc85"], "statement_hash": "3360b3093e02d388f54ecaf0d840b5324c3d55111d7efc9a2616b4c261135df2"}}, {"rule": 2, "type": "equivalent", "target": "c3277e3b4c740929fd0d9250ff487646", "evidence": {"same_day": true, "patch_ids": ["821d296a7cd70265386a728132cfdc85"], "statement_hash": "3360b3093e02d388f54ecaf0d840b5324c3d55111d7efc9a2616b4c261135df2"}}], "version": "14.10", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "7ea8e184a9d5a011bfb13752213bd32b", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "在构建 contrib/unaccent 的规则文件时，如果未指定 --with-python 且未设置 make 变量 PYTHON，则回退使用 python", "evidence": {"same_day": true, "patch_ids": ["821d296a7cd70265386a728132cfdc85"], "statement_hash": "3360b3093e02d388f54ecaf0d840b5324c3d55111d7efc9a2616b4c261135df2"}, "url": "/docs/compare/?release=16.1#16.1-9fad64249102cc9d", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "8d63636360a6339258306bc5258862d5", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "在构建 contrib/unaccent 的规则文件时，如果未指定 --with-python 且未设置 make 变量 PYTHON，则回退使用 python", "evidence": {"same_day": true, "patch_ids": ["821d296a7cd70265386a728132cfdc85"], "statement_hash": "3360b3093e02d388f54ecaf0d840b5324c3d55111d7efc9a2616b4c261135df2"}, "url": "/docs/compare/?release=15.5#15.5-45c63fa0de4d8037", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "c3277e3b4c740929fd0d9250ff487646", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "在构建 contrib/unaccent 的规则文件时，如果未指定 --with-python 且未设置 make 变量 PYTHON，则回退使用 python", "evidence": {"same_day": true, "patch_ids": ["821d296a7cd70265386a728132cfdc85"], "statement_hash": "3360b3093e02d388f54ecaf0d840b5324c3d55111d7efc9a2616b4c261135df2"}, "url": "/docs/compare/?release=13.13#13.13-d954362300fbe0ac", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}]}, {"id": "14.10-1fe926f2cab932ac", "cves": [], "html": "<p>从默认时区缩写列表中移除 <code>PHOT</code>（凤凰群岛时间）（Tom Lane）<a href=\"https://postgr.es/c/877e7b4b9\">§</a></p>\n<p>此缩写在默认列表中的存在可能导致在最新的 Debian 和 Ubuntu 发行版上出现失败，因为它们不再默认安装底层的 tzdb 条目。由于这是一个为总人口约二十几人的区域编造的缩写，不太可能有人会需要它。如果确有需要，可以通过自定义缩写文件将其恢复。</p>", "text": "从默认时区缩写列表中移除 PHOT（凤凰群岛时间）（Tom Lane）§ 此缩写在默认列表中的存在可能导致在最新的 Debian 和 Ubuntu 发行版上出现失败，因为它们不再默认安装底层的 tzdb 条目。由于这是一个为总人口约二十几人的区域编造的缩写，不太可能有人会需要它。如果确有需要，可以通过自定义缩写文件将其恢复。", "title": "从默认时区缩写列表中移除 PHOT（凤凰群岛时间）", "commits": ["877e7b4b9"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.10/#ZH-AUTO-RELEASE-14-SECT2-26", "source_hash": "52fb07bc3466e561a0ea1d6b3f964482bd169492c2fb678cd377e03ab070a3be", "section_path": ["变更"], "commit_groups": [["5fd3e06f6", "64fc5e005", "7180bb827", "85b98a70b", "877e7b4b9", "d1537afe3", "d94612873"]], "identity_text": "Remove PHOT (Phoenix Islands Time) from the default timezone abbreviations list (Tom Lane) Presence of this abbreviation in the default list can cause failures on recent Debian and Ubuntu releases, as they no longer install the underlying tzdb entry by default. Since this is a made-up abbreviation for a zone with a total human population of about two dozen, it seems unlikely that anyone will miss it. If someone does, they can put it back via a custom abbreviations file.", "commit_aliases": ["5fd3e06f6", "64fc5e005", "7180bb827", "85b98a70b", "877e7b4b9", "d1537afe3", "d94612873"], "source_commits": ["877e7b4b9"], "source_entry_id": "14.10/changes/056", "db_id": "9d05fe698b687521b65a8d507805d6f6", "patch_ids": ["79a37f33965b630e4855cf1b088ef313"], "statement_hash": "a21c95d62798a694d7c948c29830aab551934419bd30490543c0db905acbb1fb", "relations": [{"rule": 2, "type": "equivalent", "target": "37f077348d48792ab5a99605c76f4879", "evidence": {"same_day": true, "patch_ids": ["79a37f33965b630e4855cf1b088ef313"], "statement_hash": "a21c95d62798a694d7c948c29830aab551934419bd30490543c0db905acbb1fb"}}, {"rule": 2, "type": "equivalent", "target": "78e5b63be8e6fc998c544962dec09060", "evidence": {"same_day": true, "patch_ids": ["79a37f33965b630e4855cf1b088ef313"], "statement_hash": "a21c95d62798a694d7c948c29830aab551934419bd30490543c0db905acbb1fb"}}, {"rule": 2, "type": "equivalent", "target": "c429f287435f5b1df7af6656dc93551b", "evidence": {"same_day": true, "patch_ids": ["79a37f33965b630e4855cf1b088ef313"], "statement_hash": "a21c95d62798a694d7c948c29830aab551934419bd30490543c0db905acbb1fb"}}, {"rule": 2, "type": "equivalent", "target": "e91e4da87fd96755be1025d6215001e1", "evidence": {"same_day": true, "patch_ids": ["79a37f33965b630e4855cf1b088ef313"], "statement_hash": "a21c95d62798a694d7c948c29830aab551934419bd30490543c0db905acbb1fb"}}, {"rule": 2, "type": "equivalent", "target": "ee1c4e2e95e7bdf271c3b5b74f84d081", "evidence": {"same_day": true, "patch_ids": ["79a37f33965b630e4855cf1b088ef313"], "statement_hash": "a21c95d62798a694d7c948c29830aab551934419bd30490543c0db905acbb1fb"}}], "version": "14.10", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "c429f287435f5b1df7af6656dc93551b", "kind": "equivalent", "version": "16.1", "label": "16.1", "title": "从默认时区缩写列表中移除 PHOT（凤凰群岛时间）", "evidence": {"same_day": true, "patch_ids": ["79a37f33965b630e4855cf1b088ef313"], "statement_hash": "a21c95d62798a694d7c948c29830aab551934419bd30490543c0db905acbb1fb"}, "url": "/docs/compare/?release=16.1#16.1-1048d42027c633a6", "source_url": "/docs/release/16.1/#RELEASE-16-1-CHANGES"}, {"db_id": "78e5b63be8e6fc998c544962dec09060", "kind": "equivalent", "version": "15.5", "label": "15.5", "title": "从默认时区缩写列表中移除 PHOT（凤凰群岛时间）", "evidence": {"same_day": true, "patch_ids": ["79a37f33965b630e4855cf1b088ef313"], "statement_hash": "a21c95d62798a694d7c948c29830aab551934419bd30490543c0db905acbb1fb"}, "url": "/docs/compare/?release=15.5#15.5-e2fdb9dea45c2a7a", "source_url": "/docs/release/15.5/#ZH-AUTO-RELEASE-15-SECT2-26"}, {"db_id": "37f077348d48792ab5a99605c76f4879", "kind": "equivalent", "version": "13.13", "label": "13.13", "title": "从默认时区缩写列表中移除 PHOT（凤凰群岛时间）", "evidence": {"same_day": true, "patch_ids": ["79a37f33965b630e4855cf1b088ef313"], "statement_hash": "a21c95d62798a694d7c948c29830aab551934419bd30490543c0db905acbb1fb"}, "url": "/docs/compare/?release=13.13#13.13-59a69b1162d8ee8f", "source_url": "/docs/release/13.13/#id-1.11.6.16.5"}, {"db_id": "e91e4da87fd96755be1025d6215001e1", "kind": "equivalent", "version": "12.17", "label": "12.17", "title": "从默认时区缩写列表中移除 PHOT（凤凰群岛时间）", "evidence": {"same_day": true, "patch_ids": ["79a37f33965b630e4855cf1b088ef313"], "statement_hash": "a21c95d62798a694d7c948c29830aab551934419bd30490543c0db905acbb1fb"}, "url": "/docs/compare/?release=12.17#12.17-b2cb4bd88c7010bb", "source_url": "/docs/release/12.17/#id-1.11.6.11.5"}, {"db_id": "ee1c4e2e95e7bdf271c3b5b74f84d081", "kind": "equivalent", "version": "11.22", "label": "11.22", "title": "从默认时区缩写列表中移除 PHOT（凤凰群岛时间）", "evidence": {"same_day": true, "patch_ids": ["79a37f33965b630e4855cf1b088ef313"], "statement_hash": "a21c95d62798a694d7c948c29830aab551934419bd30490543c0db905acbb1fb"}, "url": "/docs/compare/?release=11.22#11.22-45a39d1e39ad25ed", "source_url": "/docs/release/11.22/#id-1.11.6.5.6"}]}]}], "stats": [{"key": "all", "label": "全部变更", "count": 56}, {"key": "feature", "label": "新功能", "count": 0}, {"key": "bugfix", "label": "BUG 修复", "count": 21}, {"key": "security", "label": "安全相关", "count": 3}, {"key": "performance", "label": "性能改进", "count": 0}, {"key": "compatibility", "label": "兼容性变化", "count": 0}, {"key": "improvement", "label": "其他改进", "count": 32}], "total": 56, "release_count": 1, "cross_major": false, "cve_count": 3, "cves": [{"id": "CVE-2023-5869", "url": "https://www.postgresql.org/support/security/CVE-2023-5869/", "fixed": {"11": "11.22", "12": "12.17", "13": "13.13", "14": "14.10", "15": "15.5", "16": "16.1"}, "score": 8.8, "title": "检测计算新数组维度时的整数溢出", "vector": "AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "affected": {"11": "11", "12": "12", "13": "13", "14": "14", "15": "15", "16": "16"}, "component": "core server", "published": {"11": "2023-11-09", "12": "2023-11-09", "13": "2023-11-09", "14": "2023-11-09", "15": "2023-11-09", "16": "2023-11-09"}, "introduced": {}, "cvss_version": "3.0", "description_en": "While modifying certain SQL array values, missing overflow checks let authenticated database users write arbitrary bytes to a memory area that facilitates arbitrary code execution. Missing overflow checks also let authenticated database users read a wide area of server memory. The CVE-2021-32027 fix covered some attacks of this description, but it missed others.\n\nThe PostgreSQL project thanks Pedro Gallegos for reporting this problem.", "first_published": "2023-11-09", "fixed_version": "14.10"}, {"id": "CVE-2023-5868", "url": "https://www.postgresql.org/support/security/CVE-2023-5868/", "fixed": {"11": "11.22", "12": "12.17", "13": "13.13", "14": "14.10", "15": "15.5", "16": "16.1"}, "score": 4.3, "title": "修复 DISTINCT \"any\" 聚合函数中对未知类型参数的处理", "vector": "AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N", "affected": {"11": "11", "12": "12", "13": "13", "14": "14", "15": "15", "16": "16"}, "component": "core server", "published": {"11": "2023-11-09", "12": "2023-11-09", "13": "2023-11-09", "14": "2023-11-09", "15": "2023-11-09", "16": "2023-11-09"}, "introduced": {}, "cvss_version": "3.0", "description_en": "Certain aggregate function calls receiving \"unknown\"-type arguments could disclose bytes of server memory from the end of the \"unknown\"-type value to the next zero byte. One typically gets an \"unknown\"-type value via a string literal having no type designation. We have not confirmed or ruled out viability of attacks that arrange for presence of notable, confidential information in disclosed bytes.\n\nThe PostgreSQL project thanks Jingzhou Fu for reporting this problem.", "first_published": "2023-11-09", "fixed_version": "14.10"}, {"id": "CVE-2023-5870", "url": "https://www.postgresql.org/support/security/CVE-2023-5870/", "fixed": {"11": "11.22", "12": "12.17", "13": "13.13", "14": "14.10", "15": "15.5", "16": "16.1"}, "score": 2.2, "title": "防止 pg_signal_backend 角色向后台工作进程和自动清理进程发送信号", "vector": "AV:N/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:L", "affected": {"11": "11", "12": "12", "13": "13", "14": "14", "15": "15", "16": "16"}, "component": "core server", "published": {"11": "2023-11-09", "12": "2023-11-09", "13": "2023-11-09", "14": "2023-11-09", "15": "2023-11-09", "16": "2023-11-09"}, "introduced": {}, "cvss_version": "3.0", "description_en": "Documentation says the pg_signal_backend role cannot signal \"a backend owned by a superuser\". On the contrary, it can signal background workers, including the logical replication launcher. It can signal autovacuum workers and the autovacuum launcher. Signaling autovacuum workers and those two launchers provides no meaningful exploit, so exploiting this vulnerability requires a non-core extension with a less-resilient background worker. For example, a non-core background worker that does not auto-restart would experience a denial of service with respect to that particular background worker.\n\nThe PostgreSQL project thanks Hemanth Sandrana and Mahendrakar Srinivasarao for reporting this problem.", "first_published": "2023-11-09", "fixed_version": "14.10"}], "cve_available": true, "remaining_cves": [], "security_regressions": [], "warnings": [], "candidate_count": 56, "already_in_source_count": 0, "duplicate_count": 0, "excluded_count": 0, "exclusions": [], "source_as_of": "2026-09-26", "security_as_of": "2026-09-26"}