{"format": 1, "mode": "release", "from_release": null, "to_release": {"date": "2022-11-10", "build": "12.13", "major": "12", "minor": 13, "manual": "12", "status": "stable", "doc_git": "", "version": "12.13", "eol_date": "2024-11-21", "date_text": "2022-11-10", "supported": false, "manual_url": "/docs/12/release-12-13.html", "source_url": "/docs/release/12.13/", "entry_count": 38, "placeholder": false, "content_hash": "3c6a8ece9f1e92a92fccc53545bdab7632b98d87313df74788e450ea9737ec6c", "manual_build": "12.22", "source_as_of": "", "changes_count": 38, "doc_loaded_at": "2026-09-26T02:56:41.471523", "migration_html": "<p>对于运行 12.X 的用户，不需要执行导出/恢复。</p>\n<p>但是，如果是从早于 12.10 的版本升级，请参见<a href=\"/docs/12/release-12-10.html\" title=\"E.13. 发布版本 12.10\">第 E.13 节</a>。</p>", "compatibility_count": 0, "label": "12.13", "status_label": "历史版本", "eol": "2024-11-21", "age_days": 1420, "support_days": -678}, "groups": [{"date": "2022-11-10", "build": "12.13", "major": "12", "minor": 13, "manual": "12", "status": "stable", "doc_git": "", "version": "12.13", "eol_date": "2024-11-21", "date_text": "2022-11-10", "supported": false, "manual_url": "/docs/12/release-12-13.html", "source_url": "/docs/release/12.13/", "entry_count": 38, "placeholder": false, "content_hash": "3c6a8ece9f1e92a92fccc53545bdab7632b98d87313df74788e450ea9737ec6c", "manual_build": "12.22", "source_as_of": "", "changes_count": 38, "doc_loaded_at": "2026-09-26T02:56:41.471523", "migration_html": "<p>对于运行 12.X 的用户，不需要执行导出/恢复。</p>\n<p>但是，如果是从早于 12.10 的版本升级，请参见<a href=\"/docs/12/release-12-10.html\" title=\"E.13. 发布版本 12.10\">第 E.13 节</a>。</p>", "compatibility_count": 0, "label": "12.13", "status_label": "历史版本", "eol": "2024-11-21", "age_days": 1420, "support_days": -678, "entries": [{"id": "12.13-c0cdfd7c1a20d088", "cves": [], "html": "<p>避免在与 <code>VACUUM</code> 并发执行更新时出现罕见的 PANIC（Tom Lane，Jeff Davis）<a href=\"https://postgr.es/c/e7bd2d671\">§</a> <a href=\"https://postgr.es/c/cab72f0fd\">§</a></p>\n<p>如果并发的 <code>VACUUM</code> 在 <code>UPDATE</code> 或 <code>DELETE</code> 正在修改的页面上设置了 all-visible 标志位，更新命令需要再次清除该位；但某些代码路径未能做到这一点，最终导致 PANIC 退出和数据库重启。</p>\n<p>已知此问题在版本 14 和 15 中是可能发生的。在之前的分支中可能只是潜在的。</p>", "text": "避免在与 VACUUM 并发执行更新时出现罕见的 PANIC（Tom Lane，Jeff Davis）§ § 如果并发的 VACUUM 在 UPDATE 或 DELETE 正在修改的页面上设置了 all-visible 标志位，更新命令需要再次清除该位；但某些代码路径未能做到这一点，最终导致 PANIC 退出和数据库重启。 已知此问题在版本 14 和 15 中是可能发生的。在之前的分支中可能只是潜在的。", "title": "避免在与 VACUUM 并发执行更新时出现罕见的 PANIC", "commits": ["cab72f0fd", "e7bd2d671"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.13/#id-1.11.6.15.5", "source_hash": "242d734162e3052fcbdbb4b2255c3ebe5fe4a38133a06b4483738e04a9790d85", "section_path": ["变更"], "commit_groups": [["163b0993a", "21934612d", "410c422b7", "cab72f0fd", "dd6070bc8"], ["2267085c1", "2dc2e4e31", "92941f264", "b93d7e688", "e7bd2d671"]], "identity_text": "Avoid rare PANIC during updates occurring concurrently with VACUUM (Tom Lane, Jeff Davis) If a concurrent VACUUM sets the all-visible flag bit in a page that UPDATE or DELETE is in process of modifying, the updating command needs to clear that bit again; but some code paths failed to do so, ending in a PANIC exit and database restart. This is known to be possible in versions 14 and 15. It may be only latent in previous branches.", "commit_aliases": ["163b0993a", "21934612d", "2267085c1", "2dc2e4e31", "410c422b7", "92941f264", "b93d7e688", "cab72f0fd", "dd6070bc8", "e7bd2d671"], "source_commits": ["cab72f0fd", "e7bd2d671"], "source_entry_id": "12.13/changes/001", "db_id": "4aab9629039cc628187537e078eaa425", "patch_ids": ["2543daf6cfa36b689d3cc23b602b49bb", "da8b7715467b72891497535f2e3da83a"], "statement_hash": "1333ef9255aa7b48d4c4d12f773da9e069d92da88e4613d9cd6b338d924d9edc", "relations": [{"rule": 2, "type": "equivalent", "target": "1dd1ae3eee98a3269801b68e411a0342", "evidence": {"same_day": true, "patch_ids": ["2543daf6cfa36b689d3cc23b602b49bb", "da8b7715467b72891497535f2e3da83a"], "statement_hash": "1333ef9255aa7b48d4c4d12f773da9e069d92da88e4613d9cd6b338d924d9edc"}}, {"rule": 2, "type": "equivalent", "target": "e7188ca7594dcfec33be53852792d66b", "evidence": {"same_day": true, "patch_ids": ["2543daf6cfa36b689d3cc23b602b49bb", "da8b7715467b72891497535f2e3da83a"], "statement_hash": "1333ef9255aa7b48d4c4d12f773da9e069d92da88e4613d9cd6b338d924d9edc"}}], "version": "12.13", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "1dd1ae3eee98a3269801b68e411a0342", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "避免在与 VACUUM 并发执行更新时出现罕见的 PANIC", "evidence": {"same_day": true, "patch_ids": ["2543daf6cfa36b689d3cc23b602b49bb", "da8b7715467b72891497535f2e3da83a"], "statement_hash": "1333ef9255aa7b48d4c4d12f773da9e069d92da88e4613d9cd6b338d924d9edc"}, "url": "/docs/compare/?release=14.6#14.6-7d50707058b98522", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "e7188ca7594dcfec33be53852792d66b", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "避免在与 VACUUM 并发执行更新时出现罕见的 PANIC", "evidence": {"same_day": true, "patch_ids": ["2543daf6cfa36b689d3cc23b602b49bb", "da8b7715467b72891497535f2e3da83a"], "statement_hash": "1333ef9255aa7b48d4c4d12f773da9e069d92da88e4613d9cd6b338d924d9edc"}, "url": "/docs/compare/?release=13.9#13.9-7a0611c640e53d8a", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}]}, {"id": "12.13-32c3f2929cc53b13", "cves": [], "html": "<p>修复 <code>VACUUM</code>，使其在尝试删除 B-树索引页却找不到父页面中指向该页的下行链接时继续处理（Peter Geoghegan）<a href=\"https://postgr.es/c/7adc34832\">§</a></p>\n<p>现在只记录此问题并继续处理，不删除该空页面，而不再抛出错误。以前，有缺陷的操作符类或损坏的索引可能使索引清理一直无法完成，最终导致事务回卷问题。</p>", "text": "修复 VACUUM，使其在尝试删除 B-树索引页却找不到父页面中指向该页的下行链接时继续处理（Peter Geoghegan）§ 现在只记录此问题并继续处理，不删除该空页面，而不再抛出错误。以前，有缺陷的操作符类或损坏的索引可能使索引清理一直无法完成，最终导致事务回卷问题。", "title": "修复 VACUUM，使其在尝试删除 B-树索引页却找不到父页面中指向该页的下行链接时继续处理", "commits": ["7adc34832"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.13/#id-1.11.6.15.5", "source_hash": "6c923fddae0878a2babccd648d0c96c0302ee83f48e03d11da559ebef232a06f", "section_path": ["变更"], "commit_groups": [["43e409cea", "7adc34832", "a228cca46", "cfe41f976"]], "identity_text": "Fix VACUUM to press on if an attempted page deletion in a btree index fails to find the page's parent downlink (Peter Geoghegan) Rather than throwing an error, just log the issue and continue without deleting the empty page. Previously, a buggy operator class or corrupted index could indefinitely prevent completion of vacuuming of the index, eventually leading to transaction wraparound problems.", "commit_aliases": ["43e409cea", "7adc34832", "a228cca46", "cfe41f976"], "source_commits": ["7adc34832"], "source_entry_id": "12.13/changes/002", "db_id": "cf6c38fec78ae6785594e6c50121e794", "patch_ids": ["c9b40bd61e877024e3a49ff8d67660f9"], "statement_hash": "7969012e87834e8700cd66f2d7ada7c3940537650efd69b4815da7f04811a555", "relations": [{"rule": 2, "type": "equivalent", "target": "3508baf94b2e5bd1a2e8e693c807dd60", "evidence": {"same_day": true, "patch_ids": ["c9b40bd61e877024e3a49ff8d67660f9"], "statement_hash": "7969012e87834e8700cd66f2d7ada7c3940537650efd69b4815da7f04811a555"}}, {"rule": 2, "type": "equivalent", "target": "b87514830339344b0f54a20fa00ccfd6", "evidence": {"same_day": true, "patch_ids": ["c9b40bd61e877024e3a49ff8d67660f9"], "statement_hash": "7969012e87834e8700cd66f2d7ada7c3940537650efd69b4815da7f04811a555"}}, {"rule": 2, "type": "equivalent", "target": "ff16a476ab60f804dfb19498e23d4bda", "evidence": {"same_day": true, "patch_ids": ["c9b40bd61e877024e3a49ff8d67660f9"], "statement_hash": "7969012e87834e8700cd66f2d7ada7c3940537650efd69b4815da7f04811a555"}}], "version": "12.13", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "ff16a476ab60f804dfb19498e23d4bda", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "修复 VACUUM，使其在尝试删除 B-树索引页却找不到父页面中指向该页的下行链接时继续处理", "evidence": {"same_day": true, "patch_ids": ["c9b40bd61e877024e3a49ff8d67660f9"], "statement_hash": "7969012e87834e8700cd66f2d7ada7c3940537650efd69b4815da7f04811a555"}, "url": "/docs/compare/?release=13.9#13.9-78777e31369d7f8e", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "3508baf94b2e5bd1a2e8e693c807dd60", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "修复 VACUUM，使其在尝试删除 B-树索引页却找不到父页面中指向该页的下行链接时继续处理", "evidence": {"same_day": true, "patch_ids": ["c9b40bd61e877024e3a49ff8d67660f9"], "statement_hash": "7969012e87834e8700cd66f2d7ada7c3940537650efd69b4815da7f04811a555"}, "url": "/docs/compare/?release=11.18#11.18-cc579447b4e52e0f", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}, {"db_id": "b87514830339344b0f54a20fa00ccfd6", "kind": "equivalent", "version": "10.23", "label": "10.23", "title": "修复 VACUUM，使其在尝试删除 B-树索引页却找不到父页面中指向该页的下行链接时继续处理", "evidence": {"same_day": true, "patch_ids": ["c9b40bd61e877024e3a49ff8d67660f9"], "statement_hash": "7969012e87834e8700cd66f2d7ada7c3940537650efd69b4815da7f04811a555"}, "url": "/docs/compare/?release=10.23#10.23-cc579447b4e52e0f", "source_url": "/docs/release/10.23/#id-1.11.6.5.6"}]}, {"id": "12.13-1666f06b7262a7b0", "cves": [], "html": "<p>修复在可更新视图的 <code>INSERT</code> 的多行 <code>VALUES</code> 子句中出现的 <code>DEFAULT</code> 令牌的处理（Tom Lane）<a href=\"https://postgr.es/c/abc510fa2\">§</a></p>\n<p>此疏忽可能导致 <span>“<span>cache lookup failed for type</span>”</span> 错误，或在较旧的分支中甚至导致崩溃。</p>", "text": "修复在可更新视图的 INSERT 的多行 VALUES 子句中出现的 DEFAULT 令牌的处理（Tom Lane）§ 此疏忽可能导致 “cache lookup failed for type” 错误，或在较旧的分支中甚至导致崩溃。", "title": "修复在可更新视图的 INSERT 的多行 VALUES 子句中出现的 DEFAULT 令牌的处理", "commits": ["abc510fa2"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.13/#id-1.11.6.15.5", "source_hash": "e2e7f0433c5d45bfae834ada4ae370055d666cd96017c0d5db79608bc96e0f3b", "section_path": ["变更"], "commit_groups": [["07ce67698", "21e042b0b", "23e2a06ac", "3162bd95c", "abc510fa2", "addde9bc6", "b8f2687fd"]], "identity_text": "Fix handling of DEFAULT tokens that appear in a multi-row VALUES clause of an INSERT on an updatable view (Tom Lane) This oversight could lead to cache lookup failed for type errors, or in older branches even to crashes.", "commit_aliases": ["07ce67698", "21e042b0b", "23e2a06ac", "3162bd95c", "abc510fa2", "addde9bc6", "b8f2687fd"], "source_commits": ["abc510fa2"], "source_entry_id": "12.13/changes/003", "db_id": "ef39cc841ef652faf17ebb83dcc81101", "patch_ids": ["dd89b5ea51ed5d980208c16d003bbadf"], "statement_hash": "47ee12f68a221ac075a627a56a84d303c11bb497f69e7b801a44a8c93addc9ac", "relations": [{"rule": 2, "type": "equivalent", "target": "0b33686a79a42f7d524258ababdff8d6", "evidence": {"same_day": true, "patch_ids": ["dd89b5ea51ed5d980208c16d003bbadf"], "statement_hash": "47ee12f68a221ac075a627a56a84d303c11bb497f69e7b801a44a8c93addc9ac"}}, {"rule": 2, "type": "equivalent", "target": "7e18fe253ead8cb581e1bb81be5af75b", "evidence": {"same_day": true, "patch_ids": ["dd89b5ea51ed5d980208c16d003bbadf"], "statement_hash": "47ee12f68a221ac075a627a56a84d303c11bb497f69e7b801a44a8c93addc9ac"}}, {"rule": 2, "type": "equivalent", "target": "9cb4217c0a2771a7104b197ed5d83f23", "evidence": {"same_day": true, "patch_ids": ["dd89b5ea51ed5d980208c16d003bbadf"], "statement_hash": "47ee12f68a221ac075a627a56a84d303c11bb497f69e7b801a44a8c93addc9ac"}}, {"rule": 2, "type": "equivalent", "target": "d9e379ea4452a8700f066b5941732261", "evidence": {"same_day": true, "patch_ids": ["dd89b5ea51ed5d980208c16d003bbadf"], "statement_hash": "47ee12f68a221ac075a627a56a84d303c11bb497f69e7b801a44a8c93addc9ac"}}, {"rule": 2, "type": "equivalent", "target": "f1ca9e3e187b1613d0f6975555a8d37b", "evidence": {"same_day": true, "patch_ids": ["dd89b5ea51ed5d980208c16d003bbadf"], "statement_hash": "47ee12f68a221ac075a627a56a84d303c11bb497f69e7b801a44a8c93addc9ac"}}], "version": "12.13", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "7e18fe253ead8cb581e1bb81be5af75b", "kind": "equivalent", "version": "15.1", "label": "15.1", "title": "修复在可更新视图的 INSERT 的多行 VALUES 子句中出现的 DEFAULT 令牌的处理", "evidence": {"same_day": true, "patch_ids": ["dd89b5ea51ed5d980208c16d003bbadf"], "statement_hash": "47ee12f68a221ac075a627a56a84d303c11bb497f69e7b801a44a8c93addc9ac"}, "url": "/docs/compare/?release=15.1#15.1-9a12aafcd57a0ae6", "source_url": "/docs/release/15.1/#ZH-AUTO-RELEASE-15-SECT2-34"}, {"db_id": "d9e379ea4452a8700f066b5941732261", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "修复在可更新视图的 INSERT 的多行 VALUES 子句中出现的 DEFAULT 令牌的处理", "evidence": {"same_day": true, "patch_ids": ["dd89b5ea51ed5d980208c16d003bbadf"], "statement_hash": "47ee12f68a221ac075a627a56a84d303c11bb497f69e7b801a44a8c93addc9ac"}, "url": "/docs/compare/?release=14.6#14.6-43f9d515a83d7375", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "f1ca9e3e187b1613d0f6975555a8d37b", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "修复在可更新视图的 INSERT 的多行 VALUES 子句中出现的 DEFAULT 令牌的处理", "evidence": {"same_day": true, "patch_ids": ["dd89b5ea51ed5d980208c16d003bbadf"], "statement_hash": "47ee12f68a221ac075a627a56a84d303c11bb497f69e7b801a44a8c93addc9ac"}, "url": "/docs/compare/?release=13.9#13.9-41a818b621392d67", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "0b33686a79a42f7d524258ababdff8d6", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "修复在可更新视图的 INSERT 的多行 VALUES 子句中出现的 DEFAULT 令牌的处理", "evidence": {"same_day": true, "patch_ids": ["dd89b5ea51ed5d980208c16d003bbadf"], "statement_hash": "47ee12f68a221ac075a627a56a84d303c11bb497f69e7b801a44a8c93addc9ac"}, "url": "/docs/compare/?release=11.18#11.18-89ed484b028599a1", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}, {"db_id": "9cb4217c0a2771a7104b197ed5d83f23", "kind": "equivalent", "version": "10.23", "label": "10.23", "title": "修复在可更新视图的 INSERT 的多行 VALUES 子句中出现的 DEFAULT 令牌的处理", "evidence": {"same_day": true, "patch_ids": ["dd89b5ea51ed5d980208c16d003bbadf"], "statement_hash": "47ee12f68a221ac075a627a56a84d303c11bb497f69e7b801a44a8c93addc9ac"}, "url": "/docs/compare/?release=10.23#10.23-89ed484b028599a1", "source_url": "/docs/release/10.23/#id-1.11.6.5.6"}]}, {"id": "12.13-1c8a5857a5c5b2c1", "cves": [], "html": "<p>不允许名为 <code>_RETURN</code> 但不是 <code>ON SELECT</code> 的规则（Tom Lane）<a href=\"https://postgr.es/c/65c1106d8\">§</a></p>\n<p>这避免了视图的 <code>ON SELECT</code> 规则与其可能拥有的任何其他规则之间的混淆。</p>", "text": "不允许名为 _RETURN 但不是 ON SELECT 的规则（Tom Lane）§ 这避免了视图的 ON SELECT 规则与其可能拥有的任何其他规则之间的混淆。", "title": "不允许名为 _RETURN 但不是 ON SELECT 的规则", "commits": ["65c1106d8"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.13/#id-1.11.6.15.5", "source_hash": "6535ffb103cb20f8260225350bd0ef6d6ba09c6c25575dae2c29d5212f99619a", "section_path": ["变更"], "commit_groups": [["2f26cec48", "4a41a069e", "65c1106d8", "797e313dc", "b21615d1e", "e9377e3e5", "ecf4ce689"]], "identity_text": "Disallow rules named _RETURN that are not ON SELECT (Tom Lane) This avoids confusion between a view's ON SELECT rule and any other rules it may have.", "commit_aliases": ["2f26cec48", "4a41a069e", "65c1106d8", "797e313dc", "b21615d1e", "e9377e3e5", "ecf4ce689"], "source_commits": ["65c1106d8"], "source_entry_id": "12.13/changes/004", "db_id": "fbb3b984316716bd9e293be501744dfc", "patch_ids": ["4bdc12afe366d6253ac458869d736ac5"], "statement_hash": "36d968d0eebced7be7287dda76bef491f510a88f4768c009d28e22a611496c90", "relations": [{"rule": 2, "type": "equivalent", "target": "0800582c7b24c52bc87266721f8bb44a", "evidence": {"same_day": true, "patch_ids": ["4bdc12afe366d6253ac458869d736ac5"], "statement_hash": "36d968d0eebced7be7287dda76bef491f510a88f4768c009d28e22a611496c90"}}, {"rule": 2, "type": "equivalent", "target": "1fdd45ee68dc39d1280d3d44d9aab315", "evidence": {"same_day": true, "patch_ids": ["4bdc12afe366d6253ac458869d736ac5"], "statement_hash": "36d968d0eebced7be7287dda76bef491f510a88f4768c009d28e22a611496c90"}}, {"rule": 2, "type": "equivalent", "target": "761f9ac3fb5896d4743dbbb8e61ffe8f", "evidence": {"same_day": true, "patch_ids": ["4bdc12afe366d6253ac458869d736ac5"], "statement_hash": "36d968d0eebced7be7287dda76bef491f510a88f4768c009d28e22a611496c90"}}, {"rule": 2, "type": "equivalent", "target": "d5973c57ce8ee8629f61171c32af8128", "evidence": {"same_day": true, "patch_ids": ["4bdc12afe366d6253ac458869d736ac5"], "statement_hash": "36d968d0eebced7be7287dda76bef491f510a88f4768c009d28e22a611496c90"}}, {"rule": 2, "type": "equivalent", "target": "eb6b9aeac6528cb250d2294a1d70deb5", "evidence": {"same_day": true, "patch_ids": ["4bdc12afe366d6253ac458869d736ac5"], "statement_hash": "36d968d0eebced7be7287dda76bef491f510a88f4768c009d28e22a611496c90"}}], "version": "12.13", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "0800582c7b24c52bc87266721f8bb44a", "kind": "equivalent", "version": "15.1", "label": "15.1", "title": "不允许名为 _RETURN 但不是 ON SELECT 的规则", "evidence": {"same_day": true, "patch_ids": ["4bdc12afe366d6253ac458869d736ac5"], "statement_hash": "36d968d0eebced7be7287dda76bef491f510a88f4768c009d28e22a611496c90"}, "url": "/docs/compare/?release=15.1#15.1-c7d894d7126a007f", "source_url": "/docs/release/15.1/#ZH-AUTO-RELEASE-15-SECT2-34"}, {"db_id": "761f9ac3fb5896d4743dbbb8e61ffe8f", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "不允许名为 _RETURN 但不是 ON SELECT 的规则", "evidence": {"same_day": true, "patch_ids": ["4bdc12afe366d6253ac458869d736ac5"], "statement_hash": "36d968d0eebced7be7287dda76bef491f510a88f4768c009d28e22a611496c90"}, "url": "/docs/compare/?release=14.6#14.6-4cdf75efe17496a4", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "1fdd45ee68dc39d1280d3d44d9aab315", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "不允许名为 _RETURN 但不是 ON SELECT 的规则", "evidence": {"same_day": true, "patch_ids": ["4bdc12afe366d6253ac458869d736ac5"], "statement_hash": "36d968d0eebced7be7287dda76bef491f510a88f4768c009d28e22a611496c90"}, "url": "/docs/compare/?release=13.9#13.9-9301c983b77731d9", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "d5973c57ce8ee8629f61171c32af8128", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "不允许名为 _RETURN 但不是 ON SELECT 的规则", "evidence": {"same_day": true, "patch_ids": ["4bdc12afe366d6253ac458869d736ac5"], "statement_hash": "36d968d0eebced7be7287dda76bef491f510a88f4768c009d28e22a611496c90"}, "url": "/docs/compare/?release=11.18#11.18-e7b1ecf6bbc360b9", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}, {"db_id": "eb6b9aeac6528cb250d2294a1d70deb5", "kind": "equivalent", "version": "10.23", "label": "10.23", "title": "不允许名为 _RETURN 但不是 ON SELECT 的规则", "evidence": {"same_day": true, "patch_ids": ["4bdc12afe366d6253ac458869d736ac5"], "statement_hash": "36d968d0eebced7be7287dda76bef491f510a88f4768c009d28e22a611496c90"}, "url": "/docs/compare/?release=10.23#10.23-e7b1ecf6bbc360b9", "source_url": "/docs/release/10.23/#id-1.11.6.5.6"}]}, {"id": "12.13-e108e0d3a13dd767", "cves": [], "html": "<p>修复为 <code>AFTER</code> 触发器保存元组时的资源管理错误（Tom Lane）<a href=\"https://postgr.es/c/519763094\">§</a></p>\n<p>在合适的条件下，这表现为 <span>“<span>tupdesc reference <em><code>NNNN</code></em> is not owned by resource owner</span>”</span> 错误，随后是 PANIC 退出。</p>", "text": "修复为 AFTER 触发器保存元组时的资源管理错误（Tom Lane）§ 在合适的条件下，这表现为 “tupdesc reference NNNN is not owned by resource owner” 错误，随后是 PANIC 退出。", "title": "修复为 AFTER 触发器保存元组时的资源管理错误", "commits": ["519763094"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.13/#id-1.11.6.15.5", "source_hash": "f8a9250dbe0ebfdc6c32c3cca90fdb814292f50b4efaab22f531b75e3a0b8c11", "section_path": ["变更"], "commit_groups": [["216f9c1ab", "519763094", "8c17c8615", "992376461", "c82766c02"]], "identity_text": "Fix resource management bug in saving tuples for AFTER triggers (Tom Lane) Given the right circumstances, this manifested as a tupdesc reference NNNN is not owned by resource owner error followed by a PANIC exit.", "commit_aliases": ["216f9c1ab", "519763094", "8c17c8615", "992376461", "c82766c02"], "source_commits": ["519763094"], "source_entry_id": "12.13/changes/005", "db_id": "8b11ec62850252c732bfdb440dfed148", "patch_ids": ["36d40555914d3d6564126c6761dc78c2"], "statement_hash": "7b39b8f21beaf0699c1ddb788058dc429320beacde57ec76603fbd693d76a446", "relations": [{"rule": 2, "type": "equivalent", "target": "4c533fad45474c3bd9b612593053b416", "evidence": {"same_day": true, "patch_ids": ["36d40555914d3d6564126c6761dc78c2"], "statement_hash": "7b39b8f21beaf0699c1ddb788058dc429320beacde57ec76603fbd693d76a446"}}, {"rule": 2, "type": "equivalent", "target": "a4b68809561b992239e9154e6a5c2e20", "evidence": {"same_day": true, "patch_ids": ["36d40555914d3d6564126c6761dc78c2"], "statement_hash": "7b39b8f21beaf0699c1ddb788058dc429320beacde57ec76603fbd693d76a446"}}], "version": "12.13", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "4c533fad45474c3bd9b612593053b416", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "修复为 AFTER 触发器保存元组时的资源管理错误", "evidence": {"same_day": true, "patch_ids": ["36d40555914d3d6564126c6761dc78c2"], "statement_hash": "7b39b8f21beaf0699c1ddb788058dc429320beacde57ec76603fbd693d76a446"}, "url": "/docs/compare/?release=14.6#14.6-1bd9e0a32811b27e", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "a4b68809561b992239e9154e6a5c2e20", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "修复为 AFTER 触发器保存元组时的资源管理错误", "evidence": {"same_day": true, "patch_ids": ["36d40555914d3d6564126c6761dc78c2"], "statement_hash": "7b39b8f21beaf0699c1ddb788058dc429320beacde57ec76603fbd693d76a446"}, "url": "/docs/compare/?release=13.9#13.9-2f0da057e6a52083", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}]}, {"id": "12.13-5b6aba53e56e81f9", "cves": [], "html": "<p>修复继承更新中 MULTIEXPR_SUBLINK 子计划的罕见失败（Tom Lane）<a href=\"https://postgr.es/c/f8e70cfb8\">§</a> <a href=\"https://postgr.es/c/df92bc115\">§</a> <a href=\"https://postgr.es/c/4d7c0fe51\">§</a></p>\n<p>对继承表或分区表使用 <code>UPDATE tab SET (c1, ...) = (SELECT ...)</code> 语法时，如果子表之间的差异足够大，就可能失败。这通常表现为执行器中的一致性检查失败，但也可能导致崩溃或错误的数据更新。</p>", "text": "修复继承更新中 MULTIEXPR_SUBLINK 子计划的罕见失败（Tom Lane）§ § § 对继承表或分区表使用 UPDATE tab SET (c1, ...) = (SELECT ...) 语法时，如果子表之间的差异足够大，就可能失败。这通常表现为执行器中的一致性检查失败，但也可能导致崩溃或错误的数据更新。", "title": "修复继承更新中 MULTIEXPR_SUBLINK 子计划的罕见失败", "commits": ["4d7c0fe51", "df92bc115", "f8e70cfb8"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.13/#id-1.11.6.15.5", "source_hash": "2f94d5c1164a6b36126cdeb4c864910a2123c8ccc20fc8a022df6474b5e92453", "section_path": ["变更"], "commit_groups": [["174c929e3", "4d7c0fe51", "9bcf6fb28", "ccbb54c72"], ["18f51083c", "42d0d46f9", "56dc44244", "df92bc115"], ["3f7323cbb", "d9ebc582f", "e1ea6f374", "f8e70cfb8"]], "identity_text": "Repair rare failure of MULTIEXPR_SUBLINK subplans in inherited updates (Tom Lane) Use of the syntax UPDATE tab SET (c1, ...) = (SELECT ...) with an inherited or partitioned target table could result in failure if the child tables are sufficiently dissimilar. This typically manifested as failure of consistency checks in the executor; but a crash or incorrect data updates are also possible.", "commit_aliases": ["174c929e3", "18f51083c", "3f7323cbb", "42d0d46f9", "4d7c0fe51", "56dc44244", "9bcf6fb28", "ccbb54c72", "d9ebc582f", "df92bc115", "e1ea6f374", "f8e70cfb8"], "source_commits": ["4d7c0fe51", "df92bc115", "f8e70cfb8"], "source_entry_id": "12.13/changes/006", "db_id": "d4ecea5edf0d305470c2ce2e4ea4c594", "patch_ids": ["2b9dd904f3665d7af20ff6b959bc23eb", "472ae4a3b951d46eca16328c13a30e0d", "8914f38049ceba5dece39eda210a129d"], "statement_hash": "558d27f09d3b5192c59ed101febfe52efac469db5442491cf497b86711acf981", "relations": [{"rule": 2, "type": "equivalent", "target": "166dabdb3e5626226cc0cdc5f91e8221", "evidence": {"same_day": true, "patch_ids": ["2b9dd904f3665d7af20ff6b959bc23eb", "472ae4a3b951d46eca16328c13a30e0d", "8914f38049ceba5dece39eda210a129d"], "statement_hash": "558d27f09d3b5192c59ed101febfe52efac469db5442491cf497b86711acf981"}}, {"rule": 2, "type": "equivalent", "target": "69c51cf1ed232d9a970aa3df81f8498d", "evidence": {"same_day": true, "patch_ids": ["2b9dd904f3665d7af20ff6b959bc23eb", "472ae4a3b951d46eca16328c13a30e0d", "8914f38049ceba5dece39eda210a129d"], "statement_hash": "558d27f09d3b5192c59ed101febfe52efac469db5442491cf497b86711acf981"}}, {"rule": 2, "type": "equivalent", "target": "7f5d195de24ef5a54ee41a1395225578", "evidence": {"same_day": true, "patch_ids": ["2b9dd904f3665d7af20ff6b959bc23eb", "472ae4a3b951d46eca16328c13a30e0d", "8914f38049ceba5dece39eda210a129d"], "statement_hash": "558d27f09d3b5192c59ed101febfe52efac469db5442491cf497b86711acf981"}}], "version": "12.13", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "166dabdb3e5626226cc0cdc5f91e8221", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "修复继承更新中 MULTIEXPR_SUBLINK 子计划的罕见失败", "evidence": {"same_day": true, "patch_ids": ["2b9dd904f3665d7af20ff6b959bc23eb", "472ae4a3b951d46eca16328c13a30e0d", "8914f38049ceba5dece39eda210a129d"], "statement_hash": "558d27f09d3b5192c59ed101febfe52efac469db5442491cf497b86711acf981"}, "url": "/docs/compare/?release=13.9#13.9-44bba43acf53378c", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "69c51cf1ed232d9a970aa3df81f8498d", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "修复继承更新中 MULTIEXPR_SUBLINK 子计划的罕见失败", "evidence": {"same_day": true, "patch_ids": ["2b9dd904f3665d7af20ff6b959bc23eb", "472ae4a3b951d46eca16328c13a30e0d", "8914f38049ceba5dece39eda210a129d"], "statement_hash": "558d27f09d3b5192c59ed101febfe52efac469db5442491cf497b86711acf981"}, "url": "/docs/compare/?release=11.18#11.18-47c28909d82f4bc4", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}, {"db_id": "7f5d195de24ef5a54ee41a1395225578", "kind": "equivalent", "version": "10.23", "label": "10.23", "title": "修复继承更新中 MULTIEXPR_SUBLINK 子计划的罕见失败", "evidence": {"same_day": true, "patch_ids": ["2b9dd904f3665d7af20ff6b959bc23eb", "472ae4a3b951d46eca16328c13a30e0d", "8914f38049ceba5dece39eda210a129d"], "statement_hash": "558d27f09d3b5192c59ed101febfe52efac469db5442491cf497b86711acf981"}, "url": "/docs/compare/?release=10.23#10.23-47c28909d82f4bc4", "source_url": "/docs/release/10.23/#id-1.11.6.5.6"}]}, {"id": "12.13-aa4825aa734e81db", "cves": [], "html": "<p>修复在执行 <code>ALTER TABLE ATTACH PARTITION</code> 时按分区构建外键约束的问题（Jehan-Guillaume de Rorthais，Álvaro Herrera）<a href=\"https://postgr.es/c/ab70b3a52\">§</a> <a href=\"https://postgr.es/c/669803af0\">§</a></p>\n<p>之前，可能会为新添加的分区构建不正确或重复的约束。</p>", "text": "修复在执行 ALTER TABLE ATTACH PARTITION 时按分区构建外键约束的问题（Jehan-Guillaume de Rorthais，Álvaro Herrera）§ § 之前，可能会为新添加的分区构建不正确或重复的约束。", "title": "修复在执行 ALTER TABLE ATTACH PARTITION 时按分区构建外键约束的问题", "commits": ["669803af0", "ab70b3a52"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.13/#id-1.11.6.15.5", "source_hash": "3c153b892d2d8bfb28220834b3c83f117c654b79e85ec953ab70398c1708b081", "section_path": ["变更"], "commit_groups": [["18865f4df", "41b6e7c9a", "ab70b3a52", "b0284bfb1", "c301e1c0c"], ["483d26930", "6083132ab", "614a406b4", "669803af0", "7d520e68e"]], "identity_text": "Fix construction of per-partition foreign key constraints while doing ALTER TABLE ATTACH PARTITION (Jehan-Guillaume de Rorthais, Álvaro Herrera) Previously, incorrect or duplicate constraints could be constructed for the newly-added partition.", "commit_aliases": ["18865f4df", "41b6e7c9a", "483d26930", "6083132ab", "614a406b4", "669803af0", "7d520e68e", "ab70b3a52", "b0284bfb1", "c301e1c0c"], "source_commits": ["669803af0", "ab70b3a52"], "source_entry_id": "12.13/changes/007", "db_id": "38d1eceea05386575bd3a6ddbaad042d", "patch_ids": ["0571585b966509fb89a1692c27aa8e10", "ecfd35f379cc50a82019aa49785dad28"], "statement_hash": "60eb0f9dddae2f6e5a1ec1f67c6e0560b194779ce51b5273b1a8e4b283b3e950", "relations": [{"rule": 2, "type": "equivalent", "target": "3ef311db4c1c4f64c515c365fc2c76c6", "evidence": {"same_day": true, "patch_ids": ["0571585b966509fb89a1692c27aa8e10", "ecfd35f379cc50a82019aa49785dad28"], "statement_hash": "60eb0f9dddae2f6e5a1ec1f67c6e0560b194779ce51b5273b1a8e4b283b3e950"}}, {"rule": 2, "type": "equivalent", "target": "5b7734c15773ba6eaa7262f5101ae3fa", "evidence": {"same_day": true, "patch_ids": ["0571585b966509fb89a1692c27aa8e10", "ecfd35f379cc50a82019aa49785dad28"], "statement_hash": "60eb0f9dddae2f6e5a1ec1f67c6e0560b194779ce51b5273b1a8e4b283b3e950"}}, {"rule": 2, "type": "equivalent", "target": "63c6b68e06cc127bc5ab5d5033ada34c", "evidence": {"same_day": true, "patch_ids": ["0571585b966509fb89a1692c27aa8e10", "ecfd35f379cc50a82019aa49785dad28"], "statement_hash": "60eb0f9dddae2f6e5a1ec1f67c6e0560b194779ce51b5273b1a8e4b283b3e950"}}], "version": "12.13", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "63c6b68e06cc127bc5ab5d5033ada34c", "kind": "equivalent", "version": "15.1", "label": "15.1", "title": "修复在执行 ALTER TABLE ATTACH PARTITION 时按分区构建外键约束的问题", "evidence": {"same_day": true, "patch_ids": ["0571585b966509fb89a1692c27aa8e10", "ecfd35f379cc50a82019aa49785dad28"], "statement_hash": "60eb0f9dddae2f6e5a1ec1f67c6e0560b194779ce51b5273b1a8e4b283b3e950"}, "url": "/docs/compare/?release=15.1#15.1-dceef571bfb2c904", "source_url": "/docs/release/15.1/#ZH-AUTO-RELEASE-15-SECT2-34"}, {"db_id": "5b7734c15773ba6eaa7262f5101ae3fa", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "修复在执行 ALTER TABLE ATTACH PARTITION 时按分区构建外键约束的问题", "evidence": {"same_day": true, "patch_ids": ["0571585b966509fb89a1692c27aa8e10", "ecfd35f379cc50a82019aa49785dad28"], "statement_hash": "60eb0f9dddae2f6e5a1ec1f67c6e0560b194779ce51b5273b1a8e4b283b3e950"}, "url": "/docs/compare/?release=14.6#14.6-87744a05f938593a", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "3ef311db4c1c4f64c515c365fc2c76c6", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "修复在执行 ALTER TABLE ATTACH PARTITION 时按分区构建外键约束的问题", "evidence": {"same_day": true, "patch_ids": ["0571585b966509fb89a1692c27aa8e10", "ecfd35f379cc50a82019aa49785dad28"], "statement_hash": "60eb0f9dddae2f6e5a1ec1f67c6e0560b194779ce51b5273b1a8e4b283b3e950"}, "url": "/docs/compare/?release=13.9#13.9-0f4dfa4b9d573ee7", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}]}, {"id": "12.13-0f98de0e07abbee4", "cves": [], "html": "<p>修复按分区外键约束的约束名称生成（Jehan-Guillaume de Rorthais）<a href=\"https://postgr.es/c/562e100ae\">§</a></p>\n<p>如果最初给定的名称已被分区的某个约束使用，会选择一个新名称；但新名称的拼写方式与预期不符。</p>", "text": "修复按分区外键约束的约束名称生成（Jehan-Guillaume de Rorthais）§ 如果最初给定的名称已被分区的某个约束使用，会选择一个新名称；但新名称的拼写方式与预期不符。", "title": "修复按分区外键约束的约束名称生成", "commits": ["562e100ae"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.13/#id-1.11.6.15.5", "source_hash": "630ddc0f3692c25b42cefbdcf1373ad9edb3492010f73e6194c37dbeb7871de6", "section_path": ["变更"], "commit_groups": [["562e100ae", "640c20d62", "80ef25b1a", "ade2409b1", "e7936f8b3"]], "identity_text": "Fix generation of constraint names for per-partition foreign key constraints (Jehan-Guillaume de Rorthais) If the initially-given name is already in use for some constraint of the partition, a new one is selected; but it wasn't being spelled as intended.", "commit_aliases": ["562e100ae", "640c20d62", "80ef25b1a", "ade2409b1", "e7936f8b3"], "source_commits": ["562e100ae"], "source_entry_id": "12.13/changes/008", "db_id": "f16bf4c618afca5148da6a307aaf96f6", "patch_ids": ["207141cc965cf7004eddedd585c3c4ae"], "statement_hash": "038a30f3ab30134f0faeda0fbf6fdda27520321121a389a051e1dda5f2f9fd70", "relations": [{"rule": 2, "type": "equivalent", "target": "20bdc426c5c721f886599e38f50cc843", "evidence": {"same_day": true, "patch_ids": ["207141cc965cf7004eddedd585c3c4ae"], "statement_hash": "038a30f3ab30134f0faeda0fbf6fdda27520321121a389a051e1dda5f2f9fd70"}}, {"rule": 2, "type": "equivalent", "target": "910a88629665b21562fb89118ba19274", "evidence": {"same_day": true, "patch_ids": ["207141cc965cf7004eddedd585c3c4ae"], "statement_hash": "038a30f3ab30134f0faeda0fbf6fdda27520321121a389a051e1dda5f2f9fd70"}}], "version": "12.13", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "910a88629665b21562fb89118ba19274", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "修复按分区外键约束的约束名称生成", "evidence": {"same_day": true, "patch_ids": ["207141cc965cf7004eddedd585c3c4ae"], "statement_hash": "038a30f3ab30134f0faeda0fbf6fdda27520321121a389a051e1dda5f2f9fd70"}, "url": "/docs/compare/?release=14.6#14.6-9cd41d8a73180cf9", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "20bdc426c5c721f886599e38f50cc843", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "修复按分区外键约束的约束名称生成", "evidence": {"same_day": true, "patch_ids": ["207141cc965cf7004eddedd585c3c4ae"], "statement_hash": "038a30f3ab30134f0faeda0fbf6fdda27520321121a389a051e1dda5f2f9fd70"}, "url": "/docs/compare/?release=13.9#13.9-66a14343d89aa6e9", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}]}, {"id": "12.13-a1dc4116320e9f2b", "cves": [], "html": "<p>修复在创建分区索引时索引表达式和谓词的错误匹配（Richard Guo，Tom Lane）<a href=\"https://postgr.es/c/2cf16cd74\">§</a></p>\n<p>在创建分区索引时，我们尝试识别分区上与分区索引匹配的任何现有索引，以便将它们作为子索引吸收而不是构建新的索引。表达式匹配处理不正确，因此可用的子索引可能被忽略，导致创建重复的索引。</p>", "text": "修复在创建分区索引时索引表达式和谓词的错误匹配（Richard Guo，Tom Lane）§ 在创建分区索引时，我们尝试识别分区上与分区索引匹配的任何现有索引，以便将它们作为子索引吸收而不是构建新的索引。表达式匹配处理不正确，因此可用的子索引可能被忽略，导致创建重复的索引。", "title": "修复在创建分区索引时索引表达式和谓词的错误匹配", "commits": ["2cf16cd74"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.13/#id-1.11.6.15.5", "source_hash": "ebdc6801214d4896d2dcfa39a9760652480a1116c6a3164c3577b91693bf5124", "section_path": ["变更"], "commit_groups": [["116f20f92", "2a42c1c51", "2cf16cd74", "3bfea5cbb", "9f0073ef7", "e6dbb4848"]], "identity_text": "Fix incorrect matching of index expressions and predicates when creating a partitioned index (Richard Guo, Tom Lane) While creating a partitioned index, we try to identify any existing indexes on the partitions that match the partitioned index, so that we can absorb those as child indexes instead of building new ones. Matching of expressions was not done right, so that a usable child index might be ignored, leading to creation of a duplicative index.", "commit_aliases": ["116f20f92", "2a42c1c51", "2cf16cd74", "3bfea5cbb", "9f0073ef7", "e6dbb4848"], "source_commits": ["2cf16cd74"], "source_entry_id": "12.13/changes/009", "db_id": "8a96c914236ede3e2fdcc3b59a9482a8", "patch_ids": ["778ea46e2e21a9880eed85ca78dd7261"], "statement_hash": "962cf78a0c37ec87339b22964988d98e488734734cfc81037a5fd8a40f88ba41", "relations": [{"rule": 2, "type": "equivalent", "target": "219d469f6cee0242d3bdb5ed5f404f64", "evidence": {"same_day": true, "patch_ids": ["778ea46e2e21a9880eed85ca78dd7261"], "statement_hash": "962cf78a0c37ec87339b22964988d98e488734734cfc81037a5fd8a40f88ba41"}}, {"rule": 2, "type": "equivalent", "target": "6a9429fe5387aa441554804694a4f1d0", "evidence": {"same_day": true, "patch_ids": ["778ea46e2e21a9880eed85ca78dd7261"], "statement_hash": "962cf78a0c37ec87339b22964988d98e488734734cfc81037a5fd8a40f88ba41"}}, {"rule": 2, "type": "equivalent", "target": "cdf0741c14f118703632df5a16bd529b", "evidence": {"same_day": true, "patch_ids": ["778ea46e2e21a9880eed85ca78dd7261"], "statement_hash": "962cf78a0c37ec87339b22964988d98e488734734cfc81037a5fd8a40f88ba41"}}], "version": "12.13", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "6a9429fe5387aa441554804694a4f1d0", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "修复在创建分区索引时索引表达式和谓词的错误匹配", "evidence": {"same_day": true, "patch_ids": ["778ea46e2e21a9880eed85ca78dd7261"], "statement_hash": "962cf78a0c37ec87339b22964988d98e488734734cfc81037a5fd8a40f88ba41"}, "url": "/docs/compare/?release=14.6#14.6-c7e6cab7735e9faf", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "cdf0741c14f118703632df5a16bd529b", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "修复在创建分区索引时索引表达式和谓词的错误匹配", "evidence": {"same_day": true, "patch_ids": ["778ea46e2e21a9880eed85ca78dd7261"], "statement_hash": "962cf78a0c37ec87339b22964988d98e488734734cfc81037a5fd8a40f88ba41"}, "url": "/docs/compare/?release=13.9#13.9-f7fcbc8d09e465d4", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "219d469f6cee0242d3bdb5ed5f404f64", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "修复在创建分区索引时索引表达式和谓词的错误匹配", "evidence": {"same_day": true, "patch_ids": ["778ea46e2e21a9880eed85ca78dd7261"], "statement_hash": "962cf78a0c37ec87339b22964988d98e488734734cfc81037a5fd8a40f88ba41"}, "url": "/docs/compare/?release=11.18#11.18-f7ded992bc435f49", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}]}, {"id": "12.13-ed1e4aa1b1259368", "cves": [], "html": "<p>防止备库提升后 WAL 损坏（Dilip Kumar，Robert Haas）<a href=\"https://postgr.es/c/3c0ef0832\">§</a></p>\n<p>当一个执行归档恢复（但未使用备库模式）的 <span>PostgreSQL</span> 实例被提升，且其尝试读取的最后一个 WAL 段以部分记录结尾时，该实例将在新时间线上写入无效的 WAL 段。</p>", "text": "防止备库提升后 WAL 损坏（Dilip Kumar，Robert Haas）§ 当一个执行归档恢复（但未使用备库模式）的 PostgreSQL 实例被提升，且其尝试读取的最后一个 WAL 段以部分记录结尾时，该实例将在新时间线上写入无效的 WAL 段。", "title": "防止备库提升后 WAL 损坏", "commits": ["3c0ef0832"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.13/#id-1.11.6.15.5", "source_hash": "0eabedbbc40b0c70db65eaf49c42dcc64b15cc68e5f4ab08dee744124405c70c", "section_path": ["变更"], "commit_groups": [["002fba80e", "0b3ff539d", "0e54a5e27", "3c0ef0832", "3f2701cda", "6672d7913", "eb29fa388"]], "identity_text": "Prevent WAL corruption after a standby promotion (Dilip Kumar, Robert Haas) When a PostgreSQL instance performing archive recovery (but not using standby mode) is promoted, and the last WAL segment that it attempted to read ended in a partial record, the instance would write an invalid WAL segment on the new timeline.", "commit_aliases": ["002fba80e", "0b3ff539d", "0e54a5e27", "3c0ef0832", "3f2701cda", "6672d7913", "eb29fa388"], "source_commits": ["3c0ef0832"], "source_entry_id": "12.13/changes/010", "db_id": "dd6ef5ecf257e898c9073c91a3a11451", "patch_ids": ["6e5abf330026e025d0160ad6233a6bbf"], "statement_hash": "961b8380d109a9006557f418f6f61bb9b2e0e215ebab3ed728445c4a8f9e0a2e", "relations": [{"rule": 2, "type": "equivalent", "target": "3712cca7a2b2e48be6362582493695de", "evidence": {"same_day": true, "patch_ids": ["6e5abf330026e025d0160ad6233a6bbf"], "statement_hash": "961b8380d109a9006557f418f6f61bb9b2e0e215ebab3ed728445c4a8f9e0a2e"}}, {"rule": 2, "type": "equivalent", "target": "3f10e9c3f5cabef5e14f4e9d91935f49", "evidence": {"same_day": true, "patch_ids": ["6e5abf330026e025d0160ad6233a6bbf"], "statement_hash": "961b8380d109a9006557f418f6f61bb9b2e0e215ebab3ed728445c4a8f9e0a2e"}}, {"rule": 2, "type": "equivalent", "target": "c8d1ba00567cf89e0bdb3167d62db923", "evidence": {"same_day": true, "patch_ids": ["6e5abf330026e025d0160ad6233a6bbf"], "statement_hash": "961b8380d109a9006557f418f6f61bb9b2e0e215ebab3ed728445c4a8f9e0a2e"}}, {"rule": 2, "type": "equivalent", "target": "f1292e08279549b836c811004d7879d0", "evidence": {"same_day": true, "patch_ids": ["6e5abf330026e025d0160ad6233a6bbf"], "statement_hash": "961b8380d109a9006557f418f6f61bb9b2e0e215ebab3ed728445c4a8f9e0a2e"}}], "version": "12.13", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "3712cca7a2b2e48be6362582493695de", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "防止备库提升后 WAL 损坏", "evidence": {"same_day": true, "patch_ids": ["6e5abf330026e025d0160ad6233a6bbf"], "statement_hash": "961b8380d109a9006557f418f6f61bb9b2e0e215ebab3ed728445c4a8f9e0a2e"}, "url": "/docs/compare/?release=14.6#14.6-796856ca5c4c57f3", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "c8d1ba00567cf89e0bdb3167d62db923", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "防止备库提升后 WAL 损坏", "evidence": {"same_day": true, "patch_ids": ["6e5abf330026e025d0160ad6233a6bbf"], "statement_hash": "961b8380d109a9006557f418f6f61bb9b2e0e215ebab3ed728445c4a8f9e0a2e"}, "url": "/docs/compare/?release=13.9#13.9-94d7f1cf70f06ec1", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "3f10e9c3f5cabef5e14f4e9d91935f49", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "防止备库提升后 WAL 损坏", "evidence": {"same_day": true, "patch_ids": ["6e5abf330026e025d0160ad6233a6bbf"], "statement_hash": "961b8380d109a9006557f418f6f61bb9b2e0e215ebab3ed728445c4a8f9e0a2e"}, "url": "/docs/compare/?release=11.18#11.18-dc324bfd6a6eb0af", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}, {"db_id": "f1292e08279549b836c811004d7879d0", "kind": "equivalent", "version": "10.23", "label": "10.23", "title": "防止备库提升后 WAL 损坏", "evidence": {"same_day": true, "patch_ids": ["6e5abf330026e025d0160ad6233a6bbf"], "statement_hash": "961b8380d109a9006557f418f6f61bb9b2e0e215ebab3ed728445c4a8f9e0a2e"}, "url": "/docs/compare/?release=10.23#10.23-dc324bfd6a6eb0af", "source_url": "/docs/release/10.23/#id-1.11.6.5.6"}]}, {"id": "12.13-cf42dab3042fc340", "cves": [], "html": "<p>修复 GIN 索引快速插入路径中 WAL 操作的错误排序（Matthias van de Meent，Zhang Mingli）<a href=\"https://postgr.es/c/51c24d9e2\">§</a></p>\n<p>此错误在核心 <span>PostgreSQL</span> 中没有已知的负面后果，但确实导致了一些扩展的问题。</p>", "text": "修复 GIN 索引快速插入路径中 WAL 操作的错误排序（Matthias van de Meent，Zhang Mingli）§ 此错误在核心 PostgreSQL 中没有已知的负面后果，但确实导致了一些扩展的问题。", "title": "修复 GIN 索引快速插入路径中 WAL 操作的错误排序", "commits": ["51c24d9e2"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.13/#id-1.11.6.15.5", "source_hash": "02386f084b8360ab0e38286e92a3535fc0579651900b062b71eaef0daa77fcfc", "section_path": ["变更"], "commit_groups": [["341fba2a6", "51c24d9e2", "56b662523", "594b97509", "5a30d43fa", "b02fc7df1", "ca4070f2b"]], "identity_text": "Fix mis-ordering of WAL operations in fast insert path for GIN indexes (Matthias van de Meent, Zhang Mingli) This mistake is not known to have any negative consequences within core PostgreSQL, but it did cause issues for some extensions.", "commit_aliases": ["341fba2a6", "51c24d9e2", "56b662523", "594b97509", "5a30d43fa", "b02fc7df1", "ca4070f2b"], "source_commits": ["51c24d9e2"], "source_entry_id": "12.13/changes/011", "db_id": "6991e505f5066ad059c40acacdf00b93", "patch_ids": ["3502f906a4e089c61f6b0d275ca2813b"], "statement_hash": "86b0b1c78c91989d7a954f31c43a4d209f594b8f22c0841d7c4b6e66be123dc1", "relations": [{"rule": 2, "type": "equivalent", "target": "0207c86146e4339d6aecb8333db4a7a0", "evidence": {"same_day": true, "patch_ids": ["3502f906a4e089c61f6b0d275ca2813b"], "statement_hash": "86b0b1c78c91989d7a954f31c43a4d209f594b8f22c0841d7c4b6e66be123dc1"}}, {"rule": 2, "type": "equivalent", "target": "2295366e0370b58663ad0929472753ad", "evidence": {"same_day": true, "patch_ids": ["3502f906a4e089c61f6b0d275ca2813b"], "statement_hash": "86b0b1c78c91989d7a954f31c43a4d209f594b8f22c0841d7c4b6e66be123dc1"}}, {"rule": 2, "type": "equivalent", "target": "451c13b09ba66d53007c9feeee44b499", "evidence": {"same_day": true, "patch_ids": ["3502f906a4e089c61f6b0d275ca2813b"], "statement_hash": "86b0b1c78c91989d7a954f31c43a4d209f594b8f22c0841d7c4b6e66be123dc1"}}, {"rule": 2, "type": "equivalent", "target": "a9f087c8f1366145227deda4715bb025", "evidence": {"same_day": true, "patch_ids": ["3502f906a4e089c61f6b0d275ca2813b"], "statement_hash": "86b0b1c78c91989d7a954f31c43a4d209f594b8f22c0841d7c4b6e66be123dc1"}}, {"rule": 2, "type": "equivalent", "target": "c8650d15e5dc196e91e93a3db3305cee", "evidence": {"same_day": true, "patch_ids": ["3502f906a4e089c61f6b0d275ca2813b"], "statement_hash": "86b0b1c78c91989d7a954f31c43a4d209f594b8f22c0841d7c4b6e66be123dc1"}}], "version": "12.13", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "2295366e0370b58663ad0929472753ad", "kind": "equivalent", "version": "15.1", "label": "15.1", "title": "修复 GIN 索引快速插入路径中 WAL 操作的错误排序", "evidence": {"same_day": true, "patch_ids": ["3502f906a4e089c61f6b0d275ca2813b"], "statement_hash": "86b0b1c78c91989d7a954f31c43a4d209f594b8f22c0841d7c4b6e66be123dc1"}, "url": "/docs/compare/?release=15.1#15.1-660c517367d76aac", "source_url": "/docs/release/15.1/#ZH-AUTO-RELEASE-15-SECT2-34"}, {"db_id": "c8650d15e5dc196e91e93a3db3305cee", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "修复 GIN 索引快速插入路径中 WAL 操作的错误排序", "evidence": {"same_day": true, "patch_ids": ["3502f906a4e089c61f6b0d275ca2813b"], "statement_hash": "86b0b1c78c91989d7a954f31c43a4d209f594b8f22c0841d7c4b6e66be123dc1"}, "url": "/docs/compare/?release=14.6#14.6-8daa8c1fc5f3da66", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "451c13b09ba66d53007c9feeee44b499", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "修复 GIN 索引快速插入路径中 WAL 操作的错误排序", "evidence": {"same_day": true, "patch_ids": ["3502f906a4e089c61f6b0d275ca2813b"], "statement_hash": "86b0b1c78c91989d7a954f31c43a4d209f594b8f22c0841d7c4b6e66be123dc1"}, "url": "/docs/compare/?release=13.9#13.9-ef6b40d98f871a65", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "0207c86146e4339d6aecb8333db4a7a0", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "修复 GIN 索引快速插入路径中 WAL 操作的错误排序", "evidence": {"same_day": true, "patch_ids": ["3502f906a4e089c61f6b0d275ca2813b"], "statement_hash": "86b0b1c78c91989d7a954f31c43a4d209f594b8f22c0841d7c4b6e66be123dc1"}, "url": "/docs/compare/?release=11.18#11.18-4516192ac7e27bc8", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}, {"db_id": "a9f087c8f1366145227deda4715bb025", "kind": "equivalent", "version": "10.23", "label": "10.23", "title": "修复 GIN 索引快速插入路径中 WAL 操作的错误排序", "evidence": {"same_day": true, "patch_ids": ["3502f906a4e089c61f6b0d275ca2813b"], "statement_hash": "86b0b1c78c91989d7a954f31c43a4d209f594b8f22c0841d7c4b6e66be123dc1"}, "url": "/docs/compare/?release=10.23#10.23-4516192ac7e27bc8", "source_url": "/docs/release/10.23/#id-1.11.6.5.6"}]}, {"id": "12.13-c3479f3b498551ea", "cves": [], "html": "<p>修复在重放起始点位于事务开始和其子事务开始之间时逻辑解码中的错误（Masahiko Sawada，Kuroda Hayato）<a href=\"https://postgr.es/c/1bf4d9206\">§</a> <a href=\"https://postgr.es/c/02600886c\">§</a></p>\n<p>这些错误可能导致调试构建中的断言失败，否则会导致内存泄漏。</p>", "text": "修复在重放起始点位于事务开始和其子事务开始之间时逻辑解码中的错误（Masahiko Sawada，Kuroda Hayato）§ § 这些错误可能导致调试构建中的断言失败，否则会导致内存泄漏。", "title": "修复在重放起始点位于事务开始和其子事务开始之间时逻辑解码中的错误", "commits": ["02600886c", "1bf4d9206"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.13/#id-1.11.6.15.5", "source_hash": "e940f87b1a76917fcfe29d905ab99620c03b572ef5ae262dc8210ceb8a9d2c62", "section_path": ["变更"], "commit_groups": [["02600886c", "216af69ae", "343afa967", "38dbaaf27", "4fbe6096b"], ["10ed7b9e4", "16b1fe003", "1bf4d9206", "25f7be1ca", "5f7076cb6", "64ff0fe4e", "a592ed923"]], "identity_text": "Fix bugs in logical decoding when replay starts from a point between the beginning of a transaction and the beginning of its subtransaction (Masahiko Sawada, Kuroda Hayato) These errors could lead to assertion failures in debug builds, and otherwise to memory leaks.", "commit_aliases": ["02600886c", "10ed7b9e4", "16b1fe003", "1bf4d9206", "216af69ae", "25f7be1ca", "343afa967", "38dbaaf27", "4fbe6096b", "5f7076cb6", "64ff0fe4e", "a592ed923"], "source_commits": ["02600886c", "1bf4d9206"], "source_entry_id": "12.13/changes/012", "db_id": "3790cd8614f464dcfe0006b85c29d9ef", "patch_ids": ["9bc6bba495dd4a60c5f0348e6aac6e08", "e8f000dcd95ed4000408736a9fc4b51e"], "statement_hash": "6da08f11a529039c9204076ec2df5bae37182dc2f8e73303f0167b7075c755e8", "relations": [{"rule": 2, "type": "equivalent", "target": "219117fd5d4cddd73e46425cb6128139", "evidence": {"same_day": true, "patch_ids": ["9bc6bba495dd4a60c5f0348e6aac6e08", "e8f000dcd95ed4000408736a9fc4b51e"], "statement_hash": "6da08f11a529039c9204076ec2df5bae37182dc2f8e73303f0167b7075c755e8"}}, {"rule": 2, "type": "equivalent", "target": "427c1e0998289c96b4ab17a77889c8e3", "evidence": {"same_day": true, "patch_ids": ["9bc6bba495dd4a60c5f0348e6aac6e08", "e8f000dcd95ed4000408736a9fc4b51e"], "statement_hash": "6da08f11a529039c9204076ec2df5bae37182dc2f8e73303f0167b7075c755e8"}}, {"rule": 2, "type": "equivalent", "target": "97018cd95fb4c47c864413f6b1b21009", "evidence": {"same_day": true, "patch_ids": ["9bc6bba495dd4a60c5f0348e6aac6e08", "e8f000dcd95ed4000408736a9fc4b51e"], "statement_hash": "6da08f11a529039c9204076ec2df5bae37182dc2f8e73303f0167b7075c755e8"}}, {"rule": 2, "type": "equivalent", "target": "ce47b695f3dbb3e7cf1c91ff737db2ea", "evidence": {"same_day": true, "patch_ids": ["9bc6bba495dd4a60c5f0348e6aac6e08", "e8f000dcd95ed4000408736a9fc4b51e"], "statement_hash": "6da08f11a529039c9204076ec2df5bae37182dc2f8e73303f0167b7075c755e8"}}, {"rule": 2, "type": "equivalent", "target": "ce8a3348c436047a5238504953738c5c", "evidence": {"same_day": true, "patch_ids": ["9bc6bba495dd4a60c5f0348e6aac6e08", "e8f000dcd95ed4000408736a9fc4b51e"], "statement_hash": "6da08f11a529039c9204076ec2df5bae37182dc2f8e73303f0167b7075c755e8"}}], "version": "12.13", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "219117fd5d4cddd73e46425cb6128139", "kind": "equivalent", "version": "15.1", "label": "15.1", "title": "修复在重放起始点位于事务开始和其子事务开始之间时逻辑解码中的错误", "evidence": {"same_day": true, "patch_ids": ["9bc6bba495dd4a60c5f0348e6aac6e08", "e8f000dcd95ed4000408736a9fc4b51e"], "statement_hash": "6da08f11a529039c9204076ec2df5bae37182dc2f8e73303f0167b7075c755e8"}, "url": "/docs/compare/?release=15.1#15.1-f4497a1cd6740f7d", "source_url": "/docs/release/15.1/#ZH-AUTO-RELEASE-15-SECT2-34"}, {"db_id": "ce8a3348c436047a5238504953738c5c", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "修复在重放起始点位于事务开始和其子事务开始之间时逻辑解码中的错误", "evidence": {"same_day": true, "patch_ids": ["9bc6bba495dd4a60c5f0348e6aac6e08", "e8f000dcd95ed4000408736a9fc4b51e"], "statement_hash": "6da08f11a529039c9204076ec2df5bae37182dc2f8e73303f0167b7075c755e8"}, "url": "/docs/compare/?release=14.6#14.6-b459601f923bc289", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "ce47b695f3dbb3e7cf1c91ff737db2ea", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "修复在重放起始点位于事务开始和其子事务开始之间时逻辑解码中的错误", "evidence": {"same_day": true, "patch_ids": ["9bc6bba495dd4a60c5f0348e6aac6e08", "e8f000dcd95ed4000408736a9fc4b51e"], "statement_hash": "6da08f11a529039c9204076ec2df5bae37182dc2f8e73303f0167b7075c755e8"}, "url": "/docs/compare/?release=13.9#13.9-ad38f73d748e3187", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "427c1e0998289c96b4ab17a77889c8e3", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "修复在重放起始点位于事务开始和其子事务开始之间时逻辑解码中的错误", "evidence": {"same_day": true, "patch_ids": ["9bc6bba495dd4a60c5f0348e6aac6e08", "e8f000dcd95ed4000408736a9fc4b51e"], "statement_hash": "6da08f11a529039c9204076ec2df5bae37182dc2f8e73303f0167b7075c755e8"}, "url": "/docs/compare/?release=11.18#11.18-b5ba911f60e77fa8", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}, {"db_id": "97018cd95fb4c47c864413f6b1b21009", "kind": "equivalent", "version": "10.23", "label": "10.23", "title": "修复在重放起始点位于事务开始和其子事务开始之间时逻辑解码中的错误", "evidence": {"same_day": true, "patch_ids": ["9bc6bba495dd4a60c5f0348e6aac6e08", "e8f000dcd95ed4000408736a9fc4b51e"], "statement_hash": "6da08f11a529039c9204076ec2df5bae37182dc2f8e73303f0167b7075c755e8"}, "url": "/docs/compare/?release=10.23#10.23-b5ba911f60e77fa8", "source_url": "/docs/release/10.23/#id-1.11.6.5.6"}]}, {"id": "12.13-72290d988f498594", "cves": [], "html": "<p>防止在逻辑解码期间使用错误的快照检查系统目录（Masahiko Sawada）<a href=\"https://postgr.es/c/794460783\">§</a></p>\n<p>如果解码从修改系统目录的事务中途开始，解码器可能无法识别这一点，导致未能将该事务视为进行中的事务来进行目录查找。</p>", "text": "防止在逻辑解码期间使用错误的快照检查系统目录（Masahiko Sawada）§ 如果解码从修改系统目录的事务中途开始，解码器可能无法识别这一点，导致未能将该事务视为进行中的事务来进行目录查找。", "title": "防止在逻辑解码期间使用错误的快照检查系统目录", "commits": ["794460783"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.13/#id-1.11.6.15.5", "source_hash": "87f0b029e3eb32324d757e0ff9d438606e926a2a5d2761a8f296dc4fe6e276c9", "section_path": ["变更"], "commit_groups": [["272248a0c", "547b96368", "68dcce247", "794460783", "bf0718c13", "e721123b7"]], "identity_text": "Prevent examining system catalogs with the wrong snapshot during logical decoding (Masahiko Sawada) If decoding begins partway through a transaction that modifies system catalogs, the decoder may not recognize that, causing it to fail to treat that transaction as in-progress for catalog lookups.", "commit_aliases": ["272248a0c", "547b96368", "68dcce247", "794460783", "bf0718c13", "e721123b7"], "source_commits": ["794460783"], "source_entry_id": "12.13/changes/013", "db_id": "bca62c95cbbc070ace890871ea2cabcd", "patch_ids": ["4d2f03b4975fe8319fc8461e349da7cc"], "statement_hash": "00a747881f72ec287501043a3398ba931b8651185b631dfe33f98f5c1b2c1eae", "relations": [{"rule": 2, "type": "equivalent", "target": "1904f0ecf4ffdc3aa0c5dbd2be7157ff", "evidence": {"same_day": true, "patch_ids": ["4d2f03b4975fe8319fc8461e349da7cc"], "statement_hash": "00a747881f72ec287501043a3398ba931b8651185b631dfe33f98f5c1b2c1eae"}}, {"rule": 2, "type": "equivalent", "target": "34136bfc5f613a236cfea6b41cdeb4e0", "evidence": {"same_day": true, "patch_ids": ["4d2f03b4975fe8319fc8461e349da7cc"], "statement_hash": "00a747881f72ec287501043a3398ba931b8651185b631dfe33f98f5c1b2c1eae"}}, {"rule": 2, "type": "equivalent", "target": "57afec19bc4f94dea8150d7ec7e3168e", "evidence": {"same_day": true, "patch_ids": ["4d2f03b4975fe8319fc8461e349da7cc"], "statement_hash": "00a747881f72ec287501043a3398ba931b8651185b631dfe33f98f5c1b2c1eae"}}, {"rule": 2, "type": "equivalent", "target": "9f06f62a69713d112fdb67a535c4fdff", "evidence": {"same_day": true, "patch_ids": ["4d2f03b4975fe8319fc8461e349da7cc"], "statement_hash": "00a747881f72ec287501043a3398ba931b8651185b631dfe33f98f5c1b2c1eae"}}], "version": "12.13", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "9f06f62a69713d112fdb67a535c4fdff", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "防止在逻辑解码期间使用错误的快照检查系统目录", "evidence": {"same_day": true, "patch_ids": ["4d2f03b4975fe8319fc8461e349da7cc"], "statement_hash": "00a747881f72ec287501043a3398ba931b8651185b631dfe33f98f5c1b2c1eae"}, "url": "/docs/compare/?release=14.6#14.6-2e86c0ff38bdd038", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "57afec19bc4f94dea8150d7ec7e3168e", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "防止在逻辑解码期间使用错误的快照检查系统目录", "evidence": {"same_day": true, "patch_ids": ["4d2f03b4975fe8319fc8461e349da7cc"], "statement_hash": "00a747881f72ec287501043a3398ba931b8651185b631dfe33f98f5c1b2c1eae"}, "url": "/docs/compare/?release=13.9#13.9-0e5fba20766fae6f", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "1904f0ecf4ffdc3aa0c5dbd2be7157ff", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "防止在逻辑解码期间使用错误的快照检查系统目录", "evidence": {"same_day": true, "patch_ids": ["4d2f03b4975fe8319fc8461e349da7cc"], "statement_hash": "00a747881f72ec287501043a3398ba931b8651185b631dfe33f98f5c1b2c1eae"}, "url": "/docs/compare/?release=11.18#11.18-85c3c72467781b29", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}, {"db_id": "34136bfc5f613a236cfea6b41cdeb4e0", "kind": "equivalent", "version": "10.23", "label": "10.23", "title": "防止在逻辑解码期间使用错误的快照检查系统目录", "evidence": {"same_day": true, "patch_ids": ["4d2f03b4975fe8319fc8461e349da7cc"], "statement_hash": "00a747881f72ec287501043a3398ba931b8651185b631dfe33f98f5c1b2c1eae"}, "url": "/docs/compare/?release=10.23#10.23-85c3c72467781b29", "source_url": "/docs/release/10.23/#id-1.11.6.5.6"}]}, {"id": "12.13-ab840c5716041f10", "cves": [], "html": "<p>在逻辑解码的更多位置接受中断（Amit Kapila，Masahiko Sawada）<a href=\"https://postgr.es/c/f7f82cf05\">§</a> <a href=\"https://postgr.es/c/9415873ae\">§</a></p>\n<p>这改善了复制工作进程缓慢关闭的问题。</p>", "text": "在逻辑解码的更多位置接受中断（Amit Kapila，Masahiko Sawada）§ § 这改善了复制工作进程缓慢关闭的问题。", "title": "在逻辑解码的更多位置接受中断", "commits": ["9415873ae", "f7f82cf05"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.13/#id-1.11.6.15.5", "source_hash": "ea5dedd37f9344fe367fa3fd03e7c26e79349bd541a88cbca1fd957f176f5cc8", "section_path": ["变更"], "commit_groups": [["10eaa9750", "1eed947f9", "36fc013fa", "5c51afe23", "61838d2dd", "ce20f8b9f", "f7f82cf05"], ["42681dffa", "4985a4591", "51e9469a4", "6b50433e8", "6d05d575b", "9415873ae", "f972ec5c2"]], "identity_text": "Accept interrupts in more places during logical decoding (Amit Kapila, Masahiko Sawada) This ameliorates problems with slow shutdown of replication workers.", "commit_aliases": ["10eaa9750", "1eed947f9", "36fc013fa", "42681dffa", "4985a4591", "51e9469a4", "5c51afe23", "61838d2dd", "6b50433e8", "6d05d575b", "9415873ae", "ce20f8b9f", "f7f82cf05", "f972ec5c2"], "source_commits": ["9415873ae", "f7f82cf05"], "source_entry_id": "12.13/changes/014", "db_id": "830c5a06663a7f5310bf07b1f073a2db", "patch_ids": ["15c0016299ee6cd2b2a5472d4f02f378", "51956c5f84ee88b8a2e9b7a88878c620"], "statement_hash": "2b1af4f7e8ddc358a8b41a8cc3c11f75b3e17c2bf5959a6310e36c214fec4b7b", "relations": [{"rule": 2, "type": "equivalent", "target": "7b3a79c79cd8b12630be9063e775b599", "evidence": {"same_day": true, "patch_ids": ["15c0016299ee6cd2b2a5472d4f02f378", "51956c5f84ee88b8a2e9b7a88878c620"], "statement_hash": "2b1af4f7e8ddc358a8b41a8cc3c11f75b3e17c2bf5959a6310e36c214fec4b7b"}}, {"rule": 2, "type": "equivalent", "target": "8e738b416c35e11272a2d5036161bb81", "evidence": {"same_day": true, "patch_ids": ["15c0016299ee6cd2b2a5472d4f02f378", "51956c5f84ee88b8a2e9b7a88878c620"], "statement_hash": "2b1af4f7e8ddc358a8b41a8cc3c11f75b3e17c2bf5959a6310e36c214fec4b7b"}}, {"rule": 2, "type": "equivalent", "target": "ce409b8972eb20d655f42ec1ab694adb", "evidence": {"same_day": true, "patch_ids": ["15c0016299ee6cd2b2a5472d4f02f378", "51956c5f84ee88b8a2e9b7a88878c620"], "statement_hash": "2b1af4f7e8ddc358a8b41a8cc3c11f75b3e17c2bf5959a6310e36c214fec4b7b"}}, {"rule": 2, "type": "equivalent", "target": "de37bd90ef68c4c781fbf724c548ff0c", "evidence": {"same_day": true, "patch_ids": ["15c0016299ee6cd2b2a5472d4f02f378", "51956c5f84ee88b8a2e9b7a88878c620"], "statement_hash": "2b1af4f7e8ddc358a8b41a8cc3c11f75b3e17c2bf5959a6310e36c214fec4b7b"}}, {"rule": 2, "type": "equivalent", "target": "e97a4a6eada0661473683b4dead57ae9", "evidence": {"same_day": true, "patch_ids": ["15c0016299ee6cd2b2a5472d4f02f378", "51956c5f84ee88b8a2e9b7a88878c620"], "statement_hash": "2b1af4f7e8ddc358a8b41a8cc3c11f75b3e17c2bf5959a6310e36c214fec4b7b"}}], "version": "12.13", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "ce409b8972eb20d655f42ec1ab694adb", "kind": "equivalent", "version": "15.1", "label": "15.1", "title": "在逻辑解码的更多位置接受中断", "evidence": {"same_day": true, "patch_ids": ["15c0016299ee6cd2b2a5472d4f02f378", "51956c5f84ee88b8a2e9b7a88878c620"], "statement_hash": "2b1af4f7e8ddc358a8b41a8cc3c11f75b3e17c2bf5959a6310e36c214fec4b7b"}, "url": "/docs/compare/?release=15.1#15.1-a86150e6174dd90f", "source_url": "/docs/release/15.1/#ZH-AUTO-RELEASE-15-SECT2-34"}, {"db_id": "8e738b416c35e11272a2d5036161bb81", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "在逻辑解码的更多位置接受中断", "evidence": {"same_day": true, "patch_ids": ["15c0016299ee6cd2b2a5472d4f02f378", "51956c5f84ee88b8a2e9b7a88878c620"], "statement_hash": "2b1af4f7e8ddc358a8b41a8cc3c11f75b3e17c2bf5959a6310e36c214fec4b7b"}, "url": "/docs/compare/?release=14.6#14.6-cf6225af55c4e636", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "de37bd90ef68c4c781fbf724c548ff0c", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "在逻辑解码的更多位置接受中断", "evidence": {"same_day": true, "patch_ids": ["15c0016299ee6cd2b2a5472d4f02f378", "51956c5f84ee88b8a2e9b7a88878c620"], "statement_hash": "2b1af4f7e8ddc358a8b41a8cc3c11f75b3e17c2bf5959a6310e36c214fec4b7b"}, "url": "/docs/compare/?release=13.9#13.9-5575f142bf139837", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "e97a4a6eada0661473683b4dead57ae9", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "在逻辑解码的更多位置接受中断", "evidence": {"same_day": true, "patch_ids": ["15c0016299ee6cd2b2a5472d4f02f378", "51956c5f84ee88b8a2e9b7a88878c620"], "statement_hash": "2b1af4f7e8ddc358a8b41a8cc3c11f75b3e17c2bf5959a6310e36c214fec4b7b"}, "url": "/docs/compare/?release=11.18#11.18-fa9708509c8233d4", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}, {"db_id": "7b3a79c79cd8b12630be9063e775b599", "kind": "equivalent", "version": "10.23", "label": "10.23", "title": "在逻辑解码的更多位置接受中断", "evidence": {"same_day": true, "patch_ids": ["15c0016299ee6cd2b2a5472d4f02f378", "51956c5f84ee88b8a2e9b7a88878c620"], "statement_hash": "2b1af4f7e8ddc358a8b41a8cc3c11f75b3e17c2bf5959a6310e36c214fec4b7b"}, "url": "/docs/compare/?release=10.23#10.23-fa9708509c8233d4", "source_url": "/docs/release/10.23/#id-1.11.6.5.6"}]}, {"id": "12.13-77aab0b8b993cc0b", "cves": [], "html": "<p>避免在复制工作进程中函数语法错误后崩溃（Maxim Orlov，Anton Melnikov，Masahiko Sawada，Tom Lane）<a href=\"https://postgr.es/c/d9ffccf8d\">§</a></p>\n<p>如果在逻辑复制工作进程中执行的 SQL 语言或 PL/pgSQL 语言 <code>CREATE FUNCTION</code> 或 <code>DO</code> 命令中发生语法错误，工作进程会因空指针解引用或断言失败而崩溃。</p>", "text": "避免在复制工作进程中函数语法错误后崩溃（Maxim Orlov，Anton Melnikov，Masahiko Sawada，Tom Lane）§ 如果在逻辑复制工作进程中执行的 SQL 语言或 PL/pgSQL 语言 CREATE FUNCTION 或 DO 命令中发生语法错误，工作进程会因空指针解引用或断言失败而崩溃。", "title": "避免在复制工作进程中函数语法错误后崩溃", "commits": ["d9ffccf8d"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.13/#id-1.11.6.15.5", "source_hash": "1780ae176903f12dda8cb342c0ee169adfd3ccbe3ed3e0baf2e8425c6a290802", "section_path": ["变更"], "commit_groups": [["2489c38cd", "5f3cec77b", "b00f342ea", "d9ffccf8d", "dea834938", "ed019b5ef", "f2dc7f9e3"]], "identity_text": "Avoid crash after function syntax error in replication workers (Maxim Orlov, Anton Melnikov, Masahiko Sawada, Tom Lane) If a syntax error occurred in a SQL-language or PL/pgSQL-language CREATE FUNCTION or DO command executed in a logical replication worker, the worker process would crash with a null pointer dereference or assertion failure.", "commit_aliases": ["2489c38cd", "5f3cec77b", "b00f342ea", "d9ffccf8d", "dea834938", "ed019b5ef", "f2dc7f9e3"], "source_commits": ["d9ffccf8d"], "source_entry_id": "12.13/changes/015", "db_id": "cd6d321fc20d3d24993e1ce62c093d26", "patch_ids": ["0789f29a740aeae33842745224cfe894"], "statement_hash": "931ed11dc2db7c8b372c3e69f35ab560c8eb4ec9f0e1c5b5bfae06e878d8f455", "relations": [{"rule": 2, "type": "equivalent", "target": "418c0cc4eaab29b89f8fb1f03163bf29", "evidence": {"same_day": true, "patch_ids": ["0789f29a740aeae33842745224cfe894"], "statement_hash": "931ed11dc2db7c8b372c3e69f35ab560c8eb4ec9f0e1c5b5bfae06e878d8f455"}}, {"rule": 2, "type": "equivalent", "target": "c2f4cd78823f127ae4253bfb920b8b61", "evidence": {"same_day": true, "patch_ids": ["0789f29a740aeae33842745224cfe894"], "statement_hash": "931ed11dc2db7c8b372c3e69f35ab560c8eb4ec9f0e1c5b5bfae06e878d8f455"}}, {"rule": 2, "type": "equivalent", "target": "d1dae8595ac0b40b78d6de53fc8bfb25", "evidence": {"same_day": true, "patch_ids": ["0789f29a740aeae33842745224cfe894"], "statement_hash": "931ed11dc2db7c8b372c3e69f35ab560c8eb4ec9f0e1c5b5bfae06e878d8f455"}}, {"rule": 2, "type": "equivalent", "target": "d9d49d75c5ed9c3e5c768273a583694c", "evidence": {"same_day": true, "patch_ids": ["0789f29a740aeae33842745224cfe894"], "statement_hash": "931ed11dc2db7c8b372c3e69f35ab560c8eb4ec9f0e1c5b5bfae06e878d8f455"}}, {"rule": 2, "type": "equivalent", "target": "e49eaf787b377facbee8f6475fe0c08f", "evidence": {"same_day": true, "patch_ids": ["0789f29a740aeae33842745224cfe894"], "statement_hash": "931ed11dc2db7c8b372c3e69f35ab560c8eb4ec9f0e1c5b5bfae06e878d8f455"}}], "version": "12.13", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "d9d49d75c5ed9c3e5c768273a583694c", "kind": "equivalent", "version": "15.1", "label": "15.1", "title": "避免在复制工作进程中函数语法错误后崩溃", "evidence": {"same_day": true, "patch_ids": ["0789f29a740aeae33842745224cfe894"], "statement_hash": "931ed11dc2db7c8b372c3e69f35ab560c8eb4ec9f0e1c5b5bfae06e878d8f455"}, "url": "/docs/compare/?release=15.1#15.1-54ee472e4fe33354", "source_url": "/docs/release/15.1/#ZH-AUTO-RELEASE-15-SECT2-34"}, {"db_id": "418c0cc4eaab29b89f8fb1f03163bf29", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "避免在复制工作进程中函数语法错误后崩溃", "evidence": {"same_day": true, "patch_ids": ["0789f29a740aeae33842745224cfe894"], "statement_hash": "931ed11dc2db7c8b372c3e69f35ab560c8eb4ec9f0e1c5b5bfae06e878d8f455"}, "url": "/docs/compare/?release=14.6#14.6-fe9fdacbfcf4a974", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "d1dae8595ac0b40b78d6de53fc8bfb25", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "避免在复制工作进程中函数语法错误后崩溃", "evidence": {"same_day": true, "patch_ids": ["0789f29a740aeae33842745224cfe894"], "statement_hash": "931ed11dc2db7c8b372c3e69f35ab560c8eb4ec9f0e1c5b5bfae06e878d8f455"}, "url": "/docs/compare/?release=13.9#13.9-92291f08559e06fb", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "c2f4cd78823f127ae4253bfb920b8b61", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "避免在复制工作进程中函数语法错误后崩溃", "evidence": {"same_day": true, "patch_ids": ["0789f29a740aeae33842745224cfe894"], "statement_hash": "931ed11dc2db7c8b372c3e69f35ab560c8eb4ec9f0e1c5b5bfae06e878d8f455"}, "url": "/docs/compare/?release=11.18#11.18-5a5f9a9a5e6ed013", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}, {"db_id": "e49eaf787b377facbee8f6475fe0c08f", "kind": "equivalent", "version": "10.23", "label": "10.23", "title": "避免在复制工作进程中函数语法错误后崩溃", "evidence": {"same_day": true, "patch_ids": ["0789f29a740aeae33842745224cfe894"], "statement_hash": "931ed11dc2db7c8b372c3e69f35ab560c8eb4ec9f0e1c5b5bfae06e878d8f455"}, "url": "/docs/compare/?release=10.23#10.23-5a5f9a9a5e6ed013", "source_url": "/docs/release/10.23/#id-1.11.6.5.6"}]}, {"id": "12.13-cefc6387cb56e4dd", "cves": [], "html": "<p>修复传递给 SQL 函数的读写扩展数据的处理（Tom Lane）<a href=\"https://postgr.es/c/5b948b5c1\">§</a></p>\n<p>如果一个非内联 SQL 函数在多个位置使用一个参数，且其中一个函数期望能够就地修改读写数据，则后续使用该参数时会观察到错误的值。（在核心 <span>PostgreSQL</span> 中，扩展数据机制仅用于数组和复合类型值；但扩展可能将其用于其他结构化类型。）</p>", "text": "修复传递给 SQL 函数的读写扩展数据的处理（Tom Lane）§ 如果一个非内联 SQL 函数在多个位置使用一个参数，且其中一个函数期望能够就地修改读写数据，则后续使用该参数时会观察到错误的值。（在核心 PostgreSQL 中，扩展数据机制仅用于数组和复合类型值；但扩展可能将其用于其他结构化类型。）", "title": "修复传递给 SQL 函数的读写扩展数据的处理", "commits": ["5b948b5c1"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.13/#id-1.11.6.15.5", "source_hash": "61474ec4cf13e8aa006a61526263b6a5af72528fd45d14910eb6b4f0f0dd04dd", "section_path": ["变更"], "commit_groups": [["1446612c5", "309857f9c", "442dbd669", "5b948b5c1", "71caf3c4d", "95bfadd4e", "ad3e07c15"]], "identity_text": "Fix handling of read-write expanded datums that are passed to SQL functions (Tom Lane) If a non-inlined SQL function uses a parameter in more than one place, and one of those functions expects to be able to modify read-write datums in place, then later uses of the parameter would observe the wrong value. (Within core PostgreSQL, the expanded-datum mechanism is only used for array and composite-type values; but extensions might use it for other structured types.)", "commit_aliases": ["1446612c5", "309857f9c", "442dbd669", "5b948b5c1", "71caf3c4d", "95bfadd4e", "ad3e07c15"], "source_commits": ["5b948b5c1"], "source_entry_id": "12.13/changes/016", "db_id": "c6385930ac7c4e90b26e3e5a367fca14", "patch_ids": ["804943c6495055764448a41d6d6029bc"], "statement_hash": "0950c358aff4fd4826c23a30c3abcd28e22f5d5a8f5203efa43c1660e7247f34", "relations": [{"rule": 2, "type": "equivalent", "target": "2c85b3ec9e1736e9236a70525462ae0a", "evidence": {"same_day": true, "patch_ids": ["804943c6495055764448a41d6d6029bc"], "statement_hash": "0950c358aff4fd4826c23a30c3abcd28e22f5d5a8f5203efa43c1660e7247f34"}}, {"rule": 2, "type": "equivalent", "target": "368f54d5b57643a6b82dd4e919016186", "evidence": {"same_day": true, "patch_ids": ["804943c6495055764448a41d6d6029bc"], "statement_hash": "0950c358aff4fd4826c23a30c3abcd28e22f5d5a8f5203efa43c1660e7247f34"}}, {"rule": 2, "type": "equivalent", "target": "9de50322e5aef8b7d9ccd41a6675c964", "evidence": {"same_day": true, "patch_ids": ["804943c6495055764448a41d6d6029bc"], "statement_hash": "0950c358aff4fd4826c23a30c3abcd28e22f5d5a8f5203efa43c1660e7247f34"}}, {"rule": 2, "type": "equivalent", "target": "a2f66d388624ce1901bcf3adbe0cf104", "evidence": {"same_day": true, "patch_ids": ["804943c6495055764448a41d6d6029bc"], "statement_hash": "0950c358aff4fd4826c23a30c3abcd28e22f5d5a8f5203efa43c1660e7247f34"}}], "version": "12.13", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "9de50322e5aef8b7d9ccd41a6675c964", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "修复传递给 SQL 函数的读写扩展数据的处理", "evidence": {"same_day": true, "patch_ids": ["804943c6495055764448a41d6d6029bc"], "statement_hash": "0950c358aff4fd4826c23a30c3abcd28e22f5d5a8f5203efa43c1660e7247f34"}, "url": "/docs/compare/?release=14.6#14.6-7991faee02899ac4", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "2c85b3ec9e1736e9236a70525462ae0a", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "修复传递给 SQL 函数的读写扩展数据的处理", "evidence": {"same_day": true, "patch_ids": ["804943c6495055764448a41d6d6029bc"], "statement_hash": "0950c358aff4fd4826c23a30c3abcd28e22f5d5a8f5203efa43c1660e7247f34"}, "url": "/docs/compare/?release=13.9#13.9-cfff3d691268b7bb", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "a2f66d388624ce1901bcf3adbe0cf104", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "修复传递给 SQL 函数的读写扩展数据的处理", "evidence": {"same_day": true, "patch_ids": ["804943c6495055764448a41d6d6029bc"], "statement_hash": "0950c358aff4fd4826c23a30c3abcd28e22f5d5a8f5203efa43c1660e7247f34"}, "url": "/docs/compare/?release=11.18#11.18-d2fbba4a9059a882", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}, {"db_id": "368f54d5b57643a6b82dd4e919016186", "kind": "equivalent", "version": "10.23", "label": "10.23", "title": "修复传递给 SQL 函数的读写扩展数据的处理", "evidence": {"same_day": true, "patch_ids": ["804943c6495055764448a41d6d6029bc"], "statement_hash": "0950c358aff4fd4826c23a30c3abcd28e22f5d5a8f5203efa43c1660e7247f34"}, "url": "/docs/compare/?release=10.23#10.23-d2fbba4a9059a882", "source_url": "/docs/release/10.23/#id-1.11.6.5.6"}]}, {"id": "12.13-95ec16c0d8046f81", "cves": [], "html": "<p>修复 <code>circle</code> 类型的等值比较器以正确处理 NaN（Ranier Vilela）<a href=\"https://postgr.es/c/9ebfbd23b\">§</a></p>\n<p>如果左侧的圆的半径为浮点 NaN，它将被认为等于具有相同圆心和任意半径的圆。</p>", "text": "修复 circle 类型的等值比较器以正确处理 NaN（Ranier Vilela）§ 如果左侧的圆的半径为浮点 NaN，它将被认为等于具有相同圆心和任意半径的圆。", "title": "修复 circle 类型的等值比较器以正确处理 NaN", "commits": ["9ebfbd23b"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.13/#id-1.11.6.15.5", "source_hash": "ba7cbaf8c3ba24ac47cf7821228dd8d4df41db24db8f59cf9ec06829d20577f5", "section_path": ["变更"], "commit_groups": [["13b8a1c19", "56d238846", "8cb2a22bb", "9ebfbd23b", "eb8b84807"]], "identity_text": "Fix type circle's equality comparator to handle NaNs properly (Ranier Vilela) If the left-hand circle had a floating-point NaN for its radius, it would be considered equal to a circle with the same center and any radius.", "commit_aliases": ["13b8a1c19", "56d238846", "8cb2a22bb", "9ebfbd23b", "eb8b84807"], "source_commits": ["9ebfbd23b"], "source_entry_id": "12.13/changes/017", "db_id": "3e78817cae5d15ef3e6b39f962f09778", "patch_ids": ["2a037a21ffeb4fd9174e0959a64cf9b0"], "statement_hash": "781288a2598e1ca07989b6e5931bb5e56bde52d25fabb2e35db25cc0dc7ea1bf", "relations": [{"rule": 2, "type": "equivalent", "target": "731faaad4027d6f33e92fa6050f63aa7", "evidence": {"same_day": true, "patch_ids": ["2a037a21ffeb4fd9174e0959a64cf9b0"], "statement_hash": "781288a2598e1ca07989b6e5931bb5e56bde52d25fabb2e35db25cc0dc7ea1bf"}}, {"rule": 2, "type": "equivalent", "target": "bccb139cd9967717058387c025899e9f", "evidence": {"same_day": true, "patch_ids": ["2a037a21ffeb4fd9174e0959a64cf9b0"], "statement_hash": "781288a2598e1ca07989b6e5931bb5e56bde52d25fabb2e35db25cc0dc7ea1bf"}}], "version": "12.13", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "731faaad4027d6f33e92fa6050f63aa7", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "修复 circle 类型的等值比较器以正确处理 NaN", "evidence": {"same_day": true, "patch_ids": ["2a037a21ffeb4fd9174e0959a64cf9b0"], "statement_hash": "781288a2598e1ca07989b6e5931bb5e56bde52d25fabb2e35db25cc0dc7ea1bf"}, "url": "/docs/compare/?release=14.6#14.6-15aec40b17afdc4c", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "bccb139cd9967717058387c025899e9f", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "修复 circle 类型的等值比较器以正确处理 NaN", "evidence": {"same_day": true, "patch_ids": ["2a037a21ffeb4fd9174e0959a64cf9b0"], "statement_hash": "781288a2598e1ca07989b6e5931bb5e56bde52d25fabb2e35db25cc0dc7ea1bf"}, "url": "/docs/compare/?release=13.9#13.9-38193ab711ec9e86", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}]}, {"id": "12.13-7161bb101c5005bc", "cves": [], "html": "<p>在 Snowball 词典中，不尝试对过长的单词进行词干提取（Olly Betts，Tom Lane）<a href=\"https://postgr.es/c/a53e0ea78\">§</a></p>\n<p>如果输入单词超过 1000 字节，在大小写折叠后直接返回，而不是尝试通过 Snowball 代码处理。此限制防止了土耳其语词干提取器中已知的递归导致堆栈溢出的问题，并且可以作为对 Snowball 词干提取器中可能存在的其他安全或性能问题的保障。如此长的字符串肯定不是任何人类语言中的单词，因此词干提取器对其也不太可能做出任何有意义的处理。</p>", "text": "在 Snowball 词典中，不尝试对过长的单词进行词干提取（Olly Betts，Tom Lane）§ 如果输入单词超过 1000 字节，在大小写折叠后直接返回，而不是尝试通过 Snowball 代码处理。此限制防止了土耳其语词干提取器中已知的递归导致堆栈溢出的问题，并且可以作为对 Snowball 词干提取器中可能存在的其他安全或性能问题的保障。如此长的字符串肯定不是任何人类语言中的单词，因此词干提取器对其也不太可能做出任何有意义的处理。", "title": "在 Snowball 词典中，不尝试对过长的单词进行词干提取", "commits": ["a53e0ea78"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.13/#id-1.11.6.15.5", "source_hash": "8cf3e977feb40f528994e7b3fd1daf050503087c50f97854abc0667cd76b8cca", "section_path": ["变更"], "commit_groups": [["1058555a5", "61f6e5c23", "a53e0ea78", "cba393a10", "e969f1ae2", "f204ad3a2", "f5aa855cd"]], "identity_text": "In Snowball dictionaries, don't try to stem excessively-long words (Olly Betts, Tom Lane) If the input word exceeds 1000 bytes, return it as-is after case folding, rather than trying to run it through the Snowball code. This restriction protects against a known recursion-to-stack-overflow problem in the Turkish stemmer, and it seems like good insurance against any other safety or performance issues that may exist in the Snowball stemmers. Such a long string is surely not a word in any human language, so it's doubtful that the stemmer would have done anything desirable with it anyway.", "commit_aliases": ["1058555a5", "61f6e5c23", "a53e0ea78", "cba393a10", "e969f1ae2", "f204ad3a2", "f5aa855cd"], "source_commits": ["a53e0ea78"], "source_entry_id": "12.13/changes/018", "db_id": "542a8523bc4432c01173ed9fc186f12e", "patch_ids": ["8362e929b6ff663e67c8f2e1f39af6bc"], "statement_hash": "13d64e3c928f221b372e5e2add73224a0635d7547bf99c4f6a5d962aeda5ca78", "relations": [{"rule": 2, "type": "equivalent", "target": "10a941812946c5413299aa84260ee3b6", "evidence": {"same_day": true, "patch_ids": ["8362e929b6ff663e67c8f2e1f39af6bc"], "statement_hash": "13d64e3c928f221b372e5e2add73224a0635d7547bf99c4f6a5d962aeda5ca78"}}, {"rule": 2, "type": "equivalent", "target": "330c9e850793774e109de381b0f7f3d3", "evidence": {"same_day": true, "patch_ids": ["8362e929b6ff663e67c8f2e1f39af6bc"], "statement_hash": "13d64e3c928f221b372e5e2add73224a0635d7547bf99c4f6a5d962aeda5ca78"}}, {"rule": 2, "type": "equivalent", "target": "6fdbc8b6b8409d83d2198c03562b71d3", "evidence": {"same_day": true, "patch_ids": ["8362e929b6ff663e67c8f2e1f39af6bc"], "statement_hash": "13d64e3c928f221b372e5e2add73224a0635d7547bf99c4f6a5d962aeda5ca78"}}, {"rule": 2, "type": "equivalent", "target": "d13e1f8cb075bb2bb012382ab287a2d6", "evidence": {"same_day": true, "patch_ids": ["8362e929b6ff663e67c8f2e1f39af6bc"], "statement_hash": "13d64e3c928f221b372e5e2add73224a0635d7547bf99c4f6a5d962aeda5ca78"}}], "version": "12.13", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "6fdbc8b6b8409d83d2198c03562b71d3", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "在 Snowball 词典中，不尝试对过长的单词进行词干提取", "evidence": {"same_day": true, "patch_ids": ["8362e929b6ff663e67c8f2e1f39af6bc"], "statement_hash": "13d64e3c928f221b372e5e2add73224a0635d7547bf99c4f6a5d962aeda5ca78"}, "url": "/docs/compare/?release=14.6#14.6-a213d3a91ffea322", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "10a941812946c5413299aa84260ee3b6", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "在 Snowball 词典中，不尝试对过长的单词进行词干提取", "evidence": {"same_day": true, "patch_ids": ["8362e929b6ff663e67c8f2e1f39af6bc"], "statement_hash": "13d64e3c928f221b372e5e2add73224a0635d7547bf99c4f6a5d962aeda5ca78"}, "url": "/docs/compare/?release=13.9#13.9-c29b95c2b21217f0", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "330c9e850793774e109de381b0f7f3d3", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "在 Snowball 词典中，不尝试对过长的单词进行词干提取", "evidence": {"same_day": true, "patch_ids": ["8362e929b6ff663e67c8f2e1f39af6bc"], "statement_hash": "13d64e3c928f221b372e5e2add73224a0635d7547bf99c4f6a5d962aeda5ca78"}, "url": "/docs/compare/?release=11.18#11.18-06c731af3ab65d69", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}, {"db_id": "d13e1f8cb075bb2bb012382ab287a2d6", "kind": "equivalent", "version": "10.23", "label": "10.23", "title": "在 Snowball 词典中，不尝试对过长的单词进行词干提取", "evidence": {"same_day": true, "patch_ids": ["8362e929b6ff663e67c8f2e1f39af6bc"], "statement_hash": "13d64e3c928f221b372e5e2add73224a0635d7547bf99c4f6a5d962aeda5ca78"}, "url": "/docs/compare/?release=10.23#10.23-06c731af3ab65d69", "source_url": "/docs/release/10.23/#id-1.11.6.5.6"}]}, {"id": "12.13-f8bdacc9ebf4e845", "cves": [], "html": "<p>修复字符串比较中的释放后使用隐患（Tom Lane）<a href=\"https://postgr.es/c/ee8a2f9d7\">§</a></p>\n<p>字符串比较函数中的不当内存管理可能导致在已不再分配的缓冲区上写入，可能破坏正在使用该内存的其他内容。这只会在相当长的字符串（超过 1kB）且使用 ICU 排序规则时才会发生。</p>", "text": "修复字符串比较中的释放后使用隐患（Tom Lane）§ 字符串比较函数中的不当内存管理可能导致在已不再分配的缓冲区上写入，可能破坏正在使用该内存的其他内容。这只会在相当长的字符串（超过 1kB）且使用 ICU 排序规则时才会发生。", "title": "修复字符串比较中的释放后使用隐患", "commits": ["ee8a2f9d7"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.13/#id-1.11.6.15.5", "source_hash": "25dba4f21ce3ecaf989cdef71d3d36ad9d3814339d7a2d295cc2737baf7878fd", "section_path": ["变更"], "commit_groups": [["06602372b", "84f9691a1", "9ae484121", "9fe285f85", "a46621942", "d3cf15dfc", "ee8a2f9d7"]], "identity_text": "Fix use-after-free hazard in string comparisons (Tom Lane) Improper memory management in the string comparison functions could result in scribbling on no-longer-allocated buffers, potentially breaking things for whatever is using that memory now. This would only happen with fairly long strings (more than 1kB), and only if an ICU collation is in use.", "commit_aliases": ["06602372b", "84f9691a1", "9ae484121", "9fe285f85", "a46621942", "d3cf15dfc", "ee8a2f9d7"], "source_commits": ["ee8a2f9d7"], "source_entry_id": "12.13/changes/019", "db_id": "a6ad42b0f063320f184fc24d920de418", "patch_ids": ["57539bdd67f9d366642fd104559828cc"], "statement_hash": "085e5c6f076a8cc1e71ccdc9632496e108eb9930d6588ca6740013d7a8d5a178", "relations": [{"rule": 2, "type": "equivalent", "target": "5cf90c65c4c15c5b9e9872733b510a49", "evidence": {"same_day": true, "patch_ids": ["57539bdd67f9d366642fd104559828cc"], "statement_hash": "085e5c6f076a8cc1e71ccdc9632496e108eb9930d6588ca6740013d7a8d5a178"}}, {"rule": 2, "type": "equivalent", "target": "6be859090431c9eb0ba2b3363b2a5676", "evidence": {"same_day": true, "patch_ids": ["57539bdd67f9d366642fd104559828cc"], "statement_hash": "085e5c6f076a8cc1e71ccdc9632496e108eb9930d6588ca6740013d7a8d5a178"}}, {"rule": 2, "type": "equivalent", "target": "70b0d3fe7e964aa992705061f2493b90", "evidence": {"same_day": true, "patch_ids": ["57539bdd67f9d366642fd104559828cc"], "statement_hash": "085e5c6f076a8cc1e71ccdc9632496e108eb9930d6588ca6740013d7a8d5a178"}}, {"rule": 2, "type": "equivalent", "target": "8dcf8cfb1d8635f7e5be38df183f6cc8", "evidence": {"same_day": true, "patch_ids": ["57539bdd67f9d366642fd104559828cc"], "statement_hash": "085e5c6f076a8cc1e71ccdc9632496e108eb9930d6588ca6740013d7a8d5a178"}}], "version": "12.13", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "8dcf8cfb1d8635f7e5be38df183f6cc8", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "修复字符串比较中的释放后使用隐患", "evidence": {"same_day": true, "patch_ids": ["57539bdd67f9d366642fd104559828cc"], "statement_hash": "085e5c6f076a8cc1e71ccdc9632496e108eb9930d6588ca6740013d7a8d5a178"}, "url": "/docs/compare/?release=14.6#14.6-17e7c9fa865af9c3", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "5cf90c65c4c15c5b9e9872733b510a49", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "修复字符串比较中的释放后使用隐患", "evidence": {"same_day": true, "patch_ids": ["57539bdd67f9d366642fd104559828cc"], "statement_hash": "085e5c6f076a8cc1e71ccdc9632496e108eb9930d6588ca6740013d7a8d5a178"}, "url": "/docs/compare/?release=13.9#13.9-c951bcb730ad2d28", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "70b0d3fe7e964aa992705061f2493b90", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "修复字符串比较中的释放后使用隐患", "evidence": {"same_day": true, "patch_ids": ["57539bdd67f9d366642fd104559828cc"], "statement_hash": "085e5c6f076a8cc1e71ccdc9632496e108eb9930d6588ca6740013d7a8d5a178"}, "url": "/docs/compare/?release=11.18#11.18-e7f609b9432a6225", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}, {"db_id": "6be859090431c9eb0ba2b3363b2a5676", "kind": "equivalent", "version": "10.23", "label": "10.23", "title": "修复字符串比较中的释放后使用隐患", "evidence": {"same_day": true, "patch_ids": ["57539bdd67f9d366642fd104559828cc"], "statement_hash": "085e5c6f076a8cc1e71ccdc9632496e108eb9930d6588ca6740013d7a8d5a178"}, "url": "/docs/compare/?release=10.23#10.23-e7f609b9432a6225", "source_url": "/docs/release/10.23/#id-1.11.6.5.6"}]}, {"id": "12.13-ddbf64f21c750cd3", "cves": [], "html": "<p>增加对尝试访问没有表访问方法的表的规划时检查（Tom Lane）<a href=\"https://postgr.es/c/99b6b705d\">§</a></p>\n<p>这防止了某些目录损坏场景中的崩溃，例如使用了 <code>ON SELECT</code> 规则缺失的视图。</p>", "text": "增加对尝试访问没有表访问方法的表的规划时检查（Tom Lane）§ 这防止了某些目录损坏场景中的崩溃，例如使用了 ON SELECT 规则缺失的视图。", "title": "增加对尝试访问没有表访问方法的表的规划时检查", "commits": ["99b6b705d"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.13/#id-1.11.6.15.5", "source_hash": "bef8ee582359a0f982dba48bec74691f55c12760725475725357695a646980f6", "section_path": ["变更"], "commit_groups": [["2e3326929", "62b263bf7", "8c611602b", "99b6b705d", "eec346611"]], "identity_text": "Add plan-time check for attempted access to a table that has no table access method (Tom Lane) This prevents a crash in some catalog-corruption scenarios, for example use of a view whose ON SELECT rule is missing.", "commit_aliases": ["2e3326929", "62b263bf7", "8c611602b", "99b6b705d", "eec346611"], "source_commits": ["99b6b705d"], "source_entry_id": "12.13/changes/020", "db_id": "4b8f2c461f4b5146aeb6978786ebce53", "patch_ids": ["69304040c163a865e70ce61931b0d751"], "statement_hash": "d79d584b5f0d456ae3e41c1f5ac290cd104ae48a5fa6b1217208838a20c689d5", "relations": [{"rule": 2, "type": "equivalent", "target": "04c2f92a141d6bffc4a74d300319095a", "evidence": {"same_day": true, "patch_ids": ["69304040c163a865e70ce61931b0d751"], "statement_hash": "d79d584b5f0d456ae3e41c1f5ac290cd104ae48a5fa6b1217208838a20c689d5"}}, {"rule": 2, "type": "equivalent", "target": "aa2b33cc549de24f670279d4c7595fdb", "evidence": {"same_day": true, "patch_ids": ["69304040c163a865e70ce61931b0d751"], "statement_hash": "d79d584b5f0d456ae3e41c1f5ac290cd104ae48a5fa6b1217208838a20c689d5"}}, {"rule": 2, "type": "equivalent", "target": "e8818c598e179ff9a12e37fd453dd52a", "evidence": {"same_day": true, "patch_ids": ["69304040c163a865e70ce61931b0d751"], "statement_hash": "d79d584b5f0d456ae3e41c1f5ac290cd104ae48a5fa6b1217208838a20c689d5"}}], "version": "12.13", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "e8818c598e179ff9a12e37fd453dd52a", "kind": "equivalent", "version": "15.1", "label": "15.1", "title": "增加对尝试访问没有表访问方法的表的规划时检查", "evidence": {"same_day": true, "patch_ids": ["69304040c163a865e70ce61931b0d751"], "statement_hash": "d79d584b5f0d456ae3e41c1f5ac290cd104ae48a5fa6b1217208838a20c689d5"}, "url": "/docs/compare/?release=15.1#15.1-f51f3d34c386aae4", "source_url": "/docs/release/15.1/#ZH-AUTO-RELEASE-15-SECT2-34"}, {"db_id": "aa2b33cc549de24f670279d4c7595fdb", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "增加对尝试访问没有表访问方法的表的规划时检查", "evidence": {"same_day": true, "patch_ids": ["69304040c163a865e70ce61931b0d751"], "statement_hash": "d79d584b5f0d456ae3e41c1f5ac290cd104ae48a5fa6b1217208838a20c689d5"}, "url": "/docs/compare/?release=14.6#14.6-9bbc7771eec9f626", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "04c2f92a141d6bffc4a74d300319095a", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "增加对尝试访问没有表访问方法的表的规划时检查", "evidence": {"same_day": true, "patch_ids": ["69304040c163a865e70ce61931b0d751"], "statement_hash": "d79d584b5f0d456ae3e41c1f5ac290cd104ae48a5fa6b1217208838a20c689d5"}, "url": "/docs/compare/?release=13.9#13.9-696d8f65c4db4929", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}]}, {"id": "12.13-e3741d8bb12a1907", "cves": [], "html": "<p>防止共享内存状态损坏时 postmaster 崩溃（Tom Lane）<a href=\"https://postgr.es/c/8f98352b5\">§</a></p>\n<p>postmaster 进程应该在共享内存损坏时存活并启动数据库重启，但有一段代码在这方面不够谨慎。</p>", "text": "防止共享内存状态损坏时 postmaster 崩溃（Tom Lane）§ postmaster 进程应该在共享内存损坏时存活并启动数据库重启，但有一段代码在这方面不够谨慎。", "title": "防止共享内存状态损坏时 postmaster 崩溃", "commits": ["8f98352b5"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.13/#id-1.11.6.15.5", "source_hash": "edd0a25e2516bdd26cf73ffed88e1213c5e98da660f20f435981048aedba3bf2", "section_path": ["变更"], "commit_groups": [["18a4a620e", "6c1de98ba", "744270137", "8f98352b5", "ab35b9dd7", "b10546ecf", "e7b4ff327"]], "identity_text": "Prevent postmaster crash when shared-memory state is corrupted (Tom Lane) The postmaster process is supposed to survive and initiate a database restart if shared memory becomes corrupted, but one bit of code was being insufficiently cautious about that.", "commit_aliases": ["18a4a620e", "6c1de98ba", "744270137", "8f98352b5", "ab35b9dd7", "b10546ecf", "e7b4ff327"], "source_commits": ["8f98352b5"], "source_entry_id": "12.13/changes/021", "db_id": "d27a87e7e8aeb79f724271d2139ef3f2", "patch_ids": ["18822265135c97eb130ad8c24c875e66"], "statement_hash": "d20b6489b5ca50704ec1ace8f4182b6c23db58cd69250d2b989043487216c83f", "relations": [{"rule": 2, "type": "equivalent", "target": "1daa193a3af3ddae1130a342a1d42213", "evidence": {"same_day": true, "patch_ids": ["18822265135c97eb130ad8c24c875e66"], "statement_hash": "d20b6489b5ca50704ec1ace8f4182b6c23db58cd69250d2b989043487216c83f"}}, {"rule": 2, "type": "equivalent", "target": "5d032417c1f47b431fd755fdf55938d0", "evidence": {"same_day": true, "patch_ids": ["18822265135c97eb130ad8c24c875e66"], "statement_hash": "d20b6489b5ca50704ec1ace8f4182b6c23db58cd69250d2b989043487216c83f"}}, {"rule": 2, "type": "equivalent", "target": "c82cb92a61f5bad290ecf83245c973ae", "evidence": {"same_day": true, "patch_ids": ["18822265135c97eb130ad8c24c875e66"], "statement_hash": "d20b6489b5ca50704ec1ace8f4182b6c23db58cd69250d2b989043487216c83f"}}, {"rule": 2, "type": "equivalent", "target": "ef8237640a7eb0cf7b858293eb32cb22", "evidence": {"same_day": true, "patch_ids": ["18822265135c97eb130ad8c24c875e66"], "statement_hash": "d20b6489b5ca50704ec1ace8f4182b6c23db58cd69250d2b989043487216c83f"}}, {"rule": 2, "type": "equivalent", "target": "fd8b585815db9c96d9d701bf73af75b3", "evidence": {"same_day": true, "patch_ids": ["18822265135c97eb130ad8c24c875e66"], "statement_hash": "d20b6489b5ca50704ec1ace8f4182b6c23db58cd69250d2b989043487216c83f"}}], "version": "12.13", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "fd8b585815db9c96d9d701bf73af75b3", "kind": "equivalent", "version": "15.1", "label": "15.1", "title": "防止共享内存状态损坏时 postmaster 崩溃", "evidence": {"same_day": true, "patch_ids": ["18822265135c97eb130ad8c24c875e66"], "statement_hash": "d20b6489b5ca50704ec1ace8f4182b6c23db58cd69250d2b989043487216c83f"}, "url": "/docs/compare/?release=15.1#15.1-4442b9e4fca24658", "source_url": "/docs/release/15.1/#ZH-AUTO-RELEASE-15-SECT2-34"}, {"db_id": "1daa193a3af3ddae1130a342a1d42213", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "防止共享内存状态损坏时 postmaster 崩溃", "evidence": {"same_day": true, "patch_ids": ["18822265135c97eb130ad8c24c875e66"], "statement_hash": "d20b6489b5ca50704ec1ace8f4182b6c23db58cd69250d2b989043487216c83f"}, "url": "/docs/compare/?release=14.6#14.6-cb0c60dbbda16fd7", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "c82cb92a61f5bad290ecf83245c973ae", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "防止共享内存状态损坏时 postmaster 崩溃", "evidence": {"same_day": true, "patch_ids": ["18822265135c97eb130ad8c24c875e66"], "statement_hash": "d20b6489b5ca50704ec1ace8f4182b6c23db58cd69250d2b989043487216c83f"}, "url": "/docs/compare/?release=13.9#13.9-5796d7f8f3e3621d", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "5d032417c1f47b431fd755fdf55938d0", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "防止共享内存状态损坏时 postmaster 崩溃", "evidence": {"same_day": true, "patch_ids": ["18822265135c97eb130ad8c24c875e66"], "statement_hash": "d20b6489b5ca50704ec1ace8f4182b6c23db58cd69250d2b989043487216c83f"}, "url": "/docs/compare/?release=11.18#11.18-e90a64c5fa330238", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}, {"db_id": "ef8237640a7eb0cf7b858293eb32cb22", "kind": "equivalent", "version": "10.23", "label": "10.23", "title": "防止共享内存状态损坏时 postmaster 崩溃", "evidence": {"same_day": true, "patch_ids": ["18822265135c97eb130ad8c24c875e66"], "statement_hash": "d20b6489b5ca50704ec1ace8f4182b6c23db58cd69250d2b989043487216c83f"}, "url": "/docs/compare/?release=10.23#10.23-e90a64c5fa330238", "source_url": "/docs/release/10.23/#id-1.11.6.5.6"}]}, {"id": "12.13-6b243bf44ea23df0", "cves": [], "html": "<p>增加更多防止递归至堆栈溢出的防护措施（Richard Guo，Tom Lane）<a href=\"https://postgr.es/c/599a487b0\">§</a> <a href=\"https://postgr.es/c/ba516fb07\">§</a></p>", "text": "增加更多防止递归至堆栈溢出的防护措施（Richard Guo，Tom Lane）§ §", "title": "增加更多防止递归至堆栈溢出的防护措施", "commits": ["599a487b0", "ba516fb07"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.13/#id-1.11.6.15.5", "source_hash": "cc7f055b939767f3909a247e197a8dbd51535e61af0d60d9936608981bb2204f", "section_path": ["变更"], "commit_groups": [["00ac61695", "362032f17", "496ab1d6c", "60f876317", "b744e13b0", "ba516fb07", "e07ebd4b6"], ["2d1f1523c", "310d734ef", "3d3c05c70", "444ec169a", "599a487b0", "f25bed380", "f5157a9ac"]], "identity_text": "Add some more defenses against recursion till stack overrun (Richard Guo, Tom Lane)", "commit_aliases": ["00ac61695", "2d1f1523c", "310d734ef", "362032f17", "3d3c05c70", "444ec169a", "496ab1d6c", "599a487b0", "60f876317", "b744e13b0", "ba516fb07", "e07ebd4b6", "f25bed380", "f5157a9ac"], "source_commits": ["599a487b0", "ba516fb07"], "source_entry_id": "12.13/changes/022", "db_id": "43c0453b20dac7d27a93b39cd4ffe59a", "patch_ids": ["6ef5a2748166207770f14b7757965290", "e3686a21ee44af5288fd7d0d7528a698"], "statement_hash": "0cd7e7050f05189f446e0f36b29e744ff3a07aa16f851ea97e0239600dcac371", "relations": [{"rule": 2, "type": "equivalent", "target": "0e36bcd43e101f94111de8cbfc6aeec3", "evidence": {"same_day": true, "patch_ids": ["6ef5a2748166207770f14b7757965290", "e3686a21ee44af5288fd7d0d7528a698"], "statement_hash": "0cd7e7050f05189f446e0f36b29e744ff3a07aa16f851ea97e0239600dcac371"}}, {"rule": 2, "type": "equivalent", "target": "a52cf594a678f544cd73ede2ed070d5f", "evidence": {"same_day": true, "patch_ids": ["6ef5a2748166207770f14b7757965290", "e3686a21ee44af5288fd7d0d7528a698"], "statement_hash": "0cd7e7050f05189f446e0f36b29e744ff3a07aa16f851ea97e0239600dcac371"}}, {"rule": 2, "type": "equivalent", "target": "ad9c362fda4db8fa8280d976950933f2", "evidence": {"same_day": true, "patch_ids": ["6ef5a2748166207770f14b7757965290", "e3686a21ee44af5288fd7d0d7528a698"], "statement_hash": "0cd7e7050f05189f446e0f36b29e744ff3a07aa16f851ea97e0239600dcac371"}}, {"rule": 2, "type": "equivalent", "target": "ca7f970d66abdba907e84cee088243bc", "evidence": {"same_day": true, "patch_ids": ["6ef5a2748166207770f14b7757965290", "e3686a21ee44af5288fd7d0d7528a698"], "statement_hash": "0cd7e7050f05189f446e0f36b29e744ff3a07aa16f851ea97e0239600dcac371"}}], "version": "12.13", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "ca7f970d66abdba907e84cee088243bc", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "增加更多防止递归至堆栈溢出的防护措施", "evidence": {"same_day": true, "patch_ids": ["6ef5a2748166207770f14b7757965290", "e3686a21ee44af5288fd7d0d7528a698"], "statement_hash": "0cd7e7050f05189f446e0f36b29e744ff3a07aa16f851ea97e0239600dcac371"}, "url": "/docs/compare/?release=14.6#14.6-53e37de615ec5ff4", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "0e36bcd43e101f94111de8cbfc6aeec3", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "增加更多防止递归至堆栈溢出的防护措施", "evidence": {"same_day": true, "patch_ids": ["6ef5a2748166207770f14b7757965290", "e3686a21ee44af5288fd7d0d7528a698"], "statement_hash": "0cd7e7050f05189f446e0f36b29e744ff3a07aa16f851ea97e0239600dcac371"}, "url": "/docs/compare/?release=13.9#13.9-24f46d4be1e669e8", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "a52cf594a678f544cd73ede2ed070d5f", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "增加更多防止递归至堆栈溢出的防护措施", "evidence": {"same_day": true, "patch_ids": ["6ef5a2748166207770f14b7757965290", "e3686a21ee44af5288fd7d0d7528a698"], "statement_hash": "0cd7e7050f05189f446e0f36b29e744ff3a07aa16f851ea97e0239600dcac371"}, "url": "/docs/compare/?release=11.18#11.18-5dd08de9d73c56da", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}, {"db_id": "ad9c362fda4db8fa8280d976950933f2", "kind": "equivalent", "version": "10.23", "label": "10.23", "title": "增加更多防止递归至堆栈溢出的防护措施", "evidence": {"same_day": true, "patch_ids": ["6ef5a2748166207770f14b7757965290", "e3686a21ee44af5288fd7d0d7528a698"], "statement_hash": "0cd7e7050f05189f446e0f36b29e744ff3a07aa16f851ea97e0239600dcac371"}, "url": "/docs/compare/?release=10.23#10.23-5dd08de9d73c56da", "source_url": "/docs/release/10.23/#id-1.11.6.5.6"}]}, {"id": "12.13-2cd320a77a04f7bd", "cves": [], "html": "<p>避免自动清理启动器进程中的长期内存泄漏（Reid Thompson）<a href=\"https://postgr.es/c/8fc6b9635\">§</a></p>\n<p>缺乏用户报告表明此问题在 v15 之前的分支中只是潜在的；但原因不太清楚，因此仍然后移了此修复。</p>", "text": "避免自动清理启动器进程中的长期内存泄漏（Reid Thompson）§ 缺乏用户报告表明此问题在 v15 之前的分支中只是潜在的；但原因不太清楚，因此仍然后移了此修复。", "title": "避免自动清理启动器进程中的长期内存泄漏", "commits": ["8fc6b9635"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.13/#id-1.11.6.15.5", "source_hash": "7895ef93636039b89249c4eb696f296f8e2e66100e667bb51683512a2161daf0", "section_path": ["变更"], "commit_groups": [["0c599e748", "1c1294be7", "45f7152b9", "8fc6b9635", "cb9232d16", "fd640dbb8", "feec1b2d5"]], "identity_text": "Avoid long-term memory leakage in the autovacuum launcher process (Reid Thompson) The lack of field reports suggests that this problem is only latent in pre-v15 branches; but it's not very clear why, so back-patch the fix anyway.", "commit_aliases": ["0c599e748", "1c1294be7", "45f7152b9", "8fc6b9635", "cb9232d16", "fd640dbb8", "feec1b2d5"], "source_commits": ["8fc6b9635"], "source_entry_id": "12.13/changes/023", "db_id": "3deb1008ae9aa09374ebb3529b14849d", "patch_ids": ["589a78508201bc3cfe5bf53707d27511"], "statement_hash": "e77feb4931a770a24184f2fd84f440bb3dc1cddfe73ecdf41d5dbd8c581e3bb7", "relations": [{"rule": 2, "type": "equivalent", "target": "22782ac2c2537b2f3a397eeea0b35eb6", "evidence": {"same_day": true, "patch_ids": ["589a78508201bc3cfe5bf53707d27511"], "statement_hash": "e77feb4931a770a24184f2fd84f440bb3dc1cddfe73ecdf41d5dbd8c581e3bb7"}}, {"rule": 2, "type": "equivalent", "target": "5dee61b2b5b9cda98daba097d6a8e30e", "evidence": {"same_day": true, "patch_ids": ["589a78508201bc3cfe5bf53707d27511"], "statement_hash": "e77feb4931a770a24184f2fd84f440bb3dc1cddfe73ecdf41d5dbd8c581e3bb7"}}, {"rule": 2, "type": "equivalent", "target": "b84a70c8e35fae303effd4bd8611c0c2", "evidence": {"same_day": true, "patch_ids": ["589a78508201bc3cfe5bf53707d27511"], "statement_hash": "e77feb4931a770a24184f2fd84f440bb3dc1cddfe73ecdf41d5dbd8c581e3bb7"}}, {"rule": 2, "type": "equivalent", "target": "c70133475b43ffdb47fc5c8431adc64a", "evidence": {"same_day": true, "patch_ids": ["589a78508201bc3cfe5bf53707d27511"], "statement_hash": "e77feb4931a770a24184f2fd84f440bb3dc1cddfe73ecdf41d5dbd8c581e3bb7"}}], "version": "12.13", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "22782ac2c2537b2f3a397eeea0b35eb6", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "避免自动清理启动器进程中的长期内存泄漏", "evidence": {"same_day": true, "patch_ids": ["589a78508201bc3cfe5bf53707d27511"], "statement_hash": "e77feb4931a770a24184f2fd84f440bb3dc1cddfe73ecdf41d5dbd8c581e3bb7"}, "url": "/docs/compare/?release=14.6#14.6-23e594d8ce56ba9e", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "5dee61b2b5b9cda98daba097d6a8e30e", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "避免自动清理启动器进程中的长期内存泄漏", "evidence": {"same_day": true, "patch_ids": ["589a78508201bc3cfe5bf53707d27511"], "statement_hash": "e77feb4931a770a24184f2fd84f440bb3dc1cddfe73ecdf41d5dbd8c581e3bb7"}, "url": "/docs/compare/?release=13.9#13.9-0c7aa3e57d73815f", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "b84a70c8e35fae303effd4bd8611c0c2", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "避免自动清理启动器进程中的长期内存泄漏", "evidence": {"same_day": true, "patch_ids": ["589a78508201bc3cfe5bf53707d27511"], "statement_hash": "e77feb4931a770a24184f2fd84f440bb3dc1cddfe73ecdf41d5dbd8c581e3bb7"}, "url": "/docs/compare/?release=11.18#11.18-0abb32bf76f7b8b8", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}, {"db_id": "c70133475b43ffdb47fc5c8431adc64a", "kind": "equivalent", "version": "10.23", "label": "10.23", "title": "避免自动清理启动器进程中的长期内存泄漏", "evidence": {"same_day": true, "patch_ids": ["589a78508201bc3cfe5bf53707d27511"], "statement_hash": "e77feb4931a770a24184f2fd84f440bb3dc1cddfe73ecdf41d5dbd8c581e3bb7"}, "url": "/docs/compare/?release=10.23#10.23-0abb32bf76f7b8b8", "source_url": "/docs/release/10.23/#id-1.11.6.5.6"}]}, {"id": "12.13-5d276c5f163bb38b", "cves": [], "html": "<p>改进 <span>PL/pgSQL</span> 处理声明为 <code>RECORD</code> 的参数的能力（Tom Lane）<a href=\"https://postgr.es/c/b3b88d748\">§</a></p>\n<p>在会话期间为传递给 <code>RECORD</code> 参数的每个具体类型构建单独的函数缓存条目，与我们对多态参数所做的类似。这使一些此前会失败并报告 <span>“<span>type of parameter does not match that when preparing the plan</span>”</span> 的用法正常工作。</p>", "text": "改进 PL/pgSQL 处理声明为 RECORD 的参数的能力（Tom Lane）§ 在会话期间为传递给 RECORD 参数的每个具体类型构建单独的函数缓存条目，与我们对多态参数所做的类似。这使一些此前会失败并报告 “type of parameter does not match that when preparing the plan” 的用法正常工作。", "title": "改进 PL/pgSQL 处理声明为 RECORD 的参数的能力", "commits": ["b3b88d748"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.13/#id-1.11.6.15.5", "source_hash": "8fc92fe5ed441385fb31d2657f46d814173e937be5e4baf1e3ae068f68e6e306", "section_path": ["变更"], "commit_groups": [["56d45fdab", "7391ab28a", "b3b88d748", "b759bb671", "bfd6b3bc4", "c18d946e2"]], "identity_text": "Improve PL/pgSQL's ability to handle parameters declared as RECORD (Tom Lane) Build a separate function cache entry for each concrete type passed to the RECORD parameter during a session, much as we do for polymorphic parameters. This allows some usages to work that previously failed with errors such as type of parameter does not match that when preparing the plan.", "commit_aliases": ["56d45fdab", "7391ab28a", "b3b88d748", "b759bb671", "bfd6b3bc4", "c18d946e2"], "source_commits": ["b3b88d748"], "source_entry_id": "12.13/changes/024", "db_id": "d81348381ee6d25f5b3b3bf6156a0561", "patch_ids": ["ab3eb8147d2a00f0d71d083dd88cd094"], "statement_hash": "96d7ef302974782e500805d7512de84112b53ef1cb7f0ab98c3ca6f34241a0bb", "relations": [{"rule": 2, "type": "equivalent", "target": "46c2a0bfdcd428222aa0aeb9e3e8ac54", "evidence": {"same_day": true, "patch_ids": ["ab3eb8147d2a00f0d71d083dd88cd094"], "statement_hash": "96d7ef302974782e500805d7512de84112b53ef1cb7f0ab98c3ca6f34241a0bb"}}, {"rule": 2, "type": "equivalent", "target": "592c233472716c57125c09f4a2ae2021", "evidence": {"same_day": true, "patch_ids": ["ab3eb8147d2a00f0d71d083dd88cd094"], "statement_hash": "96d7ef302974782e500805d7512de84112b53ef1cb7f0ab98c3ca6f34241a0bb"}}, {"rule": 2, "type": "equivalent", "target": "d5cffca8984aaacdfcf82659c251f500", "evidence": {"same_day": true, "patch_ids": ["ab3eb8147d2a00f0d71d083dd88cd094"], "statement_hash": "96d7ef302974782e500805d7512de84112b53ef1cb7f0ab98c3ca6f34241a0bb"}}], "version": "12.13", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "592c233472716c57125c09f4a2ae2021", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "改进 PL/pgSQL 处理声明为 RECORD 的参数的能力", "evidence": {"same_day": true, "patch_ids": ["ab3eb8147d2a00f0d71d083dd88cd094"], "statement_hash": "96d7ef302974782e500805d7512de84112b53ef1cb7f0ab98c3ca6f34241a0bb"}, "url": "/docs/compare/?release=14.6#14.6-2a772b8b2889d180", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "46c2a0bfdcd428222aa0aeb9e3e8ac54", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "改进 PL/pgSQL 处理声明为 RECORD 的参数的能力", "evidence": {"same_day": true, "patch_ids": ["ab3eb8147d2a00f0d71d083dd88cd094"], "statement_hash": "96d7ef302974782e500805d7512de84112b53ef1cb7f0ab98c3ca6f34241a0bb"}, "url": "/docs/compare/?release=13.9#13.9-b1b24166c814fc9f", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "d5cffca8984aaacdfcf82659c251f500", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "改进 PL/pgSQL 处理声明为 RECORD 的参数的能力", "evidence": {"same_day": true, "patch_ids": ["ab3eb8147d2a00f0d71d083dd88cd094"], "statement_hash": "96d7ef302974782e500805d7512de84112b53ef1cb7f0ab98c3ca6f34241a0bb"}, "url": "/docs/compare/?release=11.18#11.18-87c9b7c4005419ed", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}]}, {"id": "12.13-0ba86e5e2f243c99", "cves": [], "html": "<p>在 <span>libpq</span> 中为 <code>NULL</code> 连接指针增加缺失的保护检查（Daniele Varrazzo，Tom Lane）<a href=\"https://postgr.es/c/c19024d74\">§</a></p>\n<p>有一个惯例是 <span>libpq</span> 函数应检查 NULL 的 PGconn 参数，并优雅地失败而不是崩溃。<code>PQflush()</code> 和 <code>PQisnonblocking()</code> 没有遵循这个惯例，因此予以修复。</p>", "text": "在 libpq 中为 NULL 连接指针增加缺失的保护检查（Daniele Varrazzo，Tom Lane）§ 有一个惯例是 libpq 函数应检查 NULL 的 PGconn 参数，并优雅地失败而不是崩溃。PQflush() 和 PQisnonblocking() 没有遵循这个惯例，因此予以修复。", "title": "在 libpq 中为 NULL 连接指针增加缺失的保护检查", "commits": ["c19024d74"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.13/#id-1.11.6.15.5", "source_hash": "f520c539dc57225f838a05b414df1d4d15cff4c0f692452ea1514e06f3cc6e6e", "section_path": ["变更"], "commit_groups": [["2a280832e", "bb9237a12", "c19024d74", "d63a69157", "e37e9a655", "ee4a17e20", "ef9f35964"]], "identity_text": "Add missing guards for NULL connection pointer in libpq (Daniele Varrazzo, Tom Lane) There's a convention that libpq functions should check for a NULL PGconn argument, and fail gracefully instead of crashing. PQflush() and PQisnonblocking() didn't get that memo, so fix them.", "commit_aliases": ["2a280832e", "bb9237a12", "c19024d74", "d63a69157", "e37e9a655", "ee4a17e20", "ef9f35964"], "source_commits": ["c19024d74"], "source_entry_id": "12.13/changes/025", "db_id": "bf0a17029d86400d2224536df8386f66", "patch_ids": ["e16f0e8120536fafe88b004523c91931"], "statement_hash": "d4d85326f8b2ccc634feb9736e84d050fc0bbc1ee554d44aa0985228daf1518b", "relations": [{"rule": 2, "type": "equivalent", "target": "82854e6f737375cac92bbdcc670ea7db", "evidence": {"same_day": true, "patch_ids": ["e16f0e8120536fafe88b004523c91931"], "statement_hash": "d4d85326f8b2ccc634feb9736e84d050fc0bbc1ee554d44aa0985228daf1518b"}}, {"rule": 2, "type": "equivalent", "target": "b55df007a9dbf6ece8102423b2a934f1", "evidence": {"same_day": true, "patch_ids": ["e16f0e8120536fafe88b004523c91931"], "statement_hash": "d4d85326f8b2ccc634feb9736e84d050fc0bbc1ee554d44aa0985228daf1518b"}}, {"rule": 2, "type": "equivalent", "target": "fe468213bea340e0f5db60e18e9caab3", "evidence": {"same_day": true, "patch_ids": ["e16f0e8120536fafe88b004523c91931"], "statement_hash": "d4d85326f8b2ccc634feb9736e84d050fc0bbc1ee554d44aa0985228daf1518b"}}, {"rule": 2, "type": "equivalent", "target": "fe8abf1a4efdbc7705d6f5edae79e0cb", "evidence": {"same_day": true, "patch_ids": ["e16f0e8120536fafe88b004523c91931"], "statement_hash": "d4d85326f8b2ccc634feb9736e84d050fc0bbc1ee554d44aa0985228daf1518b"}}], "version": "12.13", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "82854e6f737375cac92bbdcc670ea7db", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "在 libpq 中为 NULL 连接指针增加缺失的保护检查", "evidence": {"same_day": true, "patch_ids": ["e16f0e8120536fafe88b004523c91931"], "statement_hash": "d4d85326f8b2ccc634feb9736e84d050fc0bbc1ee554d44aa0985228daf1518b"}, "url": "/docs/compare/?release=14.6#14.6-1bf72388a2a1ff3b", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "fe8abf1a4efdbc7705d6f5edae79e0cb", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "在 libpq 中为 NULL 连接指针增加缺失的保护检查", "evidence": {"same_day": true, "patch_ids": ["e16f0e8120536fafe88b004523c91931"], "statement_hash": "d4d85326f8b2ccc634feb9736e84d050fc0bbc1ee554d44aa0985228daf1518b"}, "url": "/docs/compare/?release=13.9#13.9-98797364b35e4b1a", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "fe468213bea340e0f5db60e18e9caab3", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "在 libpq 中为 NULL 连接指针增加缺失的保护检查", "evidence": {"same_day": true, "patch_ids": ["e16f0e8120536fafe88b004523c91931"], "statement_hash": "d4d85326f8b2ccc634feb9736e84d050fc0bbc1ee554d44aa0985228daf1518b"}, "url": "/docs/compare/?release=11.18#11.18-feb7c1a92af8b095", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}, {"db_id": "b55df007a9dbf6ece8102423b2a934f1", "kind": "equivalent", "version": "10.23", "label": "10.23", "title": "在 libpq 中为 NULL 连接指针增加缺失的保护检查", "evidence": {"same_day": true, "patch_ids": ["e16f0e8120536fafe88b004523c91931"], "statement_hash": "d4d85326f8b2ccc634feb9736e84d050fc0bbc1ee554d44aa0985228daf1518b"}, "url": "/docs/compare/?release=10.23#10.23-feb7c1a92af8b095", "source_url": "/docs/release/10.23/#id-1.11.6.5.6"}]}, {"id": "12.13-fd66e203c32ef3d9", "cves": [], "html": "<p>在 <span>ecpg</span> 中，修复在同一声明中声明多个 <code>varchar</code> 或 <code>bytea</code> 变量时遗漏变量存储类的问题（Andrey Sokolov）<a href=\"https://postgr.es/c/9fbc6d548\">§</a></p>\n<p>例如，<span>ecpg</span> 在翻译 <code>static varchar str1[10], str2[20], str3[30];</code> 时，只有 <code>str1</code> 被标记为 <code>static</code>。</p>", "text": "在 ecpg 中，修复在同一声明中声明多个 varchar 或 bytea 变量时遗漏变量存储类的问题（Andrey Sokolov）§ 例如，ecpg 在翻译 static varchar str1[10], str2[20], str3[30]; 时，只有 str1 被标记为 static。", "title": "在 ecpg 中，修复在同一声明中声明多个 varchar 或 bytea 变量时遗漏变量存储类的问题", "commits": ["9fbc6d548"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.13/#id-1.11.6.15.5", "source_hash": "d6f76131bc46bc53d41536e5f91c35b0090438ef4142caa62910800beef577e1", "section_path": ["变更"], "commit_groups": [["8fe26bca1", "9fbc6d548", "a6618842f", "b7050e258", "be0b0528c", "fbb54d742", "fe4e151d4"]], "identity_text": "In ecpg, fix omission of variable storage classes when multiple varchar or bytea variables are declared in the same declaration (Andrey Sokolov) For example, ecpg translated static varchar str1[10], str2[20], str3[30]; in such a way that only str1 was marked static.", "commit_aliases": ["8fe26bca1", "9fbc6d548", "a6618842f", "b7050e258", "be0b0528c", "fbb54d742", "fe4e151d4"], "source_commits": ["9fbc6d548"], "source_entry_id": "12.13/changes/026", "db_id": "886aa0395822e919514b21f6c50d33d3", "patch_ids": ["1cdeb4697d21eb96c59c818dd2640972"], "statement_hash": "df700ecfdd5ba464e9f87c9e569c9d7aaccb704f2a94415486ee4b4d76a65492", "relations": [{"rule": 2, "type": "equivalent", "target": "13507ba8b2b3836c543f3c75cd90bc24", "evidence": {"same_day": true, "patch_ids": ["1cdeb4697d21eb96c59c818dd2640972"], "statement_hash": "df700ecfdd5ba464e9f87c9e569c9d7aaccb704f2a94415486ee4b4d76a65492"}}, {"rule": 2, "type": "equivalent", "target": "ddc23c2cd77f2375a993aa6eb8025870", "evidence": {"same_day": true, "patch_ids": ["1cdeb4697d21eb96c59c818dd2640972"], "statement_hash": "df700ecfdd5ba464e9f87c9e569c9d7aaccb704f2a94415486ee4b4d76a65492"}}, {"rule": 2, "type": "equivalent", "target": "e56825dc8d816da89c0c12ee5d51f1ac", "evidence": {"same_day": true, "patch_ids": ["1cdeb4697d21eb96c59c818dd2640972"], "statement_hash": "df700ecfdd5ba464e9f87c9e569c9d7aaccb704f2a94415486ee4b4d76a65492"}}, {"rule": 2, "type": "equivalent", "target": "ebd0acd1a63d0005fc14ac73af848f1d", "evidence": {"same_day": true, "patch_ids": ["1cdeb4697d21eb96c59c818dd2640972"], "statement_hash": "df700ecfdd5ba464e9f87c9e569c9d7aaccb704f2a94415486ee4b4d76a65492"}}], "version": "12.13", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "ebd0acd1a63d0005fc14ac73af848f1d", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "在 ecpg 中，修复在同一声明中声明多个 varchar 或 bytea 变量时遗漏变量存储类的问题", "evidence": {"same_day": true, "patch_ids": ["1cdeb4697d21eb96c59c818dd2640972"], "statement_hash": "df700ecfdd5ba464e9f87c9e569c9d7aaccb704f2a94415486ee4b4d76a65492"}, "url": "/docs/compare/?release=14.6#14.6-5bae5a3e27e00a42", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "ddc23c2cd77f2375a993aa6eb8025870", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "在 ecpg 中，修复在同一声明中声明多个 varchar 或 bytea 变量时遗漏变量存储类的问题", "evidence": {"same_day": true, "patch_ids": ["1cdeb4697d21eb96c59c818dd2640972"], "statement_hash": "df700ecfdd5ba464e9f87c9e569c9d7aaccb704f2a94415486ee4b4d76a65492"}, "url": "/docs/compare/?release=13.9#13.9-a601317829a6176d", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "e56825dc8d816da89c0c12ee5d51f1ac", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "在 ecpg 中，修复在同一声明中声明多个 varchar 或 bytea 变量时遗漏变量存储类的问题", "evidence": {"same_day": true, "patch_ids": ["1cdeb4697d21eb96c59c818dd2640972"], "statement_hash": "df700ecfdd5ba464e9f87c9e569c9d7aaccb704f2a94415486ee4b4d76a65492"}, "url": "/docs/compare/?release=11.18#11.18-c1c11e3cbe24210a", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}, {"db_id": "13507ba8b2b3836c543f3c75cd90bc24", "kind": "equivalent", "version": "10.23", "label": "10.23", "title": "在 ecpg 中，修复在同一声明中声明多个 varchar 或 bytea 变量时遗漏变量存储类的问题", "evidence": {"same_day": true, "patch_ids": ["1cdeb4697d21eb96c59c818dd2640972"], "statement_hash": "df700ecfdd5ba464e9f87c9e569c9d7aaccb704f2a94415486ee4b4d76a65492"}, "url": "/docs/compare/?release=10.23#10.23-c1c11e3cbe24210a", "source_url": "/docs/release/10.23/#id-1.11.6.5.6"}]}, {"id": "12.13-991f9621bf8c4c52", "cves": [], "html": "<p>允许在 <span>pg_basebackup</span> 中进行跨平台表空间重定位（Robert Haas）<a href=\"https://postgr.es/c/475e9daf3\">§</a></p>\n<p>允许 <code>--tablespace-mapping</code> 中的远程路径为 Unix 风格或 Windows 风格的绝对路径，因为源服务器可能与本地系统运行在不同的操作系统上。</p>", "text": "允许在 pg_basebackup 中进行跨平台表空间重定位（Robert Haas）§ 允许 --tablespace-mapping 中的远程路径为 Unix 风格或 Windows 风格的绝对路径，因为源服务器可能与本地系统运行在不同的操作系统上。", "title": "允许在 pg_basebackup 中进行跨平台表空间重定位", "commits": ["475e9daf3"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.13/#id-1.11.6.15.5", "source_hash": "283b06ca484bce5a6d7dd89966519d1ea9f7d40a870389f2e1a669f2dade6e35", "section_path": ["变更"], "commit_groups": [["0bf2cd160", "1f0c4fa25", "38214dabd", "475e9daf3", "5c013e620", "aaad8adb0", "ba58266eb"]], "identity_text": "Allow cross-platform tablespace relocation in pg_basebackup (Robert Haas) Allow the remote path in --tablespace-mapping to be either a Unix-style or Windows-style absolute path, since the source server could be on a different OS than the local system.", "commit_aliases": ["0bf2cd160", "1f0c4fa25", "38214dabd", "475e9daf3", "5c013e620", "aaad8adb0", "ba58266eb"], "source_commits": ["475e9daf3"], "source_entry_id": "12.13/changes/027", "db_id": "927e70d7162b1fe72191d8b686a2c7c1", "patch_ids": ["f9b2de5d561ca4f8f2dede26ecde862d"], "statement_hash": "68444777aca00b4587bdca03242df3dc241b6c1959a8682cd3d915d1fedf131a", "relations": [{"rule": 2, "type": "equivalent", "target": "1ea5bc7f5317c6a59b6cdd90856c3474", "evidence": {"same_day": true, "patch_ids": ["f9b2de5d561ca4f8f2dede26ecde862d"], "statement_hash": "68444777aca00b4587bdca03242df3dc241b6c1959a8682cd3d915d1fedf131a"}}, {"rule": 2, "type": "equivalent", "target": "69711831b00cb8d6eacdb3276415a27d", "evidence": {"same_day": true, "patch_ids": ["f9b2de5d561ca4f8f2dede26ecde862d"], "statement_hash": "68444777aca00b4587bdca03242df3dc241b6c1959a8682cd3d915d1fedf131a"}}, {"rule": 2, "type": "equivalent", "target": "8c498bcceeb55076e63bf1b4748041f7", "evidence": {"same_day": true, "patch_ids": ["f9b2de5d561ca4f8f2dede26ecde862d"], "statement_hash": "68444777aca00b4587bdca03242df3dc241b6c1959a8682cd3d915d1fedf131a"}}, {"rule": 2, "type": "equivalent", "target": "8c755b14881c5eb3d4d38b51f381b5f2", "evidence": {"same_day": true, "patch_ids": ["f9b2de5d561ca4f8f2dede26ecde862d"], "statement_hash": "68444777aca00b4587bdca03242df3dc241b6c1959a8682cd3d915d1fedf131a"}}, {"rule": 2, "type": "equivalent", "target": "af4495fbb1a71aab9aa6f43a50575072", "evidence": {"same_day": true, "patch_ids": ["f9b2de5d561ca4f8f2dede26ecde862d"], "statement_hash": "68444777aca00b4587bdca03242df3dc241b6c1959a8682cd3d915d1fedf131a"}}], "version": "12.13", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "1ea5bc7f5317c6a59b6cdd90856c3474", "kind": "equivalent", "version": "15.1", "label": "15.1", "title": "允许在 pg_basebackup 中进行跨平台表空间重定位", "evidence": {"same_day": true, "patch_ids": ["f9b2de5d561ca4f8f2dede26ecde862d"], "statement_hash": "68444777aca00b4587bdca03242df3dc241b6c1959a8682cd3d915d1fedf131a"}, "url": "/docs/compare/?release=15.1#15.1-b19291a91dbfa5c6", "source_url": "/docs/release/15.1/#ZH-AUTO-RELEASE-15-SECT2-34"}, {"db_id": "69711831b00cb8d6eacdb3276415a27d", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "允许在 pg_basebackup 中进行跨平台表空间重定位", "evidence": {"same_day": true, "patch_ids": ["f9b2de5d561ca4f8f2dede26ecde862d"], "statement_hash": "68444777aca00b4587bdca03242df3dc241b6c1959a8682cd3d915d1fedf131a"}, "url": "/docs/compare/?release=14.6#14.6-86763296d6c9be1d", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "af4495fbb1a71aab9aa6f43a50575072", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "允许在 pg_basebackup 中进行跨平台表空间重定位", "evidence": {"same_day": true, "patch_ids": ["f9b2de5d561ca4f8f2dede26ecde862d"], "statement_hash": "68444777aca00b4587bdca03242df3dc241b6c1959a8682cd3d915d1fedf131a"}, "url": "/docs/compare/?release=13.9#13.9-c553b578e860aa78", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "8c498bcceeb55076e63bf1b4748041f7", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "允许在 pg_basebackup 中进行跨平台表空间重定位", "evidence": {"same_day": true, "patch_ids": ["f9b2de5d561ca4f8f2dede26ecde862d"], "statement_hash": "68444777aca00b4587bdca03242df3dc241b6c1959a8682cd3d915d1fedf131a"}, "url": "/docs/compare/?release=11.18#11.18-c3e247c81e12b527", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}, {"db_id": "8c755b14881c5eb3d4d38b51f381b5f2", "kind": "equivalent", "version": "10.23", "label": "10.23", "title": "允许在 pg_basebackup 中进行跨平台表空间重定位", "evidence": {"same_day": true, "patch_ids": ["f9b2de5d561ca4f8f2dede26ecde862d"], "statement_hash": "68444777aca00b4587bdca03242df3dc241b6c1959a8682cd3d915d1fedf131a"}, "url": "/docs/compare/?release=10.23#10.23-c3e247c81e12b527", "source_url": "/docs/release/10.23/#id-1.11.6.5.6"}]}, {"id": "12.13-0420747629b2c301", "cves": [], "html": "<p>在 <span>pg_stat_statements</span> 中，修复对已释放内存的访问（zhaoqigui）<a href=\"https://postgr.es/c/ca4c6764b\">§</a></p>\n<p>当 <span>pg_stat_statements</span> 跟踪通过扩展查询协议发出的 <code>ROLLBACK</code> 命令时会出现此问题。在调试构建中，这始终导致断言失败。在生产构建中，通常没有可见的不良影响；但如果释放的内存已经被重用，很可能的结果是存储查询字符串的垃圾数据。</p>", "text": "在 pg_stat_statements 中，修复对已释放内存的访问（zhaoqigui）§ 当 pg_stat_statements 跟踪通过扩展查询协议发出的 ROLLBACK 命令时会出现此问题。在调试构建中，这始终导致断言失败。在生产构建中，通常没有可见的不良影响；但如果释放的内存已经被重用，很可能的结果是存储查询字符串的垃圾数据。", "title": "在 pg_stat_statements 中，修复对已释放内存的访问", "commits": ["ca4c6764b"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.13/#id-1.11.6.15.5", "source_hash": "bc863bd34425445c47c6b9fb0d3ab9b242c00d34c30fd3f1283755e7e3aad33a", "section_path": ["变更"], "commit_groups": [["0f2f5645a", "149e00192", "495e73c20", "56083ff30", "8b0a5cf3f", "a9fdb48b7", "ca4c6764b"]], "identity_text": "In pg_stat_statements, fix access to already-freed memory (zhaoqigui) This occurred if pg_stat_statements tracked a ROLLBACK command issued via extended query protocol. In debug builds it consistently led to an assertion failure. In production builds there would often be no visible ill effect; but if the freed memory had already been reused, the likely result would be to store garbage for the query string.", "commit_aliases": ["0f2f5645a", "149e00192", "495e73c20", "56083ff30", "8b0a5cf3f", "a9fdb48b7", "ca4c6764b"], "source_commits": ["ca4c6764b"], "source_entry_id": "12.13/changes/028", "db_id": "2fc267a495e47f35e3d428f3e00e2671", "patch_ids": ["98926bb321e075952c5e05c27d302546"], "statement_hash": "de37b8e17d89ee5559a2633062274ec6c9eeb420f7721b6b71de9c669a47ab12", "relations": [{"rule": 2, "type": "equivalent", "target": "15d3cd3f154b92699a931a00f1e9deb6", "evidence": {"same_day": true, "patch_ids": ["98926bb321e075952c5e05c27d302546"], "statement_hash": "de37b8e17d89ee5559a2633062274ec6c9eeb420f7721b6b71de9c669a47ab12"}}, {"rule": 2, "type": "equivalent", "target": "2cd202bef064994dc8769d3f45e51ffd", "evidence": {"same_day": true, "patch_ids": ["98926bb321e075952c5e05c27d302546"], "statement_hash": "de37b8e17d89ee5559a2633062274ec6c9eeb420f7721b6b71de9c669a47ab12"}}, {"rule": 2, "type": "equivalent", "target": "529f8cd205bfab585ae45952ba439807", "evidence": {"same_day": true, "patch_ids": ["98926bb321e075952c5e05c27d302546"], "statement_hash": "de37b8e17d89ee5559a2633062274ec6c9eeb420f7721b6b71de9c669a47ab12"}}, {"rule": 2, "type": "equivalent", "target": "7bb57736b2da7cfd8601228b1ac1f513", "evidence": {"same_day": true, "patch_ids": ["98926bb321e075952c5e05c27d302546"], "statement_hash": "de37b8e17d89ee5559a2633062274ec6c9eeb420f7721b6b71de9c669a47ab12"}}, {"rule": 2, "type": "equivalent", "target": "da50bf0c77744d2ede9cb56a4c5e666d", "evidence": {"same_day": true, "patch_ids": ["98926bb321e075952c5e05c27d302546"], "statement_hash": "de37b8e17d89ee5559a2633062274ec6c9eeb420f7721b6b71de9c669a47ab12"}}], "version": "12.13", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "da50bf0c77744d2ede9cb56a4c5e666d", "kind": "equivalent", "version": "15.1", "label": "15.1", "title": "在 pg_stat_statements 中，修复对已释放内存的访问", "evidence": {"same_day": true, "patch_ids": ["98926bb321e075952c5e05c27d302546"], "statement_hash": "de37b8e17d89ee5559a2633062274ec6c9eeb420f7721b6b71de9c669a47ab12"}, "url": "/docs/compare/?release=15.1#15.1-74109c5e008cde1f", "source_url": "/docs/release/15.1/#ZH-AUTO-RELEASE-15-SECT2-34"}, {"db_id": "529f8cd205bfab585ae45952ba439807", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "在 pg_stat_statements 中，修复对已释放内存的访问", "evidence": {"same_day": true, "patch_ids": ["98926bb321e075952c5e05c27d302546"], "statement_hash": "de37b8e17d89ee5559a2633062274ec6c9eeb420f7721b6b71de9c669a47ab12"}, "url": "/docs/compare/?release=14.6#14.6-e0347dcad21bcabc", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "15d3cd3f154b92699a931a00f1e9deb6", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "在 pg_stat_statements 中，修复对已释放内存的访问", "evidence": {"same_day": true, "patch_ids": ["98926bb321e075952c5e05c27d302546"], "statement_hash": "de37b8e17d89ee5559a2633062274ec6c9eeb420f7721b6b71de9c669a47ab12"}, "url": "/docs/compare/?release=13.9#13.9-81752ae7e7775d66", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "2cd202bef064994dc8769d3f45e51ffd", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "在 pg_stat_statements 中，修复对已释放内存的访问", "evidence": {"same_day": true, "patch_ids": ["98926bb321e075952c5e05c27d302546"], "statement_hash": "de37b8e17d89ee5559a2633062274ec6c9eeb420f7721b6b71de9c669a47ab12"}, "url": "/docs/compare/?release=11.18#11.18-9cd45ca7858c47f9", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}, {"db_id": "7bb57736b2da7cfd8601228b1ac1f513", "kind": "equivalent", "version": "10.23", "label": "10.23", "title": "在 pg_stat_statements 中，修复对已释放内存的访问", "evidence": {"same_day": true, "patch_ids": ["98926bb321e075952c5e05c27d302546"], "statement_hash": "de37b8e17d89ee5559a2633062274ec6c9eeb420f7721b6b71de9c669a47ab12"}, "url": "/docs/compare/?release=10.23#10.23-9cd45ca7858c47f9", "source_url": "/docs/release/10.23/#id-1.11.6.5.6"}]}, {"id": "12.13-e13f28d2333cba09", "cves": [], "html": "<p>在 <span>postgres_fdw</span> 中，确保为 EvalPlanQual 计划构建的目标列表包含所有必需的列（Richard Guo，Etsuro Fujita）<a href=\"https://postgr.es/c/87fd3c902\">§</a></p>\n<p>这避免了在罕见情况下出现 <span>“<span>variable not found in subplan target list</span>”</span> 错误。</p>", "text": "在 postgres_fdw 中，确保为 EvalPlanQual 计划构建的目标列表包含所有必需的列（Richard Guo，Etsuro Fujita）§ 这避免了在罕见情况下出现 “variable not found in subplan target list” 错误。", "title": "在 postgres_fdw 中，确保为 EvalPlanQual 计划构建的目标列表包含所有必需的列", "commits": ["87fd3c902"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.13/#id-1.11.6.15.5", "source_hash": "67a41220bd3d1ae425fd6adefa294140804db957e1b2ac33021d4f231d57f186", "section_path": ["变更"], "commit_groups": [["07d81d1e5", "64387c540", "6749d4e8c", "87fd3c902", "9320cfdd0", "b53d104ae", "d4adff0e9"]], "identity_text": "In postgres_fdw, ensure that target lists constructed for EvalPlanQual plans will have all required columns (Richard Guo, Etsuro Fujita) This avoids variable not found in subplan target list errors in rare cases.", "commit_aliases": ["07d81d1e5", "64387c540", "6749d4e8c", "87fd3c902", "9320cfdd0", "b53d104ae", "d4adff0e9"], "source_commits": ["87fd3c902"], "source_entry_id": "12.13/changes/029", "db_id": "4bac89843e33359b5b1da001ab0e3809", "patch_ids": ["5c3073108852d93c18febebd3e4ef90a"], "statement_hash": "91d9ef223cacc454b197d6299bc20d5563a2c3f73f7749da26fe6a7e8f942d81", "relations": [{"rule": 2, "type": "equivalent", "target": "7001b8084c1b72bde0fbd98b51592e7d", "evidence": {"same_day": true, "patch_ids": ["5c3073108852d93c18febebd3e4ef90a"], "statement_hash": "91d9ef223cacc454b197d6299bc20d5563a2c3f73f7749da26fe6a7e8f942d81"}}, {"rule": 2, "type": "equivalent", "target": "8b82a65b41ef5f42ce456288fe4617e4", "evidence": {"same_day": true, "patch_ids": ["5c3073108852d93c18febebd3e4ef90a"], "statement_hash": "91d9ef223cacc454b197d6299bc20d5563a2c3f73f7749da26fe6a7e8f942d81"}}, {"rule": 2, "type": "equivalent", "target": "a58f0b3dcb5d721262ff1535e16e5bd3", "evidence": {"same_day": true, "patch_ids": ["5c3073108852d93c18febebd3e4ef90a"], "statement_hash": "91d9ef223cacc454b197d6299bc20d5563a2c3f73f7749da26fe6a7e8f942d81"}}, {"rule": 2, "type": "equivalent", "target": "ed56195d365922b9e03f480a412d8fb6", "evidence": {"same_day": true, "patch_ids": ["5c3073108852d93c18febebd3e4ef90a"], "statement_hash": "91d9ef223cacc454b197d6299bc20d5563a2c3f73f7749da26fe6a7e8f942d81"}}], "version": "12.13", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "ed56195d365922b9e03f480a412d8fb6", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "在 postgres_fdw 中，确保为 EvalPlanQual 计划构建的目标列表包含所有必需的列", "evidence": {"same_day": true, "patch_ids": ["5c3073108852d93c18febebd3e4ef90a"], "statement_hash": "91d9ef223cacc454b197d6299bc20d5563a2c3f73f7749da26fe6a7e8f942d81"}, "url": "/docs/compare/?release=14.6#14.6-0d1be0a4476355b0", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "7001b8084c1b72bde0fbd98b51592e7d", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "在 postgres_fdw 中，确保为 EvalPlanQual 计划构建的目标列表包含所有必需的列", "evidence": {"same_day": true, "patch_ids": ["5c3073108852d93c18febebd3e4ef90a"], "statement_hash": "91d9ef223cacc454b197d6299bc20d5563a2c3f73f7749da26fe6a7e8f942d81"}, "url": "/docs/compare/?release=13.9#13.9-726f183aa5d4c5cb", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "8b82a65b41ef5f42ce456288fe4617e4", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "在 postgres_fdw 中，确保为 EvalPlanQual 计划构建的目标列表包含所有必需的列", "evidence": {"same_day": true, "patch_ids": ["5c3073108852d93c18febebd3e4ef90a"], "statement_hash": "91d9ef223cacc454b197d6299bc20d5563a2c3f73f7749da26fe6a7e8f942d81"}, "url": "/docs/compare/?release=11.18#11.18-924dd75e0f845736", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}, {"db_id": "a58f0b3dcb5d721262ff1535e16e5bd3", "kind": "equivalent", "version": "10.23", "label": "10.23", "title": "在 postgres_fdw 中，确保为 EvalPlanQual 计划构建的目标列表包含所有必需的列", "evidence": {"same_day": true, "patch_ids": ["5c3073108852d93c18febebd3e4ef90a"], "statement_hash": "91d9ef223cacc454b197d6299bc20d5563a2c3f73f7749da26fe6a7e8f942d81"}, "url": "/docs/compare/?release=10.23#10.23-924dd75e0f845736", "source_url": "/docs/release/10.23/#id-1.11.6.5.6"}]}, {"id": "12.13-12e5ee8c32c38a1f", "cves": [], "html": "<p>拒绝平台的 <code>uuid_create()</code> 函数产生的意外输出（Nazir Bilal Yavuz）<a href=\"https://postgr.es/c/23fe89a61\">§</a></p>\n<p><span>uuid-ossp</span> 模块期望 libc 的 <code>uuid_create()</code> 产生版本 1 的 UUID，但最近的 NetBSD 版本改为产生版本 4（随机）的 UUID。检查这一点，如果是则抛出错误。删除文档中关于 NetBSD 实现可用于 <span>uuid-ossp</span> 的声明。（如果版本 4 的 UUID 对你的目的来说没问题，你根本不需要 <span>uuid-ossp</span>；只需使用 <code>gen_random_uuid()</code> 即可。）</p>", "text": "拒绝平台的 uuid_create() 函数产生的意外输出（Nazir Bilal Yavuz）§ uuid-ossp 模块期望 libc 的 uuid_create() 产生版本 1 的 UUID，但最近的 NetBSD 版本改为产生版本 4（随机）的 UUID。检查这一点，如果是则抛出错误。删除文档中关于 NetBSD 实现可用于 uuid-ossp 的声明。（如果版本 4 的 UUID 对你的目的来说没问题，你根本不需要 uuid-ossp；只需使用 gen_random_uuid() 即可。）", "title": "拒绝平台的 uuid_create() 函数产生的意外输出", "commits": ["23fe89a61"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.13/#id-1.11.6.15.5", "source_hash": "4937717c4e8fbaa6c52b7aa8777f933305b74bf2431edd0e7248b175222b8fee", "section_path": ["变更"], "commit_groups": [["100a8ca2c", "23fe89a61", "4d3f54bd7", "95028d9de", "a61095aa7", "c4b6d218e", "e55ccb3b1"]], "identity_text": "Reject unwanted output from the platform's uuid_create() function (Nazir Bilal Yavuz) The uuid-ossp module expects libc's uuid_create() to produce a version-1 UUID, but recent NetBSD releases produce a version-4 (random) UUID instead. Check for that, and complain if so. Drop the documentation's claim that the NetBSD implementation is usable for uuid-ossp. (If a version-4 UUID is okay for your purposes, you don't need uuid-ossp at all; just use gen_random_uuid().)", "commit_aliases": ["100a8ca2c", "23fe89a61", "4d3f54bd7", "95028d9de", "a61095aa7", "c4b6d218e", "e55ccb3b1"], "source_commits": ["23fe89a61"], "source_entry_id": "12.13/changes/030", "db_id": "281efcbb0bbfd2eb89d234771e122023", "patch_ids": ["ab33a31dedd2d9639f3cb2ae3b5d0af4"], "statement_hash": "952959baa1127261afedd88bce0b4ac8836a28a0a436b5daa1e5e26972d63aa4", "relations": [{"rule": 2, "type": "equivalent", "target": "206e859bfa2eb17861b024d34fac0069", "evidence": {"same_day": true, "patch_ids": ["ab33a31dedd2d9639f3cb2ae3b5d0af4"], "statement_hash": "952959baa1127261afedd88bce0b4ac8836a28a0a436b5daa1e5e26972d63aa4"}}, {"rule": 2, "type": "equivalent", "target": "9367636327f8e4fd33c64d07fbb8aaa2", "evidence": {"same_day": true, "patch_ids": ["ab33a31dedd2d9639f3cb2ae3b5d0af4"], "statement_hash": "952959baa1127261afedd88bce0b4ac8836a28a0a436b5daa1e5e26972d63aa4"}}, {"rule": 2, "type": "equivalent", "target": "973d0bde62ff7b1eb04710ddd6e1869b", "evidence": {"same_day": true, "patch_ids": ["ab33a31dedd2d9639f3cb2ae3b5d0af4"], "statement_hash": "952959baa1127261afedd88bce0b4ac8836a28a0a436b5daa1e5e26972d63aa4"}}, {"rule": 2, "type": "equivalent", "target": "b6120b68f93014a7eaa1f23efab929e4", "evidence": {"same_day": true, "patch_ids": ["ab33a31dedd2d9639f3cb2ae3b5d0af4"], "statement_hash": "952959baa1127261afedd88bce0b4ac8836a28a0a436b5daa1e5e26972d63aa4"}}], "version": "12.13", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "973d0bde62ff7b1eb04710ddd6e1869b", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "拒绝平台的 uuid_create() 函数产生的意外输出", "evidence": {"same_day": true, "patch_ids": ["ab33a31dedd2d9639f3cb2ae3b5d0af4"], "statement_hash": "952959baa1127261afedd88bce0b4ac8836a28a0a436b5daa1e5e26972d63aa4"}, "url": "/docs/compare/?release=14.6#14.6-e8b1bd7c7d1b0f2e", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "206e859bfa2eb17861b024d34fac0069", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "拒绝平台的 uuid_create() 函数产生的意外输出", "evidence": {"same_day": true, "patch_ids": ["ab33a31dedd2d9639f3cb2ae3b5d0af4"], "statement_hash": "952959baa1127261afedd88bce0b4ac8836a28a0a436b5daa1e5e26972d63aa4"}, "url": "/docs/compare/?release=13.9#13.9-3288460928524959", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "b6120b68f93014a7eaa1f23efab929e4", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "拒绝平台的 uuid_create() 函数产生的意外输出", "evidence": {"same_day": true, "patch_ids": ["ab33a31dedd2d9639f3cb2ae3b5d0af4"], "statement_hash": "952959baa1127261afedd88bce0b4ac8836a28a0a436b5daa1e5e26972d63aa4"}, "url": "/docs/compare/?release=11.18#11.18-9395a83b7f7e0dd2", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}, {"db_id": "9367636327f8e4fd33c64d07fbb8aaa2", "kind": "equivalent", "version": "10.23", "label": "10.23", "title": "拒绝平台的 uuid_create() 函数产生的意外输出", "evidence": {"same_day": true, "patch_ids": ["ab33a31dedd2d9639f3cb2ae3b5d0af4"], "statement_hash": "952959baa1127261afedd88bce0b4ac8836a28a0a436b5daa1e5e26972d63aa4"}, "url": "/docs/compare/?release=10.23#10.23-9395a83b7f7e0dd2", "source_url": "/docs/release/10.23/#id-1.11.6.5.6"}]}, {"id": "12.13-7e39b542a8d3019a", "cves": [], "html": "<p>将新的 Perl 测试模块包含在标准安装中（Álvaro Herrera）<a href=\"https://postgr.es/c/fa5c13178\">§</a></p>\n<p>在 15 之前的版本分支中将 <code>PostgreSQL/Test/Cluster.pm</code> 和 <code>PostgreSQL/Test/Utils.pm</code> 添加到标准安装文件集中。这是为了方便那些希望在旧版本分支中使用新编写的测试代码的扩展。</p>", "text": "将新的 Perl 测试模块包含在标准安装中（Álvaro Herrera）§ 在 15 之前的版本分支中将 PostgreSQL/Test/Cluster.pm 和 PostgreSQL/Test/Utils.pm 添加到标准安装文件集中。这是为了方便那些希望在旧版本分支中使用新编写的测试代码的扩展。", "title": "将新的 Perl 测试模块包含在标准安装中", "commits": ["fa5c13178"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.13/#id-1.11.6.15.5", "source_hash": "4a8a6dc38b7a80a4c055448d41cff6319874eec8162b35c9158fcac2e05d24a8", "section_path": ["变更"], "commit_groups": [["33d979aee", "4f6d1cfd6", "8bf470527", "dd8263873", "fa5c13178"]], "identity_text": "Include new Perl test modules in standard installations (Álvaro Herrera) Add PostgreSQL/Test/Cluster.pm and PostgreSQL/Test/Utils.pm to the standard installation file set in pre-version-15 branches. This is for the benefit of extensions that want to use newly-written test code in older branches.", "commit_aliases": ["33d979aee", "4f6d1cfd6", "8bf470527", "dd8263873", "fa5c13178"], "source_commits": ["fa5c13178"], "source_entry_id": "12.13/changes/031", "db_id": "36885f4f0085cb86636a13b069dee022", "patch_ids": ["cd49856fe1194ec01cb3384752135216"], "statement_hash": "46e2af214a997bd3700ff238463173e4f63806f0ab03c994bd980322789b16ba", "relations": [{"rule": 2, "type": "equivalent", "target": "3d0849d84061ea5723a2bd2f6aceb6a2", "evidence": {"same_day": true, "patch_ids": ["cd49856fe1194ec01cb3384752135216"], "statement_hash": "46e2af214a997bd3700ff238463173e4f63806f0ab03c994bd980322789b16ba"}}, {"rule": 2, "type": "equivalent", "target": "9eb611d937a5300efd20292639ac51e9", "evidence": {"same_day": true, "patch_ids": ["cd49856fe1194ec01cb3384752135216"], "statement_hash": "46e2af214a997bd3700ff238463173e4f63806f0ab03c994bd980322789b16ba"}}, {"rule": 2, "type": "equivalent", "target": "aca47dd754e2fdbe244ef0fef587e0f9", "evidence": {"same_day": true, "patch_ids": ["cd49856fe1194ec01cb3384752135216"], "statement_hash": "46e2af214a997bd3700ff238463173e4f63806f0ab03c994bd980322789b16ba"}}, {"rule": 2, "type": "equivalent", "target": "decde5f4da6ca52c86e0a20861e7c1e7", "evidence": {"same_day": true, "patch_ids": ["cd49856fe1194ec01cb3384752135216"], "statement_hash": "46e2af214a997bd3700ff238463173e4f63806f0ab03c994bd980322789b16ba"}}], "version": "12.13", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "decde5f4da6ca52c86e0a20861e7c1e7", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "将新的 Perl 测试模块包含在标准安装中", "evidence": {"same_day": true, "patch_ids": ["cd49856fe1194ec01cb3384752135216"], "statement_hash": "46e2af214a997bd3700ff238463173e4f63806f0ab03c994bd980322789b16ba"}, "url": "/docs/compare/?release=14.6#14.6-a212e6e98d2eea8c", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "9eb611d937a5300efd20292639ac51e9", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "将新的 Perl 测试模块包含在标准安装中", "evidence": {"same_day": true, "patch_ids": ["cd49856fe1194ec01cb3384752135216"], "statement_hash": "46e2af214a997bd3700ff238463173e4f63806f0ab03c994bd980322789b16ba"}, "url": "/docs/compare/?release=13.9#13.9-f8a3e568d6edd9ed", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "aca47dd754e2fdbe244ef0fef587e0f9", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "将新的 Perl 测试模块包含在标准安装中", "evidence": {"same_day": true, "patch_ids": ["cd49856fe1194ec01cb3384752135216"], "statement_hash": "46e2af214a997bd3700ff238463173e4f63806f0ab03c994bd980322789b16ba"}, "url": "/docs/compare/?release=11.18#11.18-f9d76185103cfa48", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}, {"db_id": "3d0849d84061ea5723a2bd2f6aceb6a2", "kind": "equivalent", "version": "10.23", "label": "10.23", "title": "将新的 Perl 测试模块包含在标准安装中", "evidence": {"same_day": true, "patch_ids": ["cd49856fe1194ec01cb3384752135216"], "statement_hash": "46e2af214a997bd3700ff238463173e4f63806f0ab03c994bd980322789b16ba"}, "url": "/docs/compare/?release=10.23#10.23-f9d76185103cfa48", "source_url": "/docs/release/10.23/#id-1.11.6.5.6"}]}, {"id": "12.13-9279e935c2aae672", "cves": [], "html": "<p>在 NetBSD 上，强制在 postmaster 启动时解析动态符号（Andres Freund，Tom Lane）<a href=\"https://postgr.es/c/68bfe36c5\">§</a></p>\n<p>这避免了 NetBSD 10 上动态链接器中的死锁风险。</p>", "text": "在 NetBSD 上，强制在 postmaster 启动时解析动态符号（Andres Freund，Tom Lane）§ 这避免了 NetBSD 10 上动态链接器中的死锁风险。", "title": "在 NetBSD 上，强制在 postmaster 启动时解析动态符号", "commits": ["68bfe36c5"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.13/#id-1.11.6.15.5", "source_hash": "061a6db7f88a02818d0b1226e7455c477896c893777564ba2aad5702c5e0e16b", "section_path": ["变更"], "commit_groups": [["464db4676", "529d8f373", "5bed28e69", "68bfe36c5", "6fd58ca77", "8acd8f869", "a94b019d4"]], "identity_text": "On NetBSD, force dynamic symbol resolution at postmaster start (Andres Freund, Tom Lane) This avoids a risk of deadlock in the dynamic linker on NetBSD 10.", "commit_aliases": ["464db4676", "529d8f373", "5bed28e69", "68bfe36c5", "6fd58ca77", "8acd8f869", "a94b019d4"], "source_commits": ["68bfe36c5"], "source_entry_id": "12.13/changes/032", "db_id": "28568e49ed702c2a8191d762d45b94f9", "patch_ids": ["376c923a6f6c93632d304de9a9c62863"], "statement_hash": "dc150257f3033d48db0cba570c24b036de71494f949c811fdeb5e7ecfeb79b69", "relations": [{"rule": 2, "type": "equivalent", "target": "858dfac6044f9febb9f26639778364ab", "evidence": {"same_day": true, "patch_ids": ["376c923a6f6c93632d304de9a9c62863"], "statement_hash": "dc150257f3033d48db0cba570c24b036de71494f949c811fdeb5e7ecfeb79b69"}}, {"rule": 2, "type": "equivalent", "target": "999986e849d91ffa093a96841f2ff44d", "evidence": {"same_day": true, "patch_ids": ["376c923a6f6c93632d304de9a9c62863"], "statement_hash": "dc150257f3033d48db0cba570c24b036de71494f949c811fdeb5e7ecfeb79b69"}}, {"rule": 2, "type": "equivalent", "target": "9f6792379d2c1f6491f783f3ef295d8d", "evidence": {"same_day": true, "patch_ids": ["376c923a6f6c93632d304de9a9c62863"], "statement_hash": "dc150257f3033d48db0cba570c24b036de71494f949c811fdeb5e7ecfeb79b69"}}, {"rule": 2, "type": "equivalent", "target": "e4d91066de7e476cf8d8aeaa4daefe79", "evidence": {"same_day": true, "patch_ids": ["376c923a6f6c93632d304de9a9c62863"], "statement_hash": "dc150257f3033d48db0cba570c24b036de71494f949c811fdeb5e7ecfeb79b69"}}], "version": "12.13", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "9f6792379d2c1f6491f783f3ef295d8d", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "在 NetBSD 上，强制在 postmaster 启动时解析动态符号", "evidence": {"same_day": true, "patch_ids": ["376c923a6f6c93632d304de9a9c62863"], "statement_hash": "dc150257f3033d48db0cba570c24b036de71494f949c811fdeb5e7ecfeb79b69"}, "url": "/docs/compare/?release=14.6#14.6-568d5a536020b49d", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "e4d91066de7e476cf8d8aeaa4daefe79", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "在 NetBSD 上，强制在 postmaster 启动时解析动态符号", "evidence": {"same_day": true, "patch_ids": ["376c923a6f6c93632d304de9a9c62863"], "statement_hash": "dc150257f3033d48db0cba570c24b036de71494f949c811fdeb5e7ecfeb79b69"}, "url": "/docs/compare/?release=13.9#13.9-bf5c16a0a01b9a52", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "999986e849d91ffa093a96841f2ff44d", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "在 NetBSD 上，强制在 postmaster 启动时解析动态符号", "evidence": {"same_day": true, "patch_ids": ["376c923a6f6c93632d304de9a9c62863"], "statement_hash": "dc150257f3033d48db0cba570c24b036de71494f949c811fdeb5e7ecfeb79b69"}, "url": "/docs/compare/?release=11.18#11.18-f5a57288d94250b7", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}, {"db_id": "858dfac6044f9febb9f26639778364ab", "kind": "equivalent", "version": "10.23", "label": "10.23", "title": "在 NetBSD 上，强制在 postmaster 启动时解析动态符号", "evidence": {"same_day": true, "patch_ids": ["376c923a6f6c93632d304de9a9c62863"], "statement_hash": "dc150257f3033d48db0cba570c24b036de71494f949c811fdeb5e7ecfeb79b69"}, "url": "/docs/compare/?release=10.23#10.23-f5a57288d94250b7", "source_url": "/docs/release/10.23/#id-1.11.6.5.6"}]}, {"id": "12.13-c41d7ed2f0f3fc73", "cves": [], "html": "<p>修复与 LLVM 15 的不兼容问题（Thomas Munro，Andres Freund）<a href=\"https://postgr.es/c/aa34bc4e2\">§</a></p>", "text": "修复与 LLVM 15 的不兼容问题（Thomas Munro，Andres Freund）§", "title": "修复与 LLVM 15 的不兼容问题", "commits": ["aa34bc4e2"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.13/#id-1.11.6.15.5", "source_hash": "3788e15499393ab4dcac67a5503e2f063b2a5633ee0deaad01da6934226f337d", "section_path": ["变更"], "commit_groups": [["aa34bc4e2", "af64846e1", "c2ae01f69", "cf94cb586", "d033f8f8b", "da3a6825e"]], "identity_text": "Fix incompatibilities with LLVM 15 (Thomas Munro, Andres Freund)", "commit_aliases": ["aa34bc4e2", "af64846e1", "c2ae01f69", "cf94cb586", "d033f8f8b", "da3a6825e"], "source_commits": ["aa34bc4e2"], "source_entry_id": "12.13/changes/033", "db_id": "0303192b7a33fd1082e5c5bc67893b6d", "patch_ids": ["8577cc374711d259d996156ce3ec8f2e"], "statement_hash": "e2119c716ca0879c9da2f56fa44513251d4cf9dc8b7b4c15071f138d330b47b6", "relations": [{"rule": 2, "type": "equivalent", "target": "07e60d8ac7ff37e0a4bedae0d81a1767", "evidence": {"same_day": true, "patch_ids": ["8577cc374711d259d996156ce3ec8f2e"], "statement_hash": "e2119c716ca0879c9da2f56fa44513251d4cf9dc8b7b4c15071f138d330b47b6"}}, {"rule": 2, "type": "equivalent", "target": "5818380d9b181069c374bba785a424ef", "evidence": {"same_day": true, "patch_ids": ["8577cc374711d259d996156ce3ec8f2e"], "statement_hash": "e2119c716ca0879c9da2f56fa44513251d4cf9dc8b7b4c15071f138d330b47b6"}}, {"rule": 2, "type": "equivalent", "target": "d037b566b57da3060caca23f7cc29473", "evidence": {"same_day": true, "patch_ids": ["8577cc374711d259d996156ce3ec8f2e"], "statement_hash": "e2119c716ca0879c9da2f56fa44513251d4cf9dc8b7b4c15071f138d330b47b6"}}, {"rule": 2, "type": "equivalent", "target": "eaffbe6fa6be0f0e06ae74d8af5bf7d8", "evidence": {"same_day": true, "patch_ids": ["8577cc374711d259d996156ce3ec8f2e"], "statement_hash": "e2119c716ca0879c9da2f56fa44513251d4cf9dc8b7b4c15071f138d330b47b6"}}], "version": "12.13", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "07e60d8ac7ff37e0a4bedae0d81a1767", "kind": "equivalent", "version": "15.1", "label": "15.1", "title": "修复与 LLVM 15 的不兼容问题", "evidence": {"same_day": true, "patch_ids": ["8577cc374711d259d996156ce3ec8f2e"], "statement_hash": "e2119c716ca0879c9da2f56fa44513251d4cf9dc8b7b4c15071f138d330b47b6"}, "url": "/docs/compare/?release=15.1#15.1-9157f982b40c09c4", "source_url": "/docs/release/15.1/#ZH-AUTO-RELEASE-15-SECT2-34"}, {"db_id": "5818380d9b181069c374bba785a424ef", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "修复与 LLVM 15 的不兼容问题", "evidence": {"same_day": true, "patch_ids": ["8577cc374711d259d996156ce3ec8f2e"], "statement_hash": "e2119c716ca0879c9da2f56fa44513251d4cf9dc8b7b4c15071f138d330b47b6"}, "url": "/docs/compare/?release=14.6#14.6-9f936df81f77474b", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "d037b566b57da3060caca23f7cc29473", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "修复与 LLVM 15 的不兼容问题", "evidence": {"same_day": true, "patch_ids": ["8577cc374711d259d996156ce3ec8f2e"], "statement_hash": "e2119c716ca0879c9da2f56fa44513251d4cf9dc8b7b4c15071f138d330b47b6"}, "url": "/docs/compare/?release=13.9#13.9-eb6e1b2c4299d3eb", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "eaffbe6fa6be0f0e06ae74d8af5bf7d8", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "修复与 LLVM 15 的不兼容问题", "evidence": {"same_day": true, "patch_ids": ["8577cc374711d259d996156ce3ec8f2e"], "statement_hash": "e2119c716ca0879c9da2f56fa44513251d4cf9dc8b7b4c15071f138d330b47b6"}, "url": "/docs/compare/?release=11.18#11.18-398d8a8271c08e9c", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}]}, {"id": "12.13-75bcf3dd2b440a30", "cves": [], "html": "<p>允许在任何机器上使用 <code>__sync_lock_test_and_set()</code> 实现自旋锁（Tom Lane）<a href=\"https://postgr.es/c/5ecf836e9\">§</a></p>\n<p>这简化了向新机器架构的移植，至少在使用支持此 GCC 内置函数的编译器时。</p>", "text": "允许在任何机器上使用 __sync_lock_test_and_set() 实现自旋锁（Tom Lane）§ 这简化了向新机器架构的移植，至少在使用支持此 GCC 内置函数的编译器时。", "title": "允许在任何机器上使用 __sync_lock_test_and_set() 实现自旋锁", "commits": ["5ecf836e9"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.13/#id-1.11.6.15.5", "source_hash": "ea17f7d563c68fc69e6d04840eff2dbe67de831fcabd89aa90b859bb7f18bb38", "section_path": ["变更"], "commit_groups": [["058c7b5dd", "19cefebe7", "1c72d82c2", "5ecf836e9", "a0f9be1f9", "a5737e765", "c479492c0"]], "identity_text": "Allow use of __sync_lock_test_and_set() for spinlocks on any machine (Tom Lane) This eases porting to new machine architectures, at least if you're using a compiler that supports this GCC builtin function.", "commit_aliases": ["058c7b5dd", "19cefebe7", "1c72d82c2", "5ecf836e9", "a0f9be1f9", "a5737e765", "c479492c0"], "source_commits": ["5ecf836e9"], "source_entry_id": "12.13/changes/034", "db_id": "90b9c77f439a3fd5d820c0a64529665b", "patch_ids": ["dcbecbc4c86adae47665110105ac576b"], "statement_hash": "56e8aa7594d39491a9aa77ec7577bbfa226b3ac7ea5ec416c7decba6b7d481a3", "relations": [{"rule": 2, "type": "equivalent", "target": "250f1815e221cb2489711544bb8792f0", "evidence": {"same_day": true, "patch_ids": ["dcbecbc4c86adae47665110105ac576b"], "statement_hash": "56e8aa7594d39491a9aa77ec7577bbfa226b3ac7ea5ec416c7decba6b7d481a3"}}, {"rule": 2, "type": "equivalent", "target": "48ab24659ec3f8ebab99f333f24b045f", "evidence": {"same_day": true, "patch_ids": ["dcbecbc4c86adae47665110105ac576b"], "statement_hash": "56e8aa7594d39491a9aa77ec7577bbfa226b3ac7ea5ec416c7decba6b7d481a3"}}, {"rule": 2, "type": "equivalent", "target": "78df2388bf06f3542e603ae20e413af5", "evidence": {"same_day": true, "patch_ids": ["dcbecbc4c86adae47665110105ac576b"], "statement_hash": "56e8aa7594d39491a9aa77ec7577bbfa226b3ac7ea5ec416c7decba6b7d481a3"}}, {"rule": 2, "type": "equivalent", "target": "b90a4c15cb96a79ae08c079bf80370cc", "evidence": {"same_day": true, "patch_ids": ["dcbecbc4c86adae47665110105ac576b"], "statement_hash": "56e8aa7594d39491a9aa77ec7577bbfa226b3ac7ea5ec416c7decba6b7d481a3"}}, {"rule": 2, "type": "equivalent", "target": "e7350b4ef5071b00e7c55ca768f3e224", "evidence": {"same_day": true, "patch_ids": ["dcbecbc4c86adae47665110105ac576b"], "statement_hash": "56e8aa7594d39491a9aa77ec7577bbfa226b3ac7ea5ec416c7decba6b7d481a3"}}], "version": "12.13", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "b90a4c15cb96a79ae08c079bf80370cc", "kind": "equivalent", "version": "15.1", "label": "15.1", "title": "允许在任何机器上使用 __sync_lock_test_and_set() 实现自旋锁", "evidence": {"same_day": true, "patch_ids": ["dcbecbc4c86adae47665110105ac576b"], "statement_hash": "56e8aa7594d39491a9aa77ec7577bbfa226b3ac7ea5ec416c7decba6b7d481a3"}, "url": "/docs/compare/?release=15.1#15.1-35ba14ed7d1dd371", "source_url": "/docs/release/15.1/#ZH-AUTO-RELEASE-15-SECT2-34"}, {"db_id": "78df2388bf06f3542e603ae20e413af5", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "允许在任何机器上使用 __sync_lock_test_and_set() 实现自旋锁", "evidence": {"same_day": true, "patch_ids": ["dcbecbc4c86adae47665110105ac576b"], "statement_hash": "56e8aa7594d39491a9aa77ec7577bbfa226b3ac7ea5ec416c7decba6b7d481a3"}, "url": "/docs/compare/?release=14.6#14.6-e033d6a8b92e082b", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "e7350b4ef5071b00e7c55ca768f3e224", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "允许在任何机器上使用 __sync_lock_test_and_set() 实现自旋锁", "evidence": {"same_day": true, "patch_ids": ["dcbecbc4c86adae47665110105ac576b"], "statement_hash": "56e8aa7594d39491a9aa77ec7577bbfa226b3ac7ea5ec416c7decba6b7d481a3"}, "url": "/docs/compare/?release=13.9#13.9-fd1e7c7b8eb77c46", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "250f1815e221cb2489711544bb8792f0", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "允许在任何机器上使用 __sync_lock_test_and_set() 实现自旋锁", "evidence": {"same_day": true, "patch_ids": ["dcbecbc4c86adae47665110105ac576b"], "statement_hash": "56e8aa7594d39491a9aa77ec7577bbfa226b3ac7ea5ec416c7decba6b7d481a3"}, "url": "/docs/compare/?release=11.18#11.18-18190d69b8ea05c3", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}, {"db_id": "48ab24659ec3f8ebab99f333f24b045f", "kind": "equivalent", "version": "10.23", "label": "10.23", "title": "允许在任何机器上使用 __sync_lock_test_and_set() 实现自旋锁", "evidence": {"same_day": true, "patch_ids": ["dcbecbc4c86adae47665110105ac576b"], "statement_hash": "56e8aa7594d39491a9aa77ec7577bbfa226b3ac7ea5ec416c7decba6b7d481a3"}, "url": "/docs/compare/?release=10.23#10.23-18190d69b8ea05c3", "source_url": "/docs/release/10.23/#id-1.11.6.5.6"}]}, {"id": "12.13-6d879c948a33b29e", "cves": [], "html": "<p>将符号 <code>REF</code> 重命名为 <code>REF_P</code> 以避免在最近的 macOS 上编译失败（Tom Lane）<a href=\"https://postgr.es/c/3d7df87c4\">§</a></p>", "text": "将符号 REF 重命名为 REF_P 以避免在最近的 macOS 上编译失败（Tom Lane）§", "title": "将符号 REF 重命名为 REF_P 以避免在最近的 macOS 上编译失败", "commits": ["3d7df87c4"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.13/#id-1.11.6.15.5", "source_hash": "be2fab219eb12c0bb8659750766aa3983a7b44e36b7fb589d4fa3d373f409063", "section_path": ["变更"], "commit_groups": [["02d074e3e", "18e60712d", "24c4c2617", "377b37cf7", "3d7df87c4", "57dfb6ce6", "6618c276b", "717ec1aae", "9bfa043a1", "bc7a40b42", "ee4c44014", "fec443414"]], "identity_text": "Rename symbol REF to REF_P to avoid compile failure on recent macOS (Tom Lane)", "commit_aliases": ["02d074e3e", "18e60712d", "24c4c2617", "377b37cf7", "3d7df87c4", "57dfb6ce6", "6618c276b", "717ec1aae", "9bfa043a1", "bc7a40b42", "ee4c44014", "fec443414"], "source_commits": ["3d7df87c4"], "source_entry_id": "12.13/changes/035", "db_id": "8d5d2f8eac1aafa168dfbdefd953f5b0", "patch_ids": ["21310b294a7316a5fd66b65793d15417"], "statement_hash": "7523096b60db7f188f4fe11a31df4d485c642aa54d1d65dd360017c61bb0f8d9", "relations": [{"rule": 2, "type": "equivalent", "target": "67fc63e69a61e4bc1a4a7fa0dd9c8dd1", "evidence": {"same_day": true, "patch_ids": ["21310b294a7316a5fd66b65793d15417"], "statement_hash": "7523096b60db7f188f4fe11a31df4d485c642aa54d1d65dd360017c61bb0f8d9"}}, {"rule": 2, "type": "equivalent", "target": "a881716e3e0e5347745363b82da1a0ab", "evidence": {"same_day": true, "patch_ids": ["21310b294a7316a5fd66b65793d15417"], "statement_hash": "7523096b60db7f188f4fe11a31df4d485c642aa54d1d65dd360017c61bb0f8d9"}}, {"rule": 2, "type": "equivalent", "target": "c870ed9dd25c35a047c33c1b43f1972e", "evidence": {"same_day": true, "patch_ids": ["21310b294a7316a5fd66b65793d15417"], "statement_hash": "7523096b60db7f188f4fe11a31df4d485c642aa54d1d65dd360017c61bb0f8d9"}}, {"rule": 2, "type": "equivalent", "target": "d95b96ea8527eea9cce236c168135afc", "evidence": {"same_day": true, "patch_ids": ["21310b294a7316a5fd66b65793d15417"], "statement_hash": "7523096b60db7f188f4fe11a31df4d485c642aa54d1d65dd360017c61bb0f8d9"}}, {"rule": 2, "type": "equivalent", "target": "f402afd16908f7587a891906e8738edf", "evidence": {"same_day": true, "patch_ids": ["21310b294a7316a5fd66b65793d15417"], "statement_hash": "7523096b60db7f188f4fe11a31df4d485c642aa54d1d65dd360017c61bb0f8d9"}}], "version": "12.13", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "c870ed9dd25c35a047c33c1b43f1972e", "kind": "equivalent", "version": "15.1", "label": "15.1", "title": "将符号 REF 重命名为 REF_P 以避免在最近的 macOS 上编译失败", "evidence": {"same_day": true, "patch_ids": ["21310b294a7316a5fd66b65793d15417"], "statement_hash": "7523096b60db7f188f4fe11a31df4d485c642aa54d1d65dd360017c61bb0f8d9"}, "url": "/docs/compare/?release=15.1#15.1-eb17cf70e66edca9", "source_url": "/docs/release/15.1/#ZH-AUTO-RELEASE-15-SECT2-34"}, {"db_id": "f402afd16908f7587a891906e8738edf", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "将符号 REF 重命名为 REF_P 以避免在最近的 macOS 上编译失败", "evidence": {"same_day": true, "patch_ids": ["21310b294a7316a5fd66b65793d15417"], "statement_hash": "7523096b60db7f188f4fe11a31df4d485c642aa54d1d65dd360017c61bb0f8d9"}, "url": "/docs/compare/?release=14.6#14.6-8d375e5cc04f0b2b", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "a881716e3e0e5347745363b82da1a0ab", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "将符号 REF 重命名为 REF_P 以避免在最近的 macOS 上编译失败", "evidence": {"same_day": true, "patch_ids": ["21310b294a7316a5fd66b65793d15417"], "statement_hash": "7523096b60db7f188f4fe11a31df4d485c642aa54d1d65dd360017c61bb0f8d9"}, "url": "/docs/compare/?release=13.9#13.9-03ff5e4f75a22e66", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "d95b96ea8527eea9cce236c168135afc", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "将符号 REF 重命名为 REF_P 以避免在最近的 macOS 上编译失败", "evidence": {"same_day": true, "patch_ids": ["21310b294a7316a5fd66b65793d15417"], "statement_hash": "7523096b60db7f188f4fe11a31df4d485c642aa54d1d65dd360017c61bb0f8d9"}, "url": "/docs/compare/?release=11.18#11.18-98c160f5ef5ca9b7", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}, {"db_id": "67fc63e69a61e4bc1a4a7fa0dd9c8dd1", "kind": "equivalent", "version": "10.23", "label": "10.23", "title": "将符号 REF 重命名为 REF_P 以避免在最近的 macOS 上编译失败", "evidence": {"same_day": true, "patch_ids": ["21310b294a7316a5fd66b65793d15417"], "statement_hash": "7523096b60db7f188f4fe11a31df4d485c642aa54d1d65dd360017c61bb0f8d9"}, "url": "/docs/compare/?release=10.23#10.23-98c160f5ef5ca9b7", "source_url": "/docs/release/10.23/#id-1.11.6.5.6"}]}, {"id": "12.13-206ae43e3cbe0614", "cves": [], "html": "<p>避免使用 <code>sprintf</code>，以避免编译时的弃用警告（Tom Lane）<a href=\"https://postgr.es/c/d33ac1ec2\">§</a></p>", "text": "避免使用 sprintf，以避免编译时的弃用警告（Tom Lane）§", "title": "避免使用 sprintf，以避免编译时的弃用警告", "commits": ["d33ac1ec2"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.13/#id-1.11.6.15.5", "source_hash": "72a8916cf7bab00aab6563c2afbe3897bd1b46f6357eb96334efe310f46ab57f", "section_path": ["变更"], "commit_groups": [["450ee7012", "6fa431d84", "a2acafc7b", "bd4b2926e", "d33ac1ec2"]], "identity_text": "Avoid using sprintf, to avoid compile-time deprecation warnings (Tom Lane)", "commit_aliases": ["450ee7012", "6fa431d84", "a2acafc7b", "bd4b2926e", "d33ac1ec2"], "source_commits": ["d33ac1ec2"], "source_entry_id": "12.13/changes/036", "db_id": "27c3c68e7d970f620deb47b65f71cdc2", "patch_ids": ["c86ffaa38e958dedd504051854ef6ece"], "statement_hash": "50248d47a1fc11d735d5aa48687523040c62bbe43d5511573cf86c5f431ad4af", "relations": [{"rule": 2, "type": "equivalent", "target": "52a2265e247ff8b56522b6aacb5dae50", "evidence": {"same_day": true, "patch_ids": ["c86ffaa38e958dedd504051854ef6ece"], "statement_hash": "50248d47a1fc11d735d5aa48687523040c62bbe43d5511573cf86c5f431ad4af"}}, {"rule": 2, "type": "equivalent", "target": "7341745706dee278830faf1c4dfae6fc", "evidence": {"same_day": true, "patch_ids": ["c86ffaa38e958dedd504051854ef6ece"], "statement_hash": "50248d47a1fc11d735d5aa48687523040c62bbe43d5511573cf86c5f431ad4af"}}, {"rule": 2, "type": "equivalent", "target": "d4c543d2e822f98d5d1a274f4c2658fd", "evidence": {"same_day": true, "patch_ids": ["c86ffaa38e958dedd504051854ef6ece"], "statement_hash": "50248d47a1fc11d735d5aa48687523040c62bbe43d5511573cf86c5f431ad4af"}}], "version": "12.13", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "7341745706dee278830faf1c4dfae6fc", "kind": "equivalent", "version": "15.1", "label": "15.1", "title": "避免使用 sprintf，以避免编译时的弃用警告", "evidence": {"same_day": true, "patch_ids": ["c86ffaa38e958dedd504051854ef6ece"], "statement_hash": "50248d47a1fc11d735d5aa48687523040c62bbe43d5511573cf86c5f431ad4af"}, "url": "/docs/compare/?release=15.1#15.1-77b34eed738bb60d", "source_url": "/docs/release/15.1/#ZH-AUTO-RELEASE-15-SECT2-34"}, {"db_id": "52a2265e247ff8b56522b6aacb5dae50", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "避免使用 sprintf，以避免编译时的弃用警告", "evidence": {"same_day": true, "patch_ids": ["c86ffaa38e958dedd504051854ef6ece"], "statement_hash": "50248d47a1fc11d735d5aa48687523040c62bbe43d5511573cf86c5f431ad4af"}, "url": "/docs/compare/?release=14.6#14.6-981994d162366f16", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "d4c543d2e822f98d5d1a274f4c2658fd", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "避免使用 sprintf，以避免编译时的弃用警告", "evidence": {"same_day": true, "patch_ids": ["c86ffaa38e958dedd504051854ef6ece"], "statement_hash": "50248d47a1fc11d735d5aa48687523040c62bbe43d5511573cf86c5f431ad4af"}, "url": "/docs/compare/?release=13.9#13.9-c66211e0f5b0e57c", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}]}, {"id": "12.13-8b8f47bdfb07885e", "cves": [], "html": "<p>消除 clang 15 及更高版本的各种编译器警告（Tom Lane）<a href=\"https://postgr.es/c/52a5fd5b9\">§</a> <a href=\"https://postgr.es/c/f38a0bde2\">§</a> <a href=\"https://postgr.es/c/9a2267bcf\">§</a></p>", "text": "消除 clang 15 及更高版本的各种编译器警告（Tom Lane）§ § §", "title": "消除 clang 15 及更高版本的各种编译器警告", "commits": ["52a5fd5b9", "9a2267bcf", "f38a0bde2"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.13/#id-1.11.6.15.5", "source_hash": "63efbebe2270ea616cb32e64ff40e1403692db6843309159e36d0acfb26b0ecb", "section_path": ["变更"], "commit_groups": [["152c9f7b8", "2e124d857", "612e79661", "6ae8aee0b", "760308704", "85c077f9e", "b7d9b0c26", "ca3b730ba", "f38a0bde2"], ["1b6986599", "43f72e0f7", "4c5a29c0e", "52a5fd5b9", "5d3ce0d82", "7d5d3f05b", "8c8ee5c99", "9afdf3950", "ca8fd341e", "dcd7dbed5", "f9a56e726"], ["3c5a33a52", "850cb88e4", "88c947cb5", "96e595124", "9a2267bcf", "9c69e2640", "bb8dbc9f2", "bf2161234", "c705646b7", "db8e36682"]], "identity_text": "Silence assorted compiler warnings from clang 15 and later (Tom Lane)", "commit_aliases": ["152c9f7b8", "1b6986599", "2e124d857", "3c5a33a52", "43f72e0f7", "4c5a29c0e", "52a5fd5b9", "5d3ce0d82", "612e79661", "6ae8aee0b", "760308704", "7d5d3f05b", "850cb88e4", "85c077f9e", "88c947cb5", "8c8ee5c99", "96e595124", "9a2267bcf", "9afdf3950", "9c69e2640", "b7d9b0c26", "bb8dbc9f2", "bf2161234", "c705646b7", "ca3b730ba", "ca8fd341e", "db8e36682", "dcd7dbed5", "f38a0bde2", "f9a56e726"], "source_commits": ["52a5fd5b9", "9a2267bcf", "f38a0bde2"], "source_entry_id": "12.13/changes/037", "db_id": "78d48fb0448c922d0be1fe4760493c1d", "patch_ids": ["453e92edd31da2d6dd5497dae3d2f880", "c278c745822a21e06275cd2e87530452", "e6262279237653903683e537e8b643d0"], "statement_hash": "190b6d7069c6c5a36ed05e836c9bbb7566540d478dcc5328a5449d980ebdea25", "relations": [{"rule": 2, "type": "equivalent", "target": "27f6d017e81db948a18e334305fdd745", "evidence": {"same_day": true, "patch_ids": ["453e92edd31da2d6dd5497dae3d2f880", "c278c745822a21e06275cd2e87530452", "e6262279237653903683e537e8b643d0"], "statement_hash": "190b6d7069c6c5a36ed05e836c9bbb7566540d478dcc5328a5449d980ebdea25"}}, {"rule": 2, "type": "equivalent", "target": "300c5236db2049ce0ed06cd26b7f88ee", "evidence": {"same_day": true, "patch_ids": ["453e92edd31da2d6dd5497dae3d2f880", "c278c745822a21e06275cd2e87530452", "e6262279237653903683e537e8b643d0"], "statement_hash": "190b6d7069c6c5a36ed05e836c9bbb7566540d478dcc5328a5449d980ebdea25"}}, {"rule": 2, "type": "equivalent", "target": "76ba15f720dd10de0835afd94e0cf107", "evidence": {"same_day": true, "patch_ids": ["453e92edd31da2d6dd5497dae3d2f880", "c278c745822a21e06275cd2e87530452", "e6262279237653903683e537e8b643d0"], "statement_hash": "190b6d7069c6c5a36ed05e836c9bbb7566540d478dcc5328a5449d980ebdea25"}}, {"rule": 2, "type": "equivalent", "target": "f8e5618179b7fc2604a19f2123a2299d", "evidence": {"same_day": true, "patch_ids": ["453e92edd31da2d6dd5497dae3d2f880", "c278c745822a21e06275cd2e87530452", "e6262279237653903683e537e8b643d0"], "statement_hash": "190b6d7069c6c5a36ed05e836c9bbb7566540d478dcc5328a5449d980ebdea25"}}], "version": "12.13", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "27f6d017e81db948a18e334305fdd745", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "消除 clang 15 及更高版本的各种编译器警告", "evidence": {"same_day": true, "patch_ids": ["453e92edd31da2d6dd5497dae3d2f880", "c278c745822a21e06275cd2e87530452", "e6262279237653903683e537e8b643d0"], "statement_hash": "190b6d7069c6c5a36ed05e836c9bbb7566540d478dcc5328a5449d980ebdea25"}, "url": "/docs/compare/?release=14.6#14.6-c8443dda77d3fc23", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "76ba15f720dd10de0835afd94e0cf107", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "消除 clang 15 及更高版本的各种编译器警告", "evidence": {"same_day": true, "patch_ids": ["453e92edd31da2d6dd5497dae3d2f880", "c278c745822a21e06275cd2e87530452", "e6262279237653903683e537e8b643d0"], "statement_hash": "190b6d7069c6c5a36ed05e836c9bbb7566540d478dcc5328a5449d980ebdea25"}, "url": "/docs/compare/?release=13.9#13.9-5a4ef2bbc13eabaf", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "f8e5618179b7fc2604a19f2123a2299d", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "消除 clang 15 及更高版本的各种编译器警告", "evidence": {"same_day": true, "patch_ids": ["453e92edd31da2d6dd5497dae3d2f880", "c278c745822a21e06275cd2e87530452", "e6262279237653903683e537e8b643d0"], "statement_hash": "190b6d7069c6c5a36ed05e836c9bbb7566540d478dcc5328a5449d980ebdea25"}, "url": "/docs/compare/?release=11.18#11.18-0f744e9fbb72d0b5", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}, {"db_id": "300c5236db2049ce0ed06cd26b7f88ee", "kind": "equivalent", "version": "10.23", "label": "10.23", "title": "消除 clang 15 及更高版本的各种编译器警告", "evidence": {"same_day": true, "patch_ids": ["453e92edd31da2d6dd5497dae3d2f880", "c278c745822a21e06275cd2e87530452", "e6262279237653903683e537e8b643d0"], "statement_hash": "190b6d7069c6c5a36ed05e836c9bbb7566540d478dcc5328a5449d980ebdea25"}, "url": "/docs/compare/?release=10.23#10.23-0f744e9fbb72d0b5", "source_url": "/docs/release/10.23/#id-1.11.6.5.6"}]}, {"id": "12.13-fe45c73f9a6700aa", "cves": [], "html": "<p>将时区数据文件更新为 <span>tzdata</span> 2022f 版本，包含智利、斐济、伊朗、约旦、墨西哥、巴勒斯坦和叙利亚的夏令时法规变更，以及智利、克里米亚、伊朗和墨西哥的历史修正。（Tom Lane）<a href=\"https://postgr.es/c/ec9a000d8\">§</a></p>\n<p>此外，Europe/Kiev 时区已重命名为 Europe/Kyiv。另外，以下时区已合并到附近的、人口更多的、自 1970 年以来时钟一致的时区中：Antarctica/Vostok、Asia/Brunei、Asia/Kuala_Lumpur、Atlantic/Reykjavik、Europe/Amsterdam、Europe/Copenhagen、Europe/Luxembourg、Europe/Monaco、Europe/Oslo、Europe/Stockholm、Indian/Christmas、Indian/Cocos、Indian/Kerguelen、Indian/Mahe、Indian/Reunion、Pacific/Chuuk、Pacific/Funafuti、Pacific/Majuro、Pacific/Pohnpei、Pacific/Wake 和 Pacific/Wallis。（这间接影响了已经是这些时区别名的时区：Arctic/Longyearbyen、Atlantic/Jan_Mayen、Iceland、Pacific/Ponape、Pacific/Truk 和 Pacific/Yap。）America/Nipigon、America/Rainy_River、America/Thunder_Bay、Europe/Uzhgorod 和 Europe/Zaporozhye 也被合并到附近的时区中，因为发现它们声称的 1970 年后与这些时区的差异似乎是错误的。在所有这些情况下，之前的时区名称仍作为别名保留；但实际数据是所合并到的时区的数据。</p>\n<p>这些时区合并导致被合并时区的 1970 年前时区历史丢失，这对于期望 <code>timestamptz</code> 显示一致性的应用程序可能造成困扰。例如，存储的值 <code>1944-06-01 12:00 UTC</code> 在选择 Europe/Stockholm 时区时，之前会显示为 <code>1944-06-01 13:00:00+01</code>，但现在会显示为 <code>1944-06-01 14:00:00+02</code>。</p>\n<p>可以使用选项构建时区数据文件来恢复旧的时区数据，但该选择也会插入大量其他旧的（且通常缺乏充分证据的）时区数据，导致相比接受这些上游更改，总变化更多。<span>PostgreSQL</span> 选择按照推荐方式发布 <span>tzdb</span> 数据，据我们所知，大多数主要操作系统发行版也在这样做。但是，如果这些更改给你的应用程序造成了严重问题，一个可能的解决方案是使用 <span>tzdb</span> 的向后兼容选项安装本地构建的时区数据文件（参见其 <code>PACKRATDATA</code> 和 <code>PACKRATLIST</code> 选项）。</p>", "text": "将时区数据文件更新为 tzdata 2022f 版本，包含智利、斐济、伊朗、约旦、墨西哥、巴勒斯坦和叙利亚的夏令时法规变更，以及智利、克里米亚、伊朗和墨西哥的历史修正。（Tom Lane）§ 此外，Europe/Kiev 时区已重命名为 Europe/Kyiv。另外，以下时区已合并到附近的、人口更多的、自 1970 年以来时钟一致的时区中：Antarctica/Vostok、Asia/Brunei、Asia/Kuala_Lumpur、Atlantic/Reykjavik、Europe/Amsterdam、Europe/Copenhagen、Europe/Luxembourg、Europe/Monaco、Europe/Oslo、Europe/Stockholm、Indian/Christmas、Indian/Cocos、Indian/Kerguelen、Indian/Mahe、Indian/Reunion、Pacific/Chuuk、Pacific/Funafuti、Pacific/Majuro、Pacific/Pohnpei、Pacific/Wake 和 Pacific/Wallis。（这间接影响了已经是这些时区别名的时区：Arctic/Longyearbyen、Atlantic/Jan_Mayen、Iceland、Pacific/Ponape、Pacific/Truk 和 Pacific/Yap。）America/Nipigon、America/Rainy_River、America/Thunder_Bay、Europe/Uzhgorod 和 Europe/Zaporozhye 也被合并到附近的时区中，因为发现它们声称的 1970 年后与这些时区的差异似乎是错误的。在所有这些情况下，之前的时区名称仍作为别名保留；但实际数据是所合并到的时区的数据。 这些时区合并导致被合并时区的 1970 年前时区历史丢失，这对于期望 timestamptz 显示一致性的应用程序可能造成困扰。例如，存储的值 1944-06-01 12:00 UTC 在选择 Europe/Stockholm 时区时，之前会显示为 1944-06-01 13:00:00+01，但现在会显示为 1944-06-01 14:00:00+02。 可以使用选项构建时区数据文件来恢复旧的时区数据，但该选择也会插入大量其他旧的（且通常缺乏充分证据的）时区数据，导致相比接受这些上游更改，总变化更多。PostgreSQL 选择按照推荐方式发布 tzdb 数据，据我们所知，大多数主要操作系统发行版也在这样做。但是，如果这些更改给你的应用程序造成了严重问题，一个可能的解决方案是使用 tzdb 的向后兼容选项安装本地构建的时区数据文件（参见其 PACKRATDATA 和 PACKRATLIST 选项）。", "title": "将时区数据文件更新为 tzdata 2022f 版本，包含智利、斐济、伊朗、约旦、墨西哥、巴勒斯坦和叙利亚的夏令时法规变更，以及智利、克里米亚、伊朗和墨西哥的历史修正。", "commits": ["ec9a000d8"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.13/#id-1.11.6.15.5", "source_hash": "c545bad643e3b1cb6e06ec6dc8a6a2fb0ff9273822a9658ba32c6fbfc02721ff", "section_path": ["变更"], "commit_groups": [["97bb80b1b", "b1cb77bdf", "b3326a753", "c3d16eb3d", "e7c7605a7", "ebf48810b", "ec9a000d8"]], "identity_text": "Update time zone data files to tzdata release 2022f for DST law changes in Chile, Fiji, Iran, Jordan, Mexico, Palestine, and Syria, plus historical corrections for Chile, Crimea, Iran, and Mexico. (Tom Lane) Also, the Europe/Kiev zone has been renamed to Europe/Kyiv. Also, the following zones have been merged into nearby, more-populous zones whose clocks have agreed with them since 1970: Antarctica/Vostok, Asia/Brunei, Asia/Kuala_Lumpur, Atlantic/Reykjavik, Europe/Amsterdam, Europe/Copenhagen, Europe/Luxembourg, Europe/Monaco, Europe/Oslo, Europe/Stockholm, Indian/Christmas, Indian/Cocos, Indian/Kerguelen, Indian/Mahe, Indian/Reunion, Pacific/Chuuk, Pacific/Funafuti, Pacific/Majuro, Pacific/Pohnpei, Pacific/Wake and Pacific/Wallis. (This indirectly affects zones that were already links to one of these: Arctic/Longyearbyen, Atlantic/Jan_Mayen, Iceland, Pacific/Ponape, Pacific/Truk, and Pacific/Yap.) America/Nipigon, America/Rainy_River, America/Thunder_Bay, Europe/Uzhgorod, and Europe/Zaporozhye were also merged into nearby zones after discovering that their claimed post-1970 differences from those zones seem to have been errors. In all these cases, the previous zone name remains as an alias; but the actual data is that of the zone that was merged into. These zone mergers result in loss of pre-1970 timezone history for the merged zones, which may be troublesome for applications expecting consistency of timestamptz display. As an example, the stored value 1944-06-01 12:00 UTC would previously display as 1944-06-01 13:00:00+01 if the Europe/Stockholm zone is selected, but now it will read out as 1944-06-01 14:00:00+02. It is possible to build the time zone data files with options that will restore the older zone data, but that choice also inserts a lot of other old (and typically poorly-attested) zone data, resulting in more total changes from the previous release than accepting these upstream changes does. PostgreSQL has chosen to ship the tzdb data as-recommended, and so far as we are aware most major operating system distributions are doing likewise. However, if these changes cause significant problems for your application, a possible solution is to install a local build of the time zone data files using tzdb's backwards-compatibility options (see their PACKRATDATA and PACKRATLIST options).", "commit_aliases": ["97bb80b1b", "b1cb77bdf", "b3326a753", "c3d16eb3d", "e7c7605a7", "ebf48810b", "ec9a000d8"], "source_commits": ["ec9a000d8"], "source_entry_id": "12.13/changes/038", "db_id": "398737ed13303adc228543ddfa6785a6", "patch_ids": ["601b075d0f82f4e4b897afd21d9ebb1a"], "statement_hash": "b13433443b8b0d38d045f78d09420f3b65ba9de0c3d1bc3d4504ee1593ac743a", "relations": [{"rule": 2, "type": "equivalent", "target": "167682f1e2c3002ccf77abc76fa35274", "evidence": {"same_day": true, "patch_ids": ["601b075d0f82f4e4b897afd21d9ebb1a"], "statement_hash": "b13433443b8b0d38d045f78d09420f3b65ba9de0c3d1bc3d4504ee1593ac743a"}}, {"rule": 2, "type": "equivalent", "target": "93801251acd5adc5bfb88612d85cd8ba", "evidence": {"same_day": true, "patch_ids": ["601b075d0f82f4e4b897afd21d9ebb1a"], "statement_hash": "b13433443b8b0d38d045f78d09420f3b65ba9de0c3d1bc3d4504ee1593ac743a"}}, {"rule": 2, "type": "equivalent", "target": "a9cf2408bf63db6ad19bec8fdd8a5d82", "evidence": {"same_day": true, "patch_ids": ["601b075d0f82f4e4b897afd21d9ebb1a"]}}, {"rule": 2, "type": "equivalent", "target": "d958e11d9207994f5bd3d8b82cf66177", "evidence": {"same_day": true, "patch_ids": ["601b075d0f82f4e4b897afd21d9ebb1a"]}}, {"rule": 2, "type": "equivalent", "target": "f2dcd5418d27698c2ae57147c96c72ce", "evidence": {"same_day": true, "patch_ids": ["601b075d0f82f4e4b897afd21d9ebb1a"], "statement_hash": "b13433443b8b0d38d045f78d09420f3b65ba9de0c3d1bc3d4504ee1593ac743a"}}], "version": "12.13", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "93801251acd5adc5bfb88612d85cd8ba", "kind": "equivalent", "version": "15.1", "label": "15.1", "title": "将时区数据文件更新为 tzdata 2022f 版本，包含智利、斐济、伊朗、约旦、墨西哥、巴勒斯坦和叙利亚的夏令时法规变更，以及智利、克里米亚、伊朗和墨西哥的历史修正。", "evidence": {"same_day": true, "patch_ids": ["601b075d0f82f4e4b897afd21d9ebb1a"], "statement_hash": "b13433443b8b0d38d045f78d09420f3b65ba9de0c3d1bc3d4504ee1593ac743a"}, "url": "/docs/compare/?release=15.1#15.1-c1dde3372032adeb", "source_url": "/docs/release/15.1/#ZH-AUTO-RELEASE-15-SECT2-34"}, {"db_id": "f2dcd5418d27698c2ae57147c96c72ce", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "将时区数据文件更新为 tzdata 2022f 版本，包含智利、斐济、伊朗、约旦、墨西哥、巴勒斯坦和叙利亚的夏令时法规变更，以及智利、克里米亚、伊朗和墨西哥的历史修正。", "evidence": {"same_day": true, "patch_ids": ["601b075d0f82f4e4b897afd21d9ebb1a"], "statement_hash": "b13433443b8b0d38d045f78d09420f3b65ba9de0c3d1bc3d4504ee1593ac743a"}, "url": "/docs/compare/?release=14.6#14.6-c9377e72084a56fc", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "167682f1e2c3002ccf77abc76fa35274", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "将时区数据文件更新为 tzdata 2022f 版本，包含智利、斐济、伊朗、约旦、墨西哥、巴勒斯坦和叙利亚的夏令时法规变更，以及智利、克里米亚、伊朗和墨西哥的历史修正。", "evidence": {"same_day": true, "patch_ids": ["601b075d0f82f4e4b897afd21d9ebb1a"], "statement_hash": "b13433443b8b0d38d045f78d09420f3b65ba9de0c3d1bc3d4504ee1593ac743a"}, "url": "/docs/compare/?release=13.9#13.9-6c593cfc47cc78d3", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "a9cf2408bf63db6ad19bec8fdd8a5d82", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "将时区数据文件更新到 tzdata 2022f 版，以反映智利、斐济、伊朗、约旦、墨西哥、巴勒斯坦和叙利亚的夏令时法规变更，并修正智利、克里米亚、伊朗和墨西哥的历史数据。", "evidence": {"same_day": true, "patch_ids": ["601b075d0f82f4e4b897afd21d9ebb1a"]}, "url": "/docs/compare/?release=11.18#11.18-88c7b21b2ad9d698", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}, {"db_id": "d958e11d9207994f5bd3d8b82cf66177", "kind": "equivalent", "version": "10.23", "label": "10.23", "title": "将时区数据文件更新到 tzdata 2022f 版，以反映智利、斐济、伊朗、约旦、墨西哥、巴勒斯坦和叙利亚的夏令时法规变更，并修正智利、克里米亚、伊朗和墨西哥的历史数据。", "evidence": {"same_day": true, "patch_ids": ["601b075d0f82f4e4b897afd21d9ebb1a"]}, "url": "/docs/compare/?release=10.23#10.23-88c7b21b2ad9d698", "source_url": "/docs/release/10.23/#id-1.11.6.5.6"}]}]}], "stats": [{"key": "all", "label": "全部变更", "count": 38}, {"key": "feature", "label": "新功能", "count": 0}, {"key": "bugfix", "label": "BUG 修复", "count": 19}, {"key": "security", "label": "安全相关", "count": 0}, {"key": "performance", "label": "性能改进", "count": 0}, {"key": "compatibility", "label": "兼容性变化", "count": 0}, {"key": "improvement", "label": "其他改进", "count": 19}], "total": 38, "release_count": 1, "cross_major": false, "cve_count": 0, "cves": [], "cve_available": true, "remaining_cves": [], "security_regressions": [], "warnings": [], "candidate_count": 38, "already_in_source_count": 0, "duplicate_count": 0, "excluded_count": 0, "exclusions": [], "source_as_of": "2026-09-26", "security_as_of": "2026-09-26"}