{"format": 1, "mode": "release", "from_release": null, "to_release": {"date": "2025-02-13", "build": "14.16", "major": "14", "minor": 16, "manual": "14", "status": "stable", "doc_git": "", "version": "14.16", "eol_date": "2026-11-12", "date_text": "2025-02-13", "supported": true, "manual_url": "/docs/14/release-14-16.html", "source_url": "/docs/release/14.16/", "entry_count": 46, "placeholder": false, "content_hash": "ceeb5a767f7c9d1adebd946f64b0034c1441f2ffaf30644c82cbec4c6e64c29d", "manual_build": "14.24", "source_as_of": "", "changes_count": 46, "doc_loaded_at": "2026-09-26T02:56:39.341991", "migration_html": "<p>对于运行 14.X 的用户，不需要执行导出/恢复。</p>\n<p>但是，如果是从早于 14.14 的版本升级，请参见<a href=\"/docs/14/release-14-14.html\" title=\"E.11. 发布版本 14.14\">第 E.11 节</a>。</p>", "compatibility_count": 0, "label": "14.16", "status_label": "受支持版本", "eol": "2026-11-12", "age_days": 594, "support_days": 43}, "groups": [{"date": "2025-02-13", "build": "14.16", "major": "14", "minor": 16, "manual": "14", "status": "stable", "doc_git": "", "version": "14.16", "eol_date": "2026-11-12", "date_text": "2025-02-13", "supported": true, "manual_url": "/docs/14/release-14-16.html", "source_url": "/docs/release/14.16/", "entry_count": 46, "placeholder": false, "content_hash": "ceeb5a767f7c9d1adebd946f64b0034c1441f2ffaf30644c82cbec4c6e64c29d", "manual_build": "14.24", "source_as_of": "", "changes_count": 46, "doc_loaded_at": "2026-09-26T02:56:39.341991", "migration_html": "<p>对于运行 14.X 的用户，不需要执行导出/恢复。</p>\n<p>但是，如果是从早于 14.14 的版本升级，请参见<a href=\"/docs/14/release-14-14.html\" title=\"E.11. 发布版本 14.14\">第 E.11 节</a>。</p>", "compatibility_count": 0, "label": "14.16", "status_label": "受支持版本", "eol": "2026-11-12", "age_days": 594, "support_days": 43, "entries": [{"id": "14.16-84a4341a43ed7fd0", "cves": ["CVE-2025-1094"], "html": "<p>加强 <code>PQescapeString</code> 及相关函数对无效编码输入字符串的防护（Andres Freund，Noah Misch）<a href=\"https://postgr.es/c/e0ef3d776\">§</a> <a href=\"https://postgr.es/c/5bc33cbea\">§</a> <a href=\"https://postgr.es/c/2ae54ae17\">§</a> <a href=\"https://postgr.es/c/46ddf98df\">§</a> <a href=\"https://postgr.es/c/4a6825c76\">§</a> <a href=\"https://postgr.es/c/e1f1b030d\">§</a></p>\n<p><span>libpq</span> 提供的数据引用函数现在会完全检查其输入的编码有效性。如果检测到无效字符，会尽可能报告错误。对于缺少错误返回机制的函数，输出字符串会被调整以确保服务器会报告无效编码，并且中间处理不会被恰好匹配单引号、反斜杠等的字节所欺骗。</p>\n<p>此变更的目的是防范在使用这些函数对精心构造的输入进行引用时可能发生的 SQL 注入攻击。当结果字符串直接发送到 <span>PostgreSQL</span> 服务器时没有风险（服务器无论如何都会检查编码），但当它通过 <span>psql</span> 或其他客户端代码传递时存在风险。历史上此类代码未仔细审查编码，在许多情况下如果检测到此类问题也不清楚应该怎么做。</p>\n<p>此修复仅在数据引用函数、服务器以及任何中间处理对所使用的字符编码达成一致时才有效。插入不可信输入到 SQL 命令中的应用程序应特别注意确保这一点。</p>\n<p>不使用这些 <span>libpq</span> 函数而引用不可信输入的应用程序和驱动程序可能面临类似问题的风险。它们应首先确认数据在服务器期望的编码中是有效的。</p>\n<p>PostgreSQL 项目感谢 Stephen Fewer 报告此问题。（CVE-2025-1094）</p>", "text": "加强 PQescapeString 及相关函数对无效编码输入字符串的防护（Andres Freund，Noah Misch）§ § § § § § libpq 提供的数据引用函数现在会完全检查其输入的编码有效性。如果检测到无效字符，会尽可能报告错误。对于缺少错误返回机制的函数，输出字符串会被调整以确保服务器会报告无效编码，并且中间处理不会被恰好匹配单引号、反斜杠等的字节所欺骗。 此变更的目的是防范在使用这些函数对精心构造的输入进行引用时可能发生的 SQL 注入攻击。当结果字符串直接发送到 PostgreSQL 服务器时没有风险（服务器无论如何都会检查编码），但当它通过 psql 或其他客户端代码传递时存在风险。历史上此类代码未仔细审查编码，在许多情况下如果检测到此类问题也不清楚应该怎么做。 此修复仅在数据引用函数、服务器以及任何中间处理对所使用的字符编码达成一致时才有效。插入不可信输入到 SQL 命令中的应用程序应特别注意确保这一点。 不使用这些 libpq 函数而引用不可信输入的应用程序和驱动程序可能面临类似问题的风险。它们应首先确认数据在服务器期望的编码中是有效的。 PostgreSQL 项目感谢 Stephen Fewer 报告此问题。（CVE-2025-1094）", "title": "加强 PQescapeString 及相关函数对无效编码输入字符串的防护", "commits": ["2ae54ae17", "46ddf98df", "4a6825c76", "5bc33cbea", "e0ef3d776", "e1f1b030d"], "section": "变更", "category": "security", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "58f64473ecb04bd5076ea8c833f8982b231f82e2cdb42a0095dd4252126825e7", "section_path": ["变更"], "commit_groups": [["0075a5c6c", "5bf12323b", "85c1fcc65", "9862de917", "e1f1b030d", "f9fceef6e"], ["00f1a1f66"], ["01784793f", "02d4d87ac", "46ddf98df", "4ea3f5ef3", "ac00ff1c9", "de4b92f33"], ["05abb0f83", "41343f840", "4a6825c76", "7beb2af5e", "979205e47", "a085fa731"], ["2ae54ae17", "3e98c8ce5", "56aa2dcdd", "5df4e1632", "61ad93cdd", "b1756da75"], ["370c94d4c", "43a77239d", "5dc1e42b4", "92e4170f4", "c906bfe1b", "e0ef3d776"], ["4dc289635", "5bc33cbea", "6e05b195d", "703b3fd5d", "7d43ca6fe", "db3eb0e82"]], "identity_text": "Harden PQescapeString and allied functions against invalidly-encoded input strings (Andres Freund, Noah Misch) Data-quoting functions supplied by libpq now fully check the encoding validity of their input. If invalid characters are detected, they report an error if possible. For the ones that lack an error return convention, the output string is adjusted to ensure that the server will report invalid encoding and no intervening processing will be fooled by bytes that might happen to match single quote, backslash, etc. The purpose of this change is to guard against SQL-injection attacks that are possible if one of these functions is used to quote crafted input. There is no hazard when the resulting string is sent directly to a PostgreSQL server (which would check its encoding anyway), but there is a risk when it is passed through psql or other client-side code. Historically such code has not carefully vetted encoding, and in many cases it's not clear what it should do if it did detect such a problem. This fix is effective only if the data-quoting function, the server, and any intermediate processing agree on the character encoding that's being used. Applications that insert untrusted input into SQL commands should take special care to ensure that that's true. Applications and drivers that quote untrusted input without using these libpq functions may be at risk of similar problems. They should first confirm the data is valid in the encoding expected by the server. The PostgreSQL Project thanks Stephen Fewer for reporting this problem. (CVE-2025-1094)", "commit_aliases": ["0075a5c6c", "00f1a1f66", "01784793f", "02d4d87ac", "05abb0f83", "2ae54ae17", "370c94d4c", "3e98c8ce5", "41343f840", "43a77239d", "46ddf98df", "4a6825c76", "4dc289635", "4ea3f5ef3", "56aa2dcdd", "5bc33cbea", "5bf12323b", "5dc1e42b4", "5df4e1632", "61ad93cdd", "6e05b195d", "703b3fd5d", "7beb2af5e", "7d43ca6fe", "85c1fcc65", "92e4170f4", "979205e47", "9862de917", "a085fa731", "ac00ff1c9", "b1756da75", "c906bfe1b", "db3eb0e82", "de4b92f33", "e0ef3d776", "e1f1b030d", "f9fceef6e"], "source_commits": ["00f1a1f66", "2ae54ae17", "46ddf98df", "4a6825c76", "5bc33cbea", "e0ef3d776", "e1f1b030d"], "source_entry_id": "14.16/changes/001", "db_id": "c67f7d11537493045db911b0c721db16", "patch_ids": ["36d050a352e3681f016aae85ff33c242", "42bd3444d87759f098d683bb0621758f", "68db3958432c71bd49dc86922fdd9429", "a77ed2598533109291af8fa46693bc0f", "cb6e008bedd5c5651ea8f3a6308364cd", "ccab9b95f046d8825dd5e7383acac8d9", "cf569d785ea56dc3e8e51265eb2a2173"], "statement_hash": "3c8d46a332df9f37c7dd23c123b5dd02657355e121999f59dd6c72e35750c510", "relations": [{"rule": 2, "type": "equivalent", "target": "90ded14b63ff2f1ce6a02628434a92b8", "evidence": {"same_day": true, "patch_ids": ["36d050a352e3681f016aae85ff33c242", "42bd3444d87759f098d683bb0621758f", "68db3958432c71bd49dc86922fdd9429", "a77ed2598533109291af8fa46693bc0f", "cb6e008bedd5c5651ea8f3a6308364cd", "ccab9b95f046d8825dd5e7383acac8d9", "cf569d785ea56dc3e8e51265eb2a2173"], "statement_hash": "3c8d46a332df9f37c7dd23c123b5dd02657355e121999f59dd6c72e35750c510"}}, {"rule": 2, "type": "equivalent", "target": "d394c7dd9345d5f8b712225bcd0d756b", "evidence": {"same_day": true, "patch_ids": ["36d050a352e3681f016aae85ff33c242", "42bd3444d87759f098d683bb0621758f", "68db3958432c71bd49dc86922fdd9429", "a77ed2598533109291af8fa46693bc0f", "cb6e008bedd5c5651ea8f3a6308364cd", "ccab9b95f046d8825dd5e7383acac8d9", "cf569d785ea56dc3e8e51265eb2a2173"], "statement_hash": "3c8d46a332df9f37c7dd23c123b5dd02657355e121999f59dd6c72e35750c510"}}, {"rule": 2, "type": "equivalent", "target": "f13ab6baf3e95ab97b902e09323ae11f", "evidence": {"same_day": true, "patch_ids": ["36d050a352e3681f016aae85ff33c242", "42bd3444d87759f098d683bb0621758f", "68db3958432c71bd49dc86922fdd9429", "a77ed2598533109291af8fa46693bc0f", "cb6e008bedd5c5651ea8f3a6308364cd", "ccab9b95f046d8825dd5e7383acac8d9", "cf569d785ea56dc3e8e51265eb2a2173"], "statement_hash": "3c8d46a332df9f37c7dd23c123b5dd02657355e121999f59dd6c72e35750c510"}}, {"rule": 2, "type": "equivalent", "target": "f649b02262a5f42707d74fc679509c8c", "evidence": {"same_day": true, "patch_ids": ["36d050a352e3681f016aae85ff33c242", "42bd3444d87759f098d683bb0621758f", "68db3958432c71bd49dc86922fdd9429", "a77ed2598533109291af8fa46693bc0f", "cb6e008bedd5c5651ea8f3a6308364cd", "ccab9b95f046d8825dd5e7383acac8d9", "cf569d785ea56dc3e8e51265eb2a2173"], "statement_hash": "3c8d46a332df9f37c7dd23c123b5dd02657355e121999f59dd6c72e35750c510"}}], "version": "14.16", "category_label": "安全相关", "also_in": [], "variants": [], "related_changes": [{"db_id": "d394c7dd9345d5f8b712225bcd0d756b", "kind": "equivalent", "version": "17.3", "label": "17.3", "title": "加强 PQescapeString 及相关函数对无效编码输入字符串的防护", "evidence": {"same_day": true, "patch_ids": ["36d050a352e3681f016aae85ff33c242", "42bd3444d87759f098d683bb0621758f", "68db3958432c71bd49dc86922fdd9429", "a77ed2598533109291af8fa46693bc0f", "cb6e008bedd5c5651ea8f3a6308364cd", "ccab9b95f046d8825dd5e7383acac8d9", "cf569d785ea56dc3e8e51265eb2a2173"], "statement_hash": "3c8d46a332df9f37c7dd23c123b5dd02657355e121999f59dd6c72e35750c510"}, "url": "/docs/compare/?release=17.3#17.3-ec56c13500d18830", "source_url": "/docs/release/17.3/#RELEASE-17-3-CHANGES"}, {"db_id": "90ded14b63ff2f1ce6a02628434a92b8", "kind": "equivalent", "version": "16.7", "label": "16.7", "title": "加强 PQescapeString 及相关函数对无效编码输入字符串的防护", "evidence": {"same_day": true, "patch_ids": ["36d050a352e3681f016aae85ff33c242", "42bd3444d87759f098d683bb0621758f", "68db3958432c71bd49dc86922fdd9429", "a77ed2598533109291af8fa46693bc0f", "cb6e008bedd5c5651ea8f3a6308364cd", "ccab9b95f046d8825dd5e7383acac8d9", "cf569d785ea56dc3e8e51265eb2a2173"], "statement_hash": "3c8d46a332df9f37c7dd23c123b5dd02657355e121999f59dd6c72e35750c510"}, "url": "/docs/compare/?release=16.7#16.7-76a3b23ceb65c9a6", "source_url": "/docs/release/16.7/#RELEASE-16-7-CHANGES"}, {"db_id": "f649b02262a5f42707d74fc679509c8c", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "加强 PQescapeString 及相关函数对无效编码输入字符串的防护", "evidence": {"same_day": true, "patch_ids": ["36d050a352e3681f016aae85ff33c242", "42bd3444d87759f098d683bb0621758f", "68db3958432c71bd49dc86922fdd9429", "a77ed2598533109291af8fa46693bc0f", "cb6e008bedd5c5651ea8f3a6308364cd", "ccab9b95f046d8825dd5e7383acac8d9", "cf569d785ea56dc3e8e51265eb2a2173"], "statement_hash": "3c8d46a332df9f37c7dd23c123b5dd02657355e121999f59dd6c72e35750c510"}, "url": "/docs/compare/?release=15.11#15.11-ed0b0c5a5ce7c384", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "f13ab6baf3e95ab97b902e09323ae11f", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "加强 PQescapeString 及相关函数对无效编码输入字符串的防护", "evidence": {"same_day": true, "patch_ids": ["36d050a352e3681f016aae85ff33c242", "42bd3444d87759f098d683bb0621758f", "68db3958432c71bd49dc86922fdd9429", "a77ed2598533109291af8fa46693bc0f", "cb6e008bedd5c5651ea8f3a6308364cd", "ccab9b95f046d8825dd5e7383acac8d9", "cf569d785ea56dc3e8e51265eb2a2173"], "statement_hash": "3c8d46a332df9f37c7dd23c123b5dd02657355e121999f59dd6c72e35750c510"}, "url": "/docs/compare/?release=13.19#13.19-53e824654163768f", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-be7c14323620943f", "cves": [], "html": "<p>将并行工作进程排除在连接权限检查和限制之外（Tom Lane）<a href=\"https://postgr.es/c/c58b0c43d\">§</a></p>\n<p>启动并行工作进程时不再检查 <code>datallowconn</code>、<code>rolcanlogin</code> 和 <code>ACL_CONNECT</code> 权限，而是假定领导进程最初通过了类似检查就足够了。这避免了例如当领导进程以缺少登录权限的角色运行时，并行化查询出现意外失败的情况。同样，<code>ReservedConnections</code>、<code>datconnlimit</code> 和 <code>rolconnlimit</code> 限制仅对普通后端执行，且仅计算普通后端的数量来检查是否已达到限制。这些限制旨在防止普通后端过度占用进程槽位——而并行工作进程和其他特殊进程有自己的进程槽池和自己的限制检查。</p>", "text": "将并行工作进程排除在连接权限检查和限制之外（Tom Lane）§ 启动并行工作进程时不再检查 datallowconn、rolcanlogin 和 ACL_CONNECT 权限，而是假定领导进程最初通过了类似检查就足够了。这避免了例如当领导进程以缺少登录权限的角色运行时，并行化查询出现意外失败的情况。同样，ReservedConnections、datconnlimit 和 rolconnlimit 限制仅对普通后端执行，且仅计算普通后端的数量来检查是否已达到限制。这些限制旨在防止普通后端过度占用进程槽位——而并行工作进程和其他特殊进程有自己的进程槽池和自己的限制检查。", "title": "将并行工作进程排除在连接权限检查和限制之外", "commits": ["c58b0c43d"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "065c4329b1d98b596b7bd0db9475cb0aa64585e4b3d4c21e2a28f4f6699fa538", "section_path": ["变更"], "commit_groups": [["15b4c46c3", "34486b609", "3d1ecc92a", "41a252c2c", "70d067cec", "c58b0c43d"]], "identity_text": "Exclude parallel workers from connection privilege checks and limits (Tom Lane) Do not check datallowconn, rolcanlogin, and ACL_CONNECT privileges when starting a parallel worker, instead assuming that it's enough for the leader process to have passed similar checks originally. This avoids, for example, unexpected failures of parallelized queries when the leader is running as a role that lacks login privilege. In the same vein, enforce ReservedConnections, datconnlimit, and rolconnlimit limits only against regular backends, and count only regular backends while checking if the limits were already reached. Those limits are meant to prevent excessive consumption of process slots for regular backends --- but parallel workers and other special processes have their own pools of process slots with their own limit checks.", "commit_aliases": ["15b4c46c3", "34486b609", "3d1ecc92a", "41a252c2c", "70d067cec", "c58b0c43d"], "source_commits": ["c58b0c43d"], "source_entry_id": "14.16/changes/002", "db_id": "959ccace4d122a3d6fb7a1620ff1b6cd", "patch_ids": ["1a8a91c3571756085438fad51819dda2"], "statement_hash": "82ed0553f764eb7a515dd74f509a6745b833a676294cde2512d8d94e37edb671", "relations": [{"rule": 2, "type": "equivalent", "target": "15692fd4f27cce0d38dfac0945b320fe", "evidence": {"same_day": true, "patch_ids": ["1a8a91c3571756085438fad51819dda2"], "statement_hash": "82ed0553f764eb7a515dd74f509a6745b833a676294cde2512d8d94e37edb671"}}, {"rule": 2, "type": "equivalent", "target": "611cec6759e39a36e4e5aebd0f245e40", "evidence": {"same_day": true, "patch_ids": ["1a8a91c3571756085438fad51819dda2"], "statement_hash": "82ed0553f764eb7a515dd74f509a6745b833a676294cde2512d8d94e37edb671"}}, {"rule": 2, "type": "equivalent", "target": "7bdaf302950b9c4d73cfa637782e05d6", "evidence": {"same_day": true, "patch_ids": ["1a8a91c3571756085438fad51819dda2"], "statement_hash": "82ed0553f764eb7a515dd74f509a6745b833a676294cde2512d8d94e37edb671"}}, {"rule": 2, "type": "equivalent", "target": "cdeed81f629caa811ec702068133bc4a", "evidence": {"same_day": true, "patch_ids": ["1a8a91c3571756085438fad51819dda2"], "statement_hash": "82ed0553f764eb7a515dd74f509a6745b833a676294cde2512d8d94e37edb671"}}], "version": "14.16", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "cdeed81f629caa811ec702068133bc4a", "kind": "equivalent", "version": "17.3", "label": "17.3", "title": "将并行工作进程排除在连接权限检查和限制之外", "evidence": {"same_day": true, "patch_ids": ["1a8a91c3571756085438fad51819dda2"], "statement_hash": "82ed0553f764eb7a515dd74f509a6745b833a676294cde2512d8d94e37edb671"}, "url": "/docs/compare/?release=17.3#17.3-8e0e0e411c9531e9", "source_url": "/docs/release/17.3/#RELEASE-17-3-CHANGES"}, {"db_id": "611cec6759e39a36e4e5aebd0f245e40", "kind": "equivalent", "version": "16.7", "label": "16.7", "title": "将并行工作进程排除在连接权限检查和限制之外", "evidence": {"same_day": true, "patch_ids": ["1a8a91c3571756085438fad51819dda2"], "statement_hash": "82ed0553f764eb7a515dd74f509a6745b833a676294cde2512d8d94e37edb671"}, "url": "/docs/compare/?release=16.7#16.7-5d0e5552310bdb12", "source_url": "/docs/release/16.7/#RELEASE-16-7-CHANGES"}, {"db_id": "7bdaf302950b9c4d73cfa637782e05d6", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "将并行工作进程排除在连接权限检查和限制之外", "evidence": {"same_day": true, "patch_ids": ["1a8a91c3571756085438fad51819dda2"], "statement_hash": "82ed0553f764eb7a515dd74f509a6745b833a676294cde2512d8d94e37edb671"}, "url": "/docs/compare/?release=15.11#15.11-eedafa207b080eca", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "15692fd4f27cce0d38dfac0945b320fe", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "将并行工作进程排除在连接权限检查和限制之外", "evidence": {"same_day": true, "patch_ids": ["1a8a91c3571756085438fad51819dda2"], "statement_hash": "82ed0553f764eb7a515dd74f509a6745b833a676294cde2512d8d94e37edb671"}, "url": "/docs/compare/?release=13.19#13.19-6e033c2272312979", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-354f959d2328db47", "cves": [], "html": "<p>保持 <code>TransactionXmin</code> 与 <code>MyProc-&gt;xmin</code> 同步（Heikki Linnakangas）<a href=\"https://postgr.es/c/41eafbb49\">§</a></p>\n<p>此疏忽可能允许进程尝试访问已被清理掉的数据。一个已知的后果是出现临时性的 <span>“<span>could not access status of transaction</span>”</span> 错误。</p>", "text": "保持 TransactionXmin 与 MyProc->xmin 同步（Heikki Linnakangas）§ 此疏忽可能允许进程尝试访问已被清理掉的数据。一个已知的后果是出现临时性的 “could not access status of transaction” 错误。", "title": "保持 TransactionXmin 与 MyProc->xmin 同步", "commits": ["41eafbb49"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "e45f9226df11b7c3e6acde6a28ec3019550209ca80f35034c75a36482641812a", "section_path": ["变更"], "commit_groups": [["41eafbb49", "578a7fe7b", "7cfdb4d1e", "9c1afd344", "9d8ab2c46", "acd5c28db"]], "identity_text": "Keep TransactionXmin in sync with MyProc->xmin (Heikki Linnakangas) This oversight could permit a process to try to access data that had already been vacuumed away. One known consequence is transient could not access status of transaction errors.", "commit_aliases": ["41eafbb49", "578a7fe7b", "7cfdb4d1e", "9c1afd344", "9d8ab2c46", "acd5c28db"], "source_commits": ["41eafbb49"], "source_entry_id": "14.16/changes/003", "db_id": "0f7d09315a70377991e6a72997b3ba55", "patch_ids": ["bc04e75a3557ff0fba978b0ee94d9217"], "statement_hash": "e1ee6f02ac8b75a16565bcc611feee1f00fac45626cbddd73089d3e79e6aa533", "relations": [{"rule": 2, "type": "equivalent", "target": "95bc5c6b6c30d84fe3e9651574bf0744", "evidence": {"same_day": true, "patch_ids": ["bc04e75a3557ff0fba978b0ee94d9217"], "statement_hash": "e1ee6f02ac8b75a16565bcc611feee1f00fac45626cbddd73089d3e79e6aa533"}}, {"rule": 2, "type": "equivalent", "target": "b17ef1f417debb4410a01a0a5a78dc49", "evidence": {"same_day": true, "patch_ids": ["bc04e75a3557ff0fba978b0ee94d9217"], "statement_hash": "e1ee6f02ac8b75a16565bcc611feee1f00fac45626cbddd73089d3e79e6aa533"}}, {"rule": 2, "type": "equivalent", "target": "c65490f6c757feec0acb4cae39b05bd5", "evidence": {"same_day": true, "patch_ids": ["bc04e75a3557ff0fba978b0ee94d9217"], "statement_hash": "e1ee6f02ac8b75a16565bcc611feee1f00fac45626cbddd73089d3e79e6aa533"}}, {"rule": 2, "type": "equivalent", "target": "f41d1eff08bdff771230aeb8e3ed62d7", "evidence": {"same_day": true, "patch_ids": ["bc04e75a3557ff0fba978b0ee94d9217"], "statement_hash": "e1ee6f02ac8b75a16565bcc611feee1f00fac45626cbddd73089d3e79e6aa533"}}], "version": "14.16", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "f41d1eff08bdff771230aeb8e3ed62d7", "kind": "equivalent", "version": "17.3", "label": "17.3", "title": "保持 TransactionXmin 与 MyProc->xmin 同步", "evidence": {"same_day": true, "patch_ids": ["bc04e75a3557ff0fba978b0ee94d9217"], "statement_hash": "e1ee6f02ac8b75a16565bcc611feee1f00fac45626cbddd73089d3e79e6aa533"}, "url": "/docs/compare/?release=17.3#17.3-64d8331c91e7da7b", "source_url": "/docs/release/17.3/#RELEASE-17-3-CHANGES"}, {"db_id": "c65490f6c757feec0acb4cae39b05bd5", "kind": "equivalent", "version": "16.7", "label": "16.7", "title": "保持 TransactionXmin 与 MyProc->xmin 同步", "evidence": {"same_day": true, "patch_ids": ["bc04e75a3557ff0fba978b0ee94d9217"], "statement_hash": "e1ee6f02ac8b75a16565bcc611feee1f00fac45626cbddd73089d3e79e6aa533"}, "url": "/docs/compare/?release=16.7#16.7-ab66fa2b5cecb35b", "source_url": "/docs/release/16.7/#RELEASE-16-7-CHANGES"}, {"db_id": "b17ef1f417debb4410a01a0a5a78dc49", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "保持 TransactionXmin 与 MyProc->xmin 同步", "evidence": {"same_day": true, "patch_ids": ["bc04e75a3557ff0fba978b0ee94d9217"], "statement_hash": "e1ee6f02ac8b75a16565bcc611feee1f00fac45626cbddd73089d3e79e6aa533"}, "url": "/docs/compare/?release=15.11#15.11-10d6ee2ef80e51a0", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "95bc5c6b6c30d84fe3e9651574bf0744", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "保持 TransactionXmin 与 MyProc->xmin 同步", "evidence": {"same_day": true, "patch_ids": ["bc04e75a3557ff0fba978b0ee94d9217"], "statement_hash": "e1ee6f02ac8b75a16565bcc611feee1f00fac45626cbddd73089d3e79e6aa533"}, "url": "/docs/compare/?release=13.19#13.19-2a0429c69913222c", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-e9c0b08aff686af1", "cves": [], "html": "<p>修复可能导致无法将新插入的目录条目添加到目录缓存列表中的竞态条件（Heikki Linnakangas）<a href=\"https://postgr.es/c/fce17c3a5\">§</a></p>\n<p>例如，这可能导致在现有会话中无法使用新创建的函数。</p>", "text": "修复可能导致无法将新插入的目录条目添加到目录缓存列表中的竞态条件（Heikki Linnakangas）§ 例如，这可能导致在现有会话中无法使用新创建的函数。", "title": "修复可能导致无法将新插入的目录条目添加到目录缓存列表中的竞态条件", "commits": ["fce17c3a5"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "5bee2526f9e4671d257d7d7a9fd5562f6a4c63f6d2b2473e6451ea68af8cf218", "section_path": ["变更"], "commit_groups": [["91fc447c2", "96e61b279", "af8cd1639", "ce7c406f0", "f217c4105", "fce17c3a5"]], "identity_text": "Fix race condition that could cause failure to add a newly-inserted catalog entry to a catalog cache list (Heikki Linnakangas) This could result, for example, in failure to use a newly-created function within an existing session.", "commit_aliases": ["91fc447c2", "96e61b279", "af8cd1639", "ce7c406f0", "f217c4105", "fce17c3a5"], "source_commits": ["fce17c3a5"], "source_entry_id": "14.16/changes/004", "db_id": "ba88944c6494770af7de1c741188a801", "patch_ids": ["30a0b58db53c2dde7b527eb3351b6729"], "statement_hash": "0787edc695f81f699e49d8b9bb26054790beb156285a90f41a407c4582951c13", "relations": [{"rule": 2, "type": "equivalent", "target": "428eec456d3609f76929a2b038f85e8a", "evidence": {"same_day": true, "patch_ids": ["30a0b58db53c2dde7b527eb3351b6729"], "statement_hash": "0787edc695f81f699e49d8b9bb26054790beb156285a90f41a407c4582951c13"}}, {"rule": 2, "type": "equivalent", "target": "819024b2a3054af412673022665b0b12", "evidence": {"same_day": true, "patch_ids": ["30a0b58db53c2dde7b527eb3351b6729"], "statement_hash": "0787edc695f81f699e49d8b9bb26054790beb156285a90f41a407c4582951c13"}}, {"rule": 2, "type": "equivalent", "target": "cd11a1e538f07e62b6fc668dbd1402ac", "evidence": {"same_day": true, "patch_ids": ["30a0b58db53c2dde7b527eb3351b6729"], "statement_hash": "0787edc695f81f699e49d8b9bb26054790beb156285a90f41a407c4582951c13"}}, {"rule": 2, "type": "equivalent", "target": "f825fa61541437a3b4bb7f8ede4da592", "evidence": {"same_day": true, "patch_ids": ["30a0b58db53c2dde7b527eb3351b6729"], "statement_hash": "0787edc695f81f699e49d8b9bb26054790beb156285a90f41a407c4582951c13"}}], "version": "14.16", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "f825fa61541437a3b4bb7f8ede4da592", "kind": "equivalent", "version": "17.3", "label": "17.3", "title": "修复可能导致无法将新插入的目录条目添加到目录缓存列表中的竞态条件", "evidence": {"same_day": true, "patch_ids": ["30a0b58db53c2dde7b527eb3351b6729"], "statement_hash": "0787edc695f81f699e49d8b9bb26054790beb156285a90f41a407c4582951c13"}, "url": "/docs/compare/?release=17.3#17.3-d49aa538a89c2e9d", "source_url": "/docs/release/17.3/#RELEASE-17-3-CHANGES"}, {"db_id": "819024b2a3054af412673022665b0b12", "kind": "equivalent", "version": "16.7", "label": "16.7", "title": "修复可能导致无法将新插入的目录条目添加到目录缓存列表中的竞态条件", "evidence": {"same_day": true, "patch_ids": ["30a0b58db53c2dde7b527eb3351b6729"], "statement_hash": "0787edc695f81f699e49d8b9bb26054790beb156285a90f41a407c4582951c13"}, "url": "/docs/compare/?release=16.7#16.7-d3e1ddb3e3b864fa", "source_url": "/docs/release/16.7/#RELEASE-16-7-CHANGES"}, {"db_id": "428eec456d3609f76929a2b038f85e8a", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "修复可能导致无法将新插入的目录条目添加到目录缓存列表中的竞态条件", "evidence": {"same_day": true, "patch_ids": ["30a0b58db53c2dde7b527eb3351b6729"], "statement_hash": "0787edc695f81f699e49d8b9bb26054790beb156285a90f41a407c4582951c13"}, "url": "/docs/compare/?release=15.11#15.11-27d7ae34526121f3", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "cd11a1e538f07e62b6fc668dbd1402ac", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "修复可能导致无法将新插入的目录条目添加到目录缓存列表中的竞态条件", "evidence": {"same_day": true, "patch_ids": ["30a0b58db53c2dde7b527eb3351b6729"], "statement_hash": "0787edc695f81f699e49d8b9bb26054790beb156285a90f41a407c4582951c13"}, "url": "/docs/compare/?release=13.19#13.19-feed443fed43a11e", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-9f57888fe6641937", "cves": [], "html": "<p>防止在系统目录被并发更新时进行 vacuum 可能导致的目录损坏（Noah Misch）<a href=\"https://postgr.es/c/25e99483c\">§</a></p>", "text": "防止在系统目录被并发更新时进行 vacuum 可能导致的目录损坏（Noah Misch）§", "title": "防止在系统目录被并发更新时进行 vacuum 可能导致的目录损坏", "commits": ["25e99483c"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "9c6a54ed28f51dc02401cd3fa41c37f86b829a1f7e6c6bbf17380ff30f9aa699", "section_path": ["变更"], "commit_groups": [["1587f7b9f", "81772a495"], ["25e99483c", "8bfd2ceba", "9311fcb86", "d28cd3e7b", "dc02b98bd", "f4af4515b"]], "identity_text": "Prevent possible catalog corruption when a system catalog is vacuumed concurrently with an update (Noah Misch)", "commit_aliases": ["1587f7b9f", "25e99483c", "81772a495", "8bfd2ceba", "9311fcb86", "d28cd3e7b", "dc02b98bd", "f4af4515b"], "source_commits": ["25e99483c", "81772a495"], "source_entry_id": "14.16/changes/005", "db_id": "e2fc775ae660cbfe5909a35ba85930cf", "patch_ids": ["1da4fd752464ea7b33c418f1ffc2761f", "5a322d332e5b2574706cfef626d68da0"], "statement_hash": "e69a8422a00ac3a14bdfa2cbfda1c75d28c90905a13e9a277cff4a0bc8136382", "relations": [{"rule": 2, "type": "equivalent", "target": "1c538425f3222136473c1bd1f195a41c", "evidence": {"same_day": true, "patch_ids": ["1da4fd752464ea7b33c418f1ffc2761f", "5a322d332e5b2574706cfef626d68da0"], "statement_hash": "e69a8422a00ac3a14bdfa2cbfda1c75d28c90905a13e9a277cff4a0bc8136382"}}, {"rule": 2, "type": "equivalent", "target": "53e2d4d1a5f179c948796b4a85c497a0", "evidence": {"same_day": true, "patch_ids": ["1da4fd752464ea7b33c418f1ffc2761f", "5a322d332e5b2574706cfef626d68da0"], "statement_hash": "e69a8422a00ac3a14bdfa2cbfda1c75d28c90905a13e9a277cff4a0bc8136382"}}, {"rule": 2, "type": "equivalent", "target": "d552bf163f629e4ce3880b1314bf6e2f", "evidence": {"same_day": true, "patch_ids": ["1da4fd752464ea7b33c418f1ffc2761f", "5a322d332e5b2574706cfef626d68da0"], "statement_hash": "e69a8422a00ac3a14bdfa2cbfda1c75d28c90905a13e9a277cff4a0bc8136382"}}, {"rule": 2, "type": "equivalent", "target": "f3712147b2c17e6407c3aaa1c6b905b5", "evidence": {"same_day": true, "patch_ids": ["1da4fd752464ea7b33c418f1ffc2761f", "5a322d332e5b2574706cfef626d68da0"], "statement_hash": "e69a8422a00ac3a14bdfa2cbfda1c75d28c90905a13e9a277cff4a0bc8136382"}}], "version": "14.16", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "53e2d4d1a5f179c948796b4a85c497a0", "kind": "equivalent", "version": "17.3", "label": "17.3", "title": "防止在系统目录被并发更新时进行 vacuum 可能导致的目录损坏", "evidence": {"same_day": true, "patch_ids": ["1da4fd752464ea7b33c418f1ffc2761f", "5a322d332e5b2574706cfef626d68da0"], "statement_hash": "e69a8422a00ac3a14bdfa2cbfda1c75d28c90905a13e9a277cff4a0bc8136382"}, "url": "/docs/compare/?release=17.3#17.3-f3e54e13e653a3e5", "source_url": "/docs/release/17.3/#RELEASE-17-3-CHANGES"}, {"db_id": "1c538425f3222136473c1bd1f195a41c", "kind": "equivalent", "version": "16.7", "label": "16.7", "title": "防止在系统目录被并发更新时进行 vacuum 可能导致的目录损坏", "evidence": {"same_day": true, "patch_ids": ["1da4fd752464ea7b33c418f1ffc2761f", "5a322d332e5b2574706cfef626d68da0"], "statement_hash": "e69a8422a00ac3a14bdfa2cbfda1c75d28c90905a13e9a277cff4a0bc8136382"}, "url": "/docs/compare/?release=16.7#16.7-a055f3b905c546b3", "source_url": "/docs/release/16.7/#RELEASE-16-7-CHANGES"}, {"db_id": "f3712147b2c17e6407c3aaa1c6b905b5", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "防止在系统目录被并发更新时进行 vacuum 可能导致的目录损坏", "evidence": {"same_day": true, "patch_ids": ["1da4fd752464ea7b33c418f1ffc2761f", "5a322d332e5b2574706cfef626d68da0"], "statement_hash": "e69a8422a00ac3a14bdfa2cbfda1c75d28c90905a13e9a277cff4a0bc8136382"}, "url": "/docs/compare/?release=15.11#15.11-a1d8fcc306540815", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "d552bf163f629e4ce3880b1314bf6e2f", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "防止在系统目录被并发更新时进行 vacuum 可能导致的目录损坏", "evidence": {"same_day": true, "patch_ids": ["1da4fd752464ea7b33c418f1ffc2761f", "5a322d332e5b2574706cfef626d68da0"], "statement_hash": "e69a8422a00ac3a14bdfa2cbfda1c75d28c90905a13e9a277cff4a0bc8136382"}, "url": "/docs/compare/?release=13.19#13.19-cb91e58d180e62e3", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-80a213144aae7b2c", "cves": [], "html": "<p>修复关系截断失败时的数据损坏问题（Thomas Munro）<a href=\"https://postgr.es/c/23c743b64\">§</a> <a href=\"https://postgr.es/c/f154f028d\">§</a> <a href=\"https://postgr.es/c/049c8cb9a\">§</a></p>\n<p>执行关系截断所需的文件系统调用可能会失败，导致磁盘上留下不一致的状态（例如，实际上恢复了已删除的数据）。我们无法真正阻止这种情况，但可以通过将此类失败提升为 PANIC 来进行恢复，这样可以通过从 WAL 重放到尝试截断之前来恢复一致性。这并不是一个非常理想的行为，但由于此类失败足够罕见，因此似乎是一个可以接受的解决方案。</p>", "text": "修复关系截断失败时的数据损坏问题（Thomas Munro）§ § § 执行关系截断所需的文件系统调用可能会失败，导致磁盘上留下不一致的状态（例如，实际上恢复了已删除的数据）。我们无法真正阻止这种情况，但可以通过将此类失败提升为 PANIC 来进行恢复，这样可以通过从 WAL 重放到尝试截断之前来恢复一致性。这并不是一个非常理想的行为，但由于此类失败足够罕见，因此似乎是一个可以接受的解决方案。", "title": "修复关系截断失败时的数据损坏问题", "commits": ["049c8cb9a", "23c743b64", "f154f028d"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "4a28a9788fa4390a6bf779a37cc8f84459f427f5a8a6cd8b433ed6f62768543d", "section_path": ["变更"], "commit_groups": [["0350b876b", "228091216", "23c743b64", "38c579b08", "ba02d24ba", "fb540b6aa"], ["049c8cb9a", "190054e61", "417d41c65", "45aef9f6b", "9defaaa1d"], ["3181befdc", "66aaabe7a", "a1d17a894", "c957d7444", "f154f028d"]], "identity_text": "Fix data corruption when relation truncation fails (Thomas Munro) The filesystem calls needed to perform relation truncation could fail, leaving inconsistent state on disk (for example, effectively reviving deleted data). We can't really prevent that, but we can recover by dint of making such failures into PANICs, so that consistency is restored by replaying from WAL up to just before the attempted truncation. This isn't a hugely desirable behavior, but such failures are rare enough that it seems an acceptable solution.", "commit_aliases": ["0350b876b", "049c8cb9a", "190054e61", "228091216", "23c743b64", "3181befdc", "38c579b08", "417d41c65", "45aef9f6b", "66aaabe7a", "9defaaa1d", "a1d17a894", "ba02d24ba", "c957d7444", "f154f028d", "fb540b6aa"], "source_commits": ["049c8cb9a", "23c743b64", "f154f028d"], "source_entry_id": "14.16/changes/006", "db_id": "29a3dd579cd7acb075f4eb7f34cadf6d", "patch_ids": ["13b727a8d3d7e0cd9bc0c3b68e1e7642", "22bba484f561f9abb1172fd40d38d02e", "ed7a32160204c88287960b3de8181d7c"], "statement_hash": "e288a5da590e21c8e69da460b1fc2e484df1e640552bad1d8e596c1194c10a90", "relations": [{"rule": 2, "type": "equivalent", "target": "6e2d54cee98be477c06d5503209286d2", "evidence": {"same_day": true, "patch_ids": ["13b727a8d3d7e0cd9bc0c3b68e1e7642", "22bba484f561f9abb1172fd40d38d02e", "ed7a32160204c88287960b3de8181d7c"], "statement_hash": "e288a5da590e21c8e69da460b1fc2e484df1e640552bad1d8e596c1194c10a90"}}, {"rule": 2, "type": "equivalent", "target": "a705757c88e8dc114469492bca11380e", "evidence": {"same_day": true, "patch_ids": ["13b727a8d3d7e0cd9bc0c3b68e1e7642", "22bba484f561f9abb1172fd40d38d02e", "ed7a32160204c88287960b3de8181d7c"], "statement_hash": "e288a5da590e21c8e69da460b1fc2e484df1e640552bad1d8e596c1194c10a90"}}, {"rule": 2, "type": "equivalent", "target": "affd693034e908911e8335280c40337c", "evidence": {"same_day": true, "patch_ids": ["13b727a8d3d7e0cd9bc0c3b68e1e7642", "22bba484f561f9abb1172fd40d38d02e", "ed7a32160204c88287960b3de8181d7c"], "statement_hash": "e288a5da590e21c8e69da460b1fc2e484df1e640552bad1d8e596c1194c10a90"}}, {"rule": 2, "type": "equivalent", "target": "c876272e00edeea60adb978f3ab1e194", "evidence": {"same_day": true, "patch_ids": ["13b727a8d3d7e0cd9bc0c3b68e1e7642", "22bba484f561f9abb1172fd40d38d02e", "ed7a32160204c88287960b3de8181d7c"], "statement_hash": "e288a5da590e21c8e69da460b1fc2e484df1e640552bad1d8e596c1194c10a90"}}], "version": "14.16", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "c876272e00edeea60adb978f3ab1e194", "kind": "equivalent", "version": "17.3", "label": "17.3", "title": "修复关系截断失败时的数据损坏问题", "evidence": {"same_day": true, "patch_ids": ["13b727a8d3d7e0cd9bc0c3b68e1e7642", "22bba484f561f9abb1172fd40d38d02e", "ed7a32160204c88287960b3de8181d7c"], "statement_hash": "e288a5da590e21c8e69da460b1fc2e484df1e640552bad1d8e596c1194c10a90"}, "url": "/docs/compare/?release=17.3#17.3-1628e1c1870a7451", "source_url": "/docs/release/17.3/#RELEASE-17-3-CHANGES"}, {"db_id": "a705757c88e8dc114469492bca11380e", "kind": "equivalent", "version": "16.7", "label": "16.7", "title": "修复关系截断失败时的数据损坏问题", "evidence": {"same_day": true, "patch_ids": ["13b727a8d3d7e0cd9bc0c3b68e1e7642", "22bba484f561f9abb1172fd40d38d02e", "ed7a32160204c88287960b3de8181d7c"], "statement_hash": "e288a5da590e21c8e69da460b1fc2e484df1e640552bad1d8e596c1194c10a90"}, "url": "/docs/compare/?release=16.7#16.7-adc6f7d2ce7990fa", "source_url": "/docs/release/16.7/#RELEASE-16-7-CHANGES"}, {"db_id": "6e2d54cee98be477c06d5503209286d2", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "修复关系截断失败时的数据损坏问题", "evidence": {"same_day": true, "patch_ids": ["13b727a8d3d7e0cd9bc0c3b68e1e7642", "22bba484f561f9abb1172fd40d38d02e", "ed7a32160204c88287960b3de8181d7c"], "statement_hash": "e288a5da590e21c8e69da460b1fc2e484df1e640552bad1d8e596c1194c10a90"}, "url": "/docs/compare/?release=15.11#15.11-bfc0aa4fc8a74702", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "affd693034e908911e8335280c40337c", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "修复关系截断失败时的数据损坏问题", "evidence": {"same_day": true, "patch_ids": ["13b727a8d3d7e0cd9bc0c3b68e1e7642", "22bba484f561f9abb1172fd40d38d02e", "ed7a32160204c88287960b3de8181d7c"], "statement_hash": "e288a5da590e21c8e69da460b1fc2e484df1e640552bad1d8e596c1194c10a90"}, "url": "/docs/compare/?release=13.19#13.19-122ddb0a90db2f62", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-c9b2392b6b20c044", "cves": [], "html": "<p>防止在关系截断期间启动检查点（Robert Haas）<a href=\"https://postgr.es/c/7d0b91a28\">§</a></p>\n<p>这避免了一种竞态条件，即修改后的文件可能在完成检查点之前未被 fsync，从而在操作系统崩溃后不久产生数据损坏的风险。</p>", "text": "防止在关系截断期间启动检查点（Robert Haas）§ 这避免了一种竞态条件，即修改后的文件可能在完成检查点之前未被 fsync，从而在操作系统崩溃后不久产生数据损坏的风险。", "title": "防止在关系截断期间启动检查点", "commits": ["7d0b91a28"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "234d96f93ac9724f49b9393c66ba9361a991862b33d9b01056b794ce255684df", "section_path": ["变更"], "commit_groups": [["1168acbca", "75818b3af", "7d0b91a28", "a501fe5a9", "ad5aa7bfd", "d4ffbf47b"]], "identity_text": "Prevent checkpoints from starting during relation truncation (Robert Haas) This avoids a race condition wherein the modified file might not get fsync'd before completing the checkpoint, creating a risk of data corruption if the operating system crashes soon after.", "commit_aliases": ["1168acbca", "75818b3af", "7d0b91a28", "a501fe5a9", "ad5aa7bfd", "d4ffbf47b"], "source_commits": ["7d0b91a28"], "source_entry_id": "14.16/changes/007", "db_id": "563d9f0f77b3eee26c49723296ec9b79", "patch_ids": ["c12b962bcfc7f1116a0a1e82ac97d466"], "statement_hash": "5a7f80ce273dd03c64be48fd9f34bac3e72ea14b376b7fd414f3f61971e9c70d", "relations": [{"rule": 2, "type": "equivalent", "target": "470f2470a3f35434fb1d59ff2b3944f7", "evidence": {"same_day": true, "patch_ids": ["c12b962bcfc7f1116a0a1e82ac97d466"], "statement_hash": "5a7f80ce273dd03c64be48fd9f34bac3e72ea14b376b7fd414f3f61971e9c70d"}}, {"rule": 2, "type": "equivalent", "target": "48e63346cf5f2bd983ad4aa906ad04c3", "evidence": {"same_day": true, "patch_ids": ["c12b962bcfc7f1116a0a1e82ac97d466"], "statement_hash": "5a7f80ce273dd03c64be48fd9f34bac3e72ea14b376b7fd414f3f61971e9c70d"}}, {"rule": 2, "type": "equivalent", "target": "a574173fa6e03fae58fa4d27b0e1c766", "evidence": {"same_day": true, "patch_ids": ["c12b962bcfc7f1116a0a1e82ac97d466"], "statement_hash": "5a7f80ce273dd03c64be48fd9f34bac3e72ea14b376b7fd414f3f61971e9c70d"}}, {"rule": 2, "type": "equivalent", "target": "b014a39e8931c48ade8177ec91e5da8e", "evidence": {"same_day": true, "patch_ids": ["c12b962bcfc7f1116a0a1e82ac97d466"], "statement_hash": "5a7f80ce273dd03c64be48fd9f34bac3e72ea14b376b7fd414f3f61971e9c70d"}}], "version": "14.16", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "a574173fa6e03fae58fa4d27b0e1c766", "kind": "equivalent", "version": "17.3", "label": "17.3", "title": "防止在关系截断期间启动检查点", "evidence": {"same_day": true, "patch_ids": ["c12b962bcfc7f1116a0a1e82ac97d466"], "statement_hash": "5a7f80ce273dd03c64be48fd9f34bac3e72ea14b376b7fd414f3f61971e9c70d"}, "url": "/docs/compare/?release=17.3#17.3-39227326b9aa5e8e", "source_url": "/docs/release/17.3/#RELEASE-17-3-CHANGES"}, {"db_id": "48e63346cf5f2bd983ad4aa906ad04c3", "kind": "equivalent", "version": "16.7", "label": "16.7", "title": "防止在关系截断期间启动检查点", "evidence": {"same_day": true, "patch_ids": ["c12b962bcfc7f1116a0a1e82ac97d466"], "statement_hash": "5a7f80ce273dd03c64be48fd9f34bac3e72ea14b376b7fd414f3f61971e9c70d"}, "url": "/docs/compare/?release=16.7#16.7-d552b4e09791f05c", "source_url": "/docs/release/16.7/#RELEASE-16-7-CHANGES"}, {"db_id": "470f2470a3f35434fb1d59ff2b3944f7", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "防止在关系截断期间启动检查点", "evidence": {"same_day": true, "patch_ids": ["c12b962bcfc7f1116a0a1e82ac97d466"], "statement_hash": "5a7f80ce273dd03c64be48fd9f34bac3e72ea14b376b7fd414f3f61971e9c70d"}, "url": "/docs/compare/?release=15.11#15.11-be8211ced912411c", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "b014a39e8931c48ade8177ec91e5da8e", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "防止在关系截断期间启动检查点", "evidence": {"same_day": true, "patch_ids": ["c12b962bcfc7f1116a0a1e82ac97d466"], "statement_hash": "5a7f80ce273dd03c64be48fd9f34bac3e72ea14b376b7fd414f3f61971e9c70d"}, "url": "/docs/compare/?release=13.19#13.19-e9956e400bc3e5e5", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-cf11062efb42b6e9", "cves": [], "html": "<p>使用 <code>rename()</code> 而非 <code>link()</code>/<code>unlink()</code> 来重命名文件（Nathan Bossart）<a href=\"https://postgr.es/c/c1c9df315\">§</a></p>\n<p>之前的代码旨在确保操作不会意外覆盖已有文件。但是失败可能会留下两个指向同一文件的链接，使后续操作混乱并产生数据损坏的风险。在实践中，我们不会在目标文件名可能已存在的地方使用此功能，因此放弃不覆盖保证以消除多链接风险似乎更好。</p>", "text": "使用 rename() 而非 link()/unlink() 来重命名文件（Nathan Bossart）§ 之前的代码旨在确保操作不会意外覆盖已有文件。但是失败可能会留下两个指向同一文件的链接，使后续操作混乱并产生数据损坏的风险。在实践中，我们不会在目标文件名可能已存在的地方使用此功能，因此放弃不覆盖保证以消除多链接风险似乎更好。", "title": "使用 rename() 而非 link()/unlink() 来重命名文件", "commits": ["c1c9df315"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "3706e221eee7fc09f7189ec1f31969b4ac80723ef2131e0c7c949a368e08e95e", "section_path": ["变更"], "commit_groups": [["1f95181b4", "26a79cbbd", "c1c9df315", "dac1ff309"]], "identity_text": "Use rename() not link()/unlink() to rename files (Nathan Bossart) The previous coding was intended to assure that the operation could not accidentally overwrite an existing file. However a failure could leave two links to the same file in existence, confusing subsequent operations and creating a risk of data corruption. In practice we do not use this functionality in places where the target filename could already exist, so it seems better to give up the no-overwrite guarantee to remove the multiple-link hazard.", "commit_aliases": ["1f95181b4", "26a79cbbd", "c1c9df315", "dac1ff309"], "source_commits": ["1f95181b4"], "source_entry_id": "14.16/changes/008", "db_id": "39a7ea01a72b25c8dba644abeeb8c8a0", "patch_ids": ["647bc3d9af3144dd436efb4674b73822"], "statement_hash": "9f134bed941f02dcfd4adebe143f7523720bf49e3095a5cf7e7364d20b3df4d6", "relations": [{"rule": 2, "type": "equivalent", "target": "09f32c6598ce32f4f080055b3dcfe189", "evidence": {"same_day": true, "patch_ids": ["647bc3d9af3144dd436efb4674b73822"], "statement_hash": "9f134bed941f02dcfd4adebe143f7523720bf49e3095a5cf7e7364d20b3df4d6"}}, {"rule": 2, "type": "equivalent", "target": "1cb6f6430785de32d8a1aea92346cfff", "evidence": {"same_day": true, "patch_ids": ["647bc3d9af3144dd436efb4674b73822"], "statement_hash": "9f134bed941f02dcfd4adebe143f7523720bf49e3095a5cf7e7364d20b3df4d6"}}], "version": "14.16", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "1cb6f6430785de32d8a1aea92346cfff", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "使用 rename() 而非 link()/unlink() 来重命名文件", "evidence": {"same_day": true, "patch_ids": ["647bc3d9af3144dd436efb4674b73822"], "statement_hash": "9f134bed941f02dcfd4adebe143f7523720bf49e3095a5cf7e7364d20b3df4d6"}, "url": "/docs/compare/?release=15.11#15.11-cf11062efb42b6e9", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "09f32c6598ce32f4f080055b3dcfe189", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "使用 rename() 而非 link()/unlink() 来重命名文件", "evidence": {"same_day": true, "patch_ids": ["647bc3d9af3144dd436efb4674b73822"], "statement_hash": "9f134bed941f02dcfd4adebe143f7523720bf49e3095a5cf7e7364d20b3df4d6"}, "url": "/docs/compare/?release=13.19#13.19-b5dce7e171563407", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-3c647ec0597ac4c4", "cves": [], "html": "<p>避免在 <code>VACUUM</code> 与更改该数据库所有者的 <code>REASSIGN OWNED</code> 并发运行时可能丢失 <code>pg_database</code>.<code>datfrozenxid</code> 更新（Kirill Reshke）<a href=\"https://postgr.es/c/536acda0b\">§</a></p>", "text": "避免在 VACUUM 与更改该数据库所有者的 REASSIGN OWNED 并发运行时可能丢失 pg_database.datfrozenxid 更新（Kirill Reshke）§", "title": "避免在 VACUUM 与更改该数据库所有者的 REASSIGN OWNED 并发运行时可能丢失 pg_database.datfrozenxid 更新", "commits": ["536acda0b"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "2570e026e084bd3e0ac7bad68db69dc94bba6a39cbcda560c844a4526bb57ebe", "section_path": ["变更"], "commit_groups": [["102546322", "536acda0b", "5d94aa4dc", "83bb52375", "fa6131377", "ff90ee614"]], "identity_text": "Avoid possibly losing an update of pg_database.datfrozenxid when VACUUM runs concurrently with a REASSIGN OWNED that changes that database's owner (Kirill Reshke)", "commit_aliases": ["102546322", "536acda0b", "5d94aa4dc", "83bb52375", "fa6131377", "ff90ee614"], "source_commits": ["536acda0b"], "source_entry_id": "14.16/changes/009", "db_id": "feb50589d281ea3e1b37054116fcc81e", "patch_ids": ["b6a0d195c978f1e57d8c1f021f276468"], "statement_hash": "1d1026625c7d5c5cf058f81b8def7d331e66adf63ae251ea55f0e7f0cc8541b4", "relations": [{"rule": 2, "type": "equivalent", "target": "524ee1859a9a3001a80e40e7b0a39b0b", "evidence": {"same_day": true, "patch_ids": ["b6a0d195c978f1e57d8c1f021f276468"], "statement_hash": "1d1026625c7d5c5cf058f81b8def7d331e66adf63ae251ea55f0e7f0cc8541b4"}}, {"rule": 2, "type": "equivalent", "target": "83e275474e47821b92f025b6e90139cf", "evidence": {"same_day": true, "patch_ids": ["b6a0d195c978f1e57d8c1f021f276468"], "statement_hash": "1d1026625c7d5c5cf058f81b8def7d331e66adf63ae251ea55f0e7f0cc8541b4"}}, {"rule": 2, "type": "equivalent", "target": "95b24594fb8dfba364e543d578552e82", "evidence": {"same_day": true, "patch_ids": ["b6a0d195c978f1e57d8c1f021f276468"], "statement_hash": "1d1026625c7d5c5cf058f81b8def7d331e66adf63ae251ea55f0e7f0cc8541b4"}}, {"rule": 2, "type": "equivalent", "target": "f7627264415aa2ab9fb18d0f94ac2d9d", "evidence": {"same_day": true, "patch_ids": ["b6a0d195c978f1e57d8c1f021f276468"], "statement_hash": "1d1026625c7d5c5cf058f81b8def7d331e66adf63ae251ea55f0e7f0cc8541b4"}}], "version": "14.16", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "83e275474e47821b92f025b6e90139cf", "kind": "equivalent", "version": "17.3", "label": "17.3", "title": "避免在 VACUUM 与更改该数据库所有者的 REASSIGN OWNED 并发运行时可能丢失 pg_database.datfrozenxid 更新", "evidence": {"same_day": true, "patch_ids": ["b6a0d195c978f1e57d8c1f021f276468"], "statement_hash": "1d1026625c7d5c5cf058f81b8def7d331e66adf63ae251ea55f0e7f0cc8541b4"}, "url": "/docs/compare/?release=17.3#17.3-8b723e176b0f446c", "source_url": "/docs/release/17.3/#RELEASE-17-3-CHANGES"}, {"db_id": "524ee1859a9a3001a80e40e7b0a39b0b", "kind": "equivalent", "version": "16.7", "label": "16.7", "title": "避免在 VACUUM 与更改该数据库所有者的 REASSIGN OWNED 并发运行时可能丢失 pg_database.datfrozenxid 更新", "evidence": {"same_day": true, "patch_ids": ["b6a0d195c978f1e57d8c1f021f276468"], "statement_hash": "1d1026625c7d5c5cf058f81b8def7d331e66adf63ae251ea55f0e7f0cc8541b4"}, "url": "/docs/compare/?release=16.7#16.7-80f6efebe5169fa5", "source_url": "/docs/release/16.7/#RELEASE-16-7-CHANGES"}, {"db_id": "95b24594fb8dfba364e543d578552e82", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "避免在 VACUUM 与更改该数据库所有者的 REASSIGN OWNED 并发运行时可能丢失 pg_database.datfrozenxid 更新", "evidence": {"same_day": true, "patch_ids": ["b6a0d195c978f1e57d8c1f021f276468"], "statement_hash": "1d1026625c7d5c5cf058f81b8def7d331e66adf63ae251ea55f0e7f0cc8541b4"}, "url": "/docs/compare/?release=15.11#15.11-5610643fcb43a3fe", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "f7627264415aa2ab9fb18d0f94ac2d9d", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "避免在 VACUUM 与更改该数据库所有者的 REASSIGN OWNED 并发运行时可能丢失 pg_database.datfrozenxid 更新", "evidence": {"same_day": true, "patch_ids": ["b6a0d195c978f1e57d8c1f021f276468"], "statement_hash": "1d1026625c7d5c5cf058f81b8def7d331e66adf63ae251ea55f0e7f0cc8541b4"}, "url": "/docs/compare/?release=13.19#13.19-ab0c90bf54d9f5c2", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-d7dbe77a2d3bf9f8", "cves": [], "html": "<p>修复传递给 <code>AFTER UPDATE</code> 触发器的不正确 <code>tg_updatedcols</code> 值（Tom Lane）<a href=\"https://postgr.es/c/308599305\">§</a></p>\n<p>在某些情况下，<code>tg_updatedcols</code> 位图可能描述的是同一事务中较早命令更新的列集合，从而导致触发器做出错误的操作。</p>\n<p>同时，防止由于制作过多 <code>tg_updatedcols</code> 位图副本而导致的内存膨胀。</p>", "text": "修复传递给 AFTER UPDATE 触发器的不正确 tg_updatedcols 值（Tom Lane）§ 在某些情况下，tg_updatedcols 位图可能描述的是同一事务中较早命令更新的列集合，从而导致触发器做出错误的操作。 同时，防止由于制作过多 tg_updatedcols 位图副本而导致的内存膨胀。", "title": "修复传递给 AFTER UPDATE 触发器的不正确 tg_updatedcols 值", "commits": ["308599305"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "10ace6d9d415d8d3549569a2a83517754fb1ce775f180659bf13d0bde82b4efa", "section_path": ["变更"], "commit_groups": [["001c09d8b", "2b72fed2d", "308599305", "8c57f5485", "cdeed4de7", "ea68ea632"]], "identity_text": "Fix incorrect tg_updatedcols values passed to AFTER UPDATE triggers (Tom Lane) In some cases the tg_updatedcols bitmap could describe the set of columns updated by an earlier command in the same transaction, fooling the trigger into doing the wrong thing. Also, prevent memory bloat caused by making too many copies of the tg_updatedcols bitmap.", "commit_aliases": ["001c09d8b", "2b72fed2d", "308599305", "8c57f5485", "cdeed4de7", "ea68ea632"], "source_commits": ["308599305"], "source_entry_id": "14.16/changes/010", "db_id": "da1d05e172cbdd0f65139dfdb1379c23", "patch_ids": ["935ea3d2c8941396d63af7511d0ae3f3"], "statement_hash": "424023c39dab88c81aa91a632bc171165fb296a8defacf4742f31103b4e6f038", "relations": [{"rule": 2, "type": "equivalent", "target": "25234cf13e328eb8a93c26e631925f08", "evidence": {"same_day": true, "patch_ids": ["935ea3d2c8941396d63af7511d0ae3f3"], "statement_hash": "424023c39dab88c81aa91a632bc171165fb296a8defacf4742f31103b4e6f038"}}, {"rule": 2, "type": "equivalent", "target": "50e8ee2b0a0aa287efae573e27cb7b58", "evidence": {"same_day": true, "patch_ids": ["935ea3d2c8941396d63af7511d0ae3f3"], "statement_hash": "424023c39dab88c81aa91a632bc171165fb296a8defacf4742f31103b4e6f038"}}, {"rule": 2, "type": "equivalent", "target": "c379fe0c55ce00f703f60214521a1296", "evidence": {"same_day": true, "patch_ids": ["935ea3d2c8941396d63af7511d0ae3f3"], "statement_hash": "424023c39dab88c81aa91a632bc171165fb296a8defacf4742f31103b4e6f038"}}, {"rule": 2, "type": "equivalent", "target": "c6140d114e2b88402e84ac2376adfaed", "evidence": {"same_day": true, "patch_ids": ["935ea3d2c8941396d63af7511d0ae3f3"], "statement_hash": "424023c39dab88c81aa91a632bc171165fb296a8defacf4742f31103b4e6f038"}}], "version": "14.16", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "c6140d114e2b88402e84ac2376adfaed", "kind": "equivalent", "version": "17.3", "label": "17.3", "title": "修复传递给 AFTER UPDATE 触发器的不正确 tg_updatedcols 值", "evidence": {"same_day": true, "patch_ids": ["935ea3d2c8941396d63af7511d0ae3f3"], "statement_hash": "424023c39dab88c81aa91a632bc171165fb296a8defacf4742f31103b4e6f038"}, "url": "/docs/compare/?release=17.3#17.3-e511638002b0a923", "source_url": "/docs/release/17.3/#RELEASE-17-3-CHANGES"}, {"db_id": "50e8ee2b0a0aa287efae573e27cb7b58", "kind": "equivalent", "version": "16.7", "label": "16.7", "title": "修复传递给 AFTER UPDATE 触发器的不正确 tg_updatedcols 值", "evidence": {"same_day": true, "patch_ids": ["935ea3d2c8941396d63af7511d0ae3f3"], "statement_hash": "424023c39dab88c81aa91a632bc171165fb296a8defacf4742f31103b4e6f038"}, "url": "/docs/compare/?release=16.7#16.7-25e7d7fda3f0c685", "source_url": "/docs/release/16.7/#RELEASE-16-7-CHANGES"}, {"db_id": "25234cf13e328eb8a93c26e631925f08", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "修复传递给 AFTER UPDATE 触发器的不正确 tg_updatedcols 值", "evidence": {"same_day": true, "patch_ids": ["935ea3d2c8941396d63af7511d0ae3f3"], "statement_hash": "424023c39dab88c81aa91a632bc171165fb296a8defacf4742f31103b4e6f038"}, "url": "/docs/compare/?release=15.11#15.11-091abc3c4ed700b1", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "c379fe0c55ce00f703f60214521a1296", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "修复传递给 AFTER UPDATE 触发器的不正确 tg_updatedcols 值", "evidence": {"same_day": true, "patch_ids": ["935ea3d2c8941396d63af7511d0ae3f3"], "statement_hash": "424023c39dab88c81aa91a632bc171165fb296a8defacf4742f31103b4e6f038"}, "url": "/docs/compare/?release=13.19#13.19-56197f371c786612", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-ba07a3fc5ec3fd4f", "cves": [], "html": "<p>修复 <code>to_timestamp</code> 的 <code>FF<em><code>n</code></em></code> 格式代码的错误处理（Tom Lane）<a href=\"https://postgr.es/c/5882a4ba0\">§</a></p>\n<p>紧接在 <code>FF<em><code>n</code></em></code> 之前的整数格式代码会消耗所有可用数字，导致 <code>FF<em><code>n</code></em></code> 没有剩余数字可用。</p>", "text": "修复 to_timestamp 的 FFn 格式代码的错误处理（Tom Lane）§ 紧接在 FFn 之前的整数格式代码会消耗所有可用数字，导致 FFn 没有剩余数字可用。", "title": "修复 to_timestamp 的 FFn 格式代码的错误处理", "commits": ["5882a4ba0"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "0ae3c98797d0f87a00964a8038496bd3650e1dabfa85c8d058fc0b31c05efc9c", "section_path": ["变更"], "commit_groups": [["26c233b8b", "3220ceaf7", "5882a4ba0", "765f76d8c", "d2f59497a", "f2eba400b"]], "identity_text": "Fix mis-processing of to_timestamp's FFn format codes (Tom Lane) An integer format code immediately preceding FFn would consume all available digits, leaving none for FFn.", "commit_aliases": ["26c233b8b", "3220ceaf7", "5882a4ba0", "765f76d8c", "d2f59497a", "f2eba400b"], "source_commits": ["5882a4ba0"], "source_entry_id": "14.16/changes/011", "db_id": "b1940c983577bfa9cb74895b4b76c823", "patch_ids": ["e85da8e7281d6de48c03128a3bd420a0"], "statement_hash": "0ce0d0598607e91ca2c1fa1dc72a19a1c97e74b3267461e9fb3d93af8f427b02", "relations": [{"rule": 2, "type": "equivalent", "target": "708c25931a5a5533caafd45623f40f4e", "evidence": {"same_day": true, "patch_ids": ["e85da8e7281d6de48c03128a3bd420a0"], "statement_hash": "0ce0d0598607e91ca2c1fa1dc72a19a1c97e74b3267461e9fb3d93af8f427b02"}}, {"rule": 2, "type": "equivalent", "target": "7dd3257020bebe52ff3ef900a18ebd7a", "evidence": {"same_day": true, "patch_ids": ["e85da8e7281d6de48c03128a3bd420a0"], "statement_hash": "0ce0d0598607e91ca2c1fa1dc72a19a1c97e74b3267461e9fb3d93af8f427b02"}}, {"rule": 2, "type": "equivalent", "target": "8e1c73afd3add4e3b7f1e51ce24f9606", "evidence": {"same_day": true, "patch_ids": ["e85da8e7281d6de48c03128a3bd420a0"], "statement_hash": "0ce0d0598607e91ca2c1fa1dc72a19a1c97e74b3267461e9fb3d93af8f427b02"}}, {"rule": 2, "type": "equivalent", "target": "eebbf7931122f3c04edabca2c7f94fd5", "evidence": {"same_day": true, "patch_ids": ["e85da8e7281d6de48c03128a3bd420a0"], "statement_hash": "0ce0d0598607e91ca2c1fa1dc72a19a1c97e74b3267461e9fb3d93af8f427b02"}}], "version": "14.16", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "eebbf7931122f3c04edabca2c7f94fd5", "kind": "equivalent", "version": "17.3", "label": "17.3", "title": "修复 to_timestamp 的 FFn 格式代码的错误处理", "evidence": {"same_day": true, "patch_ids": ["e85da8e7281d6de48c03128a3bd420a0"], "statement_hash": "0ce0d0598607e91ca2c1fa1dc72a19a1c97e74b3267461e9fb3d93af8f427b02"}, "url": "/docs/compare/?release=17.3#17.3-9a9b00da00a87b67", "source_url": "/docs/release/17.3/#RELEASE-17-3-CHANGES"}, {"db_id": "8e1c73afd3add4e3b7f1e51ce24f9606", "kind": "equivalent", "version": "16.7", "label": "16.7", "title": "修复 to_timestamp 的 FFn 格式代码的错误处理", "evidence": {"same_day": true, "patch_ids": ["e85da8e7281d6de48c03128a3bd420a0"], "statement_hash": "0ce0d0598607e91ca2c1fa1dc72a19a1c97e74b3267461e9fb3d93af8f427b02"}, "url": "/docs/compare/?release=16.7#16.7-bbe18259859b42ba", "source_url": "/docs/release/16.7/#RELEASE-16-7-CHANGES"}, {"db_id": "7dd3257020bebe52ff3ef900a18ebd7a", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "修复 to_timestamp 的 FFn 格式代码的错误处理", "evidence": {"same_day": true, "patch_ids": ["e85da8e7281d6de48c03128a3bd420a0"], "statement_hash": "0ce0d0598607e91ca2c1fa1dc72a19a1c97e74b3267461e9fb3d93af8f427b02"}, "url": "/docs/compare/?release=15.11#15.11-42a91a93bce3135e", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "708c25931a5a5533caafd45623f40f4e", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "修复 to_timestamp 的 FFn 格式代码的错误处理", "evidence": {"same_day": true, "patch_ids": ["e85da8e7281d6de48c03128a3bd420a0"], "statement_hash": "0ce0d0598607e91ca2c1fa1dc72a19a1c97e74b3267461e9fb3d93af8f427b02"}, "url": "/docs/compare/?release=13.19#13.19-020ee4a1121d713d", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-dad74e6ed75c1496", "cves": [], "html": "<p>在反解析 <code>XMLTABLE()</code> 表达式时，确保必要时对 XML 命名空间名称进行双引号引用（Dean Rasheed）<a href=\"https://postgr.es/c/dc8cd9cd0\">§</a></p>", "text": "在反解析 XMLTABLE() 表达式时，确保必要时对 XML 命名空间名称进行双引号引用（Dean Rasheed）§", "title": "在反解析 XMLTABLE() 表达式时，确保必要时对 XML 命名空间名称进行双引号引用", "commits": ["dc8cd9cd0"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "d31042e98f80c0ba70503102ac6b0d0f7e4de56fa2435f8eb6c62a4b15c60e33", "section_path": ["变更"], "commit_groups": [["61b12135f", "77763f3be", "7c0379516", "8f137f038", "d673eefd4", "dc8cd9cd0"]], "identity_text": "When deparsing an XMLTABLE() expression, ensure that XML namespace names are double-quoted when necessary (Dean Rasheed)", "commit_aliases": ["61b12135f", "77763f3be", "7c0379516", "8f137f038", "d673eefd4", "dc8cd9cd0"], "source_commits": ["dc8cd9cd0"], "source_entry_id": "14.16/changes/012", "db_id": "5df4b305447c7d90cf304fb82c7c9f98", "patch_ids": ["d13f899ef390ecf93a12c2222eeb5b28"], "statement_hash": "88f7934a7519b26eb7ad3346d897a29f296750feb41e2803869f844ae0478c2e", "relations": [{"rule": 2, "type": "equivalent", "target": "0af53f7c5e3097855ee32aa6a1aa9e63", "evidence": {"same_day": true, "patch_ids": ["d13f899ef390ecf93a12c2222eeb5b28"], "statement_hash": "88f7934a7519b26eb7ad3346d897a29f296750feb41e2803869f844ae0478c2e"}}, {"rule": 2, "type": "equivalent", "target": "5b9c169b5e3dc82c53535371949050c0", "evidence": {"same_day": true, "patch_ids": ["d13f899ef390ecf93a12c2222eeb5b28"], "statement_hash": "88f7934a7519b26eb7ad3346d897a29f296750feb41e2803869f844ae0478c2e"}}, {"rule": 2, "type": "equivalent", "target": "c5b2e691ba0b23e719d48e4df56bb6bd", "evidence": {"same_day": true, "patch_ids": ["d13f899ef390ecf93a12c2222eeb5b28"], "statement_hash": "88f7934a7519b26eb7ad3346d897a29f296750feb41e2803869f844ae0478c2e"}}, {"rule": 2, "type": "equivalent", "target": "d695a15f74458f5d818787b3208305da", "evidence": {"same_day": true, "patch_ids": ["d13f899ef390ecf93a12c2222eeb5b28"], "statement_hash": "88f7934a7519b26eb7ad3346d897a29f296750feb41e2803869f844ae0478c2e"}}], "version": "14.16", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "0af53f7c5e3097855ee32aa6a1aa9e63", "kind": "equivalent", "version": "17.3", "label": "17.3", "title": "在反解析 XMLTABLE() 表达式时，确保必要时对 XML 命名空间名称进行双引号引用", "evidence": {"same_day": true, "patch_ids": ["d13f899ef390ecf93a12c2222eeb5b28"], "statement_hash": "88f7934a7519b26eb7ad3346d897a29f296750feb41e2803869f844ae0478c2e"}, "url": "/docs/compare/?release=17.3#17.3-dde0befe430b8b5e", "source_url": "/docs/release/17.3/#RELEASE-17-3-CHANGES"}, {"db_id": "5b9c169b5e3dc82c53535371949050c0", "kind": "equivalent", "version": "16.7", "label": "16.7", "title": "在反解析 XMLTABLE() 表达式时，确保必要时对 XML 命名空间名称进行双引号引用", "evidence": {"same_day": true, "patch_ids": ["d13f899ef390ecf93a12c2222eeb5b28"], "statement_hash": "88f7934a7519b26eb7ad3346d897a29f296750feb41e2803869f844ae0478c2e"}, "url": "/docs/compare/?release=16.7#16.7-c02f19f51339be75", "source_url": "/docs/release/16.7/#RELEASE-16-7-CHANGES"}, {"db_id": "c5b2e691ba0b23e719d48e4df56bb6bd", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "在反解析 XMLTABLE() 表达式时，确保必要时对 XML 命名空间名称进行双引号引用", "evidence": {"same_day": true, "patch_ids": ["d13f899ef390ecf93a12c2222eeb5b28"], "statement_hash": "88f7934a7519b26eb7ad3346d897a29f296750feb41e2803869f844ae0478c2e"}, "url": "/docs/compare/?release=15.11#15.11-b33080fa6990693c", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "d695a15f74458f5d818787b3208305da", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "在反解析 XMLTABLE() 表达式时，确保必要时对 XML 命名空间名称进行双引号引用", "evidence": {"same_day": true, "patch_ids": ["d13f899ef390ecf93a12c2222eeb5b28"], "statement_hash": "88f7934a7519b26eb7ad3346d897a29f296750feb41e2803869f844ae0478c2e"}, "url": "/docs/compare/?release=13.19#13.19-76acce2516207748", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-4e97c6b911a46fe9", "cves": [], "html": "<p>在 <code>pg_hba_file_rules()</code> 输出中包含 <code>ldapscheme</code> 选项（Laurenz Albe）<a href=\"https://postgr.es/c/83ffb9f20\">§</a> <a href=\"https://postgr.es/c/9e596a099\">§</a></p>", "text": "在 pg_hba_file_rules() 输出中包含 ldapscheme 选项（Laurenz Albe）§ §", "title": "在 pg_hba_file_rules() 输出中包含 ldapscheme 选项", "commits": ["83ffb9f20", "9e596a099"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "58aa714694e5a1a368cc9b21250472d084cd61f552c00067d7fda20ba2868ebf", "section_path": ["变更"], "commit_groups": [["116036d81", "7b1f50d8c", "97698cc51", "9ad7a32b2", "9e596a099", "dc24c9ad5"], ["27a1f8d10", "830215a4c", "83ffb9f20", "84b8f6d9f", "8ed9bf0a3", "c35bbdfbc"]], "identity_text": "Include the ldapscheme option in pg_hba_file_rules() output (Laurenz Albe)", "commit_aliases": ["116036d81", "27a1f8d10", "7b1f50d8c", "830215a4c", "83ffb9f20", "84b8f6d9f", "8ed9bf0a3", "97698cc51", "9ad7a32b2", "9e596a099", "c35bbdfbc", "dc24c9ad5"], "source_commits": ["83ffb9f20", "9e596a099"], "source_entry_id": "14.16/changes/013", "db_id": "319120f2e1128d7ac81ef6f2e9a68157", "patch_ids": ["4ecc304f8a1f99db6880b6684fb3b5e7", "8b6740e71cfdaf35da50ba9b3f16f445"], "statement_hash": "e469a8a1f49c10d9e1f858460ec9591e2953d8d00772f62606d58a3a574860be", "relations": [{"rule": 2, "type": "equivalent", "target": "3be576a3440d7e460855c731abc91d37", "evidence": {"same_day": true, "patch_ids": ["4ecc304f8a1f99db6880b6684fb3b5e7", "8b6740e71cfdaf35da50ba9b3f16f445"], "statement_hash": "e469a8a1f49c10d9e1f858460ec9591e2953d8d00772f62606d58a3a574860be"}}, {"rule": 2, "type": "equivalent", "target": "57067792917182bd98503a5f54f7a29b", "evidence": {"same_day": true, "patch_ids": ["4ecc304f8a1f99db6880b6684fb3b5e7", "8b6740e71cfdaf35da50ba9b3f16f445"], "statement_hash": "e469a8a1f49c10d9e1f858460ec9591e2953d8d00772f62606d58a3a574860be"}}, {"rule": 2, "type": "equivalent", "target": "bdd807e964cdba787960242aac8215b6", "evidence": {"same_day": true, "patch_ids": ["4ecc304f8a1f99db6880b6684fb3b5e7", "8b6740e71cfdaf35da50ba9b3f16f445"], "statement_hash": "e469a8a1f49c10d9e1f858460ec9591e2953d8d00772f62606d58a3a574860be"}}, {"rule": 2, "type": "equivalent", "target": "d9ac57e3cd371a5fdb47562104ab7fc1", "evidence": {"same_day": true, "patch_ids": ["4ecc304f8a1f99db6880b6684fb3b5e7", "8b6740e71cfdaf35da50ba9b3f16f445"], "statement_hash": "e469a8a1f49c10d9e1f858460ec9591e2953d8d00772f62606d58a3a574860be"}}], "version": "14.16", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "d9ac57e3cd371a5fdb47562104ab7fc1", "kind": "equivalent", "version": "17.3", "label": "17.3", "title": "在 pg_hba_file_rules() 输出中包含 ldapscheme 选项", "evidence": {"same_day": true, "patch_ids": ["4ecc304f8a1f99db6880b6684fb3b5e7", "8b6740e71cfdaf35da50ba9b3f16f445"], "statement_hash": "e469a8a1f49c10d9e1f858460ec9591e2953d8d00772f62606d58a3a574860be"}, "url": "/docs/compare/?release=17.3#17.3-9d9d185c36c8eeaa", "source_url": "/docs/release/17.3/#RELEASE-17-3-CHANGES"}, {"db_id": "3be576a3440d7e460855c731abc91d37", "kind": "equivalent", "version": "16.7", "label": "16.7", "title": "在 pg_hba_file_rules() 输出中包含 ldapscheme 选项", "evidence": {"same_day": true, "patch_ids": ["4ecc304f8a1f99db6880b6684fb3b5e7", "8b6740e71cfdaf35da50ba9b3f16f445"], "statement_hash": "e469a8a1f49c10d9e1f858460ec9591e2953d8d00772f62606d58a3a574860be"}, "url": "/docs/compare/?release=16.7#16.7-6b1f93f0a06562ea", "source_url": "/docs/release/16.7/#RELEASE-16-7-CHANGES"}, {"db_id": "57067792917182bd98503a5f54f7a29b", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "在 pg_hba_file_rules() 输出中包含 ldapscheme 选项", "evidence": {"same_day": true, "patch_ids": ["4ecc304f8a1f99db6880b6684fb3b5e7", "8b6740e71cfdaf35da50ba9b3f16f445"], "statement_hash": "e469a8a1f49c10d9e1f858460ec9591e2953d8d00772f62606d58a3a574860be"}, "url": "/docs/compare/?release=15.11#15.11-ec09aa57ea9d25c6", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "bdd807e964cdba787960242aac8215b6", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "在 pg_hba_file_rules() 输出中包含 ldapscheme 选项", "evidence": {"same_day": true, "patch_ids": ["4ecc304f8a1f99db6880b6684fb3b5e7", "8b6740e71cfdaf35da50ba9b3f16f445"], "statement_hash": "e469a8a1f49c10d9e1f858460ec9591e2953d8d00772f62606d58a3a574860be"}, "url": "/docs/compare/?release=13.19#13.19-df9fe6b3e9261eb8", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-81cd147163df1037", "cves": [], "html": "<p>当列排序规则不一致时不合并 <code>UNION</code> 操作（Tom Lane）<a href=\"https://postgr.es/c/44a4a521d\">§</a></p>\n<p>之前在判断是否可以安全地将 <code>UNION</code> 步骤合并为单个 N 路 <code>UNION</code> 操作时忽略了排序规则。在引入非确定性排序规则之前这可能是合理的，但现在不再如此，因为使用中的排序规则可以影响唯一性的定义。</p>", "text": "当列排序规则不一致时不合并 UNION 操作（Tom Lane）§ 之前在判断是否可以安全地将 UNION 步骤合并为单个 N 路 UNION 操作时忽略了排序规则。在引入非确定性排序规则之前这可能是合理的，但现在不再如此，因为使用中的排序规则可以影响唯一性的定义。", "title": "当列排序规则不一致时不合并 UNION 操作", "commits": ["44a4a521d"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "78342071cdddc0617dc26132487db94e47a734ed126e9c696ba0c4517a2471a8", "section_path": ["变更"], "commit_groups": [["44a4a521d", "6b66dba3f", "a43d7a8c7", "c1ebef3c1", "f286f64bc", "fd3383ff1"]], "identity_text": "Don't merge UNION operations if their column collations aren't consistent (Tom Lane) Previously we ignored collations when deciding if it's safe to merge UNION steps into a single N-way UNION operation. This was arguably valid before the introduction of nondeterministic collations, but it's not anymore, since the collation in use can affect the definition of uniqueness.", "commit_aliases": ["44a4a521d", "6b66dba3f", "a43d7a8c7", "c1ebef3c1", "f286f64bc", "fd3383ff1"], "source_commits": ["44a4a521d"], "source_entry_id": "14.16/changes/014", "db_id": "1444ed7aa9de17e7c28a13a09bdc3418", "patch_ids": ["fff35c5bdf05c934b8c81975f534605f"], "statement_hash": "884683c074c13fd34f4e3cc7b203545bc8c93cbb87902f7021352801237d7fa0", "relations": [{"rule": 2, "type": "equivalent", "target": "111faed7b6450b10fedc13d75c638679", "evidence": {"same_day": true, "patch_ids": ["fff35c5bdf05c934b8c81975f534605f"], "statement_hash": "884683c074c13fd34f4e3cc7b203545bc8c93cbb87902f7021352801237d7fa0"}}, {"rule": 2, "type": "equivalent", "target": "19a77251c42923d7037a514bb57b2963", "evidence": {"same_day": true, "patch_ids": ["fff35c5bdf05c934b8c81975f534605f"], "statement_hash": "884683c074c13fd34f4e3cc7b203545bc8c93cbb87902f7021352801237d7fa0"}}, {"rule": 2, "type": "equivalent", "target": "2fb73c801ce6dc16337ee00c1262319e", "evidence": {"same_day": true, "patch_ids": ["fff35c5bdf05c934b8c81975f534605f"], "statement_hash": "884683c074c13fd34f4e3cc7b203545bc8c93cbb87902f7021352801237d7fa0"}}, {"rule": 2, "type": "equivalent", "target": "5ebad87229837d71b10b4539321b1d1f", "evidence": {"same_day": true, "patch_ids": ["fff35c5bdf05c934b8c81975f534605f"], "statement_hash": "884683c074c13fd34f4e3cc7b203545bc8c93cbb87902f7021352801237d7fa0"}}], "version": "14.16", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "2fb73c801ce6dc16337ee00c1262319e", "kind": "equivalent", "version": "17.3", "label": "17.3", "title": "当列排序规则不一致时不合并 UNION 操作", "evidence": {"same_day": true, "patch_ids": ["fff35c5bdf05c934b8c81975f534605f"], "statement_hash": "884683c074c13fd34f4e3cc7b203545bc8c93cbb87902f7021352801237d7fa0"}, "url": "/docs/compare/?release=17.3#17.3-755f2cde6c6720cf", "source_url": "/docs/release/17.3/#RELEASE-17-3-CHANGES"}, {"db_id": "111faed7b6450b10fedc13d75c638679", "kind": "equivalent", "version": "16.7", "label": "16.7", "title": "当列排序规则不一致时不合并 UNION 操作", "evidence": {"same_day": true, "patch_ids": ["fff35c5bdf05c934b8c81975f534605f"], "statement_hash": "884683c074c13fd34f4e3cc7b203545bc8c93cbb87902f7021352801237d7fa0"}, "url": "/docs/compare/?release=16.7#16.7-99613d8b3b9f9bb8", "source_url": "/docs/release/16.7/#RELEASE-16-7-CHANGES"}, {"db_id": "5ebad87229837d71b10b4539321b1d1f", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "当列排序规则不一致时不合并 UNION 操作", "evidence": {"same_day": true, "patch_ids": ["fff35c5bdf05c934b8c81975f534605f"], "statement_hash": "884683c074c13fd34f4e3cc7b203545bc8c93cbb87902f7021352801237d7fa0"}, "url": "/docs/compare/?release=15.11#15.11-3bc96b27b19866c5", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "19a77251c42923d7037a514bb57b2963", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "当列排序规则不一致时不合并 UNION 操作", "evidence": {"same_day": true, "patch_ids": ["fff35c5bdf05c934b8c81975f534605f"], "statement_hash": "884683c074c13fd34f4e3cc7b203545bc8c93cbb87902f7021352801237d7fa0"}, "url": "/docs/compare/?release=13.19#13.19-44f0b8d390639b1a", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-e76cb5deecce3a19", "cves": [], "html": "<p>修复分区剪枝步骤中遗漏的表达式处理（Tom Lane）<a href=\"https://postgr.es/c/5f725648f\">§</a></p>\n<p>此疏忽可能导致在访问分区表的查询中出现 <span>“<span>unrecognized node type</span>”</span> 错误以及其他可能的问题。</p>", "text": "修复分区剪枝步骤中遗漏的表达式处理（Tom Lane）§ 此疏忽可能导致在访问分区表的查询中出现 “unrecognized node type” 错误以及其他可能的问题。", "title": "修复分区剪枝步骤中遗漏的表达式处理", "commits": ["5f725648f"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "21c3e74b4b79b5cbaba6f9b11567fbc3ff163cb5562a24fd5ed2de948a7085d3", "section_path": ["变更"], "commit_groups": [["0671a71e0", "45004f527", "5f725648f", "724ebebb1", "94c02bd33", "bf826ea06"]], "identity_text": "Fix missed expression processing for partition pruning steps (Tom Lane) This oversight could lead to unrecognized node type errors, and perhaps other problems, in queries accessing partitioned tables.", "commit_aliases": ["0671a71e0", "45004f527", "5f725648f", "724ebebb1", "94c02bd33", "bf826ea06"], "source_commits": ["5f725648f"], "source_entry_id": "14.16/changes/015", "db_id": "d03371888cc7150b3deafc4ad1b65c61", "patch_ids": ["5551cc7fd0dd9d66c578783ac84f1896"], "statement_hash": "a179f258a05f2c3cfdf6806107736461e71d0130f204ff5a764c84b4d924406b", "relations": [{"rule": 2, "type": "equivalent", "target": "54bec316da2ce059adbac0a0dbc8e9b6", "evidence": {"same_day": true, "patch_ids": ["5551cc7fd0dd9d66c578783ac84f1896"], "statement_hash": "a179f258a05f2c3cfdf6806107736461e71d0130f204ff5a764c84b4d924406b"}}, {"rule": 2, "type": "equivalent", "target": "64aaf6067e2f499a849b519969ab7e4b", "evidence": {"same_day": true, "patch_ids": ["5551cc7fd0dd9d66c578783ac84f1896"], "statement_hash": "a179f258a05f2c3cfdf6806107736461e71d0130f204ff5a764c84b4d924406b"}}, {"rule": 2, "type": "equivalent", "target": "92378b1193935bbe98423ded57c0f7a0", "evidence": {"same_day": true, "patch_ids": ["5551cc7fd0dd9d66c578783ac84f1896"], "statement_hash": "a179f258a05f2c3cfdf6806107736461e71d0130f204ff5a764c84b4d924406b"}}, {"rule": 2, "type": "equivalent", "target": "f57a46c5163b3e5919b130be79f25ce5", "evidence": {"same_day": true, "patch_ids": ["5551cc7fd0dd9d66c578783ac84f1896"], "statement_hash": "a179f258a05f2c3cfdf6806107736461e71d0130f204ff5a764c84b4d924406b"}}], "version": "14.16", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "54bec316da2ce059adbac0a0dbc8e9b6", "kind": "equivalent", "version": "17.3", "label": "17.3", "title": "修复分区剪枝步骤中遗漏的表达式处理", "evidence": {"same_day": true, "patch_ids": ["5551cc7fd0dd9d66c578783ac84f1896"], "statement_hash": "a179f258a05f2c3cfdf6806107736461e71d0130f204ff5a764c84b4d924406b"}, "url": "/docs/compare/?release=17.3#17.3-13c2873d21939448", "source_url": "/docs/release/17.3/#RELEASE-17-3-CHANGES"}, {"db_id": "92378b1193935bbe98423ded57c0f7a0", "kind": "equivalent", "version": "16.7", "label": "16.7", "title": "修复分区剪枝步骤中遗漏的表达式处理", "evidence": {"same_day": true, "patch_ids": ["5551cc7fd0dd9d66c578783ac84f1896"], "statement_hash": "a179f258a05f2c3cfdf6806107736461e71d0130f204ff5a764c84b4d924406b"}, "url": "/docs/compare/?release=16.7#16.7-7e432f19a9f91448", "source_url": "/docs/release/16.7/#RELEASE-16-7-CHANGES"}, {"db_id": "f57a46c5163b3e5919b130be79f25ce5", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "修复分区剪枝步骤中遗漏的表达式处理", "evidence": {"same_day": true, "patch_ids": ["5551cc7fd0dd9d66c578783ac84f1896"], "statement_hash": "a179f258a05f2c3cfdf6806107736461e71d0130f204ff5a764c84b4d924406b"}, "url": "/docs/compare/?release=15.11#15.11-126d9ceb0a19d1f7", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "64aaf6067e2f499a849b519969ab7e4b", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "修复分区剪枝步骤中遗漏的表达式处理", "evidence": {"same_day": true, "patch_ids": ["5551cc7fd0dd9d66c578783ac84f1896"], "statement_hash": "a179f258a05f2c3cfdf6806107736461e71d0130f204ff5a764c84b4d924406b"}, "url": "/docs/compare/?release=13.19#13.19-bb60e571dcd1116e", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-d37432d80add9128", "cves": [], "html": "<p>允许 dshash 表增长超过 1GB（Matthias van de Meent）<a href=\"https://postgr.es/c/84dc1303c\">§</a></p>\n<p>这避免了诸如 <span>“<span>invalid DSA memory alloc request size</span>”</span> 之类的错误。例如，在处理数百万个表的事务中可能会出现这种情况。</p>", "text": "允许 dshash 表增长超过 1GB（Matthias van de Meent）§ 这避免了诸如 “invalid DSA memory alloc request size” 之类的错误。例如，在处理数百万个表的事务中可能会出现这种情况。", "title": "允许 dshash 表增长超过 1GB", "commits": ["84dc1303c"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "977b6ed1cb7297ada9f22891e239cd23aaec8109a75fc501917c19872f3072a2", "section_path": ["变更"], "commit_groups": [["18452b70a", "2a7402322", "84dc1303c", "84f1b0b03", "853cef097", "9f7b7d516"]], "identity_text": "Allow dshash tables to grow past 1GB (Matthias van de Meent) This avoids errors like invalid DSA memory alloc request size. The case can occur for example in transactions that process several million tables.", "commit_aliases": ["18452b70a", "2a7402322", "84dc1303c", "84f1b0b03", "853cef097", "9f7b7d516"], "source_commits": ["84dc1303c"], "source_entry_id": "14.16/changes/016", "db_id": "559be1008e5dc3b8471a163d74e0e555", "patch_ids": ["4a1c75d9a6546bdd5d261ba5d3a227c1"], "statement_hash": "faf10a7922a2f18a9774d93e321afa5a0c92f8c3c8987552c55415bd13c387e8", "relations": [{"rule": 2, "type": "equivalent", "target": "6356be9dc3a4ccb3d25583a601b052d7", "evidence": {"same_day": true, "patch_ids": ["4a1c75d9a6546bdd5d261ba5d3a227c1"], "statement_hash": "faf10a7922a2f18a9774d93e321afa5a0c92f8c3c8987552c55415bd13c387e8"}}, {"rule": 2, "type": "equivalent", "target": "c1707a3dbd154a011972a406a0fe3177", "evidence": {"same_day": true, "patch_ids": ["4a1c75d9a6546bdd5d261ba5d3a227c1"], "statement_hash": "faf10a7922a2f18a9774d93e321afa5a0c92f8c3c8987552c55415bd13c387e8"}}, {"rule": 2, "type": "equivalent", "target": "c32bee4d5d51b2dfdb45db1d2db22cb1", "evidence": {"same_day": true, "patch_ids": ["4a1c75d9a6546bdd5d261ba5d3a227c1"], "statement_hash": "faf10a7922a2f18a9774d93e321afa5a0c92f8c3c8987552c55415bd13c387e8"}}, {"rule": 2, "type": "equivalent", "target": "c51c9c918546c72f7a773592db3d7108", "evidence": {"same_day": true, "patch_ids": ["4a1c75d9a6546bdd5d261ba5d3a227c1"], "statement_hash": "faf10a7922a2f18a9774d93e321afa5a0c92f8c3c8987552c55415bd13c387e8"}}], "version": "14.16", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "6356be9dc3a4ccb3d25583a601b052d7", "kind": "equivalent", "version": "17.3", "label": "17.3", "title": "允许 dshash 表增长超过 1GB", "evidence": {"same_day": true, "patch_ids": ["4a1c75d9a6546bdd5d261ba5d3a227c1"], "statement_hash": "faf10a7922a2f18a9774d93e321afa5a0c92f8c3c8987552c55415bd13c387e8"}, "url": "/docs/compare/?release=17.3#17.3-01e60c1471a16974", "source_url": "/docs/release/17.3/#RELEASE-17-3-CHANGES"}, {"db_id": "c1707a3dbd154a011972a406a0fe3177", "kind": "equivalent", "version": "16.7", "label": "16.7", "title": "允许 dshash 表增长超过 1GB", "evidence": {"same_day": true, "patch_ids": ["4a1c75d9a6546bdd5d261ba5d3a227c1"], "statement_hash": "faf10a7922a2f18a9774d93e321afa5a0c92f8c3c8987552c55415bd13c387e8"}, "url": "/docs/compare/?release=16.7#16.7-0c925e1e9ecd0922", "source_url": "/docs/release/16.7/#RELEASE-16-7-CHANGES"}, {"db_id": "c32bee4d5d51b2dfdb45db1d2db22cb1", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "允许 dshash 表增长超过 1GB", "evidence": {"same_day": true, "patch_ids": ["4a1c75d9a6546bdd5d261ba5d3a227c1"], "statement_hash": "faf10a7922a2f18a9774d93e321afa5a0c92f8c3c8987552c55415bd13c387e8"}, "url": "/docs/compare/?release=15.11#15.11-bd0deef2a9ca340c", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "c51c9c918546c72f7a773592db3d7108", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "允许 dshash 表增长超过 1GB", "evidence": {"same_day": true, "patch_ids": ["4a1c75d9a6546bdd5d261ba5d3a227c1"], "statement_hash": "faf10a7922a2f18a9774d93e321afa5a0c92f8c3c8987552c55415bd13c387e8"}, "url": "/docs/compare/?release=13.19#13.19-6c810fa8b81fd565", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-b175488683721a19", "cves": [], "html": "<p>避免 <code>bringetbitmap()</code> 中可能的整数溢出（James Hunter，Evgeniy Gorbanyov）<a href=\"https://postgr.es/c/e35ff6520\">§</a></p>\n<p>由于结果仅用于统计目的，此错误的影响大多是修饰性的。</p>", "text": "避免 bringetbitmap() 中可能的整数溢出（James Hunter，Evgeniy Gorbanyov）§ 由于结果仅用于统计目的，此错误的影响大多是修饰性的。", "title": "避免 bringetbitmap() 中可能的整数溢出", "commits": ["e35ff6520"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "cb293a7eed587f2941ae19ff7b5bb525961dc8ba9c0c04c3a6cd449c541c5ce6", "section_path": ["变更"], "commit_groups": [["332023e2d", "720e52984", "9e9f30139", "bfda7d8dd", "e027ee990", "e35ff6520"]], "identity_text": "Avoid possible integer overflow in bringetbitmap() (James Hunter, Evgeniy Gorbanyov) Since the result is only used for statistical purposes, the effects of this error were mostly cosmetic.", "commit_aliases": ["332023e2d", "720e52984", "9e9f30139", "bfda7d8dd", "e027ee990", "e35ff6520"], "source_commits": ["e35ff6520"], "source_entry_id": "14.16/changes/017", "db_id": "4c0001cec4b021e935b71b3a37aa73fe", "patch_ids": ["43a263cfc4076d37afa82ad82a07bdb5"], "statement_hash": "0df21d34231d373da53a6bee55e2b328ac8048d21323da7f65a482bc0db673ec", "relations": [{"rule": 2, "type": "equivalent", "target": "1fe83d7e0b7aa17a1f0f729b4a0c12f0", "evidence": {"same_day": true, "patch_ids": ["43a263cfc4076d37afa82ad82a07bdb5"], "statement_hash": "0df21d34231d373da53a6bee55e2b328ac8048d21323da7f65a482bc0db673ec"}}, {"rule": 2, "type": "equivalent", "target": "3382e0a80f8ca0563eb8cac40f2d851b", "evidence": {"same_day": true, "patch_ids": ["43a263cfc4076d37afa82ad82a07bdb5"], "statement_hash": "0df21d34231d373da53a6bee55e2b328ac8048d21323da7f65a482bc0db673ec"}}, {"rule": 2, "type": "equivalent", "target": "3c029255e641bec15f2ee6842ff93a77", "evidence": {"same_day": true, "patch_ids": ["43a263cfc4076d37afa82ad82a07bdb5"], "statement_hash": "0df21d34231d373da53a6bee55e2b328ac8048d21323da7f65a482bc0db673ec"}}, {"rule": 2, "type": "equivalent", "target": "921aaf580d2aca9ce93450c0492e7423", "evidence": {"same_day": true, "patch_ids": ["43a263cfc4076d37afa82ad82a07bdb5"], "statement_hash": "0df21d34231d373da53a6bee55e2b328ac8048d21323da7f65a482bc0db673ec"}}], "version": "14.16", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "3382e0a80f8ca0563eb8cac40f2d851b", "kind": "equivalent", "version": "17.3", "label": "17.3", "title": "避免 bringetbitmap() 中可能的整数溢出", "evidence": {"same_day": true, "patch_ids": ["43a263cfc4076d37afa82ad82a07bdb5"], "statement_hash": "0df21d34231d373da53a6bee55e2b328ac8048d21323da7f65a482bc0db673ec"}, "url": "/docs/compare/?release=17.3#17.3-a04d6e576513146f", "source_url": "/docs/release/17.3/#RELEASE-17-3-CHANGES"}, {"db_id": "921aaf580d2aca9ce93450c0492e7423", "kind": "equivalent", "version": "16.7", "label": "16.7", "title": "避免 bringetbitmap() 中可能的整数溢出", "evidence": {"same_day": true, "patch_ids": ["43a263cfc4076d37afa82ad82a07bdb5"], "statement_hash": "0df21d34231d373da53a6bee55e2b328ac8048d21323da7f65a482bc0db673ec"}, "url": "/docs/compare/?release=16.7#16.7-b97ed85237994136", "source_url": "/docs/release/16.7/#RELEASE-16-7-CHANGES"}, {"db_id": "1fe83d7e0b7aa17a1f0f729b4a0c12f0", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "避免 bringetbitmap() 中可能的整数溢出", "evidence": {"same_day": true, "patch_ids": ["43a263cfc4076d37afa82ad82a07bdb5"], "statement_hash": "0df21d34231d373da53a6bee55e2b328ac8048d21323da7f65a482bc0db673ec"}, "url": "/docs/compare/?release=15.11#15.11-4f9db6103a233435", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "3c029255e641bec15f2ee6842ff93a77", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "避免 bringetbitmap() 中可能的整数溢出", "evidence": {"same_day": true, "patch_ids": ["43a263cfc4076d37afa82ad82a07bdb5"], "statement_hash": "0df21d34231d373da53a6bee55e2b328ac8048d21323da7f65a482bc0db673ec"}, "url": "/docs/compare/?release=13.19#13.19-65695708975bb439", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-b3b12c0bad0d0bc8", "cves": [], "html": "<p>防止流复制备库在读取跨页的 WAL 记录时无限循环（Kyotaro Horiguchi，Alexander Kukushkin）<a href=\"https://postgr.es/c/a2d4f806c\">§</a></p>\n<p>当记录的后续部分位于需要从不同 WAL 源读取的页面上时会发生此问题。</p>", "text": "防止流复制备库在读取跨页的 WAL 记录时无限循环（Kyotaro Horiguchi，Alexander Kukushkin）§ 当记录的后续部分位于需要从不同 WAL 源读取的页面上时会发生此问题。", "title": "防止流复制备库在读取跨页的 WAL 记录时无限循环", "commits": ["a2d4f806c"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "69d9c5c84f232ce45b69a9310774bcca503f240a2bbdba511af141859c6f3045", "section_path": ["变更"], "commit_groups": [["0f0431e91", "26554facc", "2c2e1d4f4", "6cf1647d8", "a2d4f806c", "e6767c0ed"]], "identity_text": "Prevent streaming standby servers from looping infinitely when reading a WAL record that crosses pages (Kyotaro Horiguchi, Alexander Kukushkin) This would happen when the record's continuation is on a page that needs to be read from a different WAL source.", "commit_aliases": ["0f0431e91", "26554facc", "2c2e1d4f4", "6cf1647d8", "a2d4f806c", "e6767c0ed"], "source_commits": ["a2d4f806c"], "source_entry_id": "14.16/changes/018", "db_id": "76f611c374c0323f13dc341fb4721c32", "patch_ids": ["6bd1862645031c383d6f5fa3e87d128a"], "statement_hash": "8163d04f4c6709be020365b3558ab3cfb180c7df4e85776a541cc615047564ac", "relations": [{"rule": 2, "type": "equivalent", "target": "44f9cbeda7bc216ab467698d3eef592e", "evidence": {"same_day": true, "patch_ids": ["6bd1862645031c383d6f5fa3e87d128a"], "statement_hash": "8163d04f4c6709be020365b3558ab3cfb180c7df4e85776a541cc615047564ac"}}, {"rule": 2, "type": "equivalent", "target": "6659c5f8e0df6f1f962f8df015c68b49", "evidence": {"same_day": true, "patch_ids": ["6bd1862645031c383d6f5fa3e87d128a"], "statement_hash": "8163d04f4c6709be020365b3558ab3cfb180c7df4e85776a541cc615047564ac"}}, {"rule": 2, "type": "equivalent", "target": "67dafb471f2271a6320dfe0f290a0ce0", "evidence": {"same_day": true, "patch_ids": ["6bd1862645031c383d6f5fa3e87d128a"], "statement_hash": "8163d04f4c6709be020365b3558ab3cfb180c7df4e85776a541cc615047564ac"}}, {"rule": 2, "type": "equivalent", "target": "fdc72a7668046cce65c8c39dedeb9249", "evidence": {"same_day": true, "patch_ids": ["6bd1862645031c383d6f5fa3e87d128a"], "statement_hash": "8163d04f4c6709be020365b3558ab3cfb180c7df4e85776a541cc615047564ac"}}], "version": "14.16", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "6659c5f8e0df6f1f962f8df015c68b49", "kind": "equivalent", "version": "17.3", "label": "17.3", "title": "防止流复制备库在读取跨页的 WAL 记录时无限循环", "evidence": {"same_day": true, "patch_ids": ["6bd1862645031c383d6f5fa3e87d128a"], "statement_hash": "8163d04f4c6709be020365b3558ab3cfb180c7df4e85776a541cc615047564ac"}, "url": "/docs/compare/?release=17.3#17.3-e9e73d99c1cfb098", "source_url": "/docs/release/17.3/#RELEASE-17-3-CHANGES"}, {"db_id": "44f9cbeda7bc216ab467698d3eef592e", "kind": "equivalent", "version": "16.7", "label": "16.7", "title": "防止流复制备库在读取跨页的 WAL 记录时无限循环", "evidence": {"same_day": true, "patch_ids": ["6bd1862645031c383d6f5fa3e87d128a"], "statement_hash": "8163d04f4c6709be020365b3558ab3cfb180c7df4e85776a541cc615047564ac"}, "url": "/docs/compare/?release=16.7#16.7-df1eee243145f866", "source_url": "/docs/release/16.7/#RELEASE-16-7-CHANGES"}, {"db_id": "67dafb471f2271a6320dfe0f290a0ce0", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "防止流复制备库在读取跨页的 WAL 记录时无限循环", "evidence": {"same_day": true, "patch_ids": ["6bd1862645031c383d6f5fa3e87d128a"], "statement_hash": "8163d04f4c6709be020365b3558ab3cfb180c7df4e85776a541cc615047564ac"}, "url": "/docs/compare/?release=15.11#15.11-9354a205b1e1b91e", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "fdc72a7668046cce65c8c39dedeb9249", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "防止流复制备库在读取跨页的 WAL 记录时无限循环", "evidence": {"same_day": true, "patch_ids": ["6bd1862645031c383d6f5fa3e87d128a"], "statement_hash": "8163d04f4c6709be020365b3558ab3cfb180c7df4e85776a541cc615047564ac"}, "url": "/docs/compare/?release=13.19#13.19-4169e9202c255d82", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-21c46392869cd7a2", "cves": [], "html": "<p>改进存在大量状态文件时归档进程的性能（Nathan Bossart）<a href=\"https://postgr.es/c/4abf615cc\">§</a></p>\n<p>此变更回移了最初在 v15 中进行的修复，以回应归档性能极差导致停机或副本丢失的报告。</p>", "text": "改进存在大量状态文件时归档进程的性能（Nathan Bossart）§ 此变更回移了最初在 v15 中进行的修复，以回应归档性能极差导致停机或副本丢失的报告。", "title": "改进存在大量状态文件时归档进程的性能", "commits": ["4abf615cc"], "section": "变更", "category": "performance", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "b60cf2cc74733b4505043aa1366c6fff88334beae03d0b9aeade93dc9675a91e", "section_path": ["变更"], "commit_groups": [["4abf615cc"]], "identity_text": "Improve performance of archiver process with many status files (Nathan Bossart) This change back-patches a fix originally made in v15, in response to reports of extremely poor archiving performance leading to downtime or loss of replicas.", "commit_aliases": ["4abf615cc"], "source_commits": ["4abf615cc"], "source_entry_id": "14.16/changes/019", "db_id": "4e347ad4bc0934aa6c5f19b1114a06c4", "patch_ids": ["e4ac2a3c1e7c73dbb941e955ca178d82"], "statement_hash": "1f0670bb80381d6f8b93cf5e81981a92a6fc3f2a5744a662c6779d33893b1c5e", "relations": [], "version": "14.16", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.16-a449a8f550e33341", "cves": [], "html": "<p>修复在进程早期启动阶段 FATAL 错误被意外提升为 PANIC 的问题（Noah Misch）<a href=\"https://postgr.es/c/315264d70\">§</a></p>\n<p>这修复了一些不太可能发生的情况，这些情况会导致 <span>“<span>PANIC: proc_exit() called in child process</span>”</span>。</p>", "text": "修复在进程早期启动阶段 FATAL 错误被意外提升为 PANIC 的问题（Noah Misch）§ 这修复了一些不太可能发生的情况，这些情况会导致 “PANIC: proc_exit() called in child process”。", "title": "修复在进程早期启动阶段 FATAL 错误被意外提升为 PANIC 的问题", "commits": ["315264d70"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "7240bfd00ee218fbc06c41c75526066fabd15ca24f9223e6fc2525552f45061c", "section_path": ["变更"], "commit_groups": [["315264d70", "4bd9de3f4", "6151769f6", "839da50bd", "8b9cbf492", "ac4a2b403"]], "identity_text": "Fix unintended promotion of FATAL errors to PANIC during early process startup (Noah Misch) This fixes some unlikely cases that would result in PANIC: proc_exit() called in child process.", "commit_aliases": ["315264d70", "4bd9de3f4", "6151769f6", "839da50bd", "8b9cbf492", "ac4a2b403"], "source_commits": ["315264d70"], "source_entry_id": "14.16/changes/020", "db_id": "f984d853bfadab0b79bd0501cc75f59c", "patch_ids": ["3dc2ed380d29cd0391ceb9c75aa1e4af"], "statement_hash": "bb23336aef9609b55069d3a3682e82c4adb4c0d727e67333f854df824add2da4", "relations": [{"rule": 2, "type": "equivalent", "target": "93eca6f7915b54f74b93e375c2513842", "evidence": {"same_day": true, "patch_ids": ["3dc2ed380d29cd0391ceb9c75aa1e4af"], "statement_hash": "bb23336aef9609b55069d3a3682e82c4adb4c0d727e67333f854df824add2da4"}}, {"rule": 2, "type": "equivalent", "target": "b14c042be747a937c3c74162b1b09321", "evidence": {"same_day": true, "patch_ids": ["3dc2ed380d29cd0391ceb9c75aa1e4af"], "statement_hash": "bb23336aef9609b55069d3a3682e82c4adb4c0d727e67333f854df824add2da4"}}, {"rule": 2, "type": "equivalent", "target": "da9210bd08299df78861342f7e09c5d9", "evidence": {"same_day": true, "patch_ids": ["3dc2ed380d29cd0391ceb9c75aa1e4af"], "statement_hash": "bb23336aef9609b55069d3a3682e82c4adb4c0d727e67333f854df824add2da4"}}, {"rule": 2, "type": "equivalent", "target": "fc52476d2fcf5579cadcfd273916020c", "evidence": {"same_day": true, "patch_ids": ["3dc2ed380d29cd0391ceb9c75aa1e4af"], "statement_hash": "bb23336aef9609b55069d3a3682e82c4adb4c0d727e67333f854df824add2da4"}}], "version": "14.16", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "93eca6f7915b54f74b93e375c2513842", "kind": "equivalent", "version": "17.3", "label": "17.3", "title": "修复在进程早期启动阶段 FATAL 错误被意外提升为 PANIC 的问题", "evidence": {"same_day": true, "patch_ids": ["3dc2ed380d29cd0391ceb9c75aa1e4af"], "statement_hash": "bb23336aef9609b55069d3a3682e82c4adb4c0d727e67333f854df824add2da4"}, "url": "/docs/compare/?release=17.3#17.3-96bd4a8fad85c533", "source_url": "/docs/release/17.3/#RELEASE-17-3-CHANGES"}, {"db_id": "b14c042be747a937c3c74162b1b09321", "kind": "equivalent", "version": "16.7", "label": "16.7", "title": "修复在进程早期启动阶段 FATAL 错误被意外提升为 PANIC 的问题", "evidence": {"same_day": true, "patch_ids": ["3dc2ed380d29cd0391ceb9c75aa1e4af"], "statement_hash": "bb23336aef9609b55069d3a3682e82c4adb4c0d727e67333f854df824add2da4"}, "url": "/docs/compare/?release=16.7#16.7-795da8c683c4ad88", "source_url": "/docs/release/16.7/#RELEASE-16-7-CHANGES"}, {"db_id": "da9210bd08299df78861342f7e09c5d9", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "修复在进程早期启动阶段 FATAL 错误被意外提升为 PANIC 的问题", "evidence": {"same_day": true, "patch_ids": ["3dc2ed380d29cd0391ceb9c75aa1e4af"], "statement_hash": "bb23336aef9609b55069d3a3682e82c4adb4c0d727e67333f854df824add2da4"}, "url": "/docs/compare/?release=15.11#15.11-e74c5a37c2620a7b", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "fc52476d2fcf5579cadcfd273916020c", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "修复在进程早期启动阶段 FATAL 错误被意外提升为 PANIC 的问题", "evidence": {"same_day": true, "patch_ids": ["3dc2ed380d29cd0391ceb9c75aa1e4af"], "statement_hash": "bb23336aef9609b55069d3a3682e82c4adb4c0d727e67333f854df824add2da4"}, "url": "/docs/compare/?release=13.19#13.19-e7ab576b34d2feae", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-59648940f61270ce", "cves": [], "html": "<p>修复操作符族成员操作符或支持函数可能成为悬空引用的情况（Tom Lane）<a href=\"https://postgr.es/c/1a34cf0f4\">§</a> <a href=\"https://postgr.es/c/d9d5e1b48\">§</a></p>\n<p>在某些情况下，数据类型可能在其 OID 引用仍然存在于 <code>pg_amop</code> 或 <code>pg_amproc</code> 中时被删除。虽然这不会立即造成问题，但尝试删除所属操作符族会失败，并且 <span>pg_dump</span> 在导出该操作符族时会产生错误的输出。此修复使操作符族/类的创建和修改添加必要的依赖条目，以便删除数据类型时也会删除任何依赖的操作符族元素。但这对已存在的有问题的操作符族没有帮助，因此还在 <code>DROP OPERATOR FAMILY</code> 中增加了一个应急措施，以防止在删除具有悬空成员的族时失败。</p>", "text": "修复操作符族成员操作符或支持函数可能成为悬空引用的情况（Tom Lane）§ § 在某些情况下，数据类型可能在其 OID 引用仍然存在于 pg_amop 或 pg_amproc 中时被删除。虽然这不会立即造成问题，但尝试删除所属操作符族会失败，并且 pg_dump 在导出该操作符族时会产生错误的输出。此修复使操作符族/类的创建和修改添加必要的依赖条目，以便删除数据类型时也会删除任何依赖的操作符族元素。但这对已存在的有问题的操作符族没有帮助，因此还在 DROP OPERATOR FAMILY 中增加了一个应急措施，以防止在删除具有悬空成员的族时失败。", "title": "修复操作符族成员操作符或支持函数可能成为悬空引用的情况", "commits": ["1a34cf0f4", "d9d5e1b48"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "88934609dc14a6a932de55f07db154ba522e46d300cd0f1b5764b95b93b3abae", "section_path": ["变更"], "commit_groups": [["0e4fa06ba", "1a34cf0f4", "3f9b96217", "725d98102", "be5db08ed", "ec7b89cc5"], ["531cbd8b7", "5b44a317a", "c82003760", "d40191467", "d9d5e1b48", "faad01835"]], "identity_text": "Fix cases where an operator family member operator or support procedure could become a dangling reference (Tom Lane) In some cases a data type could be dropped while references to its OID still remain in pg_amop or pg_amproc. While that caused no immediate issues, an attempt to drop the owning operator family would fail, and pg_dump would produce bogus output when dumping the operator family. This fix causes creation and modification of operator families/classes to add needed dependency entries so that dropping a data type will also drop any dependent operator family elements. That does not help vulnerable pre-existing operator families, though, so a band-aid has also been added to DROP OPERATOR FAMILY to prevent failure when dropping a family that has dangling members.", "commit_aliases": ["0e4fa06ba", "1a34cf0f4", "3f9b96217", "531cbd8b7", "5b44a317a", "725d98102", "be5db08ed", "c82003760", "d40191467", "d9d5e1b48", "ec7b89cc5", "faad01835"], "source_commits": ["1a34cf0f4", "d9d5e1b48"], "source_entry_id": "14.16/changes/021", "db_id": "3a292f4b1a44d4abe77ccc4ce2e3f615", "patch_ids": ["135c9629d93bad2ef92966c3a09523c8", "89d8a09d4223474aa10b54f36b93854b"], "statement_hash": "6ab3fdc7d8478fbf69f58ee61e9fa0f8851902d752a14f6b1fbf45071c292356", "relations": [{"rule": 2, "type": "equivalent", "target": "852c329ec3909d265b3bad80c3ac798b", "evidence": {"same_day": true, "patch_ids": ["135c9629d93bad2ef92966c3a09523c8", "89d8a09d4223474aa10b54f36b93854b"], "statement_hash": "6ab3fdc7d8478fbf69f58ee61e9fa0f8851902d752a14f6b1fbf45071c292356"}}, {"rule": 2, "type": "equivalent", "target": "b893b83469747828041e23575b6becad", "evidence": {"same_day": true, "patch_ids": ["135c9629d93bad2ef92966c3a09523c8", "89d8a09d4223474aa10b54f36b93854b"], "statement_hash": "6ab3fdc7d8478fbf69f58ee61e9fa0f8851902d752a14f6b1fbf45071c292356"}}, {"rule": 2, "type": "equivalent", "target": "d861457038b8978ee33b63aff90940c4", "evidence": {"same_day": true, "patch_ids": ["135c9629d93bad2ef92966c3a09523c8", "89d8a09d4223474aa10b54f36b93854b"], "statement_hash": "6ab3fdc7d8478fbf69f58ee61e9fa0f8851902d752a14f6b1fbf45071c292356"}}, {"rule": 2, "type": "equivalent", "target": "ffeb4a2fe1782672a84dc4d064b00e4a", "evidence": {"same_day": true, "patch_ids": ["135c9629d93bad2ef92966c3a09523c8", "89d8a09d4223474aa10b54f36b93854b"], "statement_hash": "6ab3fdc7d8478fbf69f58ee61e9fa0f8851902d752a14f6b1fbf45071c292356"}}], "version": "14.16", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "b893b83469747828041e23575b6becad", "kind": "equivalent", "version": "17.3", "label": "17.3", "title": "修复操作符族成员操作符或支持函数可能成为悬空引用的情况", "evidence": {"same_day": true, "patch_ids": ["135c9629d93bad2ef92966c3a09523c8", "89d8a09d4223474aa10b54f36b93854b"], "statement_hash": "6ab3fdc7d8478fbf69f58ee61e9fa0f8851902d752a14f6b1fbf45071c292356"}, "url": "/docs/compare/?release=17.3#17.3-c6abed0f8e2bb3a8", "source_url": "/docs/release/17.3/#RELEASE-17-3-CHANGES"}, {"db_id": "d861457038b8978ee33b63aff90940c4", "kind": "equivalent", "version": "16.7", "label": "16.7", "title": "修复操作符族成员操作符或支持函数可能成为悬空引用的情况", "evidence": {"same_day": true, "patch_ids": ["135c9629d93bad2ef92966c3a09523c8", "89d8a09d4223474aa10b54f36b93854b"], "statement_hash": "6ab3fdc7d8478fbf69f58ee61e9fa0f8851902d752a14f6b1fbf45071c292356"}, "url": "/docs/compare/?release=16.7#16.7-c657434a0bda78ba", "source_url": "/docs/release/16.7/#RELEASE-16-7-CHANGES"}, {"db_id": "852c329ec3909d265b3bad80c3ac798b", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "修复操作符族成员操作符或支持函数可能成为悬空引用的情况", "evidence": {"same_day": true, "patch_ids": ["135c9629d93bad2ef92966c3a09523c8", "89d8a09d4223474aa10b54f36b93854b"], "statement_hash": "6ab3fdc7d8478fbf69f58ee61e9fa0f8851902d752a14f6b1fbf45071c292356"}, "url": "/docs/compare/?release=15.11#15.11-272efbabc61d005b", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "ffeb4a2fe1782672a84dc4d064b00e4a", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "修复操作符族成员操作符或支持函数可能成为悬空引用的情况", "evidence": {"same_day": true, "patch_ids": ["135c9629d93bad2ef92966c3a09523c8", "89d8a09d4223474aa10b54f36b93854b"], "statement_hash": "6ab3fdc7d8478fbf69f58ee61e9fa0f8851902d752a14f6b1fbf45071c292356"}, "url": "/docs/compare/?release=13.19#13.19-49d365b591d370b3", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-bfc8d46c250ae217", "cves": [], "html": "<p>修复逻辑解码输出中的多个内存泄漏（Vignesh C，Masahiko Sawada，Boyu Yang）<a href=\"https://postgr.es/c/c53d90bb4\">§</a> <a href=\"https://postgr.es/c/cfd6cbcf9\">§</a></p>", "text": "修复逻辑解码输出中的多个内存泄漏（Vignesh C，Masahiko Sawada，Boyu Yang）§ §", "title": "修复逻辑解码输出中的多个内存泄漏", "commits": ["c53d90bb4", "cfd6cbcf9"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "f70c1175218f8a6dc8fb5480fb70d61d312c25ab85802d0397261bfff4a6cf29", "section_path": ["变更"], "commit_groups": [["4d45e7490", "6c9b39754", "ba230ce40", "bbe68c13a", "cfd6cbcf9"], ["6fc30c24c", "afe9b0d9f", "e749eaf46", "ea792bfd9"], ["836435424", "a786cf04d", "c53d90bb4", "c9b3d4909", "da8bd5d42", "e3a27fd06"]], "identity_text": "Fix multiple memory leaks in logical decoding output (Vignesh C, Masahiko Sawada, Boyu Yang)", "commit_aliases": ["4d45e7490", "6c9b39754", "6fc30c24c", "836435424", "a786cf04d", "afe9b0d9f", "ba230ce40", "bbe68c13a", "c53d90bb4", "c9b3d4909", "cfd6cbcf9", "da8bd5d42", "e3a27fd06", "e749eaf46", "ea792bfd9"], "source_commits": ["c53d90bb4", "cfd6cbcf9", "ea792bfd9"], "source_entry_id": "14.16/changes/022", "db_id": "7b50a2183c182642d28afec0183d605b", "patch_ids": ["083b3d92b52591987156749d03a56ca8", "29a2d645a1b73678c67988f3f9010a5b", "50035a0a455b496bdee09300ecbd87d5"], "statement_hash": "d36acd9215ab16034e1e7aa511f9ed84121072688abdeba96f8e7547f04a32f3", "relations": [{"rule": 2, "type": "equivalent", "target": "13d179398909add9970f46ab481b9189", "evidence": {"same_day": true, "patch_ids": ["083b3d92b52591987156749d03a56ca8", "29a2d645a1b73678c67988f3f9010a5b", "50035a0a455b496bdee09300ecbd87d5"], "statement_hash": "d36acd9215ab16034e1e7aa511f9ed84121072688abdeba96f8e7547f04a32f3"}}, {"rule": 2, "type": "equivalent", "target": "4d10718ab097a65a0eb68ddf6be4859c", "evidence": {"same_day": true, "patch_ids": ["083b3d92b52591987156749d03a56ca8", "29a2d645a1b73678c67988f3f9010a5b", "50035a0a455b496bdee09300ecbd87d5"], "statement_hash": "d36acd9215ab16034e1e7aa511f9ed84121072688abdeba96f8e7547f04a32f3"}}, {"rule": 2, "type": "equivalent", "target": "72d566e30a8d7b411efea718bcd02235", "evidence": {"same_day": true, "patch_ids": ["083b3d92b52591987156749d03a56ca8", "29a2d645a1b73678c67988f3f9010a5b", "50035a0a455b496bdee09300ecbd87d5"], "statement_hash": "d36acd9215ab16034e1e7aa511f9ed84121072688abdeba96f8e7547f04a32f3"}}, {"rule": 2, "type": "equivalent", "target": "d3be3c9794f3530e444e4a59e5badd78", "evidence": {"same_day": true, "patch_ids": ["083b3d92b52591987156749d03a56ca8", "29a2d645a1b73678c67988f3f9010a5b", "50035a0a455b496bdee09300ecbd87d5"], "statement_hash": "d36acd9215ab16034e1e7aa511f9ed84121072688abdeba96f8e7547f04a32f3"}}], "version": "14.16", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "72d566e30a8d7b411efea718bcd02235", "kind": "equivalent", "version": "17.3", "label": "17.3", "title": "修复逻辑解码输出中的多个内存泄漏", "evidence": {"same_day": true, "patch_ids": ["083b3d92b52591987156749d03a56ca8", "29a2d645a1b73678c67988f3f9010a5b", "50035a0a455b496bdee09300ecbd87d5"], "statement_hash": "d36acd9215ab16034e1e7aa511f9ed84121072688abdeba96f8e7547f04a32f3"}, "url": "/docs/compare/?release=17.3#17.3-f8da83cc6b6fcff8", "source_url": "/docs/release/17.3/#RELEASE-17-3-CHANGES"}, {"db_id": "13d179398909add9970f46ab481b9189", "kind": "equivalent", "version": "16.7", "label": "16.7", "title": "修复逻辑解码输出中的多个内存泄漏", "evidence": {"same_day": true, "patch_ids": ["083b3d92b52591987156749d03a56ca8", "29a2d645a1b73678c67988f3f9010a5b", "50035a0a455b496bdee09300ecbd87d5"], "statement_hash": "d36acd9215ab16034e1e7aa511f9ed84121072688abdeba96f8e7547f04a32f3"}, "url": "/docs/compare/?release=16.7#16.7-8a82d9eb7b056fa3", "source_url": "/docs/release/16.7/#RELEASE-16-7-CHANGES"}, {"db_id": "d3be3c9794f3530e444e4a59e5badd78", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "修复逻辑解码输出中的多个内存泄漏", "evidence": {"same_day": true, "patch_ids": ["083b3d92b52591987156749d03a56ca8", "29a2d645a1b73678c67988f3f9010a5b", "50035a0a455b496bdee09300ecbd87d5"], "statement_hash": "d36acd9215ab16034e1e7aa511f9ed84121072688abdeba96f8e7547f04a32f3"}, "url": "/docs/compare/?release=15.11#15.11-4ddb503d2428c1e4", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "4d10718ab097a65a0eb68ddf6be4859c", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "修复逻辑解码输出中的多个内存泄漏", "evidence": {"same_day": true, "patch_ids": ["083b3d92b52591987156749d03a56ca8", "29a2d645a1b73678c67988f3f9010a5b", "50035a0a455b496bdee09300ecbd87d5"], "statement_hash": "d36acd9215ab16034e1e7aa511f9ed84121072688abdeba96f8e7547f04a32f3"}, "url": "/docs/compare/?release=13.19#13.19-fbacd441376f2672", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-1a6af517d68e9a14", "cves": [], "html": "<p>避免在内存不足时由于缺少对 <code>malloc()</code> 失败返回的检查而导致的低概率崩溃（Karina Litskevich）<a href=\"https://postgr.es/c/4398507df\">§</a></p>", "text": "避免在内存不足时由于缺少对 malloc() 失败返回的检查而导致的低概率崩溃（Karina Litskevich）§", "title": "避免在内存不足时由于缺少对 malloc() 失败返回的检查而导致的低概率崩溃", "commits": ["4398507df"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "8a3c11e0b11136dd39251ccd281de87d69f1a8ba6b3386920a0a6445f5c716aa", "section_path": ["变更"], "commit_groups": [["4398507df", "cd1c8b992", "d24eb0e91"]], "identity_text": "Avoid low-probability crash on out-of-memory, due to missing check for failure return from malloc() (Karina Litskevich)", "commit_aliases": ["4398507df", "cd1c8b992", "d24eb0e91"], "source_commits": ["d24eb0e91"], "source_entry_id": "14.16/changes/023", "db_id": "cdcb14ce111b53d4bb9194abc2d79d10", "patch_ids": ["0e7307b3acb076e9a4b9b9350ca34853"], "statement_hash": "997ce43cbc35dd8fcfbe55bcdd5f92ea5873eb1bea1176b811e8095e312b37fe", "relations": [{"rule": 2, "type": "equivalent", "target": "19ab0e14a1beeec3304108acccade680", "evidence": {"same_day": true, "patch_ids": ["0e7307b3acb076e9a4b9b9350ca34853"], "statement_hash": "997ce43cbc35dd8fcfbe55bcdd5f92ea5873eb1bea1176b811e8095e312b37fe"}}, {"rule": 2, "type": "equivalent", "target": "39b59f718960499f5a55094c420104c3", "evidence": {"same_day": true, "patch_ids": ["0e7307b3acb076e9a4b9b9350ca34853"], "statement_hash": "997ce43cbc35dd8fcfbe55bcdd5f92ea5873eb1bea1176b811e8095e312b37fe"}}], "version": "14.16", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "39b59f718960499f5a55094c420104c3", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "避免在内存不足时由于缺少对 malloc() 失败返回的检查而导致的低概率崩溃", "evidence": {"same_day": true, "patch_ids": ["0e7307b3acb076e9a4b9b9350ca34853"], "statement_hash": "997ce43cbc35dd8fcfbe55bcdd5f92ea5873eb1bea1176b811e8095e312b37fe"}, "url": "/docs/compare/?release=15.11#15.11-1a6af517d68e9a14", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "19ab0e14a1beeec3304108acccade680", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "避免因缺少对 malloc() 返回失败的检查而在内存不足时可能出现的低概率崩溃", "evidence": {"same_day": true, "patch_ids": ["0e7307b3acb076e9a4b9b9350ca34853"], "statement_hash": "997ce43cbc35dd8fcfbe55bcdd5f92ea5873eb1bea1176b811e8095e312b37fe"}, "url": "/docs/compare/?release=13.19#13.19-4e155834c0e85438", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-68d081834c225ae2", "cves": [], "html": "<p>避免在测试 <code>wal_skip_threshold</code> 条件时的整数溢出（Tom Lane）<a href=\"https://postgr.es/c/6a33bb35c\">§</a></p>\n<p>创建非常大的关系的事务可能会错误地决定通过将关系复制到 WAL 而非 fsync 来确保持久性，从而否定了 <code>wal_skip_threshold</code> 的意义。（这仅在 <code>wal_level</code> 设置为 <code>minimal</code> 时才有影响，否则无论如何都需要 WAL 复制。）</p>", "text": "避免在测试 wal_skip_threshold 条件时的整数溢出（Tom Lane）§ 创建非常大的关系的事务可能会错误地决定通过将关系复制到 WAL 而非 fsync 来确保持久性，从而否定了 wal_skip_threshold 的意义。（这仅在 wal_level 设置为 minimal 时才有影响，否则无论如何都需要 WAL 复制。）", "title": "避免在测试 wal_skip_threshold 条件时的整数溢出", "commits": ["6a33bb35c"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "29c14ef0cf66fb34369e43ab9958cfd55b87d72b10ae6e8ee89deffcbce18402", "section_path": ["变更"], "commit_groups": [["1e25cdb21", "49a38238e", "6a33bb35c", "b296e55b4", "b9aa4166f", "f7a08b6e9"]], "identity_text": "Avoid integer overflow while testing wal_skip_threshold condition (Tom Lane) A transaction that created a very large relation could mistakenly decide to ensure durability by copying the relation into WAL instead of fsync'ing it, thereby negating the point of wal_skip_threshold. (This only matters when wal_level is set to minimal, else a WAL copy is required anyway.)", "commit_aliases": ["1e25cdb21", "49a38238e", "6a33bb35c", "b296e55b4", "b9aa4166f", "f7a08b6e9"], "source_commits": ["6a33bb35c"], "source_entry_id": "14.16/changes/024", "db_id": "5e4bc4c20438be304693151c71fe270f", "patch_ids": ["f1a52f661e637e66389e047df4aa3b74"], "statement_hash": "e3e007861ef1734eaaa59d0df0312aa4083d0a93d0be2378ccf29a914ddbc756", "relations": [{"rule": 2, "type": "equivalent", "target": "036487ce99ab3583ec7787bf59ef67db", "evidence": {"same_day": true, "patch_ids": ["f1a52f661e637e66389e047df4aa3b74"], "statement_hash": "e3e007861ef1734eaaa59d0df0312aa4083d0a93d0be2378ccf29a914ddbc756"}}, {"rule": 2, "type": "equivalent", "target": "3a1de6612b7098a5555f8182a10c837e", "evidence": {"same_day": true, "patch_ids": ["f1a52f661e637e66389e047df4aa3b74"], "statement_hash": "e3e007861ef1734eaaa59d0df0312aa4083d0a93d0be2378ccf29a914ddbc756"}}, {"rule": 2, "type": "equivalent", "target": "4a9ab5b98b21a0bc98f070f7b4418bd1", "evidence": {"same_day": true, "patch_ids": ["f1a52f661e637e66389e047df4aa3b74"], "statement_hash": "e3e007861ef1734eaaa59d0df0312aa4083d0a93d0be2378ccf29a914ddbc756"}}, {"rule": 2, "type": "equivalent", "target": "afb2181fa143ace342a9073cf70eb0d5", "evidence": {"same_day": true, "patch_ids": ["f1a52f661e637e66389e047df4aa3b74"], "statement_hash": "e3e007861ef1734eaaa59d0df0312aa4083d0a93d0be2378ccf29a914ddbc756"}}], "version": "14.16", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "4a9ab5b98b21a0bc98f070f7b4418bd1", "kind": "equivalent", "version": "17.3", "label": "17.3", "title": "避免在测试 wal_skip_threshold 条件时的整数溢出", "evidence": {"same_day": true, "patch_ids": ["f1a52f661e637e66389e047df4aa3b74"], "statement_hash": "e3e007861ef1734eaaa59d0df0312aa4083d0a93d0be2378ccf29a914ddbc756"}, "url": "/docs/compare/?release=17.3#17.3-8ac5d4bfbcbb5d25", "source_url": "/docs/release/17.3/#RELEASE-17-3-CHANGES"}, {"db_id": "036487ce99ab3583ec7787bf59ef67db", "kind": "equivalent", "version": "16.7", "label": "16.7", "title": "避免在测试 wal_skip_threshold 条件时的整数溢出", "evidence": {"same_day": true, "patch_ids": ["f1a52f661e637e66389e047df4aa3b74"], "statement_hash": "e3e007861ef1734eaaa59d0df0312aa4083d0a93d0be2378ccf29a914ddbc756"}, "url": "/docs/compare/?release=16.7#16.7-05c92ca34032b9af", "source_url": "/docs/release/16.7/#RELEASE-16-7-CHANGES"}, {"db_id": "afb2181fa143ace342a9073cf70eb0d5", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "避免在测试 wal_skip_threshold 条件时的整数溢出", "evidence": {"same_day": true, "patch_ids": ["f1a52f661e637e66389e047df4aa3b74"], "statement_hash": "e3e007861ef1734eaaa59d0df0312aa4083d0a93d0be2378ccf29a914ddbc756"}, "url": "/docs/compare/?release=15.11#15.11-e87c8144e08244a1", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "3a1de6612b7098a5555f8182a10c837e", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "避免在测试 wal_skip_threshold 条件时的整数溢出", "evidence": {"same_day": true, "patch_ids": ["f1a52f661e637e66389e047df4aa3b74"], "statement_hash": "e3e007861ef1734eaaa59d0df0312aa4083d0a93d0be2378ccf29a914ddbc756"}, "url": "/docs/compare/?release=13.19#13.19-79b957ad36d76b77", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-63b892d90f0858e7", "cves": [], "html": "<p>修复缓存查找期间不安全的操作顺序（Noah Misch）<a href=\"https://postgr.es/c/2690a4f5d\">§</a></p>\n<p>唯一已知的后果是在 <code>GRANT TABLESPACE</code> 期间出现通常无害的 <span>“<span>you don't own a lock of type ExclusiveLock</span>”</span> 警告。</p>", "text": "修复缓存查找期间不安全的操作顺序（Noah Misch）§ 唯一已知的后果是在 GRANT TABLESPACE 期间出现通常无害的 “you don't own a lock of type ExclusiveLock” 警告。", "title": "修复缓存查找期间不安全的操作顺序", "commits": ["2690a4f5d"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "2fe7b1b0954e75db95b07d446efbb58d937e7180c90969bd6a323895dddba1c8", "section_path": ["变更"], "commit_groups": [["01745fb04", "2690a4f5d", "4ba84de45", "718af10da", "941e0c0df", "c1285bbeb"]], "identity_text": "Fix unsafe order of operations during cache lookups (Noah Misch) The only known consequence was a usually-harmless you don't own a lock of type ExclusiveLock warning during GRANT TABLESPACE.", "commit_aliases": ["01745fb04", "2690a4f5d", "4ba84de45", "718af10da", "941e0c0df", "c1285bbeb"], "source_commits": ["2690a4f5d"], "source_entry_id": "14.16/changes/025", "db_id": "cdb8b7e387eeffda2e95081967aca3e6", "patch_ids": ["90ce9a9c50755ab4800d4dff04ee45b2"], "statement_hash": "c3aeb5ac90f764b32fe5ea237ea7d7c20d7ba3cc7c2a6d746cabfa7e3a4444c7", "relations": [{"rule": 2, "type": "equivalent", "target": "29eaedf263d7d665738e5017df2fd61c", "evidence": {"same_day": true, "patch_ids": ["90ce9a9c50755ab4800d4dff04ee45b2"], "statement_hash": "c3aeb5ac90f764b32fe5ea237ea7d7c20d7ba3cc7c2a6d746cabfa7e3a4444c7"}}, {"rule": 2, "type": "equivalent", "target": "396527e8aac8d78c2bd80385c5a0aa37", "evidence": {"same_day": true, "patch_ids": ["90ce9a9c50755ab4800d4dff04ee45b2"], "statement_hash": "c3aeb5ac90f764b32fe5ea237ea7d7c20d7ba3cc7c2a6d746cabfa7e3a4444c7"}}, {"rule": 2, "type": "equivalent", "target": "6721f452728e6ed0252a28f8faefc5df", "evidence": {"same_day": true, "patch_ids": ["90ce9a9c50755ab4800d4dff04ee45b2"], "statement_hash": "c3aeb5ac90f764b32fe5ea237ea7d7c20d7ba3cc7c2a6d746cabfa7e3a4444c7"}}, {"rule": 2, "type": "equivalent", "target": "b53b1fddaa6de9ea19c3a1df912082c6", "evidence": {"same_day": true, "patch_ids": ["90ce9a9c50755ab4800d4dff04ee45b2"], "statement_hash": "c3aeb5ac90f764b32fe5ea237ea7d7c20d7ba3cc7c2a6d746cabfa7e3a4444c7"}}], "version": "14.16", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "b53b1fddaa6de9ea19c3a1df912082c6", "kind": "equivalent", "version": "17.3", "label": "17.3", "title": "修复缓存查找期间不安全的操作顺序", "evidence": {"same_day": true, "patch_ids": ["90ce9a9c50755ab4800d4dff04ee45b2"], "statement_hash": "c3aeb5ac90f764b32fe5ea237ea7d7c20d7ba3cc7c2a6d746cabfa7e3a4444c7"}, "url": "/docs/compare/?release=17.3#17.3-8d8d78ef730d9b8d", "source_url": "/docs/release/17.3/#RELEASE-17-3-CHANGES"}, {"db_id": "396527e8aac8d78c2bd80385c5a0aa37", "kind": "equivalent", "version": "16.7", "label": "16.7", "title": "修复缓存查找期间不安全的操作顺序", "evidence": {"same_day": true, "patch_ids": ["90ce9a9c50755ab4800d4dff04ee45b2"], "statement_hash": "c3aeb5ac90f764b32fe5ea237ea7d7c20d7ba3cc7c2a6d746cabfa7e3a4444c7"}, "url": "/docs/compare/?release=16.7#16.7-ee9fae75cbd5256d", "source_url": "/docs/release/16.7/#RELEASE-16-7-CHANGES"}, {"db_id": "29eaedf263d7d665738e5017df2fd61c", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "修复缓存查找期间不安全的操作顺序", "evidence": {"same_day": true, "patch_ids": ["90ce9a9c50755ab4800d4dff04ee45b2"], "statement_hash": "c3aeb5ac90f764b32fe5ea237ea7d7c20d7ba3cc7c2a6d746cabfa7e3a4444c7"}, "url": "/docs/compare/?release=15.11#15.11-e7337ac508adc939", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "6721f452728e6ed0252a28f8faefc5df", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "修复缓存查找期间不安全的操作顺序", "evidence": {"same_day": true, "patch_ids": ["90ce9a9c50755ab4800d4dff04ee45b2"], "statement_hash": "c3aeb5ac90f764b32fe5ea237ea7d7c20d7ba3cc7c2a6d746cabfa7e3a4444c7"}, "url": "/docs/compare/?release=13.19#13.19-b75073eb0ad357e2", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-e18f6846443698df", "cves": [], "html": "<p>修复在较旧 ARM 平台上使用 JIT 时可能出现的 <span>“<span>failed to resolve name</span>”</span> 失败（Thomas Munro）<a href=\"https://postgr.es/c/7ca388fd0\">§</a></p>\n<p>这可能是由于 gcc 和 clang 之间对 <code>-moutline-atomics</code> 默认设置不一致导致的。至少已知 Debian 和 Ubuntu 提供了针对 armv8-a 的 gcc 和 clang 编译器，但它们在默认使用 outline atomics 方面存在差异。</p>", "text": "修复在较旧 ARM 平台上使用 JIT 时可能出现的 “failed to resolve name” 失败（Thomas Munro）§ 这可能是由于 gcc 和 clang 之间对 -moutline-atomics 默认设置不一致导致的。至少已知 Debian 和 Ubuntu 提供了针对 armv8-a 的 gcc 和 clang 编译器，但它们在默认使用 outline atomics 方面存在差异。", "title": "修复在较旧 ARM 平台上使用 JIT 时可能出现的 “failed to resolve name” 失败", "commits": ["7ca388fd0"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "4a57eb947bf70ad8f9914e0795552d322d270710346f69506d5496d649b07ce5", "section_path": ["变更"], "commit_groups": [["15ab513fe", "6de14dbb3", "78c09bd9f", "7ca388fd0", "8a9a51518", "8aefd8b6f"]], "identity_text": "Fix possible failed to resolve name failures when using JIT on older ARM platforms (Thomas Munro) This could occur as a consequence of inconsistency about the default setting of -moutline-atomics between gcc and clang. At least Debian and Ubuntu are known to ship gcc and clang compilers that target armv8-a but differ on the use of outline atomics by default.", "commit_aliases": ["15ab513fe", "6de14dbb3", "78c09bd9f", "7ca388fd0", "8a9a51518", "8aefd8b6f"], "source_commits": ["7ca388fd0"], "source_entry_id": "14.16/changes/026", "db_id": "32f6695d1503d792c5734474725c76a7", "patch_ids": ["7fbc39127460b9650f0f0c5d8030a7b5"], "statement_hash": "bd0573da2cd07370ec32895d0af4aea3b2e012be15f19ea20170ef86fed0451d", "relations": [{"rule": 2, "type": "equivalent", "target": "153cab4ac3c7860f3d32874fb3e2eb7e", "evidence": {"same_day": true, "patch_ids": ["7fbc39127460b9650f0f0c5d8030a7b5"], "statement_hash": "bd0573da2cd07370ec32895d0af4aea3b2e012be15f19ea20170ef86fed0451d"}}, {"rule": 2, "type": "equivalent", "target": "4604fdb2fe7f2f639f6657625a4471b4", "evidence": {"same_day": true, "patch_ids": ["7fbc39127460b9650f0f0c5d8030a7b5"], "statement_hash": "bd0573da2cd07370ec32895d0af4aea3b2e012be15f19ea20170ef86fed0451d"}}, {"rule": 2, "type": "equivalent", "target": "5e873c5cda6b6776ea205630fb8a1722", "evidence": {"same_day": true, "patch_ids": ["7fbc39127460b9650f0f0c5d8030a7b5"], "statement_hash": "bd0573da2cd07370ec32895d0af4aea3b2e012be15f19ea20170ef86fed0451d"}}, {"rule": 2, "type": "equivalent", "target": "763fcac4eafa5b661eec57738e003839", "evidence": {"same_day": true, "patch_ids": ["7fbc39127460b9650f0f0c5d8030a7b5"], "statement_hash": "bd0573da2cd07370ec32895d0af4aea3b2e012be15f19ea20170ef86fed0451d"}}], "version": "14.16", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "5e873c5cda6b6776ea205630fb8a1722", "kind": "equivalent", "version": "17.3", "label": "17.3", "title": "修复在较旧 ARM 平台上使用 JIT 时可能出现的 “failed to resolve name” 失败", "evidence": {"same_day": true, "patch_ids": ["7fbc39127460b9650f0f0c5d8030a7b5"], "statement_hash": "bd0573da2cd07370ec32895d0af4aea3b2e012be15f19ea20170ef86fed0451d"}, "url": "/docs/compare/?release=17.3#17.3-b69a7beee297aecf", "source_url": "/docs/release/17.3/#RELEASE-17-3-CHANGES"}, {"db_id": "153cab4ac3c7860f3d32874fb3e2eb7e", "kind": "equivalent", "version": "16.7", "label": "16.7", "title": "修复在较旧 ARM 平台上使用 JIT 时可能出现的 “failed to resolve name” 失败", "evidence": {"same_day": true, "patch_ids": ["7fbc39127460b9650f0f0c5d8030a7b5"], "statement_hash": "bd0573da2cd07370ec32895d0af4aea3b2e012be15f19ea20170ef86fed0451d"}, "url": "/docs/compare/?release=16.7#16.7-71288afa6d80727d", "source_url": "/docs/release/16.7/#RELEASE-16-7-CHANGES"}, {"db_id": "4604fdb2fe7f2f639f6657625a4471b4", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "修复在较旧 ARM 平台上使用 JIT 时可能出现的 “failed to resolve name” 失败", "evidence": {"same_day": true, "patch_ids": ["7fbc39127460b9650f0f0c5d8030a7b5"], "statement_hash": "bd0573da2cd07370ec32895d0af4aea3b2e012be15f19ea20170ef86fed0451d"}, "url": "/docs/compare/?release=15.11#15.11-db0e07abc9bf3aa5", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "763fcac4eafa5b661eec57738e003839", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "修复在较旧 ARM 平台上使用 JIT 时可能出现的 “failed to resolve name” 失败", "evidence": {"same_day": true, "patch_ids": ["7fbc39127460b9650f0f0c5d8030a7b5"], "statement_hash": "bd0573da2cd07370ec32895d0af4aea3b2e012be15f19ea20170ef86fed0451d"}, "url": "/docs/compare/?release=13.19#13.19-23cf154cc7caef00", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-910218fa434a8fd2", "cves": [], "html": "<p>修复非 <span>PostgreSQL</span> 来源的 Windows 连接点的处理（Thomas Munro）<a href=\"https://postgr.es/c/9b136b0f2\">§</a> <a href=\"https://postgr.es/c/e708f3188\">§</a></p>\n<p>之前，如果数据目录的路径包含展开后不是<span>“<span>驱动器绝对路径</span>”</span>格式的连接点，或其展开指向另一个连接点，<span>initdb</span> 将会失败。</p>", "text": "修复非 PostgreSQL 来源的 Windows 连接点的处理（Thomas Munro）§ § 之前，如果数据目录的路径包含展开后不是“驱动器绝对路径”格式的连接点，或其展开指向另一个连接点，initdb 将会失败。", "title": "修复非 PostgreSQL 来源的 Windows 连接点的处理", "commits": ["9b136b0f2", "e708f3188"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "bb8c6b0e37a06c94cfad520169a53a0b583f544b507c443ea45fe6c951ee20f7", "section_path": ["变更"], "commit_groups": [["2c4a532c9", "9b136b0f2", "f4fd5325c"], ["9f1c67488", "e708f3188", "fbf8efbda"]], "identity_text": "Fix handling of Windows junction points that are not of PostgreSQL origin (Thomas Munro) Previously, initdb would fail if the path to the data directory included junction points whose expansion isn't in drive absolute format, or whose expansion points to another junction point.", "commit_aliases": ["2c4a532c9", "9b136b0f2", "9f1c67488", "e708f3188", "f4fd5325c", "fbf8efbda"], "source_commits": ["9f1c67488", "f4fd5325c"], "source_entry_id": "14.16/changes/027", "db_id": "a87bed9fadd3cd8b0b628a71677cdff1", "patch_ids": ["621af65a7e189083e0ca89afc829497a", "cdd071d0fb6ca39ab63d4507f00af8dd"], "statement_hash": "29ff7d78572b67076328324c657ff9d506d54a8673ec94a8a167dac2a5944cfd", "relations": [{"rule": 2, "type": "equivalent", "target": "08b37ac16479d98b0d6ec10432356427", "evidence": {"same_day": true, "patch_ids": ["621af65a7e189083e0ca89afc829497a", "cdd071d0fb6ca39ab63d4507f00af8dd"], "statement_hash": "29ff7d78572b67076328324c657ff9d506d54a8673ec94a8a167dac2a5944cfd"}}, {"rule": 2, "type": "equivalent", "target": "4c7bc05110690f40da575a72bed63419", "evidence": {"same_day": true, "patch_ids": ["621af65a7e189083e0ca89afc829497a", "cdd071d0fb6ca39ab63d4507f00af8dd"], "statement_hash": "29ff7d78572b67076328324c657ff9d506d54a8673ec94a8a167dac2a5944cfd"}}], "version": "14.16", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "08b37ac16479d98b0d6ec10432356427", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "修复非 PostgreSQL 来源的 Windows 连接点的处理", "evidence": {"same_day": true, "patch_ids": ["621af65a7e189083e0ca89afc829497a", "cdd071d0fb6ca39ab63d4507f00af8dd"], "statement_hash": "29ff7d78572b67076328324c657ff9d506d54a8673ec94a8a167dac2a5944cfd"}, "url": "/docs/compare/?release=15.11#15.11-910218fa434a8fd2", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "4c7bc05110690f40da575a72bed63419", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "修复非 PostgreSQL 来源的 Windows 联接点的处理", "evidence": {"same_day": true, "patch_ids": ["621af65a7e189083e0ca89afc829497a", "cdd071d0fb6ca39ab63d4507f00af8dd"], "statement_hash": "29ff7d78572b67076328324c657ff9d506d54a8673ec94a8a167dac2a5944cfd"}, "url": "/docs/compare/?release=13.19#13.19-9eaf8741fb72035a", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-240c61ebb38c4a89", "cves": [], "html": "<p>修复 <code>WITH RECURSIVE ... UNION</code> 查询中的断言失败（David Rowley）<a href=\"https://postgr.es/c/bdb07d241\">§</a></p>", "text": "修复 WITH RECURSIVE ... UNION 查询中的断言失败（David Rowley）§", "title": "修复 WITH RECURSIVE ... UNION 查询中的断言失败", "commits": ["bdb07d241"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "64aae4ed018140cb9b87f79e04c16bd5452cbb789c96b383421b015caf2305a4", "section_path": ["变更"], "commit_groups": [["093fc156b", "2c7887c9d", "7b8d45d27", "8f4ee9626", "bdb07d241", "ef178d38b"]], "identity_text": "Fix assertion failure in WITH RECURSIVE ... UNION queries (David Rowley)", "commit_aliases": ["093fc156b", "2c7887c9d", "7b8d45d27", "8f4ee9626", "bdb07d241", "ef178d38b"], "source_commits": ["bdb07d241"], "source_entry_id": "14.16/changes/028", "db_id": "4f352f98cfddfcd289d7f783037ab568", "patch_ids": ["cda8a4a84413105a7db4574c83a8b6db"], "statement_hash": "e97fbb3f8d6686fdb271a007ac20251d645737c9dd88c7ede2f2366b74061122", "relations": [{"rule": 2, "type": "equivalent", "target": "2217250a1ba843d1d01c592bdeead0cb", "evidence": {"same_day": true, "patch_ids": ["cda8a4a84413105a7db4574c83a8b6db"], "statement_hash": "e97fbb3f8d6686fdb271a007ac20251d645737c9dd88c7ede2f2366b74061122"}}, {"rule": 2, "type": "equivalent", "target": "b26ab25ec03dbd9f071df4bb4b76da34", "evidence": {"same_day": true, "patch_ids": ["cda8a4a84413105a7db4574c83a8b6db"], "statement_hash": "e97fbb3f8d6686fdb271a007ac20251d645737c9dd88c7ede2f2366b74061122"}}, {"rule": 2, "type": "equivalent", "target": "ef28f44fe07fedced1ccacc3e7f54847", "evidence": {"same_day": true, "patch_ids": ["cda8a4a84413105a7db4574c83a8b6db"], "statement_hash": "e97fbb3f8d6686fdb271a007ac20251d645737c9dd88c7ede2f2366b74061122"}}, {"rule": 2, "type": "equivalent", "target": "fdb20d2131f4456b6c2891c6a7708218", "evidence": {"same_day": true, "patch_ids": ["cda8a4a84413105a7db4574c83a8b6db"], "statement_hash": "e97fbb3f8d6686fdb271a007ac20251d645737c9dd88c7ede2f2366b74061122"}}], "version": "14.16", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "2217250a1ba843d1d01c592bdeead0cb", "kind": "equivalent", "version": "17.3", "label": "17.3", "title": "修复 WITH RECURSIVE ... UNION 查询中的断言失败", "evidence": {"same_day": true, "patch_ids": ["cda8a4a84413105a7db4574c83a8b6db"], "statement_hash": "e97fbb3f8d6686fdb271a007ac20251d645737c9dd88c7ede2f2366b74061122"}, "url": "/docs/compare/?release=17.3#17.3-b7adad553817ec07", "source_url": "/docs/release/17.3/#RELEASE-17-3-CHANGES"}, {"db_id": "ef28f44fe07fedced1ccacc3e7f54847", "kind": "equivalent", "version": "16.7", "label": "16.7", "title": "修复 WITH RECURSIVE ... UNION 查询中的断言失败", "evidence": {"same_day": true, "patch_ids": ["cda8a4a84413105a7db4574c83a8b6db"], "statement_hash": "e97fbb3f8d6686fdb271a007ac20251d645737c9dd88c7ede2f2366b74061122"}, "url": "/docs/compare/?release=16.7#16.7-3f427ee178a16726", "source_url": "/docs/release/16.7/#RELEASE-16-7-CHANGES"}, {"db_id": "b26ab25ec03dbd9f071df4bb4b76da34", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "修复 WITH RECURSIVE ... UNION 查询中的断言失败", "evidence": {"same_day": true, "patch_ids": ["cda8a4a84413105a7db4574c83a8b6db"], "statement_hash": "e97fbb3f8d6686fdb271a007ac20251d645737c9dd88c7ede2f2366b74061122"}, "url": "/docs/compare/?release=15.11#15.11-a668635ca891d649", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "fdb20d2131f4456b6c2891c6a7708218", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "修复 WITH RECURSIVE ... UNION 查询中的断言失败", "evidence": {"same_day": true, "patch_ids": ["cda8a4a84413105a7db4574c83a8b6db"], "statement_hash": "e97fbb3f8d6686fdb271a007ac20251d645737c9dd88c7ede2f2366b74061122"}, "url": "/docs/compare/?release=13.19#13.19-a6c43551d61d5be7", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-f9a2837076e3ff29", "cves": [], "html": "<p>避免在集合操作叶查询包含集合操作时规则反解析中的断言失败（Man Zeng，Tom Lane）<a href=\"https://postgr.es/c/3eb26524c\">§</a></p>", "text": "避免在集合操作叶查询包含集合操作时规则反解析中的断言失败（Man Zeng，Tom Lane）§", "title": "避免在集合操作叶查询包含集合操作时规则反解析中的断言失败", "commits": ["3eb26524c"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "3b2d401cc6bed4d69c22747007e13c553b8f5265ea9bd673d63ffbc3465230d3", "section_path": ["变更"], "commit_groups": [["3eb26524c", "630520c22", "94131cd53", "9b9689e26", "fe084039e", "fea81aee8"]], "identity_text": "Avoid assertion failure in rule deparsing if a set operation leaf query contains set operations (Man Zeng, Tom Lane)", "commit_aliases": ["3eb26524c", "630520c22", "94131cd53", "9b9689e26", "fe084039e", "fea81aee8"], "source_commits": ["3eb26524c"], "source_entry_id": "14.16/changes/029", "db_id": "788662ba7d1019b44607912fceb78494", "patch_ids": ["35f4eaf8ee261956e392123bcc2aed5e"], "statement_hash": "d49aa748ad3e4a3666aabd63408b98480407e26d03b35fa0e4c40aeaa81830f6", "relations": [{"rule": 2, "type": "equivalent", "target": "430ea600c60e03d11df898e94770372a", "evidence": {"same_day": true, "patch_ids": ["35f4eaf8ee261956e392123bcc2aed5e"], "statement_hash": "d49aa748ad3e4a3666aabd63408b98480407e26d03b35fa0e4c40aeaa81830f6"}}, {"rule": 2, "type": "equivalent", "target": "50000347e8a508f0aaef39e9f6f46b3a", "evidence": {"same_day": true, "patch_ids": ["35f4eaf8ee261956e392123bcc2aed5e"], "statement_hash": "d49aa748ad3e4a3666aabd63408b98480407e26d03b35fa0e4c40aeaa81830f6"}}, {"rule": 2, "type": "equivalent", "target": "7f4412cd75dc72714d7ab2bc7274e4b1", "evidence": {"same_day": true, "patch_ids": ["35f4eaf8ee261956e392123bcc2aed5e"], "statement_hash": "d49aa748ad3e4a3666aabd63408b98480407e26d03b35fa0e4c40aeaa81830f6"}}, {"rule": 2, "type": "equivalent", "target": "fb21bd83fba5eb8385f3edc1dbf0a7f3", "evidence": {"same_day": true, "patch_ids": ["35f4eaf8ee261956e392123bcc2aed5e"], "statement_hash": "d49aa748ad3e4a3666aabd63408b98480407e26d03b35fa0e4c40aeaa81830f6"}}], "version": "14.16", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "fb21bd83fba5eb8385f3edc1dbf0a7f3", "kind": "equivalent", "version": "17.3", "label": "17.3", "title": "避免在集合操作叶查询包含集合操作时规则反解析中的断言失败", "evidence": {"same_day": true, "patch_ids": ["35f4eaf8ee261956e392123bcc2aed5e"], "statement_hash": "d49aa748ad3e4a3666aabd63408b98480407e26d03b35fa0e4c40aeaa81830f6"}, "url": "/docs/compare/?release=17.3#17.3-298a145035b17ae1", "source_url": "/docs/release/17.3/#RELEASE-17-3-CHANGES"}, {"db_id": "7f4412cd75dc72714d7ab2bc7274e4b1", "kind": "equivalent", "version": "16.7", "label": "16.7", "title": "避免在集合操作叶查询包含集合操作时规则反解析中的断言失败", "evidence": {"same_day": true, "patch_ids": ["35f4eaf8ee261956e392123bcc2aed5e"], "statement_hash": "d49aa748ad3e4a3666aabd63408b98480407e26d03b35fa0e4c40aeaa81830f6"}, "url": "/docs/compare/?release=16.7#16.7-64b8371eaf4d37e0", "source_url": "/docs/release/16.7/#RELEASE-16-7-CHANGES"}, {"db_id": "50000347e8a508f0aaef39e9f6f46b3a", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "避免在集合操作叶查询包含集合操作时规则反解析中的断言失败", "evidence": {"same_day": true, "patch_ids": ["35f4eaf8ee261956e392123bcc2aed5e"], "statement_hash": "d49aa748ad3e4a3666aabd63408b98480407e26d03b35fa0e4c40aeaa81830f6"}, "url": "/docs/compare/?release=15.11#15.11-9782e96a5d6e6210", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "430ea600c60e03d11df898e94770372a", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "避免在集合操作叶查询包含集合操作时规则反解析中的断言失败", "evidence": {"same_day": true, "patch_ids": ["35f4eaf8ee261956e392123bcc2aed5e"], "statement_hash": "d49aa748ad3e4a3666aabd63408b98480407e26d03b35fa0e4c40aeaa81830f6"}, "url": "/docs/compare/?release=13.19#13.19-5492d6a199377d8e", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-89a40fa712bb947f", "cves": [], "html": "<p>避免并行查询启动时的边界情况断言失败（Tom Lane）<a href=\"https://postgr.es/c/8a95ad3b2\">§</a></p>", "text": "避免并行查询启动时的边界情况断言失败（Tom Lane）§", "title": "避免并行查询启动时的边界情况断言失败", "commits": ["8a95ad3b2"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "26e3377037e8ad108e917227b9bbf3b40c9570bb117fc9868294b44326d9aaa2", "section_path": ["变更"], "commit_groups": [["3eea7a0c9", "4089b9bd6", "4d20bad5e", "556f7b7bc", "8a95ad3b2", "bb649b553"]], "identity_text": "Avoid edge-case assertion failure in parallel query startup (Tom Lane)", "commit_aliases": ["3eea7a0c9", "4089b9bd6", "4d20bad5e", "556f7b7bc", "8a95ad3b2", "bb649b553"], "source_commits": ["8a95ad3b2"], "source_entry_id": "14.16/changes/030", "db_id": "f773276377191676df7c3642b74798a8", "patch_ids": ["f298e10f6df8ed0882f70ae44117812c"], "statement_hash": "b1ddf81bce204c8887e79d306680fe956f6af3c784286f19c74ced31e3063be7", "relations": [{"rule": 2, "type": "equivalent", "target": "3abae71410ce108faa00b2da6ec38a1a", "evidence": {"same_day": true, "patch_ids": ["f298e10f6df8ed0882f70ae44117812c"], "statement_hash": "b1ddf81bce204c8887e79d306680fe956f6af3c784286f19c74ced31e3063be7"}}, {"rule": 2, "type": "equivalent", "target": "afb62e2219d6171b37153e1b07c79a3c", "evidence": {"same_day": true, "patch_ids": ["f298e10f6df8ed0882f70ae44117812c"], "statement_hash": "b1ddf81bce204c8887e79d306680fe956f6af3c784286f19c74ced31e3063be7"}}, {"rule": 2, "type": "equivalent", "target": "bfd249fdf1d29e1a2671b588f5c25368", "evidence": {"same_day": true, "patch_ids": ["f298e10f6df8ed0882f70ae44117812c"], "statement_hash": "b1ddf81bce204c8887e79d306680fe956f6af3c784286f19c74ced31e3063be7"}}, {"rule": 2, "type": "equivalent", "target": "fd91c149b0074746d42181c8ca343d83", "evidence": {"same_day": true, "patch_ids": ["f298e10f6df8ed0882f70ae44117812c"], "statement_hash": "b1ddf81bce204c8887e79d306680fe956f6af3c784286f19c74ced31e3063be7"}}], "version": "14.16", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "afb62e2219d6171b37153e1b07c79a3c", "kind": "equivalent", "version": "17.3", "label": "17.3", "title": "避免并行查询启动时的边界情况断言失败", "evidence": {"same_day": true, "patch_ids": ["f298e10f6df8ed0882f70ae44117812c"], "statement_hash": "b1ddf81bce204c8887e79d306680fe956f6af3c784286f19c74ced31e3063be7"}, "url": "/docs/compare/?release=17.3#17.3-722a0397cafeb199", "source_url": "/docs/release/17.3/#RELEASE-17-3-CHANGES"}, {"db_id": "3abae71410ce108faa00b2da6ec38a1a", "kind": "equivalent", "version": "16.7", "label": "16.7", "title": "避免并行查询启动时的边界情况断言失败", "evidence": {"same_day": true, "patch_ids": ["f298e10f6df8ed0882f70ae44117812c"], "statement_hash": "b1ddf81bce204c8887e79d306680fe956f6af3c784286f19c74ced31e3063be7"}, "url": "/docs/compare/?release=16.7#16.7-98a37c42135391b3", "source_url": "/docs/release/16.7/#RELEASE-16-7-CHANGES"}, {"db_id": "bfd249fdf1d29e1a2671b588f5c25368", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "避免并行查询启动时的边界情况断言失败", "evidence": {"same_day": true, "patch_ids": ["f298e10f6df8ed0882f70ae44117812c"], "statement_hash": "b1ddf81bce204c8887e79d306680fe956f6af3c784286f19c74ced31e3063be7"}, "url": "/docs/compare/?release=15.11#15.11-5e432f4b08cbf92e", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "fd91c149b0074746d42181c8ca343d83", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "避免并行查询启动时的边界情况断言失败", "evidence": {"same_day": true, "patch_ids": ["f298e10f6df8ed0882f70ae44117812c"], "statement_hash": "b1ddf81bce204c8887e79d306680fe956f6af3c784286f19c74ced31e3063be7"}, "url": "/docs/compare/?release=13.19#13.19-382281fdd907f983", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-0e70592b47df05ca", "cves": [], "html": "<p>在 <code>NULLIF()</code> 中，避免将可读写的扩展对象指针传递给数据类型的等值函数（Tom Lane）<a href=\"https://postgr.es/c/a1168855e\">§</a></p>\n<p>如果给定可读写指针，等值函数可能会修改或删除该对象，如果我们随后决定将其作为 <code>NULLIF()</code> 的结果返回，这将是有问题的。对于任何内置等值函数可能没有问题，但用 PL/pgSQL 编写的函数很容易展示出故障。</p>", "text": "在 NULLIF() 中，避免将可读写的扩展对象指针传递给数据类型的等值函数（Tom Lane）§ 如果给定可读写指针，等值函数可能会修改或删除该对象，如果我们随后决定将其作为 NULLIF() 的结果返回，这将是有问题的。对于任何内置等值函数可能没有问题，但用 PL/pgSQL 编写的函数很容易展示出故障。", "title": "在 NULLIF() 中，避免将可读写的扩展对象指针传递给数据类型的等值函数", "commits": ["a1168855e"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "cde882a5ffc60fce1d36c44b29a4f4d5e142eca707b2d7c98a24aeb54ed29b3e", "section_path": ["变更"], "commit_groups": [["48a6cd1ae", "4aba56adc", "5b8728cd7", "80cd33bad", "97be02ad0", "a1168855e"]], "identity_text": "In NULLIF(), avoid passing a read-write expanded object pointer to the data type's equality function (Tom Lane) The equality function could modify or delete the object if it's given a read-write pointer, which would be bad if we decide to return it as the NULLIF() result. There is probably no problem with any built-in equality function, but it's easy to demonstrate a failure with one coded in PL/pgSQL.", "commit_aliases": ["48a6cd1ae", "4aba56adc", "5b8728cd7", "80cd33bad", "97be02ad0", "a1168855e"], "source_commits": ["a1168855e"], "source_entry_id": "14.16/changes/031", "db_id": "6238d90d78105e9584c4dfcbf52d8931", "patch_ids": ["463f307c6072a88e9fe3c57d976d1fb1"], "statement_hash": "1ce9d9461efb1b1413456691f856d759a865d9d7ab4b129a7e605f127ed329d1", "relations": [{"rule": 2, "type": "equivalent", "target": "3ddc9f10fd399f2a6a2ab724c0fb04ae", "evidence": {"same_day": true, "patch_ids": ["463f307c6072a88e9fe3c57d976d1fb1"], "statement_hash": "1ce9d9461efb1b1413456691f856d759a865d9d7ab4b129a7e605f127ed329d1"}}, {"rule": 2, "type": "equivalent", "target": "a3e01d7c7837e6081fbba4ba0ca05dec", "evidence": {"same_day": true, "patch_ids": ["463f307c6072a88e9fe3c57d976d1fb1"], "statement_hash": "1ce9d9461efb1b1413456691f856d759a865d9d7ab4b129a7e605f127ed329d1"}}, {"rule": 2, "type": "equivalent", "target": "c4ccc551e7e79a141d6c41447a2334fb", "evidence": {"same_day": true, "patch_ids": ["463f307c6072a88e9fe3c57d976d1fb1"], "statement_hash": "1ce9d9461efb1b1413456691f856d759a865d9d7ab4b129a7e605f127ed329d1"}}, {"rule": 2, "type": "equivalent", "target": "c78d8e6e8c55b8ee156c3a9aa25ddef5", "evidence": {"same_day": true, "patch_ids": ["463f307c6072a88e9fe3c57d976d1fb1"], "statement_hash": "1ce9d9461efb1b1413456691f856d759a865d9d7ab4b129a7e605f127ed329d1"}}], "version": "14.16", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "c4ccc551e7e79a141d6c41447a2334fb", "kind": "equivalent", "version": "17.3", "label": "17.3", "title": "在 NULLIF() 中，避免将可读写的扩展对象指针传递给数据类型的等值函数", "evidence": {"same_day": true, "patch_ids": ["463f307c6072a88e9fe3c57d976d1fb1"], "statement_hash": "1ce9d9461efb1b1413456691f856d759a865d9d7ab4b129a7e605f127ed329d1"}, "url": "/docs/compare/?release=17.3#17.3-dd0d552be92812cf", "source_url": "/docs/release/17.3/#RELEASE-17-3-CHANGES"}, {"db_id": "a3e01d7c7837e6081fbba4ba0ca05dec", "kind": "equivalent", "version": "16.7", "label": "16.7", "title": "在 NULLIF() 中，避免将可读写的扩展对象指针传递给数据类型的等值函数", "evidence": {"same_day": true, "patch_ids": ["463f307c6072a88e9fe3c57d976d1fb1"], "statement_hash": "1ce9d9461efb1b1413456691f856d759a865d9d7ab4b129a7e605f127ed329d1"}, "url": "/docs/compare/?release=16.7#16.7-1b29d32f9782ec60", "source_url": "/docs/release/16.7/#RELEASE-16-7-CHANGES"}, {"db_id": "3ddc9f10fd399f2a6a2ab724c0fb04ae", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "在 NULLIF() 中，避免将可读写的扩展对象指针传递给数据类型的等值函数", "evidence": {"same_day": true, "patch_ids": ["463f307c6072a88e9fe3c57d976d1fb1"], "statement_hash": "1ce9d9461efb1b1413456691f856d759a865d9d7ab4b129a7e605f127ed329d1"}, "url": "/docs/compare/?release=15.11#15.11-535c0ccee1ef4c18", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "c78d8e6e8c55b8ee156c3a9aa25ddef5", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "在 NULLIF() 中，避免将可读写的扩展对象指针传递给数据类型的等值函数", "evidence": {"same_day": true, "patch_ids": ["463f307c6072a88e9fe3c57d976d1fb1"], "statement_hash": "1ce9d9461efb1b1413456691f856d759a865d9d7ab4b129a7e605f127ed329d1"}, "url": "/docs/compare/?release=13.19#13.19-aff04126fefdb92f", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-5ed580f6f0ac7b55", "cves": [], "html": "<p>确保对 <code>INSERT</code> 中默认空值的表达式预处理被正确应用（Tom Lane）<a href=\"https://postgr.es/c/c05268e6e\">§</a></p>\n<p>如果目标列是域类型，规划器必须插入一个强制转换到域的步骤而不仅仅是一个空常量，而此表达式遗漏了一些必要的处理步骤。对于基于核心数据类型的域没有已知后果，但理论上对于基于扩展类型的域可能会出错。</p>", "text": "确保对 INSERT 中默认空值的表达式预处理被正确应用（Tom Lane）§ 如果目标列是域类型，规划器必须插入一个强制转换到域的步骤而不仅仅是一个空常量，而此表达式遗漏了一些必要的处理步骤。对于基于核心数据类型的域没有已知后果，但理论上对于基于扩展类型的域可能会出错。", "title": "确保对 INSERT 中默认空值的表达式预处理被正确应用", "commits": ["c05268e6e"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "8069412952bf3dc6b41c80fc5ac5ab8fb5c9a1ad1db58be20ed6d0be98b51edf", "section_path": ["变更"], "commit_groups": [["0da39aa76", "6655d931c", "6e41e9e5e", "bb85d0935", "c05268e6e"]], "identity_text": "Ensure that expression preprocessing is applied to a default null value in INSERT (Tom Lane) If the target column is of a domain type, the planner must insert a coerce-to-domain step not just a null constant, and this expression missed going through some required processing steps. There is no known consequence with domains based on core data types, but in theory an error could occur with domains based on extension types.", "commit_aliases": ["0da39aa76", "6655d931c", "6e41e9e5e", "bb85d0935", "c05268e6e"], "source_commits": ["c05268e6e"], "source_entry_id": "14.16/changes/032", "db_id": "e461e7ee096e6254fa7012871a9c1f40", "patch_ids": ["81912066ba5e75af1340feda03524ddb"], "statement_hash": "c981aff907b93603eaf7ded2109968ea62ca66b71894982bce348a2ddd2a1483", "relations": [{"rule": 2, "type": "equivalent", "target": "5c924d14c948271fbc38c8d281ec24e1", "evidence": {"same_day": true, "patch_ids": ["81912066ba5e75af1340feda03524ddb"], "statement_hash": "c981aff907b93603eaf7ded2109968ea62ca66b71894982bce348a2ddd2a1483"}}, {"rule": 2, "type": "equivalent", "target": "e38ec1d2b1103ec9341c5b1123335159", "evidence": {"same_day": true, "patch_ids": ["81912066ba5e75af1340feda03524ddb"], "statement_hash": "c981aff907b93603eaf7ded2109968ea62ca66b71894982bce348a2ddd2a1483"}}, {"rule": 2, "type": "equivalent", "target": "f058a89b390c55869f483a660569b0aa", "evidence": {"same_day": true, "patch_ids": ["81912066ba5e75af1340feda03524ddb"], "statement_hash": "c981aff907b93603eaf7ded2109968ea62ca66b71894982bce348a2ddd2a1483"}}], "version": "14.16", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "5c924d14c948271fbc38c8d281ec24e1", "kind": "equivalent", "version": "17.3", "label": "17.3", "title": "确保对 INSERT 中默认空值的表达式预处理被正确应用", "evidence": {"same_day": true, "patch_ids": ["81912066ba5e75af1340feda03524ddb"], "statement_hash": "c981aff907b93603eaf7ded2109968ea62ca66b71894982bce348a2ddd2a1483"}, "url": "/docs/compare/?release=17.3#17.3-7be5325298b8f565", "source_url": "/docs/release/17.3/#RELEASE-17-3-CHANGES"}, {"db_id": "f058a89b390c55869f483a660569b0aa", "kind": "equivalent", "version": "16.7", "label": "16.7", "title": "确保对 INSERT 中默认空值的表达式预处理被正确应用", "evidence": {"same_day": true, "patch_ids": ["81912066ba5e75af1340feda03524ddb"], "statement_hash": "c981aff907b93603eaf7ded2109968ea62ca66b71894982bce348a2ddd2a1483"}, "url": "/docs/compare/?release=16.7#16.7-6680b0773026d87c", "source_url": "/docs/release/16.7/#RELEASE-16-7-CHANGES"}, {"db_id": "e38ec1d2b1103ec9341c5b1123335159", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "确保对 INSERT 中默认空值的表达式预处理被正确应用", "evidence": {"same_day": true, "patch_ids": ["81912066ba5e75af1340feda03524ddb"], "statement_hash": "c981aff907b93603eaf7ded2109968ea62ca66b71894982bce348a2ddd2a1483"}, "url": "/docs/compare/?release=15.11#15.11-7e089e52061bb4f6", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}]}, {"id": "14.16-6409d189d030139a", "cves": [], "html": "<p>修复 PL/Python 中的内存泄漏（Mat Arye，Tom Lane）<a href=\"https://postgr.es/c/bcb4db0d3\">§</a></p>\n<p>重复使用 <code>PLyPlan.execute</code> 或 <code>plpy.cursor</code> 会导致在调用 PL/Python 函数的持续时间内产生内存泄漏。</p>", "text": "修复 PL/Python 中的内存泄漏（Mat Arye，Tom Lane）§ 重复使用 PLyPlan.execute 或 plpy.cursor 会导致在调用 PL/Python 函数的持续时间内产生内存泄漏。", "title": "修复 PL/Python 中的内存泄漏", "commits": ["bcb4db0d3"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "e50657c00f13dd6c4c1b7d35ccfb590808f8c94d49d7e34c5276e42ea0f204ed", "section_path": ["变更"], "commit_groups": [["02a38bc84", "29dfffae0", "33a4e656d", "71bb9c4b2", "bcb4db0d3", "e98df02df"]], "identity_text": "Repair memory leaks in PL/Python (Mat Arye, Tom Lane) Repeated use of PLyPlan.execute or plpy.cursor resulted in memory leakage for the duration of the calling PL/Python function.", "commit_aliases": ["02a38bc84", "29dfffae0", "33a4e656d", "71bb9c4b2", "bcb4db0d3", "e98df02df"], "source_commits": ["bcb4db0d3"], "source_entry_id": "14.16/changes/033", "db_id": "40ee594295ff06af236129cad1523353", "patch_ids": ["48776f36f5681a2f5b8b4ae4ea62bad6"], "statement_hash": "0ac52c87483881bcb201e81d3c320573f1d78e2e09dd98c843df7a17ccb75c38", "relations": [{"rule": 2, "type": "equivalent", "target": "2dbdc153a738761de97eba83f03bcaad", "evidence": {"same_day": true, "patch_ids": ["48776f36f5681a2f5b8b4ae4ea62bad6"], "statement_hash": "0ac52c87483881bcb201e81d3c320573f1d78e2e09dd98c843df7a17ccb75c38"}}, {"rule": 2, "type": "equivalent", "target": "63a6f8a0caa451f01402d7c1774dbf03", "evidence": {"same_day": true, "patch_ids": ["48776f36f5681a2f5b8b4ae4ea62bad6"], "statement_hash": "0ac52c87483881bcb201e81d3c320573f1d78e2e09dd98c843df7a17ccb75c38"}}, {"rule": 2, "type": "equivalent", "target": "95fa2d1a99b849d24dd66d6142633fcd", "evidence": {"same_day": true, "patch_ids": ["48776f36f5681a2f5b8b4ae4ea62bad6"], "statement_hash": "0ac52c87483881bcb201e81d3c320573f1d78e2e09dd98c843df7a17ccb75c38"}}, {"rule": 2, "type": "equivalent", "target": "a2b47930182e06363dd2a3ee4241161b", "evidence": {"same_day": true, "patch_ids": ["48776f36f5681a2f5b8b4ae4ea62bad6"], "statement_hash": "0ac52c87483881bcb201e81d3c320573f1d78e2e09dd98c843df7a17ccb75c38"}}], "version": "14.16", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "2dbdc153a738761de97eba83f03bcaad", "kind": "equivalent", "version": "17.3", "label": "17.3", "title": "修复 PL/Python 中的内存泄漏", "evidence": {"same_day": true, "patch_ids": ["48776f36f5681a2f5b8b4ae4ea62bad6"], "statement_hash": "0ac52c87483881bcb201e81d3c320573f1d78e2e09dd98c843df7a17ccb75c38"}, "url": "/docs/compare/?release=17.3#17.3-fb5e839658ad18ea", "source_url": "/docs/release/17.3/#RELEASE-17-3-CHANGES"}, {"db_id": "63a6f8a0caa451f01402d7c1774dbf03", "kind": "equivalent", "version": "16.7", "label": "16.7", "title": "修复 PL/Python 中的内存泄漏", "evidence": {"same_day": true, "patch_ids": ["48776f36f5681a2f5b8b4ae4ea62bad6"], "statement_hash": "0ac52c87483881bcb201e81d3c320573f1d78e2e09dd98c843df7a17ccb75c38"}, "url": "/docs/compare/?release=16.7#16.7-7450148e9cea4451", "source_url": "/docs/release/16.7/#RELEASE-16-7-CHANGES"}, {"db_id": "a2b47930182e06363dd2a3ee4241161b", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "修复 PL/Python 中的内存泄漏", "evidence": {"same_day": true, "patch_ids": ["48776f36f5681a2f5b8b4ae4ea62bad6"], "statement_hash": "0ac52c87483881bcb201e81d3c320573f1d78e2e09dd98c843df7a17ccb75c38"}, "url": "/docs/compare/?release=15.11#15.11-d9ea85c89498e9e9", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "95fa2d1a99b849d24dd66d6142633fcd", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "修复 PL/Python 中的内存泄漏", "evidence": {"same_day": true, "patch_ids": ["48776f36f5681a2f5b8b4ae4ea62bad6"], "statement_hash": "0ac52c87483881bcb201e81d3c320573f1d78e2e09dd98c843df7a17ccb75c38"}, "url": "/docs/compare/?release=13.19#13.19-146e3e264c684fa3", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-b84663fdc8246216", "cves": [], "html": "<p>修复 PL/Tcl 使其能在 Tcl 9 下编译（Peter Eisentraut）<a href=\"https://postgr.es/c/17d081a6f\">§</a></p>", "text": "修复 PL/Tcl 使其能在 Tcl 9 下编译（Peter Eisentraut）§", "title": "修复 PL/Tcl 使其能在 Tcl 9 下编译", "commits": ["17d081a6f"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "b7681899790958b41b242861797abf8a4a58afebd37df82361ad09ff9ef052ae", "section_path": ["变更"], "commit_groups": [["07c77803c", "17d081a6f", "32a2aa77e", "a5f9cbde9", "f230e27a2", "f979197eb"]], "identity_text": "Fix PL/Tcl to compile with Tcl 9 (Peter Eisentraut)", "commit_aliases": ["07c77803c", "17d081a6f", "32a2aa77e", "a5f9cbde9", "f230e27a2", "f979197eb"], "source_commits": ["17d081a6f"], "source_entry_id": "14.16/changes/034", "db_id": "b5e22eeed852a78978fa5b94ff645acf", "patch_ids": ["ec3541438c80f52fc50bed404695777e"], "statement_hash": "3bf0856bd07cd27e1b94839bf3ad9387face99c5bba929e356d86223f0660f24", "relations": [{"rule": 2, "type": "equivalent", "target": "0d6f80ed82ee1b2e80a6f8ca9c87a12d", "evidence": {"same_day": true, "patch_ids": ["ec3541438c80f52fc50bed404695777e"], "statement_hash": "3bf0856bd07cd27e1b94839bf3ad9387face99c5bba929e356d86223f0660f24"}}, {"rule": 2, "type": "equivalent", "target": "129c07a2f63ef2dd97017ea2d4602005", "evidence": {"same_day": true, "patch_ids": ["ec3541438c80f52fc50bed404695777e"], "statement_hash": "3bf0856bd07cd27e1b94839bf3ad9387face99c5bba929e356d86223f0660f24"}}, {"rule": 2, "type": "equivalent", "target": "43ec78dc409230e526b689e924ccab90", "evidence": {"same_day": true, "patch_ids": ["ec3541438c80f52fc50bed404695777e"], "statement_hash": "3bf0856bd07cd27e1b94839bf3ad9387face99c5bba929e356d86223f0660f24"}}, {"rule": 2, "type": "equivalent", "target": "eab1bcb0a34c2e2111bf60e2805ede38", "evidence": {"same_day": true, "patch_ids": ["ec3541438c80f52fc50bed404695777e"], "statement_hash": "3bf0856bd07cd27e1b94839bf3ad9387face99c5bba929e356d86223f0660f24"}}], "version": "14.16", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "eab1bcb0a34c2e2111bf60e2805ede38", "kind": "equivalent", "version": "17.3", "label": "17.3", "title": "修复 PL/Tcl 使其能在 Tcl 9 下编译", "evidence": {"same_day": true, "patch_ids": ["ec3541438c80f52fc50bed404695777e"], "statement_hash": "3bf0856bd07cd27e1b94839bf3ad9387face99c5bba929e356d86223f0660f24"}, "url": "/docs/compare/?release=17.3#17.3-3ed7f6c30ba4fca8", "source_url": "/docs/release/17.3/#RELEASE-17-3-CHANGES"}, {"db_id": "43ec78dc409230e526b689e924ccab90", "kind": "equivalent", "version": "16.7", "label": "16.7", "title": "修复 PL/Tcl 使其能在 Tcl 9 下编译", "evidence": {"same_day": true, "patch_ids": ["ec3541438c80f52fc50bed404695777e"], "statement_hash": "3bf0856bd07cd27e1b94839bf3ad9387face99c5bba929e356d86223f0660f24"}, "url": "/docs/compare/?release=16.7#16.7-0eaf6e78dbdc6912", "source_url": "/docs/release/16.7/#RELEASE-16-7-CHANGES"}, {"db_id": "129c07a2f63ef2dd97017ea2d4602005", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "修复 PL/Tcl 使其能在 Tcl 9 下编译", "evidence": {"same_day": true, "patch_ids": ["ec3541438c80f52fc50bed404695777e"], "statement_hash": "3bf0856bd07cd27e1b94839bf3ad9387face99c5bba929e356d86223f0660f24"}, "url": "/docs/compare/?release=15.11#15.11-3d33af5f4d4ad225", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "0d6f80ed82ee1b2e80a6f8ca9c87a12d", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "修复 PL/Tcl 使其能在 Tcl 9 下编译", "evidence": {"same_day": true, "patch_ids": ["ec3541438c80f52fc50bed404695777e"], "statement_hash": "3bf0856bd07cd27e1b94839bf3ad9387face99c5bba929e356d86223f0660f24"}, "url": "/docs/compare/?release=13.19#13.19-c88b3b083e0ea08f", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-e15053be8332fda8", "cves": [], "html": "<p>在 <span>ecpg</span> 预处理器中，修复引用超出作用域变量的游标可能被错误处理的问题（Tom Lane）<a href=\"https://postgr.es/c/52c7a44e9\">§</a></p>", "text": "在 ecpg 预处理器中，修复引用超出作用域变量的游标可能被错误处理的问题（Tom Lane）§", "title": "在 ecpg 预处理器中，修复引用超出作用域变量的游标可能被错误处理的问题", "commits": ["52c7a44e9"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "706e797cc119afcb8bc0dcf3ec4d56386d8599cbea3d08b6e4eedba701470f50", "section_path": ["变更"], "commit_groups": [["2f696453d", "52c7a44e9", "60b47525c", "a963abd54", "cca34f68c", "e359cbb84"]], "identity_text": "In the ecpg preprocessor, fix possible misprocessing of cursors that reference out-of-scope variables (Tom Lane)", "commit_aliases": ["2f696453d", "52c7a44e9", "60b47525c", "a963abd54", "cca34f68c", "e359cbb84"], "source_commits": ["52c7a44e9"], "source_entry_id": "14.16/changes/035", "db_id": "20aa43ec07c27d96fa929c253c41d044", "patch_ids": ["652db5485711a687b7406349a4c34e0e"], "statement_hash": "e0ed27912744c40aae8cb5494cb7622520121573dc0119e7c295c1e55156bc33", "relations": [{"rule": 2, "type": "equivalent", "target": "36dfe57940df538e7fb47cd7fdbd37be", "evidence": {"same_day": true, "patch_ids": ["652db5485711a687b7406349a4c34e0e"], "statement_hash": "e0ed27912744c40aae8cb5494cb7622520121573dc0119e7c295c1e55156bc33"}}, {"rule": 2, "type": "equivalent", "target": "674e320ee70fdf11884316cc30475c46", "evidence": {"same_day": true, "patch_ids": ["652db5485711a687b7406349a4c34e0e"], "statement_hash": "e0ed27912744c40aae8cb5494cb7622520121573dc0119e7c295c1e55156bc33"}}, {"rule": 2, "type": "equivalent", "target": "c4ec9fcca2f80cbbf22f2737f8f5fcb6", "evidence": {"same_day": true, "patch_ids": ["652db5485711a687b7406349a4c34e0e"], "statement_hash": "e0ed27912744c40aae8cb5494cb7622520121573dc0119e7c295c1e55156bc33"}}, {"rule": 2, "type": "equivalent", "target": "f1227cacc29d5455e9dce3398b0622d4", "evidence": {"same_day": true, "patch_ids": ["652db5485711a687b7406349a4c34e0e"], "statement_hash": "e0ed27912744c40aae8cb5494cb7622520121573dc0119e7c295c1e55156bc33"}}], "version": "14.16", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "c4ec9fcca2f80cbbf22f2737f8f5fcb6", "kind": "equivalent", "version": "17.3", "label": "17.3", "title": "在 ecpg 预处理器中，修复引用超出作用域变量的游标可能被错误处理的问题", "evidence": {"same_day": true, "patch_ids": ["652db5485711a687b7406349a4c34e0e"], "statement_hash": "e0ed27912744c40aae8cb5494cb7622520121573dc0119e7c295c1e55156bc33"}, "url": "/docs/compare/?release=17.3#17.3-dfe5a8c2c2423920", "source_url": "/docs/release/17.3/#RELEASE-17-3-CHANGES"}, {"db_id": "f1227cacc29d5455e9dce3398b0622d4", "kind": "equivalent", "version": "16.7", "label": "16.7", "title": "在 ecpg 预处理器中，修复引用超出作用域变量的游标可能被错误处理的问题", "evidence": {"same_day": true, "patch_ids": ["652db5485711a687b7406349a4c34e0e"], "statement_hash": "e0ed27912744c40aae8cb5494cb7622520121573dc0119e7c295c1e55156bc33"}, "url": "/docs/compare/?release=16.7#16.7-5309e9bb99c52b63", "source_url": "/docs/release/16.7/#RELEASE-16-7-CHANGES"}, {"db_id": "674e320ee70fdf11884316cc30475c46", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "在 ecpg 预处理器中，修复引用超出作用域变量的游标可能被错误处理的问题", "evidence": {"same_day": true, "patch_ids": ["652db5485711a687b7406349a4c34e0e"], "statement_hash": "e0ed27912744c40aae8cb5494cb7622520121573dc0119e7c295c1e55156bc33"}, "url": "/docs/compare/?release=15.11#15.11-0c6c96c4fed5dcb6", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "36dfe57940df538e7fb47cd7fdbd37be", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "在 ecpg 预处理器中，修复引用超出作用域变量的游标可能被错误处理的问题", "evidence": {"same_day": true, "patch_ids": ["652db5485711a687b7406349a4c34e0e"], "statement_hash": "e0ed27912744c40aae8cb5494cb7622520121573dc0119e7c295c1e55156bc33"}, "url": "/docs/compare/?release=13.19#13.19-96df37ab6e655d81", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-56ba6358d3159b1f", "cves": [], "html": "<p>在 <span>ecpg</span> 中，修复关于不支持使用 <code>COPY ... FROM STDIN</code> 的编译时警告（Ryo Kanbayashi）<a href=\"https://postgr.es/c/d06ab3c0c\">§</a></p>\n<p>之前，由于拼写错误，预期的警告未被发出。</p>", "text": "在 ecpg 中，修复关于不支持使用 COPY ... FROM STDIN 的编译时警告（Ryo Kanbayashi）§ 之前，由于拼写错误，预期的警告未被发出。", "title": "在 ecpg 中，修复关于不支持使用 COPY ... FROM STDIN 的编译时警告", "commits": ["d06ab3c0c"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "ca93deb096551b55252db9d451956247ee58714ff2debbde6cbc263e11543a26", "section_path": ["变更"], "commit_groups": [["226c9048d", "5c7c34db2", "71ef47cf0", "94b914f60", "ba2dbedd5", "d06ab3c0c"]], "identity_text": "In ecpg, fix compile-time warnings about unsupported use of COPY ... FROM STDIN (Ryo Kanbayashi) Previously, the intended warning was not issued due to a typo.", "commit_aliases": ["226c9048d", "5c7c34db2", "71ef47cf0", "94b914f60", "ba2dbedd5", "d06ab3c0c"], "source_commits": ["d06ab3c0c"], "source_entry_id": "14.16/changes/036", "db_id": "16348925260a3ff03e3723c9dd8c2397", "patch_ids": ["859d58d96aa40e53f1e9fef9aa3f19a9"], "statement_hash": "697f5927852e7b4fbd940f3cf6672127a6ee3d4e28a3272462181a43d4f07b0f", "relations": [{"rule": 2, "type": "equivalent", "target": "3ff78f3d2c970b520dbfb8115656b8f2", "evidence": {"same_day": true, "patch_ids": ["859d58d96aa40e53f1e9fef9aa3f19a9"], "statement_hash": "697f5927852e7b4fbd940f3cf6672127a6ee3d4e28a3272462181a43d4f07b0f"}}, {"rule": 2, "type": "equivalent", "target": "84b39b054b34211ea1d18a290c6cddf4", "evidence": {"same_day": true, "patch_ids": ["859d58d96aa40e53f1e9fef9aa3f19a9"], "statement_hash": "697f5927852e7b4fbd940f3cf6672127a6ee3d4e28a3272462181a43d4f07b0f"}}, {"rule": 2, "type": "equivalent", "target": "bb2b663ff581a3c13fc37566fef8aea2", "evidence": {"same_day": true, "patch_ids": ["859d58d96aa40e53f1e9fef9aa3f19a9"], "statement_hash": "697f5927852e7b4fbd940f3cf6672127a6ee3d4e28a3272462181a43d4f07b0f"}}, {"rule": 2, "type": "equivalent", "target": "bec199ad48fa75cf12e6e0349c6252cf", "evidence": {"same_day": true, "patch_ids": ["859d58d96aa40e53f1e9fef9aa3f19a9"], "statement_hash": "697f5927852e7b4fbd940f3cf6672127a6ee3d4e28a3272462181a43d4f07b0f"}}], "version": "14.16", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "84b39b054b34211ea1d18a290c6cddf4", "kind": "equivalent", "version": "17.3", "label": "17.3", "title": "在 ecpg 中，修复关于不支持使用 COPY ... FROM STDIN 的编译时警告", "evidence": {"same_day": true, "patch_ids": ["859d58d96aa40e53f1e9fef9aa3f19a9"], "statement_hash": "697f5927852e7b4fbd940f3cf6672127a6ee3d4e28a3272462181a43d4f07b0f"}, "url": "/docs/compare/?release=17.3#17.3-fe0d2d65c5d4aa3b", "source_url": "/docs/release/17.3/#RELEASE-17-3-CHANGES"}, {"db_id": "bec199ad48fa75cf12e6e0349c6252cf", "kind": "equivalent", "version": "16.7", "label": "16.7", "title": "在 ecpg 中，修复关于不支持使用 COPY ... FROM STDIN 的编译时警告", "evidence": {"same_day": true, "patch_ids": ["859d58d96aa40e53f1e9fef9aa3f19a9"], "statement_hash": "697f5927852e7b4fbd940f3cf6672127a6ee3d4e28a3272462181a43d4f07b0f"}, "url": "/docs/compare/?release=16.7#16.7-5ec2b4f354ab6cca", "source_url": "/docs/release/16.7/#RELEASE-16-7-CHANGES"}, {"db_id": "3ff78f3d2c970b520dbfb8115656b8f2", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "在 ecpg 中，修复关于不支持使用 COPY ... FROM STDIN 的编译时警告", "evidence": {"same_day": true, "patch_ids": ["859d58d96aa40e53f1e9fef9aa3f19a9"], "statement_hash": "697f5927852e7b4fbd940f3cf6672127a6ee3d4e28a3272462181a43d4f07b0f"}, "url": "/docs/compare/?release=15.11#15.11-18a63d75a25dde2a", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "bb2b663ff581a3c13fc37566fef8aea2", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "在 ecpg 中，修复关于不支持使用 COPY ... FROM STDIN 的编译时警告", "evidence": {"same_day": true, "patch_ids": ["859d58d96aa40e53f1e9fef9aa3f19a9"], "statement_hash": "697f5927852e7b4fbd940f3cf6672127a6ee3d4e28a3272462181a43d4f07b0f"}, "url": "/docs/compare/?release=13.19#13.19-6b7efc6e2fb6ea0b", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-428e8a150cc86cec", "cves": [], "html": "<p>修复 <span>psql</span> 以安全处理以 SJIS 编码的文件路径名（Tom Lane）<a href=\"https://postgr.es/c/54f9afea7\">§</a></p>\n<p>SJIS 中的一些双字节字符的第二个字节等于 ASCII 反斜杠（<code>\\</code>）。这些字符会被路径名规范化所损坏，导致无法访问名称中包含此类字符的文件。</p>", "text": "修复 psql 以安全处理以 SJIS 编码的文件路径名（Tom Lane）§ SJIS 中的一些双字节字符的第二个字节等于 ASCII 反斜杠（\\）。这些字符会被路径名规范化所损坏，导致无法访问名称中包含此类字符的文件。", "title": "修复 psql 以安全处理以 SJIS 编码的文件路径名", "commits": ["54f9afea7"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "98bdff9698c0a37518132afba92402f802239bc190a5c743e3c0021c11193857", "section_path": ["变更"], "commit_groups": [["0b713b94b", "54f9afea7", "6cddecdfb", "98df8bace", "998c4fc7c", "b17e3970c"]], "identity_text": "Fix psql to safely handle file path names that are encoded in SJIS (Tom Lane) Some two-byte characters in SJIS have a second byte that is equal to ASCII backslash (\\). These characters were corrupted by path name normalization, preventing access to files whose names include such characters.", "commit_aliases": ["0b713b94b", "54f9afea7", "6cddecdfb", "98df8bace", "998c4fc7c", "b17e3970c"], "source_commits": ["54f9afea7"], "source_entry_id": "14.16/changes/037", "db_id": "842b7501ba11c3730521f400fcfd5ddf", "patch_ids": ["9517a66691369d72660e3b9a64abc257"], "statement_hash": "96f79ca6fdefb59af9c1367474a5ce27e4f865d7bdf8ed84e1cc313e4bec4af6", "relations": [{"rule": 2, "type": "equivalent", "target": "109721325132c88ac5fd1bbe2930c805", "evidence": {"same_day": true, "patch_ids": ["9517a66691369d72660e3b9a64abc257"], "statement_hash": "96f79ca6fdefb59af9c1367474a5ce27e4f865d7bdf8ed84e1cc313e4bec4af6"}}, {"rule": 2, "type": "equivalent", "target": "33434d4380b2c3e8760206390faec7ad", "evidence": {"same_day": true, "patch_ids": ["9517a66691369d72660e3b9a64abc257"], "statement_hash": "96f79ca6fdefb59af9c1367474a5ce27e4f865d7bdf8ed84e1cc313e4bec4af6"}}, {"rule": 2, "type": "equivalent", "target": "7810faadbead7b69c95a3658c4d4331d", "evidence": {"same_day": true, "patch_ids": ["9517a66691369d72660e3b9a64abc257"], "statement_hash": "96f79ca6fdefb59af9c1367474a5ce27e4f865d7bdf8ed84e1cc313e4bec4af6"}}, {"rule": 2, "type": "equivalent", "target": "ea3a90c482735ddfd14ce3e358c41897", "evidence": {"same_day": true, "patch_ids": ["9517a66691369d72660e3b9a64abc257"], "statement_hash": "96f79ca6fdefb59af9c1367474a5ce27e4f865d7bdf8ed84e1cc313e4bec4af6"}}], "version": "14.16", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "ea3a90c482735ddfd14ce3e358c41897", "kind": "equivalent", "version": "17.3", "label": "17.3", "title": "修复 psql 以安全处理以 SJIS 编码的文件路径名", "evidence": {"same_day": true, "patch_ids": ["9517a66691369d72660e3b9a64abc257"], "statement_hash": "96f79ca6fdefb59af9c1367474a5ce27e4f865d7bdf8ed84e1cc313e4bec4af6"}, "url": "/docs/compare/?release=17.3#17.3-5fa35c7bbb96c75e", "source_url": "/docs/release/17.3/#RELEASE-17-3-CHANGES"}, {"db_id": "33434d4380b2c3e8760206390faec7ad", "kind": "equivalent", "version": "16.7", "label": "16.7", "title": "修复 psql 以安全处理以 SJIS 编码的文件路径名", "evidence": {"same_day": true, "patch_ids": ["9517a66691369d72660e3b9a64abc257"], "statement_hash": "96f79ca6fdefb59af9c1367474a5ce27e4f865d7bdf8ed84e1cc313e4bec4af6"}, "url": "/docs/compare/?release=16.7#16.7-00c7350e9e33d14d", "source_url": "/docs/release/16.7/#RELEASE-16-7-CHANGES"}, {"db_id": "7810faadbead7b69c95a3658c4d4331d", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "修复 psql 以安全处理以 SJIS 编码的文件路径名", "evidence": {"same_day": true, "patch_ids": ["9517a66691369d72660e3b9a64abc257"], "statement_hash": "96f79ca6fdefb59af9c1367474a5ce27e4f865d7bdf8ed84e1cc313e4bec4af6"}, "url": "/docs/compare/?release=15.11#15.11-2d591ffc6f9abc7e", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "109721325132c88ac5fd1bbe2930c805", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "修复 psql 以安全处理以 SJIS 编码的文件路径名", "evidence": {"same_day": true, "patch_ids": ["9517a66691369d72660e3b9a64abc257"], "statement_hash": "96f79ca6fdefb59af9c1367474a5ce27e4f865d7bdf8ed84e1cc313e4bec4af6"}, "url": "/docs/compare/?release=13.19#13.19-4343f6c4f860c64c", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-8226cd7d588b58cd", "cves": [], "html": "<p>修复 <span>pgbench</span> 和 <span>psql</span> 中使用错误版本的 <code>pqsignal()</code> 的问题（Fujii Masao，Tom Lane）<a href=\"https://postgr.es/c/02e69313a\">§</a></p>\n<p>此错误可能导致在 <span>pgbench</span> 中使用 <code>-T</code> 选项或在 <span>psql</span> 中使用 <code>\\watch</code> 命令时出现异常行为，原因是被中断的系统调用未能按预期恢复。</p>", "text": "修复 pgbench 和 psql 中使用错误版本的 pqsignal() 的问题（Fujii Masao，Tom Lane）§ 此错误可能导致在 pgbench 中使用 -T 选项或在 psql 中使用 \\watch 命令时出现异常行为，原因是被中断的系统调用未能按预期恢复。", "title": "修复 pgbench 和 psql 中使用错误版本的 pqsignal() 的问题", "commits": ["02e69313a"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "21a510de6d652d6fe0ea7f07ab78c9e8937cd740b7355e6ba6ad81d9640451ce", "section_path": ["变更"], "commit_groups": [["02e69313a", "9a45a89c3", "a0dfeae0d", "a3b709cf7", "b935691b8", "cfd7aadeb"]], "identity_text": "Fix use of wrong version of pqsignal() in pgbench and psql (Fujii Masao, Tom Lane) This error could lead to misbehavior when using the -T option in pgbench or the \\watch command in psql, due to interrupted system calls not being resumed as expected.", "commit_aliases": ["02e69313a", "9a45a89c3", "a0dfeae0d", "a3b709cf7", "b935691b8", "cfd7aadeb"], "source_commits": ["02e69313a"], "source_entry_id": "14.16/changes/038", "db_id": "6ae73199ecf710fe1b1ab806b847b2cc", "patch_ids": ["bc91497f29456dc385f45185bb597124"], "statement_hash": "a70296d25b79a4c2b65ff13f0ee31ff8849fe912d789f02e7ff6c74e6b24ddda", "relations": [{"rule": 2, "type": "equivalent", "target": "0f4e4fec8174c65523ec8440a8841f8d", "evidence": {"same_day": true, "patch_ids": ["bc91497f29456dc385f45185bb597124"], "statement_hash": "a70296d25b79a4c2b65ff13f0ee31ff8849fe912d789f02e7ff6c74e6b24ddda"}}, {"rule": 2, "type": "equivalent", "target": "ce1446f57fe7a5915c0ee7a58238a894", "evidence": {"same_day": true, "patch_ids": ["bc91497f29456dc385f45185bb597124"], "statement_hash": "a70296d25b79a4c2b65ff13f0ee31ff8849fe912d789f02e7ff6c74e6b24ddda"}}, {"rule": 2, "type": "equivalent", "target": "dd58715fd0a139dcaffc8b16516b0160", "evidence": {"same_day": true, "patch_ids": ["bc91497f29456dc385f45185bb597124"], "statement_hash": "a70296d25b79a4c2b65ff13f0ee31ff8849fe912d789f02e7ff6c74e6b24ddda"}}, {"rule": 2, "type": "equivalent", "target": "ecffc3228e5c043ed474418d4402821f", "evidence": {"same_day": true, "patch_ids": ["bc91497f29456dc385f45185bb597124"], "statement_hash": "a70296d25b79a4c2b65ff13f0ee31ff8849fe912d789f02e7ff6c74e6b24ddda"}}], "version": "14.16", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "0f4e4fec8174c65523ec8440a8841f8d", "kind": "equivalent", "version": "17.3", "label": "17.3", "title": "修复 pgbench 和 psql 中使用错误版本的 pqsignal() 的问题", "evidence": {"same_day": true, "patch_ids": ["bc91497f29456dc385f45185bb597124"], "statement_hash": "a70296d25b79a4c2b65ff13f0ee31ff8849fe912d789f02e7ff6c74e6b24ddda"}, "url": "/docs/compare/?release=17.3#17.3-8491cf622868433f", "source_url": "/docs/release/17.3/#RELEASE-17-3-CHANGES"}, {"db_id": "dd58715fd0a139dcaffc8b16516b0160", "kind": "equivalent", "version": "16.7", "label": "16.7", "title": "修复 pgbench 和 psql 中使用错误版本的 pqsignal() 的问题", "evidence": {"same_day": true, "patch_ids": ["bc91497f29456dc385f45185bb597124"], "statement_hash": "a70296d25b79a4c2b65ff13f0ee31ff8849fe912d789f02e7ff6c74e6b24ddda"}, "url": "/docs/compare/?release=16.7#16.7-3632feca0237d822", "source_url": "/docs/release/16.7/#RELEASE-16-7-CHANGES"}, {"db_id": "ce1446f57fe7a5915c0ee7a58238a894", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "修复 pgbench 和 psql 中使用错误版本的 pqsignal() 的问题", "evidence": {"same_day": true, "patch_ids": ["bc91497f29456dc385f45185bb597124"], "statement_hash": "a70296d25b79a4c2b65ff13f0ee31ff8849fe912d789f02e7ff6c74e6b24ddda"}, "url": "/docs/compare/?release=15.11#15.11-1d6bc5bb0371e1b9", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "ecffc3228e5c043ed474418d4402821f", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "修复 pgbench 和 psql 中使用错误版本的 pqsignal() 的问题", "evidence": {"same_day": true, "patch_ids": ["bc91497f29456dc385f45185bb597124"], "statement_hash": "a70296d25b79a4c2b65ff13f0ee31ff8849fe912d789f02e7ff6c74e6b24ddda"}, "url": "/docs/compare/?release=13.19#13.19-3083cac62e73f162", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-cc1f8be5caf27e4f", "cves": [], "html": "<p>修复 <span>pgbench</span> 中某些嵌套 <code>\\if</code> 构造的错误执行（Michail Nikolaev）<a href=\"https://postgr.es/c/2a23dbcf3\">§</a></p>\n<p>出现在为假（未执行）的 <code>\\if</code> 分支中的 <code>\\if</code> 命令被错误地当作 <code>\\elif</code> 处理。</p>", "text": "修复 pgbench 中某些嵌套 \\if 构造的错误执行（Michail Nikolaev）§ 出现在为假（未执行）的 \\if 分支中的 \\if 命令被错误地当作 \\elif 处理。", "title": "修复 pgbench 中某些嵌套 \\if 构造的错误执行", "commits": ["2a23dbcf3"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "12c4d047e753ab5a397e26d845d3de2853dce3cc1ab26fde3a14151671cd312f", "section_path": ["变更"], "commit_groups": [["076b09123", "2a23dbcf3", "530f89e64", "ec0dc2c59", "ff88db910", "ff9dc96f3"]], "identity_text": "Fix misexecution of some nested \\if constructs in pgbench (Michail Nikolaev) An \\if command appearing within a false (not-being-executed) \\if branch was incorrectly treated the same as \\elif.", "commit_aliases": ["076b09123", "2a23dbcf3", "530f89e64", "ec0dc2c59", "ff88db910", "ff9dc96f3"], "source_commits": ["2a23dbcf3"], "source_entry_id": "14.16/changes/039", "db_id": "20a67b74d3629b6b8134b336609853e8", "patch_ids": ["e2e616c848a4ea1cfc35c811c28a285d"], "statement_hash": "b1659ad3c765241501e7fdaa5432f27ca189962823b6dd72ea2e7836515fc0e3", "relations": [{"rule": 2, "type": "equivalent", "target": "0d4e6d38d2683064f9acfe9218d4803d", "evidence": {"same_day": true, "patch_ids": ["e2e616c848a4ea1cfc35c811c28a285d"], "statement_hash": "b1659ad3c765241501e7fdaa5432f27ca189962823b6dd72ea2e7836515fc0e3"}}, {"rule": 2, "type": "equivalent", "target": "4107ab8cf20b75b159d29988f9ff6aa1", "evidence": {"same_day": true, "patch_ids": ["e2e616c848a4ea1cfc35c811c28a285d"], "statement_hash": "b1659ad3c765241501e7fdaa5432f27ca189962823b6dd72ea2e7836515fc0e3"}}, {"rule": 2, "type": "equivalent", "target": "74909682211daa18dd784cf00d993edc", "evidence": {"same_day": true, "patch_ids": ["e2e616c848a4ea1cfc35c811c28a285d"], "statement_hash": "b1659ad3c765241501e7fdaa5432f27ca189962823b6dd72ea2e7836515fc0e3"}}, {"rule": 2, "type": "equivalent", "target": "784a1aa4b8ccc1a22c05f7805ddf2060", "evidence": {"same_day": true, "patch_ids": ["e2e616c848a4ea1cfc35c811c28a285d"], "statement_hash": "b1659ad3c765241501e7fdaa5432f27ca189962823b6dd72ea2e7836515fc0e3"}}], "version": "14.16", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "784a1aa4b8ccc1a22c05f7805ddf2060", "kind": "equivalent", "version": "17.3", "label": "17.3", "title": "修复 pgbench 中某些嵌套 \\if 构造的错误执行", "evidence": {"same_day": true, "patch_ids": ["e2e616c848a4ea1cfc35c811c28a285d"], "statement_hash": "b1659ad3c765241501e7fdaa5432f27ca189962823b6dd72ea2e7836515fc0e3"}, "url": "/docs/compare/?release=17.3#17.3-59fedd824c62f688", "source_url": "/docs/release/17.3/#RELEASE-17-3-CHANGES"}, {"db_id": "0d4e6d38d2683064f9acfe9218d4803d", "kind": "equivalent", "version": "16.7", "label": "16.7", "title": "修复 pgbench 中某些嵌套 \\if 构造的错误执行", "evidence": {"same_day": true, "patch_ids": ["e2e616c848a4ea1cfc35c811c28a285d"], "statement_hash": "b1659ad3c765241501e7fdaa5432f27ca189962823b6dd72ea2e7836515fc0e3"}, "url": "/docs/compare/?release=16.7#16.7-3b6d632c421a6bf9", "source_url": "/docs/release/16.7/#RELEASE-16-7-CHANGES"}, {"db_id": "4107ab8cf20b75b159d29988f9ff6aa1", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "修复 pgbench 中某些嵌套 \\if 构造的错误执行", "evidence": {"same_day": true, "patch_ids": ["e2e616c848a4ea1cfc35c811c28a285d"], "statement_hash": "b1659ad3c765241501e7fdaa5432f27ca189962823b6dd72ea2e7836515fc0e3"}, "url": "/docs/compare/?release=15.11#15.11-16df00c242274408", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "74909682211daa18dd784cf00d993edc", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "修复 pgbench 中某些嵌套 \\if 构造的错误执行", "evidence": {"same_day": true, "patch_ids": ["e2e616c848a4ea1cfc35c811c28a285d"], "statement_hash": "b1659ad3c765241501e7fdaa5432f27ca189962823b6dd72ea2e7836515fc0e3"}, "url": "/docs/compare/?release=13.19#13.19-8dd9caa1e82b26d3", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-a825ab8faa66bc93", "cves": [], "html": "<p>在 <span>pgbench</span> 中，修复表初始化期间进度消息可能显示错误的问题（Yushi Ogiwara，Tatsuo Ishii，Fujii Masao）<a href=\"https://postgr.es/c/0f13e1a78\">§</a> <a href=\"https://postgr.es/c/5addea71c\">§</a></p>", "text": "在 pgbench 中，修复表初始化期间进度消息可能显示错误的问题（Yushi Ogiwara，Tatsuo Ishii，Fujii Masao）§ §", "title": "在 pgbench 中，修复表初始化期间进度消息可能显示错误的问题", "commits": ["0f13e1a78", "5addea71c"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "e7ca120129904aacbd25b1078869cc87b77522c940ade0c757a0053ee5a05727", "section_path": ["变更"], "commit_groups": [["0f13e1a78", "1cf646957", "1e46f7351", "adb103fca", "af35fe501", "f1cb5e51f"], ["21b815f92", "499d1cf55", "5addea71c", "b6decfc1d", "e35d396ec", "fb056564e"]], "identity_text": "In pgbench, fix possible misdisplay of progress messages during table initialization (Yushi Ogiwara, Tatsuo Ishii, Fujii Masao)", "commit_aliases": ["0f13e1a78", "1cf646957", "1e46f7351", "21b815f92", "499d1cf55", "5addea71c", "adb103fca", "af35fe501", "b6decfc1d", "e35d396ec", "f1cb5e51f", "fb056564e"], "source_commits": ["0f13e1a78", "5addea71c"], "source_entry_id": "14.16/changes/040", "db_id": "4d088578b652179ddacd9d70bbb67986", "patch_ids": ["0a5560582674fb45b4e6f22746d1bef2", "e270f759bbf6626c1840935d15c5fbea"], "statement_hash": "685f8c62e53f6f81d21dd2fc16a858df233322c8a6f14aff5be0703a71d2ba76", "relations": [{"rule": 2, "type": "equivalent", "target": "519999f09977133cde405726c01a0d11", "evidence": {"same_day": true, "patch_ids": ["0a5560582674fb45b4e6f22746d1bef2", "e270f759bbf6626c1840935d15c5fbea"], "statement_hash": "685f8c62e53f6f81d21dd2fc16a858df233322c8a6f14aff5be0703a71d2ba76"}}, {"rule": 2, "type": "equivalent", "target": "54b30b07e73ec94fa147169ad6a3af52", "evidence": {"same_day": true, "patch_ids": ["0a5560582674fb45b4e6f22746d1bef2", "e270f759bbf6626c1840935d15c5fbea"], "statement_hash": "685f8c62e53f6f81d21dd2fc16a858df233322c8a6f14aff5be0703a71d2ba76"}}, {"rule": 2, "type": "equivalent", "target": "8f2041403d7330cc62885e5b2bb1b72c", "evidence": {"same_day": true, "patch_ids": ["0a5560582674fb45b4e6f22746d1bef2", "e270f759bbf6626c1840935d15c5fbea"], "statement_hash": "685f8c62e53f6f81d21dd2fc16a858df233322c8a6f14aff5be0703a71d2ba76"}}, {"rule": 2, "type": "equivalent", "target": "ae3970b18e126ca505a736ef0e883895", "evidence": {"same_day": true, "patch_ids": ["0a5560582674fb45b4e6f22746d1bef2", "e270f759bbf6626c1840935d15c5fbea"], "statement_hash": "685f8c62e53f6f81d21dd2fc16a858df233322c8a6f14aff5be0703a71d2ba76"}}], "version": "14.16", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "519999f09977133cde405726c01a0d11", "kind": "equivalent", "version": "17.3", "label": "17.3", "title": "在 pgbench 中，修复表初始化期间进度消息可能显示错误的问题", "evidence": {"same_day": true, "patch_ids": ["0a5560582674fb45b4e6f22746d1bef2", "e270f759bbf6626c1840935d15c5fbea"], "statement_hash": "685f8c62e53f6f81d21dd2fc16a858df233322c8a6f14aff5be0703a71d2ba76"}, "url": "/docs/compare/?release=17.3#17.3-f7e58e392f141f50", "source_url": "/docs/release/17.3/#RELEASE-17-3-CHANGES"}, {"db_id": "ae3970b18e126ca505a736ef0e883895", "kind": "equivalent", "version": "16.7", "label": "16.7", "title": "在 pgbench 中，修复表初始化期间进度消息可能显示错误的问题", "evidence": {"same_day": true, "patch_ids": ["0a5560582674fb45b4e6f22746d1bef2", "e270f759bbf6626c1840935d15c5fbea"], "statement_hash": "685f8c62e53f6f81d21dd2fc16a858df233322c8a6f14aff5be0703a71d2ba76"}, "url": "/docs/compare/?release=16.7#16.7-dab6dcfe958af472", "source_url": "/docs/release/16.7/#RELEASE-16-7-CHANGES"}, {"db_id": "54b30b07e73ec94fa147169ad6a3af52", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "在 pgbench 中，修复表初始化期间进度消息可能显示错误的问题", "evidence": {"same_day": true, "patch_ids": ["0a5560582674fb45b4e6f22746d1bef2", "e270f759bbf6626c1840935d15c5fbea"], "statement_hash": "685f8c62e53f6f81d21dd2fc16a858df233322c8a6f14aff5be0703a71d2ba76"}, "url": "/docs/compare/?release=15.11#15.11-d8a80d74420572fa", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "8f2041403d7330cc62885e5b2bb1b72c", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "在 pgbench 中，修复表初始化期间进度消息可能显示错误的问题", "evidence": {"same_day": true, "patch_ids": ["0a5560582674fb45b4e6f22746d1bef2", "e270f759bbf6626c1840935d15c5fbea"], "statement_hash": "685f8c62e53f6f81d21dd2fc16a858df233322c8a6f14aff5be0703a71d2ba76"}, "url": "/docs/compare/?release=13.19#13.19-531838d465c87787", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-ecd2f9229d5327aa", "cves": [], "html": "<p>增强 <span>pg_controldata</span> 对损坏的 <code>pg_control</code> 文件的健壮性（Ilyasov Ian，Anton Voloshin）<a href=\"https://postgr.es/c/f2205448b\">§</a></p>\n<p>由于 <span>pg_controldata</span> 即使在 CRC 检查失败时也会尝试打印 <code>pg_control</code> 的内容，因此必须注意不要因无效字段值而出现异常行为。此补丁修复了无效时间戳和看似为负数的 WAL 段大小触发的一些问题。</p>", "text": "增强 pg_controldata 对损坏的 pg_control 文件的健壮性（Ilyasov Ian，Anton Voloshin）§ 由于 pg_controldata 即使在 CRC 检查失败时也会尝试打印 pg_control 的内容，因此必须注意不要因无效字段值而出现异常行为。此补丁修复了无效时间戳和看似为负数的 WAL 段大小触发的一些问题。", "title": "增强 pg_controldata 对损坏的 pg_control 文件的健壮性", "commits": ["f2205448b"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "fed63957bb9977c96d0780ee32802124024188e2a3af9e680f1dc193c3a61305", "section_path": ["变更"], "commit_groups": [["1b8a9533f", "c24311c1f", "d54d5668b", "f1e0b078b", "f2205448b", "ff1975ddd"]], "identity_text": "Make pg_controldata more robust against corrupted pg_control files (Ilyasov Ian, Anton Voloshin) Since pg_controldata will attempt to print the contents of pg_control even if the CRC check fails, it must take care not to misbehave for invalid field values. This patch fixes some issues triggered by invalid timestamps and apparently-negative WAL segment sizes.", "commit_aliases": ["1b8a9533f", "c24311c1f", "d54d5668b", "f1e0b078b", "f2205448b", "ff1975ddd"], "source_commits": ["f2205448b"], "source_entry_id": "14.16/changes/041", "db_id": "e164bba916ca92553e0ed44e36a33f12", "patch_ids": ["1bae89b5650eb95064692dc583fcc18e"], "statement_hash": "f6ab6421752c68a5c411c07c9a9b583816ff1a50e468cf94f8a2ff4ca6f21181", "relations": [{"rule": 2, "type": "equivalent", "target": "2a3d461c506454b86b4d280bef51654c", "evidence": {"same_day": true, "patch_ids": ["1bae89b5650eb95064692dc583fcc18e"], "statement_hash": "f6ab6421752c68a5c411c07c9a9b583816ff1a50e468cf94f8a2ff4ca6f21181"}}, {"rule": 2, "type": "equivalent", "target": "643a982d6628e1b1ae3ed5e600d4d804", "evidence": {"same_day": true, "patch_ids": ["1bae89b5650eb95064692dc583fcc18e"], "statement_hash": "f6ab6421752c68a5c411c07c9a9b583816ff1a50e468cf94f8a2ff4ca6f21181"}}, {"rule": 2, "type": "equivalent", "target": "898f3f594e6f455e554ee24a4c384ca9", "evidence": {"same_day": true, "patch_ids": ["1bae89b5650eb95064692dc583fcc18e"], "statement_hash": "f6ab6421752c68a5c411c07c9a9b583816ff1a50e468cf94f8a2ff4ca6f21181"}}, {"rule": 2, "type": "equivalent", "target": "b76e139be0c8c30b88b298ba2dd1c06f", "evidence": {"same_day": true, "patch_ids": ["1bae89b5650eb95064692dc583fcc18e"], "statement_hash": "f6ab6421752c68a5c411c07c9a9b583816ff1a50e468cf94f8a2ff4ca6f21181"}}], "version": "14.16", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "898f3f594e6f455e554ee24a4c384ca9", "kind": "equivalent", "version": "17.3", "label": "17.3", "title": "增强 pg_controldata 对损坏的 pg_control 文件的健壮性", "evidence": {"same_day": true, "patch_ids": ["1bae89b5650eb95064692dc583fcc18e"], "statement_hash": "f6ab6421752c68a5c411c07c9a9b583816ff1a50e468cf94f8a2ff4ca6f21181"}, "url": "/docs/compare/?release=17.3#17.3-6599d51fbb604228", "source_url": "/docs/release/17.3/#RELEASE-17-3-CHANGES"}, {"db_id": "2a3d461c506454b86b4d280bef51654c", "kind": "equivalent", "version": "16.7", "label": "16.7", "title": "增强 pg_controldata 对损坏的 pg_control 文件的健壮性", "evidence": {"same_day": true, "patch_ids": ["1bae89b5650eb95064692dc583fcc18e"], "statement_hash": "f6ab6421752c68a5c411c07c9a9b583816ff1a50e468cf94f8a2ff4ca6f21181"}, "url": "/docs/compare/?release=16.7#16.7-64ff08963af3c3de", "source_url": "/docs/release/16.7/#RELEASE-16-7-CHANGES"}, {"db_id": "643a982d6628e1b1ae3ed5e600d4d804", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "增强 pg_controldata 对损坏的 pg_control 文件的健壮性", "evidence": {"same_day": true, "patch_ids": ["1bae89b5650eb95064692dc583fcc18e"], "statement_hash": "f6ab6421752c68a5c411c07c9a9b583816ff1a50e468cf94f8a2ff4ca6f21181"}, "url": "/docs/compare/?release=15.11#15.11-37d5c387e8405380", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "b76e139be0c8c30b88b298ba2dd1c06f", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "增强 pg_controldata 对损坏的 pg_control 文件的健壮性", "evidence": {"same_day": true, "patch_ids": ["1bae89b5650eb95064692dc583fcc18e"], "statement_hash": "f6ab6421752c68a5c411c07c9a9b583816ff1a50e468cf94f8a2ff4ca6f21181"}, "url": "/docs/compare/?release=13.19#13.19-22ca2f2ea9bc68e8", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-4cd4c5bf7ebc45dc", "cves": [], "html": "<p>修复 <span>pg_dump</span> 中当身份序列附加到作为扩展成员的表时可能崩溃的问题（Tom Lane）<a href=\"https://postgr.es/c/c7f3c414f\">§</a></p>", "text": "修复 pg_dump 中当身份序列附加到作为扩展成员的表时可能崩溃的问题（Tom Lane）§", "title": "修复 pg_dump 中当身份序列附加到作为扩展成员的表时可能崩溃的问题", "commits": ["c7f3c414f"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "31df43eedcb73c805fddb2d4576c05ed4c7fef462d6af9dc1894c983c8fa745e", "section_path": ["变更"], "commit_groups": [["6978129b4", "782cc1aa3", "7b8cb9cd6", "ad950ea98", "b6df2d6e5", "c7f3c414f"]], "identity_text": "Fix possible crash in pg_dump with identity sequences attached to tables that are extension members (Tom Lane)", "commit_aliases": ["6978129b4", "782cc1aa3", "7b8cb9cd6", "ad950ea98", "b6df2d6e5", "c7f3c414f"], "source_commits": ["c7f3c414f"], "source_entry_id": "14.16/changes/042", "db_id": "8d305380dee5f3d46413d953276a0dad", "patch_ids": ["b9eaf84f0baf1dfcbda334cf6921c7c2"], "statement_hash": "dc91f6a071dd8a9fa613462ac52d080a59f42dd4940b888412cfb27b4262447e", "relations": [{"rule": 2, "type": "equivalent", "target": "477e86c272f9e2c3dbeca3e4c5fcc955", "evidence": {"same_day": true, "patch_ids": ["b9eaf84f0baf1dfcbda334cf6921c7c2"], "statement_hash": "dc91f6a071dd8a9fa613462ac52d080a59f42dd4940b888412cfb27b4262447e"}}, {"rule": 2, "type": "equivalent", "target": "7f23a5667f7e389c5f499ce86c38be10", "evidence": {"same_day": true, "patch_ids": ["b9eaf84f0baf1dfcbda334cf6921c7c2"], "statement_hash": "dc91f6a071dd8a9fa613462ac52d080a59f42dd4940b888412cfb27b4262447e"}}, {"rule": 2, "type": "equivalent", "target": "c0991c19a95931f5a1fb7aff94c40366", "evidence": {"same_day": true, "patch_ids": ["b9eaf84f0baf1dfcbda334cf6921c7c2"], "statement_hash": "dc91f6a071dd8a9fa613462ac52d080a59f42dd4940b888412cfb27b4262447e"}}, {"rule": 2, "type": "equivalent", "target": "fac028cab5754384359540890bb37419", "evidence": {"same_day": true, "patch_ids": ["b9eaf84f0baf1dfcbda334cf6921c7c2"], "statement_hash": "dc91f6a071dd8a9fa613462ac52d080a59f42dd4940b888412cfb27b4262447e"}}], "version": "14.16", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "7f23a5667f7e389c5f499ce86c38be10", "kind": "equivalent", "version": "17.3", "label": "17.3", "title": "修复 pg_dump 中当身份序列附加到作为扩展成员的表时可能崩溃的问题", "evidence": {"same_day": true, "patch_ids": ["b9eaf84f0baf1dfcbda334cf6921c7c2"], "statement_hash": "dc91f6a071dd8a9fa613462ac52d080a59f42dd4940b888412cfb27b4262447e"}, "url": "/docs/compare/?release=17.3#17.3-11aed5731d7ba38d", "source_url": "/docs/release/17.3/#RELEASE-17-3-CHANGES"}, {"db_id": "c0991c19a95931f5a1fb7aff94c40366", "kind": "equivalent", "version": "16.7", "label": "16.7", "title": "修复 pg_dump 中当身份序列附加到作为扩展成员的表时可能崩溃的问题", "evidence": {"same_day": true, "patch_ids": ["b9eaf84f0baf1dfcbda334cf6921c7c2"], "statement_hash": "dc91f6a071dd8a9fa613462ac52d080a59f42dd4940b888412cfb27b4262447e"}, "url": "/docs/compare/?release=16.7#16.7-b1ae83939398a4a5", "source_url": "/docs/release/16.7/#RELEASE-16-7-CHANGES"}, {"db_id": "477e86c272f9e2c3dbeca3e4c5fcc955", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "修复 pg_dump 中当身份序列附加到作为扩展成员的表时可能崩溃的问题", "evidence": {"same_day": true, "patch_ids": ["b9eaf84f0baf1dfcbda334cf6921c7c2"], "statement_hash": "dc91f6a071dd8a9fa613462ac52d080a59f42dd4940b888412cfb27b4262447e"}, "url": "/docs/compare/?release=15.11#15.11-335b0c9dfbab5ea3", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "fac028cab5754384359540890bb37419", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "修复 pg_dump 中当身份序列附加到作为扩展成员的表时可能崩溃的问题", "evidence": {"same_day": true, "patch_ids": ["b9eaf84f0baf1dfcbda334cf6921c7c2"], "statement_hash": "dc91f6a071dd8a9fa613462ac52d080a59f42dd4940b888412cfb27b4262447e"}, "url": "/docs/compare/?release=13.19#13.19-5c1a4b77b70a416c", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-6354e6bdb73b219e", "cves": [], "html": "<p>修复 <span>pg_basebackup</span> 以正确处理 Windows 上超过 2GB 的 <code>pg_wal.tar</code> 文件（Davinder Singh，Thomas Munro）<a href=\"https://postgr.es/c/8f40d4612\">§</a> <a href=\"https://postgr.es/c/1636c5e56\">§</a></p>", "text": "修复 pg_basebackup 以正确处理 Windows 上超过 2GB 的 pg_wal.tar 文件（Davinder Singh，Thomas Munro）§ §", "title": "修复 pg_basebackup 以正确处理 Windows 上超过 2GB 的 pg_wal.tar 文件", "commits": ["1636c5e56", "8f40d4612"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "8264f616ff1ab379e0630ec758ee62731450ea5625919dadcd41cb288a6f73d6", "section_path": ["变更"], "commit_groups": [["026762dae", "0bff6f1da", "1636c5e56", "70a7a3761", "af109e339", "d02486cc8"], ["6b6901a26", "8f40d4612", "970b97eeb", "bd0564f61", "be7489662", "faee3185a"]], "identity_text": "Fix pg_basebackup to correctly handle pg_wal.tar files exceeding 2GB on Windows (Davinder Singh, Thomas Munro)", "commit_aliases": ["026762dae", "0bff6f1da", "1636c5e56", "6b6901a26", "70a7a3761", "8f40d4612", "970b97eeb", "af109e339", "bd0564f61", "be7489662", "d02486cc8", "faee3185a"], "source_commits": ["1636c5e56", "8f40d4612"], "source_entry_id": "14.16/changes/043", "db_id": "c01194e19dfa9b53415a3468b267f726", "patch_ids": ["1aa624d548f5696f660f50624f280fed", "b344e8330e2a4afdbb26de91a8a6101c"], "statement_hash": "4a9fade81f354c12ae86f32bcdd4c49621bf0f3a89cd1cf4cc2e340af6c7bf7c", "relations": [{"rule": 2, "type": "equivalent", "target": "3c9746e780599ec0271a57355f843878", "evidence": {"same_day": true, "patch_ids": ["1aa624d548f5696f660f50624f280fed", "b344e8330e2a4afdbb26de91a8a6101c"], "statement_hash": "4a9fade81f354c12ae86f32bcdd4c49621bf0f3a89cd1cf4cc2e340af6c7bf7c"}}, {"rule": 2, "type": "equivalent", "target": "7cb0ac21fc793949c94d0ea29ff543ec", "evidence": {"same_day": true, "patch_ids": ["1aa624d548f5696f660f50624f280fed", "b344e8330e2a4afdbb26de91a8a6101c"], "statement_hash": "4a9fade81f354c12ae86f32bcdd4c49621bf0f3a89cd1cf4cc2e340af6c7bf7c"}}, {"rule": 2, "type": "equivalent", "target": "9065afe86815ba73cb894a36fa754948", "evidence": {"same_day": true, "patch_ids": ["1aa624d548f5696f660f50624f280fed", "b344e8330e2a4afdbb26de91a8a6101c"], "statement_hash": "4a9fade81f354c12ae86f32bcdd4c49621bf0f3a89cd1cf4cc2e340af6c7bf7c"}}, {"rule": 2, "type": "equivalent", "target": "fe927e15eaa9848ec160fe7b519260f9", "evidence": {"same_day": true, "patch_ids": ["1aa624d548f5696f660f50624f280fed", "b344e8330e2a4afdbb26de91a8a6101c"], "statement_hash": "4a9fade81f354c12ae86f32bcdd4c49621bf0f3a89cd1cf4cc2e340af6c7bf7c"}}], "version": "14.16", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "9065afe86815ba73cb894a36fa754948", "kind": "equivalent", "version": "17.3", "label": "17.3", "title": "修复 pg_basebackup 以正确处理 Windows 上超过 2GB 的 pg_wal.tar 文件", "evidence": {"same_day": true, "patch_ids": ["1aa624d548f5696f660f50624f280fed", "b344e8330e2a4afdbb26de91a8a6101c"], "statement_hash": "4a9fade81f354c12ae86f32bcdd4c49621bf0f3a89cd1cf4cc2e340af6c7bf7c"}, "url": "/docs/compare/?release=17.3#17.3-b502208598d05e25", "source_url": "/docs/release/17.3/#RELEASE-17-3-CHANGES"}, {"db_id": "3c9746e780599ec0271a57355f843878", "kind": "equivalent", "version": "16.7", "label": "16.7", "title": "修复 pg_basebackup 以正确处理 Windows 上超过 2GB 的 pg_wal.tar 文件", "evidence": {"same_day": true, "patch_ids": ["1aa624d548f5696f660f50624f280fed", "b344e8330e2a4afdbb26de91a8a6101c"], "statement_hash": "4a9fade81f354c12ae86f32bcdd4c49621bf0f3a89cd1cf4cc2e340af6c7bf7c"}, "url": "/docs/compare/?release=16.7#16.7-27d6b77578650b92", "source_url": "/docs/release/16.7/#RELEASE-16-7-CHANGES"}, {"db_id": "7cb0ac21fc793949c94d0ea29ff543ec", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "修复 pg_basebackup 以正确处理 Windows 上超过 2GB 的 pg_wal.tar 文件", "evidence": {"same_day": true, "patch_ids": ["1aa624d548f5696f660f50624f280fed", "b344e8330e2a4afdbb26de91a8a6101c"], "statement_hash": "4a9fade81f354c12ae86f32bcdd4c49621bf0f3a89cd1cf4cc2e340af6c7bf7c"}, "url": "/docs/compare/?release=15.11#15.11-5477d8c99498bcdd", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "fe927e15eaa9848ec160fe7b519260f9", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "修复 pg_basebackup 以正确处理 Windows 上超过 2GB 的 pg_wal.tar 文件", "evidence": {"same_day": true, "patch_ids": ["1aa624d548f5696f660f50624f280fed", "b344e8330e2a4afdbb26de91a8a6101c"], "statement_hash": "4a9fade81f354c12ae86f32bcdd4c49621bf0f3a89cd1cf4cc2e340af6c7bf7c"}, "url": "/docs/compare/?release=13.19#13.19-a52c2a6e2bc6ac9f", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-5a49e77b3158c578", "cves": [], "html": "<p>更新确定访问 ARM CRC 指令所需编译器开关的配置探测（Tom Lane）<a href=\"https://postgr.es/c/2fc0199a5\">§</a></p>\n<p>在基线 CPU 目标缺少 CRC 指令的 ARM 平台上，我们需要提供 <code>-march</code> 开关来说服编译器编译此类指令。较新版本的 gcc 会拒绝我们尝试使用的值，导致静默回退到软件 CRC。</p>", "text": "更新确定访问 ARM CRC 指令所需编译器开关的配置探测（Tom Lane）§ 在基线 CPU 目标缺少 CRC 指令的 ARM 平台上，我们需要提供 -march 开关来说服编译器编译此类指令。较新版本的 gcc 会拒绝我们尝试使用的值，导致静默回退到软件 CRC。", "title": "更新确定访问 ARM CRC 指令所需编译器开关的配置探测", "commits": ["2fc0199a5"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "898547b747a06e8a24802d96b5c72e3ac12d68d2831dab64ada9d6f09f70fe1f", "section_path": ["变更"], "commit_groups": [["1f4aadec4", "2fc0199a5", "32057a0f7", "5980f1884", "851c6ff18", "e266a0ed6"]], "identity_text": "Update configuration probes that determine the compiler switches needed to access ARM CRC instructions (Tom Lane) On ARM platforms where the baseline CPU target lacks CRC instructions, we need to supply a -march switch to persuade the compiler to compile such instructions. Recent versions of gcc reject the value we were trying, leading to silently falling back to software CRC.", "commit_aliases": ["1f4aadec4", "2fc0199a5", "32057a0f7", "5980f1884", "851c6ff18", "e266a0ed6"], "source_commits": ["2fc0199a5"], "source_entry_id": "14.16/changes/044", "db_id": "efde16b479de96d5468b6417828e333f", "patch_ids": ["b55e71b4ca2319e1ba5cf9905dcc1247"], "statement_hash": "ca52ff95e34b5e2345a30c54af023ca9068c6a3b44cd6223e7f20d8a8b2982ff", "relations": [{"rule": 2, "type": "equivalent", "target": "013804caf7d663365e5b1791e27a1165", "evidence": {"same_day": true, "patch_ids": ["b55e71b4ca2319e1ba5cf9905dcc1247"], "statement_hash": "ca52ff95e34b5e2345a30c54af023ca9068c6a3b44cd6223e7f20d8a8b2982ff"}}, {"rule": 2, "type": "equivalent", "target": "066d2cfb2d4a8a019169ec8382d70405", "evidence": {"same_day": true, "patch_ids": ["b55e71b4ca2319e1ba5cf9905dcc1247"], "statement_hash": "ca52ff95e34b5e2345a30c54af023ca9068c6a3b44cd6223e7f20d8a8b2982ff"}}, {"rule": 2, "type": "equivalent", "target": "7c8a25ae045c947ceb8481059eedcad6", "evidence": {"same_day": true, "patch_ids": ["b55e71b4ca2319e1ba5cf9905dcc1247"], "statement_hash": "ca52ff95e34b5e2345a30c54af023ca9068c6a3b44cd6223e7f20d8a8b2982ff"}}, {"rule": 2, "type": "equivalent", "target": "8d052bbfa78af5a4ff3ef6a2acbfea22", "evidence": {"same_day": true, "patch_ids": ["b55e71b4ca2319e1ba5cf9905dcc1247"], "statement_hash": "ca52ff95e34b5e2345a30c54af023ca9068c6a3b44cd6223e7f20d8a8b2982ff"}}], "version": "14.16", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "7c8a25ae045c947ceb8481059eedcad6", "kind": "equivalent", "version": "17.3", "label": "17.3", "title": "更新确定访问 ARM CRC 指令所需编译器开关的配置探测", "evidence": {"same_day": true, "patch_ids": ["b55e71b4ca2319e1ba5cf9905dcc1247"], "statement_hash": "ca52ff95e34b5e2345a30c54af023ca9068c6a3b44cd6223e7f20d8a8b2982ff"}, "url": "/docs/compare/?release=17.3#17.3-8a671992c235df32", "source_url": "/docs/release/17.3/#RELEASE-17-3-CHANGES"}, {"db_id": "013804caf7d663365e5b1791e27a1165", "kind": "equivalent", "version": "16.7", "label": "16.7", "title": "更新确定访问 ARM CRC 指令所需编译器开关的配置探测", "evidence": {"same_day": true, "patch_ids": ["b55e71b4ca2319e1ba5cf9905dcc1247"], "statement_hash": "ca52ff95e34b5e2345a30c54af023ca9068c6a3b44cd6223e7f20d8a8b2982ff"}, "url": "/docs/compare/?release=16.7#16.7-349b1c6e3082782f", "source_url": "/docs/release/16.7/#RELEASE-16-7-CHANGES"}, {"db_id": "8d052bbfa78af5a4ff3ef6a2acbfea22", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "更新确定访问 ARM CRC 指令所需编译器开关的配置探测", "evidence": {"same_day": true, "patch_ids": ["b55e71b4ca2319e1ba5cf9905dcc1247"], "statement_hash": "ca52ff95e34b5e2345a30c54af023ca9068c6a3b44cd6223e7f20d8a8b2982ff"}, "url": "/docs/compare/?release=15.11#15.11-821b3e259435043c", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "066d2cfb2d4a8a019169ec8382d70405", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "更新确定访问 ARM CRC 指令所需编译器开关的配置探测", "evidence": {"same_day": true, "patch_ids": ["b55e71b4ca2319e1ba5cf9905dcc1247"], "statement_hash": "ca52ff95e34b5e2345a30c54af023ca9068c6a3b44cd6223e7f20d8a8b2982ff"}, "url": "/docs/compare/?release=13.19#13.19-c358a0bafc40fb0c", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-be8b6d2b34295c66", "cves": [], "html": "<p>在 <span>configure</span> 期间，如果检测到 C23 编译器，尝试请求 C17（Thomas Munro）<a href=\"https://postgr.es/c/f00c401c6\">§</a></p>\n<p>v16 之前的 <span>PostgreSQL</span> 版本无法在 C23 规则下编译。如果所选编译器默认为 C23 或更高版本，尝试添加 <code>-std=gnu17</code> 开关来更改。（如果这对你的编译器不起作用，请手动指定带有合适开关的 <code>CFLAGS</code>。）</p>", "text": "在 configure 期间，如果检测到 C23 编译器，尝试请求 C17（Thomas Munro）§ v16 之前的 PostgreSQL 版本无法在 C23 规则下编译。如果所选编译器默认为 C23 或更高版本，尝试添加 -std=gnu17 开关来更改。（如果这对你的编译器不起作用，请手动指定带有合适开关的 CFLAGS。）", "title": "在 configure 期间，如果检测到 C23 编译器，尝试请求 C17", "commits": ["f00c401c6"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "06f370da4e613fcff8187c93655eeb84c52e056893db7f0cdcccedc0a7fae06a", "section_path": ["变更"], "commit_groups": [["0c7171b32", "102be6634", "170e41603", "1fd57e5bb", "3f302f0ed", "59ea17c43", "5b40ce749", "70cf253d1", "b1b8b8e6f", "f00c401c6", "f4e8f137b"]], "identity_text": "During configure, if a C23 compiler is detected, try asking for C17 (Thomas Munro) PostgreSQL versions before v16 will not compile under C23 rules. If the chosen compiler defaults to C23 or later, try adding a -std=gnu17 switch to change that. (If this won't work for your compiler, manually specify CFLAGS with a suitable switch.)", "commit_aliases": ["0c7171b32", "102be6634", "170e41603", "1fd57e5bb", "3f302f0ed", "59ea17c43", "5b40ce749", "70cf253d1", "b1b8b8e6f", "f00c401c6", "f4e8f137b"], "source_commits": ["1fd57e5bb"], "source_entry_id": "14.16/changes/045", "db_id": "b0a07f1b82adb6637f48294df8ee2f98", "patch_ids": ["11216624e48ca011f1777006bf85513b"], "statement_hash": "881a9c66812cd1c62a91e5291155729d0fa0335828c312ff7c483b086e206aac", "relations": [{"rule": 2, "type": "equivalent", "target": "68179ebcda26504ff6ac9d920d7ff316", "evidence": {"same_day": true, "patch_ids": ["11216624e48ca011f1777006bf85513b"], "statement_hash": "881a9c66812cd1c62a91e5291155729d0fa0335828c312ff7c483b086e206aac"}}, {"rule": 2, "type": "equivalent", "target": "ebf29115f6b02f19680a194e91714622", "evidence": {"same_day": true, "patch_ids": ["11216624e48ca011f1777006bf85513b"], "statement_hash": "881a9c66812cd1c62a91e5291155729d0fa0335828c312ff7c483b086e206aac"}}], "version": "14.16", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "ebf29115f6b02f19680a194e91714622", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "在 configure 期间，如果检测到 C23 编译器，尝试请求 C17", "evidence": {"same_day": true, "patch_ids": ["11216624e48ca011f1777006bf85513b"], "statement_hash": "881a9c66812cd1c62a91e5291155729d0fa0335828c312ff7c483b086e206aac"}, "url": "/docs/compare/?release=15.11#15.11-be8b6d2b34295c66", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "68179ebcda26504ff6ac9d920d7ff316", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "在 configure 期间，如果检测到 C23 编译器，尝试请求 C17", "evidence": {"same_day": true, "patch_ids": ["11216624e48ca011f1777006bf85513b"], "statement_hash": "881a9c66812cd1c62a91e5291155729d0fa0335828c312ff7c483b086e206aac"}, "url": "/docs/compare/?release=13.19#13.19-baa9d3883c0f20a0", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}, {"id": "14.16-6c536e8b80eb9696", "cves": [], "html": "<p>更新时区数据文件至 <span>tzdata</span> 2025a 版本，包含巴拉圭的夏令时法律变更以及菲律宾的历史修正（Tom Lane）<a href=\"https://postgr.es/c/20b4819d0\">§</a></p>", "text": "更新时区数据文件至 tzdata 2025a 版本，包含巴拉圭的夏令时法律变更以及菲律宾的历史修正（Tom Lane）§", "title": "更新时区数据文件至 tzdata 2025a 版本，包含巴拉圭的夏令时法律变更以及菲律宾的历史修正", "commits": ["20b4819d0"], "section": "变更", "category": "improvement", "source_url": "/docs/release/14.16/#ZH-AUTO-RELEASE-14-SECT2-14", "source_hash": "81621ab2189c6514e24e09955cf38874dd44f094d44251100c1b51d5a558ed1a", "section_path": ["变更"], "commit_groups": [["20b4819d0", "48bc95d0d", "60c513f8f", "6397819c8", "d62403c51", "e292ba333"]], "identity_text": "Update time zone data files to tzdata release 2025a for DST law changes in Paraguay, plus historical corrections for the Philippines (Tom Lane)", "commit_aliases": ["20b4819d0", "48bc95d0d", "60c513f8f", "6397819c8", "d62403c51", "e292ba333"], "source_commits": ["20b4819d0"], "source_entry_id": "14.16/changes/046", "db_id": "f6f570a8d6d74874c021872f79b537b9", "patch_ids": ["b96e4bf70e6c7d6fc7f41c80dad551de"], "statement_hash": "5346ed21e02631d4697c45a0336cf64356b252cb09dfea4366d7c5b3f02cc25b", "relations": [{"rule": 2, "type": "equivalent", "target": "142b6f5b8f5412088d8a118b9747bbd1", "evidence": {"same_day": true, "patch_ids": ["b96e4bf70e6c7d6fc7f41c80dad551de"], "statement_hash": "5346ed21e02631d4697c45a0336cf64356b252cb09dfea4366d7c5b3f02cc25b"}}, {"rule": 2, "type": "equivalent", "target": "96dcfa4106a9d8c891112ee991959a59", "evidence": {"same_day": true, "patch_ids": ["b96e4bf70e6c7d6fc7f41c80dad551de"], "statement_hash": "5346ed21e02631d4697c45a0336cf64356b252cb09dfea4366d7c5b3f02cc25b"}}, {"rule": 2, "type": "equivalent", "target": "b2eef5973920bcf8f3be6ddb2e79db35", "evidence": {"same_day": true, "patch_ids": ["b96e4bf70e6c7d6fc7f41c80dad551de"], "statement_hash": "5346ed21e02631d4697c45a0336cf64356b252cb09dfea4366d7c5b3f02cc25b"}}, {"rule": 2, "type": "equivalent", "target": "c7a079298874b849c2e215248946734d", "evidence": {"same_day": true, "patch_ids": ["b96e4bf70e6c7d6fc7f41c80dad551de"], "statement_hash": "5346ed21e02631d4697c45a0336cf64356b252cb09dfea4366d7c5b3f02cc25b"}}], "version": "14.16", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "142b6f5b8f5412088d8a118b9747bbd1", "kind": "equivalent", "version": "17.3", "label": "17.3", "title": "更新时区数据文件至 tzdata 2025a 版本，包含巴拉圭的夏令时法律变更以及菲律宾的历史修正", "evidence": {"same_day": true, "patch_ids": ["b96e4bf70e6c7d6fc7f41c80dad551de"], "statement_hash": "5346ed21e02631d4697c45a0336cf64356b252cb09dfea4366d7c5b3f02cc25b"}, "url": "/docs/compare/?release=17.3#17.3-bf7d1c9ccfa2521e", "source_url": "/docs/release/17.3/#RELEASE-17-3-CHANGES"}, {"db_id": "96dcfa4106a9d8c891112ee991959a59", "kind": "equivalent", "version": "16.7", "label": "16.7", "title": "更新时区数据文件至 tzdata 2025a 版本，包含巴拉圭的夏令时法律变更以及菲律宾的历史修正", "evidence": {"same_day": true, "patch_ids": ["b96e4bf70e6c7d6fc7f41c80dad551de"], "statement_hash": "5346ed21e02631d4697c45a0336cf64356b252cb09dfea4366d7c5b3f02cc25b"}, "url": "/docs/compare/?release=16.7#16.7-3c5219a3c087cbf0", "source_url": "/docs/release/16.7/#RELEASE-16-7-CHANGES"}, {"db_id": "c7a079298874b849c2e215248946734d", "kind": "equivalent", "version": "15.11", "label": "15.11", "title": "更新时区数据文件至 tzdata 2025a 版本，包含巴拉圭的夏令时法律变更以及菲律宾的历史修正", "evidence": {"same_day": true, "patch_ids": ["b96e4bf70e6c7d6fc7f41c80dad551de"], "statement_hash": "5346ed21e02631d4697c45a0336cf64356b252cb09dfea4366d7c5b3f02cc25b"}, "url": "/docs/compare/?release=15.11#15.11-3a998d6879710842", "source_url": "/docs/release/15.11/#ZH-AUTO-RELEASE-15-SECT2-14"}, {"db_id": "b2eef5973920bcf8f3be6ddb2e79db35", "kind": "equivalent", "version": "13.19", "label": "13.19", "title": "更新时区数据文件至 tzdata 2025a 版本，包含巴拉圭的夏令时法律变更以及菲律宾的历史修正", "evidence": {"same_day": true, "patch_ids": ["b96e4bf70e6c7d6fc7f41c80dad551de"], "statement_hash": "5346ed21e02631d4697c45a0336cf64356b252cb09dfea4366d7c5b3f02cc25b"}, "url": "/docs/compare/?release=13.19#13.19-e9856e484813a85d", "source_url": "/docs/release/13.19/#id-1.11.6.10.6"}]}]}], "stats": [{"key": "all", "label": "全部变更", "count": 46}, {"key": "feature", "label": "新功能", "count": 0}, {"key": "bugfix", "label": "BUG 修复", "count": 26}, {"key": "security", "label": "安全相关", "count": 1}, {"key": "performance", "label": "性能改进", "count": 1}, {"key": "compatibility", "label": "兼容性变化", "count": 0}, {"key": "improvement", "label": "其他改进", "count": 18}], "total": 46, "release_count": 1, "cross_major": false, "cve_count": 1, "cves": [{"id": "CVE-2025-1094", "url": "https://www.postgresql.org/support/security/CVE-2025-1094/", "fixed": {"13": "13.19", "14": "14.16", "15": "15.11", "16": "16.7", "17": "17.3"}, "score": 8.1, "title": "加强 PQescapeString 及相关函数对无效编码输入字符串的防护", "vector": "AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H", "cna_url": "https://cveawg.mitre.org/api/cve/CVE-2025-1094", "affected": {"13": "13", "14": "14", "15": "15", "16": "16", "17": "17"}, "component": "core server", "published": {"13": "2025-02-13", "14": "2025-02-13", "15": "2025-02-13", "16": "2025-02-13", "17": "2025-02-13"}, "introduced": {}, "cvss_version": "3.0", "description_en": "Improper neutralization of quoting syntax in PostgreSQL libpq functions PQescapeLiteral(), PQescapeIdentifier(), PQescapeString(), and PQescapeStringConn() allows a database input provider to achieve SQL injection in certain usage patterns. Specifically, SQL injection requires the application to use the function result to construct input to psql, the PostgreSQL interactive terminal. Similarly, improper neutralization of quoting syntax in PostgreSQL command line utility programs allows a source of command line arguments to achieve SQL injection when client_encoding is BIG5 and server_encoding is one of EUC_TW or MULE_INTERNAL. Versions before PostgreSQL 17.3, 16.7, 15.11, 14.16, and 13.19 are affected.", "affected_ranges": [{"from": "0", "until": "13.19"}, {"from": "14", "until": "14.16"}, {"from": "15", "until": "15.11"}, {"from": "16", "until": "16.7"}, {"from": "17", "until": "17.3"}], "first_published": "2025-02-13", "fixed_version": "14.16"}], "cve_available": true, "remaining_cves": [], "security_regressions": [], "warnings": [], "candidate_count": 46, "already_in_source_count": 0, "duplicate_count": 0, "excluded_count": 0, "exclusions": [], "source_as_of": "2026-09-26", "security_as_of": "2026-09-26"}