{"format": 1, "mode": "release", "from_release": null, "to_release": {"date": "2018-11-08", "build": "9.6.11", "major": "9.6", "minor": 11, "manual": "9.6", "status": "stable", "doc_git": "", "version": "9.6.11", "eol_date": "2021-11-11", "date_text": "2018-11-08", "supported": false, "manual_url": "/docs/9.6/release-9-6-11.html", "source_url": "/docs/release/9.6.11/", "entry_count": 57, "placeholder": false, "content_hash": "7911acc8c918f2be6125df81f4497bb8836394eb82d8746c1f7e8e6bcd935542", "manual_build": "9.6.24", "source_as_of": "", "changes_count": 57, "doc_loaded_at": "2026-09-26T02:56:43.973460", "migration_html": "<p>对于运行 9.6.X 的用户，不需要转储/恢复。</p>\n<p>不过，如果你是从 9.6.9 之前的版本升级，参见<a href=\"/docs/9.6/release-9-6-9.html\" title=\"E.16. 版本 9.6.9\">第 E.16 节</a>。</p>", "compatibility_count": 0, "label": "9.6.11", "status_label": "历史版本", "eol": "2021-11-11", "age_days": 2883, "support_days": -1784}, "groups": [{"date": "2018-11-08", "build": "9.6.11", "major": "9.6", "minor": 11, "manual": "9.6", "status": "stable", "doc_git": "", "version": "9.6.11", "eol_date": "2021-11-11", "date_text": "2018-11-08", "supported": false, "manual_url": "/docs/9.6/release-9-6-11.html", "source_url": "/docs/release/9.6.11/", "entry_count": 57, "placeholder": false, "content_hash": "7911acc8c918f2be6125df81f4497bb8836394eb82d8746c1f7e8e6bcd935542", "manual_build": "9.6.24", "source_as_of": "", "changes_count": 57, "doc_loaded_at": "2026-09-26T02:56:43.973460", "migration_html": "<p>对于运行 9.6.X 的用户，不需要转储/恢复。</p>\n<p>不过，如果你是从 9.6.9 之前的版本升级，参见<a href=\"/docs/9.6/release-9-6-9.html\" title=\"E.16. 版本 9.6.9\">第 E.16 节</a>。</p>", "compatibility_count": 0, "label": "9.6.11", "status_label": "历史版本", "eol": "2021-11-11", "age_days": 2883, "support_days": -1784, "entries": [{"id": "9.6.11-e78b5ffb8ddfac61", "cves": [], "html": "<p>修复 <code>has_<em><code>foo</code></em>_privilege()</code> 函数族的边界失败（Tom Lane）</p>\n<p>提供无效对象 OID 时返回 NULL 而不是抛出错误。其中一些函数本来就做对了，但并非全部。<code>has_column_privilege()</code> 在某些平台上还可能崩溃。</p>", "text": "修复 has_foo_privilege() 函数族的边界失败（Tom Lane） 提供无效对象 OID 时返回 NULL 而不是抛出错误。其中一些函数本来就做对了，但并非全部。has_column_privilege() 在某些平台上还可能崩溃。", "title": "修复 has_foo_privilege() 函数族的边界失败", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "3fb7a178d7638f3231e0ec389969ff4d4df120c12e38b44f968c8ba99770baf0", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix corner-case failures in has_foo_privilege() family of functions (Tom Lane) Return NULL rather than throwing an error when an invalid object OID is provided. Some of these functions got that right already, but not all. has_column_privilege() was additionally capable of crashing on some platforms.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/001", "db_id": "1c7d1094b3823c84cbc602a18abdac46", "patch_ids": [], "statement_hash": "678022fac74246975e43eb3e6e1e1c1537d52ca4ccb6ecc51b9795943ece5803", "relations": [{"rule": 2, "type": "equivalent", "target": "6cece4c576a523c7173476b0e107e332", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "678022fac74246975e43eb3e6e1e1c1537d52ca4ccb6ecc51b9795943ece5803"}}, {"rule": 2, "type": "equivalent", "target": "96af06e3870344955bb0fd7885148278", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "678022fac74246975e43eb3e6e1e1c1537d52ca4ccb6ecc51b9795943ece5803"}}, {"rule": 2, "type": "equivalent", "target": "97090aaaef1aa21198fa7fe47f3961e9", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "678022fac74246975e43eb3e6e1e1c1537d52ca4ccb6ecc51b9795943ece5803"}}, {"rule": 2, "type": "equivalent", "target": "c20cf7d99d1186481d20e4a797919476", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "678022fac74246975e43eb3e6e1e1c1537d52ca4ccb6ecc51b9795943ece5803"}}], "version": "9.6.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "97090aaaef1aa21198fa7fe47f3961e9", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "修复 has_foo_privilege() 系列函数在边界情况下的失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "678022fac74246975e43eb3e6e1e1c1537d52ca4ccb6ecc51b9795943ece5803"}, "url": "/docs/compare/?release=10.6#10.6-fa50edbbb431b2a6", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "6cece4c576a523c7173476b0e107e332", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "修复 has_foo_privilege() 函数族的边界失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "678022fac74246975e43eb3e6e1e1c1537d52ca4ccb6ecc51b9795943ece5803"}, "url": "/docs/compare/?release=9.5.15#9.5.15-e78b5ffb8ddfac61", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}, {"db_id": "c20cf7d99d1186481d20e4a797919476", "kind": "equivalent", "version": "9.4.20", "label": "9.4.20", "title": "修复 has_foo_privilege() 函数族的边界失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "678022fac74246975e43eb3e6e1e1c1537d52ca4ccb6ecc51b9795943ece5803"}, "url": "/docs/compare/?release=9.4.20#9.4.20-e78b5ffb8ddfac61", "source_url": "/docs/release/9.4.20/#id-1.11.6.11.5"}, {"db_id": "96af06e3870344955bb0fd7885148278", "kind": "equivalent", "version": "9.3.25", "label": "9.3.25", "title": "修复 has_foo_privilege() 函数族的边界失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "678022fac74246975e43eb3e6e1e1c1537d52ca4ccb6ecc51b9795943ece5803"}, "url": "/docs/compare/?release=9.3.25#9.3.25-e78b5ffb8ddfac61", "source_url": "/docs/release/9.3.25/#id-1.11.6.5.6"}]}, {"id": "9.6.11-b352697ceefbf923", "cves": [], "html": "<p>避免正则表达式匹配/拆分函数在长字符串上的 O(N^2) 减速（Andrew Gierth）</p>", "text": "避免正则表达式匹配/拆分函数在长字符串上的 O(N^2) 减速（Andrew Gierth）", "title": "避免正则表达式匹配/拆分函数在长字符串上的 O(N^2) 减速", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "6915bfa3ad6b16467e6def2a33ea20875270005cb5941ecc7bb807975e1880e2", "section_path": ["变更"], "commit_groups": [], "identity_text": "Avoid O(N^2) slowdown in regular expression match/split functions on long strings (Andrew Gierth)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/002", "db_id": "83e2181e0e546997cabaa698d868c21a", "patch_ids": [], "statement_hash": "ed7c6e214e46fd9195cc83cab9d3375793d6d92fdac790cd856256a2ef284b4d", "relations": [{"rule": 2, "type": "equivalent", "target": "2d8e20ffd2a0f3ef7214458b985b5b67", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ed7c6e214e46fd9195cc83cab9d3375793d6d92fdac790cd856256a2ef284b4d"}}, {"rule": 2, "type": "equivalent", "target": "7556ffafb7d571ed0a550a4cacec85bd", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ed7c6e214e46fd9195cc83cab9d3375793d6d92fdac790cd856256a2ef284b4d"}}, {"rule": 2, "type": "equivalent", "target": "b1619bb42c237c4b31c8be8324f42261", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ed7c6e214e46fd9195cc83cab9d3375793d6d92fdac790cd856256a2ef284b4d"}}, {"rule": 2, "type": "equivalent", "target": "c4bca64fb5f68ada6b7fc67b3e745773", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ed7c6e214e46fd9195cc83cab9d3375793d6d92fdac790cd856256a2ef284b4d"}}], "version": "9.6.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "2d8e20ffd2a0f3ef7214458b985b5b67", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "避免正则表达式匹配/分割函数在处理长字符串时出现 O(N^2) 性能下降", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ed7c6e214e46fd9195cc83cab9d3375793d6d92fdac790cd856256a2ef284b4d"}, "url": "/docs/compare/?release=10.6#10.6-dedaea3c22ecb555", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "c4bca64fb5f68ada6b7fc67b3e745773", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "避免正则表达式匹配/拆分函数在长字符串上的 O(N^2) 减速", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ed7c6e214e46fd9195cc83cab9d3375793d6d92fdac790cd856256a2ef284b4d"}, "url": "/docs/compare/?release=9.5.15#9.5.15-b352697ceefbf923", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}, {"db_id": "b1619bb42c237c4b31c8be8324f42261", "kind": "equivalent", "version": "9.4.20", "label": "9.4.20", "title": "避免正则表达式匹配/分割函数在长字符串上的 O(N^2) 减速", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ed7c6e214e46fd9195cc83cab9d3375793d6d92fdac790cd856256a2ef284b4d"}, "url": "/docs/compare/?release=9.4.20#9.4.20-4efc4c96d516c209", "source_url": "/docs/release/9.4.20/#id-1.11.6.11.5"}, {"db_id": "7556ffafb7d571ed0a550a4cacec85bd", "kind": "equivalent", "version": "9.3.25", "label": "9.3.25", "title": "避免正则表达式匹配/拆分函数在长字符串上的 O(N^2) 减速", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ed7c6e214e46fd9195cc83cab9d3375793d6d92fdac790cd856256a2ef284b4d"}, "url": "/docs/compare/?release=9.3.25#9.3.25-b352697ceefbf923", "source_url": "/docs/release/9.3.25/#id-1.11.6.5.6"}]}, {"id": "9.6.11-d95d28b635828975", "cves": [], "html": "<p>修复紧随注释或 <code>+</code> 或 <code>-</code> 之后的标准多字符操作符的解析（Andrew Gierth）</p>\n<p>这一疏漏可能导致解析错误或优先级的不正确分配。</p>", "text": "修复紧随注释或 + 或 - 之后的标准多字符操作符的解析（Andrew Gierth） 这一疏漏可能导致解析错误或优先级的不正确分配。", "title": "修复紧随注释或 + 或 - 之后的标准多字符操作符的解析", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "5932c555ca151b338b8c0a83ec33928ef6d69819568333436bf7b60172d27a35", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix parsing of standard multi-character operators that are immediately followed by a comment or + or - (Andrew Gierth) This oversight could lead to parse errors, or to incorrect assignment of precedence.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/003", "db_id": "e2d655bf25a14c39e08dfe12cb41a503", "patch_ids": [], "statement_hash": "394825f0cfe9c500bdbe737746a6ee849b7a9e37d71998027df020c0f3a70a9c", "relations": [{"rule": 2, "type": "equivalent", "target": "190ac69c210f99a98bb267c24a86d1f0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "394825f0cfe9c500bdbe737746a6ee849b7a9e37d71998027df020c0f3a70a9c"}}, {"rule": 2, "type": "equivalent", "target": "f4dcfa6102f0944db7c32e1c2d4c50d5", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "394825f0cfe9c500bdbe737746a6ee849b7a9e37d71998027df020c0f3a70a9c"}}], "version": "9.6.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "190ac69c210f99a98bb267c24a86d1f0", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "修复对紧接着注释、+ 或 - 的标准多字符操作符的解析", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "394825f0cfe9c500bdbe737746a6ee849b7a9e37d71998027df020c0f3a70a9c"}, "url": "/docs/compare/?release=10.6#10.6-30b1765907528648", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "f4dcfa6102f0944db7c32e1c2d4c50d5", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "修复紧随注释或 + 或 - 之后的标准多字符操作符的解析", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "394825f0cfe9c500bdbe737746a6ee849b7a9e37d71998027df020c0f3a70a9c"}, "url": "/docs/compare/?release=9.5.15#9.5.15-d95d28b635828975", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}]}, {"id": "9.6.11-f985972cba8e294c", "cves": [], "html": "<p>避免词法分析器对长串 <code>+</code> 或 <code>-</code> 字符的 O(N^3) 减速（Andrew Gierth）</p>", "text": "避免词法分析器对长串 + 或 - 字符的 O(N^3) 减速（Andrew Gierth）", "title": "避免词法分析器对长串 + 或 - 字符的 O(N^3) 减速", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "0c8b0c42454f776be280d204187597cc7719c3a2fb2479b5c125ac3e1abb1969", "section_path": ["变更"], "commit_groups": [], "identity_text": "Avoid O(N^3) slowdown in lexer for long strings of + or - characters (Andrew Gierth)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/004", "db_id": "2fffc85446327d0d67db0de00b81f3ae", "patch_ids": [], "statement_hash": "e420c58a4791ad9a45c1d636aba3985e9c532b2fc1a1a229896d92ae6217d790", "relations": [{"rule": 2, "type": "equivalent", "target": "226aea47f8112ce926f307dd99216b28", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e420c58a4791ad9a45c1d636aba3985e9c532b2fc1a1a229896d92ae6217d790"}}, {"rule": 2, "type": "equivalent", "target": "2c554df258bdc8377d8bbc785e5d5d9f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e420c58a4791ad9a45c1d636aba3985e9c532b2fc1a1a229896d92ae6217d790"}}, {"rule": 2, "type": "equivalent", "target": "3ea1ad5e1e8b0c97d19b6f7e0ebf40f7", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e420c58a4791ad9a45c1d636aba3985e9c532b2fc1a1a229896d92ae6217d790"}}, {"rule": 2, "type": "equivalent", "target": "a1f72805bb86509ffb2f872952f21cfd", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e420c58a4791ad9a45c1d636aba3985e9c532b2fc1a1a229896d92ae6217d790"}}], "version": "9.6.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "2c554df258bdc8377d8bbc785e5d5d9f", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "避免词法分析器处理由 + 或 - 字符组成的长字符串时出现 O(N^3) 性能下降", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e420c58a4791ad9a45c1d636aba3985e9c532b2fc1a1a229896d92ae6217d790"}, "url": "/docs/compare/?release=10.6#10.6-1d60394aa88e02ca", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "3ea1ad5e1e8b0c97d19b6f7e0ebf40f7", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "避免词法分析器对长串 + 或 - 字符的 O(N^3) 减速", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e420c58a4791ad9a45c1d636aba3985e9c532b2fc1a1a229896d92ae6217d790"}, "url": "/docs/compare/?release=9.5.15#9.5.15-f985972cba8e294c", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}, {"db_id": "226aea47f8112ce926f307dd99216b28", "kind": "equivalent", "version": "9.4.20", "label": "9.4.20", "title": "避免词法分析器在长+或-字符字符串上的 O(N^3) 减速", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e420c58a4791ad9a45c1d636aba3985e9c532b2fc1a1a229896d92ae6217d790"}, "url": "/docs/compare/?release=9.4.20#9.4.20-bbaabd9772e26381", "source_url": "/docs/release/9.4.20/#id-1.11.6.11.5"}, {"db_id": "a1f72805bb86509ffb2f872952f21cfd", "kind": "equivalent", "version": "9.3.25", "label": "9.3.25", "title": "避免词法分析器对长串 + 或 - 字符的 O(N^3) 减速", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e420c58a4791ad9a45c1d636aba3985e9c532b2fc1a1a229896d92ae6217d790"}, "url": "/docs/compare/?release=9.3.25#9.3.25-f985972cba8e294c", "source_url": "/docs/release/9.3.25/#id-1.11.6.5.6"}]}, {"id": "9.6.11-11663612e169f52d", "cves": [], "html": "<p>修复外层查询被反向扫描时 SubPlan 的错误执行（Andrew Gierth）</p>", "text": "修复外层查询被反向扫描时 SubPlan 的错误执行（Andrew Gierth）", "title": "修复外层查询被反向扫描时 SubPlan 的错误执行", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "21c8756ab2d50f155049ca03042f9e3c50c5c0e96e4f579268beefd5df0252a1", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix mis-execution of SubPlans when the outer query is being scanned backwards (Andrew Gierth)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/005", "db_id": "22a5e153958bb020b46a98e742603a0b", "patch_ids": [], "statement_hash": "0756a57041579435e5fab801185a9bb993de6f7dba13fd9b7888de17716596a1", "relations": [{"rule": 2, "type": "equivalent", "target": "2d6b367ebcd684a522541fc8e74b0c84", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0756a57041579435e5fab801185a9bb993de6f7dba13fd9b7888de17716596a1"}}, {"rule": 2, "type": "equivalent", "target": "841da23ed5759bf95580883781464850", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0756a57041579435e5fab801185a9bb993de6f7dba13fd9b7888de17716596a1"}}, {"rule": 2, "type": "equivalent", "target": "abd82ba9e0388c32ad9ea1611cdbe3b5", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0756a57041579435e5fab801185a9bb993de6f7dba13fd9b7888de17716596a1"}}, {"rule": 2, "type": "equivalent", "target": "dcd9813510d56f5391eaf1bcb59c04fa", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0756a57041579435e5fab801185a9bb993de6f7dba13fd9b7888de17716596a1"}}], "version": "9.6.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "abd82ba9e0388c32ad9ea1611cdbe3b5", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "修复反向扫描外层查询时 SubPlan 执行不正确的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0756a57041579435e5fab801185a9bb993de6f7dba13fd9b7888de17716596a1"}, "url": "/docs/compare/?release=10.6#10.6-8f88131dc050c635", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "2d6b367ebcd684a522541fc8e74b0c84", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "修复外层查询被反向扫描时 SubPlan 的错误执行", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0756a57041579435e5fab801185a9bb993de6f7dba13fd9b7888de17716596a1"}, "url": "/docs/compare/?release=9.5.15#9.5.15-11663612e169f52d", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}, {"db_id": "dcd9813510d56f5391eaf1bcb59c04fa", "kind": "equivalent", "version": "9.4.20", "label": "9.4.20", "title": "修复外层查询反向扫描时 SubPlan 被错误执行的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0756a57041579435e5fab801185a9bb993de6f7dba13fd9b7888de17716596a1"}, "url": "/docs/compare/?release=9.4.20#9.4.20-2049893541afc10e", "source_url": "/docs/release/9.4.20/#id-1.11.6.11.5"}, {"db_id": "841da23ed5759bf95580883781464850", "kind": "equivalent", "version": "9.3.25", "label": "9.3.25", "title": "修复外层查询被反向扫描时 SubPlan 的错误执行", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0756a57041579435e5fab801185a9bb993de6f7dba13fd9b7888de17716596a1"}, "url": "/docs/compare/?release=9.3.25#9.3.25-11663612e169f52d", "source_url": "/docs/release/9.3.25/#id-1.11.6.5.6"}]}, {"id": "9.6.11-cab07d819471643d", "cves": [], "html": "<p>修复回卷所引用游标后 <code>UPDATE/DELETE ... WHERE CURRENT OF ...</code> 的失败（Tom Lane）</p>\n<p>扫描多个关系（特别是继承树）的游标如果被回卷到较早的关系，可能产生错误行为。</p>", "text": "修复回卷所引用游标后 UPDATE/DELETE ... WHERE CURRENT OF ... 的失败（Tom Lane） 扫描多个关系（特别是继承树）的游标如果被回卷到较早的关系，可能产生错误行为。", "title": "修复回卷所引用游标后 UPDATE/DELETE ... WHERE CURRENT OF ... 的失败", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "e7dc8640bb4cae888d7bb328c9188488f8459261727b6bd7570078028de2e5cd", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix failure of UPDATE/DELETE ... WHERE CURRENT OF ... after rewinding the referenced cursor (Tom Lane) A cursor that scans multiple relations (particularly an inheritance tree) could produce wrong behavior if rewound to an earlier relation.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/006", "db_id": "b02323187c02b1b18500db0838a9338a", "patch_ids": [], "statement_hash": "06f8948a709e7d2ce1f121ef6f4f975b8d0bf800d3b4c263a0d025d44d8bd3a8", "relations": [{"rule": 2, "type": "equivalent", "target": "4bbd929ffe042cca6bb5214bcb9d0d8d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "06f8948a709e7d2ce1f121ef6f4f975b8d0bf800d3b4c263a0d025d44d8bd3a8"}}, {"rule": 2, "type": "equivalent", "target": "695ae6ed34779d61bf85465915f83708", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "06f8948a709e7d2ce1f121ef6f4f975b8d0bf800d3b4c263a0d025d44d8bd3a8"}}, {"rule": 2, "type": "equivalent", "target": "7774665d3d540dff9f533392cf41364b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "06f8948a709e7d2ce1f121ef6f4f975b8d0bf800d3b4c263a0d025d44d8bd3a8"}}, {"rule": 2, "type": "equivalent", "target": "d52d30924584e7029ad77bdbdcabb0bf", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "06f8948a709e7d2ce1f121ef6f4f975b8d0bf800d3b4c263a0d025d44d8bd3a8"}}], "version": "9.6.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "7774665d3d540dff9f533392cf41364b", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "修复将引用的游标回退后，UPDATE/DELETE ... WHERE CURRENT OF ... 发生的失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "06f8948a709e7d2ce1f121ef6f4f975b8d0bf800d3b4c263a0d025d44d8bd3a8"}, "url": "/docs/compare/?release=10.6#10.6-4c38402f8ea098d3", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "d52d30924584e7029ad77bdbdcabb0bf", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "修复回卷所引用游标后 UPDATE/DELETE ... WHERE CURRENT OF ... 的失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "06f8948a709e7d2ce1f121ef6f4f975b8d0bf800d3b4c263a0d025d44d8bd3a8"}, "url": "/docs/compare/?release=9.5.15#9.5.15-cab07d819471643d", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}, {"db_id": "695ae6ed34779d61bf85465915f83708", "kind": "equivalent", "version": "9.4.20", "label": "9.4.20", "title": "修复回卷所引用游标后 UPDATE/DELETE ... WHERE CURRENT OF ... 的失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "06f8948a709e7d2ce1f121ef6f4f975b8d0bf800d3b4c263a0d025d44d8bd3a8"}, "url": "/docs/compare/?release=9.4.20#9.4.20-cab07d819471643d", "source_url": "/docs/release/9.4.20/#id-1.11.6.11.5"}, {"db_id": "4bbd929ffe042cca6bb5214bcb9d0d8d", "kind": "equivalent", "version": "9.3.25", "label": "9.3.25", "title": "修复回卷所引用游标后 UPDATE/DELETE ... WHERE CURRENT OF ... 的失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "06f8948a709e7d2ce1f121ef6f4f975b8d0bf800d3b4c263a0d025d44d8bd3a8"}, "url": "/docs/compare/?release=9.3.25#9.3.25-cab07d819471643d", "source_url": "/docs/release/9.3.25/#id-1.11.6.5.6"}]}, {"id": "9.6.11-651b9852143ce292", "cves": [], "html": "<p>修复 <code>EvalPlanQual</code> 正确处理条件执行的 InitPlan（Andrew Gierth、Tom Lane）</p>\n<p>如果并发更新包含诸如 <code>CASE</code> 构造内的不相关子 <code>SELECT</code> 之类的代码，这会导致难以重现的崩溃或错误答案。</p>", "text": "修复 EvalPlanQual 正确处理条件执行的 InitPlan（Andrew Gierth、Tom Lane） 如果并发更新包含诸如 CASE 构造内的不相关子 SELECT 之类的代码，这会导致难以重现的崩溃或错误答案。", "title": "修复 EvalPlanQual 正确处理条件执行的 InitPlan", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "7874cb77ba84bb6288735c6da5cf0af1b7d943dcf2f83cde6683c3ffe1af84f7", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix EvalPlanQual to handle conditionally-executed InitPlans properly (Andrew Gierth, Tom Lane) This resulted in hard-to-reproduce crashes or wrong answers in concurrent updates, if they contained code such as an uncorrelated sub-SELECT inside a CASE construct.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/007", "db_id": "0aac8174b3f81abd9629ebd2715eb170", "patch_ids": [], "statement_hash": "b5a88bbfdf8a7a6db9fdf07964ab476a4bacd2dbe8dc273011bbaee41305be27", "relations": [{"rule": 2, "type": "equivalent", "target": "27d67e082ad5215229610a3302655a92", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b5a88bbfdf8a7a6db9fdf07964ab476a4bacd2dbe8dc273011bbaee41305be27"}}, {"rule": 2, "type": "equivalent", "target": "4b48cb645fd752e0d8ab07bdb5def241", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b5a88bbfdf8a7a6db9fdf07964ab476a4bacd2dbe8dc273011bbaee41305be27"}}, {"rule": 2, "type": "equivalent", "target": "6cb6bf95285b4e0346c3310a8ed84fcd", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b5a88bbfdf8a7a6db9fdf07964ab476a4bacd2dbe8dc273011bbaee41305be27"}}, {"rule": 2, "type": "equivalent", "target": "738e1481a5390ca38f5fa6fe6ea8d549", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b5a88bbfdf8a7a6db9fdf07964ab476a4bacd2dbe8dc273011bbaee41305be27"}}], "version": "9.6.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "738e1481a5390ca38f5fa6fe6ea8d549", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "修复 EvalPlanQual，使其正确处理有条件执行的 InitPlan", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b5a88bbfdf8a7a6db9fdf07964ab476a4bacd2dbe8dc273011bbaee41305be27"}, "url": "/docs/compare/?release=10.6#10.6-42d47624ec2f05ae", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "4b48cb645fd752e0d8ab07bdb5def241", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "修复 EvalPlanQual 正确处理条件执行的 InitPlan", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b5a88bbfdf8a7a6db9fdf07964ab476a4bacd2dbe8dc273011bbaee41305be27"}, "url": "/docs/compare/?release=9.5.15#9.5.15-651b9852143ce292", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}, {"db_id": "27d67e082ad5215229610a3302655a92", "kind": "equivalent", "version": "9.4.20", "label": "9.4.20", "title": "修复 EvalPlanQual 正确处理条件执行的 InitPlan", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b5a88bbfdf8a7a6db9fdf07964ab476a4bacd2dbe8dc273011bbaee41305be27"}, "url": "/docs/compare/?release=9.4.20#9.4.20-651b9852143ce292", "source_url": "/docs/release/9.4.20/#id-1.11.6.11.5"}, {"db_id": "6cb6bf95285b4e0346c3310a8ed84fcd", "kind": "equivalent", "version": "9.3.25", "label": "9.3.25", "title": "修复 EvalPlanQual 正确处理条件执行的 InitPlan", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b5a88bbfdf8a7a6db9fdf07964ab476a4bacd2dbe8dc273011bbaee41305be27"}, "url": "/docs/compare/?release=9.3.25#9.3.25-651b9852143ce292", "source_url": "/docs/release/9.3.25/#id-1.11.6.5.6"}]}, {"id": "9.6.11-ded82ea69402a5be", "cves": [], "html": "<p>修复字符类检查在 Windows 上对 U+FFFF 以上的 Unicode 字符不再失败（Tom Lane、Kenji Uno）</p>\n<p>此 bug 影响全文搜索操作以及 <code>contrib/ltree</code> 和 <code>contrib/pg_trgm</code>。</p>", "text": "修复字符类检查在 Windows 上对 U+FFFF 以上的 Unicode 字符不再失败（Tom Lane、Kenji Uno） 此 bug 影响全文搜索操作以及 contrib/ltree 和 contrib/pg_trgm。", "title": "修复字符类检查在 Windows 上对 U+FFFF 以上的 Unicode 字符不再失败", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "ec20ff606c0138c87c7c44f116a7079e92deb06f1a0c0a7f2590c1f131f577fd", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix character-class checks to not fail on Windows for Unicode characters above U+FFFF (Tom Lane, Kenji Uno) This bug affected full-text-search operations, as well as contrib/ltree and contrib/pg_trgm.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/008", "db_id": "4c4389058c6ec15d24710974ee433b72", "patch_ids": [], "statement_hash": "8fe30e8a00498505d1af1c06936dccd32cb92a9c671731c5004c471060848b8f", "relations": [{"rule": 2, "type": "equivalent", "target": "07ac0e68d39e5eb1d01772c622ef886b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8fe30e8a00498505d1af1c06936dccd32cb92a9c671731c5004c471060848b8f"}}, {"rule": 2, "type": "equivalent", "target": "3b1425c29091cb957c19ef962eedcc91", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8fe30e8a00498505d1af1c06936dccd32cb92a9c671731c5004c471060848b8f"}}, {"rule": 2, "type": "equivalent", "target": "71a0050bfe91eb9a80a48cf58fa38867", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8fe30e8a00498505d1af1c06936dccd32cb92a9c671731c5004c471060848b8f"}}, {"rule": 2, "type": "equivalent", "target": "ac497120f0805b17c85a3c027b169e05", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8fe30e8a00498505d1af1c06936dccd32cb92a9c671731c5004c471060848b8f"}}, {"rule": 2, "type": "equivalent", "target": "e8bab94529b5c87f952ec89057ca34bc", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8fe30e8a00498505d1af1c06936dccd32cb92a9c671731c5004c471060848b8f"}}], "version": "9.6.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "07ac0e68d39e5eb1d01772c622ef886b", "kind": "equivalent", "version": "11.1", "label": "11.1", "title": "修复字符类检查，使其在 Windows 上不会因高于 U+FFFF 的 Unicode 字符而失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8fe30e8a00498505d1af1c06936dccd32cb92a9c671731c5004c471060848b8f"}, "url": "/docs/compare/?release=11.1#11.1-b0b9b655780b1845", "source_url": "/docs/release/11.1/#id-1.11.6.26.5"}, {"db_id": "3b1425c29091cb957c19ef962eedcc91", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "修复字符类检查，使其在 Windows 上不会因高于 U+FFFF 的 Unicode 字符而失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8fe30e8a00498505d1af1c06936dccd32cb92a9c671731c5004c471060848b8f"}, "url": "/docs/compare/?release=10.6#10.6-b0b9b655780b1845", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "71a0050bfe91eb9a80a48cf58fa38867", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "修复字符类检查在 Windows 上对 U+FFFF 以上的 Unicode 字符不再失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8fe30e8a00498505d1af1c06936dccd32cb92a9c671731c5004c471060848b8f"}, "url": "/docs/compare/?release=9.5.15#9.5.15-ded82ea69402a5be", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}, {"db_id": "e8bab94529b5c87f952ec89057ca34bc", "kind": "equivalent", "version": "9.4.20", "label": "9.4.20", "title": "修复字符类检查在 Windows 上对 U+FFFF 以上的 Unicode 字符不再失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8fe30e8a00498505d1af1c06936dccd32cb92a9c671731c5004c471060848b8f"}, "url": "/docs/compare/?release=9.4.20#9.4.20-ded82ea69402a5be", "source_url": "/docs/release/9.4.20/#id-1.11.6.11.5"}, {"db_id": "ac497120f0805b17c85a3c027b169e05", "kind": "equivalent", "version": "9.3.25", "label": "9.3.25", "title": "修复字符类检查在 Windows 上对 U+FFFF 以上的 Unicode 字符不再失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8fe30e8a00498505d1af1c06936dccd32cb92a9c671731c5004c471060848b8f"}, "url": "/docs/compare/?release=9.3.25#9.3.25-ded82ea69402a5be", "source_url": "/docs/release/9.3.25/#id-1.11.6.5.6"}]}, {"id": "9.6.11-66d163ccd2731e1a", "cves": [], "html": "<p>禁止把包含窗口函数、<code>LIMIT</code> 或 <code>OFFSET</code> 的子 <code>SELECT</code> 下推给并行工作者（Amit Kapila）</p>\n<p>由于行序变化导致的不确定性，不同工作者可能得到不同答案，这类情况可能导致行为不一致。</p>", "text": "禁止把包含窗口函数、LIMIT 或 OFFSET 的子 SELECT 下推给并行工作者（Amit Kapila） 由于行序变化导致的不确定性，不同工作者可能得到不同答案，这类情况可能导致行为不一致。", "title": "禁止把包含窗口函数、LIMIT 或 OFFSET 的子 SELECT 下推给并行工作者", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "4ed4684b4d9f8f9ad022a2bf9eff7e0d0691662d4c4699bd4b1ed7d62db24769", "section_path": ["变更"], "commit_groups": [], "identity_text": "Disallow pushing sub-SELECTs containing window functions, LIMIT, or OFFSET to parallel workers (Amit Kapila) Such cases could result in inconsistent behavior due to different workers getting different answers, as a result of indeterminacy due to row-ordering variations.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/009", "db_id": "8e375dea66b60eb20b9723f3dcad0742", "patch_ids": [], "statement_hash": "b984fb787a230e4e1e345262f9bcc4ffefbc353709a997aa3b758be367e39ce8", "relations": [{"rule": 2, "type": "equivalent", "target": "2a4a4949032587fed1eade33d28f0250", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b984fb787a230e4e1e345262f9bcc4ffefbc353709a997aa3b758be367e39ce8"}}], "version": "9.6.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "2a4a4949032587fed1eade33d28f0250", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "禁止将包含窗口函数、LIMIT 或 OFFSET 的子 SELECT 下推到并行工作进程", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b984fb787a230e4e1e345262f9bcc4ffefbc353709a997aa3b758be367e39ce8"}, "url": "/docs/compare/?release=10.6#10.6-38eb31bd7e65b982", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}]}, {"id": "9.6.11-ce4ecb04b29ae2d6", "cves": [], "html": "<p>确保外部表拥有的序列由该表上的 <code>ALTER OWNER</code> 处理（Peter Eisentraut）</p>\n<p>所有权更改应当也传播到这种序列，但外部表的情况被遗漏了。</p>", "text": "确保外部表拥有的序列由该表上的 ALTER OWNER 处理（Peter Eisentraut） 所有权更改应当也传播到这种序列，但外部表的情况被遗漏了。", "title": "确保外部表拥有的序列由该表上的 ALTER OWNER 处理", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "f755ab79570b1442a38abfd9836c94a1cd4d5a2aa0c155d3132e34fe9c55ca8a", "section_path": ["变更"], "commit_groups": [], "identity_text": "Ensure that sequences owned by a foreign table are processed by ALTER OWNER on the table (Peter Eisentraut) The ownership change should propagate to such sequences as well, but this was missed for foreign tables.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/010", "db_id": "94a2d612e8de966c46ad462e2fb4de7b", "patch_ids": [], "statement_hash": "f00a25f7c8540d34cf0a6284b3f08d8ba48a711c48c9b5565f7daec189a29d93", "relations": [{"rule": 2, "type": "equivalent", "target": "6618083c70ed8a7017bc1d41d078147a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f00a25f7c8540d34cf0a6284b3f08d8ba48a711c48c9b5565f7daec189a29d93"}}, {"rule": 2, "type": "equivalent", "target": "80b4f6db51589edd819c5252ae52065c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f00a25f7c8540d34cf0a6284b3f08d8ba48a711c48c9b5565f7daec189a29d93"}}, {"rule": 2, "type": "equivalent", "target": "b42dca4d55aadf5b6b8c659f0ba6037a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f00a25f7c8540d34cf0a6284b3f08d8ba48a711c48c9b5565f7daec189a29d93"}}, {"rule": 2, "type": "equivalent", "target": "f92b74a6fa58624ac4d59f53d74cfe7e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f00a25f7c8540d34cf0a6284b3f08d8ba48a711c48c9b5565f7daec189a29d93"}}], "version": "9.6.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "b42dca4d55aadf5b6b8c659f0ba6037a", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "确保对外部表执行 ALTER OWNER 时，也处理该表拥有的序列", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f00a25f7c8540d34cf0a6284b3f08d8ba48a711c48c9b5565f7daec189a29d93"}, "url": "/docs/compare/?release=10.6#10.6-8f724748c2d9bb0a", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "f92b74a6fa58624ac4d59f53d74cfe7e", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "确保外部表拥有的序列由该表上的 ALTER OWNER 处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f00a25f7c8540d34cf0a6284b3f08d8ba48a711c48c9b5565f7daec189a29d93"}, "url": "/docs/compare/?release=9.5.15#9.5.15-ce4ecb04b29ae2d6", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}, {"db_id": "80b4f6db51589edd819c5252ae52065c", "kind": "equivalent", "version": "9.4.20", "label": "9.4.20", "title": "确保外部表拥有的序列由该表上的 ALTER OWNER 处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f00a25f7c8540d34cf0a6284b3f08d8ba48a711c48c9b5565f7daec189a29d93"}, "url": "/docs/compare/?release=9.4.20#9.4.20-ce4ecb04b29ae2d6", "source_url": "/docs/release/9.4.20/#id-1.11.6.11.5"}, {"db_id": "6618083c70ed8a7017bc1d41d078147a", "kind": "equivalent", "version": "9.3.25", "label": "9.3.25", "title": "确保外部表拥有的序列由该表上的 ALTER OWNER 处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f00a25f7c8540d34cf0a6284b3f08d8ba48a711c48c9b5565f7daec189a29d93"}, "url": "/docs/compare/?release=9.3.25#9.3.25-ce4ecb04b29ae2d6", "source_url": "/docs/release/9.3.25/#id-1.11.6.5.6"}]}, {"id": "9.6.11-a2c8631463649323", "cves": [], "html": "<p>确保服务器在等待客户端输入之前处理已收到的 <code>NOTIFY</code> 和 <code>SIGTERM</code> 中断（Jeff Janes、Tom Lane）</p>", "text": "确保服务器在等待客户端输入之前处理已收到的 NOTIFY 和 SIGTERM 中断（Jeff Janes、Tom Lane）", "title": "确保服务器在等待客户端输入之前处理已收到的 NOTIFY 和 SIGTERM 中断", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "b0672febf4e57062798db2af2f1d95acc3b6bbcf8f2a790ffa8f56dc3efe045a", "section_path": ["变更"], "commit_groups": [], "identity_text": "Ensure that the server will process already-received NOTIFY and SIGTERM interrupts before waiting for client input (Jeff Janes, Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/011", "db_id": "58a0a41b7dede37cef3fb1c940a2aff6", "patch_ids": [], "statement_hash": "1f6aaab866c8e48e0146e6af6a7dcd983762e678249084770092512aee8e0b8c", "relations": [{"rule": 2, "type": "equivalent", "target": "a8267ccfb469efa114b4079b06d82dc2", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1f6aaab866c8e48e0146e6af6a7dcd983762e678249084770092512aee8e0b8c"}}, {"rule": 2, "type": "equivalent", "target": "a9e36a6f80e9e4054f9930438ca27b26", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1f6aaab866c8e48e0146e6af6a7dcd983762e678249084770092512aee8e0b8c"}}, {"rule": 2, "type": "equivalent", "target": "ee3e886f2c98b2f632e1888be46239d0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1f6aaab866c8e48e0146e6af6a7dcd983762e678249084770092512aee8e0b8c"}}], "version": "9.6.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "a8267ccfb469efa114b4079b06d82dc2", "kind": "equivalent", "version": "11.1", "label": "11.1", "title": "确保服务器在等待客户端输入之前，处理已收到的 NOTIFY 和 SIGTERM 中断", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1f6aaab866c8e48e0146e6af6a7dcd983762e678249084770092512aee8e0b8c"}, "url": "/docs/compare/?release=11.1#11.1-77265fd972ce43af", "source_url": "/docs/release/11.1/#id-1.11.6.26.5"}, {"db_id": "a9e36a6f80e9e4054f9930438ca27b26", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "确保服务器在等待客户端输入之前，处理已收到的 NOTIFY 和 SIGTERM 中断", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1f6aaab866c8e48e0146e6af6a7dcd983762e678249084770092512aee8e0b8c"}, "url": "/docs/compare/?release=10.6#10.6-77265fd972ce43af", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "ee3e886f2c98b2f632e1888be46239d0", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "确保服务器在等待客户端输入之前处理已收到的 NOTIFY 和 SIGTERM 中断", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1f6aaab866c8e48e0146e6af6a7dcd983762e678249084770092512aee8e0b8c"}, "url": "/docs/compare/?release=9.5.15#9.5.15-a2c8631463649323", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}]}, {"id": "9.6.11-fba3c6af39aefdac", "cves": [], "html": "<p>修复 <code>array_out()</code> 结果字符串的空间过度分配（Keiichi Hirobe）</p>", "text": "修复 array_out() 结果字符串的空间过度分配（Keiichi Hirobe）", "title": "修复 array_out() 结果字符串的空间过度分配", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "ca29e615662840946f33dbbaa8e958fbe1ba0c173c7447a6be9a5c442dc14d73", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix over-allocation of space for array_out()'s result string (Keiichi Hirobe)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/012", "db_id": "0a02cace4d48586a7ffb8b266ffe15e7", "patch_ids": [], "statement_hash": "5f0c546188add5f7562aa7e73c59cc3148eb5409053b8ccc3b0e7d5379d43747", "relations": [{"rule": 2, "type": "equivalent", "target": "531b63df57908783b1db890f56d326da", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5f0c546188add5f7562aa7e73c59cc3148eb5409053b8ccc3b0e7d5379d43747"}}, {"rule": 2, "type": "equivalent", "target": "bd1224e746a05c5e11e82237dd07d216", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5f0c546188add5f7562aa7e73c59cc3148eb5409053b8ccc3b0e7d5379d43747"}}, {"rule": 2, "type": "equivalent", "target": "bd91fae05bc943d159f59f99f943ff12", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5f0c546188add5f7562aa7e73c59cc3148eb5409053b8ccc3b0e7d5379d43747"}}, {"rule": 2, "type": "equivalent", "target": "d34b459322afd467d1c81419002ba57b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5f0c546188add5f7562aa7e73c59cc3148eb5409053b8ccc3b0e7d5379d43747"}}], "version": "9.6.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "bd91fae05bc943d159f59f99f943ff12", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "修复为 array_out() 的结果字符串分配过多空间的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5f0c546188add5f7562aa7e73c59cc3148eb5409053b8ccc3b0e7d5379d43747"}, "url": "/docs/compare/?release=10.6#10.6-3f7e0d70828bc51f", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "bd1224e746a05c5e11e82237dd07d216", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "修复 array_out() 结果字符串的空间过度分配", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5f0c546188add5f7562aa7e73c59cc3148eb5409053b8ccc3b0e7d5379d43747"}, "url": "/docs/compare/?release=9.5.15#9.5.15-fba3c6af39aefdac", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}, {"db_id": "d34b459322afd467d1c81419002ba57b", "kind": "equivalent", "version": "9.4.20", "label": "9.4.20", "title": "修复array_out()结果字符串空间过度分配的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5f0c546188add5f7562aa7e73c59cc3148eb5409053b8ccc3b0e7d5379d43747"}, "url": "/docs/compare/?release=9.4.20#9.4.20-3de009b88f27d82a", "source_url": "/docs/release/9.4.20/#id-1.11.6.11.5"}, {"db_id": "531b63df57908783b1db890f56d326da", "kind": "equivalent", "version": "9.3.25", "label": "9.3.25", "title": "修复 array_out() 结果字符串的空间过度分配", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5f0c546188add5f7562aa7e73c59cc3148eb5409053b8ccc3b0e7d5379d43747"}, "url": "/docs/compare/?release=9.3.25#9.3.25-fba3c6af39aefdac", "source_url": "/docs/release/9.3.25/#id-1.11.6.5.6"}]}, {"id": "9.6.11-b5fe498b8a00261e", "cves": [], "html": "<p>修复重复 SP-GiST 索引扫描中的内存泄漏（Tom Lane）</p>\n<p>目前已知只有当使用 SP-GiST 的排他约束在单条命令中接收许多新索引条目时，这才会达到显著程度。</p>", "text": "修复重复 SP-GiST 索引扫描中的内存泄漏（Tom Lane） 目前已知只有当使用 SP-GiST 的排他约束在单条命令中接收许多新索引条目时，这才会达到显著程度。", "title": "修复重复 SP-GiST 索引扫描中的内存泄漏", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "f103ec6d281454e860cff24223696a98a654d65722f34f62d30e1293a51935bb", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix memory leak in repeated SP-GiST index scans (Tom Lane) This is only known to amount to anything significant in cases where an exclusion constraint using SP-GiST receives many new index entries in a single command.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/013", "db_id": "d36720e5fa0884f4bf6165c602c3ab83", "patch_ids": [], "statement_hash": "84dda1f995e75fd1e58b5edd244a3ba6761ec3b5ce33a51a1f1df24d5003869b", "relations": [{"rule": 2, "type": "equivalent", "target": "461f8794e1c01e2cc3f5c331235d7da1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "84dda1f995e75fd1e58b5edd244a3ba6761ec3b5ce33a51a1f1df24d5003869b"}}, {"rule": 2, "type": "equivalent", "target": "7d01879c253fb3fe4968c53cd6bb9c5a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "84dda1f995e75fd1e58b5edd244a3ba6761ec3b5ce33a51a1f1df24d5003869b"}}, {"rule": 2, "type": "equivalent", "target": "97251aceae3237fca5cfc03ab2772ed8", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "84dda1f995e75fd1e58b5edd244a3ba6761ec3b5ce33a51a1f1df24d5003869b"}}, {"rule": 2, "type": "equivalent", "target": "a7f4ceb548ef27e44454af0fb4f0ea7b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "84dda1f995e75fd1e58b5edd244a3ba6761ec3b5ce33a51a1f1df24d5003869b"}}, {"rule": 2, "type": "equivalent", "target": "b55562a2b724286d5206d8ef8095da34", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "84dda1f995e75fd1e58b5edd244a3ba6761ec3b5ce33a51a1f1df24d5003869b"}}], "version": "9.6.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "b55562a2b724286d5206d8ef8095da34", "kind": "equivalent", "version": "11.1", "label": "11.1", "title": "修复重复扫描 SP-GiST 索引时的内存泄漏", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "84dda1f995e75fd1e58b5edd244a3ba6761ec3b5ce33a51a1f1df24d5003869b"}, "url": "/docs/compare/?release=11.1#11.1-68991a6abf9bcfaa", "source_url": "/docs/release/11.1/#id-1.11.6.26.5"}, {"db_id": "97251aceae3237fca5cfc03ab2772ed8", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "修复重复扫描 SP-GiST 索引时的内存泄漏", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "84dda1f995e75fd1e58b5edd244a3ba6761ec3b5ce33a51a1f1df24d5003869b"}, "url": "/docs/compare/?release=10.6#10.6-68991a6abf9bcfaa", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "a7f4ceb548ef27e44454af0fb4f0ea7b", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "修复重复 SP-GiST 索引扫描中的内存泄漏", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "84dda1f995e75fd1e58b5edd244a3ba6761ec3b5ce33a51a1f1df24d5003869b"}, "url": "/docs/compare/?release=9.5.15#9.5.15-b5fe498b8a00261e", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}, {"db_id": "7d01879c253fb3fe4968c53cd6bb9c5a", "kind": "equivalent", "version": "9.4.20", "label": "9.4.20", "title": "修复重复 SP-GiST 索引扫描中的内存泄漏", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "84dda1f995e75fd1e58b5edd244a3ba6761ec3b5ce33a51a1f1df24d5003869b"}, "url": "/docs/compare/?release=9.4.20#9.4.20-b5fe498b8a00261e", "source_url": "/docs/release/9.4.20/#id-1.11.6.11.5"}, {"db_id": "461f8794e1c01e2cc3f5c331235d7da1", "kind": "equivalent", "version": "9.3.25", "label": "9.3.25", "title": "修复重复 SP-GiST 索引扫描中的内存泄漏", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "84dda1f995e75fd1e58b5edd244a3ba6761ec3b5ce33a51a1f1df24d5003869b"}, "url": "/docs/compare/?release=9.3.25#9.3.25-b5fe498b8a00261e", "source_url": "/docs/release/9.3.25/#id-1.11.6.5.6"}]}, {"id": "9.6.11-160f5f80c2cbdce8", "cves": [], "html": "<p>确保 <code>ApplyLogicalMappingFile()</code> 用完后关闭映射文件（Tomas Vondra）</p>\n<p>此前文件描述符被泄漏，最终导致逻辑解码期间的失败。</p>", "text": "确保 ApplyLogicalMappingFile() 用完后关闭映射文件（Tomas Vondra） 此前文件描述符被泄漏，最终导致逻辑解码期间的失败。", "title": "确保 ApplyLogicalMappingFile() 用完后关闭映射文件", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "b73ee7b1d69b3551f30184aebe3df88f91561df2abb8a8bb2461440df8caac5c", "section_path": ["变更"], "commit_groups": [], "identity_text": "Ensure that ApplyLogicalMappingFile() closes the mapping file when done with it (Tomas Vondra) Previously, the file descriptor was leaked, eventually resulting in failures during logical decoding.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/014", "db_id": "2f3b7711ad0dc204192fad2b1d940b04", "patch_ids": [], "statement_hash": "fae331b6ee143023b295631675900f2583aa22c1f9c905e0d1d962ee5d777d65", "relations": [{"rule": 2, "type": "equivalent", "target": "33ece88e8a2ae773a6eccbc814dc3281", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fae331b6ee143023b295631675900f2583aa22c1f9c905e0d1d962ee5d777d65"}}, {"rule": 2, "type": "equivalent", "target": "42f02902af7a5de45a513be5f6739233", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fae331b6ee143023b295631675900f2583aa22c1f9c905e0d1d962ee5d777d65"}}, {"rule": 2, "type": "equivalent", "target": "ed3c6183d6775575858a9dce0203eec8", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fae331b6ee143023b295631675900f2583aa22c1f9c905e0d1d962ee5d777d65"}}], "version": "9.6.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "ed3c6183d6775575858a9dce0203eec8", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "确保 ApplyLogicalMappingFile() 使用完映射文件后将其关闭", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fae331b6ee143023b295631675900f2583aa22c1f9c905e0d1d962ee5d777d65"}, "url": "/docs/compare/?release=10.6#10.6-c2a44687ee6edbef", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "42f02902af7a5de45a513be5f6739233", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "确保 ApplyLogicalMappingFile() 用完后关闭映射文件", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fae331b6ee143023b295631675900f2583aa22c1f9c905e0d1d962ee5d777d65"}, "url": "/docs/compare/?release=9.5.15#9.5.15-160f5f80c2cbdce8", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}, {"db_id": "33ece88e8a2ae773a6eccbc814dc3281", "kind": "equivalent", "version": "9.4.20", "label": "9.4.20", "title": "确保 ApplyLogicalMappingFile() 用完后关闭映射文件", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fae331b6ee143023b295631675900f2583aa22c1f9c905e0d1d962ee5d777d65"}, "url": "/docs/compare/?release=9.4.20#9.4.20-160f5f80c2cbdce8", "source_url": "/docs/release/9.4.20/#id-1.11.6.11.5"}]}, {"id": "9.6.11-c0c9eb9be6d19f30", "cves": [], "html": "<p>修复逻辑解码处理被映射目录表被反复重写（例如被 <code>VACUUM FULL</code>）的情况（Andres Freund）</p>", "text": "修复逻辑解码处理被映射目录表被反复重写（例如被 VACUUM FULL）的情况（Andres Freund）", "title": "修复逻辑解码处理被映射目录表被反复重写（例如被 VACUUM FULL）的情况", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "0ce0e5a657c53a640cd0b4a04ff0f99100ff8d0b8adce3abc7d4494719f53e7a", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix logical decoding to handle cases where a mapped catalog table is repeatedly rewritten, e.g., by VACUUM FULL (Andres Freund)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/015", "db_id": "6413a60b39fc975c1ab9c6bc14aac172", "patch_ids": [], "statement_hash": "e52c8848190389bb93c0beec37f2c3f8431093d9841efb7bf442b445c3bafa91", "relations": [{"rule": 2, "type": "equivalent", "target": "7757c56b72279dcbaf986ed8563f992b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e52c8848190389bb93c0beec37f2c3f8431093d9841efb7bf442b445c3bafa91"}}, {"rule": 2, "type": "equivalent", "target": "8213dcd38a333b887b044897ca3d46bc", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e52c8848190389bb93c0beec37f2c3f8431093d9841efb7bf442b445c3bafa91"}}], "version": "9.6.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "8213dcd38a333b887b044897ca3d46bc", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "修复逻辑解码，使其能够处理映射目录表被反复重写的情况，例如通过 VACUUM FULL 重写", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e52c8848190389bb93c0beec37f2c3f8431093d9841efb7bf442b445c3bafa91"}, "url": "/docs/compare/?release=10.6#10.6-33cc033baeb2dbec", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "7757c56b72279dcbaf986ed8563f992b", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "修复逻辑解码处理被映射目录表被反复重写（例如被 VACUUM FULL）的情况", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e52c8848190389bb93c0beec37f2c3f8431093d9841efb7bf442b445c3bafa91"}, "url": "/docs/compare/?release=9.5.15#9.5.15-c0c9eb9be6d19f30", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}]}, {"id": "9.6.11-070d3827f034c332", "cves": [], "html": "<p>防止以低到无法支持现有复制槽的 <code>wal_level</code> 启动服务器（Andres Freund）</p>", "text": "防止以低到无法支持现有复制槽的 wal_level 启动服务器（Andres Freund）", "title": "防止以低到无法支持现有复制槽的 wal_level 启动服务器", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "a8cb542a88a12ce69fe3ad54e93c5eefc152340d0b1f8e8bc9412a6052e59305", "section_path": ["变更"], "commit_groups": [], "identity_text": "Prevent starting the server with wal_level set to too low a value to support an existing replication slot (Andres Freund)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/016", "db_id": "69a3869c5059c2f6891c79168f3efbb1", "patch_ids": [], "statement_hash": "1f6f61fc8b15e3a915a12a7a9b26605a67358cc4fedd1a3e3e74dfec7580a96b", "relations": [{"rule": 2, "type": "equivalent", "target": "272d9b334637457fb19c505fe2c5744c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1f6f61fc8b15e3a915a12a7a9b26605a67358cc4fedd1a3e3e74dfec7580a96b"}}, {"rule": 2, "type": "equivalent", "target": "349a29f6c61ca7e400b3c496e944e2dc", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1f6f61fc8b15e3a915a12a7a9b26605a67358cc4fedd1a3e3e74dfec7580a96b"}}, {"rule": 2, "type": "equivalent", "target": "4a2c4704546f5705519d3623cbc3ec9c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1f6f61fc8b15e3a915a12a7a9b26605a67358cc4fedd1a3e3e74dfec7580a96b"}}, {"rule": 2, "type": "equivalent", "target": "bb8ad4ce1290f5a5a79dad07ecca169c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1f6f61fc8b15e3a915a12a7a9b26605a67358cc4fedd1a3e3e74dfec7580a96b"}}], "version": "9.6.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "bb8ad4ce1290f5a5a79dad07ecca169c", "kind": "equivalent", "version": "11.1", "label": "11.1", "title": "如果 wal_level 设置过低，无法支持现有复制槽，则禁止启动服务器", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1f6f61fc8b15e3a915a12a7a9b26605a67358cc4fedd1a3e3e74dfec7580a96b"}, "url": "/docs/compare/?release=11.1#11.1-fa741401ce2eb557", "source_url": "/docs/release/11.1/#id-1.11.6.26.5"}, {"db_id": "272d9b334637457fb19c505fe2c5744c", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "如果 wal_level 设置过低，无法支持现有复制槽，则禁止启动服务器", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1f6f61fc8b15e3a915a12a7a9b26605a67358cc4fedd1a3e3e74dfec7580a96b"}, "url": "/docs/compare/?release=10.6#10.6-fa741401ce2eb557", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "349a29f6c61ca7e400b3c496e944e2dc", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "防止以低到无法支持现有复制槽的 wal_level 启动服务器", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1f6f61fc8b15e3a915a12a7a9b26605a67358cc4fedd1a3e3e74dfec7580a96b"}, "url": "/docs/compare/?release=9.5.15#9.5.15-070d3827f034c332", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}, {"db_id": "4a2c4704546f5705519d3623cbc3ec9c", "kind": "equivalent", "version": "9.4.20", "label": "9.4.20", "title": "阻止以过低的wal_level值（不足以支持现有复制槽）启动服务器", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1f6f61fc8b15e3a915a12a7a9b26605a67358cc4fedd1a3e3e74dfec7580a96b"}, "url": "/docs/compare/?release=9.4.20#9.4.20-5f1f80775e7a1eac", "source_url": "/docs/release/9.4.20/#id-1.11.6.11.5"}]}, {"id": "9.6.11-3444b7d3b47b4b5f", "cves": [], "html": "<p>避免实用命令导致无限递归时崩溃（Tom Lane）</p>", "text": "避免实用命令导致无限递归时崩溃（Tom Lane）", "title": "避免实用命令导致无限递归时崩溃", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "d3ed6755af22b59c91d9e925e4dc6a3c6632b527518878571eb8c9eb2c2bc810", "section_path": ["变更"], "commit_groups": [], "identity_text": "Avoid crash if a utility command causes infinite recursion (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/017", "db_id": "26157e0a7b24fed80c69e307b7c1dc20", "patch_ids": [], "statement_hash": "131294d8699505666eb2299a151418032f21236e40b33a7322943513bf5bead7", "relations": [{"rule": 2, "type": "equivalent", "target": "0922a2fee22e9e74564a9e57f2fefe76", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "131294d8699505666eb2299a151418032f21236e40b33a7322943513bf5bead7"}}, {"rule": 2, "type": "equivalent", "target": "7f3d086367127345d795fd398adbc742", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "131294d8699505666eb2299a151418032f21236e40b33a7322943513bf5bead7"}}, {"rule": 2, "type": "equivalent", "target": "86b8922d65a199a14ae7e9e533885def", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "131294d8699505666eb2299a151418032f21236e40b33a7322943513bf5bead7"}}, {"rule": 2, "type": "equivalent", "target": "e6d72def7c2efcdd6b37a79b99f8a873", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "131294d8699505666eb2299a151418032f21236e40b33a7322943513bf5bead7"}}], "version": "9.6.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "e6d72def7c2efcdd6b37a79b99f8a873", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "避免实用命令导致无限递归时发生崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "131294d8699505666eb2299a151418032f21236e40b33a7322943513bf5bead7"}, "url": "/docs/compare/?release=10.6#10.6-f8a763ae53f71dd1", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "7f3d086367127345d795fd398adbc742", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "避免实用命令导致无限递归时崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "131294d8699505666eb2299a151418032f21236e40b33a7322943513bf5bead7"}, "url": "/docs/compare/?release=9.5.15#9.5.15-3444b7d3b47b4b5f", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}, {"db_id": "86b8922d65a199a14ae7e9e533885def", "kind": "equivalent", "version": "9.4.20", "label": "9.4.20", "title": "避免工具命令导致无限递归时崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "131294d8699505666eb2299a151418032f21236e40b33a7322943513bf5bead7"}, "url": "/docs/compare/?release=9.4.20#9.4.20-8e095a7def4d42b9", "source_url": "/docs/release/9.4.20/#id-1.11.6.11.5"}, {"db_id": "0922a2fee22e9e74564a9e57f2fefe76", "kind": "equivalent", "version": "9.3.25", "label": "9.3.25", "title": "避免实用命令导致无限递归时崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "131294d8699505666eb2299a151418032f21236e40b33a7322943513bf5bead7"}, "url": "/docs/compare/?release=9.3.25#9.3.25-3444b7d3b47b4b5f", "source_url": "/docs/release/9.3.25/#id-1.11.6.5.6"}]}, {"id": "9.6.11-5d50159cb0258ae6", "cves": [], "html": "<p>初始化热备时，应对由主库两阶段事务引起的重复 XID（Michael Paquier、Konstantin Knizhnik）</p>", "text": "初始化热备时，应对由主库两阶段事务引起的重复 XID（Michael Paquier、Konstantin Knizhnik）", "title": "初始化热备时，应对由主库两阶段事务引起的重复 XID", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "b1a31be70aec034dd3a0262f6755f313f6ed5eeee412042629ae00a20d84c005", "section_path": ["变更"], "commit_groups": [], "identity_text": "When initializing a hot standby, cope with duplicate XIDs caused by two-phase transactions on the master (Michael Paquier, Konstantin Knizhnik)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/018", "db_id": "d4dec718d026b8c6b28e4c18fe14386c", "patch_ids": [], "statement_hash": "63b7dc20a5a4b144d20b0e91d604c5011745a7e5d12bf08ae4d3392263ddf1fd", "relations": [{"rule": 2, "type": "equivalent", "target": "068314b3c9b56d151488a0724a785189", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "63b7dc20a5a4b144d20b0e91d604c5011745a7e5d12bf08ae4d3392263ddf1fd"}}, {"rule": 2, "type": "equivalent", "target": "19f4c5edafeb14aecb7991b1586b4242", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "63b7dc20a5a4b144d20b0e91d604c5011745a7e5d12bf08ae4d3392263ddf1fd"}}, {"rule": 2, "type": "equivalent", "target": "2fa0d2e388ba883d25aa11057b954833", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "63b7dc20a5a4b144d20b0e91d604c5011745a7e5d12bf08ae4d3392263ddf1fd"}}, {"rule": 2, "type": "equivalent", "target": "adfd95c326479ba642ebf44be985ac57", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "63b7dc20a5a4b144d20b0e91d604c5011745a7e5d12bf08ae4d3392263ddf1fd"}}], "version": "9.6.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "2fa0d2e388ba883d25aa11057b954833", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "初始化热备时，处理主库上的两阶段事务导致的重复 XID", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "63b7dc20a5a4b144d20b0e91d604c5011745a7e5d12bf08ae4d3392263ddf1fd"}, "url": "/docs/compare/?release=10.6#10.6-ca43724675917190", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "19f4c5edafeb14aecb7991b1586b4242", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "初始化热备时，应对由主库两阶段事务引起的重复 XID", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "63b7dc20a5a4b144d20b0e91d604c5011745a7e5d12bf08ae4d3392263ddf1fd"}, "url": "/docs/compare/?release=9.5.15#9.5.15-5d50159cb0258ae6", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}, {"db_id": "068314b3c9b56d151488a0724a785189", "kind": "equivalent", "version": "9.4.20", "label": "9.4.20", "title": "初始化热备时，处理主库两阶段事务造成的重复 XID", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "63b7dc20a5a4b144d20b0e91d604c5011745a7e5d12bf08ae4d3392263ddf1fd"}, "url": "/docs/compare/?release=9.4.20#9.4.20-8573ae5456462b8f", "source_url": "/docs/release/9.4.20/#id-1.11.6.11.5"}, {"db_id": "adfd95c326479ba642ebf44be985ac57", "kind": "equivalent", "version": "9.3.25", "label": "9.3.25", "title": "初始化热备时，应对由主库两阶段事务引起的重复 XID", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "63b7dc20a5a4b144d20b0e91d604c5011745a7e5d12bf08ae4d3392263ddf1fd"}, "url": "/docs/compare/?release=9.3.25#9.3.25-5d50159cb0258ae6", "source_url": "/docs/release/9.3.25/#id-1.11.6.5.6"}]}, {"id": "9.6.11-1080671f764013e3", "cves": [], "html": "<p>修复事件触发器处理嵌套 <code>ALTER TABLE</code> 命令（Michael Paquier、Álvaro Herrera）</p>", "text": "修复事件触发器处理嵌套 ALTER TABLE 命令（Michael Paquier、Álvaro Herrera）", "title": "修复事件触发器处理嵌套 ALTER TABLE 命令", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "bffd0d9e10f00cb3c959543f0d421d742d65151a6a1b3f1310501a355baa99fc", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix event triggers to handle nested ALTER TABLE commands (Michael Paquier, Álvaro Herrera)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/019", "db_id": "6d78663872ccf703d6e29af22a355fb3", "patch_ids": [], "statement_hash": "4f8a0a9ff1742cbf2f5214dd3632034ddfa440bcbfa59a156c674e767b17be95", "relations": [{"rule": 2, "type": "equivalent", "target": "66e9adccc6cdfa56fad75ac7220bfe96", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4f8a0a9ff1742cbf2f5214dd3632034ddfa440bcbfa59a156c674e767b17be95"}}, {"rule": 2, "type": "equivalent", "target": "75b740f4454c93758d3d459f004ca4fd", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4f8a0a9ff1742cbf2f5214dd3632034ddfa440bcbfa59a156c674e767b17be95"}}], "version": "9.6.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "66e9adccc6cdfa56fad75ac7220bfe96", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "修复事件触发器，使其能够处理嵌套的 ALTER TABLE 命令", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4f8a0a9ff1742cbf2f5214dd3632034ddfa440bcbfa59a156c674e767b17be95"}, "url": "/docs/compare/?release=10.6#10.6-e92504a950b597cf", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "75b740f4454c93758d3d459f004ca4fd", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "修复事件触发器处理嵌套 ALTER TABLE 命令", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4f8a0a9ff1742cbf2f5214dd3632034ddfa440bcbfa59a156c674e767b17be95"}, "url": "/docs/compare/?release=9.5.15#9.5.15-1080671f764013e3", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}]}, {"id": "9.6.11-82222a93b4d52cd1", "cves": [], "html": "<p>把父进程的事务和语句开始时间戳传播给并行工作者（Konstantin Knizhnik）</p>\n<p>这防止工作者中执行 <code>transaction_timestamp()</code> 等函数时的错误行为。</p>", "text": "把父进程的事务和语句开始时间戳传播给并行工作者（Konstantin Knizhnik） 这防止工作者中执行 transaction_timestamp() 等函数时的错误行为。", "title": "把父进程的事务和语句开始时间戳传播给并行工作者", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "03fd8edc5b2c9bfd18f502939c4d875a875fc57982022312d5fe1470f6069b00", "section_path": ["变更"], "commit_groups": [], "identity_text": "Propagate parent process's transaction and statement start timestamps to parallel workers (Konstantin Knizhnik) This prevents misbehavior of functions such as transaction_timestamp() when executed in a worker.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/020", "db_id": "ac08b94c95432207b88e3e5c2ea751e5", "patch_ids": [], "statement_hash": "a13932b433d9b2cc888bacdde5cf71778ca278002c7928115d2ff2546f92a199", "relations": [{"rule": 2, "type": "equivalent", "target": "5cca306ff6d988684a2afd928e978c1c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a13932b433d9b2cc888bacdde5cf71778ca278002c7928115d2ff2546f92a199"}}, {"rule": 2, "type": "equivalent", "target": "e06a72df69f7f07f6a3b6f3addbf92ea", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a13932b433d9b2cc888bacdde5cf71778ca278002c7928115d2ff2546f92a199"}}], "version": "9.6.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "e06a72df69f7f07f6a3b6f3addbf92ea", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "将父进程的事务和语句开始时间戳传递给并行工作进程", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a13932b433d9b2cc888bacdde5cf71778ca278002c7928115d2ff2546f92a199"}, "url": "/docs/compare/?release=10.6#10.6-6f3ba161082dce2c", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "5cca306ff6d988684a2afd928e978c1c", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "把父进程的事务和语句开始时间戳传播给并行工作者", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a13932b433d9b2cc888bacdde5cf71778ca278002c7928115d2ff2546f92a199"}, "url": "/docs/compare/?release=9.5.15#9.5.15-82222a93b4d52cd1", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}]}, {"id": "9.6.11-33c383c9e8b9216c", "cves": [], "html": "<p>修复展开数据传给并行工作者时保持对齐，防止在对齐挑剔的平台上的崩溃（Tom Lane、Amit Kapila）</p>", "text": "修复展开数据传给并行工作者时保持对齐，防止在对齐挑剔的平台上的崩溃（Tom Lane、Amit Kapila）", "title": "修复展开数据传给并行工作者时保持对齐，防止在对齐挑剔的平台上的崩溃", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "463ef15461bf8a8fcdfaef5ddf6406dc0abb8fe15ebee3eef709b3ac56ae90cc", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix transfer of expanded datums to parallel workers so that alignment is preserved, preventing crashes on alignment-picky platforms (Tom Lane, Amit Kapila)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/021", "db_id": "3c57bb36b26674c1c304cac5c9682dbc", "patch_ids": [], "statement_hash": "62e7f496b97c109864c708e040f485b5f4bdbcf04cb1f1489d25bfc52eb2f676", "relations": [{"rule": 2, "type": "equivalent", "target": "3b2480f230184c95ddc847752fa28f2f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "62e7f496b97c109864c708e040f485b5f4bdbcf04cb1f1489d25bfc52eb2f676"}}], "version": "9.6.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "3b2480f230184c95ddc847752fa28f2f", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "修复向并行工作进程传递展开的数据值时的处理，保持其对齐，防止在严格要求对齐的平台上崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "62e7f496b97c109864c708e040f485b5f4bdbcf04cb1f1489d25bfc52eb2f676"}, "url": "/docs/compare/?release=10.6#10.6-7ba37e631a8cba47", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}]}, {"id": "9.6.11-8e32699f33add49a", "cves": [], "html": "<p>修复 WAL 文件回收逻辑在备库服务器上正确工作（Michael Paquier）</p>\n<p>根据 <code>archive_mode</code> 的设置，备库可能无法移除一些本可以移除的 WAL 文件。</p>", "text": "修复 WAL 文件回收逻辑在备库服务器上正确工作（Michael Paquier） 根据 archive_mode 的设置，备库可能无法移除一些本可以移除的 WAL 文件。", "title": "修复 WAL 文件回收逻辑在备库服务器上正确工作", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "5114765dd0147f4202ae0a5142a1de8583e835bd8d9787c8fe7fb5f3d524ed1d", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix WAL file recycling logic to work correctly on standby servers (Michael Paquier) Depending on the setting of archive_mode, a standby might fail to remove some WAL files that could be removed.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/022", "db_id": "c58255bca53b53aca95ea005ae3c3410", "patch_ids": [], "statement_hash": "a65238db1ff207a67f0a433633909e9bdf1360443ecd2d05b6f4e45340ca62fa", "relations": [{"rule": 2, "type": "equivalent", "target": "3741447a45018ef9da822e687421c342", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a65238db1ff207a67f0a433633909e9bdf1360443ecd2d05b6f4e45340ca62fa"}}, {"rule": 2, "type": "equivalent", "target": "8722ce46bee2211c52dd6211e44ab648", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a65238db1ff207a67f0a433633909e9bdf1360443ecd2d05b6f4e45340ca62fa"}}], "version": "9.6.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "8722ce46bee2211c52dd6211e44ab648", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "修复 WAL 文件循环利用逻辑，使其在备库上正确工作", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a65238db1ff207a67f0a433633909e9bdf1360443ecd2d05b6f4e45340ca62fa"}, "url": "/docs/compare/?release=10.6#10.6-aa976273354f8b99", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "3741447a45018ef9da822e687421c342", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "修复 WAL 文件回收逻辑在备库服务器上正确工作", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a65238db1ff207a67f0a433633909e9bdf1360443ecd2d05b6f4e45340ca62fa"}, "url": "/docs/compare/?release=9.5.15#9.5.15-8e32699f33add49a", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}]}, {"id": "9.6.11-94804884c583b69a", "cves": [], "html": "<p>修复恢复期间提交时间戳追踪的处理（Masahiko Sawada、Michael Paquier）</p>\n<p>如果提交时间戳追踪曾被打开或关闭，恢复可能因为试图获取未记录提交时间戳的事务的提交时间戳而失败。</p>", "text": "修复恢复期间提交时间戳追踪的处理（Masahiko Sawada、Michael Paquier） 如果提交时间戳追踪曾被打开或关闭，恢复可能因为试图获取未记录提交时间戳的事务的提交时间戳而失败。", "title": "修复恢复期间提交时间戳追踪的处理", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "1153e91693b4f348def13f8c845f1a54da3dea4ef27b84016dacf4b15dac5b84", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix handling of commit-timestamp tracking during recovery (Masahiko Sawada, Michael Paquier) If commit timestamp tracking has been turned on or off, recovery might fail due to trying to fetch the commit timestamp for a transaction that did not record it.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/023", "db_id": "e517cb58b48068e53a5a6e882c67bf6b", "patch_ids": [], "statement_hash": "90e89c290e333b26ebcebe30cf747cf9bb3ca1a3756c9fa97a7ea717956f8419", "relations": [{"rule": 2, "type": "equivalent", "target": "d15231fac78d66ee335f54da0bcdedd3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "90e89c290e333b26ebcebe30cf747cf9bb3ca1a3756c9fa97a7ea717956f8419"}}, {"rule": 2, "type": "equivalent", "target": "ff4c9434e22c8dff7b2932cbe9c5360f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "90e89c290e333b26ebcebe30cf747cf9bb3ca1a3756c9fa97a7ea717956f8419"}}], "version": "9.6.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "d15231fac78d66ee335f54da0bcdedd3", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "修复恢复期间对提交时间戳跟踪的处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "90e89c290e333b26ebcebe30cf747cf9bb3ca1a3756c9fa97a7ea717956f8419"}, "url": "/docs/compare/?release=10.6#10.6-71e02ae673c26527", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "ff4c9434e22c8dff7b2932cbe9c5360f", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "修复恢复期间提交时间戳追踪的处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "90e89c290e333b26ebcebe30cf747cf9bb3ca1a3756c9fa97a7ea717956f8419"}, "url": "/docs/compare/?release=9.5.15#9.5.15-94804884c583b69a", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}]}, {"id": "9.6.11-10017cf57740d87a", "cves": [], "html": "<p>在 bootstrap 和独立后端以及 <span>initdb</span> 中随机化 <code>random()</code> 的种子（Noah Misch）</p>\n<p>这一更改的主要实际效果是避免一种场景：<span>initdb</span> 因总是使用相同的随机种子导致的名称冲突，而错误地断定 POSIX 共享内存不可用。</p>", "text": "在 bootstrap 和独立后端以及 initdb 中随机化 random() 的种子（Noah Misch） 这一更改的主要实际效果是避免一种场景：initdb 因总是使用相同的随机种子导致的名称冲突，而错误地断定 POSIX 共享内存不可用。", "title": "在 bootstrap 和独立后端以及 initdb 中随机化 random() 的种子", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "b2fe54cc87ed0314e6d2a8102dd45f3807e885b38dcb792c7997f17ee92f4b6c", "section_path": ["变更"], "commit_groups": [], "identity_text": "Randomize the random() seed in bootstrap and standalone backends, and in initdb (Noah Misch) The main practical effect of this change is that it avoids a scenario where initdb might mistakenly conclude that POSIX shared memory is not available, due to name collisions caused by always using the same random seed.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/024", "db_id": "e70ffe71839c7058f003b8ee9ce29f57", "patch_ids": [], "statement_hash": "918ed37da6fab739adcb57944018831cd5fbdc86c9f8edbb14c8cfe788449e5e", "relations": [{"rule": 2, "type": "equivalent", "target": "0e1848449b7c3f2c62d9e7768f3a6d84", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "918ed37da6fab739adcb57944018831cd5fbdc86c9f8edbb14c8cfe788449e5e"}}, {"rule": 2, "type": "equivalent", "target": "151494e6041910be9a773fcd8b482eff", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "918ed37da6fab739adcb57944018831cd5fbdc86c9f8edbb14c8cfe788449e5e"}}, {"rule": 2, "type": "equivalent", "target": "5122d60d513bc096134038086beee128", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "918ed37da6fab739adcb57944018831cd5fbdc86c9f8edbb14c8cfe788449e5e"}}, {"rule": 2, "type": "equivalent", "target": "7633568a3bcbc81a4e542fd3de4aacbc", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "918ed37da6fab739adcb57944018831cd5fbdc86c9f8edbb14c8cfe788449e5e"}}], "version": "9.6.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "0e1848449b7c3f2c62d9e7768f3a6d84", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "在自举和独立后端，以及 initdb 中随机化 random() 的种子", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "918ed37da6fab739adcb57944018831cd5fbdc86c9f8edbb14c8cfe788449e5e"}, "url": "/docs/compare/?release=10.6#10.6-dd4cc94a0d5ae273", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "5122d60d513bc096134038086beee128", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "在 bootstrap 和独立后端以及 initdb 中随机化 random() 的种子", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "918ed37da6fab739adcb57944018831cd5fbdc86c9f8edbb14c8cfe788449e5e"}, "url": "/docs/compare/?release=9.5.15#9.5.15-10017cf57740d87a", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}, {"db_id": "151494e6041910be9a773fcd8b482eff", "kind": "equivalent", "version": "9.4.20", "label": "9.4.20", "title": "在 bootstrap 和独立后端以及 initdb 中随机化 random() 的种子", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "918ed37da6fab739adcb57944018831cd5fbdc86c9f8edbb14c8cfe788449e5e"}, "url": "/docs/compare/?release=9.4.20#9.4.20-10017cf57740d87a", "source_url": "/docs/release/9.4.20/#id-1.11.6.11.5"}, {"db_id": "7633568a3bcbc81a4e542fd3de4aacbc", "kind": "equivalent", "version": "9.3.25", "label": "9.3.25", "title": "在 bootstrap 和独立后端以及 initdb 中随机化 random() 的种子", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "918ed37da6fab739adcb57944018831cd5fbdc86c9f8edbb14c8cfe788449e5e"}, "url": "/docs/compare/?release=9.3.25#9.3.25-10017cf57740d87a", "source_url": "/docs/release/9.3.25/#id-1.11.6.5.6"}]}, {"id": "9.6.11-97101a9f90126a8a", "cves": [], "html": "<p>允许 DSM 分配被中断（Chris Travers）</p>", "text": "允许 DSM 分配被中断（Chris Travers）", "title": "允许 DSM 分配被中断", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "ac9da15b17676ece46e0713b6c92b82c8f23d7a72c945e2ad508ed374d31ebe0", "section_path": ["变更"], "commit_groups": [], "identity_text": "Allow DSM allocation to be interrupted (Chris Travers)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/025", "db_id": "23f577a7fa826cb94644d886920ea6e4", "patch_ids": [], "statement_hash": "fd46d995cedd6157972e01fb55386edd83a6d584775f06e75e13c3d49c46bcb1", "relations": [{"rule": 2, "type": "equivalent", "target": "03ba59ba0dcb47ab94fc0c1f2cc14dff", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fd46d995cedd6157972e01fb55386edd83a6d584775f06e75e13c3d49c46bcb1"}}, {"rule": 2, "type": "equivalent", "target": "27a094a15d25fa9f47c9a66bbb922fd4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fd46d995cedd6157972e01fb55386edd83a6d584775f06e75e13c3d49c46bcb1"}}, {"rule": 2, "type": "equivalent", "target": "2b7d9b871dad871fad32d32b47e67e99", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fd46d995cedd6157972e01fb55386edd83a6d584775f06e75e13c3d49c46bcb1"}}], "version": "9.6.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "03ba59ba0dcb47ab94fc0c1f2cc14dff", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "允许中断 DSM 分配", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fd46d995cedd6157972e01fb55386edd83a6d584775f06e75e13c3d49c46bcb1"}, "url": "/docs/compare/?release=10.6#10.6-a5fbdc7e2c6eb4a9", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "2b7d9b871dad871fad32d32b47e67e99", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "允许 DSM 分配被中断", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fd46d995cedd6157972e01fb55386edd83a6d584775f06e75e13c3d49c46bcb1"}, "url": "/docs/compare/?release=9.5.15#9.5.15-97101a9f90126a8a", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}, {"db_id": "27a094a15d25fa9f47c9a66bbb922fd4", "kind": "equivalent", "version": "9.4.20", "label": "9.4.20", "title": "允许中断 DSM 分配", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fd46d995cedd6157972e01fb55386edd83a6d584775f06e75e13c3d49c46bcb1"}, "url": "/docs/compare/?release=9.4.20#9.4.20-a5fbdc7e2c6eb4a9", "source_url": "/docs/release/9.4.20/#id-1.11.6.11.5"}]}, {"id": "9.6.11-17dcafe97d3ca1ce", "cves": [], "html": "<p>避免并行工作者加载试图在其 init 函数中访问系统缓存的扩展时失败（Thomas Munro）</p>\n<p>我们不认为那是好的扩展编码实践，但在并行查询出现之前它大多能工作，因此暂时继续支持。</p>", "text": "避免并行工作者加载试图在其 init 函数中访问系统缓存的扩展时失败（Thomas Munro） 我们不认为那是好的扩展编码实践，但在并行查询出现之前它大多能工作，因此暂时继续支持。", "title": "避免并行工作者加载试图在其 init 函数中访问系统缓存的扩展时失败", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "d9a4627c2271ce59e422b4207239bc64784b5d7165c936b5614363207a8e9642", "section_path": ["变更"], "commit_groups": [], "identity_text": "Avoid failure in a parallel worker when loading an extension that tries to access system caches within its init function (Thomas Munro) We don't consider that to be good extension coding practice, but it mostly worked before parallel query, so continue to support it for now.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/026", "db_id": "20c7b7fcc08dab787512b46a25051864", "patch_ids": [], "statement_hash": "c308ff2faea445ebd6d0ab97818901bfda9f81c8c8538739112768b30a512b39", "relations": [{"rule": 2, "type": "equivalent", "target": "e52d7518d07dd238c7129dceed0ca93a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c308ff2faea445ebd6d0ab97818901bfda9f81c8c8538739112768b30a512b39"}}], "version": "9.6.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "e52d7518d07dd238c7129dceed0ca93a", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "避免在并行工作进程中加载初始化函数尝试访问系统缓存的扩展时发生失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c308ff2faea445ebd6d0ab97818901bfda9f81c8c8538739112768b30a512b39"}, "url": "/docs/compare/?release=10.6#10.6-6a30965525f4951c", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}]}, {"id": "9.6.11-0e6a76d49f1eccad", "cves": [], "html": "<p>正确处理动态打开 <code>full_page_writes</code>（Kyotaro Horiguchi）</p>", "text": "正确处理动态打开 full_page_writes（Kyotaro Horiguchi）", "title": "正确处理动态打开 full_page_writes", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "86afe9d8a3a6ef58f014ca9a997af2aae2810ec9deafd3a442df9894d5bda7be", "section_path": ["变更"], "commit_groups": [], "identity_text": "Properly handle turning full_page_writes on dynamically (Kyotaro Horiguchi)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/027", "db_id": "82c1a3c36337b79893f1c90d3407d1cd", "patch_ids": [], "statement_hash": "6168cf5a62461fa09fc9f747076339e271a5ee2066a8e2f45402aca5dba27a1b", "relations": [{"rule": 2, "type": "equivalent", "target": "35baff5a198188bd9740a04564460d00", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6168cf5a62461fa09fc9f747076339e271a5ee2066a8e2f45402aca5dba27a1b"}}, {"rule": 2, "type": "equivalent", "target": "9b9323e5a358c92f7742b547ea075928", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6168cf5a62461fa09fc9f747076339e271a5ee2066a8e2f45402aca5dba27a1b"}}], "version": "9.6.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "35baff5a198188bd9740a04564460d00", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "正确处理动态开启 full_page_writes", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6168cf5a62461fa09fc9f747076339e271a5ee2066a8e2f45402aca5dba27a1b"}, "url": "/docs/compare/?release=10.6#10.6-61dd7a4b49aef8fa", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "9b9323e5a358c92f7742b547ea075928", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "正确处理动态打开 full_page_writes", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6168cf5a62461fa09fc9f747076339e271a5ee2066a8e2f45402aca5dba27a1b"}, "url": "/docs/compare/?release=9.5.15#9.5.15-0e6a76d49f1eccad", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}]}, {"id": "9.6.11-29a1528e2ef18d70", "cves": [], "html": "<p>修复 SP-GiST 重扫描期间因双重 <code>free()</code> 可能的崩溃（Andrew Gierth）</p>", "text": "修复 SP-GiST 重扫描期间因双重 free() 可能的崩溃（Andrew Gierth）", "title": "修复 SP-GiST 重扫描期间因双重 free() 可能的崩溃", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "03f44e2776a9e42c27f8c79f988ecfcdc6c9abcc0c49fae3c8731d8345827699", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix possible crash due to double free() during SP-GiST rescan (Andrew Gierth)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/028", "db_id": "4967802c28931819c2271b746893d1b5", "patch_ids": [], "statement_hash": "a6e6b07bd8d8bba40e8469d111965041c35c8811861e7dd46794952faae0168c", "relations": [{"rule": 2, "type": "equivalent", "target": "d2c5dad57ef07b90735269d9892b4b01", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a6e6b07bd8d8bba40e8469d111965041c35c8811861e7dd46794952faae0168c"}}], "version": "9.6.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "d2c5dad57ef07b90735269d9892b4b01", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "修复 SP-GiST 重新扫描期间重复调用 free() 可能导致的崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a6e6b07bd8d8bba40e8469d111965041c35c8811861e7dd46794952faae0168c"}, "url": "/docs/compare/?release=10.6#10.6-4330c553c7f719c1", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}]}, {"id": "9.6.11-129872a9ab3995db", "cves": [], "html": "<p>避免从 WAL 重放 GIN 页重压缩时可能的缓冲区越界（Alexander Korotkov、Sivasubramanian Ramasubramanian）</p>", "text": "避免从 WAL 重放 GIN 页重压缩时可能的缓冲区越界（Alexander Korotkov、Sivasubramanian Ramasubramanian）", "title": "避免从 WAL 重放 GIN 页重压缩时可能的缓冲区越界", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "aabea6dac009914a3bf930a147d059e9e75a3e9644f627b2d936039927c5c45c", "section_path": ["变更"], "commit_groups": [], "identity_text": "Avoid possible buffer overrun when replaying GIN page recompression from WAL (Alexander Korotkov, Sivasubramanian Ramasubramanian)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/029", "db_id": "22aa87f069b600a24849d7112667e3e0", "patch_ids": [], "statement_hash": "9fa6c648932aba8306f8090ab12f78b381ce0861e894f9d9722a838913573139", "relations": [{"rule": 2, "type": "equivalent", "target": "7406972d756c8f096c22a3215e451770", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9fa6c648932aba8306f8090ab12f78b381ce0861e894f9d9722a838913573139"}}, {"rule": 2, "type": "equivalent", "target": "881d4ba5b6940b20ab802b1496ebeecc", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9fa6c648932aba8306f8090ab12f78b381ce0861e894f9d9722a838913573139"}}, {"rule": 2, "type": "equivalent", "target": "b818835e2c0cc92a176f3dec4d799b1c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9fa6c648932aba8306f8090ab12f78b381ce0861e894f9d9722a838913573139"}}], "version": "9.6.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "881d4ba5b6940b20ab802b1496ebeecc", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "避免从 WAL 重放 GIN 页面重新压缩时可能发生的缓冲区越界", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9fa6c648932aba8306f8090ab12f78b381ce0861e894f9d9722a838913573139"}, "url": "/docs/compare/?release=10.6#10.6-222ec7e3f9796494", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "b818835e2c0cc92a176f3dec4d799b1c", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "避免从 WAL 重放 GIN 页重压缩时可能的缓冲区越界", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9fa6c648932aba8306f8090ab12f78b381ce0861e894f9d9722a838913573139"}, "url": "/docs/compare/?release=9.5.15#9.5.15-129872a9ab3995db", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}, {"db_id": "7406972d756c8f096c22a3215e451770", "kind": "equivalent", "version": "9.4.20", "label": "9.4.20", "title": "避免从 WAL 重放 GIN 页重压缩时可能的缓冲区越界", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9fa6c648932aba8306f8090ab12f78b381ce0861e894f9d9722a838913573139"}, "url": "/docs/compare/?release=9.4.20#9.4.20-129872a9ab3995db", "source_url": "/docs/release/9.4.20/#id-1.11.6.11.5"}]}, {"id": "9.6.11-7dd46be3ef3a3fa6", "cves": [], "html": "<p>修复遗漏的对复制槽目录的 fsync（Konstantin Knizhnik、Michael Paquier）</p>", "text": "修复遗漏的对复制槽目录的 fsync（Konstantin Knizhnik、Michael Paquier）", "title": "修复遗漏的对复制槽目录的 fsync", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "65bc2a30a9035bd355a5679073b2c7a9e3792dec78b5310141361cb03f10aba2", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix missed fsync of a replication slot's directory (Konstantin Knizhnik, Michael Paquier)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/030", "db_id": "3344b48668f87cda44fa94d1a7959015", "patch_ids": [], "statement_hash": "66ba2b0ef62b1b162e62bbb620aa7ad135e4264038c0ac6de1b7338dab9ff4c1", "relations": [{"rule": 2, "type": "equivalent", "target": "3286c067c87de51c36da3b41839cde7f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "66ba2b0ef62b1b162e62bbb620aa7ad135e4264038c0ac6de1b7338dab9ff4c1"}}, {"rule": 2, "type": "equivalent", "target": "3dc4af66a890b5271ce1332dec222dec", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "66ba2b0ef62b1b162e62bbb620aa7ad135e4264038c0ac6de1b7338dab9ff4c1"}}, {"rule": 2, "type": "equivalent", "target": "4e317a3ae6258a94365284f579c80523", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "66ba2b0ef62b1b162e62bbb620aa7ad135e4264038c0ac6de1b7338dab9ff4c1"}}], "version": "9.6.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "4e317a3ae6258a94365284f579c80523", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "修复遗漏对复制槽目录执行 fsync 的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "66ba2b0ef62b1b162e62bbb620aa7ad135e4264038c0ac6de1b7338dab9ff4c1"}, "url": "/docs/compare/?release=10.6#10.6-5233d1c027ff155d", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "3dc4af66a890b5271ce1332dec222dec", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "修复遗漏的对复制槽目录的 fsync", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "66ba2b0ef62b1b162e62bbb620aa7ad135e4264038c0ac6de1b7338dab9ff4c1"}, "url": "/docs/compare/?release=9.5.15#9.5.15-7dd46be3ef3a3fa6", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}, {"db_id": "3286c067c87de51c36da3b41839cde7f", "kind": "equivalent", "version": "9.4.20", "label": "9.4.20", "title": "修复复制槽目录遗漏 fsync 的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "66ba2b0ef62b1b162e62bbb620aa7ad135e4264038c0ac6de1b7338dab9ff4c1"}, "url": "/docs/compare/?release=9.4.20#9.4.20-cf0e45a4e72c6aff", "source_url": "/docs/release/9.4.20/#id-1.11.6.11.5"}]}, {"id": "9.6.11-fcca20d11f0b80a4", "cves": [], "html": "<p>避免在缓慢的服务器上使用 <code>wal_sender_timeout</code> 时的意外超时（Noah Misch）</p>", "text": "避免在缓慢的服务器上使用 wal_sender_timeout 时的意外超时（Noah Misch）", "title": "避免在缓慢的服务器上使用 wal_sender_timeout 时的意外超时", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "5265ee0e4edfc1bd0033b82625b8f79b55854b4f0ac49b8ce289458630561518", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix unexpected timeouts when using wal_sender_timeout on a slow server (Noah Misch)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/031", "db_id": "d2f02a3ef73b5975b4d22b92bd0f2b8c", "patch_ids": [], "statement_hash": "5d04abf6b97ceb635e5c16e59e008c05dd3d3c34e45524586e63950d5095c7fb", "relations": [{"rule": 2, "type": "equivalent", "target": "3e0622f6c568da4fdb12fc4b5ebb864b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5d04abf6b97ceb635e5c16e59e008c05dd3d3c34e45524586e63950d5095c7fb"}}, {"rule": 2, "type": "equivalent", "target": "a2cf2777e853eb6b9fc1749abbc5c493", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5d04abf6b97ceb635e5c16e59e008c05dd3d3c34e45524586e63950d5095c7fb"}}, {"rule": 2, "type": "equivalent", "target": "c5baf4d67b143c73f9aa70df23ded714", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5d04abf6b97ceb635e5c16e59e008c05dd3d3c34e45524586e63950d5095c7fb"}}], "version": "9.6.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "c5baf4d67b143c73f9aa70df23ded714", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "修复在较慢服务器上使用 wal_sender_timeout 时发生的意外超时", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5d04abf6b97ceb635e5c16e59e008c05dd3d3c34e45524586e63950d5095c7fb"}, "url": "/docs/compare/?release=10.6#10.6-aa7bfe6123c1ee09", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "a2cf2777e853eb6b9fc1749abbc5c493", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "避免在缓慢的服务器上使用 wal_sender_timeout 时的意外超时", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5d04abf6b97ceb635e5c16e59e008c05dd3d3c34e45524586e63950d5095c7fb"}, "url": "/docs/compare/?release=9.5.15#9.5.15-fcca20d11f0b80a4", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}, {"db_id": "3e0622f6c568da4fdb12fc4b5ebb864b", "kind": "equivalent", "version": "9.4.20", "label": "9.4.20", "title": "修复在缓慢服务器上使用wal_sender_timeout时意外超时的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5d04abf6b97ceb635e5c16e59e008c05dd3d3c34e45524586e63950d5095c7fb"}, "url": "/docs/compare/?release=9.4.20#9.4.20-bff5c6b9b3720ce0", "source_url": "/docs/release/9.4.20/#id-1.11.6.11.5"}]}, {"id": "9.6.11-e288723a8d74085a", "cves": [], "html": "<p>确保热备进程使用正确的 WAL 一致点（Alexander Kukushkin、Michael Paquier）</p>\n<p>这防止备库服务器在 WAL 重放期间刚达到一致数据库状态之后可能的行为异常。</p>", "text": "确保热备进程使用正确的 WAL 一致点（Alexander Kukushkin、Michael Paquier） 这防止备库服务器在 WAL 重放期间刚达到一致数据库状态之后可能的行为异常。", "title": "确保热备进程使用正确的 WAL 一致点", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "9220cd42ae7b200da5a407bd9d9cfed14c91a4f30c94389872a455ef80fd8f04", "section_path": ["变更"], "commit_groups": [], "identity_text": "Ensure that hot standby processes use the correct WAL consistency point (Alexander Kukushkin, Michael Paquier) This prevents possible misbehavior just after a standby server has reached a consistent database state during WAL replay.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/032", "db_id": "6cb83c44aa7bc50dfa45b2ec55b84b29", "patch_ids": [], "statement_hash": "24d0dbe712a87e77686adb97522174228edb313b449ebf4bb324c50963497ecb", "relations": [{"rule": 2, "type": "equivalent", "target": "3265d556689b305ffdbec7eb6212cd8e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "24d0dbe712a87e77686adb97522174228edb313b449ebf4bb324c50963497ecb"}}, {"rule": 2, "type": "equivalent", "target": "6e5a8b2385ffc85472f850e2a9a453ca", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "24d0dbe712a87e77686adb97522174228edb313b449ebf4bb324c50963497ecb"}}, {"rule": 2, "type": "equivalent", "target": "bae5cdeeffb91cfbe1d61aefa80e34d3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "24d0dbe712a87e77686adb97522174228edb313b449ebf4bb324c50963497ecb"}}, {"rule": 2, "type": "equivalent", "target": "e00eb0750ea51e88383b886502eb06ba", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "24d0dbe712a87e77686adb97522174228edb313b449ebf4bb324c50963497ecb"}}], "version": "9.6.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "3265d556689b305ffdbec7eb6212cd8e", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "确保热备进程使用正确的 WAL 一致性点", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "24d0dbe712a87e77686adb97522174228edb313b449ebf4bb324c50963497ecb"}, "url": "/docs/compare/?release=10.6#10.6-2a26e691178ff6df", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "e00eb0750ea51e88383b886502eb06ba", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "确保热备进程使用正确的 WAL 一致点", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "24d0dbe712a87e77686adb97522174228edb313b449ebf4bb324c50963497ecb"}, "url": "/docs/compare/?release=9.5.15#9.5.15-e288723a8d74085a", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}, {"db_id": "bae5cdeeffb91cfbe1d61aefa80e34d3", "kind": "equivalent", "version": "9.4.20", "label": "9.4.20", "title": "确保热备进程使用正确的 WAL 一致点", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "24d0dbe712a87e77686adb97522174228edb313b449ebf4bb324c50963497ecb"}, "url": "/docs/compare/?release=9.4.20#9.4.20-e288723a8d74085a", "source_url": "/docs/release/9.4.20/#id-1.11.6.11.5"}, {"db_id": "6e5a8b2385ffc85472f850e2a9a453ca", "kind": "equivalent", "version": "9.3.25", "label": "9.3.25", "title": "确保热备进程使用正确的 WAL 一致点", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "24d0dbe712a87e77686adb97522174228edb313b449ebf4bb324c50963497ecb"}, "url": "/docs/compare/?release=9.3.25#9.3.25-e288723a8d74085a", "source_url": "/docs/release/9.3.25/#id-1.11.6.5.6"}]}, {"id": "9.6.11-e19ce766ce9891bd", "cves": [], "html": "<p>确保 postmaster 在完成数据库启动之前收到快速关闭请求时正确停止后台工作者（Alexander Kukushkin）</p>", "text": "确保 postmaster 在完成数据库启动之前收到快速关闭请求时正确停止后台工作者（Alexander Kukushkin）", "title": "确保 postmaster 在完成数据库启动之前收到快速关闭请求时正确停止后台工作者", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "7742524447516702e921402022dfe1190f41db3bd34373f416a391ce0d65fab3", "section_path": ["变更"], "commit_groups": [], "identity_text": "Ensure background workers are stopped properly when the postmaster receives a fast-shutdown request before completing database startup (Alexander Kukushkin)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/033", "db_id": "b41ac31f19bb72bb10db23cb58508dc2", "patch_ids": [], "statement_hash": "2ed66f3de5e87053c9209647f506e00f1a6ed14a48f59ce0afe1a19c50d8aa89", "relations": [{"rule": 2, "type": "equivalent", "target": "2655ed9d4d16c81e7a2a7e7c9dde340d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2ed66f3de5e87053c9209647f506e00f1a6ed14a48f59ce0afe1a19c50d8aa89"}}, {"rule": 2, "type": "equivalent", "target": "c0492960c7f88226632434cbeb16e239", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2ed66f3de5e87053c9209647f506e00f1a6ed14a48f59ce0afe1a19c50d8aa89"}}], "version": "9.6.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "2655ed9d4d16c81e7a2a7e7c9dde340d", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "确保 postmaster 在数据库启动完成之前收到 fast 关闭请求时，正确停止后台工作进程", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2ed66f3de5e87053c9209647f506e00f1a6ed14a48f59ce0afe1a19c50d8aa89"}, "url": "/docs/compare/?release=10.6#10.6-16e548fa79c117c2", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "c0492960c7f88226632434cbeb16e239", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "确保 postmaster 在完成数据库启动之前收到快速关闭请求时正确停止后台工作者", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2ed66f3de5e87053c9209647f506e00f1a6ed14a48f59ce0afe1a19c50d8aa89"}, "url": "/docs/compare/?release=9.5.15#9.5.15-e19ce766ce9891bd", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}]}, {"id": "9.6.11-9bc56d241379c44c", "cves": [], "html": "<p>在 WAL 重放页全可见/冻结标志更改期间更新空闲空间映射（Álvaro Herrera）</p>\n<p>此前我们没有认真对待这一点，理由是 FSM 反正不是关键数据。但如果它过时得厉害，备库被提升为主库后会导致显著的性能退化。FSM 最终会被更新治愈，但我们希望它更快变好，因此在 WAL 重放期间更努力地维护它。</p>", "text": "在 WAL 重放页全可见/冻结标志更改期间更新空闲空间映射（Álvaro Herrera） 此前我们没有认真对待这一点，理由是 FSM 反正不是关键数据。但如果它过时得厉害，备库被提升为主库后会导致显著的性能退化。FSM 最终会被更新治愈，但我们希望它更快变好，因此在 WAL 重放期间更努力地维护它。", "title": "在 WAL 重放页全可见/冻结标志更改期间更新空闲空间映射", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "7caeb89f5cc015d8a1f8c07731c8ba0f20bec92f573b5edaea1e8c4c63894c3c", "section_path": ["变更"], "commit_groups": [], "identity_text": "Update the free space map during WAL replay of page all-visible/frozen flag changes (Álvaro Herrera) Previously we were not careful about this, reasoning that the FSM is not critical data anyway. However, if it's sufficiently out of date, that can result in significant performance degradation after a standby has been promoted to primary. The FSM will eventually be healed by updates, but we'd like it to be good sooner, so work harder at maintaining it during WAL replay.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/034", "db_id": "406a237aad6a8f55bcaec9eebec87d83", "patch_ids": [], "statement_hash": "c4f488ea8277f1d19d85f7a6253b6474b44ddb4bcac9cf889769d2eae79a5fdd", "relations": [{"rule": 2, "type": "equivalent", "target": "86cc64ecb1b51a7b36e8b60557b2bf85", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c4f488ea8277f1d19d85f7a6253b6474b44ddb4bcac9cf889769d2eae79a5fdd"}}], "version": "9.6.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "86cc64ecb1b51a7b36e8b60557b2bf85", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "在 WAL 重放页面全可见/冻结标志变更时，更新空闲空间映射", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c4f488ea8277f1d19d85f7a6253b6474b44ddb4bcac9cf889769d2eae79a5fdd"}, "url": "/docs/compare/?release=10.6#10.6-95b0ff938ee5b42f", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}]}, {"id": "9.6.11-eeb4a431048bdd02", "cves": [], "html": "<p>避免到达查询结束或元组数限制时过早释放并行查询资源（Amit Kapila）</p>\n<p>只有当调用者之后不可能要求反向扫描时，才可以在这时关闭执行器。</p>", "text": "避免到达查询结束或元组数限制时过早释放并行查询资源（Amit Kapila） 只有当调用者之后不可能要求反向扫描时，才可以在这时关闭执行器。", "title": "避免到达查询结束或元组数限制时过早释放并行查询资源", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "b58ccf528270452e3c29843c9dae0931817eac2e9b5545c67f654c003e7dd9aa", "section_path": ["变更"], "commit_groups": [], "identity_text": "Avoid premature release of parallel-query resources when query end or tuple count limit is reached (Amit Kapila) It's only okay to shut down the executor at this point if the caller cannot demand backwards scan afterwards.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/035", "db_id": "8413e70b7f25d61280aeffb579d326d4", "patch_ids": [], "statement_hash": "59419a9c987503f95f78296aba3466051cb5d793fed8ebd2a2b42fe36f5d024c", "relations": [{"rule": 2, "type": "equivalent", "target": "539b922c658cf11bbbc57ac27cf2f4ca", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "59419a9c987503f95f78296aba3466051cb5d793fed8ebd2a2b42fe36f5d024c"}}], "version": "9.6.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "539b922c658cf11bbbc57ac27cf2f4ca", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "避免到达查询末尾或元组数量限制时过早释放并行查询资源", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "59419a9c987503f95f78296aba3466051cb5d793fed8ebd2a2b42fe36f5d024c"}, "url": "/docs/compare/?release=10.6#10.6-455f80566f92c421", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}]}, {"id": "9.6.11-8df94db4159fdd39", "cves": [], "html": "<p>服务 <code>SIGQUIT</code> 时不运行 atexit 回调（Heikki Linnakangas）</p>", "text": "服务 SIGQUIT 时不运行 atexit 回调（Heikki Linnakangas）", "title": "服务 SIGQUIT 时不运行 atexit 回调", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "a5d20ba09f7d487422af5065c8db248f4b59addd0bd5fa3963ab955ebdb42660", "section_path": ["变更"], "commit_groups": [], "identity_text": "Don't run atexit callbacks when servicing SIGQUIT (Heikki Linnakangas)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/036", "db_id": "e3dcf8197b67f15dc52b672919b7bd07", "patch_ids": [], "statement_hash": "2fc9d3e861e30f45c0f683b0bb3b6f6471b73643476ab386af3c7dadf782556f", "relations": [{"rule": 2, "type": "equivalent", "target": "39ba0855ac1febbcd96e1e427c4f3b8e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2fc9d3e861e30f45c0f683b0bb3b6f6471b73643476ab386af3c7dadf782556f"}}, {"rule": 2, "type": "equivalent", "target": "4630313f4b54193dd105008e73044d6c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2fc9d3e861e30f45c0f683b0bb3b6f6471b73643476ab386af3c7dadf782556f"}}, {"rule": 2, "type": "equivalent", "target": "78401332222d5de0483d29e05d5ad598", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2fc9d3e861e30f45c0f683b0bb3b6f6471b73643476ab386af3c7dadf782556f"}}, {"rule": 2, "type": "equivalent", "target": "c734cd34b8cc8154b188afcd0d0a2405", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2fc9d3e861e30f45c0f683b0bb3b6f6471b73643476ab386af3c7dadf782556f"}}], "version": "9.6.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "78401332222d5de0483d29e05d5ad598", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "处理 SIGQUIT 时不运行 atexit 回调", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2fc9d3e861e30f45c0f683b0bb3b6f6471b73643476ab386af3c7dadf782556f"}, "url": "/docs/compare/?release=10.6#10.6-9e1339fa1d28f993", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "c734cd34b8cc8154b188afcd0d0a2405", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "服务 SIGQUIT 时不运行 atexit 回调", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2fc9d3e861e30f45c0f683b0bb3b6f6471b73643476ab386af3c7dadf782556f"}, "url": "/docs/compare/?release=9.5.15#9.5.15-8df94db4159fdd39", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}, {"db_id": "4630313f4b54193dd105008e73044d6c", "kind": "equivalent", "version": "9.4.20", "label": "9.4.20", "title": "处理SIGQUIT时不运行 atexit 回调", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2fc9d3e861e30f45c0f683b0bb3b6f6471b73643476ab386af3c7dadf782556f"}, "url": "/docs/compare/?release=9.4.20#9.4.20-adab1a6e0fced93c", "source_url": "/docs/release/9.4.20/#id-1.11.6.11.5"}, {"db_id": "39ba0855ac1febbcd96e1e427c4f3b8e", "kind": "equivalent", "version": "9.3.25", "label": "9.3.25", "title": "服务 SIGQUIT 时不运行 atexit 回调", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2fc9d3e861e30f45c0f683b0bb3b6f6471b73643476ab386af3c7dadf782556f"}, "url": "/docs/compare/?release=9.3.25#9.3.25-8df94db4159fdd39", "source_url": "/docs/release/9.3.25/#id-1.11.6.5.6"}]}, {"id": "9.6.11-a666130b005b9214", "cves": [], "html": "<p>不要把外部服务器用户映射记录为扩展的成员（Tom Lane）</p>\n<p>如果在扩展脚本中执行 <code>CREATE USER MAPPING</code>，会为用户映射创建扩展依赖，这是意料之外的。角色不能是扩展成员，因此用户映射也不应该是。</p>", "text": "不要把外部服务器用户映射记录为扩展的成员（Tom Lane） 如果在扩展脚本中执行 CREATE USER MAPPING，会为用户映射创建扩展依赖，这是意料之外的。角色不能是扩展成员，因此用户映射也不应该是。", "title": "不要把外部服务器用户映射记录为扩展的成员", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "34e2f07bc450aa3440e0e1481ca0926e9ffe23bb03889f5efc8e5f054b4f3038", "section_path": ["变更"], "commit_groups": [], "identity_text": "Don't record foreign-server user mappings as members of extensions (Tom Lane) If CREATE USER MAPPING is executed in an extension script, an extension dependency was created for the user mapping, which is unexpected. Roles can't be extension members, so user mappings shouldn't be either.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/037", "db_id": "e0f5a0165792bc1302f1deab6215536c", "patch_ids": [], "statement_hash": "d6d42f9b75ef3e7b781185b35061350ba8b71c1fa9f0fa334306188f4cd6729a", "relations": [{"rule": 2, "type": "equivalent", "target": "0a3857effe95c5d3d77c35d3b30fd6eb", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d6d42f9b75ef3e7b781185b35061350ba8b71c1fa9f0fa334306188f4cd6729a"}}, {"rule": 2, "type": "equivalent", "target": "410ecd8d3182ca670115f4bb27a910de", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d6d42f9b75ef3e7b781185b35061350ba8b71c1fa9f0fa334306188f4cd6729a"}}, {"rule": 2, "type": "equivalent", "target": "6e629ddb94a5fc275b9280f02474d3a4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d6d42f9b75ef3e7b781185b35061350ba8b71c1fa9f0fa334306188f4cd6729a"}}, {"rule": 2, "type": "equivalent", "target": "dca69a390ea0f6cc18e87d764a97bb6a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d6d42f9b75ef3e7b781185b35061350ba8b71c1fa9f0fa334306188f4cd6729a"}}], "version": "9.6.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "dca69a390ea0f6cc18e87d764a97bb6a", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "不将外部服务器用户映射记录为扩展成员", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d6d42f9b75ef3e7b781185b35061350ba8b71c1fa9f0fa334306188f4cd6729a"}, "url": "/docs/compare/?release=10.6#10.6-3085b500609dfcf9", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "410ecd8d3182ca670115f4bb27a910de", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "不要把外部服务器用户映射记录为扩展的成员", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d6d42f9b75ef3e7b781185b35061350ba8b71c1fa9f0fa334306188f4cd6729a"}, "url": "/docs/compare/?release=9.5.15#9.5.15-a666130b005b9214", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}, {"db_id": "6e629ddb94a5fc275b9280f02474d3a4", "kind": "equivalent", "version": "9.4.20", "label": "9.4.20", "title": "不要把外部服务器用户映射记录为扩展的成员", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d6d42f9b75ef3e7b781185b35061350ba8b71c1fa9f0fa334306188f4cd6729a"}, "url": "/docs/compare/?release=9.4.20#9.4.20-a666130b005b9214", "source_url": "/docs/release/9.4.20/#id-1.11.6.11.5"}, {"db_id": "0a3857effe95c5d3d77c35d3b30fd6eb", "kind": "equivalent", "version": "9.3.25", "label": "9.3.25", "title": "不要把外部服务器用户映射记录为扩展的成员", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d6d42f9b75ef3e7b781185b35061350ba8b71c1fa9f0fa334306188f4cd6729a"}, "url": "/docs/compare/?release=9.3.25#9.3.25-a666130b005b9214", "source_url": "/docs/release/9.3.25/#id-1.11.6.5.6"}]}, {"id": "9.6.11-fb1570d534e1ba9d", "cves": [], "html": "<p>让 syslogger 更能抵御打开 CSV 日志文件的失败（Tom Lane）</p>", "text": "让 syslogger 更能抵御打开 CSV 日志文件的失败（Tom Lane）", "title": "让 syslogger 更能抵御打开 CSV 日志文件的失败", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "965fd073e9531b465d43a8e43045922740146d155681c66b68829cecb1db1793", "section_path": ["变更"], "commit_groups": [], "identity_text": "Make syslogger more robust against failures in opening CSV log files (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/038", "db_id": "f5f12e816c7a9dedc6b16769755ed2aa", "patch_ids": [], "statement_hash": "7fad18ad40b23f45cee7d054fb3b2c997cdae50f413844289c58f29b6081c0aa", "relations": [{"rule": 2, "type": "equivalent", "target": "363c9e22fdd6dbbd49dec53c3c1140e4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7fad18ad40b23f45cee7d054fb3b2c997cdae50f413844289c58f29b6081c0aa"}}, {"rule": 2, "type": "equivalent", "target": "3d6b47685453c435876633d227d33ca0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7fad18ad40b23f45cee7d054fb3b2c997cdae50f413844289c58f29b6081c0aa"}}, {"rule": 2, "type": "equivalent", "target": "747979b17c9e1c6042d5a3efb0a164b3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7fad18ad40b23f45cee7d054fb3b2c997cdae50f413844289c58f29b6081c0aa"}}, {"rule": 2, "type": "equivalent", "target": "c10163f9b63b5ddf4811ed4378a5f684", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7fad18ad40b23f45cee7d054fb3b2c997cdae50f413844289c58f29b6081c0aa"}}], "version": "9.6.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "747979b17c9e1c6042d5a3efb0a164b3", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "使 syslogger 更稳健地处理打开 CSV 日志文件失败的情况", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7fad18ad40b23f45cee7d054fb3b2c997cdae50f413844289c58f29b6081c0aa"}, "url": "/docs/compare/?release=10.6#10.6-b74cb3daa0e05278", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "c10163f9b63b5ddf4811ed4378a5f684", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "让 syslogger 更能抵御打开 CSV 日志文件的失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7fad18ad40b23f45cee7d054fb3b2c997cdae50f413844289c58f29b6081c0aa"}, "url": "/docs/compare/?release=9.5.15#9.5.15-fb1570d534e1ba9d", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}, {"db_id": "363c9e22fdd6dbbd49dec53c3c1140e4", "kind": "equivalent", "version": "9.4.20", "label": "9.4.20", "title": "使 syslogger 在打开 CSV 日志文件失败时更加健壮", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7fad18ad40b23f45cee7d054fb3b2c997cdae50f413844289c58f29b6081c0aa"}, "url": "/docs/compare/?release=9.4.20#9.4.20-47c59362e1bdeb56", "source_url": "/docs/release/9.4.20/#id-1.11.6.11.5"}, {"db_id": "3d6b47685453c435876633d227d33ca0", "kind": "equivalent", "version": "9.3.25", "label": "9.3.25", "title": "让 syslogger 更能抵御打开 CSV 日志文件的失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7fad18ad40b23f45cee7d054fb3b2c997cdae50f413844289c58f29b6081c0aa"}, "url": "/docs/compare/?release=9.3.25#9.3.25-fb1570d534e1ba9d", "source_url": "/docs/release/9.3.25/#id-1.11.6.5.6"}]}, {"id": "9.6.11-848a6a77c6eda410", "cves": [], "html": "<p>修复 <span>psql</span> 以及文档示例，在每次调用 <code>PQnotifies()</code> 之前先调用 <code>PQconsumeInput()</code>（Tom Lane）</p>\n<p>这修复了 <span>psql</span> 直到下一条命令之后才报告收到 <code>NOTIFY</code> 消息的情况。</p>", "text": "修复 psql 以及文档示例，在每次调用 PQnotifies() 之前先调用 PQconsumeInput()（Tom Lane） 这修复了 psql 直到下一条命令之后才报告收到 NOTIFY 消息的情况。", "title": "修复 psql 以及文档示例，在每次调用 PQnotifies() 之前先调用 PQconsumeInput()", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "478148fe6542b6d49896788e864079392fd59373423373e96ddef8268f31a575", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix psql, as well as documentation examples, to call PQconsumeInput() before each PQnotifies() call (Tom Lane) This fixes cases in which psql would not report receipt of a NOTIFY message until after the next command.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/039", "db_id": "2af7ad06b6fdaaa207504cf080264fef", "patch_ids": [], "statement_hash": "14c650cd2a6b97cf4efea2764e6bbe3235388394b02168f9bd91fe4dd5ac7e61", "relations": [{"rule": 2, "type": "equivalent", "target": "5a1c406d48c7e103b2aa24abe3d1409c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "14c650cd2a6b97cf4efea2764e6bbe3235388394b02168f9bd91fe4dd5ac7e61"}}, {"rule": 2, "type": "equivalent", "target": "b060894131b886788cfe8ba2aaf6c3ae", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "14c650cd2a6b97cf4efea2764e6bbe3235388394b02168f9bd91fe4dd5ac7e61"}}, {"rule": 2, "type": "equivalent", "target": "e9bc4fa86eca70b25a4c3a31d74918fd", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "14c650cd2a6b97cf4efea2764e6bbe3235388394b02168f9bd91fe4dd5ac7e61"}}], "version": "9.6.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "5a1c406d48c7e103b2aa24abe3d1409c", "kind": "equivalent", "version": "11.1", "label": "11.1", "title": "修复 psql 以及文档示例，使其在每次调用 PQnotifies() 之前调用 PQconsumeInput()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "14c650cd2a6b97cf4efea2764e6bbe3235388394b02168f9bd91fe4dd5ac7e61"}, "url": "/docs/compare/?release=11.1#11.1-079c4c7fcf5e3d30", "source_url": "/docs/release/11.1/#id-1.11.6.26.5"}, {"db_id": "b060894131b886788cfe8ba2aaf6c3ae", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "修复 psql 以及文档示例，使其在每次调用 PQnotifies() 之前调用 PQconsumeInput()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "14c650cd2a6b97cf4efea2764e6bbe3235388394b02168f9bd91fe4dd5ac7e61"}, "url": "/docs/compare/?release=10.6#10.6-079c4c7fcf5e3d30", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "e9bc4fa86eca70b25a4c3a31d74918fd", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "修复 psql 以及文档示例，在每次调用 PQnotifies() 之前先调用 PQconsumeInput()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "14c650cd2a6b97cf4efea2764e6bbe3235388394b02168f9bd91fe4dd5ac7e61"}, "url": "/docs/compare/?release=9.5.15#9.5.15-848a6a77c6eda410", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}]}, {"id": "9.6.11-b0690b59faa27b68", "cves": [], "html": "<p>修复 <span>pg_dump</span> 对不相似对象名排序可能的不一致（Jacob Champion）</p>", "text": "修复 pg_dump 对不相似对象名排序可能的不一致（Jacob Champion）", "title": "修复 pg_dump 对不相似对象名排序可能的不一致", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "3e114286dbaec5a0dfbef310dcac1fda7427a52564a87c52a73625fa7451516a", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix possible inconsistency in pg_dump's sorting of dissimilar object names (Jacob Champion)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/040", "db_id": "912356dbe78b587a2b8d1b0dbc6c652b", "patch_ids": [], "statement_hash": "1608218bfae94f34e9c334bcbb87deed2cc19cd8456bc024623f4d67ce02e80c", "relations": [{"rule": 2, "type": "equivalent", "target": "0e95c2d00e13033a1c3b37100ea8cbc3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1608218bfae94f34e9c334bcbb87deed2cc19cd8456bc024623f4d67ce02e80c"}}, {"rule": 2, "type": "equivalent", "target": "5071c9718530c3936f2f5a39c8b5a381", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1608218bfae94f34e9c334bcbb87deed2cc19cd8456bc024623f4d67ce02e80c"}}, {"rule": 2, "type": "equivalent", "target": "879dd6c80f10d3518fc44e1e5abeee26", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1608218bfae94f34e9c334bcbb87deed2cc19cd8456bc024623f4d67ce02e80c"}}, {"rule": 2, "type": "equivalent", "target": "e8a7350145703801676066c25c27bc0b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1608218bfae94f34e9c334bcbb87deed2cc19cd8456bc024623f4d67ce02e80c"}}], "version": "9.6.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "879dd6c80f10d3518fc44e1e5abeee26", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "修复 pg_dump 对不同对象名称进行排序时可能出现的不一致", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1608218bfae94f34e9c334bcbb87deed2cc19cd8456bc024623f4d67ce02e80c"}, "url": "/docs/compare/?release=10.6#10.6-327748fa243f5fa7", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "0e95c2d00e13033a1c3b37100ea8cbc3", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "修复 pg_dump 对不相似对象名排序可能的不一致", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1608218bfae94f34e9c334bcbb87deed2cc19cd8456bc024623f4d67ce02e80c"}, "url": "/docs/compare/?release=9.5.15#9.5.15-b0690b59faa27b68", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}, {"db_id": "e8a7350145703801676066c25c27bc0b", "kind": "equivalent", "version": "9.4.20", "label": "9.4.20", "title": "修复pg_dump对不同对象名排序时可能不一致的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1608218bfae94f34e9c334bcbb87deed2cc19cd8456bc024623f4d67ce02e80c"}, "url": "/docs/compare/?release=9.4.20#9.4.20-0b4c347eda93659e", "source_url": "/docs/release/9.4.20/#id-1.11.6.11.5"}, {"db_id": "5071c9718530c3936f2f5a39c8b5a381", "kind": "equivalent", "version": "9.3.25", "label": "9.3.25", "title": "修复 pg_dump 对不相似对象名排序可能的不一致", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1608218bfae94f34e9c334bcbb87deed2cc19cd8456bc024623f4d67ce02e80c"}, "url": "/docs/compare/?release=9.3.25#9.3.25-b0690b59faa27b68", "source_url": "/docs/release/9.3.25/#id-1.11.6.5.6"}]}, {"id": "9.6.11-93e8d87595b44a34", "cves": [], "html": "<p>确保 <span>pg_restore</span> 发出 <code>DISABLE</code>/<code>ENABLE TRIGGER</code> 命令时对表名进行模式限定（Tom Lane）</p>\n<p>这避免了以受限搜索路径运行恢复的新策略导致的失败。</p>", "text": "确保 pg_restore 发出 DISABLE/ENABLE TRIGGER 命令时对表名进行模式限定（Tom Lane） 这避免了以受限搜索路径运行恢复的新策略导致的失败。", "title": "确保 pg_restore 发出 DISABLE/ENABLE TRIGGER 命令时对表名进行模式限定", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "aabffdb62616f6208d77549da839a5715c5aad1396ba744fc111512a64af8461", "section_path": ["变更"], "commit_groups": [], "identity_text": "Ensure that pg_restore will schema-qualify the table name when emitting DISABLE/ENABLE TRIGGER commands (Tom Lane) This avoids failures due to the new policy of running restores with restrictive search path.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/041", "db_id": "7cfc9a9469f5e268abca807d030d5b75", "patch_ids": [], "statement_hash": "7c408d7b08120e1a385314af114479b44ba88a4883cc1793ec2a02bf5cc7bfb4", "relations": [{"rule": 2, "type": "equivalent", "target": "1f5b9ce06a10d71020f5d675c0a7681d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7c408d7b08120e1a385314af114479b44ba88a4883cc1793ec2a02bf5cc7bfb4"}}, {"rule": 2, "type": "equivalent", "target": "235a3de186833f10d1941ae31e8b56d3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7c408d7b08120e1a385314af114479b44ba88a4883cc1793ec2a02bf5cc7bfb4"}}, {"rule": 2, "type": "equivalent", "target": "262023a4f2bb0ae0b0839cd5d6791508", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7c408d7b08120e1a385314af114479b44ba88a4883cc1793ec2a02bf5cc7bfb4"}}, {"rule": 2, "type": "equivalent", "target": "ef2584cb0a85c4f148c73d6aec18467a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7c408d7b08120e1a385314af114479b44ba88a4883cc1793ec2a02bf5cc7bfb4"}}], "version": "9.6.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "262023a4f2bb0ae0b0839cd5d6791508", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "确保 pg_restore 输出 DISABLE/ENABLE TRIGGER 命令时，为表名添加模式限定", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7c408d7b08120e1a385314af114479b44ba88a4883cc1793ec2a02bf5cc7bfb4"}, "url": "/docs/compare/?release=10.6#10.6-4f69d270cafd8434", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "235a3de186833f10d1941ae31e8b56d3", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "确保 pg_restore 发出 DISABLE/ENABLE TRIGGER 命令时对表名进行模式限定", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7c408d7b08120e1a385314af114479b44ba88a4883cc1793ec2a02bf5cc7bfb4"}, "url": "/docs/compare/?release=9.5.15#9.5.15-93e8d87595b44a34", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}, {"db_id": "ef2584cb0a85c4f148c73d6aec18467a", "kind": "equivalent", "version": "9.4.20", "label": "9.4.20", "title": "确保 pg_restore 发出 DISABLE/ENABLE TRIGGER 命令时对表名进行模式限定", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7c408d7b08120e1a385314af114479b44ba88a4883cc1793ec2a02bf5cc7bfb4"}, "url": "/docs/compare/?release=9.4.20#9.4.20-93e8d87595b44a34", "source_url": "/docs/release/9.4.20/#id-1.11.6.11.5"}, {"db_id": "1f5b9ce06a10d71020f5d675c0a7681d", "kind": "equivalent", "version": "9.3.25", "label": "9.3.25", "title": "确保 pg_restore 发出 DISABLE/ENABLE TRIGGER 命令时对表名进行模式限定", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7c408d7b08120e1a385314af114479b44ba88a4883cc1793ec2a02bf5cc7bfb4"}, "url": "/docs/compare/?release=9.3.25#9.3.25-93e8d87595b44a34", "source_url": "/docs/release/9.3.25/#id-1.11.6.5.6"}]}, {"id": "9.6.11-3acbb4d1f6a6575e", "cves": [], "html": "<p>修复 <span>pg_upgrade</span> 正确处理扩展中的事件触发器（Haribabu Kommi）</p>\n<p><span>pg_upgrade</span> 未能保留事件触发器的扩展成员身份。</p>", "text": "修复 pg_upgrade 正确处理扩展中的事件触发器（Haribabu Kommi） pg_upgrade 未能保留事件触发器的扩展成员身份。", "title": "修复 pg_upgrade 正确处理扩展中的事件触发器", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "f6ff61bde22c9503f4a1011982c64a6461dc0b8cc09eeca49fa218e651121f80", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix pg_upgrade to handle event triggers in extensions correctly (Haribabu Kommi) pg_upgrade failed to preserve an event trigger's extension-membership status.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/042", "db_id": "aa84cdfbdeba1986ccf38b23ba363ce2", "patch_ids": [], "statement_hash": "911636583bada2456d08ae59c239cad9a620a8c8e648db06c9cff99b70c8d346", "relations": [{"rule": 2, "type": "equivalent", "target": "4b260e91e97270d0acd4dca22b40ca64", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "911636583bada2456d08ae59c239cad9a620a8c8e648db06c9cff99b70c8d346"}}, {"rule": 2, "type": "equivalent", "target": "8b475ad0f04656171eb5572be6ee777a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "911636583bada2456d08ae59c239cad9a620a8c8e648db06c9cff99b70c8d346"}}, {"rule": 2, "type": "equivalent", "target": "9918149f9df7155fb91615361e6189b2", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "911636583bada2456d08ae59c239cad9a620a8c8e648db06c9cff99b70c8d346"}}, {"rule": 2, "type": "equivalent", "target": "c1ecce3dec5d63c01a303d5e19b94583", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "911636583bada2456d08ae59c239cad9a620a8c8e648db06c9cff99b70c8d346"}}], "version": "9.6.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "c1ecce3dec5d63c01a303d5e19b94583", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "修复 pg_upgrade，使其正确处理扩展中的事件触发器", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "911636583bada2456d08ae59c239cad9a620a8c8e648db06c9cff99b70c8d346"}, "url": "/docs/compare/?release=10.6#10.6-ff7866c083640635", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "4b260e91e97270d0acd4dca22b40ca64", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "修复 pg_upgrade 正确处理扩展中的事件触发器", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "911636583bada2456d08ae59c239cad9a620a8c8e648db06c9cff99b70c8d346"}, "url": "/docs/compare/?release=9.5.15#9.5.15-3acbb4d1f6a6575e", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}, {"db_id": "8b475ad0f04656171eb5572be6ee777a", "kind": "equivalent", "version": "9.4.20", "label": "9.4.20", "title": "修复 pg_upgrade 正确处理扩展中的事件触发器", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "911636583bada2456d08ae59c239cad9a620a8c8e648db06c9cff99b70c8d346"}, "url": "/docs/compare/?release=9.4.20#9.4.20-3acbb4d1f6a6575e", "source_url": "/docs/release/9.4.20/#id-1.11.6.11.5"}, {"db_id": "9918149f9df7155fb91615361e6189b2", "kind": "equivalent", "version": "9.3.25", "label": "9.3.25", "title": "修复 pg_upgrade 正确处理扩展中的事件触发器", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "911636583bada2456d08ae59c239cad9a620a8c8e648db06c9cff99b70c8d346"}, "url": "/docs/compare/?release=9.3.25#9.3.25-3acbb4d1f6a6575e", "source_url": "/docs/release/9.3.25/#id-1.11.6.5.6"}]}, {"id": "9.6.11-c2b9190b9399ea25", "cves": [], "html": "<p>修复 <span>pg_upgrade</span> 的集簇状态检查在备库服务器上正确工作（Bruce Momjian）</p>", "text": "修复 pg_upgrade 的集簇状态检查在备库服务器上正确工作（Bruce Momjian）", "title": "修复 pg_upgrade 的集簇状态检查在备库服务器上正确工作", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "e7dc2ae4f3414538232aa623e0107d29c2d4a4532f46d3981bccd33fb07fbb9c", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix pg_upgrade's cluster state check to work correctly on a standby server (Bruce Momjian)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/043", "db_id": "102f9f0d3ac227da29208aa63f623f90", "patch_ids": [], "statement_hash": "f176cc1bae2fdc583fb040776de4cb20eddcb8b0f59197dde8e54f3e9abcf282", "relations": [{"rule": 2, "type": "equivalent", "target": "7ad4a1520e809c327a364617cb38dff0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f176cc1bae2fdc583fb040776de4cb20eddcb8b0f59197dde8e54f3e9abcf282"}}, {"rule": 2, "type": "equivalent", "target": "7dc0c49afd06be82c01c02ba94b8fbf4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f176cc1bae2fdc583fb040776de4cb20eddcb8b0f59197dde8e54f3e9abcf282"}}, {"rule": 2, "type": "equivalent", "target": "93a73ab31b1b96f9798383f39ab6f725", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f176cc1bae2fdc583fb040776de4cb20eddcb8b0f59197dde8e54f3e9abcf282"}}, {"rule": 2, "type": "equivalent", "target": "b8e5436d8e30dd670bdaf685dc54708f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f176cc1bae2fdc583fb040776de4cb20eddcb8b0f59197dde8e54f3e9abcf282"}}], "version": "9.6.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "93a73ab31b1b96f9798383f39ab6f725", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "修复 pg_upgrade 的集群状态检查，使其在备库上正确工作", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f176cc1bae2fdc583fb040776de4cb20eddcb8b0f59197dde8e54f3e9abcf282"}, "url": "/docs/compare/?release=10.6#10.6-526f17cbf7e0ee56", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "b8e5436d8e30dd670bdaf685dc54708f", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "修复 pg_upgrade 的集簇状态检查在备库服务器上正确工作", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f176cc1bae2fdc583fb040776de4cb20eddcb8b0f59197dde8e54f3e9abcf282"}, "url": "/docs/compare/?release=9.5.15#9.5.15-c2b9190b9399ea25", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}, {"db_id": "7dc0c49afd06be82c01c02ba94b8fbf4", "kind": "equivalent", "version": "9.4.20", "label": "9.4.20", "title": "修复pg_upgrade的集簇状态检查在备库服务器上正确工作的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f176cc1bae2fdc583fb040776de4cb20eddcb8b0f59197dde8e54f3e9abcf282"}, "url": "/docs/compare/?release=9.4.20#9.4.20-eb6d8df9306b3cf3", "source_url": "/docs/release/9.4.20/#id-1.11.6.11.5"}, {"db_id": "7ad4a1520e809c327a364617cb38dff0", "kind": "equivalent", "version": "9.3.25", "label": "9.3.25", "title": "修复 pg_upgrade 的集簇状态检查在备库服务器上正确工作", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f176cc1bae2fdc583fb040776de4cb20eddcb8b0f59197dde8e54f3e9abcf282"}, "url": "/docs/compare/?release=9.3.25#9.3.25-c2b9190b9399ea25", "source_url": "/docs/release/9.3.25/#id-1.11.6.5.6"}]}, {"id": "9.6.11-62cceefc1dc8ef2c", "cves": [], "html": "<p>在所有 <code>contrib/cube</code> 函数中强制执行 <code>cube</code> 类型的维度限制（Andrey Borodin）</p>\n<p>此前某些与 cube 相关的函数可以构造出会被 <code>cube_in()</code> 拒绝的值，导致转储/恢复失败。</p>", "text": "在所有 contrib/cube 函数中强制执行 cube 类型的维度限制（Andrey Borodin） 此前某些与 cube 相关的函数可以构造出会被 cube_in() 拒绝的值，导致转储/恢复失败。", "title": "在所有 contrib/cube 函数中强制执行 cube 类型的维度限制", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "5d5d08c674b7582b0b46dc8a1306744c0fdc0ffcbdf6d9767a14bf859da79d3b", "section_path": ["变更"], "commit_groups": [], "identity_text": "Enforce type cube's dimension limit in all contrib/cube functions (Andrey Borodin) Previously, some cube-related functions could construct values that would be rejected by cube_in(), leading to dump/reload failures.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/044", "db_id": "841f7f248a9fc509a7b5f8f60d2875a8", "patch_ids": [], "statement_hash": "c8147b8ba8a71e7499e60611aa59f63db70957b983ba824235595e189432d61b", "relations": [{"rule": 2, "type": "equivalent", "target": "200958a165dd7cd2ed556c74745858d4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c8147b8ba8a71e7499e60611aa59f63db70957b983ba824235595e189432d61b"}}, {"rule": 2, "type": "equivalent", "target": "4571b8460d4de77f9acd69341a8d55b4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c8147b8ba8a71e7499e60611aa59f63db70957b983ba824235595e189432d61b"}}, {"rule": 2, "type": "equivalent", "target": "5e9e7a0241c6f49c5495141891498081", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c8147b8ba8a71e7499e60611aa59f63db70957b983ba824235595e189432d61b"}}, {"rule": 2, "type": "equivalent", "target": "c5b69e51d985ff7f3a84a9be25ab26c8", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c8147b8ba8a71e7499e60611aa59f63db70957b983ba824235595e189432d61b"}}], "version": "9.6.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "5e9e7a0241c6f49c5495141891498081", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "在所有 contrib/cube 函数中强制实施 cube 类型的维数限制", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c8147b8ba8a71e7499e60611aa59f63db70957b983ba824235595e189432d61b"}, "url": "/docs/compare/?release=10.6#10.6-87982b7c1a553dcc", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "200958a165dd7cd2ed556c74745858d4", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "在所有 contrib/cube 函数中强制执行 cube 类型的维度限制", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c8147b8ba8a71e7499e60611aa59f63db70957b983ba824235595e189432d61b"}, "url": "/docs/compare/?release=9.5.15#9.5.15-62cceefc1dc8ef2c", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}, {"db_id": "4571b8460d4de77f9acd69341a8d55b4", "kind": "equivalent", "version": "9.4.20", "label": "9.4.20", "title": "在所有 contrib/cube 函数中强制执行 cube 类型的维度限制", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c8147b8ba8a71e7499e60611aa59f63db70957b983ba824235595e189432d61b"}, "url": "/docs/compare/?release=9.4.20#9.4.20-62cceefc1dc8ef2c", "source_url": "/docs/release/9.4.20/#id-1.11.6.11.5"}, {"db_id": "c5b69e51d985ff7f3a84a9be25ab26c8", "kind": "equivalent", "version": "9.3.25", "label": "9.3.25", "title": "在所有 contrib/cube 函数中强制执行 cube 类型的维度限制", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c8147b8ba8a71e7499e60611aa59f63db70957b983ba824235595e189432d61b"}, "url": "/docs/compare/?release=9.3.25#9.3.25-62cceefc1dc8ef2c", "source_url": "/docs/release/9.3.25/#id-1.11.6.5.6"}]}, {"id": "9.6.11-114298ffedb88fac", "cves": [], "html": "<p>在 <code>contrib/postgres_fdw</code> 中，不要试图把不含变量的 <code>ORDER BY</code> 子句传给远程服务器（Andrew Gierth）</p>", "text": "在 contrib/postgres_fdw 中，不要试图把不含变量的 ORDER BY 子句传给远程服务器（Andrew Gierth）", "title": "在 contrib/postgres_fdw 中，不要试图把不含变量的 ORDER BY 子句传给远程服务器", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "e0093165a272fe5ba0bd8466456ac5d76b5b4b0353d3e198fe8d23567b122364", "section_path": ["变更"], "commit_groups": [], "identity_text": "In contrib/postgres_fdw, don't try to ship a variable-free ORDER BY clause to the remote server (Andrew Gierth)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/045", "db_id": "c248f6a72eea8dde649522c90285cbba", "patch_ids": [], "statement_hash": "12e7f89d0fcbacc01998118a085f2044e7d6a996e2a5450027bc1698c13c667f", "relations": [{"rule": 2, "type": "equivalent", "target": "b3159f77f4fb87954d235c0eb2432473", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "12e7f89d0fcbacc01998118a085f2044e7d6a996e2a5450027bc1698c13c667f"}}], "version": "9.6.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "b3159f77f4fb87954d235c0eb2432473", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "在 contrib/postgres_fdw 中，不尝试将不含变量的 ORDER BY 子句发送到远程服务器", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "12e7f89d0fcbacc01998118a085f2044e7d6a996e2a5450027bc1698c13c667f"}, "url": "/docs/compare/?release=10.6#10.6-9242f3f013826ec9", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}]}, {"id": "9.6.11-dfc122f711954da6", "cves": [], "html": "<p>修复 <code>contrib/unaccent</code> 的 <code>unaccent()</code> 函数使用与该函数同模式中的 <code>unaccent</code> 文本搜索词典（Tom Lane）</p>\n<p>此前它尝试用搜索路径查找词典，如果搜索路径是受限值就可能失败。</p>", "text": "修复 contrib/unaccent 的 unaccent() 函数使用与该函数同模式中的 unaccent 文本搜索词典（Tom Lane） 此前它尝试用搜索路径查找词典，如果搜索路径是受限值就可能失败。", "title": "修复 contrib/unaccent 的 unaccent() 函数使用与该函数同模式中的 unaccent 文本搜索词典", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "6b5d9335930b6fbfa69c99dca76680f0600a504b2b52c1ddfa8a21dd142de4b5", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix contrib/unaccent's unaccent() function to use the unaccent text search dictionary that is in the same schema as the function (Tom Lane) Previously it tried to look up the dictionary using the search path, which could fail if the search path has a restrictive value.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/046", "db_id": "26547d4c4d38c37a756c4e20bd9a40f7", "patch_ids": [], "statement_hash": "d52fc9cb466a29e5386d430e0a5cf3e535a8e7b4c0890db415356fdfb0464c2f", "relations": [{"rule": 2, "type": "equivalent", "target": "2167de29b2e546d25afba3817c99ba7c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d52fc9cb466a29e5386d430e0a5cf3e535a8e7b4c0890db415356fdfb0464c2f"}}, {"rule": 2, "type": "equivalent", "target": "734bd1ee833334ec4ec28af4b8a2c087", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d52fc9cb466a29e5386d430e0a5cf3e535a8e7b4c0890db415356fdfb0464c2f"}}, {"rule": 2, "type": "equivalent", "target": "a255fad78513abd146b092551281953f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d52fc9cb466a29e5386d430e0a5cf3e535a8e7b4c0890db415356fdfb0464c2f"}}, {"rule": 2, "type": "equivalent", "target": "bb8e1f2c7908abbc6f7d664082da3828", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d52fc9cb466a29e5386d430e0a5cf3e535a8e7b4c0890db415356fdfb0464c2f"}}], "version": "9.6.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "2167de29b2e546d25afba3817c99ba7c", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "修复 contrib/unaccent 的 unaccent() 函数，使其使用与函数位于同一模式中的 unaccent 文本检索词典", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d52fc9cb466a29e5386d430e0a5cf3e535a8e7b4c0890db415356fdfb0464c2f"}, "url": "/docs/compare/?release=10.6#10.6-8f03011d13bd632f", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "a255fad78513abd146b092551281953f", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "修复 contrib/unaccent 的 unaccent() 函数使用与该函数同模式中的 unaccent 文本搜索词典", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d52fc9cb466a29e5386d430e0a5cf3e535a8e7b4c0890db415356fdfb0464c2f"}, "url": "/docs/compare/?release=9.5.15#9.5.15-dfc122f711954da6", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}, {"db_id": "bb8e1f2c7908abbc6f7d664082da3828", "kind": "equivalent", "version": "9.4.20", "label": "9.4.20", "title": "修复 contrib/unaccent 的 unaccent() 函数使用与该函数同模式中的 unaccent 文本搜索词典", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d52fc9cb466a29e5386d430e0a5cf3e535a8e7b4c0890db415356fdfb0464c2f"}, "url": "/docs/compare/?release=9.4.20#9.4.20-dfc122f711954da6", "source_url": "/docs/release/9.4.20/#id-1.11.6.11.5"}, {"db_id": "734bd1ee833334ec4ec28af4b8a2c087", "kind": "equivalent", "version": "9.3.25", "label": "9.3.25", "title": "修复 contrib/unaccent 的 unaccent() 函数使用与该函数同模式中的 unaccent 文本搜索词典", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d52fc9cb466a29e5386d430e0a5cf3e535a8e7b4c0890db415356fdfb0464c2f"}, "url": "/docs/compare/?release=9.3.25#9.3.25-dfc122f711954da6", "source_url": "/docs/release/9.3.25/#id-1.11.6.5.6"}]}, {"id": "9.6.11-9a46ff8655386392", "cves": [], "html": "<p>修复 macOS 10.14（Mojave）上的构建问题（Tom Lane）</p>\n<p>调整 <span>configure</span> 向 <code>CPPFLAGS</code> 添加 <code>-isysroot</code> 开关；没有它，PL/Perl 和 PL/Tcl 在 macOS 10.14 上无法配置或构建。所用的具体 sysroot 可以在配置或构建时通过在 <span>configure</span> 或 <span>make</span> 的参数中设置 <code>PG_SYSROOT</code> 变量来覆盖。</p>\n<p>现在建议与 Perl 相关的扩展在其编译器标志中写 <code>$(perl_includespec)</code> 而不是 <code>-I$(perl_archlibexp)/CORE</code>。后者在大多数平台上继续有效，但在最近的 macOS 上不行。</p>\n<p>此外，在最近的 macOS 版本上构建 PL/Tcl 应该不再需要手动指定 <code>--with-tclconfig</code>。</p>", "text": "修复 macOS 10.14（Mojave）上的构建问题（Tom Lane） 调整 configure 向 CPPFLAGS 添加 -isysroot 开关；没有它，PL/Perl 和 PL/Tcl 在 macOS 10.14 上无法配置或构建。所用的具体 sysroot 可以在配置或构建时通过在 configure 或 make 的参数中设置 PG_SYSROOT 变量来覆盖。 现在建议与 Perl 相关的扩展在其编译器标志中写 $(perl_includespec) 而不是 -I$(perl_archlibexp)/CORE。后者在大多数平台上继续有效，但在最近的 macOS 上不行。 此外，在最近的 macOS 版本上构建 PL/Tcl 应该不再需要手动指定 --with-tclconfig。", "title": "修复 macOS 10.14（Mojave）上的构建问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "74591258530831103aa452f55ae58ef83668ecc9410f46bc66a748cd18f0cf44", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix build problems on macOS 10.14 (Mojave) (Tom Lane) Adjust configure to add an -isysroot switch to CPPFLAGS; without this, PL/Perl and PL/Tcl fail to configure or build on macOS 10.14. The specific sysroot used can be overridden at configure time or build time by setting the PG_SYSROOT variable in the arguments of configure or make. It is now recommended that Perl-related extensions write $(perl_includespec) rather than -I$(perl_archlibexp)/CORE in their compiler flags. The latter continues to work on most platforms, but not recent macOS. Also, it should no longer be necessary to specify --with-tclconfig manually to get PL/Tcl to build on recent macOS releases.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/047", "db_id": "fe85548f1db806d6dc35aa43c9c75091", "patch_ids": [], "statement_hash": "5548bd964195f61e6b9862763083a9aee02c1ef822aeadc42c795a2b1cf445a8", "relations": [{"rule": 2, "type": "equivalent", "target": "0573685aa14d64178784109e5f3f2399", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5548bd964195f61e6b9862763083a9aee02c1ef822aeadc42c795a2b1cf445a8"}}, {"rule": 2, "type": "equivalent", "target": "0d12180e1c657bd3248e00988558c8b6", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5548bd964195f61e6b9862763083a9aee02c1ef822aeadc42c795a2b1cf445a8"}}, {"rule": 2, "type": "equivalent", "target": "4d61afdda860b057b6269de4cc193262", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5548bd964195f61e6b9862763083a9aee02c1ef822aeadc42c795a2b1cf445a8"}}, {"rule": 2, "type": "equivalent", "target": "5c29e1d1317aab57179d5a6f6bad58dd", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5548bd964195f61e6b9862763083a9aee02c1ef822aeadc42c795a2b1cf445a8"}}, {"rule": 2, "type": "equivalent", "target": "fe2bae05be5fd6088874d68a76b1f3ff", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5548bd964195f61e6b9862763083a9aee02c1ef822aeadc42c795a2b1cf445a8"}}], "version": "9.6.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "fe2bae05be5fd6088874d68a76b1f3ff", "kind": "equivalent", "version": "11.1", "label": "11.1", "title": "修复 macOS 10.14（Mojave）上的构建问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5548bd964195f61e6b9862763083a9aee02c1ef822aeadc42c795a2b1cf445a8"}, "url": "/docs/compare/?release=11.1#11.1-9a46ff8655386392", "source_url": "/docs/release/11.1/#id-1.11.6.26.5"}, {"db_id": "5c29e1d1317aab57179d5a6f6bad58dd", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "修复 macOS 10.14（Mojave）上的构建问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5548bd964195f61e6b9862763083a9aee02c1ef822aeadc42c795a2b1cf445a8"}, "url": "/docs/compare/?release=10.6#10.6-9a46ff8655386392", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "4d61afdda860b057b6269de4cc193262", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "修复 macOS 10.14（Mojave）上的构建问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5548bd964195f61e6b9862763083a9aee02c1ef822aeadc42c795a2b1cf445a8"}, "url": "/docs/compare/?release=9.5.15#9.5.15-9a46ff8655386392", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}, {"db_id": "0573685aa14d64178784109e5f3f2399", "kind": "equivalent", "version": "9.4.20", "label": "9.4.20", "title": "修复 macOS 10.14（Mojave）上的构建问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5548bd964195f61e6b9862763083a9aee02c1ef822aeadc42c795a2b1cf445a8"}, "url": "/docs/compare/?release=9.4.20#9.4.20-9a46ff8655386392", "source_url": "/docs/release/9.4.20/#id-1.11.6.11.5"}, {"db_id": "0d12180e1c657bd3248e00988558c8b6", "kind": "equivalent", "version": "9.3.25", "label": "9.3.25", "title": "修复 macOS 10.14（Mojave）上的构建问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5548bd964195f61e6b9862763083a9aee02c1ef822aeadc42c795a2b1cf445a8"}, "url": "/docs/compare/?release=9.3.25#9.3.25-9a46ff8655386392", "source_url": "/docs/release/9.3.25/#id-1.11.6.5.6"}]}, {"id": "9.6.11-f991ee36ce29595f", "cves": [], "html": "<p>修复 MSVC 构建和回归测试脚本在最近的 Perl 版本上工作（Andrew Dunstan）</p>\n<p>Perl 不再默认在搜索路径中包含当前目录；绕过这一点。</p>", "text": "修复 MSVC 构建和回归测试脚本在最近的 Perl 版本上工作（Andrew Dunstan） Perl 不再默认在搜索路径中包含当前目录；绕过这一点。", "title": "修复 MSVC 构建和回归测试脚本在最近的 Perl 版本上工作", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "01fa67eb9b49452b9044353880a70bd1b6e38a7b3abe0dbf354b98e27377ee46", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix MSVC build and regression-test scripts to work on recent Perl versions (Andrew Dunstan) Perl no longer includes the current directory in its search path by default; work around that.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/048", "db_id": "330db97de242d00c963b07fc3c46b0e2", "patch_ids": [], "statement_hash": "ae5a3c28d2110945ca8eab359490e20b4c9880f194aff5e7f362830376bf1eb8", "relations": [{"rule": 2, "type": "equivalent", "target": "38726384cd10e441aa4dcced098d61b8", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ae5a3c28d2110945ca8eab359490e20b4c9880f194aff5e7f362830376bf1eb8"}}, {"rule": 2, "type": "equivalent", "target": "7c21077c9eb4a826e9bed8b137d5f770", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ae5a3c28d2110945ca8eab359490e20b4c9880f194aff5e7f362830376bf1eb8"}}, {"rule": 2, "type": "equivalent", "target": "8a1cc7acdfb09c199a9f3ca1cd405980", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ae5a3c28d2110945ca8eab359490e20b4c9880f194aff5e7f362830376bf1eb8"}}, {"rule": 2, "type": "equivalent", "target": "c05a64c813d21edd23ba0418b3a7b77e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ae5a3c28d2110945ca8eab359490e20b4c9880f194aff5e7f362830376bf1eb8"}}, {"rule": 2, "type": "equivalent", "target": "e3ec0a53c68d18896cdc4e43a13db606", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ae5a3c28d2110945ca8eab359490e20b4c9880f194aff5e7f362830376bf1eb8"}}], "version": "9.6.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "38726384cd10e441aa4dcced098d61b8", "kind": "equivalent", "version": "11.1", "label": "11.1", "title": "修复 MSVC 构建和回归测试脚本，使其适用于近期 Perl 版本", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ae5a3c28d2110945ca8eab359490e20b4c9880f194aff5e7f362830376bf1eb8"}, "url": "/docs/compare/?release=11.1#11.1-4ce896e4612f55d4", "source_url": "/docs/release/11.1/#id-1.11.6.26.5"}, {"db_id": "7c21077c9eb4a826e9bed8b137d5f770", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "修复 MSVC 构建和回归测试脚本，使其适用于近期 Perl 版本", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ae5a3c28d2110945ca8eab359490e20b4c9880f194aff5e7f362830376bf1eb8"}, "url": "/docs/compare/?release=10.6#10.6-4ce896e4612f55d4", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "c05a64c813d21edd23ba0418b3a7b77e", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "修复 MSVC 构建和回归测试脚本在最近的 Perl 版本上工作", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ae5a3c28d2110945ca8eab359490e20b4c9880f194aff5e7f362830376bf1eb8"}, "url": "/docs/compare/?release=9.5.15#9.5.15-f991ee36ce29595f", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}, {"db_id": "e3ec0a53c68d18896cdc4e43a13db606", "kind": "equivalent", "version": "9.4.20", "label": "9.4.20", "title": "修复 MSVC 构建和回归测试脚本在最近的 Perl 版本上工作", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ae5a3c28d2110945ca8eab359490e20b4c9880f194aff5e7f362830376bf1eb8"}, "url": "/docs/compare/?release=9.4.20#9.4.20-f991ee36ce29595f", "source_url": "/docs/release/9.4.20/#id-1.11.6.11.5"}, {"db_id": "8a1cc7acdfb09c199a9f3ca1cd405980", "kind": "equivalent", "version": "9.3.25", "label": "9.3.25", "title": "修复 MSVC 构建和回归测试脚本在最近的 Perl 版本上工作", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ae5a3c28d2110945ca8eab359490e20b4c9880f194aff5e7f362830376bf1eb8"}, "url": "/docs/compare/?release=9.3.25#9.3.25-f991ee36ce29595f", "source_url": "/docs/release/9.3.25/#id-1.11.6.5.6"}]}, {"id": "9.6.11-44146fcc9439c230", "cves": [], "html": "<p>在 Windows 上，允许由管理员账户运行回归测试（Andrew Dunstan）</p>\n<p>为了安全地做到这一点，<span>pg_regress</span> 现在在启动时放弃任何此类权限。</p>", "text": "在 Windows 上，允许由管理员账户运行回归测试（Andrew Dunstan） 为了安全地做到这一点，pg_regress 现在在启动时放弃任何此类权限。", "title": "在 Windows 上，允许由管理员账户运行回归测试", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "d87cdba74b3d9fd930c57b9a1ff7355d7a11cbe2b470ac556d7e06b6fbad6654", "section_path": ["变更"], "commit_groups": [], "identity_text": "On Windows, allow the regression tests to be run by an Administrator account (Andrew Dunstan) To do this safely, pg_regress now gives up any such privileges at startup.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/049", "db_id": "9d7ea114afa8473a02bf20907f9f413b", "patch_ids": [], "statement_hash": "518a0f3cfeba75e955026198e57c35b7a6c5b24c57dd5d3897992d477d3f4e4a", "relations": [{"rule": 2, "type": "equivalent", "target": "1d8ee57c6e885f7810b31fad3ae8af64", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "518a0f3cfeba75e955026198e57c35b7a6c5b24c57dd5d3897992d477d3f4e4a"}}, {"rule": 2, "type": "equivalent", "target": "48c2735b63080aaa3f2db59e70d658d4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "518a0f3cfeba75e955026198e57c35b7a6c5b24c57dd5d3897992d477d3f4e4a"}}, {"rule": 2, "type": "equivalent", "target": "e930c125b40f9ac76f19bef307f9d7df", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "518a0f3cfeba75e955026198e57c35b7a6c5b24c57dd5d3897992d477d3f4e4a"}}], "version": "9.6.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "48c2735b63080aaa3f2db59e70d658d4", "kind": "equivalent", "version": "11.1", "label": "11.1", "title": "在 Windows 上，允许使用 Administrator 账户运行回归测试", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "518a0f3cfeba75e955026198e57c35b7a6c5b24c57dd5d3897992d477d3f4e4a"}, "url": "/docs/compare/?release=11.1#11.1-4d189096157461b0", "source_url": "/docs/release/11.1/#id-1.11.6.26.5"}, {"db_id": "1d8ee57c6e885f7810b31fad3ae8af64", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "在 Windows 上，允许使用 Administrator 账户运行回归测试", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "518a0f3cfeba75e955026198e57c35b7a6c5b24c57dd5d3897992d477d3f4e4a"}, "url": "/docs/compare/?release=10.6#10.6-4d189096157461b0", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "e930c125b40f9ac76f19bef307f9d7df", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "在 Windows 上，允许由管理员账户运行回归测试", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "518a0f3cfeba75e955026198e57c35b7a6c5b24c57dd5d3897992d477d3f4e4a"}, "url": "/docs/compare/?release=9.5.15#9.5.15-44146fcc9439c230", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}]}, {"id": "9.6.11-92d935d7fb61d806", "cves": [], "html": "<p>允许 btree 比较函数返回 <code>INT_MIN</code>（Tom Lane）</p>\n<p>到目前为止，我们禁止数据类型相关的比较函数返回 <code>INT_MIN</code>，这允许调用者只需对比较结果取反即可颠倒排序顺序。然而，对于直接返回 <code>memcmp()</code>、<code>strcmp()</code> 等结果的比较函数，这从来都不安全，因为 POSIX 没有对这些函数施加任何此类限制。至少某些最近版本的 <code>memcmp()</code> 可以返回 <code>INT_MIN</code>，导致错误的排序。因此我们移除了这一限制。调用者现在如果想颠倒排序顺序，必须使用 <code>INVERT_COMPARE_RESULT()</code> 宏。</p>", "text": "允许 btree 比较函数返回 INT_MIN（Tom Lane） 到目前为止，我们禁止数据类型相关的比较函数返回 INT_MIN，这允许调用者只需对比较结果取反即可颠倒排序顺序。然而，对于直接返回 memcmp()、strcmp() 等结果的比较函数，这从来都不安全，因为 POSIX 没有对这些函数施加任何此类限制。至少某些最近版本的 memcmp() 可以返回 INT_MIN，导致错误的排序。因此我们移除了这一限制。调用者现在如果想颠倒排序顺序，必须使用 INVERT_COMPARE_RESULT() 宏。", "title": "允许 btree 比较函数返回 INT_MIN", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "b96876486555c6c740aff7a2197d357bbc271047064aa25adcb5f953d97e7d90", "section_path": ["变更"], "commit_groups": [], "identity_text": "Allow btree comparison functions to return INT_MIN (Tom Lane) Up to now, we've forbidden datatype-specific comparison functions from returning INT_MIN, which allows callers to invert the sort order just by negating the comparison result. However, this was never safe for comparison functions that directly return the result of memcmp(), strcmp(), etc, as POSIX doesn't place any such restriction on those functions. At least some recent versions of memcmp() can return INT_MIN, causing incorrect sort ordering. Hence, we've removed this restriction. Callers must now use the INVERT_COMPARE_RESULT() macro if they wish to invert the sort order.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/050", "db_id": "e721b85fd3ec3e8c96c71419d349a7b1", "patch_ids": [], "statement_hash": "55f0dbfe3478cb0c7ce083f82f6906c14e012d2caa7b4004980c4bad46cc2047", "relations": [{"rule": 2, "type": "equivalent", "target": "7fb5f95175c5f3c90f759c5f47055843", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "55f0dbfe3478cb0c7ce083f82f6906c14e012d2caa7b4004980c4bad46cc2047"}}, {"rule": 2, "type": "equivalent", "target": "8eff83b2f1566b57a1f73234e9b78fff", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "55f0dbfe3478cb0c7ce083f82f6906c14e012d2caa7b4004980c4bad46cc2047"}}, {"rule": 2, "type": "equivalent", "target": "af27fe31790f8098ce6152f510209814", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "55f0dbfe3478cb0c7ce083f82f6906c14e012d2caa7b4004980c4bad46cc2047"}}, {"rule": 2, "type": "equivalent", "target": "e4e3b3ff86bf6f48da4cc33e6399237d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "55f0dbfe3478cb0c7ce083f82f6906c14e012d2caa7b4004980c4bad46cc2047"}}], "version": "9.6.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "e4e3b3ff86bf6f48da4cc33e6399237d", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "允许 B-树比较函数返回 INT_MIN", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "55f0dbfe3478cb0c7ce083f82f6906c14e012d2caa7b4004980c4bad46cc2047"}, "url": "/docs/compare/?release=10.6#10.6-24230b1996c307f4", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "8eff83b2f1566b57a1f73234e9b78fff", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "允许 btree 比较函数返回 INT_MIN", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "55f0dbfe3478cb0c7ce083f82f6906c14e012d2caa7b4004980c4bad46cc2047"}, "url": "/docs/compare/?release=9.5.15#9.5.15-92d935d7fb61d806", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}, {"db_id": "7fb5f95175c5f3c90f759c5f47055843", "kind": "equivalent", "version": "9.4.20", "label": "9.4.20", "title": "允许 btree 比较函数返回 INT_MIN", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "55f0dbfe3478cb0c7ce083f82f6906c14e012d2caa7b4004980c4bad46cc2047"}, "url": "/docs/compare/?release=9.4.20#9.4.20-92d935d7fb61d806", "source_url": "/docs/release/9.4.20/#id-1.11.6.11.5"}, {"db_id": "af27fe31790f8098ce6152f510209814", "kind": "equivalent", "version": "9.3.25", "label": "9.3.25", "title": "允许 btree 比较函数返回 INT_MIN", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "55f0dbfe3478cb0c7ce083f82f6906c14e012d2caa7b4004980c4bad46cc2047"}, "url": "/docs/compare/?release=9.3.25#9.3.25-92d935d7fb61d806", "source_url": "/docs/release/9.3.25/#id-1.11.6.5.6"}]}, {"id": "9.6.11-6086643a55b60868", "cves": [], "html": "<p>修复共享失效消息处理中的递归风险（Tom Lane）</p>\n<p>这个错误可能导致例如无法访问刚被 <code>VACUUM FULL</code> 处理过的系统目录或索引。</p>\n<p>这一更改给 <code>LockAcquire</code> 添加了新的结果码，可能影响该函数的外部调用者，尽管只有非常不寻常的使用模式才会有问题。<code>LockAcquireExtended</code> 的 API 也有更改。</p>", "text": "修复共享失效消息处理中的递归风险（Tom Lane） 这个错误可能导致例如无法访问刚被 VACUUM FULL 处理过的系统目录或索引。 这一更改给 LockAcquire 添加了新的结果码，可能影响该函数的外部调用者，尽管只有非常不寻常的使用模式才会有问题。LockAcquireExtended 的 API 也有更改。", "title": "修复共享失效消息处理中的递归风险", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "72b3a3a6c52c804e148baaf7ba174e0296ef3af0999c5a5c469c5264f6b5dd5f", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix recursion hazard in shared-invalidation message processing (Tom Lane) This error could, for example, result in failure to access a system catalog or index that had just been processed by VACUUM FULL. This change adds a new result code for LockAcquire, which might possibly affect external callers of that function, though only very unusual usage patterns would have an issue with it. The API of LockAcquireExtended is also changed.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/051", "db_id": "c56133fc78fb58df573c8cd0c7540419", "patch_ids": [], "statement_hash": "c9d9d7abdc15f7eed7e84c73d30111cd1838a6d72ac6e9d3538618e50c3b13bc", "relations": [{"rule": 2, "type": "equivalent", "target": "41c6eb8ed920731a7a9225bd6e22a295", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c9d9d7abdc15f7eed7e84c73d30111cd1838a6d72ac6e9d3538618e50c3b13bc"}}, {"rule": 2, "type": "equivalent", "target": "c9b74c79b02bbc97804b967a225065ec", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c9d9d7abdc15f7eed7e84c73d30111cd1838a6d72ac6e9d3538618e50c3b13bc"}}, {"rule": 2, "type": "equivalent", "target": "ce3eb3e3cbe6875d7704c40beff1a59f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c9d9d7abdc15f7eed7e84c73d30111cd1838a6d72ac6e9d3538618e50c3b13bc"}}, {"rule": 2, "type": "equivalent", "target": "fef0759f9da7dfa44516c0244bf37682", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c9d9d7abdc15f7eed7e84c73d30111cd1838a6d72ac6e9d3538618e50c3b13bc"}}], "version": "9.6.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "41c6eb8ed920731a7a9225bd6e22a295", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "修复共享失效消息处理中的递归隐患", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c9d9d7abdc15f7eed7e84c73d30111cd1838a6d72ac6e9d3538618e50c3b13bc"}, "url": "/docs/compare/?release=10.6#10.6-726bba65cae50d8c", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "c9b74c79b02bbc97804b967a225065ec", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "修复共享失效消息处理中的递归风险", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c9d9d7abdc15f7eed7e84c73d30111cd1838a6d72ac6e9d3538618e50c3b13bc"}, "url": "/docs/compare/?release=9.5.15#9.5.15-6086643a55b60868", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}, {"db_id": "fef0759f9da7dfa44516c0244bf37682", "kind": "equivalent", "version": "9.4.20", "label": "9.4.20", "title": "修复共享失效消息处理中的递归风险", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c9d9d7abdc15f7eed7e84c73d30111cd1838a6d72ac6e9d3538618e50c3b13bc"}, "url": "/docs/compare/?release=9.4.20#9.4.20-6086643a55b60868", "source_url": "/docs/release/9.4.20/#id-1.11.6.11.5"}, {"db_id": "ce3eb3e3cbe6875d7704c40beff1a59f", "kind": "equivalent", "version": "9.3.25", "label": "9.3.25", "title": "修复共享失效消息处理中的递归风险", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c9d9d7abdc15f7eed7e84c73d30111cd1838a6d72ac6e9d3538618e50c3b13bc"}, "url": "/docs/compare/?release=9.3.25#9.3.25-6086643a55b60868", "source_url": "/docs/release/9.3.25/#id-1.11.6.5.6"}]}, {"id": "9.6.11-13412180186cf72c", "cves": [], "html": "<p>在 <code>SPI_connect()</code> 和 <code>SPI_finish()</code> 期间保存和恢复 SPI 的全局变量（Chapman Flack、Tom Lane）</p>\n<p>这防止一个使用 SPI 的函数调用另一个时可能的干扰。</p>", "text": "在 SPI_connect() 和 SPI_finish() 期间保存和恢复 SPI 的全局变量（Chapman Flack、Tom Lane） 这防止一个使用 SPI 的函数调用另一个时可能的干扰。", "title": "在 SPI_connect() 和 SPI_finish() 期间保存和恢复 SPI 的全局变量", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "90a25299483bba4b048db0c8e397c5d3499ce6803578ea4d8557cbb747a8b418", "section_path": ["变更"], "commit_groups": [], "identity_text": "Save and restore SPI's global variables during SPI_connect() and SPI_finish() (Chapman Flack, Tom Lane) This prevents possible interference when one SPI-using function calls another.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/052", "db_id": "b15507bdf7f083dfffd2c8a24393e9e2", "patch_ids": [], "statement_hash": "dfa388cb02e1bf8fc2fad173ead6a17b3bcabed08ed5fdfff6157d267b94fc49", "relations": [{"rule": 2, "type": "equivalent", "target": "1741421ad76033b83a8df2f6db4fc831", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dfa388cb02e1bf8fc2fad173ead6a17b3bcabed08ed5fdfff6157d267b94fc49"}}, {"rule": 2, "type": "equivalent", "target": "32ca1d4c3097b428c8a26a7f96da295f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dfa388cb02e1bf8fc2fad173ead6a17b3bcabed08ed5fdfff6157d267b94fc49"}}, {"rule": 2, "type": "equivalent", "target": "4404e6d7bf83c17a753ed53c0c66d9df", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dfa388cb02e1bf8fc2fad173ead6a17b3bcabed08ed5fdfff6157d267b94fc49"}}, {"rule": 2, "type": "equivalent", "target": "909a9b96fdef44d7708bdc6ed43afdcd", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dfa388cb02e1bf8fc2fad173ead6a17b3bcabed08ed5fdfff6157d267b94fc49"}}], "version": "9.6.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "4404e6d7bf83c17a753ed53c0c66d9df", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "在 SPI_connect() 和 SPI_finish() 期间保存和恢复 SPI 的全局变量", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dfa388cb02e1bf8fc2fad173ead6a17b3bcabed08ed5fdfff6157d267b94fc49"}, "url": "/docs/compare/?release=10.6#10.6-13412180186cf72c", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "1741421ad76033b83a8df2f6db4fc831", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "在 SPI_connect() 和 SPI_finish() 期间保存和恢复 SPI 的全局变量", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dfa388cb02e1bf8fc2fad173ead6a17b3bcabed08ed5fdfff6157d267b94fc49"}, "url": "/docs/compare/?release=9.5.15#9.5.15-13412180186cf72c", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}, {"db_id": "909a9b96fdef44d7708bdc6ed43afdcd", "kind": "equivalent", "version": "9.4.20", "label": "9.4.20", "title": "在 SPI_connect() 和 SPI_finish() 期间保存和恢复 SPI 的全局变量", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dfa388cb02e1bf8fc2fad173ead6a17b3bcabed08ed5fdfff6157d267b94fc49"}, "url": "/docs/compare/?release=9.4.20#9.4.20-13412180186cf72c", "source_url": "/docs/release/9.4.20/#id-1.11.6.11.5"}, {"db_id": "32ca1d4c3097b428c8a26a7f96da295f", "kind": "equivalent", "version": "9.3.25", "label": "9.3.25", "title": "在 SPI_connect() 和 SPI_finish() 期间保存和恢复 SPI 的全局变量", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dfa388cb02e1bf8fc2fad173ead6a17b3bcabed08ed5fdfff6157d267b94fc49"}, "url": "/docs/compare/?release=9.3.25#9.3.25-13412180186cf72c", "source_url": "/docs/release/9.3.25/#id-1.11.6.5.6"}]}, {"id": "9.6.11-e16422eda84d9d88", "cves": [], "html": "<p>避免使用可能未充分对齐的页缓冲区（Tom Lane）</p>\n<p>发明了新的联合类型 <code>PGAlignedBlock</code> 和 <code>PGAlignedXLogBlock</code>，并用它们代替普通的 char 数组，确保编译器不能把缓冲区放在未对齐的起始地址。这修复了对齐挑剔平台上可能的核心转储，并且即使在允许未对齐的平台上也可能改进性能。</p>", "text": "避免使用可能未充分对齐的页缓冲区（Tom Lane） 发明了新的联合类型 PGAlignedBlock 和 PGAlignedXLogBlock，并用它们代替普通的 char 数组，确保编译器不能把缓冲区放在未对齐的起始地址。这修复了对齐挑剔平台上可能的核心转储，并且即使在允许未对齐的平台上也可能改进性能。", "title": "避免使用可能未充分对齐的页缓冲区", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "45fb626eb726831282fd02d546cce71a668b7bfef1d92bf1ee2d7eb8deb3edfd", "section_path": ["变更"], "commit_groups": [], "identity_text": "Avoid using potentially-under-aligned page buffers (Tom Lane) Invent new union types PGAlignedBlock and PGAlignedXLogBlock, and use these in place of plain char arrays, ensuring that the compiler can't place the buffer at a misaligned start address. This fixes potential core dumps on alignment-picky platforms, and may improve performance even on platforms that allow misalignment.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/053", "db_id": "3af5adb01d53d9e106a766350c8e3b71", "patch_ids": [], "statement_hash": "f75ef90f8b6438e43dc909ec11c08facb8f04297ded0ed029ca120d9001ff5b9", "relations": [{"rule": 2, "type": "equivalent", "target": "4fb9688d5b35426bd83acc468411cf3f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f75ef90f8b6438e43dc909ec11c08facb8f04297ded0ed029ca120d9001ff5b9"}}, {"rule": 2, "type": "equivalent", "target": "50bc1232e116a6b0fcdee1ac73bab4d0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f75ef90f8b6438e43dc909ec11c08facb8f04297ded0ed029ca120d9001ff5b9"}}, {"rule": 2, "type": "equivalent", "target": "856b0933fee42ec1ad1ab1bb62427378", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f75ef90f8b6438e43dc909ec11c08facb8f04297ded0ed029ca120d9001ff5b9"}}, {"rule": 2, "type": "equivalent", "target": "d006649219f6714d586475b794d5cb33", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f75ef90f8b6438e43dc909ec11c08facb8f04297ded0ed029ca120d9001ff5b9"}}], "version": "9.6.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "4fb9688d5b35426bd83acc468411cf3f", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "避免使用可能未充分对齐的页面缓冲区", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f75ef90f8b6438e43dc909ec11c08facb8f04297ded0ed029ca120d9001ff5b9"}, "url": "/docs/compare/?release=10.6#10.6-a8fa54445f3fa41a", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "856b0933fee42ec1ad1ab1bb62427378", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "避免使用可能未充分对齐的页缓冲区", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f75ef90f8b6438e43dc909ec11c08facb8f04297ded0ed029ca120d9001ff5b9"}, "url": "/docs/compare/?release=9.5.15#9.5.15-e16422eda84d9d88", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}, {"db_id": "50bc1232e116a6b0fcdee1ac73bab4d0", "kind": "equivalent", "version": "9.4.20", "label": "9.4.20", "title": "避免使用可能未充分对齐的页缓冲区", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f75ef90f8b6438e43dc909ec11c08facb8f04297ded0ed029ca120d9001ff5b9"}, "url": "/docs/compare/?release=9.4.20#9.4.20-e16422eda84d9d88", "source_url": "/docs/release/9.4.20/#id-1.11.6.11.5"}, {"db_id": "d006649219f6714d586475b794d5cb33", "kind": "equivalent", "version": "9.3.25", "label": "9.3.25", "title": "避免使用可能未充分对齐的页缓冲区", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f75ef90f8b6438e43dc909ec11c08facb8f04297ded0ed029ca120d9001ff5b9"}, "url": "/docs/compare/?release=9.3.25#9.3.25-e16422eda84d9d88", "source_url": "/docs/release/9.3.25/#id-1.11.6.5.6"}]}, {"id": "9.6.11-11de5dcb09ad3c38", "cves": [], "html": "<p>使 <code>src/port/snprintf.c</code> 遵循 C99 标准对 <code>snprintf()</code> 结果值的定义（Tom Lane）</p>\n<p>在使用此代码的平台（主要是 Windows）上，其前 C99 行为可能导致无法检测缓冲区越界（如果调用代码假定 C99 语义）。</p>", "text": "使 src/port/snprintf.c 遵循 C99 标准对 snprintf() 结果值的定义（Tom Lane） 在使用此代码的平台（主要是 Windows）上，其前 C99 行为可能导致无法检测缓冲区越界（如果调用代码假定 C99 语义）。", "title": "使 src/port/snprintf.c 遵循 C99 标准对 snprintf() 结果值的定义", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "3a03db4ffb378df38113fdbce58559878683ef9baff8ab3cb19b8e7d151a915b", "section_path": ["变更"], "commit_groups": [], "identity_text": "Make src/port/snprintf.c follow the C99 standard's definition of snprintf()'s result value (Tom Lane) On platforms where this code is used (mostly Windows), its pre-C99 behavior could lead to failure to detect buffer overrun, if the calling code assumed C99 semantics.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/054", "db_id": "ce14f0187d2f92cc92f103d99e198a93", "patch_ids": [], "statement_hash": "0695e8cfb72404346f601621781d7b54654107c3a3d790c534e0e10e8b9f5f75", "relations": [{"rule": 2, "type": "equivalent", "target": "4d3a572ba7186e94819188bc83fb5aef", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0695e8cfb72404346f601621781d7b54654107c3a3d790c534e0e10e8b9f5f75"}}, {"rule": 2, "type": "equivalent", "target": "8c0fc4495c1ea6bcfe1bb933159edeb0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0695e8cfb72404346f601621781d7b54654107c3a3d790c534e0e10e8b9f5f75"}}, {"rule": 2, "type": "equivalent", "target": "ee1aa267d75e8a262348cb5183b47807", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0695e8cfb72404346f601621781d7b54654107c3a3d790c534e0e10e8b9f5f75"}}, {"rule": 2, "type": "equivalent", "target": "fcc28d666da43138e72f845ef3bc85a2", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0695e8cfb72404346f601621781d7b54654107c3a3d790c534e0e10e8b9f5f75"}}], "version": "9.6.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "4d3a572ba7186e94819188bc83fb5aef", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "使 src/port/snprintf.c 遵循 C99 标准对 snprintf() 返回值的定义", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0695e8cfb72404346f601621781d7b54654107c3a3d790c534e0e10e8b9f5f75"}, "url": "/docs/compare/?release=10.6#10.6-0573fb238cc58680", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "8c0fc4495c1ea6bcfe1bb933159edeb0", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "使 src/port/snprintf.c 遵循 C99 标准对 snprintf() 结果值的定义", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0695e8cfb72404346f601621781d7b54654107c3a3d790c534e0e10e8b9f5f75"}, "url": "/docs/compare/?release=9.5.15#9.5.15-11de5dcb09ad3c38", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}, {"db_id": "fcc28d666da43138e72f845ef3bc85a2", "kind": "equivalent", "version": "9.4.20", "label": "9.4.20", "title": "使 src/port/snprintf.c 遵循 C99 标准对 snprintf() 结果值的定义", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0695e8cfb72404346f601621781d7b54654107c3a3d790c534e0e10e8b9f5f75"}, "url": "/docs/compare/?release=9.4.20#9.4.20-11de5dcb09ad3c38", "source_url": "/docs/release/9.4.20/#id-1.11.6.11.5"}, {"db_id": "ee1aa267d75e8a262348cb5183b47807", "kind": "equivalent", "version": "9.3.25", "label": "9.3.25", "title": "使 src/port/snprintf.c 遵循 C99 标准对 snprintf() 结果值的定义", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0695e8cfb72404346f601621781d7b54654107c3a3d790c534e0e10e8b9f5f75"}, "url": "/docs/compare/?release=9.3.25#9.3.25-11de5dcb09ad3c38", "source_url": "/docs/release/9.3.25/#id-1.11.6.5.6"}]}, {"id": "9.6.11-0513b03bb8364885", "cves": [], "html": "<p>在 i386 上用 <span>clang</span> 编译器构建时，要求使用 <code>-msse2</code>（Andres Freund）</p>\n<p>这避免了浮点溢出检查遗漏的问题。</p>", "text": "在 i386 上用 clang 编译器构建时，要求使用 -msse2（Andres Freund） 这避免了浮点溢出检查遗漏的问题。", "title": "在 i386 上用 clang 编译器构建时，要求使用 -msse2", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "372b73872babf349d9e46467b30961c42d4342c5dda20be66df66b59b493520f", "section_path": ["变更"], "commit_groups": [], "identity_text": "When building on i386 with the clang compiler, require -msse2 to be used (Andres Freund) This avoids problems with missed floating point overflow checks.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/055", "db_id": "a4ee1656f5876a96ab0e22565283cb31", "patch_ids": [], "statement_hash": "1afe2fe8a7cc7924a95fb8c7758224c1167e600b4c6f7e10c1518574d96fdb3e", "relations": [{"rule": 2, "type": "equivalent", "target": "07cc8f1b692b4d797a56a75add6067d1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1afe2fe8a7cc7924a95fb8c7758224c1167e600b4c6f7e10c1518574d96fdb3e"}}, {"rule": 2, "type": "equivalent", "target": "223d34ed4f94b576c70ad07a0b9cd632", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1afe2fe8a7cc7924a95fb8c7758224c1167e600b4c6f7e10c1518574d96fdb3e"}}, {"rule": 2, "type": "equivalent", "target": "825126e8f9c72dc4d669fd0e90f9b04c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1afe2fe8a7cc7924a95fb8c7758224c1167e600b4c6f7e10c1518574d96fdb3e"}}, {"rule": 2, "type": "equivalent", "target": "e43ea8133103c7861ef5d5e20c4c4227", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1afe2fe8a7cc7924a95fb8c7758224c1167e600b4c6f7e10c1518574d96fdb3e"}}], "version": "9.6.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "07cc8f1b692b4d797a56a75add6067d1", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "在 i386 上使用 clang 编译器构建时，要求使用 -msse2", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1afe2fe8a7cc7924a95fb8c7758224c1167e600b4c6f7e10c1518574d96fdb3e"}, "url": "/docs/compare/?release=10.6#10.6-603ec55b3c77392f", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "825126e8f9c72dc4d669fd0e90f9b04c", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "在 i386 上用 clang 编译器构建时，要求使用 -msse2", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1afe2fe8a7cc7924a95fb8c7758224c1167e600b4c6f7e10c1518574d96fdb3e"}, "url": "/docs/compare/?release=9.5.15#9.5.15-0513b03bb8364885", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}, {"db_id": "e43ea8133103c7861ef5d5e20c4c4227", "kind": "equivalent", "version": "9.4.20", "label": "9.4.20", "title": "在 i386 上用 clang 编译器构建时，要求使用 -msse2", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1afe2fe8a7cc7924a95fb8c7758224c1167e600b4c6f7e10c1518574d96fdb3e"}, "url": "/docs/compare/?release=9.4.20#9.4.20-0513b03bb8364885", "source_url": "/docs/release/9.4.20/#id-1.11.6.11.5"}, {"db_id": "223d34ed4f94b576c70ad07a0b9cd632", "kind": "equivalent", "version": "9.3.25", "label": "9.3.25", "title": "在 i386 上用 clang 编译器构建时，要求使用 -msse2", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1afe2fe8a7cc7924a95fb8c7758224c1167e600b4c6f7e10c1518574d96fdb3e"}, "url": "/docs/compare/?release=9.3.25#9.3.25-0513b03bb8364885", "source_url": "/docs/release/9.3.25/#id-1.11.6.5.6"}]}, {"id": "9.6.11-170f645ba2d1d98b", "cves": [], "html": "<p>修复 <span>configure</span> 对 <code>strerror_r()</code> 结果类型的检测（Tom Lane）</p>\n<p>原来的编码在 Linux 上用 <span>icc</span> 构建时（或许其他情况下）得到错误答案，导致 <span>libpq</span> 不能为系统报告的错误返回有用的错误消息。</p>", "text": "修复 configure 对 strerror_r() 结果类型的检测（Tom Lane） 原来的编码在 Linux 上用 icc 构建时（或许其他情况下）得到错误答案，导致 libpq 不能为系统报告的错误返回有用的错误消息。", "title": "修复 configure 对 strerror_r() 结果类型的检测", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "9ef3ff0fbea4bdbea1603e382c0f1f37f029d2e6901fcc8fd50b4ef2fe4871dd", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix configure's detection of the result type of strerror_r() (Tom Lane) The previous coding got the wrong answer when building with icc on Linux (and perhaps in other cases), leading to libpq not returning useful error messages for system-reported errors.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/056", "db_id": "2b823af4119ebd4505e430c5e0256e21", "patch_ids": [], "statement_hash": "b85aeb6d631f84aeac6821184fffd79a23a99e2eb030b7dd9f73d48d4f27f455", "relations": [{"rule": 2, "type": "equivalent", "target": "a46737c0a40549278dd0b372abd19182", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b85aeb6d631f84aeac6821184fffd79a23a99e2eb030b7dd9f73d48d4f27f455"}}, {"rule": 2, "type": "equivalent", "target": "b3dd06f7a91fe0e83411979e94cfcba9", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b85aeb6d631f84aeac6821184fffd79a23a99e2eb030b7dd9f73d48d4f27f455"}}, {"rule": 2, "type": "equivalent", "target": "e209fa8bb23bf519ca9757776263796c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b85aeb6d631f84aeac6821184fffd79a23a99e2eb030b7dd9f73d48d4f27f455"}}, {"rule": 2, "type": "equivalent", "target": "e90051308cbdd93126518f06f9ce7362", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b85aeb6d631f84aeac6821184fffd79a23a99e2eb030b7dd9f73d48d4f27f455"}}], "version": "9.6.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "a46737c0a40549278dd0b372abd19182", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "修复 configure 对 strerror_r() 返回类型的检测", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b85aeb6d631f84aeac6821184fffd79a23a99e2eb030b7dd9f73d48d4f27f455"}, "url": "/docs/compare/?release=10.6#10.6-abeda0f420daf58f", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "e90051308cbdd93126518f06f9ce7362", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "修复 configure 对 strerror_r() 结果类型的检测", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b85aeb6d631f84aeac6821184fffd79a23a99e2eb030b7dd9f73d48d4f27f455"}, "url": "/docs/compare/?release=9.5.15#9.5.15-170f645ba2d1d98b", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}, {"db_id": "b3dd06f7a91fe0e83411979e94cfcba9", "kind": "equivalent", "version": "9.4.20", "label": "9.4.20", "title": "修复 configure 对 strerror_r() 结果类型的检测", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b85aeb6d631f84aeac6821184fffd79a23a99e2eb030b7dd9f73d48d4f27f455"}, "url": "/docs/compare/?release=9.4.20#9.4.20-170f645ba2d1d98b", "source_url": "/docs/release/9.4.20/#id-1.11.6.11.5"}, {"db_id": "e209fa8bb23bf519ca9757776263796c", "kind": "equivalent", "version": "9.3.25", "label": "9.3.25", "title": "修复 configure 对 strerror_r() 结果类型的检测", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b85aeb6d631f84aeac6821184fffd79a23a99e2eb030b7dd9f73d48d4f27f455"}, "url": "/docs/compare/?release=9.3.25#9.3.25-170f645ba2d1d98b", "source_url": "/docs/release/9.3.25/#id-1.11.6.5.6"}]}, {"id": "9.6.11-4239e7a753d90202", "cves": [], "html": "<p>更新时区数据文件到 <span>tzdata</span> 版本 2018g，涉及智利、斐济、摩洛哥和俄罗斯（伏尔加格勒）的夏令时法规变更，以及中国、夏威夷、日本、澳门和朝鲜的历史修正。</p>", "text": "更新时区数据文件到 tzdata 版本 2018g，涉及智利、斐济、摩洛哥和俄罗斯（伏尔加格勒）的夏令时法规变更，以及中国、夏威夷、日本、澳门和朝鲜的历史修正。", "title": "更新时区数据文件到 tzdata 版本 2018g，涉及智利、斐济、摩洛哥和俄罗斯（伏尔加格勒）的夏令时法规变更，以及中国、夏威夷、日本、澳门和朝鲜的历史修正。", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.11/#id-1.11.6.18.5", "source_hash": "efb4746232164fd50623648f29d489c41591b2aba28ebb175eeca37539fd2620", "section_path": ["变更"], "commit_groups": [], "identity_text": "Update time zone data files to tzdata release 2018g for DST law changes in Chile, Fiji, Morocco, and Russia (Volgograd), plus historical corrections for China, Hawaii, Japan, Macau, and North Korea.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.6.11/changes/057", "db_id": "bd23f638637439f7790fcb58590eeb8e", "patch_ids": [], "statement_hash": "a9e19090b9bf091c1bb68a6566aa3e98703adba98349ffe3420350e144cbba5f", "relations": [{"rule": 2, "type": "equivalent", "target": "3a47d92908a2a93e22bf9701d1a2d0fb", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a9e19090b9bf091c1bb68a6566aa3e98703adba98349ffe3420350e144cbba5f"}}, {"rule": 2, "type": "equivalent", "target": "46b29725b96825b29e06a3f184f945fc", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a9e19090b9bf091c1bb68a6566aa3e98703adba98349ffe3420350e144cbba5f"}}, {"rule": 2, "type": "equivalent", "target": "75ae186c775b3d34ee7e5623ad582135", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a9e19090b9bf091c1bb68a6566aa3e98703adba98349ffe3420350e144cbba5f"}}, {"rule": 2, "type": "equivalent", "target": "a9dda89f62e87a28c9cc3df0363e971d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a9e19090b9bf091c1bb68a6566aa3e98703adba98349ffe3420350e144cbba5f"}}, {"rule": 2, "type": "equivalent", "target": "ec1af20fff76afd67ff7d1ea4783a255", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a9e19090b9bf091c1bb68a6566aa3e98703adba98349ffe3420350e144cbba5f"}}], "version": "9.6.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "ec1af20fff76afd67ff7d1ea4783a255", "kind": "equivalent", "version": "11.1", "label": "11.1", "title": "将时区数据文件更新到 tzdata 2018g 版，以反映智利、斐济、摩洛哥和俄罗斯（伏尔加格勒）的夏令时法规变更，并修正中国、夏威夷、日本、澳门和朝鲜的历史数据。", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a9e19090b9bf091c1bb68a6566aa3e98703adba98349ffe3420350e144cbba5f"}, "url": "/docs/compare/?release=11.1#11.1-a976c1cc861f3265", "source_url": "/docs/release/11.1/#id-1.11.6.26.5"}, {"db_id": "a9dda89f62e87a28c9cc3df0363e971d", "kind": "equivalent", "version": "10.6", "label": "10.6", "title": "将时区数据文件更新到 tzdata 2018g 版，以反映智利、斐济、摩洛哥和俄罗斯（伏尔加格勒）的夏令时法规变更，并修正中国、夏威夷、日本、澳门和朝鲜的历史数据。", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a9e19090b9bf091c1bb68a6566aa3e98703adba98349ffe3420350e144cbba5f"}, "url": "/docs/compare/?release=10.6#10.6-a976c1cc861f3265", "source_url": "/docs/release/10.6/#id-1.11.6.22.5"}, {"db_id": "3a47d92908a2a93e22bf9701d1a2d0fb", "kind": "equivalent", "version": "9.5.15", "label": "9.5.15", "title": "更新时区数据文件到 tzdata 版本 2018g，涉及智利、斐济、摩洛哥和俄罗斯（伏尔加格勒）的夏令时法规变更，以及中国、夏威夷、日本、澳门和朝鲜的历史修正。", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a9e19090b9bf091c1bb68a6566aa3e98703adba98349ffe3420350e144cbba5f"}, "url": "/docs/compare/?release=9.5.15#9.5.15-4239e7a753d90202", "source_url": "/docs/release/9.5.15/#id-1.11.6.15.5"}, {"db_id": "46b29725b96825b29e06a3f184f945fc", "kind": "equivalent", "version": "9.4.20", "label": "9.4.20", "title": "更新时区数据文件到 tzdata 版本 2018g，涉及智利、斐济、摩洛哥和俄罗斯（伏尔加格勒）的夏令时法规变更，以及中国、夏威夷、日本、澳门和朝鲜的历史修正。", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a9e19090b9bf091c1bb68a6566aa3e98703adba98349ffe3420350e144cbba5f"}, "url": "/docs/compare/?release=9.4.20#9.4.20-4239e7a753d90202", "source_url": "/docs/release/9.4.20/#id-1.11.6.11.5"}, {"db_id": "75ae186c775b3d34ee7e5623ad582135", "kind": "equivalent", "version": "9.3.25", "label": "9.3.25", "title": "更新时区数据文件到 tzdata 版本 2018g，涉及智利、斐济、摩洛哥和俄罗斯（伏尔加格勒）的夏令时法规变更，以及中国、夏威夷、日本、澳门和朝鲜的历史修正。", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a9e19090b9bf091c1bb68a6566aa3e98703adba98349ffe3420350e144cbba5f"}, "url": "/docs/compare/?release=9.3.25#9.3.25-4239e7a753d90202", "source_url": "/docs/release/9.3.25/#id-1.11.6.5.6"}]}]}], "stats": [{"key": "all", "label": "全部变更", "count": 57}, {"key": "feature", "label": "新功能", "count": 0}, {"key": "bugfix", "label": "BUG 修复", "count": 27}, {"key": "security", "label": "安全相关", "count": 0}, {"key": "performance", "label": "性能改进", "count": 0}, {"key": "compatibility", "label": "兼容性变化", "count": 0}, {"key": "improvement", "label": "其他改进", "count": 30}], "total": 57, "release_count": 1, "cross_major": false, "cve_count": 0, "cves": [], "cve_available": true, "remaining_cves": [], "security_regressions": [], "warnings": [], "candidate_count": 57, "already_in_source_count": 0, "duplicate_count": 0, "excluded_count": 0, "exclusions": [], "source_as_of": "2026-09-26", "security_as_of": "2026-09-26"}