{"format": 1, "mode": "release", "from_release": null, "to_release": {"date": "2021-05-13", "build": "9.6.22", "major": "9.6", "minor": 22, "manual": "9.6", "status": "stable", "doc_git": "", "version": "9.6.22", "eol_date": "2021-11-11", "date_text": "2021-05-13", "supported": false, "manual_url": "/docs/9.6/release-9-6-22.html", "source_url": "/docs/release/9.6.22/", "entry_count": 23, "placeholder": false, "content_hash": "937417804edc6ee4a267b54225fbac7df62ea929cf96a977c8be3fdcb998b45d", "manual_build": "9.6.24", "source_as_of": "", "changes_count": 23, "doc_loaded_at": "2026-09-26T02:56:43.973460", "migration_html": "<p>对于运行 9.6.X 的用户，不需要转储/恢复。</p>\n<p>不过，如果你是从 9.6.21 之前的版本升级，参见<a href=\"/docs/9.6/release-9-6-21.html\" title=\"E.4. 版本 9.6.21\">第 E.4 节</a>。</p>", "compatibility_count": 0, "label": "9.6.22", "status_label": "历史版本", "eol": "2021-11-11", "age_days": 1966, "support_days": -1784}, "groups": [{"date": "2021-05-13", "build": "9.6.22", "major": "9.6", "minor": 22, "manual": "9.6", "status": "stable", "doc_git": "", "version": "9.6.22", "eol_date": "2021-11-11", "date_text": "2021-05-13", "supported": false, "manual_url": "/docs/9.6/release-9-6-22.html", "source_url": "/docs/release/9.6.22/", "entry_count": 23, "placeholder": false, "content_hash": "937417804edc6ee4a267b54225fbac7df62ea929cf96a977c8be3fdcb998b45d", "manual_build": "9.6.24", "source_as_of": "", "changes_count": 23, "doc_loaded_at": "2026-09-26T02:56:43.973460", "migration_html": "<p>对于运行 9.6.X 的用户，不需要转储/恢复。</p>\n<p>不过，如果你是从 9.6.21 之前的版本升级，参见<a href=\"/docs/9.6/release-9-6-21.html\" title=\"E.4. 版本 9.6.21\">第 E.4 节</a>。</p>", "compatibility_count": 0, "label": "9.6.22", "status_label": "历史版本", "eol": "2021-11-11", "age_days": 1966, "support_days": -1784, "entries": [{"id": "9.6.22-b9c1a3a97eb4a245", "cves": ["CVE-2021-32027"], "html": "<p>防止数组下标计算中的整数溢出（Tom Lane）</p>\n<p>数组代码此前不会对数组下界加长度发生整数溢出的情况报错。这导致数组中靠后的条目变得不可访问（因为它们的下标无法写成整数），但更重要的是它干扰了后续的赋值操作。这可能导致内存覆写，随之而来的是崩溃或不希望的数据修改。（CVE-2021-32027）</p>", "text": "防止数组下标计算中的整数溢出（Tom Lane） 数组代码此前不会对数组下界加长度发生整数溢出的情况报错。这导致数组中靠后的条目变得不可访问（因为它们的下标无法写成整数），但更重要的是它干扰了后续的赋值操作。这可能导致内存覆写，随之而来的是崩溃或不希望的数据修改。（CVE-2021-32027）", "title": "防止数组下标计算中的整数溢出", "commits": [], "section": "变更", "category": "security", "source_url": "/docs/release/9.6.22/#id-1.11.6.7.6", "source_hash": "856557dd7828c99ca88ed449e53b4cefaf960e88ffa5ec39824ad8b1e8271fd4", "section_path": ["变更"], "commit_groups": [["06bfbe854", "0c1caa48d", "2fb809d3e", "3b0f6a7ae", "467395bfd", "f02b9085a"]], "identity_text": "Prevent integer overflows in array subscripting calculations (Tom Lane) The array code previously did not complain about cases where an array's lower bound plus length overflows an integer. This resulted in later entries in the array becoming inaccessible (since their subscripts could not be written as integers), but more importantly it confused subsequent assignment operations. This could lead to memory overwrites, with ensuing crashes or unwanted data modifications. (CVE-2021-32027)", "commit_aliases": ["06bfbe854", "0c1caa48d", "2fb809d3e", "3b0f6a7ae", "467395bfd", "f02b9085a"], "source_commits": ["0c1caa48d"], "source_entry_id": "9.6.22/changes/001", "db_id": "4666021688be3025a677f523ae0c8c60", "patch_ids": ["db73052be15292b3bf2d6ac73b599dd7"], "statement_hash": "2e3bb88aaeea703978a5aa4c1677d3c53de4a1c353484fd9ba322845c504673e", "relations": [{"rule": 2, "type": "equivalent", "target": "585fcef5c692b598ea6a152292683b72", "evidence": {"same_day": true, "patch_ids": ["db73052be15292b3bf2d6ac73b599dd7"], "statement_hash": "2e3bb88aaeea703978a5aa4c1677d3c53de4a1c353484fd9ba322845c504673e"}}, {"rule": 2, "type": "equivalent", "target": "7319e67c7fec827a36de6818c38d93d2", "evidence": {"same_day": true, "patch_ids": ["db73052be15292b3bf2d6ac73b599dd7"], "statement_hash": "2e3bb88aaeea703978a5aa4c1677d3c53de4a1c353484fd9ba322845c504673e"}}, {"rule": 2, "type": "equivalent", "target": "c8963e580f988547350ccc8ce6625481", "evidence": {"same_day": true, "patch_ids": ["db73052be15292b3bf2d6ac73b599dd7"], "statement_hash": "2e3bb88aaeea703978a5aa4c1677d3c53de4a1c353484fd9ba322845c504673e"}}, {"rule": 2, "type": "equivalent", "target": "e4fdf746e5ec58e73f25f64763b1d119", "evidence": {"same_day": true, "patch_ids": ["db73052be15292b3bf2d6ac73b599dd7"], "statement_hash": "2e3bb88aaeea703978a5aa4c1677d3c53de4a1c353484fd9ba322845c504673e"}}], "version": "9.6.22", "category_label": "安全相关", "also_in": [], "variants": [], "related_changes": [{"db_id": "c8963e580f988547350ccc8ce6625481", "kind": "equivalent", "version": "13.3", "label": "13.3", "title": "防止数组下标计算中的整数溢出", "evidence": {"same_day": true, "patch_ids": ["db73052be15292b3bf2d6ac73b599dd7"], "statement_hash": "2e3bb88aaeea703978a5aa4c1677d3c53de4a1c353484fd9ba322845c504673e"}, "url": "/docs/compare/?release=13.3#13.3-662fbe650093c58f", "source_url": "/docs/release/13.3/#id-1.11.6.26.5"}, {"db_id": "e4fdf746e5ec58e73f25f64763b1d119", "kind": "equivalent", "version": "12.7", "label": "12.7", "title": "防止数组下标计算中的整数溢出", "evidence": {"same_day": true, "patch_ids": ["db73052be15292b3bf2d6ac73b599dd7"], "statement_hash": "2e3bb88aaeea703978a5aa4c1677d3c53de4a1c353484fd9ba322845c504673e"}, "url": "/docs/compare/?release=12.7#12.7-ac73d078ce65a7fd", "source_url": "/docs/release/12.7/#id-1.11.6.21.5"}, {"db_id": "7319e67c7fec827a36de6818c38d93d2", "kind": "equivalent", "version": "11.12", "label": "11.12", "title": "防止数组下标计算中的整数溢出", "evidence": {"same_day": true, "patch_ids": ["db73052be15292b3bf2d6ac73b599dd7"], "statement_hash": "2e3bb88aaeea703978a5aa4c1677d3c53de4a1c353484fd9ba322845c504673e"}, "url": "/docs/compare/?release=11.12#11.12-b9c1a3a97eb4a245", "source_url": "/docs/release/11.12/#id-1.11.6.15.5"}, {"db_id": "585fcef5c692b598ea6a152292683b72", "kind": "equivalent", "version": "10.17", "label": "10.17", "title": "防止数组下标计算中的整数溢出", "evidence": {"same_day": true, "patch_ids": ["db73052be15292b3bf2d6ac73b599dd7"], "statement_hash": "2e3bb88aaeea703978a5aa4c1677d3c53de4a1c353484fd9ba322845c504673e"}, "url": "/docs/compare/?release=10.17#10.17-b9c1a3a97eb4a245", "source_url": "/docs/release/10.17/#id-1.11.6.11.5"}]}, {"id": "9.6.22-98b39e1ef9c989a0", "cves": ["CVE-2021-32028"], "html": "<p>修复 <code>INSERT ... ON CONFLICT ... UPDATE</code> 目标列表中<span>“<span>垃圾</span>”</span>列的处理不当（Tom Lane）</p>\n<p>如果 <code>UPDATE</code> 列表包含多列子选择（它们除了正常结果之外还会产生垃圾列），<code>UPDATE</code> 路径最终会存储包含这些额外垃圾列值的元组。短期内这相当无害，但如果以后向表中添加新列，这些值就会变得可访问，若与所添加列的数据类型不匹配，可能导致故障。</p>\n<p>此外，在支持跨分区更新的版本中，这种情况触发的跨分区更新有相反的问题：垃圾列被从目标列表中移除，通常因多列子选择机制故障导致立即崩溃。（CVE-2021-32028）</p>", "text": "修复 INSERT ... ON CONFLICT ... UPDATE 目标列表中“垃圾”列的处理不当（Tom Lane） 如果 UPDATE 列表包含多列子选择（它们除了正常结果之外还会产生垃圾列），UPDATE 路径最终会存储包含这些额外垃圾列值的元组。短期内这相当无害，但如果以后向表中添加新列，这些值就会变得可访问，若与所添加列的数据类型不匹配，可能导致故障。 此外，在支持跨分区更新的版本中，这种情况触发的跨分区更新有相反的问题：垃圾列被从目标列表中移除，通常因多列子选择机制故障导致立即崩溃。（CVE-2021-32028）", "title": "修复 INSERT ... ON CONFLICT ... UPDATE 目标列表中“垃圾”列的处理不当", "commits": [], "section": "变更", "category": "security", "source_url": "/docs/release/9.6.22/#id-1.11.6.7.6", "source_hash": "557f22304fdf2782c903d32f2aa29bbe025ec1a75b712a9910cff0f358d2be5f", "section_path": ["变更"], "commit_groups": [["049e1e2ed", "0fcb8e2e0", "4a8656a7e", "52a441362", "a5fa3e067", "b7d1f32ff"]], "identity_text": "Fix mishandling of junk columns in INSERT ... ON CONFLICT ... UPDATE target lists (Tom Lane) If the UPDATE list contains any multi-column sub-selects (which give rise to junk columns in addition to the results proper), the UPDATE path would end up storing tuples that include the values of the extra junk columns. That's fairly harmless in the short run, but if new columns are added to the table then the values would become accessible, possibly leading to malfunctions if they don't match the datatypes of the added columns. In addition, in versions supporting cross-partition updates, a cross-partition update triggered by such a case had the reverse problem: the junk columns were removed from the target list, typically causing an immediate crash due to malfunction of the multi-column sub-select mechanism. (CVE-2021-32028)", "commit_aliases": ["049e1e2ed", "0fcb8e2e0", "4a8656a7e", "52a441362", "a5fa3e067", "b7d1f32ff"], "source_commits": ["0fcb8e2e0"], "source_entry_id": "9.6.22/changes/002", "db_id": "3f2c9193965eda4138ae7d054f8f1a9b", "patch_ids": ["ff3ef8c324c71352daad6839c64249d5"], "statement_hash": "7fb50e1e3c1cec9533ac76989dbe129a78800d8c1fe809989eb31f396296edfe", "relations": [{"rule": 2, "type": "equivalent", "target": "2ee7e4bc11ce6a07ec695882d5d4830d", "evidence": {"same_day": true, "patch_ids": ["ff3ef8c324c71352daad6839c64249d5"], "statement_hash": "7fb50e1e3c1cec9533ac76989dbe129a78800d8c1fe809989eb31f396296edfe"}}, {"rule": 2, "type": "equivalent", "target": "402ddf1823a78b25bc4bae8aa78148a5", "evidence": {"same_day": true, "patch_ids": ["ff3ef8c324c71352daad6839c64249d5"], "statement_hash": "7fb50e1e3c1cec9533ac76989dbe129a78800d8c1fe809989eb31f396296edfe"}}, {"rule": 2, "type": "equivalent", "target": "cfea65ca9d40576b1d0602eaccf39e2a", "evidence": {"same_day": true, "patch_ids": ["ff3ef8c324c71352daad6839c64249d5"], "statement_hash": "7fb50e1e3c1cec9533ac76989dbe129a78800d8c1fe809989eb31f396296edfe"}}, {"rule": 2, "type": "equivalent", "target": "d7b2c329c0c08a8f6a79de7573c441e0", "evidence": {"same_day": true, "patch_ids": ["ff3ef8c324c71352daad6839c64249d5"], "statement_hash": "7fb50e1e3c1cec9533ac76989dbe129a78800d8c1fe809989eb31f396296edfe"}}], "version": "9.6.22", "category_label": "安全相关", "also_in": [], "variants": [], "related_changes": [{"db_id": "cfea65ca9d40576b1d0602eaccf39e2a", "kind": "equivalent", "version": "13.3", "label": "13.3", "title": "修复 INSERT ... ON CONFLICT ... UPDATE 目标列表中对 “junk” 列的错误处理", "evidence": {"same_day": true, "patch_ids": ["ff3ef8c324c71352daad6839c64249d5"], "statement_hash": "7fb50e1e3c1cec9533ac76989dbe129a78800d8c1fe809989eb31f396296edfe"}, "url": "/docs/compare/?release=13.3#13.3-0f677eeae1faab2b", "source_url": "/docs/release/13.3/#id-1.11.6.26.5"}, {"db_id": "d7b2c329c0c08a8f6a79de7573c441e0", "kind": "equivalent", "version": "12.7", "label": "12.7", "title": "修复 INSERT ... ON CONFLICT ... UPDATE 目标列表中对 “junk” 列的错误处理", "evidence": {"same_day": true, "patch_ids": ["ff3ef8c324c71352daad6839c64249d5"], "statement_hash": "7fb50e1e3c1cec9533ac76989dbe129a78800d8c1fe809989eb31f396296edfe"}, "url": "/docs/compare/?release=12.7#12.7-99371ae3858378c5", "source_url": "/docs/release/12.7/#id-1.11.6.21.5"}, {"db_id": "402ddf1823a78b25bc4bae8aa78148a5", "kind": "equivalent", "version": "11.12", "label": "11.12", "title": "修复 INSERT ... ON CONFLICT ... UPDATE 目标列表中对 “junk” 列的错误处理", "evidence": {"same_day": true, "patch_ids": ["ff3ef8c324c71352daad6839c64249d5"], "statement_hash": "7fb50e1e3c1cec9533ac76989dbe129a78800d8c1fe809989eb31f396296edfe"}, "url": "/docs/compare/?release=11.12#11.12-e7be457a4c664006", "source_url": "/docs/release/11.12/#id-1.11.6.15.5"}, {"db_id": "2ee7e4bc11ce6a07ec695882d5d4830d", "kind": "equivalent", "version": "10.17", "label": "10.17", "title": "修复 INSERT ... ON CONFLICT ... UPDATE 目标列表中对 “junk” 列的错误处理", "evidence": {"same_day": true, "patch_ids": ["ff3ef8c324c71352daad6839c64249d5"], "statement_hash": "7fb50e1e3c1cec9533ac76989dbe129a78800d8c1fe809989eb31f396296edfe"}, "url": "/docs/compare/?release=10.17#10.17-e7be457a4c664006", "source_url": "/docs/release/10.17/#id-1.11.6.11.5"}]}, {"id": "9.6.22-3abda7d90ef80e1f", "cves": [], "html": "<p>允许 <code>ALTER ROLE/DATABASE ... SET</code> 设置 <code>role</code>、<code>session_authorization</code> 和 <code>temp_buffers</code> 参数（Tom Lane）</p>\n<p>此前，过于严格的合法性检查可能拒绝这些命令，即使这些值在之后使用时本可正常工作。这给转储/恢复和升级场景带来了命令顺序隐患。</p>", "text": "允许 ALTER ROLE/DATABASE ... SET 设置 role、session_authorization 和 temp_buffers 参数（Tom Lane） 此前，过于严格的合法性检查可能拒绝这些命令，即使这些值在之后使用时本可正常工作。这给转储/恢复和升级场景带来了命令顺序隐患。", "title": "允许 ALTER ROLE/DATABASE ... SET 设置 role、session_authorization 和 temp_buffers 参数", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.22/#id-1.11.6.7.6", "source_hash": "08a7e3d89107d8716d9aa3ee490079e967cd5f0e47cd354616234d9e64da6116", "section_path": ["变更"], "commit_groups": [["041f4efd2", "46b6635b7", "69d5ca484", "a7fcb6285", "c39aa1e87", "c7f0275fb"]], "identity_text": "Allow ALTER ROLE/DATABASE ... SET to set the role, session_authorization, and temp_buffers parameters (Tom Lane) Previously, over-eager validity checks might reject these commands, even if the values would have worked when used later. This created a command ordering hazard for dump/reload and upgrade scenarios.", "commit_aliases": ["041f4efd2", "46b6635b7", "69d5ca484", "a7fcb6285", "c39aa1e87", "c7f0275fb"], "source_commits": ["041f4efd2"], "source_entry_id": "9.6.22/changes/003", "db_id": "043ff6cd519d8bec7a87d4f43ead62c5", "patch_ids": ["8ae2e83a5d291ced86d998b1ab7eee63"], "statement_hash": "b7f97fb8d75c806f24e4d3e965f7f5ca6fdcac93de0c9165a1ef89a5462795e3", "relations": [{"rule": 2, "type": "equivalent", "target": "c3314c5d1c83f2209c3e6d3b60ed537c", "evidence": {"same_day": true, "patch_ids": ["8ae2e83a5d291ced86d998b1ab7eee63"], "statement_hash": "b7f97fb8d75c806f24e4d3e965f7f5ca6fdcac93de0c9165a1ef89a5462795e3"}}, {"rule": 2, "type": "equivalent", "target": "d0451410730607800b5df7d2e7948715", "evidence": {"same_day": true, "patch_ids": ["8ae2e83a5d291ced86d998b1ab7eee63"], "statement_hash": "b7f97fb8d75c806f24e4d3e965f7f5ca6fdcac93de0c9165a1ef89a5462795e3"}}, {"rule": 2, "type": "equivalent", "target": "d86c969ac905b3cd2d03d2be6b46b1ae", "evidence": {"same_day": true, "patch_ids": ["8ae2e83a5d291ced86d998b1ab7eee63"], "statement_hash": "b7f97fb8d75c806f24e4d3e965f7f5ca6fdcac93de0c9165a1ef89a5462795e3"}}, {"rule": 2, "type": "equivalent", "target": "e97862062ce0ecf8f4295eda9e69b3e7", "evidence": {"same_day": true, "patch_ids": ["8ae2e83a5d291ced86d998b1ab7eee63"], "statement_hash": "b7f97fb8d75c806f24e4d3e965f7f5ca6fdcac93de0c9165a1ef89a5462795e3"}}], "version": "9.6.22", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "d0451410730607800b5df7d2e7948715", "kind": "equivalent", "version": "13.3", "label": "13.3", "title": "允许 ALTER ROLE/DATABASE ... SET 设置 role、session_authorization 和 temp_buffers 参数", "evidence": {"same_day": true, "patch_ids": ["8ae2e83a5d291ced86d998b1ab7eee63"], "statement_hash": "b7f97fb8d75c806f24e4d3e965f7f5ca6fdcac93de0c9165a1ef89a5462795e3"}, "url": "/docs/compare/?release=13.3#13.3-5941ada8f8acfccd", "source_url": "/docs/release/13.3/#id-1.11.6.26.5"}, {"db_id": "e97862062ce0ecf8f4295eda9e69b3e7", "kind": "equivalent", "version": "12.7", "label": "12.7", "title": "允许 ALTER ROLE/DATABASE ... SET 设置 role、session_authorization 和 temp_buffers 参数", "evidence": {"same_day": true, "patch_ids": ["8ae2e83a5d291ced86d998b1ab7eee63"], "statement_hash": "b7f97fb8d75c806f24e4d3e965f7f5ca6fdcac93de0c9165a1ef89a5462795e3"}, "url": "/docs/compare/?release=12.7#12.7-5aef3b1587010883", "source_url": "/docs/release/12.7/#id-1.11.6.21.5"}, {"db_id": "d86c969ac905b3cd2d03d2be6b46b1ae", "kind": "equivalent", "version": "11.12", "label": "11.12", "title": "允许 ALTER ROLE/DATABASE ... SET 设置 role、session_authorization 和 temp_buffers 参数", "evidence": {"same_day": true, "patch_ids": ["8ae2e83a5d291ced86d998b1ab7eee63"], "statement_hash": "b7f97fb8d75c806f24e4d3e965f7f5ca6fdcac93de0c9165a1ef89a5462795e3"}, "url": "/docs/compare/?release=11.12#11.12-3abda7d90ef80e1f", "source_url": "/docs/release/11.12/#id-1.11.6.15.5"}, {"db_id": "c3314c5d1c83f2209c3e6d3b60ed537c", "kind": "equivalent", "version": "10.17", "label": "10.17", "title": "允许 ALTER ROLE/DATABASE ... SET 设置 role、session_authorization 和 temp_buffers 参数", "evidence": {"same_day": true, "patch_ids": ["8ae2e83a5d291ced86d998b1ab7eee63"], "statement_hash": "b7f97fb8d75c806f24e4d3e965f7f5ca6fdcac93de0c9165a1ef89a5462795e3"}, "url": "/docs/compare/?release=10.17#10.17-3abda7d90ef80e1f", "source_url": "/docs/release/10.17/#id-1.11.6.11.5"}]}, {"id": "9.6.22-2768e5dc2468676c", "cves": [], "html": "<p>修复把 <code>COLLATE</code> 表达式的结果强制转换为不可排序类型时的 bug（Tom Lane）</p>\n<p>这产生了一个 <code>COLLATE</code> 看似应用于不可排序值的解析树。虽然这通常没有实际影响（因为 <code>COLLATE</code> 在运行时不起作用），但可能构造出在转储/恢复期间被拒绝的视图。</p>", "text": "修复把 COLLATE 表达式的结果强制转换为不可排序类型时的 bug（Tom Lane） 这产生了一个 COLLATE 看似应用于不可排序值的解析树。虽然这通常没有实际影响（因为 COLLATE 在运行时不起作用），但可能构造出在转储/恢复期间被拒绝的视图。", "title": "修复把 COLLATE 表达式的结果强制转换为不可排序类型时的 bug", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.22/#id-1.11.6.7.6", "source_hash": "fbd82af83d0a6fe5aa57ebeffd860caf1fbe87807ab3a4abe00ab06337a024d9", "section_path": ["变更"], "commit_groups": [["27011bcff", "4b0aecee8", "8a7bd1e6c", "a6158a4d9", "c402b02b9", "fb2cca828"]], "identity_text": "Fix bug with coercing the result of a COLLATE expression to a non-collatable type (Tom Lane) This led to a parse tree in which the COLLATE appears to be applied to a non-collatable value. While that normally has no real impact (since COLLATE has no effect at runtime), it was possible to construct views that would be rejected during dump/reload.", "commit_aliases": ["27011bcff", "4b0aecee8", "8a7bd1e6c", "a6158a4d9", "c402b02b9", "fb2cca828"], "source_commits": ["a6158a4d9"], "source_entry_id": "9.6.22/changes/004", "db_id": "90665f926fa6dc60b6efb5c5b4db356a", "patch_ids": ["bc0c38dd5368211113518f2d7e77a821"], "statement_hash": "49b9c831678d626b93a4bd08bec89d247290b5683b70b76c3d6980072d2f357f", "relations": [{"rule": 2, "type": "equivalent", "target": "03872d51902341e78f3762c12e74634c", "evidence": {"same_day": true, "patch_ids": ["bc0c38dd5368211113518f2d7e77a821"], "statement_hash": "49b9c831678d626b93a4bd08bec89d247290b5683b70b76c3d6980072d2f357f"}}, {"rule": 2, "type": "equivalent", "target": "1bb34a32c748fc13ad726d873d811614", "evidence": {"same_day": true, "patch_ids": ["bc0c38dd5368211113518f2d7e77a821"], "statement_hash": "49b9c831678d626b93a4bd08bec89d247290b5683b70b76c3d6980072d2f357f"}}, {"rule": 2, "type": "equivalent", "target": "3c7c8c72920e227ad94cb3a912c954a5", "evidence": {"same_day": true, "patch_ids": ["bc0c38dd5368211113518f2d7e77a821"], "statement_hash": "49b9c831678d626b93a4bd08bec89d247290b5683b70b76c3d6980072d2f357f"}}, {"rule": 2, "type": "equivalent", "target": "abb30bf8744a5d98736b8e5e85968d25", "evidence": {"same_day": true, "patch_ids": ["bc0c38dd5368211113518f2d7e77a821"], "statement_hash": "49b9c831678d626b93a4bd08bec89d247290b5683b70b76c3d6980072d2f357f"}}], "version": "9.6.22", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "abb30bf8744a5d98736b8e5e85968d25", "kind": "equivalent", "version": "13.3", "label": "13.3", "title": "修复将 COLLATE 表达式的结果强制转换为不支持排序规则的类型时的缺陷", "evidence": {"same_day": true, "patch_ids": ["bc0c38dd5368211113518f2d7e77a821"], "statement_hash": "49b9c831678d626b93a4bd08bec89d247290b5683b70b76c3d6980072d2f357f"}, "url": "/docs/compare/?release=13.3#13.3-10f61f6d7ee10895", "source_url": "/docs/release/13.3/#id-1.11.6.26.5"}, {"db_id": "1bb34a32c748fc13ad726d873d811614", "kind": "equivalent", "version": "12.7", "label": "12.7", "title": "修复将 COLLATE 表达式的结果强制转换为不支持排序规则的类型时的缺陷", "evidence": {"same_day": true, "patch_ids": ["bc0c38dd5368211113518f2d7e77a821"], "statement_hash": "49b9c831678d626b93a4bd08bec89d247290b5683b70b76c3d6980072d2f357f"}, "url": "/docs/compare/?release=12.7#12.7-35665a6ec9cbc3cc", "source_url": "/docs/release/12.7/#id-1.11.6.21.5"}, {"db_id": "3c7c8c72920e227ad94cb3a912c954a5", "kind": "equivalent", "version": "11.12", "label": "11.12", "title": "修复将 COLLATE 表达式的结果强制转换为不支持排序规则的类型时的缺陷", "evidence": {"same_day": true, "patch_ids": ["bc0c38dd5368211113518f2d7e77a821"], "statement_hash": "49b9c831678d626b93a4bd08bec89d247290b5683b70b76c3d6980072d2f357f"}, "url": "/docs/compare/?release=11.12#11.12-f512b9a88d6d0840", "source_url": "/docs/release/11.12/#id-1.11.6.15.5"}, {"db_id": "03872d51902341e78f3762c12e74634c", "kind": "equivalent", "version": "10.17", "label": "10.17", "title": "修复将 COLLATE 表达式的结果强制转换为不支持排序规则的类型时的缺陷", "evidence": {"same_day": true, "patch_ids": ["bc0c38dd5368211113518f2d7e77a821"], "statement_hash": "49b9c831678d626b93a4bd08bec89d247290b5683b70b76c3d6980072d2f357f"}, "url": "/docs/compare/?release=10.17#10.17-f512b9a88d6d0840", "source_url": "/docs/release/10.17/#id-1.11.6.11.5"}]}, {"id": "9.6.22-3fe8b7018a871824", "cves": [], "html": "<p>禁止通过<span>“<span>快速路径</span>”</span>线上协议消息调用窗口函数和过程（Tom Lane）</p>\n<p>这里只支持普通函数。尝试调用聚合函数虽然已经会失败，但调用窗口函数会导致崩溃，而调用过程只有在过程不做事务控制时才能工作。</p>", "text": "禁止通过“快速路径”线上协议消息调用窗口函数和过程（Tom Lane） 这里只支持普通函数。尝试调用聚合函数虽然已经会失败，但调用窗口函数会导致崩溃，而调用过程只有在过程不做事务控制时才能工作。", "title": "禁止通过“快速路径”线上协议消息调用窗口函数和过程", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.22/#id-1.11.6.7.6", "source_hash": "21c99d98171b3796a5454aea31462d6d1178ad290162a78fb4c7453d1c67681c", "section_path": ["变更"], "commit_groups": [["0627f3630", "2efcd502e", "4d225ba0e", "73bad52a9", "89768ee69", "ebc2ff076"]], "identity_text": "Disallow calling window functions and procedures via the fast path wire protocol message (Tom Lane) Only plain functions are supported here. While trying to call an aggregate function failed already, calling a window function would crash, and calling a procedure would work only if the procedure did no transaction control.", "commit_aliases": ["0627f3630", "2efcd502e", "4d225ba0e", "73bad52a9", "89768ee69", "ebc2ff076"], "source_commits": ["73bad52a9"], "source_entry_id": "9.6.22/changes/005", "db_id": "1b8f2a45a9d2e935788f99131bc2b253", "patch_ids": ["667c9c9431f60d4a73a55e73368d7b0b"], "statement_hash": "34f948486de4d5d1f8593252025399f5242d545d3707015a511b6f7f873b0ca1", "relations": [{"rule": 2, "type": "equivalent", "target": "03906a7c8653f859466c2026e48f63c6", "evidence": {"same_day": true, "patch_ids": ["667c9c9431f60d4a73a55e73368d7b0b"], "statement_hash": "34f948486de4d5d1f8593252025399f5242d545d3707015a511b6f7f873b0ca1"}}, {"rule": 2, "type": "equivalent", "target": "7778f3a32b2fa6ab9761805a1e3b4fba", "evidence": {"same_day": true, "patch_ids": ["667c9c9431f60d4a73a55e73368d7b0b"], "statement_hash": "34f948486de4d5d1f8593252025399f5242d545d3707015a511b6f7f873b0ca1"}}, {"rule": 2, "type": "equivalent", "target": "dea30517e2656d30b3618508113e7285", "evidence": {"same_day": true, "patch_ids": ["667c9c9431f60d4a73a55e73368d7b0b"], "statement_hash": "34f948486de4d5d1f8593252025399f5242d545d3707015a511b6f7f873b0ca1"}}, {"rule": 2, "type": "equivalent", "target": "e8af7a374034d509284f19f6cc78df61", "evidence": {"same_day": true, "patch_ids": ["667c9c9431f60d4a73a55e73368d7b0b"], "statement_hash": "34f948486de4d5d1f8593252025399f5242d545d3707015a511b6f7f873b0ca1"}}], "version": "9.6.22", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "7778f3a32b2fa6ab9761805a1e3b4fba", "kind": "equivalent", "version": "13.3", "label": "13.3", "title": "禁止通过“快速路径”线协议消息调用窗口函数和过程", "evidence": {"same_day": true, "patch_ids": ["667c9c9431f60d4a73a55e73368d7b0b"], "statement_hash": "34f948486de4d5d1f8593252025399f5242d545d3707015a511b6f7f873b0ca1"}, "url": "/docs/compare/?release=13.3#13.3-073a4739a4f40fc4", "source_url": "/docs/release/13.3/#id-1.11.6.26.5"}, {"db_id": "03906a7c8653f859466c2026e48f63c6", "kind": "equivalent", "version": "12.7", "label": "12.7", "title": "禁止通过“快速路径”线协议消息调用窗口函数和过程", "evidence": {"same_day": true, "patch_ids": ["667c9c9431f60d4a73a55e73368d7b0b"], "statement_hash": "34f948486de4d5d1f8593252025399f5242d545d3707015a511b6f7f873b0ca1"}, "url": "/docs/compare/?release=12.7#12.7-06b0536ea0d66ab4", "source_url": "/docs/release/12.7/#id-1.11.6.21.5"}, {"db_id": "dea30517e2656d30b3618508113e7285", "kind": "equivalent", "version": "11.12", "label": "11.12", "title": "禁止通过“快速路径”线协议消息调用窗口函数和过程", "evidence": {"same_day": true, "patch_ids": ["667c9c9431f60d4a73a55e73368d7b0b"], "statement_hash": "34f948486de4d5d1f8593252025399f5242d545d3707015a511b6f7f873b0ca1"}, "url": "/docs/compare/?release=11.12#11.12-6c2ca6f3cc542eae", "source_url": "/docs/release/11.12/#id-1.11.6.15.5"}, {"db_id": "e8af7a374034d509284f19f6cc78df61", "kind": "equivalent", "version": "10.17", "label": "10.17", "title": "禁止通过“快速路径”线协议消息调用窗口函数和过程", "evidence": {"same_day": true, "patch_ids": ["667c9c9431f60d4a73a55e73368d7b0b"], "statement_hash": "34f948486de4d5d1f8593252025399f5242d545d3707015a511b6f7f873b0ca1"}, "url": "/docs/compare/?release=10.17#10.17-6c2ca6f3cc542eae", "source_url": "/docs/release/10.17/#id-1.11.6.11.5"}]}, {"id": "9.6.22-38cc6de8ef10b61c", "cves": [], "html": "<p>扩展 <code>pg_identify_object_as_address()</code> 以支持事件触发器（Joel Jacobson）</p>", "text": "扩展 pg_identify_object_as_address() 以支持事件触发器（Joel Jacobson）", "title": "扩展 pg_identify_object_as_address() 以支持事件触发器", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.22/#id-1.11.6.7.6", "source_hash": "03130027bbdf9b0c48dd0770d6090c4da70fe491ad326c4cfb638662636cdf29", "section_path": ["变更"], "commit_groups": [["0d05a3a1d", "669f73666", "85a3e0be1", "a928297bc", "b797918d2", "f93f0b5b2"], ["5b717e13c", "6e41ff056", "7e76cb1d8", "90c9bad30", "f3c453787", "f7aab36d6"]], "identity_text": "Extend pg_identify_object_as_address() to support event triggers (Joel Jacobson)", "commit_aliases": ["0d05a3a1d", "5b717e13c", "669f73666", "6e41ff056", "7e76cb1d8", "85a3e0be1", "90c9bad30", "a928297bc", "b797918d2", "f3c453787", "f7aab36d6", "f93f0b5b2"], "source_commits": ["0d05a3a1d", "6e41ff056"], "source_entry_id": "9.6.22/changes/006", "db_id": "570aba58ff1a8e4643d5e729f8c80905", "patch_ids": ["88311dbc3e5c7c10fd507b06c3be4f17", "e20dd963a27959d2a0218561dbf5ba07"], "statement_hash": "a4c8f32334b544e71fcc71c548ea67fd9e04a29d37e7ac022aa573a6acc712b8", "relations": [{"rule": 2, "type": "equivalent", "target": "1ab2e233f6adf0cae7bd7d4b105e8558", "evidence": {"same_day": true, "patch_ids": ["88311dbc3e5c7c10fd507b06c3be4f17", "e20dd963a27959d2a0218561dbf5ba07"], "statement_hash": "a4c8f32334b544e71fcc71c548ea67fd9e04a29d37e7ac022aa573a6acc712b8"}}, {"rule": 2, "type": "equivalent", "target": "5cd6ab8e24d263554c647a40d8e6510a", "evidence": {"same_day": true, "patch_ids": ["88311dbc3e5c7c10fd507b06c3be4f17", "e20dd963a27959d2a0218561dbf5ba07"], "statement_hash": "a4c8f32334b544e71fcc71c548ea67fd9e04a29d37e7ac022aa573a6acc712b8"}}, {"rule": 2, "type": "equivalent", "target": "61e2b5a711cfd7ff993742786ffe1c8d", "evidence": {"same_day": true, "patch_ids": ["88311dbc3e5c7c10fd507b06c3be4f17", "e20dd963a27959d2a0218561dbf5ba07"], "statement_hash": "a4c8f32334b544e71fcc71c548ea67fd9e04a29d37e7ac022aa573a6acc712b8"}}, {"rule": 2, "type": "equivalent", "target": "a52214e46c3177ebfce59ee06b06dd33", "evidence": {"same_day": true, "patch_ids": ["88311dbc3e5c7c10fd507b06c3be4f17", "e20dd963a27959d2a0218561dbf5ba07"], "statement_hash": "a4c8f32334b544e71fcc71c548ea67fd9e04a29d37e7ac022aa573a6acc712b8"}}], "version": "9.6.22", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "5cd6ab8e24d263554c647a40d8e6510a", "kind": "equivalent", "version": "13.3", "label": "13.3", "title": "扩展 pg_identify_object_as_address()，使其支持事件触发器", "evidence": {"same_day": true, "patch_ids": ["88311dbc3e5c7c10fd507b06c3be4f17", "e20dd963a27959d2a0218561dbf5ba07"], "statement_hash": "a4c8f32334b544e71fcc71c548ea67fd9e04a29d37e7ac022aa573a6acc712b8"}, "url": "/docs/compare/?release=13.3#13.3-288208cef0a2f9c4", "source_url": "/docs/release/13.3/#id-1.11.6.26.5"}, {"db_id": "1ab2e233f6adf0cae7bd7d4b105e8558", "kind": "equivalent", "version": "12.7", "label": "12.7", "title": "扩展 pg_identify_object_as_address()，使其支持事件触发器", "evidence": {"same_day": true, "patch_ids": ["88311dbc3e5c7c10fd507b06c3be4f17", "e20dd963a27959d2a0218561dbf5ba07"], "statement_hash": "a4c8f32334b544e71fcc71c548ea67fd9e04a29d37e7ac022aa573a6acc712b8"}, "url": "/docs/compare/?release=12.7#12.7-43013edea40caf2a", "source_url": "/docs/release/12.7/#id-1.11.6.21.5"}, {"db_id": "a52214e46c3177ebfce59ee06b06dd33", "kind": "equivalent", "version": "11.12", "label": "11.12", "title": "扩展 pg_identify_object_as_address()，使其支持事件触发器", "evidence": {"same_day": true, "patch_ids": ["88311dbc3e5c7c10fd507b06c3be4f17", "e20dd963a27959d2a0218561dbf5ba07"], "statement_hash": "a4c8f32334b544e71fcc71c548ea67fd9e04a29d37e7ac022aa573a6acc712b8"}, "url": "/docs/compare/?release=11.12#11.12-b9fd61bd2129e903", "source_url": "/docs/release/11.12/#id-1.11.6.15.5"}, {"db_id": "61e2b5a711cfd7ff993742786ffe1c8d", "kind": "equivalent", "version": "10.17", "label": "10.17", "title": "扩展 pg_identify_object_as_address()，使其支持事件触发器", "evidence": {"same_day": true, "patch_ids": ["88311dbc3e5c7c10fd507b06c3be4f17", "e20dd963a27959d2a0218561dbf5ba07"], "statement_hash": "a4c8f32334b544e71fcc71c548ea67fd9e04a29d37e7ac022aa573a6acc712b8"}, "url": "/docs/compare/?release=10.17#10.17-b9fd61bd2129e903", "source_url": "/docs/release/10.17/#id-1.11.6.11.5"}]}, {"id": "9.6.22-628fe4627ac13739", "cves": [], "html": "<p>修复 <code>to_char()</code> 对负区间使用罗马数字月份格式代码的处理（Julien Rouhaud）</p>\n<p>此前，这类情况通常会导致崩溃。</p>", "text": "修复 to_char() 对负区间使用罗马数字月份格式代码的处理（Julien Rouhaud） 此前，这类情况通常会导致崩溃。", "title": "修复 to_char() 对负区间使用罗马数字月份格式代码的处理", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.22/#id-1.11.6.7.6", "source_hash": "2cd5e8bdb43b9b163210c7b667f47c316d88473a6f8f2a72c973b7f2befe7ef1", "section_path": ["变更"], "commit_groups": [["1cc110f68", "5656f2c3d", "6540322fa", "7a3972597", "82dd5706e", "be79debd9"]], "identity_text": "Fix to_char()'s handling of Roman-numeral month format codes with negative intervals (Julien Rouhaud) Previously, such cases would usually cause a crash.", "commit_aliases": ["1cc110f68", "5656f2c3d", "6540322fa", "7a3972597", "82dd5706e", "be79debd9"], "source_commits": ["6540322fa"], "source_entry_id": "9.6.22/changes/007", "db_id": "9f5b7d05c6c1db76a9ca6065f9203b1a", "patch_ids": ["7319000da5c8ae3f6b56ed68a4ee9dfa"], "statement_hash": "34e9a02c4aed166a4f2a8c97b0027c7ddda88f0bdc5d0a9f1e296dc78abc4ac5", "relations": [{"rule": 2, "type": "equivalent", "target": "0a104851ab53b64998bf762315515496", "evidence": {"same_day": true, "patch_ids": ["7319000da5c8ae3f6b56ed68a4ee9dfa"], "statement_hash": "34e9a02c4aed166a4f2a8c97b0027c7ddda88f0bdc5d0a9f1e296dc78abc4ac5"}}, {"rule": 2, "type": "equivalent", "target": "40cc08f45f115d84fadcd5703140f2f9", "evidence": {"same_day": true, "patch_ids": ["7319000da5c8ae3f6b56ed68a4ee9dfa"], "statement_hash": "34e9a02c4aed166a4f2a8c97b0027c7ddda88f0bdc5d0a9f1e296dc78abc4ac5"}}, {"rule": 2, "type": "equivalent", "target": "b7c10db782f367caba5ef19f3462459b", "evidence": {"same_day": true, "patch_ids": ["7319000da5c8ae3f6b56ed68a4ee9dfa"], "statement_hash": "34e9a02c4aed166a4f2a8c97b0027c7ddda88f0bdc5d0a9f1e296dc78abc4ac5"}}, {"rule": 2, "type": "equivalent", "target": "bd638f861b8f78c34f8208fab8338b52", "evidence": {"same_day": true, "patch_ids": ["7319000da5c8ae3f6b56ed68a4ee9dfa"], "statement_hash": "34e9a02c4aed166a4f2a8c97b0027c7ddda88f0bdc5d0a9f1e296dc78abc4ac5"}}], "version": "9.6.22", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "b7c10db782f367caba5ef19f3462459b", "kind": "equivalent", "version": "13.3", "label": "13.3", "title": "修复 to_char() 对负时间间隔使用罗马数字月份格式代码的处理", "evidence": {"same_day": true, "patch_ids": ["7319000da5c8ae3f6b56ed68a4ee9dfa"], "statement_hash": "34e9a02c4aed166a4f2a8c97b0027c7ddda88f0bdc5d0a9f1e296dc78abc4ac5"}, "url": "/docs/compare/?release=13.3#13.3-9ee98f84b0afbd4f", "source_url": "/docs/release/13.3/#id-1.11.6.26.5"}, {"db_id": "bd638f861b8f78c34f8208fab8338b52", "kind": "equivalent", "version": "12.7", "label": "12.7", "title": "修复 to_char() 对负时间间隔使用罗马数字月份格式代码的处理", "evidence": {"same_day": true, "patch_ids": ["7319000da5c8ae3f6b56ed68a4ee9dfa"], "statement_hash": "34e9a02c4aed166a4f2a8c97b0027c7ddda88f0bdc5d0a9f1e296dc78abc4ac5"}, "url": "/docs/compare/?release=12.7#12.7-9d059568c66a3ba9", "source_url": "/docs/release/12.7/#id-1.11.6.21.5"}, {"db_id": "0a104851ab53b64998bf762315515496", "kind": "equivalent", "version": "11.12", "label": "11.12", "title": "修复 to_char() 对负时间间隔使用罗马数字月份格式代码的处理", "evidence": {"same_day": true, "patch_ids": ["7319000da5c8ae3f6b56ed68a4ee9dfa"], "statement_hash": "34e9a02c4aed166a4f2a8c97b0027c7ddda88f0bdc5d0a9f1e296dc78abc4ac5"}, "url": "/docs/compare/?release=11.12#11.12-8fc513836898aa0c", "source_url": "/docs/release/11.12/#id-1.11.6.15.5"}, {"db_id": "40cc08f45f115d84fadcd5703140f2f9", "kind": "equivalent", "version": "10.17", "label": "10.17", "title": "修复 to_char() 对负时间间隔使用罗马数字月份格式代码的处理", "evidence": {"same_day": true, "patch_ids": ["7319000da5c8ae3f6b56ed68a4ee9dfa"], "statement_hash": "34e9a02c4aed166a4f2a8c97b0027c7ddda88f0bdc5d0a9f1e296dc78abc4ac5"}, "url": "/docs/compare/?release=10.17#10.17-8fc513836898aa0c", "source_url": "/docs/release/10.17/#id-1.11.6.11.5"}]}, {"id": "9.6.22-19823c8b9c9bd4d7", "cves": [], "html": "<p>修复 BRE 模式正则表达式中解析 <code>\\{<em><code>m</code></em>,<em><code>n</code></em>\\}</code> 量词时使用未初始化值的问题（Tom Lane）</p>\n<p>这个错误可能导致量词表现为非贪婪，即表现得像完整正则表达式中的 <code>{<em><code>m</code></em>,<em><code>n</code></em>}?</code> 量词那样。</p>", "text": "修复 BRE 模式正则表达式中解析 \\{m,n\\} 量词时使用未初始化值的问题（Tom Lane） 这个错误可能导致量词表现为非贪婪，即表现得像完整正则表达式中的 {m,n}? 量词那样。", "title": "修复 BRE 模式正则表达式中解析 \\{m,n\\} 量词时使用未初始化值的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.22/#id-1.11.6.7.6", "source_hash": "568b743b58710d04b2fec0adc7716c66c18c17951c2324cafe727dd79cb777d9", "section_path": ["变更"], "commit_groups": [["6e6fecf49", "ab208421e", "b06450979", "b5a66e735", "bf9d3a5f8", "e7cddb5f2"]], "identity_text": "Fix use of uninitialized value while parsing an \\{m,n\\} quantifier in a BRE-mode regular expression (Tom Lane) This error could cause the quantifier to act non-greedy, that is behave like an {m,n}? quantifier would do in full regular expressions.", "commit_aliases": ["6e6fecf49", "ab208421e", "b06450979", "b5a66e735", "bf9d3a5f8", "e7cddb5f2"], "source_commits": ["ab208421e"], "source_entry_id": "9.6.22/changes/008", "db_id": "35d023ec7e6cb87b0ac4f6dd25c4cdcc", "patch_ids": ["28090e761bc8afcf7c092c652ea46eae"], "statement_hash": "33e2417303e32078f65ccd1e73b2d7a4ee36854373984e0110794b476bb7669b", "relations": [{"rule": 2, "type": "equivalent", "target": "0bf05e3e62e8640ec87cf9c4260bdf71", "evidence": {"same_day": true, "patch_ids": ["28090e761bc8afcf7c092c652ea46eae"], "statement_hash": "33e2417303e32078f65ccd1e73b2d7a4ee36854373984e0110794b476bb7669b"}}, {"rule": 2, "type": "equivalent", "target": "18bcd4ff4a5b2578a944105a2d3bad2b", "evidence": {"same_day": true, "patch_ids": ["28090e761bc8afcf7c092c652ea46eae"], "statement_hash": "33e2417303e32078f65ccd1e73b2d7a4ee36854373984e0110794b476bb7669b"}}, {"rule": 2, "type": "equivalent", "target": "be17b091805137c3f9fc93d8574ff6ff", "evidence": {"same_day": true, "patch_ids": ["28090e761bc8afcf7c092c652ea46eae"], "statement_hash": "33e2417303e32078f65ccd1e73b2d7a4ee36854373984e0110794b476bb7669b"}}, {"rule": 2, "type": "equivalent", "target": "daac38e577e2f7007410cd8dc7f5ac3f", "evidence": {"same_day": true, "patch_ids": ["28090e761bc8afcf7c092c652ea46eae"], "statement_hash": "33e2417303e32078f65ccd1e73b2d7a4ee36854373984e0110794b476bb7669b"}}], "version": "9.6.22", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "18bcd4ff4a5b2578a944105a2d3bad2b", "kind": "equivalent", "version": "13.3", "label": "13.3", "title": "修复解析 BRE 模式正则表达式中的 \\{m,n\\} 量词时使用未初始化值的问题", "evidence": {"same_day": true, "patch_ids": ["28090e761bc8afcf7c092c652ea46eae"], "statement_hash": "33e2417303e32078f65ccd1e73b2d7a4ee36854373984e0110794b476bb7669b"}, "url": "/docs/compare/?release=13.3#13.3-75cd8adaf0246852", "source_url": "/docs/release/13.3/#id-1.11.6.26.5"}, {"db_id": "0bf05e3e62e8640ec87cf9c4260bdf71", "kind": "equivalent", "version": "12.7", "label": "12.7", "title": "修复解析 BRE 模式正则表达式中的 \\{m,n\\} 量词时使用未初始化值的问题", "evidence": {"same_day": true, "patch_ids": ["28090e761bc8afcf7c092c652ea46eae"], "statement_hash": "33e2417303e32078f65ccd1e73b2d7a4ee36854373984e0110794b476bb7669b"}, "url": "/docs/compare/?release=12.7#12.7-2f97e49be6871e4a", "source_url": "/docs/release/12.7/#id-1.11.6.21.5"}, {"db_id": "be17b091805137c3f9fc93d8574ff6ff", "kind": "equivalent", "version": "11.12", "label": "11.12", "title": "修复解析 BRE 模式正则表达式中的 \\{m,n\\} 量词时使用未初始化值的问题", "evidence": {"same_day": true, "patch_ids": ["28090e761bc8afcf7c092c652ea46eae"], "statement_hash": "33e2417303e32078f65ccd1e73b2d7a4ee36854373984e0110794b476bb7669b"}, "url": "/docs/compare/?release=11.12#11.12-2146f382754c4721", "source_url": "/docs/release/11.12/#id-1.11.6.15.5"}, {"db_id": "daac38e577e2f7007410cd8dc7f5ac3f", "kind": "equivalent", "version": "10.17", "label": "10.17", "title": "修复解析 BRE 模式正则表达式中的 \\{m,n\\} 量词时使用未初始化值的问题", "evidence": {"same_day": true, "patch_ids": ["28090e761bc8afcf7c092c652ea46eae"], "statement_hash": "33e2417303e32078f65ccd1e73b2d7a4ee36854373984e0110794b476bb7669b"}, "url": "/docs/compare/?release=10.17#10.17-2146f382754c4721", "source_url": "/docs/release/10.17/#id-1.11.6.11.5"}]}, {"id": "9.6.22-bb2e0d1931995be1", "cves": [], "html": "<p>避免在估算带有很长固定前缀的正则表达式的选择率时除零（Tom Lane）</p>\n<p>这通常会导致 <code>NaN</code> 选择率值，引起断言失败或规划器行为异常。</p>", "text": "避免在估算带有很长固定前缀的正则表达式的选择率时除零（Tom Lane） 这通常会导致 NaN 选择率值，引起断言失败或规划器行为异常。", "title": "避免在估算带有很长固定前缀的正则表达式的选择率时除零", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.22/#id-1.11.6.7.6", "source_hash": "efb3656165a44f55cdf77d82b39102974a1b7bc1730dc35c5c1e63826ad060b4", "section_path": ["变更"], "commit_groups": [["0347470b3", "374f1cefe", "3a02d68a9", "a28df6fa3", "ae4867ec7", "f4d781dae"]], "identity_text": "Avoid divide-by-zero when estimating selectivity of a regular expression with a very long fixed prefix (Tom Lane) This typically led to a NaN selectivity value, causing assertion failures or strange planner behavior.", "commit_aliases": ["0347470b3", "374f1cefe", "3a02d68a9", "a28df6fa3", "ae4867ec7", "f4d781dae"], "source_commits": ["f4d781dae"], "source_entry_id": "9.6.22/changes/009", "db_id": "dd95045b892c651f4672028b9a382f57", "patch_ids": ["9902ee3c2d2817b9f581b3aa98640e9b"], "statement_hash": "af7fe50671e73be53d326ebd78815b26ead6f2256a3490d648eae020b7a7fe62", "relations": [{"rule": 2, "type": "equivalent", "target": "11cd51efa02c594b7f72e8e5c1191a71", "evidence": {"same_day": true, "patch_ids": ["9902ee3c2d2817b9f581b3aa98640e9b"], "statement_hash": "af7fe50671e73be53d326ebd78815b26ead6f2256a3490d648eae020b7a7fe62"}}, {"rule": 2, "type": "equivalent", "target": "14d062b495819ce0d0510ea041c79088", "evidence": {"same_day": true, "patch_ids": ["9902ee3c2d2817b9f581b3aa98640e9b"], "statement_hash": "af7fe50671e73be53d326ebd78815b26ead6f2256a3490d648eae020b7a7fe62"}}, {"rule": 2, "type": "equivalent", "target": "262537625d4bf258dd1131759d746f52", "evidence": {"same_day": true, "patch_ids": ["9902ee3c2d2817b9f581b3aa98640e9b"], "statement_hash": "af7fe50671e73be53d326ebd78815b26ead6f2256a3490d648eae020b7a7fe62"}}, {"rule": 2, "type": "equivalent", "target": "bd45c3f5dda28a076169fb3b2eb6f6a7", "evidence": {"same_day": true, "patch_ids": ["9902ee3c2d2817b9f581b3aa98640e9b"], "statement_hash": "af7fe50671e73be53d326ebd78815b26ead6f2256a3490d648eae020b7a7fe62"}}], "version": "9.6.22", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "262537625d4bf258dd1131759d746f52", "kind": "equivalent", "version": "13.3", "label": "13.3", "title": "避免估计具有很长固定前缀的正则表达式的选择率时出现除零错误", "evidence": {"same_day": true, "patch_ids": ["9902ee3c2d2817b9f581b3aa98640e9b"], "statement_hash": "af7fe50671e73be53d326ebd78815b26ead6f2256a3490d648eae020b7a7fe62"}, "url": "/docs/compare/?release=13.3#13.3-0c127e09568e7e6e", "source_url": "/docs/release/13.3/#id-1.11.6.26.5"}, {"db_id": "11cd51efa02c594b7f72e8e5c1191a71", "kind": "equivalent", "version": "12.7", "label": "12.7", "title": "避免估计具有很长固定前缀的正则表达式的选择率时出现除零错误", "evidence": {"same_day": true, "patch_ids": ["9902ee3c2d2817b9f581b3aa98640e9b"], "statement_hash": "af7fe50671e73be53d326ebd78815b26ead6f2256a3490d648eae020b7a7fe62"}, "url": "/docs/compare/?release=12.7#12.7-780c72813beb1ac4", "source_url": "/docs/release/12.7/#id-1.11.6.21.5"}, {"db_id": "bd45c3f5dda28a076169fb3b2eb6f6a7", "kind": "equivalent", "version": "11.12", "label": "11.12", "title": "避免估计具有很长固定前缀的正则表达式的选择率时出现除零错误", "evidence": {"same_day": true, "patch_ids": ["9902ee3c2d2817b9f581b3aa98640e9b"], "statement_hash": "af7fe50671e73be53d326ebd78815b26ead6f2256a3490d648eae020b7a7fe62"}, "url": "/docs/compare/?release=11.12#11.12-9304401a9a3da26c", "source_url": "/docs/release/11.12/#id-1.11.6.15.5"}, {"db_id": "14d062b495819ce0d0510ea041c79088", "kind": "equivalent", "version": "10.17", "label": "10.17", "title": "避免估计具有很长固定前缀的正则表达式的选择率时出现除零错误", "evidence": {"same_day": true, "patch_ids": ["9902ee3c2d2817b9f581b3aa98640e9b"], "statement_hash": "af7fe50671e73be53d326ebd78815b26ead6f2256a3490d648eae020b7a7fe62"}, "url": "/docs/compare/?release=10.17#10.17-9304401a9a3da26c", "source_url": "/docs/release/10.17/#id-1.11.6.11.5"}]}, {"id": "9.6.22-bc748355dcaccaf3", "cves": [], "html": "<p>修复 BRIN 索引位图扫描中越表末访问的错误（Tomas Vondra）</p>\n<p>如果 BRIN 索引使用的页范围大小不是 2 的幂，在某些边界情况下位图扫描可能试图取回超出表实际末尾的页，导致 <span>“<span>could not open file</span>”</span> 错误。</p>", "text": "修复 BRIN 索引位图扫描中越表末访问的错误（Tomas Vondra） 如果 BRIN 索引使用的页范围大小不是 2 的幂，在某些边界情况下位图扫描可能试图取回超出表实际末尾的页，导致 “could not open file” 错误。", "title": "修复 BRIN 索引位图扫描中越表末访问的错误", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.22/#id-1.11.6.7.6", "source_hash": "8f2ab839f799f5a5af59f56066b8ca64a8f5e46ec29e6b6b29e45d4e41d2b6cc", "section_path": ["变更"], "commit_groups": [["1aad1d181", "23607a815", "7d3a53461", "847612fda", "df97ee6ea", "e4f251be7"]], "identity_text": "Fix access-off-the-end-of-the-table error in BRIN index bitmap scans (Tomas Vondra) If the page range size used by a BRIN index isn't a power of two, there were corner cases in which a bitmap scan could try to fetch pages past the actual end of the table, leading to could not open file errors.", "commit_aliases": ["1aad1d181", "23607a815", "7d3a53461", "847612fda", "df97ee6ea", "e4f251be7"], "source_commits": ["df97ee6ea"], "source_entry_id": "9.6.22/changes/010", "db_id": "a4a6211a7ccfce246a599ca2b95e1de9", "patch_ids": ["72b2c31661fd706661cb3df775127374"], "statement_hash": "9e7f4417857aca44e2394c35eef35625f6564172330efaf56c21706cb6229606", "relations": [{"rule": 2, "type": "equivalent", "target": "61cbd7bfd3778343419ff4ea7ee70db1", "evidence": {"same_day": true, "patch_ids": ["72b2c31661fd706661cb3df775127374"], "statement_hash": "9e7f4417857aca44e2394c35eef35625f6564172330efaf56c21706cb6229606"}}, {"rule": 2, "type": "equivalent", "target": "c5ed0e21fd32ad21603f4a15525170ee", "evidence": {"same_day": true, "patch_ids": ["72b2c31661fd706661cb3df775127374"], "statement_hash": "9e7f4417857aca44e2394c35eef35625f6564172330efaf56c21706cb6229606"}}, {"rule": 2, "type": "equivalent", "target": "e4e4a8f913f2b8037c0c5747e48b0878", "evidence": {"same_day": true, "patch_ids": ["72b2c31661fd706661cb3df775127374"], "statement_hash": "9e7f4417857aca44e2394c35eef35625f6564172330efaf56c21706cb6229606"}}, {"rule": 2, "type": "equivalent", "target": "fb32cff9c207c98871de91e331df5e47", "evidence": {"same_day": true, "patch_ids": ["72b2c31661fd706661cb3df775127374"], "statement_hash": "9e7f4417857aca44e2394c35eef35625f6564172330efaf56c21706cb6229606"}}], "version": "9.6.22", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "61cbd7bfd3778343419ff4ea7ee70db1", "kind": "equivalent", "version": "13.3", "label": "13.3", "title": "修复 BRIN 索引位图扫描中访问超出表末尾位置的错误", "evidence": {"same_day": true, "patch_ids": ["72b2c31661fd706661cb3df775127374"], "statement_hash": "9e7f4417857aca44e2394c35eef35625f6564172330efaf56c21706cb6229606"}, "url": "/docs/compare/?release=13.3#13.3-ab4eaf112dfb2d89", "source_url": "/docs/release/13.3/#id-1.11.6.26.5"}, {"db_id": "c5ed0e21fd32ad21603f4a15525170ee", "kind": "equivalent", "version": "12.7", "label": "12.7", "title": "修复 BRIN 索引位图扫描中访问超出表末尾位置的错误", "evidence": {"same_day": true, "patch_ids": ["72b2c31661fd706661cb3df775127374"], "statement_hash": "9e7f4417857aca44e2394c35eef35625f6564172330efaf56c21706cb6229606"}, "url": "/docs/compare/?release=12.7#12.7-9c1de227cc83156d", "source_url": "/docs/release/12.7/#id-1.11.6.21.5"}, {"db_id": "fb32cff9c207c98871de91e331df5e47", "kind": "equivalent", "version": "11.12", "label": "11.12", "title": "修复 BRIN 索引位图扫描中访问超出表末尾位置的错误", "evidence": {"same_day": true, "patch_ids": ["72b2c31661fd706661cb3df775127374"], "statement_hash": "9e7f4417857aca44e2394c35eef35625f6564172330efaf56c21706cb6229606"}, "url": "/docs/compare/?release=11.12#11.12-64f8de0b19c5611c", "source_url": "/docs/release/11.12/#id-1.11.6.15.5"}, {"db_id": "e4e4a8f913f2b8037c0c5747e48b0878", "kind": "equivalent", "version": "10.17", "label": "10.17", "title": "修复 BRIN 索引位图扫描中访问超出表末尾位置的错误", "evidence": {"same_day": true, "patch_ids": ["72b2c31661fd706661cb3df775127374"], "statement_hash": "9e7f4417857aca44e2394c35eef35625f6564172330efaf56c21706cb6229606"}, "url": "/docs/compare/?release=10.17#10.17-64f8de0b19c5611c", "source_url": "/docs/release/10.17/#id-1.11.6.11.5"}]}, {"id": "9.6.22-bd5da1bf87ad9ac8", "cves": [], "html": "<p>确保在关闭备库服务器的启动进程期间释放锁（Fujii Masao）</p>\n<p>当备库服务器仍在恢复期间被关闭时，某些锁可能仍被持有。这会导致调试构建中的断言失败；生产构建中是否会有严重后果尚不清楚。</p>", "text": "确保在关闭备库服务器的启动进程期间释放锁（Fujii Masao） 当备库服务器仍在恢复期间被关闭时，某些锁可能仍被持有。这会导致调试构建中的断言失败；生产构建中是否会有严重后果尚不清楚。", "title": "确保在关闭备库服务器的启动进程期间释放锁", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.22/#id-1.11.6.7.6", "source_hash": "5fb74308dd9cfc8e085aafed359c46d5293daa66284483fba30ff239f3ac80b5", "section_path": ["变更"], "commit_groups": [["ad8b67492", "b59d3abaf", "b9cf9d7d3", "dd5b7e486", "e3bf96216", "e7bcfd717"]], "identity_text": "Ensure that locks are released while shutting down a standby server's startup process (Fujii Masao) When a standby server is shut down while still in recovery, some locks might be left held. This causes assertion failures in debug builds; it's unclear whether any serious consequence could occur in production builds.", "commit_aliases": ["ad8b67492", "b59d3abaf", "b9cf9d7d3", "dd5b7e486", "e3bf96216", "e7bcfd717"], "source_commits": ["e3bf96216"], "source_entry_id": "9.6.22/changes/011", "db_id": "59acb9b03dd39c719f32a8eb23740b16", "patch_ids": ["133e532eeccc0cc0c1dd923f12b6c641"], "statement_hash": "df944c25880b38b9d6fed732f3099aca9cab9c0039cda7d6cec750cdb324fe69", "relations": [{"rule": 2, "type": "equivalent", "target": "062b13769fd19e7beae52070c5a9e124", "evidence": {"same_day": true, "patch_ids": ["133e532eeccc0cc0c1dd923f12b6c641"], "statement_hash": "df944c25880b38b9d6fed732f3099aca9cab9c0039cda7d6cec750cdb324fe69"}}, {"rule": 2, "type": "equivalent", "target": "073e827b10f6b1fc2d24b6b821f12348", "evidence": {"same_day": true, "patch_ids": ["133e532eeccc0cc0c1dd923f12b6c641"], "statement_hash": "df944c25880b38b9d6fed732f3099aca9cab9c0039cda7d6cec750cdb324fe69"}}, {"rule": 2, "type": "equivalent", "target": "238c45b77c57b6ea46d88aee7653f60d", "evidence": {"same_day": true, "patch_ids": ["133e532eeccc0cc0c1dd923f12b6c641"], "statement_hash": "df944c25880b38b9d6fed732f3099aca9cab9c0039cda7d6cec750cdb324fe69"}}, {"rule": 2, "type": "equivalent", "target": "492876ca41b4c6bb5cff16a8c4788a61", "evidence": {"same_day": true, "patch_ids": ["133e532eeccc0cc0c1dd923f12b6c641"], "statement_hash": "df944c25880b38b9d6fed732f3099aca9cab9c0039cda7d6cec750cdb324fe69"}}], "version": "9.6.22", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "238c45b77c57b6ea46d88aee7653f60d", "kind": "equivalent", "version": "13.3", "label": "13.3", "title": "确保关闭备库的启动进程时释放锁", "evidence": {"same_day": true, "patch_ids": ["133e532eeccc0cc0c1dd923f12b6c641"], "statement_hash": "df944c25880b38b9d6fed732f3099aca9cab9c0039cda7d6cec750cdb324fe69"}, "url": "/docs/compare/?release=13.3#13.3-09ab65777a171b7b", "source_url": "/docs/release/13.3/#id-1.11.6.26.5"}, {"db_id": "062b13769fd19e7beae52070c5a9e124", "kind": "equivalent", "version": "12.7", "label": "12.7", "title": "确保关闭备库的启动进程时释放锁", "evidence": {"same_day": true, "patch_ids": ["133e532eeccc0cc0c1dd923f12b6c641"], "statement_hash": "df944c25880b38b9d6fed732f3099aca9cab9c0039cda7d6cec750cdb324fe69"}, "url": "/docs/compare/?release=12.7#12.7-ef3ade4b27c85a8b", "source_url": "/docs/release/12.7/#id-1.11.6.21.5"}, {"db_id": "492876ca41b4c6bb5cff16a8c4788a61", "kind": "equivalent", "version": "11.12", "label": "11.12", "title": "确保关闭备库的启动进程时释放锁", "evidence": {"same_day": true, "patch_ids": ["133e532eeccc0cc0c1dd923f12b6c641"], "statement_hash": "df944c25880b38b9d6fed732f3099aca9cab9c0039cda7d6cec750cdb324fe69"}, "url": "/docs/compare/?release=11.12#11.12-cc0923f765ef064b", "source_url": "/docs/release/11.12/#id-1.11.6.15.5"}, {"db_id": "073e827b10f6b1fc2d24b6b821f12348", "kind": "equivalent", "version": "10.17", "label": "10.17", "title": "确保关闭备库的启动进程时释放锁", "evidence": {"same_day": true, "patch_ids": ["133e532eeccc0cc0c1dd923f12b6c641"], "statement_hash": "df944c25880b38b9d6fed732f3099aca9cab9c0039cda7d6cec750cdb324fe69"}, "url": "/docs/compare/?release=10.17#10.17-cc0923f765ef064b", "source_url": "/docs/release/10.17/#id-1.11.6.11.5"}]}, {"id": "9.6.22-8120ab81cf704e2f", "cves": [], "html": "<p>确保在较新的 FreeBSD 上默认使用 <code>wal_sync_method</code> = <code>fdatasync</code>（Thomas Munro）</p>\n<p>FreeBSD 13 支持 <code>open_datasync</code>，它通常会变成默认选择。但尚不清楚这对 Postgres 是否真的是改进，因此暂时保留原有默认值。</p>", "text": "确保在较新的 FreeBSD 上默认使用 wal_sync_method = fdatasync（Thomas Munro） FreeBSD 13 支持 open_datasync，它通常会变成默认选择。但尚不清楚这对 Postgres 是否真的是改进，因此暂时保留原有默认值。", "title": "确保在较新的 FreeBSD 上默认使用 wal_sync_method = fdatasync", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.22/#id-1.11.6.7.6", "source_hash": "11565093815723d4aa808a6a301e0937465830419dee9a00811cc17bcaeb304e", "section_path": ["变更"], "commit_groups": [["09a3b19e3", "1fefe8879", "6c23e5ae9", "800131df7", "a27f3a7f4", "f900a79ec"]], "identity_text": "Ensure we default to wal_sync_method = fdatasync on recent FreeBSD (Thomas Munro) FreeBSD 13 supports open_datasync, which would normally become the default choice. However, it's unclear whether that is actually an improvement for Postgres, so preserve the existing default for now.", "commit_aliases": ["09a3b19e3", "1fefe8879", "6c23e5ae9", "800131df7", "a27f3a7f4", "f900a79ec"], "source_commits": ["09a3b19e3"], "source_entry_id": "9.6.22/changes/012", "db_id": "d8abd2d2b916ea344275fa48febd6de3", "patch_ids": ["bbb3d03be2d44c294d2e4311c686e0a6"], "statement_hash": "f999c4164b7f4ce856e2c5423b1be8c6335f7a0e13f31b4f08d8aee03b85ac5c", "relations": [{"rule": 2, "type": "equivalent", "target": "308b7195d5ab5445234c5c824b504dce", "evidence": {"same_day": true, "patch_ids": ["bbb3d03be2d44c294d2e4311c686e0a6"], "statement_hash": "f999c4164b7f4ce856e2c5423b1be8c6335f7a0e13f31b4f08d8aee03b85ac5c"}}, {"rule": 2, "type": "equivalent", "target": "720f4c295e8c8d7064ee80213ba0772e", "evidence": {"same_day": true, "patch_ids": ["bbb3d03be2d44c294d2e4311c686e0a6"], "statement_hash": "f999c4164b7f4ce856e2c5423b1be8c6335f7a0e13f31b4f08d8aee03b85ac5c"}}, {"rule": 2, "type": "equivalent", "target": "9689adc34579b70072bc3d5e395cadf5", "evidence": {"same_day": true, "patch_ids": ["bbb3d03be2d44c294d2e4311c686e0a6"], "statement_hash": "f999c4164b7f4ce856e2c5423b1be8c6335f7a0e13f31b4f08d8aee03b85ac5c"}}, {"rule": 2, "type": "equivalent", "target": "ee7442e57c3a8ae83094a27d9ad8da11", "evidence": {"same_day": true, "patch_ids": ["bbb3d03be2d44c294d2e4311c686e0a6"], "statement_hash": "f999c4164b7f4ce856e2c5423b1be8c6335f7a0e13f31b4f08d8aee03b85ac5c"}}], "version": "9.6.22", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "ee7442e57c3a8ae83094a27d9ad8da11", "kind": "equivalent", "version": "13.3", "label": "13.3", "title": "确保在较新版本的 FreeBSD 上默认使用 wal_sync_method = fdatasync", "evidence": {"same_day": true, "patch_ids": ["bbb3d03be2d44c294d2e4311c686e0a6"], "statement_hash": "f999c4164b7f4ce856e2c5423b1be8c6335f7a0e13f31b4f08d8aee03b85ac5c"}, "url": "/docs/compare/?release=13.3#13.3-8adb86c3113e8360", "source_url": "/docs/release/13.3/#id-1.11.6.26.5"}, {"db_id": "720f4c295e8c8d7064ee80213ba0772e", "kind": "equivalent", "version": "12.7", "label": "12.7", "title": "确保在较新版本的 FreeBSD 上默认使用 wal_sync_method = fdatasync", "evidence": {"same_day": true, "patch_ids": ["bbb3d03be2d44c294d2e4311c686e0a6"], "statement_hash": "f999c4164b7f4ce856e2c5423b1be8c6335f7a0e13f31b4f08d8aee03b85ac5c"}, "url": "/docs/compare/?release=12.7#12.7-7af28a1338c7ba5d", "source_url": "/docs/release/12.7/#id-1.11.6.21.5"}, {"db_id": "9689adc34579b70072bc3d5e395cadf5", "kind": "equivalent", "version": "11.12", "label": "11.12", "title": "确保在较新版本的 FreeBSD 上默认使用 wal_sync_method = fdatasync", "evidence": {"same_day": true, "patch_ids": ["bbb3d03be2d44c294d2e4311c686e0a6"], "statement_hash": "f999c4164b7f4ce856e2c5423b1be8c6335f7a0e13f31b4f08d8aee03b85ac5c"}, "url": "/docs/compare/?release=11.12#11.12-cebda2bae56e9f79", "source_url": "/docs/release/11.12/#id-1.11.6.15.5"}, {"db_id": "308b7195d5ab5445234c5c824b504dce", "kind": "equivalent", "version": "10.17", "label": "10.17", "title": "确保在较新版本的 FreeBSD 上默认使用 wal_sync_method = fdatasync", "evidence": {"same_day": true, "patch_ids": ["bbb3d03be2d44c294d2e4311c686e0a6"], "statement_hash": "f999c4164b7f4ce856e2c5423b1be8c6335f7a0e13f31b4f08d8aee03b85ac5c"}, "url": "/docs/compare/?release=10.17#10.17-cebda2bae56e9f79", "source_url": "/docs/release/10.17/#id-1.11.6.11.5"}]}, {"id": "9.6.22-b25a6708b239157a", "cves": [], "html": "<p>确保在分离 DSM 段被中断时完成清理（Thomas Munro）</p>\n<p>这个错误可能导致并行查询之后临时文件未被及时清理。</p>", "text": "确保在分离 DSM 段被中断时完成清理（Thomas Munro） 这个错误可能导致并行查询之后临时文件未被及时清理。", "title": "确保在分离 DSM 段被中断时完成清理", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.22/#id-1.11.6.7.6", "source_hash": "d2a9f19c6ce5b3ad27e5f553b6ec4843669d0c99381b4018241967eee093c1c9", "section_path": ["变更"], "commit_groups": [["4b426f77c", "637668fb1", "840eda04e", "8a07e5bd8", "9fe40913c", "acafdd9ed"]], "identity_text": "Ensure we finish cleaning up when interrupted while detaching a DSM segment (Thomas Munro) This error could result in temporary files not being cleaned up promptly after a parallel query.", "commit_aliases": ["4b426f77c", "637668fb1", "840eda04e", "8a07e5bd8", "9fe40913c", "acafdd9ed"], "source_commits": ["8a07e5bd8"], "source_entry_id": "9.6.22/changes/013", "db_id": "39df208538fedc0bf3f262ba010b8933", "patch_ids": ["36ee67e9328b5f869d9e433419a6fd69"], "statement_hash": "71484cd6ce3dcccc079a86baf0a067d7e3284adf9afa30e9031048ecc2f610cc", "relations": [{"rule": 2, "type": "equivalent", "target": "869cfb32e5b7b396c6b448739c9e20e2", "evidence": {"same_day": true, "patch_ids": ["36ee67e9328b5f869d9e433419a6fd69"], "statement_hash": "71484cd6ce3dcccc079a86baf0a067d7e3284adf9afa30e9031048ecc2f610cc"}}, {"rule": 2, "type": "equivalent", "target": "a2d067a132fbaf87a1e15613cfce2e0a", "evidence": {"same_day": true, "patch_ids": ["36ee67e9328b5f869d9e433419a6fd69"], "statement_hash": "71484cd6ce3dcccc079a86baf0a067d7e3284adf9afa30e9031048ecc2f610cc"}}, {"rule": 2, "type": "equivalent", "target": "d5d8252f9e52aa7f57a975f98746773e", "evidence": {"same_day": true, "patch_ids": ["36ee67e9328b5f869d9e433419a6fd69"], "statement_hash": "71484cd6ce3dcccc079a86baf0a067d7e3284adf9afa30e9031048ecc2f610cc"}}, {"rule": 2, "type": "equivalent", "target": "e8c49727adfe23a3d9c02af29c178ab7", "evidence": {"same_day": true, "patch_ids": ["36ee67e9328b5f869d9e433419a6fd69"], "statement_hash": "71484cd6ce3dcccc079a86baf0a067d7e3284adf9afa30e9031048ecc2f610cc"}}], "version": "9.6.22", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "d5d8252f9e52aa7f57a975f98746773e", "kind": "equivalent", "version": "13.3", "label": "13.3", "title": "确保分离 DSM 段期间被中断时仍能完成清理", "evidence": {"same_day": true, "patch_ids": ["36ee67e9328b5f869d9e433419a6fd69"], "statement_hash": "71484cd6ce3dcccc079a86baf0a067d7e3284adf9afa30e9031048ecc2f610cc"}, "url": "/docs/compare/?release=13.3#13.3-781bdd17d7abc7e2", "source_url": "/docs/release/13.3/#id-1.11.6.26.5"}, {"db_id": "869cfb32e5b7b396c6b448739c9e20e2", "kind": "equivalent", "version": "12.7", "label": "12.7", "title": "确保分离 DSM 段期间被中断时仍能完成清理", "evidence": {"same_day": true, "patch_ids": ["36ee67e9328b5f869d9e433419a6fd69"], "statement_hash": "71484cd6ce3dcccc079a86baf0a067d7e3284adf9afa30e9031048ecc2f610cc"}, "url": "/docs/compare/?release=12.7#12.7-9c8c5cc0a75b8ce2", "source_url": "/docs/release/12.7/#id-1.11.6.21.5"}, {"db_id": "a2d067a132fbaf87a1e15613cfce2e0a", "kind": "equivalent", "version": "11.12", "label": "11.12", "title": "确保分离 DSM 段期间被中断时仍能完成清理", "evidence": {"same_day": true, "patch_ids": ["36ee67e9328b5f869d9e433419a6fd69"], "statement_hash": "71484cd6ce3dcccc079a86baf0a067d7e3284adf9afa30e9031048ecc2f610cc"}, "url": "/docs/compare/?release=11.12#11.12-99418baefecb959e", "source_url": "/docs/release/11.12/#id-1.11.6.15.5"}, {"db_id": "e8c49727adfe23a3d9c02af29c178ab7", "kind": "equivalent", "version": "10.17", "label": "10.17", "title": "确保分离 DSM 段期间被中断时仍能完成清理", "evidence": {"same_day": true, "patch_ids": ["36ee67e9328b5f869d9e433419a6fd69"], "statement_hash": "71484cd6ce3dcccc079a86baf0a067d7e3284adf9afa30e9031048ecc2f610cc"}, "url": "/docs/compare/?release=10.17#10.17-99418baefecb959e", "source_url": "/docs/release/10.17/#id-1.11.6.11.5"}]}, {"id": "9.6.22-1dfecc2f4aee441f", "cves": [], "html": "<p>修复服务器中若干轻微的内存泄漏（Tom Lane、Andres Freund）</p>", "text": "修复服务器中若干轻微的内存泄漏（Tom Lane、Andres Freund）", "title": "修复服务器中若干轻微的内存泄漏", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.22/#id-1.11.6.7.6", "source_hash": "c8625c304f1db508bd108f50ccb4e57c423e987b1b5f21f6b7c3eac527ba73a7", "section_path": ["变更"], "commit_groups": [["099d2914f", "09e961929", "0b618ddf8", "92bc14a10", "d303849b0", "eba939551"], ["26a3ae06d", "377b7a830", "5058e95a6", "642b0b69b", "7e2521770", "fc552f868"]], "identity_text": "Fix assorted minor memory leaks in the server (Tom Lane, Andres Freund)", "commit_aliases": ["099d2914f", "09e961929", "0b618ddf8", "26a3ae06d", "377b7a830", "5058e95a6", "642b0b69b", "7e2521770", "92bc14a10", "d303849b0", "eba939551", "fc552f868"], "source_commits": ["09e961929", "7e2521770"], "source_entry_id": "9.6.22/changes/014", "db_id": "a7a165b7be91c9d1539502d4e43cb9a3", "patch_ids": ["8e19f457a6c06d813e4fcd3e511e6652", "ef57775f040bdd51593eb3d9b31a1536"], "statement_hash": "094a8ac0364fd9a6d0c65563febad094c830da53fa64add17406007d9c41640c", "relations": [{"rule": 2, "type": "related", "target": "0b77a332a701d12618a8679c0ffa81bb", "evidence": {"same_day": true, "patch_ids": ["8e19f457a6c06d813e4fcd3e511e6652", "ef57775f040bdd51593eb3d9b31a1536"], "statement_hash": "094a8ac0364fd9a6d0c65563febad094c830da53fa64add17406007d9c41640c"}}, {"rule": 2, "type": "related", "target": "1678dd9c9a9003a7d56ad21c3c3e2f3b", "evidence": {"same_day": true, "patch_ids": ["8e19f457a6c06d813e4fcd3e511e6652", "ef57775f040bdd51593eb3d9b31a1536"], "statement_hash": "094a8ac0364fd9a6d0c65563febad094c830da53fa64add17406007d9c41640c"}}, {"rule": 2, "type": "related", "target": "47dd699457eb55393cedc2f4d22772ff", "evidence": {"same_day": true, "patch_ids": ["8e19f457a6c06d813e4fcd3e511e6652", "ef57775f040bdd51593eb3d9b31a1536"], "statement_hash": "094a8ac0364fd9a6d0c65563febad094c830da53fa64add17406007d9c41640c"}}, {"rule": 2, "type": "related", "target": "f3d455c6804ccf0ec8d47e1b31d304ff", "evidence": {"same_day": true, "patch_ids": ["8e19f457a6c06d813e4fcd3e511e6652", "ef57775f040bdd51593eb3d9b31a1536"], "statement_hash": "094a8ac0364fd9a6d0c65563febad094c830da53fa64add17406007d9c41640c"}}], "version": "9.6.22", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "47dd699457eb55393cedc2f4d22772ff", "kind": "related", "version": "13.3", "label": "13.3", "title": "修复服务器中多种较小的内存泄漏", "evidence": {"same_day": true, "patch_ids": ["8e19f457a6c06d813e4fcd3e511e6652", "ef57775f040bdd51593eb3d9b31a1536"], "statement_hash": "094a8ac0364fd9a6d0c65563febad094c830da53fa64add17406007d9c41640c"}, "url": "/docs/compare/?release=13.3#13.3-a60ee9865585f428", "source_url": "/docs/release/13.3/#id-1.11.6.26.5"}, {"db_id": "f3d455c6804ccf0ec8d47e1b31d304ff", "kind": "related", "version": "12.7", "label": "12.7", "title": "修复服务器中多种较小的内存泄漏", "evidence": {"same_day": true, "patch_ids": ["8e19f457a6c06d813e4fcd3e511e6652", "ef57775f040bdd51593eb3d9b31a1536"], "statement_hash": "094a8ac0364fd9a6d0c65563febad094c830da53fa64add17406007d9c41640c"}, "url": "/docs/compare/?release=12.7#12.7-c0926c7d178ccdba", "source_url": "/docs/release/12.7/#id-1.11.6.21.5"}, {"db_id": "1678dd9c9a9003a7d56ad21c3c3e2f3b", "kind": "related", "version": "11.12", "label": "11.12", "title": "修复服务器中多种较小的内存泄漏", "evidence": {"same_day": true, "patch_ids": ["8e19f457a6c06d813e4fcd3e511e6652", "ef57775f040bdd51593eb3d9b31a1536"], "statement_hash": "094a8ac0364fd9a6d0c65563febad094c830da53fa64add17406007d9c41640c"}, "url": "/docs/compare/?release=11.12#11.12-1ebd6aed5408c6ff", "source_url": "/docs/release/11.12/#id-1.11.6.15.5"}, {"db_id": "0b77a332a701d12618a8679c0ffa81bb", "kind": "related", "version": "10.17", "label": "10.17", "title": "修复服务器中多种较小的内存泄漏", "evidence": {"same_day": true, "patch_ids": ["8e19f457a6c06d813e4fcd3e511e6652", "ef57775f040bdd51593eb3d9b31a1536"], "statement_hash": "094a8ac0364fd9a6d0c65563febad094c830da53fa64add17406007d9c41640c"}, "url": "/docs/compare/?release=10.17#10.17-1ebd6aed5408c6ff", "source_url": "/docs/release/10.17/#id-1.11.6.11.5"}]}, {"id": "9.6.22-160fe053a6923109", "cves": [], "html": "<p>防止收到长度损坏的 ParameterDescription 消息时 <span>libpq</span> 陷入无限循环（Tom Lane）</p>", "text": "防止收到长度损坏的 ParameterDescription 消息时 libpq 陷入无限循环（Tom Lane）", "title": "防止收到长度损坏的 ParameterDescription 消息时 libpq 陷入无限循环", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.22/#id-1.11.6.7.6", "source_hash": "8bac87cb93e7aaf2cf0949549b96797bab5c2415ade213d8d768e17ccbd4ac90", "section_path": ["变更"], "commit_groups": [["3580b4a0c", "51c54bb60", "56defbdd0", "a98e53e10", "d2be6cdc5", "d3a557894"]], "identity_text": "Prevent infinite loop in libpq if a ParameterDescription message with a corrupt length is received (Tom Lane)", "commit_aliases": ["3580b4a0c", "51c54bb60", "56defbdd0", "a98e53e10", "d2be6cdc5", "d3a557894"], "source_commits": ["a98e53e10"], "source_entry_id": "9.6.22/changes/015", "db_id": "cc3057e47b0e74abc43def86be80e4e8", "patch_ids": ["e631b5efa78409f5018308a9f0603cc9"], "statement_hash": "d98e127ac7c9582f7c3856848e252c82ad536cbefe55f76fecd51f3e526a7287", "relations": [{"rule": 2, "type": "equivalent", "target": "20962137519d9b459e46e1ca576e6fec", "evidence": {"same_day": true, "patch_ids": ["e631b5efa78409f5018308a9f0603cc9"], "statement_hash": "d98e127ac7c9582f7c3856848e252c82ad536cbefe55f76fecd51f3e526a7287"}}, {"rule": 2, "type": "equivalent", "target": "46eef7218cafa404380daee2f63d31a0", "evidence": {"same_day": true, "patch_ids": ["e631b5efa78409f5018308a9f0603cc9"], "statement_hash": "d98e127ac7c9582f7c3856848e252c82ad536cbefe55f76fecd51f3e526a7287"}}, {"rule": 2, "type": "equivalent", "target": "546f4a726fe3405762281da3367c949f", "evidence": {"same_day": true, "patch_ids": ["e631b5efa78409f5018308a9f0603cc9"], "statement_hash": "d98e127ac7c9582f7c3856848e252c82ad536cbefe55f76fecd51f3e526a7287"}}, {"rule": 2, "type": "equivalent", "target": "e0aaeb46fa67ca300769b7f407099603", "evidence": {"same_day": true, "patch_ids": ["e631b5efa78409f5018308a9f0603cc9"], "statement_hash": "d98e127ac7c9582f7c3856848e252c82ad536cbefe55f76fecd51f3e526a7287"}}], "version": "9.6.22", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "46eef7218cafa404380daee2f63d31a0", "kind": "equivalent", "version": "13.3", "label": "13.3", "title": "防止 libpq 收到长度损坏的 ParameterDescription 消息时陷入无限循环", "evidence": {"same_day": true, "patch_ids": ["e631b5efa78409f5018308a9f0603cc9"], "statement_hash": "d98e127ac7c9582f7c3856848e252c82ad536cbefe55f76fecd51f3e526a7287"}, "url": "/docs/compare/?release=13.3#13.3-d1b3e4574f126458", "source_url": "/docs/release/13.3/#id-1.11.6.26.5"}, {"db_id": "546f4a726fe3405762281da3367c949f", "kind": "equivalent", "version": "12.7", "label": "12.7", "title": "防止 libpq 收到长度损坏的 ParameterDescription 消息时陷入无限循环", "evidence": {"same_day": true, "patch_ids": ["e631b5efa78409f5018308a9f0603cc9"], "statement_hash": "d98e127ac7c9582f7c3856848e252c82ad536cbefe55f76fecd51f3e526a7287"}, "url": "/docs/compare/?release=12.7#12.7-eec70e869190c282", "source_url": "/docs/release/12.7/#id-1.11.6.21.5"}, {"db_id": "e0aaeb46fa67ca300769b7f407099603", "kind": "equivalent", "version": "11.12", "label": "11.12", "title": "防止 libpq 收到长度损坏的 ParameterDescription 消息时陷入无限循环", "evidence": {"same_day": true, "patch_ids": ["e631b5efa78409f5018308a9f0603cc9"], "statement_hash": "d98e127ac7c9582f7c3856848e252c82ad536cbefe55f76fecd51f3e526a7287"}, "url": "/docs/compare/?release=11.12#11.12-c5447b73a4a7d956", "source_url": "/docs/release/11.12/#id-1.11.6.15.5"}, {"db_id": "20962137519d9b459e46e1ca576e6fec", "kind": "equivalent", "version": "10.17", "label": "10.17", "title": "防止 libpq 收到长度损坏的 ParameterDescription 消息时陷入无限循环", "evidence": {"same_day": true, "patch_ids": ["e631b5efa78409f5018308a9f0603cc9"], "statement_hash": "d98e127ac7c9582f7c3856848e252c82ad536cbefe55f76fecd51f3e526a7287"}, "url": "/docs/compare/?release=10.17#10.17-c5447b73a4a7d956", "source_url": "/docs/release/10.17/#id-1.11.6.11.5"}]}, {"id": "9.6.22-ca1fa4611c3c3294", "cves": [], "html": "<p>修复 <span>psql</span>，恢复 <code>\\connect service=<em><code>something</code></em></code> 的先前行为（Tom Lane）</p>\n<p>此前的一次 bug 修复导致在这种场景下环境变量（如 <code>PGPORT</code>）会覆盖服务文件中的条目。恢复先前行为，即优先级相反。</p>", "text": "修复 psql，恢复 \\connect service=something 的先前行为（Tom Lane） 此前的一次 bug 修复导致在这种场景下环境变量（如 PGPORT）会覆盖服务文件中的条目。恢复先前行为，即优先级相反。", "title": "修复 psql，恢复 \\connect service=something 的先前行为", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.22/#id-1.11.6.7.6", "source_hash": "637426b246cfc0925d9fa3d9e6e6b64a9ee4b3401d61547f4181e3e896778074", "section_path": ["变更"], "commit_groups": [["4f670c64e", "beac4bd65", "c6eac71a8", "d5a905ed5", "d75edab42", "ea8013854"]], "identity_text": "Fix psql to restore the previous behavior of \\connect service=something (Tom Lane) A previous bug fix caused environment variables (such as PGPORT) to override entries in the service file in this context. Restore the previous behavior, in which the priority is the other way around.", "commit_aliases": ["4f670c64e", "beac4bd65", "c6eac71a8", "d5a905ed5", "d75edab42", "ea8013854"], "source_commits": ["4f670c64e"], "source_entry_id": "9.6.22/changes/016", "db_id": "4c17f93954329cc6f9f954669ba4ce36", "patch_ids": ["fab7e7d8b3905b68e36138d8f0d656e6"], "statement_hash": "736cb2e14988f53a452617794d06e7660f2909179f5e68c3e5b93d01f643deb2", "relations": [{"rule": 2, "type": "equivalent", "target": "116dbfb4021dc8f708c6d39c560689d5", "evidence": {"same_day": true, "patch_ids": ["fab7e7d8b3905b68e36138d8f0d656e6"], "statement_hash": "736cb2e14988f53a452617794d06e7660f2909179f5e68c3e5b93d01f643deb2"}}, {"rule": 2, "type": "equivalent", "target": "bee1a221cb288c1e02115549cb090f1b", "evidence": {"same_day": true, "patch_ids": ["fab7e7d8b3905b68e36138d8f0d656e6"], "statement_hash": "736cb2e14988f53a452617794d06e7660f2909179f5e68c3e5b93d01f643deb2"}}, {"rule": 2, "type": "equivalent", "target": "c7082c0d989394b0641dbee7e15c1e7e", "evidence": {"same_day": true, "patch_ids": ["fab7e7d8b3905b68e36138d8f0d656e6"], "statement_hash": "736cb2e14988f53a452617794d06e7660f2909179f5e68c3e5b93d01f643deb2"}}, {"rule": 2, "type": "equivalent", "target": "dbf74091bb1c8fe612e90357b67e32d7", "evidence": {"same_day": true, "patch_ids": ["fab7e7d8b3905b68e36138d8f0d656e6"], "statement_hash": "736cb2e14988f53a452617794d06e7660f2909179f5e68c3e5b93d01f643deb2"}}], "version": "9.6.22", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "c7082c0d989394b0641dbee7e15c1e7e", "kind": "equivalent", "version": "13.3", "label": "13.3", "title": "修复 psql，恢复 \\connect service=something 以前的行为", "evidence": {"same_day": true, "patch_ids": ["fab7e7d8b3905b68e36138d8f0d656e6"], "statement_hash": "736cb2e14988f53a452617794d06e7660f2909179f5e68c3e5b93d01f643deb2"}, "url": "/docs/compare/?release=13.3#13.3-846e4f14cd80f245", "source_url": "/docs/release/13.3/#id-1.11.6.26.5"}, {"db_id": "dbf74091bb1c8fe612e90357b67e32d7", "kind": "equivalent", "version": "12.7", "label": "12.7", "title": "修复 psql，恢复 \\connect service=something 以前的行为", "evidence": {"same_day": true, "patch_ids": ["fab7e7d8b3905b68e36138d8f0d656e6"], "statement_hash": "736cb2e14988f53a452617794d06e7660f2909179f5e68c3e5b93d01f643deb2"}, "url": "/docs/compare/?release=12.7#12.7-82ad77b59962a124", "source_url": "/docs/release/12.7/#id-1.11.6.21.5"}, {"db_id": "116dbfb4021dc8f708c6d39c560689d5", "kind": "equivalent", "version": "11.12", "label": "11.12", "title": "修复 psql，恢复 \\connect service=something 以前的行为", "evidence": {"same_day": true, "patch_ids": ["fab7e7d8b3905b68e36138d8f0d656e6"], "statement_hash": "736cb2e14988f53a452617794d06e7660f2909179f5e68c3e5b93d01f643deb2"}, "url": "/docs/compare/?release=11.12#11.12-33788c5c4452efbb", "source_url": "/docs/release/11.12/#id-1.11.6.15.5"}, {"db_id": "bee1a221cb288c1e02115549cb090f1b", "kind": "equivalent", "version": "10.17", "label": "10.17", "title": "修复 psql，恢复 \\connect service=something 以前的行为", "evidence": {"same_day": true, "patch_ids": ["fab7e7d8b3905b68e36138d8f0d656e6"], "statement_hash": "736cb2e14988f53a452617794d06e7660f2909179f5e68c3e5b93d01f643deb2"}, "url": "/docs/compare/?release=10.17#10.17-33788c5c4452efbb", "source_url": "/docs/release/10.17/#id-1.11.6.11.5"}]}, {"id": "9.6.22-fa8121edc8178671", "cves": [], "html": "<p>修复 <span>psql</span> 的 <code>\\e</code> 及相关命令检测文件修改时的竞态条件（Laurenz Albe）</p>\n<p>打字极快的用户可能骗过该代码基于文件时间戳的临时编辑文件是否被修改的检测。</p>", "text": "修复 psql 的 \\e 及相关命令检测文件修改时的竞态条件（Laurenz Albe） 打字极快的用户可能骗过该代码基于文件时间戳的临时编辑文件是否被修改的检测。", "title": "修复 psql 的 \\e 及相关命令检测文件修改时的竞态条件", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.22/#id-1.11.6.7.6", "source_hash": "10521262204e2960c631b351a6aa9a40733e2ec8f74c45c1a2bf09b67c057b49", "section_path": ["变更"], "commit_groups": [["33aa7d13d", "48d67fd89", "60e5c2b14", "6ed059933", "8915e7906", "a42c4438b"]], "identity_text": "Fix race condition in detection of file modification by psql's \\e and related commands (Laurenz Albe) A very fast typist could fool the code's file-timestamp-based detection of whether the temporary edit file was changed.", "commit_aliases": ["33aa7d13d", "48d67fd89", "60e5c2b14", "6ed059933", "8915e7906", "a42c4438b"], "source_commits": ["a42c4438b"], "source_entry_id": "9.6.22/changes/017", "db_id": "a97d6f6fa8cb0ec9888093363fd3bc91", "patch_ids": ["f1f2c42ed62775746fe26cc6baea91ff"], "statement_hash": "42d0c5c02ba2f856da532d2bbc9e8f9252a72c515c98c7ce7bb10187fd2dd433", "relations": [{"rule": 2, "type": "equivalent", "target": "629ec2f506257dac0541d0eb5f2df930", "evidence": {"same_day": true, "patch_ids": ["f1f2c42ed62775746fe26cc6baea91ff"], "statement_hash": "42d0c5c02ba2f856da532d2bbc9e8f9252a72c515c98c7ce7bb10187fd2dd433"}}, {"rule": 2, "type": "equivalent", "target": "789d0f31913e4825828aee505607146c", "evidence": {"same_day": true, "patch_ids": ["f1f2c42ed62775746fe26cc6baea91ff"], "statement_hash": "42d0c5c02ba2f856da532d2bbc9e8f9252a72c515c98c7ce7bb10187fd2dd433"}}, {"rule": 2, "type": "equivalent", "target": "9490d94d24adfc3753c23708e68ea756", "evidence": {"same_day": true, "patch_ids": ["f1f2c42ed62775746fe26cc6baea91ff"], "statement_hash": "42d0c5c02ba2f856da532d2bbc9e8f9252a72c515c98c7ce7bb10187fd2dd433"}}, {"rule": 2, "type": "equivalent", "target": "a5b781e82406d8ec8e6110705c010700", "evidence": {"same_day": true, "patch_ids": ["f1f2c42ed62775746fe26cc6baea91ff"], "statement_hash": "42d0c5c02ba2f856da532d2bbc9e8f9252a72c515c98c7ce7bb10187fd2dd433"}}], "version": "9.6.22", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "9490d94d24adfc3753c23708e68ea756", "kind": "equivalent", "version": "13.3", "label": "13.3", "title": "修复 psql 的 \\e 及相关命令检测文件修改时的竞争条件", "evidence": {"same_day": true, "patch_ids": ["f1f2c42ed62775746fe26cc6baea91ff"], "statement_hash": "42d0c5c02ba2f856da532d2bbc9e8f9252a72c515c98c7ce7bb10187fd2dd433"}, "url": "/docs/compare/?release=13.3#13.3-57ede42ce642fa9a", "source_url": "/docs/release/13.3/#id-1.11.6.26.5"}, {"db_id": "a5b781e82406d8ec8e6110705c010700", "kind": "equivalent", "version": "12.7", "label": "12.7", "title": "修复 psql 的 \\e 及相关命令检测文件修改时的竞争条件", "evidence": {"same_day": true, "patch_ids": ["f1f2c42ed62775746fe26cc6baea91ff"], "statement_hash": "42d0c5c02ba2f856da532d2bbc9e8f9252a72c515c98c7ce7bb10187fd2dd433"}, "url": "/docs/compare/?release=12.7#12.7-cc0b940141de7ebc", "source_url": "/docs/release/12.7/#id-1.11.6.21.5"}, {"db_id": "629ec2f506257dac0541d0eb5f2df930", "kind": "equivalent", "version": "11.12", "label": "11.12", "title": "修复 psql 的 \\e 及相关命令检测文件修改时的竞争条件", "evidence": {"same_day": true, "patch_ids": ["f1f2c42ed62775746fe26cc6baea91ff"], "statement_hash": "42d0c5c02ba2f856da532d2bbc9e8f9252a72c515c98c7ce7bb10187fd2dd433"}, "url": "/docs/compare/?release=11.12#11.12-07948f89c9d80c85", "source_url": "/docs/release/11.12/#id-1.11.6.15.5"}, {"db_id": "789d0f31913e4825828aee505607146c", "kind": "equivalent", "version": "10.17", "label": "10.17", "title": "修复 psql 的 \\e 及相关命令检测文件修改时的竞争条件", "evidence": {"same_day": true, "patch_ids": ["f1f2c42ed62775746fe26cc6baea91ff"], "statement_hash": "42d0c5c02ba2f856da532d2bbc9e8f9252a72c515c98c7ce7bb10187fd2dd433"}, "url": "/docs/compare/?release=10.17#10.17-07948f89c9d80c85", "source_url": "/docs/release/10.17/#id-1.11.6.11.5"}]}, {"id": "9.6.22-3ec0b2f3e8de9211", "cves": [], "html": "<p>修复 <span>pg_restore</span> 漏检文件版本的问题（Tom Lane）</p>\n<p>从不可寻址的源读取自定义格式归档时，<span>pg_restore</span> 忽略了检查归档版本。如果被喂给比它所支持的更新版本的归档，之后会混乱地失败。</p>", "text": "修复 pg_restore 漏检文件版本的问题（Tom Lane） 从不可寻址的源读取自定义格式归档时，pg_restore 忽略了检查归档版本。如果被喂给比它所支持的更新版本的归档，之后会混乱地失败。", "title": "修复 pg_restore 漏检文件版本的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.22/#id-1.11.6.7.6", "source_hash": "ea635e180ebf3ed85e8bc63d55e76ebc90467382e4017be77a40445f251cc3d9", "section_path": ["变更"], "commit_groups": [["1b6961c8f", "25fe401d5", "2c9b857af", "35421a470", "84c5e0dd2", "ec03f2df1"]], "identity_text": "Fix missed file version check in pg_restore (Tom Lane) When reading a custom-format archive from a non-seekable source, pg_restore neglected to check the archive version. If it was fed a newer archive version than it can support, it would fail messily later on.", "commit_aliases": ["1b6961c8f", "25fe401d5", "2c9b857af", "35421a470", "84c5e0dd2", "ec03f2df1"], "source_commits": ["2c9b857af"], "source_entry_id": "9.6.22/changes/018", "db_id": "715fd254bd8a4717c986721fdf71070d", "patch_ids": ["7e82d706ec05509f41bf6e5c2003df15"], "statement_hash": "30d3e9379809400f654c0a8f6ebf8190762357f8cce85f7ff85e913de51464b9", "relations": [{"rule": 2, "type": "equivalent", "target": "66907a60b4852950edf387af36c10dbb", "evidence": {"same_day": true, "patch_ids": ["7e82d706ec05509f41bf6e5c2003df15"], "statement_hash": "30d3e9379809400f654c0a8f6ebf8190762357f8cce85f7ff85e913de51464b9"}}, {"rule": 2, "type": "equivalent", "target": "a7163c4d0c78c39be674cefac9a50abc", "evidence": {"same_day": true, "patch_ids": ["7e82d706ec05509f41bf6e5c2003df15"], "statement_hash": "30d3e9379809400f654c0a8f6ebf8190762357f8cce85f7ff85e913de51464b9"}}, {"rule": 2, "type": "equivalent", "target": "bf10eb31ef22649341d965fb9d13d2cc", "evidence": {"same_day": true, "patch_ids": ["7e82d706ec05509f41bf6e5c2003df15"], "statement_hash": "30d3e9379809400f654c0a8f6ebf8190762357f8cce85f7ff85e913de51464b9"}}, {"rule": 2, "type": "equivalent", "target": "f9160e6dc2769150fb108fe831bb2531", "evidence": {"same_day": true, "patch_ids": ["7e82d706ec05509f41bf6e5c2003df15"], "statement_hash": "30d3e9379809400f654c0a8f6ebf8190762357f8cce85f7ff85e913de51464b9"}}], "version": "9.6.22", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "66907a60b4852950edf387af36c10dbb", "kind": "equivalent", "version": "13.3", "label": "13.3", "title": "修复 pg_restore 中遗漏的文件版本检查", "evidence": {"same_day": true, "patch_ids": ["7e82d706ec05509f41bf6e5c2003df15"], "statement_hash": "30d3e9379809400f654c0a8f6ebf8190762357f8cce85f7ff85e913de51464b9"}, "url": "/docs/compare/?release=13.3#13.3-130f7a85d04342ce", "source_url": "/docs/release/13.3/#id-1.11.6.26.5"}, {"db_id": "f9160e6dc2769150fb108fe831bb2531", "kind": "equivalent", "version": "12.7", "label": "12.7", "title": "修复 pg_restore 中遗漏的文件版本检查", "evidence": {"same_day": true, "patch_ids": ["7e82d706ec05509f41bf6e5c2003df15"], "statement_hash": "30d3e9379809400f654c0a8f6ebf8190762357f8cce85f7ff85e913de51464b9"}, "url": "/docs/compare/?release=12.7#12.7-215f5c04452b2f36", "source_url": "/docs/release/12.7/#id-1.11.6.21.5"}, {"db_id": "bf10eb31ef22649341d965fb9d13d2cc", "kind": "equivalent", "version": "11.12", "label": "11.12", "title": "修复 pg_restore 中遗漏的文件版本检查", "evidence": {"same_day": true, "patch_ids": ["7e82d706ec05509f41bf6e5c2003df15"], "statement_hash": "30d3e9379809400f654c0a8f6ebf8190762357f8cce85f7ff85e913de51464b9"}, "url": "/docs/compare/?release=11.12#11.12-b2b29c9834ba075b", "source_url": "/docs/release/11.12/#id-1.11.6.15.5"}, {"db_id": "a7163c4d0c78c39be674cefac9a50abc", "kind": "equivalent", "version": "10.17", "label": "10.17", "title": "修复 pg_restore 中遗漏的文件版本检查", "evidence": {"same_day": true, "patch_ids": ["7e82d706ec05509f41bf6e5c2003df15"], "statement_hash": "30d3e9379809400f654c0a8f6ebf8190762357f8cce85f7ff85e913de51464b9"}, "url": "/docs/compare/?release=10.17#10.17-b2b29c9834ba075b", "source_url": "/docs/release/10.17/#id-1.11.6.11.5"}]}, {"id": "9.6.22-01aa2189fc590de9", "cves": [], "html": "<p>为 <span>pg_upgrade</span> 增加更多对包含不可升级数据类型的用户表的检查（Tom Lane）</p>\n<p>修复某些不可升级数据类型嵌入在容器类型（如数组或范围）内部的检测。同时禁止升级用户表中包含系统定义复合类型的列，因为这些类型的 OID 跨版本不稳定。</p>", "text": "为 pg_upgrade 增加更多对包含不可升级数据类型的用户表的检查（Tom Lane） 修复某些不可升级数据类型嵌入在容器类型（如数组或范围）内部的检测。同时禁止升级用户表中包含系统定义复合类型的列，因为这些类型的 OID 跨版本不稳定。", "title": "为 pg_upgrade 增加更多对包含不可升级数据类型的用户表的检查", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.22/#id-1.11.6.7.6", "source_hash": "d3c94ec29f7cf48a61261f010b2c469474a59319602e55be4c5cfa5f37c493d3", "section_path": ["变更"], "commit_groups": [["404946d40", "54a233071", "57c081de0", "ba86371b9", "bbcfee0e5", "d5722c927"]], "identity_text": "Add some more checks to pg_upgrade for user tables containing non-upgradable data types (Tom Lane) Fix detection of some cases where a non-upgradable data type is embedded within a container type (such as an array or range). Also disallow upgrading when user tables contain columns of system-defined composite types, since those types' OIDs are not stable across versions.", "commit_aliases": ["404946d40", "54a233071", "57c081de0", "ba86371b9", "bbcfee0e5", "d5722c927"], "source_commits": ["54a233071"], "source_entry_id": "9.6.22/changes/019", "db_id": "abc8e5d67ba0f03b572aa61fb16fa606", "patch_ids": ["c890e278f33a1b7c3d576b02666e28af"], "statement_hash": "c5c1312b909085dfcbed2b85d264a298e20d86321a4f7cb883264aef8d03e506", "relations": [{"rule": 2, "type": "equivalent", "target": "4a35a518c763a81d11486e7586282fdd", "evidence": {"same_day": true, "patch_ids": ["c890e278f33a1b7c3d576b02666e28af"], "statement_hash": "c5c1312b909085dfcbed2b85d264a298e20d86321a4f7cb883264aef8d03e506"}}, {"rule": 2, "type": "equivalent", "target": "b847847e95257ae080ca36d3c4db7c46", "evidence": {"same_day": true, "patch_ids": ["c890e278f33a1b7c3d576b02666e28af"], "statement_hash": "c5c1312b909085dfcbed2b85d264a298e20d86321a4f7cb883264aef8d03e506"}}, {"rule": 2, "type": "equivalent", "target": "bb329e3677e2f4a8187c163041b2467b", "evidence": {"same_day": true, "patch_ids": ["c890e278f33a1b7c3d576b02666e28af"], "statement_hash": "c5c1312b909085dfcbed2b85d264a298e20d86321a4f7cb883264aef8d03e506"}}, {"rule": 2, "type": "equivalent", "target": "bdd180e442b2457a080f8ede3edfb6cd", "evidence": {"same_day": true, "patch_ids": ["c890e278f33a1b7c3d576b02666e28af"], "statement_hash": "c5c1312b909085dfcbed2b85d264a298e20d86321a4f7cb883264aef8d03e506"}}], "version": "9.6.22", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "4a35a518c763a81d11486e7586282fdd", "kind": "equivalent", "version": "13.3", "label": "13.3", "title": "为 pg_upgrade 增加对包含不可升级数据类型的用户表的检查", "evidence": {"same_day": true, "patch_ids": ["c890e278f33a1b7c3d576b02666e28af"], "statement_hash": "c5c1312b909085dfcbed2b85d264a298e20d86321a4f7cb883264aef8d03e506"}, "url": "/docs/compare/?release=13.3#13.3-a1e79a1c9aa1137a", "source_url": "/docs/release/13.3/#id-1.11.6.26.5"}, {"db_id": "bdd180e442b2457a080f8ede3edfb6cd", "kind": "equivalent", "version": "12.7", "label": "12.7", "title": "为 pg_upgrade 增加对包含不可升级数据类型的用户表的检查", "evidence": {"same_day": true, "patch_ids": ["c890e278f33a1b7c3d576b02666e28af"], "statement_hash": "c5c1312b909085dfcbed2b85d264a298e20d86321a4f7cb883264aef8d03e506"}, "url": "/docs/compare/?release=12.7#12.7-6fc52d428f2f81e1", "source_url": "/docs/release/12.7/#id-1.11.6.21.5"}, {"db_id": "bb329e3677e2f4a8187c163041b2467b", "kind": "equivalent", "version": "11.12", "label": "11.12", "title": "为 pg_upgrade 增加对包含不可升级数据类型的用户表的检查", "evidence": {"same_day": true, "patch_ids": ["c890e278f33a1b7c3d576b02666e28af"], "statement_hash": "c5c1312b909085dfcbed2b85d264a298e20d86321a4f7cb883264aef8d03e506"}, "url": "/docs/compare/?release=11.12#11.12-30a5c5ce3956af46", "source_url": "/docs/release/11.12/#id-1.11.6.15.5"}, {"db_id": "b847847e95257ae080ca36d3c4db7c46", "kind": "equivalent", "version": "10.17", "label": "10.17", "title": "为 pg_upgrade 增加对包含不可升级数据类型的用户表的检查", "evidence": {"same_day": true, "patch_ids": ["c890e278f33a1b7c3d576b02666e28af"], "statement_hash": "c5c1312b909085dfcbed2b85d264a298e20d86321a4f7cb883264aef8d03e506"}, "url": "/docs/compare/?release=10.17#10.17-30a5c5ce3956af46", "source_url": "/docs/release/10.17/#id-1.11.6.11.5"}]}, {"id": "9.6.22-c6816bcee191dec3", "cves": [], "html": "<p>修复 <span>pg_waldump</span> 在生成逐记录统计时对 <code>XACT</code> 记录的计数（Kyotaro Horiguchi）</p>", "text": "修复 pg_waldump 在生成逐记录统计时对 XACT 记录的计数（Kyotaro Horiguchi）", "title": "修复 pg_waldump 在生成逐记录统计时对 XACT 记录的计数", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.22/#id-1.11.6.7.6", "source_hash": "3dc7fc111d66a492cff90d7dabef66b81152c4ae361f4432e90b2754b6ae2cff", "section_path": ["变更"], "commit_groups": [["34279fd4f", "4220e06f4", "4a2627c41", "51893c846", "5386a8506", "e73068b07"]], "identity_text": "Fix pg_waldump to count XACT records correctly when generating per-record statistics (Kyotaro Horiguchi)", "commit_aliases": ["34279fd4f", "4220e06f4", "4a2627c41", "51893c846", "5386a8506", "e73068b07"], "source_commits": ["e73068b07"], "source_entry_id": "9.6.22/changes/020", "db_id": "99c2c5cd828d5a16e7254eb5aa4bced3", "patch_ids": ["37f24563004a04b9b8719206fc002c9b"], "statement_hash": "62f5e02676b62f43a87860a3597f2382dd42ffce85c97796f2654fe2a700a261", "relations": [{"rule": 2, "type": "equivalent", "target": "15a0fdba1603a2fb77a254f2bff1ffc1", "evidence": {"same_day": true, "patch_ids": ["37f24563004a04b9b8719206fc002c9b"], "statement_hash": "62f5e02676b62f43a87860a3597f2382dd42ffce85c97796f2654fe2a700a261"}}, {"rule": 2, "type": "equivalent", "target": "191764d2b7f59eec30f9503c182fe916", "evidence": {"same_day": true, "patch_ids": ["37f24563004a04b9b8719206fc002c9b"], "statement_hash": "62f5e02676b62f43a87860a3597f2382dd42ffce85c97796f2654fe2a700a261"}}, {"rule": 2, "type": "equivalent", "target": "2deed9332fac2f24b11a781fb9bac839", "evidence": {"same_day": true, "patch_ids": ["37f24563004a04b9b8719206fc002c9b"], "statement_hash": "62f5e02676b62f43a87860a3597f2382dd42ffce85c97796f2654fe2a700a261"}}, {"rule": 2, "type": "equivalent", "target": "9b2840b6b9fd5bffd0900a09fad79736", "evidence": {"same_day": true, "patch_ids": ["37f24563004a04b9b8719206fc002c9b"], "statement_hash": "62f5e02676b62f43a87860a3597f2382dd42ffce85c97796f2654fe2a700a261"}}], "version": "9.6.22", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "15a0fdba1603a2fb77a254f2bff1ffc1", "kind": "equivalent", "version": "13.3", "label": "13.3", "title": "修复 pg_waldump，使其在生成逐记录统计信息时正确统计 XACT 记录", "evidence": {"same_day": true, "patch_ids": ["37f24563004a04b9b8719206fc002c9b"], "statement_hash": "62f5e02676b62f43a87860a3597f2382dd42ffce85c97796f2654fe2a700a261"}, "url": "/docs/compare/?release=13.3#13.3-650c9e32773ccb57", "source_url": "/docs/release/13.3/#id-1.11.6.26.5"}, {"db_id": "191764d2b7f59eec30f9503c182fe916", "kind": "equivalent", "version": "12.7", "label": "12.7", "title": "修复 pg_waldump，使其在生成逐记录统计信息时正确统计 XACT 记录", "evidence": {"same_day": true, "patch_ids": ["37f24563004a04b9b8719206fc002c9b"], "statement_hash": "62f5e02676b62f43a87860a3597f2382dd42ffce85c97796f2654fe2a700a261"}, "url": "/docs/compare/?release=12.7#12.7-6d00bb5e17dbfa56", "source_url": "/docs/release/12.7/#id-1.11.6.21.5"}, {"db_id": "2deed9332fac2f24b11a781fb9bac839", "kind": "equivalent", "version": "11.12", "label": "11.12", "title": "修复 pg_waldump，使其在生成逐记录统计信息时正确统计 XACT 记录", "evidence": {"same_day": true, "patch_ids": ["37f24563004a04b9b8719206fc002c9b"], "statement_hash": "62f5e02676b62f43a87860a3597f2382dd42ffce85c97796f2654fe2a700a261"}, "url": "/docs/compare/?release=11.12#11.12-e5c33348418ff4d8", "source_url": "/docs/release/11.12/#id-1.11.6.15.5"}, {"db_id": "9b2840b6b9fd5bffd0900a09fad79736", "kind": "equivalent", "version": "10.17", "label": "10.17", "title": "修复 pg_waldump，使其在生成逐记录统计信息时正确统计 XACT 记录", "evidence": {"same_day": true, "patch_ids": ["37f24563004a04b9b8719206fc002c9b"], "statement_hash": "62f5e02676b62f43a87860a3597f2382dd42ffce85c97796f2654fe2a700a261"}, "url": "/docs/compare/?release=10.17#10.17-e5c33348418ff4d8", "source_url": "/docs/release/10.17/#id-1.11.6.11.5"}]}, {"id": "9.6.22-df1999e32518d078", "cves": [], "html": "<p>修复 <code>contrib/amcheck</code> 不再对同时设置了元组标志 <code>HEAP_XMAX_LOCK_ONLY</code> 和 <code>HEAP_KEYS_UPDATED</code> 报怨（Julien Rouhaud）</p>\n<p>这是 <code>SELECT FOR UPDATE</code> 之后的一种有效状态。</p>", "text": "修复 contrib/amcheck 不再对同时设置了元组标志 HEAP_XMAX_LOCK_ONLY 和 HEAP_KEYS_UPDATED 报怨（Julien Rouhaud） 这是 SELECT FOR UPDATE 之后的一种有效状态。", "title": "修复 contrib/amcheck 不再对同时设置了元组标志 HEAP_XMAX_LOCK_ONLY 和 HEAP_KEYS_UPDATED 报怨", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.22/#id-1.11.6.7.6", "source_hash": "4e5f97b2ceb60cac99e60a5cc1c21e52dd0807343708d74348a352d80850b529", "section_path": ["变更"], "commit_groups": [["0ccebe779", "258391707", "2796ae2ad", "28f4b6108", "8deb6b38d", "bf518fefa"]], "identity_text": "Fix contrib/amcheck to not complain about the tuple flags HEAP_XMAX_LOCK_ONLY and HEAP_KEYS_UPDATED both being set (Julien Rouhaud) This is a valid state after SELECT FOR UPDATE.", "commit_aliases": ["0ccebe779", "258391707", "2796ae2ad", "28f4b6108", "8deb6b38d", "bf518fefa"], "source_commits": ["0ccebe779"], "source_entry_id": "9.6.22/changes/021", "db_id": "03430d78c7197cbdbd4b5154404099dd", "patch_ids": ["532b61ef424402770de657ec50ca7ee2"], "statement_hash": "8d862505d16b5938059c3b7ced4ce7627b20411b8915074adfe742084efa55a2", "relations": [{"rule": 2, "type": "equivalent", "target": "46cf5e6392e585c108df88f560ba19e0", "evidence": {"same_day": true, "patch_ids": ["532b61ef424402770de657ec50ca7ee2"], "statement_hash": "8d862505d16b5938059c3b7ced4ce7627b20411b8915074adfe742084efa55a2"}}, {"rule": 2, "type": "equivalent", "target": "c428f7cbafcf889bbd24c2d703afc8a1", "evidence": {"same_day": true, "patch_ids": ["532b61ef424402770de657ec50ca7ee2"], "statement_hash": "8d862505d16b5938059c3b7ced4ce7627b20411b8915074adfe742084efa55a2"}}, {"rule": 2, "type": "equivalent", "target": "e885d411401ddad9358a9fb28a0d2027", "evidence": {"same_day": true, "patch_ids": ["532b61ef424402770de657ec50ca7ee2"], "statement_hash": "8d862505d16b5938059c3b7ced4ce7627b20411b8915074adfe742084efa55a2"}}, {"rule": 2, "type": "equivalent", "target": "ead519e93f069d185ec7b76b51f4c414", "evidence": {"same_day": true, "patch_ids": ["532b61ef424402770de657ec50ca7ee2"], "statement_hash": "8d862505d16b5938059c3b7ced4ce7627b20411b8915074adfe742084efa55a2"}}], "version": "9.6.22", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "c428f7cbafcf889bbd24c2d703afc8a1", "kind": "equivalent", "version": "13.3", "label": "13.3", "title": "修复 contrib/amcheck，使其不再因元组标志 HEAP_XMAX_LOCK_ONLY 和 HEAP_KEYS_UPDATED 同时设置而报错", "evidence": {"same_day": true, "patch_ids": ["532b61ef424402770de657ec50ca7ee2"], "statement_hash": "8d862505d16b5938059c3b7ced4ce7627b20411b8915074adfe742084efa55a2"}, "url": "/docs/compare/?release=13.3#13.3-e07e3d4dd848fb1b", "source_url": "/docs/release/13.3/#id-1.11.6.26.5"}, {"db_id": "ead519e93f069d185ec7b76b51f4c414", "kind": "equivalent", "version": "12.7", "label": "12.7", "title": "修复 contrib/amcheck，使其不再因元组标志 HEAP_XMAX_LOCK_ONLY 和 HEAP_KEYS_UPDATED 同时设置而报错", "evidence": {"same_day": true, "patch_ids": ["532b61ef424402770de657ec50ca7ee2"], "statement_hash": "8d862505d16b5938059c3b7ced4ce7627b20411b8915074adfe742084efa55a2"}, "url": "/docs/compare/?release=12.7#12.7-d27b2a1d13d77853", "source_url": "/docs/release/12.7/#id-1.11.6.21.5"}, {"db_id": "46cf5e6392e585c108df88f560ba19e0", "kind": "equivalent", "version": "11.12", "label": "11.12", "title": "修复 contrib/amcheck，使其不再因元组标志 HEAP_XMAX_LOCK_ONLY 和 HEAP_KEYS_UPDATED 同时设置而报错", "evidence": {"same_day": true, "patch_ids": ["532b61ef424402770de657ec50ca7ee2"], "statement_hash": "8d862505d16b5938059c3b7ced4ce7627b20411b8915074adfe742084efa55a2"}, "url": "/docs/compare/?release=11.12#11.12-fcb7ca14a2de3cca", "source_url": "/docs/release/11.12/#id-1.11.6.15.5"}, {"db_id": "e885d411401ddad9358a9fb28a0d2027", "kind": "equivalent", "version": "10.17", "label": "10.17", "title": "修复 contrib/amcheck，使其不再因元组标志 HEAP_XMAX_LOCK_ONLY 和 HEAP_KEYS_UPDATED 同时设置而报错", "evidence": {"same_day": true, "patch_ids": ["532b61ef424402770de657ec50ca7ee2"], "statement_hash": "8d862505d16b5938059c3b7ced4ce7627b20411b8915074adfe742084efa55a2"}, "url": "/docs/compare/?release=10.17#10.17-fcb7ca14a2de3cca", "source_url": "/docs/release/10.17/#id-1.11.6.11.5"}]}, {"id": "9.6.22-092d0460f5b52397", "cves": [], "html": "<p>调整 VPATH 构建规则以支持较新的 Oracle Developer Studio 编译器版本（Noah Misch）</p>", "text": "调整 VPATH 构建规则以支持较新的 Oracle Developer Studio 编译器版本（Noah Misch）", "title": "调整 VPATH 构建规则以支持较新的 Oracle Developer Studio 编译器版本", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.22/#id-1.11.6.7.6", "source_hash": "ee57f82a23657c25ab0862f8fdb28540a237495ad4fe1a8b3ecfaddb8c0a04b5", "section_path": ["变更"], "commit_groups": [["13881199e", "455dbc010", "4749c7ff4", "c8da16ba1", "f488d19f3", "fb9812b6c"]], "identity_text": "Adjust VPATH build rules to support recent Oracle Developer Studio compiler versions (Noah Misch)", "commit_aliases": ["13881199e", "455dbc010", "4749c7ff4", "c8da16ba1", "f488d19f3", "fb9812b6c"], "source_commits": ["f488d19f3"], "source_entry_id": "9.6.22/changes/022", "db_id": "eb8154c18011d297b73acf6cd5836fa5", "patch_ids": ["27d590e27b4dcc514c6e09efc67cd898"], "statement_hash": "65954025781eb79b6d9db6bbf8a054c0bbfbb3855b258f5da4e82680abca0e9c", "relations": [{"rule": 2, "type": "equivalent", "target": "2431ed226eb3ece1ee012e119ee804d6", "evidence": {"same_day": true, "patch_ids": ["27d590e27b4dcc514c6e09efc67cd898"], "statement_hash": "65954025781eb79b6d9db6bbf8a054c0bbfbb3855b258f5da4e82680abca0e9c"}}, {"rule": 2, "type": "equivalent", "target": "5a1e2b32ba24f2105020cf405dee28aa", "evidence": {"same_day": true, "patch_ids": ["27d590e27b4dcc514c6e09efc67cd898"], "statement_hash": "65954025781eb79b6d9db6bbf8a054c0bbfbb3855b258f5da4e82680abca0e9c"}}, {"rule": 2, "type": "equivalent", "target": "67c6b59641c1e9a17f6bd874be7e694c", "evidence": {"same_day": true, "patch_ids": ["27d590e27b4dcc514c6e09efc67cd898"], "statement_hash": "65954025781eb79b6d9db6bbf8a054c0bbfbb3855b258f5da4e82680abca0e9c"}}, {"rule": 2, "type": "equivalent", "target": "77e1e3a9debc4e533cda64e3938174e2", "evidence": {"same_day": true, "patch_ids": ["27d590e27b4dcc514c6e09efc67cd898"], "statement_hash": "65954025781eb79b6d9db6bbf8a054c0bbfbb3855b258f5da4e82680abca0e9c"}}], "version": "9.6.22", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "5a1e2b32ba24f2105020cf405dee28aa", "kind": "equivalent", "version": "13.3", "label": "13.3", "title": "调整 VPATH 构建规则，以支持较新版本的 Oracle Developer Studio 编译器", "evidence": {"same_day": true, "patch_ids": ["27d590e27b4dcc514c6e09efc67cd898"], "statement_hash": "65954025781eb79b6d9db6bbf8a054c0bbfbb3855b258f5da4e82680abca0e9c"}, "url": "/docs/compare/?release=13.3#13.3-f4f1281003126428", "source_url": "/docs/release/13.3/#id-1.11.6.26.5"}, {"db_id": "67c6b59641c1e9a17f6bd874be7e694c", "kind": "equivalent", "version": "12.7", "label": "12.7", "title": "调整 VPATH 构建规则，以支持较新版本的 Oracle Developer Studio 编译器", "evidence": {"same_day": true, "patch_ids": ["27d590e27b4dcc514c6e09efc67cd898"], "statement_hash": "65954025781eb79b6d9db6bbf8a054c0bbfbb3855b258f5da4e82680abca0e9c"}, "url": "/docs/compare/?release=12.7#12.7-29df11f62dca7309", "source_url": "/docs/release/12.7/#id-1.11.6.21.5"}, {"db_id": "2431ed226eb3ece1ee012e119ee804d6", "kind": "equivalent", "version": "11.12", "label": "11.12", "title": "调整 VPATH 构建规则，以支持较新版本的 Oracle Developer Studio 编译器", "evidence": {"same_day": true, "patch_ids": ["27d590e27b4dcc514c6e09efc67cd898"], "statement_hash": "65954025781eb79b6d9db6bbf8a054c0bbfbb3855b258f5da4e82680abca0e9c"}, "url": "/docs/compare/?release=11.12#11.12-09c5c2b451bafe18", "source_url": "/docs/release/11.12/#id-1.11.6.15.5"}, {"db_id": "77e1e3a9debc4e533cda64e3938174e2", "kind": "equivalent", "version": "10.17", "label": "10.17", "title": "调整 VPATH 构建规则，以支持较新版本的 Oracle Developer Studio 编译器", "evidence": {"same_day": true, "patch_ids": ["27d590e27b4dcc514c6e09efc67cd898"], "statement_hash": "65954025781eb79b6d9db6bbf8a054c0bbfbb3855b258f5da4e82680abca0e9c"}, "url": "/docs/compare/?release=10.17#10.17-09c5c2b451bafe18", "source_url": "/docs/release/10.17/#id-1.11.6.11.5"}]}, {"id": "9.6.22-0823a56806e72b56", "cves": [], "html": "<p>修复 Solaris 上 PL/Python 对 Python 3 的测试（Noah Misch）</p>", "text": "修复 Solaris 上 PL/Python 对 Python 3 的测试（Noah Misch）", "title": "修复 Solaris 上 PL/Python 对 Python 3 的测试", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.22/#id-1.11.6.7.6", "source_hash": "736a4b2b96c8b8b6a02b0043f8bbf9cd2bacd03ae9f4a236a7778da5d3905abf", "section_path": ["变更"], "commit_groups": [["14652a19f", "4a3de4092", "72a9bd047", "766c8fce5", "c3556f6fa", "e3ac7d176"]], "identity_text": "Fix testing of PL/Python for Python 3 on Solaris (Noah Misch)", "commit_aliases": ["14652a19f", "4a3de4092", "72a9bd047", "766c8fce5", "c3556f6fa", "e3ac7d176"], "source_commits": ["14652a19f"], "source_entry_id": "9.6.22/changes/023", "db_id": "2344812cc386e14dd7dd54e4a4e882fe", "patch_ids": ["898933cc13535691a9f7159709882e71"], "statement_hash": "db875be06f10f73c6306bcdc30de080ff4b7a4ed322c869b57a5b7c71143a3c7", "relations": [{"rule": 2, "type": "equivalent", "target": "17dbeb20be5ddeb53681473f23bc4b25", "evidence": {"same_day": true, "patch_ids": ["898933cc13535691a9f7159709882e71"], "statement_hash": "db875be06f10f73c6306bcdc30de080ff4b7a4ed322c869b57a5b7c71143a3c7"}}, {"rule": 2, "type": "equivalent", "target": "4f3f6954d89c0b65253f9600be8a9ec8", "evidence": {"same_day": true, "patch_ids": ["898933cc13535691a9f7159709882e71"], "statement_hash": "db875be06f10f73c6306bcdc30de080ff4b7a4ed322c869b57a5b7c71143a3c7"}}, {"rule": 2, "type": "equivalent", "target": "a029a502265ccdbd46a66494d03d3a76", "evidence": {"same_day": true, "patch_ids": ["898933cc13535691a9f7159709882e71"], "statement_hash": "db875be06f10f73c6306bcdc30de080ff4b7a4ed322c869b57a5b7c71143a3c7"}}, {"rule": 2, "type": "equivalent", "target": "b2d2752178e70fb98f83de3934d73d26", "evidence": {"same_day": true, "patch_ids": ["898933cc13535691a9f7159709882e71"], "statement_hash": "db875be06f10f73c6306bcdc30de080ff4b7a4ed322c869b57a5b7c71143a3c7"}}], "version": "9.6.22", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "b2d2752178e70fb98f83de3934d73d26", "kind": "equivalent", "version": "13.3", "label": "13.3", "title": "修复 Solaris 上针对 Python 3 的 PL/Python 测试", "evidence": {"same_day": true, "patch_ids": ["898933cc13535691a9f7159709882e71"], "statement_hash": "db875be06f10f73c6306bcdc30de080ff4b7a4ed322c869b57a5b7c71143a3c7"}, "url": "/docs/compare/?release=13.3#13.3-b1a59dd0a955e8eb", "source_url": "/docs/release/13.3/#id-1.11.6.26.5"}, {"db_id": "4f3f6954d89c0b65253f9600be8a9ec8", "kind": "equivalent", "version": "12.7", "label": "12.7", "title": "修复 Solaris 上针对 Python 3 的 PL/Python 测试", "evidence": {"same_day": true, "patch_ids": ["898933cc13535691a9f7159709882e71"], "statement_hash": "db875be06f10f73c6306bcdc30de080ff4b7a4ed322c869b57a5b7c71143a3c7"}, "url": "/docs/compare/?release=12.7#12.7-676562672b5b8180", "source_url": "/docs/release/12.7/#id-1.11.6.21.5"}, {"db_id": "17dbeb20be5ddeb53681473f23bc4b25", "kind": "equivalent", "version": "11.12", "label": "11.12", "title": "修复 Solaris 上针对 Python 3 的 PL/Python 测试", "evidence": {"same_day": true, "patch_ids": ["898933cc13535691a9f7159709882e71"], "statement_hash": "db875be06f10f73c6306bcdc30de080ff4b7a4ed322c869b57a5b7c71143a3c7"}, "url": "/docs/compare/?release=11.12#11.12-3011e96c7113dc41", "source_url": "/docs/release/11.12/#id-1.11.6.15.5"}, {"db_id": "a029a502265ccdbd46a66494d03d3a76", "kind": "equivalent", "version": "10.17", "label": "10.17", "title": "修复 Solaris 上针对 Python 3 的 PL/Python 测试", "evidence": {"same_day": true, "patch_ids": ["898933cc13535691a9f7159709882e71"], "statement_hash": "db875be06f10f73c6306bcdc30de080ff4b7a4ed322c869b57a5b7c71143a3c7"}, "url": "/docs/compare/?release=10.17#10.17-3011e96c7113dc41", "source_url": "/docs/release/10.17/#id-1.11.6.11.5"}]}]}], "stats": [{"key": "all", "label": "全部变更", "count": 23}, {"key": "feature", "label": "新功能", "count": 0}, {"key": "bugfix", "label": "BUG 修复", "count": 13}, {"key": "security", "label": "安全相关", "count": 2}, {"key": "performance", "label": "性能改进", "count": 0}, {"key": "compatibility", "label": "兼容性变化", "count": 0}, {"key": "improvement", "label": "其他改进", "count": 8}], "total": 23, "release_count": 1, "cross_major": false, "cve_count": 2, "cves": [{"id": "CVE-2021-32028", "url": "https://www.postgresql.org/support/security/CVE-2021-32028/", "fixed": {"10": "10.17", "11": "11.12", "12": "12.7", "13": "13.3", "9.6": "9.6.22"}, "score": 6.5, "title": "修复 INSERT ... ON CONFLICT ... UPDATE 目标列表中“垃圾”列的处理不当", "vector": "AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N", "affected": {"10": "10", "11": "11", "12": "12", "13": "13", "9.6": "9.6"}, "component": "core server", "published": {"10": "2021-05-13", "11": "2021-05-13", "12": "2021-05-13", "13": "2021-05-13", "9.6": "2021-05-13"}, "introduced": {}, "cvss_version": "3.0", "description_en": "Using an INSERT ... ON CONFLICT ... DO UPDATE command on a purpose-crafted table, an attacker can read arbitrary bytes of server memory. In the default configuration, any authenticated database user can create prerequisite objects and complete this attack at will. A user lacking the CREATE and TEMPORARY privileges on all databases and the CREATE privilege on all schemas cannot use this attack at will.\n\nThe PostgreSQL project thanks Andres Freund for reporting this problem.", "first_published": "2021-05-13", "fixed_version": "9.6.22"}, {"id": "CVE-2021-32027", "url": "https://www.postgresql.org/support/security/CVE-2021-32027/", "fixed": {"10": "10.17", "11": "11.12", "12": "12.7", "13": "13.3", "9.6": "9.6.22"}, "score": 6.5, "title": "防止数组下标计算中的整数溢出", "vector": "AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N", "affected": {"10": "10", "11": "11", "12": "12", "13": "13", "9.6": "9.6"}, "component": "core server", "published": {"10": "2021-05-13", "11": "2021-05-13", "12": "2021-05-13", "13": "2021-05-13", "9.6": "2021-05-13"}, "introduced": {}, "cvss_version": "3.0", "description_en": "While modifying certain SQL array values, missing bounds checks let authenticated database users write arbitrary bytes to a wide area of server memory.\n\nThe PostgreSQL project thanks Tom Lane for reporting this problem.", "first_published": "2021-05-13", "fixed_version": "9.6.22"}], "cve_available": true, "remaining_cves": [], "security_regressions": [], "warnings": [], "candidate_count": 23, "already_in_source_count": 0, "duplicate_count": 0, "excluded_count": 0, "exclusions": [], "source_as_of": "2026-09-26", "security_as_of": "2026-09-26"}