{"format": 1, "mode": "release", "from_release": null, "to_release": {"date": "2019-08-08", "build": "9.6.15", "major": "9.6", "minor": 15, "manual": "9.6", "status": "stable", "doc_git": "", "version": "9.6.15", "eol_date": "2021-11-11", "date_text": "2019-08-08", "supported": false, "manual_url": "/docs/9.6/release-9-6-15.html", "source_url": "/docs/release/9.6.15/", "entry_count": 26, "placeholder": false, "content_hash": "ba7c79535f1a3b277e3c9cb6de0b90d4f18787fa595521ee1816cf5beaf70a25", "manual_build": "9.6.24", "source_as_of": "", "changes_count": 26, "doc_loaded_at": "2026-09-26T02:56:43.973460", "migration_html": "<p>对于运行 9.6.X 的用户，不需要转储/恢复。</p>\n<p>不过，如果你是从 9.6.9 之前的版本升级，参见<a href=\"/docs/9.6/release-9-6-9.html\" title=\"E.16. 版本 9.6.9\">第 E.16 节</a>。</p>", "compatibility_count": 0, "label": "9.6.15", "status_label": "历史版本", "eol": "2021-11-11", "age_days": 2610, "support_days": -1784}, "groups": [{"date": "2019-08-08", "build": "9.6.15", "major": "9.6", "minor": 15, "manual": "9.6", "status": "stable", "doc_git": "", "version": "9.6.15", "eol_date": "2021-11-11", "date_text": "2019-08-08", "supported": false, "manual_url": "/docs/9.6/release-9-6-15.html", "source_url": "/docs/release/9.6.15/", "entry_count": 26, "placeholder": false, "content_hash": "ba7c79535f1a3b277e3c9cb6de0b90d4f18787fa595521ee1816cf5beaf70a25", "manual_build": "9.6.24", "source_as_of": "", "changes_count": 26, "doc_loaded_at": "2026-09-26T02:56:43.973460", "migration_html": "<p>对于运行 9.6.X 的用户，不需要转储/恢复。</p>\n<p>不过，如果你是从 9.6.9 之前的版本升级，参见<a href=\"/docs/9.6/release-9-6-9.html\" title=\"E.16. 版本 9.6.9\">第 E.16 节</a>。</p>", "compatibility_count": 0, "label": "9.6.15", "status_label": "历史版本", "eol": "2021-11-11", "age_days": 2610, "support_days": -1784, "entries": [{"id": "9.6.15-a1ed66934d01ba97", "cves": ["CVE-2007-2138", "CVE-2019-10208"], "html": "<p>要求使用函数式转换语法转换到临时类型时进行模式限定（Noah Misch）</p>\n<p>我们长期以来一直要求临时函数的调用显式指定临时模式，即 <code>pg_temp.<em><code>func_name</code></em>(<em><code>args</code></em>)</code>。现在把这一要求同样应用于使用函数表示法转换到临时类型，例如 <code>pg_temp.<em><code>type_name</code></em>(<em><code>arg</code></em>)</code>。否则有可能截获使用临时对象的函数调用，从而以与我们在 CVE-2007-2138 中封堵的方式大致相同的途径实现权限提升。（CVE-2019-10208）</p>", "text": "要求使用函数式转换语法转换到临时类型时进行模式限定（Noah Misch） 我们长期以来一直要求临时函数的调用显式指定临时模式，即 pg_temp.func_name(args)。现在把这一要求同样应用于使用函数表示法转换到临时类型，例如 pg_temp.type_name(arg)。否则有可能截获使用临时对象的函数调用，从而以与我们在 CVE-2007-2138 中封堵的方式大致相同的途径实现权限提升。（CVE-2019-10208）", "title": "要求使用函数式转换语法转换到临时类型时进行模式限定", "commits": [], "section": "变更", "category": "security", "source_url": "/docs/release/9.6.15/#id-1.11.6.14.5", "source_hash": "c4ccab8890db89c4e74d2af463dec4e5b573e7ed185e091631649a87251c5221", "section_path": ["变更"], "commit_groups": [["2062007cb", "21f94c51f", "752fa3dbf", "7da46192d", "86737438b", "9993fa9dd", "ffa2d37e5"]], "identity_text": "Require schema qualification to cast to a temporary type when using functional cast syntax (Noah Misch) We have long required invocations of temporary functions to explicitly specify the temporary schema, that is pg_temp.func_name(args). Require this as well for casting to temporary types using functional notation, for example pg_temp.type_name(arg). Otherwise it's possible to capture a function call using a temporary object, allowing privilege escalation in much the same ways that we blocked in CVE-2007-2138. (CVE-2019-10208)", "commit_aliases": ["2062007cb", "21f94c51f", "752fa3dbf", "7da46192d", "86737438b", "9993fa9dd", "ffa2d37e5"], "source_commits": ["7da46192d"], "source_entry_id": "9.6.15/changes/001", "db_id": "cbafa803ad06f9f27b4bbe75ba7c7e3f", "patch_ids": ["65b124caa944e034539f5e82e98c754f"], "statement_hash": "6301db346f6b9a542180562e62db8b1ca6afbff6d21b0956212ae4ec6f33562a", "relations": [{"rule": 2, "type": "equivalent", "target": "2e1380da5c384e9841ef99506e57154c", "evidence": {"same_day": true, "patch_ids": ["65b124caa944e034539f5e82e98c754f"], "statement_hash": "6301db346f6b9a542180562e62db8b1ca6afbff6d21b0956212ae4ec6f33562a"}}, {"rule": 2, "type": "equivalent", "target": "4ead40eb1a73d156352d6965e0c2e833", "evidence": {"same_day": true, "patch_ids": ["65b124caa944e034539f5e82e98c754f"], "statement_hash": "6301db346f6b9a542180562e62db8b1ca6afbff6d21b0956212ae4ec6f33562a"}}, {"rule": 2, "type": "equivalent", "target": "57b9b455efe831edd464a0a1b92d3638", "evidence": {"same_day": true, "patch_ids": ["65b124caa944e034539f5e82e98c754f"], "statement_hash": "6301db346f6b9a542180562e62db8b1ca6afbff6d21b0956212ae4ec6f33562a"}}, {"rule": 2, "type": "equivalent", "target": "b1483cae7422c63eb52dc92db4d84965", "evidence": {"same_day": true, "patch_ids": ["65b124caa944e034539f5e82e98c754f"], "statement_hash": "6301db346f6b9a542180562e62db8b1ca6afbff6d21b0956212ae4ec6f33562a"}}], "version": "9.6.15", "category_label": "安全相关", "also_in": [], "variants": [], "related_changes": [{"db_id": "57b9b455efe831edd464a0a1b92d3638", "kind": "equivalent", "version": "11.5", "label": "11.5", "title": "使用函数式类型转换语法转换为临时类型时，要求使用模式限定", "evidence": {"same_day": true, "patch_ids": ["65b124caa944e034539f5e82e98c754f"], "statement_hash": "6301db346f6b9a542180562e62db8b1ca6afbff6d21b0956212ae4ec6f33562a"}, "url": "/docs/compare/?release=11.5#11.5-8f9963118448ea50", "source_url": "/docs/release/11.5/#id-1.11.6.22.5"}, {"db_id": "2e1380da5c384e9841ef99506e57154c", "kind": "equivalent", "version": "10.10", "label": "10.10", "title": "使用函数式类型转换语法转换为临时类型时，要求使用模式限定", "evidence": {"same_day": true, "patch_ids": ["65b124caa944e034539f5e82e98c754f"], "statement_hash": "6301db346f6b9a542180562e62db8b1ca6afbff6d21b0956212ae4ec6f33562a"}, "url": "/docs/compare/?release=10.10#10.10-8f9963118448ea50", "source_url": "/docs/release/10.10/#id-1.11.6.18.5"}, {"db_id": "b1483cae7422c63eb52dc92db4d84965", "kind": "equivalent", "version": "9.5.19", "label": "9.5.19", "title": "要求使用函数式转换语法转换到临时类型时进行模式限定", "evidence": {"same_day": true, "patch_ids": ["65b124caa944e034539f5e82e98c754f"], "statement_hash": "6301db346f6b9a542180562e62db8b1ca6afbff6d21b0956212ae4ec6f33562a"}, "url": "/docs/compare/?release=9.5.19#9.5.19-a1ed66934d01ba97", "source_url": "/docs/release/9.5.19/#id-1.11.6.11.5"}, {"db_id": "4ead40eb1a73d156352d6965e0c2e833", "kind": "equivalent", "version": "9.4.24", "label": "9.4.24", "title": "要求使用函数式转换语法转换到临时类型时进行模式限定", "evidence": {"same_day": true, "patch_ids": ["65b124caa944e034539f5e82e98c754f"], "statement_hash": "6301db346f6b9a542180562e62db8b1ca6afbff6d21b0956212ae4ec6f33562a"}, "url": "/docs/compare/?release=9.4.24#9.4.24-a1ed66934d01ba97", "source_url": "/docs/release/9.4.24/#id-1.11.6.7.6"}]}, {"id": "9.6.15-1f4258d87536aec8", "cves": [], "html": "<p>修复在一条命令中更改多列类型时 <code>ALTER TABLE ... ALTER COLUMN TYPE</code> 的失败（Tom Lane）</p>\n<p>这修复了最近几个小版本中引入的回归：使用被更改列的索引未被正确处理，导致 <code>ALTER TABLE</code> 期间的奇怪失败。</p>", "text": "修复在一条命令中更改多列类型时 ALTER TABLE ... ALTER COLUMN TYPE 的失败（Tom Lane） 这修复了最近几个小版本中引入的回归：使用被更改列的索引未被正确处理，导致 ALTER TABLE 期间的奇怪失败。", "title": "修复在一条命令中更改多列类型时 ALTER TABLE ... ALTER COLUMN TYPE 的失败", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.15/#id-1.11.6.14.5", "source_hash": "1d64d706347e05442a6ee8a50e034a51b6cce8377262d4400f2cec149340d278", "section_path": ["变更"], "commit_groups": [["316f68932", "afaf48afb", "cb8962ce8", "da1041fc3", "ddfb1b2ee", "f946a4091"]], "identity_text": "Fix failure of ALTER TABLE ... ALTER COLUMN TYPE when altering multiple columns' types in one command (Tom Lane) This fixes a regression introduced in the most recent minor releases: indexes using the altered columns were not processed correctly, leading to strange failures during ALTER TABLE.", "commit_aliases": ["316f68932", "afaf48afb", "cb8962ce8", "da1041fc3", "ddfb1b2ee", "f946a4091"], "source_commits": ["da1041fc3"], "source_entry_id": "9.6.15/changes/002", "db_id": "991b2bf86a34a36e3324f983c91aafaf", "patch_ids": ["af42394c923a81624887434181501839"], "statement_hash": "6a040d6c69a8e031cc00505b02e82cb4539f0f61d30186a4c5a355d4e50e3433", "relations": [{"rule": 2, "type": "equivalent", "target": "2a0bca167f251b2cd29370adec7eaee3", "evidence": {"same_day": true, "patch_ids": ["af42394c923a81624887434181501839"], "statement_hash": "6a040d6c69a8e031cc00505b02e82cb4539f0f61d30186a4c5a355d4e50e3433"}}, {"rule": 2, "type": "equivalent", "target": "2bc25a84dc95a7781a44f9b4acd4cd68", "evidence": {"same_day": true, "patch_ids": ["af42394c923a81624887434181501839"], "statement_hash": "6a040d6c69a8e031cc00505b02e82cb4539f0f61d30186a4c5a355d4e50e3433"}}, {"rule": 2, "type": "equivalent", "target": "e765c1b126a0441fdebbea41fada1622", "evidence": {"same_day": true, "patch_ids": ["af42394c923a81624887434181501839"], "statement_hash": "6a040d6c69a8e031cc00505b02e82cb4539f0f61d30186a4c5a355d4e50e3433"}}, {"rule": 2, "type": "equivalent", "target": "fe9cbebe5808f24b99c7cb69f70986de", "evidence": {"same_day": true, "patch_ids": ["af42394c923a81624887434181501839"], "statement_hash": "6a040d6c69a8e031cc00505b02e82cb4539f0f61d30186a4c5a355d4e50e3433"}}], "version": "9.6.15", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "e765c1b126a0441fdebbea41fada1622", "kind": "equivalent", "version": "11.5", "label": "11.5", "title": "修复在一条命令中更改多列类型时 ALTER TABLE ... ALTER COLUMN TYPE 发生的失败", "evidence": {"same_day": true, "patch_ids": ["af42394c923a81624887434181501839"], "statement_hash": "6a040d6c69a8e031cc00505b02e82cb4539f0f61d30186a4c5a355d4e50e3433"}, "url": "/docs/compare/?release=11.5#11.5-c65a70c4a7df7c75", "source_url": "/docs/release/11.5/#id-1.11.6.22.5"}, {"db_id": "fe9cbebe5808f24b99c7cb69f70986de", "kind": "equivalent", "version": "10.10", "label": "10.10", "title": "修复在一条命令中更改多列类型时 ALTER TABLE ... ALTER COLUMN TYPE 发生的失败", "evidence": {"same_day": true, "patch_ids": ["af42394c923a81624887434181501839"], "statement_hash": "6a040d6c69a8e031cc00505b02e82cb4539f0f61d30186a4c5a355d4e50e3433"}, "url": "/docs/compare/?release=10.10#10.10-c65a70c4a7df7c75", "source_url": "/docs/release/10.10/#id-1.11.6.18.5"}, {"db_id": "2bc25a84dc95a7781a44f9b4acd4cd68", "kind": "equivalent", "version": "9.5.19", "label": "9.5.19", "title": "修复在一条命令中更改多列类型时 ALTER TABLE ... ALTER COLUMN TYPE 的失败", "evidence": {"same_day": true, "patch_ids": ["af42394c923a81624887434181501839"], "statement_hash": "6a040d6c69a8e031cc00505b02e82cb4539f0f61d30186a4c5a355d4e50e3433"}, "url": "/docs/compare/?release=9.5.19#9.5.19-1f4258d87536aec8", "source_url": "/docs/release/9.5.19/#id-1.11.6.11.5"}, {"db_id": "2a0bca167f251b2cd29370adec7eaee3", "kind": "equivalent", "version": "9.4.24", "label": "9.4.24", "title": "修复在一条命令中更改多列类型时 ALTER TABLE ... ALTER COLUMN TYPE 的失败", "evidence": {"same_day": true, "patch_ids": ["af42394c923a81624887434181501839"], "statement_hash": "6a040d6c69a8e031cc00505b02e82cb4539f0f61d30186a4c5a355d4e50e3433"}, "url": "/docs/compare/?release=9.4.24#9.4.24-1f4258d87536aec8", "source_url": "/docs/release/9.4.24/#id-1.11.6.7.6"}]}, {"id": "9.6.15-be0f025140a423b5", "cves": [], "html": "<p>当涉及的表是继承父表时，不要优化掉 <code>GROUP BY</code> 列（David Rowley）</p>\n<p>通常，如果表的主键列包含在 <code>GROUP BY</code> 中，去掉其他分组列是安全的，因为主键列足以使分组唯一。但如果查询还读取继承子表，这条规则就不成立；父表的唯一性不会延伸到子表。</p>", "text": "当涉及的表是继承父表时，不要优化掉 GROUP BY 列（David Rowley） 通常，如果表的主键列包含在 GROUP BY 中，去掉其他分组列是安全的，因为主键列足以使分组唯一。但如果查询还读取继承子表，这条规则就不成立；父表的唯一性不会延伸到子表。", "title": "当涉及的表是继承父表时，不要优化掉 GROUP BY 列", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.15/#id-1.11.6.14.5", "source_hash": "f4f87d7cf8c9feda9dab4ec1ea35646e3a51a983e2abec24933e365bd6ea6a8d", "section_path": ["变更"], "commit_groups": [["0cce43a71", "133f5ae21", "232019b79", "388d05a5e", "a5be4062f"]], "identity_text": "Don't optimize away GROUP BY columns when the table involved is an inheritance parent (David Rowley) Normally, if a table's primary key column(s) are included in GROUP BY, it's safe to drop any other grouping columns, since the primary key columns are enough to make the groups unique. This rule does not work if the query is also reading inheritance child tables, though; the parent's uniqueness does not extend to the children.", "commit_aliases": ["0cce43a71", "133f5ae21", "232019b79", "388d05a5e", "a5be4062f"], "source_commits": ["388d05a5e"], "source_entry_id": "9.6.15/changes/003", "db_id": "d698ff7be2278e6c617a89ffa04c1ec3", "patch_ids": ["1650b13cb9a86bb00d51af688c7643d0"], "statement_hash": "2689110888ae1ef0c5808367c502a208c2428da7f4c94bef2a0cb3131a3c6538", "relations": [{"rule": 2, "type": "equivalent", "target": "3af8b0d644148d238bea793f6d1861a8", "evidence": {"same_day": true, "patch_ids": ["1650b13cb9a86bb00d51af688c7643d0"], "statement_hash": "2689110888ae1ef0c5808367c502a208c2428da7f4c94bef2a0cb3131a3c6538"}}, {"rule": 2, "type": "equivalent", "target": "5d7245e67a13b4a2e9b7e3e2adf70cfd", "evidence": {"same_day": true, "patch_ids": ["1650b13cb9a86bb00d51af688c7643d0"], "statement_hash": "2689110888ae1ef0c5808367c502a208c2428da7f4c94bef2a0cb3131a3c6538"}}], "version": "9.6.15", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "5d7245e67a13b4a2e9b7e3e2adf70cfd", "kind": "equivalent", "version": "11.5", "label": "11.5", "title": "当涉及的表是继承父表时，不要通过优化移除 GROUP BY 列", "evidence": {"same_day": true, "patch_ids": ["1650b13cb9a86bb00d51af688c7643d0"], "statement_hash": "2689110888ae1ef0c5808367c502a208c2428da7f4c94bef2a0cb3131a3c6538"}, "url": "/docs/compare/?release=11.5#11.5-e8caa213a75bc90a", "source_url": "/docs/release/11.5/#id-1.11.6.22.5"}, {"db_id": "3af8b0d644148d238bea793f6d1861a8", "kind": "equivalent", "version": "10.10", "label": "10.10", "title": "当涉及的表是继承父表时，不要通过优化移除 GROUP BY 列", "evidence": {"same_day": true, "patch_ids": ["1650b13cb9a86bb00d51af688c7643d0"], "statement_hash": "2689110888ae1ef0c5808367c502a208c2428da7f4c94bef2a0cb3131a3c6538"}, "url": "/docs/compare/?release=10.10#10.10-e8caa213a75bc90a", "source_url": "/docs/release/10.10/#id-1.11.6.18.5"}]}, {"id": "9.6.15-7218b1a18f57745a", "cves": [], "html": "<p>避免对某些带 <code>GROUPING SETS</code> 的查询使用不必要的排序步骤（Andrew Gierth、Richard Guo）</p>", "text": "避免对某些带 GROUPING SETS 的查询使用不必要的排序步骤（Andrew Gierth、Richard Guo）", "title": "避免对某些带 GROUPING SETS 的查询使用不必要的排序步骤", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.15/#id-1.11.6.14.5", "source_hash": "60db142764cdabb9c61aee898b79c24f78c04ff84dbac1367748fdf2cc1e89c2", "section_path": ["变更"], "commit_groups": [["05dc5f476", "4a36c7715", "793eb94e3", "a1637caee", "da53be23d"]], "identity_text": "Avoid using unnecessary sort steps for some queries with GROUPING SETS (Andrew Gierth, Richard Guo)", "commit_aliases": ["05dc5f476", "4a36c7715", "793eb94e3", "a1637caee", "da53be23d"], "source_commits": ["793eb94e3"], "source_entry_id": "9.6.15/changes/004", "db_id": "b379a4d94b14817bdc156d57edb5487b", "patch_ids": ["9b0b0afd1a9ed387cd3721101e8fcb75"], "statement_hash": "95fa91a68d33f1db4e9c9d1158bde37ddef4f1ab205fe884335eef65f5698515", "relations": [{"rule": 2, "type": "equivalent", "target": "7bf72be70b5027f16e1dc604fe2d36d1", "evidence": {"same_day": true, "patch_ids": ["9b0b0afd1a9ed387cd3721101e8fcb75"], "statement_hash": "95fa91a68d33f1db4e9c9d1158bde37ddef4f1ab205fe884335eef65f5698515"}}, {"rule": 2, "type": "equivalent", "target": "aca8ce87760950b6cec302c3f2aa05cd", "evidence": {"same_day": true, "patch_ids": ["9b0b0afd1a9ed387cd3721101e8fcb75"], "statement_hash": "95fa91a68d33f1db4e9c9d1158bde37ddef4f1ab205fe884335eef65f5698515"}}, {"rule": 2, "type": "equivalent", "target": "c1d21675549f456e6f8172319ff52b23", "evidence": {"same_day": true, "patch_ids": ["9b0b0afd1a9ed387cd3721101e8fcb75"], "statement_hash": "95fa91a68d33f1db4e9c9d1158bde37ddef4f1ab205fe884335eef65f5698515"}}], "version": "9.6.15", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "c1d21675549f456e6f8172319ff52b23", "kind": "equivalent", "version": "11.5", "label": "11.5", "title": "避免在某些带有 GROUPING SETS 的查询中使用不必要的排序步骤", "evidence": {"same_day": true, "patch_ids": ["9b0b0afd1a9ed387cd3721101e8fcb75"], "statement_hash": "95fa91a68d33f1db4e9c9d1158bde37ddef4f1ab205fe884335eef65f5698515"}, "url": "/docs/compare/?release=11.5#11.5-b2c1f5096b58865c", "source_url": "/docs/release/11.5/#id-1.11.6.22.5"}, {"db_id": "aca8ce87760950b6cec302c3f2aa05cd", "kind": "equivalent", "version": "10.10", "label": "10.10", "title": "避免在某些带有 GROUPING SETS 的查询中使用不必要的排序步骤", "evidence": {"same_day": true, "patch_ids": ["9b0b0afd1a9ed387cd3721101e8fcb75"], "statement_hash": "95fa91a68d33f1db4e9c9d1158bde37ddef4f1ab205fe884335eef65f5698515"}, "url": "/docs/compare/?release=10.10#10.10-b2c1f5096b58865c", "source_url": "/docs/release/10.10/#id-1.11.6.18.5"}, {"db_id": "7bf72be70b5027f16e1dc604fe2d36d1", "kind": "equivalent", "version": "9.5.19", "label": "9.5.19", "title": "避免对某些带 GROUPING SETS 的查询使用不必要的排序步骤", "evidence": {"same_day": true, "patch_ids": ["9b0b0afd1a9ed387cd3721101e8fcb75"], "statement_hash": "95fa91a68d33f1db4e9c9d1158bde37ddef4f1ab205fe884335eef65f5698515"}, "url": "/docs/compare/?release=9.5.19#9.5.19-7218b1a18f57745a", "source_url": "/docs/release/9.5.19/#id-1.11.6.11.5"}]}, {"id": "9.6.15-c8a48d7ce92fcc3d", "cves": [], "html": "<p>修复重建外键约束时多列外键的处理不当（Tom Lane）</p>\n<p>如果键的所有列不都是同一类型，<code>ALTER TABLE</code> 可能对是否需要重新验证外键做出错误决定。看来该错误的方向总是保守的，即不必要地重新验证。</p>", "text": "修复重建外键约束时多列外键的处理不当（Tom Lane） 如果键的所有列不都是同一类型，ALTER TABLE 可能对是否需要重新验证外键做出错误决定。看来该错误的方向总是保守的，即不必要地重新验证。", "title": "修复重建外键约束时多列外键的处理不当", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.15/#id-1.11.6.14.5", "source_hash": "763b4c728bf503c95a667ae199b76e22ba0797780e01ebf86d9a1be7b9343cec", "section_path": ["变更"], "commit_groups": [["3093eb2b8", "46e2a18d0", "583025c3c", "67bd6adcb", "a6e7eb42d", "e0d13dc6f", "f9208f246"]], "identity_text": "Fix mishandling of multi-column foreign keys when rebuilding a foreign key constraint (Tom Lane) ALTER TABLE could make an incorrect decision about whether revalidation of a foreign key is necessary, if not all columns of the key are of the same type. It seems likely that the error would always have been in the conservative direction, that is revalidating unnecessarily.", "commit_aliases": ["3093eb2b8", "46e2a18d0", "583025c3c", "67bd6adcb", "a6e7eb42d", "e0d13dc6f", "f9208f246"], "source_commits": ["a6e7eb42d"], "source_entry_id": "9.6.15/changes/005", "db_id": "547a9e601081a21eba115551e7181b39", "patch_ids": ["e2182a026bceaaf4b5503fe32395729e"], "statement_hash": "89f3fed3ac2dc8f5b25ba7314fcf4f5db75733178068d72305670139d7e1b3b0", "relations": [{"rule": 2, "type": "equivalent", "target": "540cf144bc454fe55e5093cc306867d3", "evidence": {"same_day": true, "patch_ids": ["e2182a026bceaaf4b5503fe32395729e"], "statement_hash": "89f3fed3ac2dc8f5b25ba7314fcf4f5db75733178068d72305670139d7e1b3b0"}}, {"rule": 2, "type": "equivalent", "target": "8df47d5cf36018f32aeb1d09d5b455df", "evidence": {"same_day": true, "patch_ids": ["e2182a026bceaaf4b5503fe32395729e"], "statement_hash": "89f3fed3ac2dc8f5b25ba7314fcf4f5db75733178068d72305670139d7e1b3b0"}}, {"rule": 2, "type": "equivalent", "target": "b7fd32db17d9c47e575183542eccac90", "evidence": {"same_day": true, "patch_ids": ["e2182a026bceaaf4b5503fe32395729e"], "statement_hash": "89f3fed3ac2dc8f5b25ba7314fcf4f5db75733178068d72305670139d7e1b3b0"}}, {"rule": 2, "type": "equivalent", "target": "c6739c68f9b1734a690345cfc948c4e4", "evidence": {"same_day": true, "patch_ids": ["e2182a026bceaaf4b5503fe32395729e"], "statement_hash": "89f3fed3ac2dc8f5b25ba7314fcf4f5db75733178068d72305670139d7e1b3b0"}}], "version": "9.6.15", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "540cf144bc454fe55e5093cc306867d3", "kind": "equivalent", "version": "11.5", "label": "11.5", "title": "修复重建外键约束时对多列外键的不正确处理", "evidence": {"same_day": true, "patch_ids": ["e2182a026bceaaf4b5503fe32395729e"], "statement_hash": "89f3fed3ac2dc8f5b25ba7314fcf4f5db75733178068d72305670139d7e1b3b0"}, "url": "/docs/compare/?release=11.5#11.5-b18369ac98edf244", "source_url": "/docs/release/11.5/#id-1.11.6.22.5"}, {"db_id": "c6739c68f9b1734a690345cfc948c4e4", "kind": "equivalent", "version": "10.10", "label": "10.10", "title": "修复重建外键约束时对多列外键的不正确处理", "evidence": {"same_day": true, "patch_ids": ["e2182a026bceaaf4b5503fe32395729e"], "statement_hash": "89f3fed3ac2dc8f5b25ba7314fcf4f5db75733178068d72305670139d7e1b3b0"}, "url": "/docs/compare/?release=10.10#10.10-b18369ac98edf244", "source_url": "/docs/release/10.10/#id-1.11.6.18.5"}, {"db_id": "8df47d5cf36018f32aeb1d09d5b455df", "kind": "equivalent", "version": "9.5.19", "label": "9.5.19", "title": "修复重建外键约束时多列外键的处理不当", "evidence": {"same_day": true, "patch_ids": ["e2182a026bceaaf4b5503fe32395729e"], "statement_hash": "89f3fed3ac2dc8f5b25ba7314fcf4f5db75733178068d72305670139d7e1b3b0"}, "url": "/docs/compare/?release=9.5.19#9.5.19-c8a48d7ce92fcc3d", "source_url": "/docs/release/9.5.19/#id-1.11.6.11.5"}, {"db_id": "b7fd32db17d9c47e575183542eccac90", "kind": "equivalent", "version": "9.4.24", "label": "9.4.24", "title": "修复重建外键约束时多列外键的处理不当", "evidence": {"same_day": true, "patch_ids": ["e2182a026bceaaf4b5503fe32395729e"], "statement_hash": "89f3fed3ac2dc8f5b25ba7314fcf4f5db75733178068d72305670139d7e1b3b0"}, "url": "/docs/compare/?release=9.4.24#9.4.24-c8a48d7ce92fcc3d", "source_url": "/docs/release/9.4.24/#id-1.11.6.7.6"}]}, {"id": "9.6.15-ac2599ce7be431a3", "cves": [], "html": "<p>避免升级元组锁时的虚假死锁错误（Oleksii Kliukin）</p>\n<p>当两个或更多事务在等待事务 T1 释放元组级锁，而 T1 把它的锁升级到更高级别时，T1 结束后可能在等待的事务之间报告虚假死锁。</p>", "text": "避免升级元组锁时的虚假死锁错误（Oleksii Kliukin） 当两个或更多事务在等待事务 T1 释放元组级锁，而 T1 把它的锁升级到更高级别时，T1 结束后可能在等待的事务之间报告虚假死锁。", "title": "避免升级元组锁时的虚假死锁错误", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.15/#id-1.11.6.14.5", "source_hash": "50af1f5c0cbc427c69d18d63add68d97925c22646af5021db3cad55a47f24a1a", "section_path": ["变更"], "commit_groups": [["0772d8a00", "0ba35c7c9", "5246d3e79", "8b21b416e"]], "identity_text": "Avoid spurious deadlock errors when upgrading a tuple lock (Oleksii Kliukin) When two or more transactions are waiting for a transaction T1 to release a tuple-level lock, and T1 upgrades its lock to a higher level, a spurious deadlock among the waiting transactions could be reported when T1 finishes.", "commit_aliases": ["0772d8a00", "0ba35c7c9", "5246d3e79", "8b21b416e"], "source_commits": ["0ba35c7c9"], "source_entry_id": "9.6.15/changes/006", "db_id": "34647c105adb090adadcf76ddb4f1aa4", "patch_ids": ["5671c5bc9cc942f9d876e5dc6b2b9612"], "statement_hash": "fc22b942de7bb53b68e18d0ffffc29193d0efe75be9fd33e32807fb13c02585c", "relations": [{"rule": 2, "type": "equivalent", "target": "4d3b6b50df223741251b93e16d47f57b", "evidence": {"same_day": true, "patch_ids": ["5671c5bc9cc942f9d876e5dc6b2b9612"], "statement_hash": "fc22b942de7bb53b68e18d0ffffc29193d0efe75be9fd33e32807fb13c02585c"}}, {"rule": 2, "type": "equivalent", "target": "773fdd1f1beadc08d0c1cd60c3a92d4b", "evidence": {"same_day": true, "patch_ids": ["5671c5bc9cc942f9d876e5dc6b2b9612"], "statement_hash": "fc22b942de7bb53b68e18d0ffffc29193d0efe75be9fd33e32807fb13c02585c"}}], "version": "9.6.15", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "4d3b6b50df223741251b93e16d47f57b", "kind": "equivalent", "version": "11.5", "label": "11.5", "title": "避免升级元组锁时出现虚假的死锁错误", "evidence": {"same_day": true, "patch_ids": ["5671c5bc9cc942f9d876e5dc6b2b9612"], "statement_hash": "fc22b942de7bb53b68e18d0ffffc29193d0efe75be9fd33e32807fb13c02585c"}, "url": "/docs/compare/?release=11.5#11.5-7157af16a7a2e983", "source_url": "/docs/release/11.5/#id-1.11.6.22.5"}, {"db_id": "773fdd1f1beadc08d0c1cd60c3a92d4b", "kind": "equivalent", "version": "10.10", "label": "10.10", "title": "避免升级元组锁时出现虚假的死锁错误", "evidence": {"same_day": true, "patch_ids": ["5671c5bc9cc942f9d876e5dc6b2b9612"], "statement_hash": "fc22b942de7bb53b68e18d0ffffc29193d0efe75be9fd33e32807fb13c02585c"}, "url": "/docs/compare/?release=10.10#10.10-7157af16a7a2e983", "source_url": "/docs/release/10.10/#id-1.11.6.18.5"}]}, {"id": "9.6.15-c77ad713e2669dcf", "cves": [], "html": "<p>修复未能解决涉及多个并行工作者进程的死锁的问题（Rui Hai Jiang）</p>\n<p>尚不清楚此 bug 是否可被非人工查询触达，但如果确实发生，本可解决的死锁中涉及的查询会阻塞直到被取消。</p>", "text": "修复未能解决涉及多个并行工作者进程的死锁的问题（Rui Hai Jiang） 尚不清楚此 bug 是否可被非人工查询触达，但如果确实发生，本可解决的死锁中涉及的查询会阻塞直到被取消。", "title": "修复未能解决涉及多个并行工作者进程的死锁的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.15/#id-1.11.6.14.5", "source_hash": "b2ad4f070abd4d75588cf627159437fee049551b316147d7162b14380d530aaa", "section_path": ["变更"], "commit_groups": [["0dcb1c6c4", "3420851a2", "af41ab50f", "c3b613e1b", "d933816c0"]], "identity_text": "Fix failure to resolve deadlocks involving multiple parallel worker processes (Rui Hai Jiang) It is not clear whether this bug is reachable with non-artificial queries, but if it did happen, the queries involved in an otherwise-resolvable deadlock would block until canceled.", "commit_aliases": ["0dcb1c6c4", "3420851a2", "af41ab50f", "c3b613e1b", "d933816c0"], "source_commits": ["c3b613e1b"], "source_entry_id": "9.6.15/changes/007", "db_id": "03a4e101c840f1c83c6c315bc828a1e0", "patch_ids": ["4a5a31a3638635c46fdfb49cbcd53a76"], "statement_hash": "d455b16dd65ddeb33a9b3d0876d30316fd04488478ecb9b27c801de9e8449ce6", "relations": [{"rule": 2, "type": "equivalent", "target": "4d910d13235e0b167aa7477f93b85744", "evidence": {"same_day": true, "patch_ids": ["4a5a31a3638635c46fdfb49cbcd53a76"], "statement_hash": "d455b16dd65ddeb33a9b3d0876d30316fd04488478ecb9b27c801de9e8449ce6"}}, {"rule": 2, "type": "equivalent", "target": "530573e75de1e9d61bb82e0208c101b0", "evidence": {"same_day": true, "patch_ids": ["4a5a31a3638635c46fdfb49cbcd53a76"], "statement_hash": "d455b16dd65ddeb33a9b3d0876d30316fd04488478ecb9b27c801de9e8449ce6"}}], "version": "9.6.15", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "530573e75de1e9d61bb82e0208c101b0", "kind": "equivalent", "version": "11.5", "label": "11.5", "title": "修复无法解除涉及多个并行工作进程的死锁的问题", "evidence": {"same_day": true, "patch_ids": ["4a5a31a3638635c46fdfb49cbcd53a76"], "statement_hash": "d455b16dd65ddeb33a9b3d0876d30316fd04488478ecb9b27c801de9e8449ce6"}, "url": "/docs/compare/?release=11.5#11.5-baa61d8b02704766", "source_url": "/docs/release/11.5/#id-1.11.6.22.5"}, {"db_id": "4d910d13235e0b167aa7477f93b85744", "kind": "equivalent", "version": "10.10", "label": "10.10", "title": "修复无法解除涉及多个并行工作进程的死锁的问题", "evidence": {"same_day": true, "patch_ids": ["4a5a31a3638635c46fdfb49cbcd53a76"], "statement_hash": "d455b16dd65ddeb33a9b3d0876d30316fd04488478ecb9b27c801de9e8449ce6"}, "url": "/docs/compare/?release=10.10#10.10-baa61d8b02704766", "source_url": "/docs/release/10.10/#id-1.11.6.18.5"}]}, {"id": "9.6.15-647733814a9720f6", "cves": [], "html": "<p>防止对以 <code>infinity</code> 为端点的日期范围的错误规范化（Laurenz Albe）</p>\n<p>如果端点是无穷，试图通过递增或递减端点值把开区间转换为闭区间或反之都是不正确的；因此在这种情况下保持范围不变。</p>", "text": "防止对以 infinity 为端点的日期范围的错误规范化（Laurenz Albe） 如果端点是无穷，试图通过递增或递减端点值把开区间转换为闭区间或反之都是不正确的；因此在这种情况下保持范围不变。", "title": "防止对以 infinity 为端点的日期范围的错误规范化", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.15/#id-1.11.6.14.5", "source_hash": "5cc38ccaf03333c059939b7c92b14a50676ee9d5fe884e847d2ce20c29918a4f", "section_path": ["变更"], "commit_groups": [["2be355498", "56afeb765", "613eabcd5", "8af1fccba", "955089d4d", "e6feef571", "f5f20deda"], ["390bf90f7", "477ebfc96", "5245552dd", "812623b69", "b0a7e0f07", "b538c90b1", "f1c72294b"]], "identity_text": "Prevent incorrect canonicalization of date ranges with infinity endpoints (Laurenz Albe) It's incorrect to try to convert an open range to a closed one or vice versa by incrementing or decrementing the endpoint value, if the endpoint is infinite; so leave the range alone in such cases.", "commit_aliases": ["2be355498", "390bf90f7", "477ebfc96", "5245552dd", "56afeb765", "613eabcd5", "812623b69", "8af1fccba", "955089d4d", "b0a7e0f07", "b538c90b1", "e6feef571", "f1c72294b", "f5f20deda"], "source_commits": ["390bf90f7", "56afeb765"], "source_entry_id": "9.6.15/changes/008", "db_id": "bd67eaaa0b0614b83c5bcdda1379baaa", "patch_ids": ["0055289fede3d0d58f40bc9a5cd8b5c5", "26d2b816955d6b94419cbe84d2fa80a3"], "statement_hash": "b5278a466e61ff1562f82babdb5ea62bf67b661d28881faa1afe55e80afad2c1", "relations": [{"rule": 2, "type": "equivalent", "target": "0e58f3b145870b8f318a43ff5a62ad9a", "evidence": {"same_day": true, "patch_ids": ["0055289fede3d0d58f40bc9a5cd8b5c5", "26d2b816955d6b94419cbe84d2fa80a3"], "statement_hash": "b5278a466e61ff1562f82babdb5ea62bf67b661d28881faa1afe55e80afad2c1"}}, {"rule": 2, "type": "equivalent", "target": "585f8c17b8fec07d6f69a2cfad6a5816", "evidence": {"same_day": true, "patch_ids": ["0055289fede3d0d58f40bc9a5cd8b5c5", "26d2b816955d6b94419cbe84d2fa80a3"], "statement_hash": "b5278a466e61ff1562f82babdb5ea62bf67b661d28881faa1afe55e80afad2c1"}}, {"rule": 2, "type": "equivalent", "target": "bb52f28cb1b49f77d0d1c61835abdfef", "evidence": {"same_day": true, "patch_ids": ["0055289fede3d0d58f40bc9a5cd8b5c5", "26d2b816955d6b94419cbe84d2fa80a3"], "statement_hash": "b5278a466e61ff1562f82babdb5ea62bf67b661d28881faa1afe55e80afad2c1"}}, {"rule": 2, "type": "equivalent", "target": "fd6b4bdf38695151d42034a3d302f7de", "evidence": {"same_day": true, "patch_ids": ["0055289fede3d0d58f40bc9a5cd8b5c5", "26d2b816955d6b94419cbe84d2fa80a3"], "statement_hash": "b5278a466e61ff1562f82babdb5ea62bf67b661d28881faa1afe55e80afad2c1"}}], "version": "9.6.15", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "0e58f3b145870b8f318a43ff5a62ad9a", "kind": "equivalent", "version": "11.5", "label": "11.5", "title": "防止对端点为 infinity 的日期范围进行不正确的规范化", "evidence": {"same_day": true, "patch_ids": ["0055289fede3d0d58f40bc9a5cd8b5c5", "26d2b816955d6b94419cbe84d2fa80a3"], "statement_hash": "b5278a466e61ff1562f82babdb5ea62bf67b661d28881faa1afe55e80afad2c1"}, "url": "/docs/compare/?release=11.5#11.5-75ff8e2cb8d59adc", "source_url": "/docs/release/11.5/#id-1.11.6.22.5"}, {"db_id": "bb52f28cb1b49f77d0d1c61835abdfef", "kind": "equivalent", "version": "10.10", "label": "10.10", "title": "防止对端点为 infinity 的日期范围进行不正确的规范化", "evidence": {"same_day": true, "patch_ids": ["0055289fede3d0d58f40bc9a5cd8b5c5", "26d2b816955d6b94419cbe84d2fa80a3"], "statement_hash": "b5278a466e61ff1562f82babdb5ea62bf67b661d28881faa1afe55e80afad2c1"}, "url": "/docs/compare/?release=10.10#10.10-75ff8e2cb8d59adc", "source_url": "/docs/release/10.10/#id-1.11.6.18.5"}, {"db_id": "fd6b4bdf38695151d42034a3d302f7de", "kind": "equivalent", "version": "9.5.19", "label": "9.5.19", "title": "防止对以 infinity 为端点的日期范围的错误规范化", "evidence": {"same_day": true, "patch_ids": ["0055289fede3d0d58f40bc9a5cd8b5c5", "26d2b816955d6b94419cbe84d2fa80a3"], "statement_hash": "b5278a466e61ff1562f82babdb5ea62bf67b661d28881faa1afe55e80afad2c1"}, "url": "/docs/compare/?release=9.5.19#9.5.19-647733814a9720f6", "source_url": "/docs/release/9.5.19/#id-1.11.6.11.5"}, {"db_id": "585f8c17b8fec07d6f69a2cfad6a5816", "kind": "equivalent", "version": "9.4.24", "label": "9.4.24", "title": "防止对以 infinity 为端点的日期范围的错误规范化", "evidence": {"same_day": true, "patch_ids": ["0055289fede3d0d58f40bc9a5cd8b5c5", "26d2b816955d6b94419cbe84d2fa80a3"], "statement_hash": "b5278a466e61ff1562f82babdb5ea62bf67b661d28881faa1afe55e80afad2c1"}, "url": "/docs/compare/?release=9.4.24#9.4.24-647733814a9720f6", "source_url": "/docs/release/9.4.24/#id-1.11.6.7.6"}]}, {"id": "9.6.15-87fe480fb44c3a8f", "cves": [], "html": "<p>修复把非常大的 <code>money</code> 值转换为 <code>numeric</code> 时小数位数的丢失（Tom Lane）</p>", "text": "修复把非常大的 money 值转换为 numeric 时小数位数的丢失（Tom Lane）", "title": "修复把非常大的 money 值转换为 numeric 时小数位数的丢失", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.15/#id-1.11.6.14.5", "source_hash": "94b1be31b813fc7c92b5b83015f7944cf8847c6708dbf479af48ffdffd0eb535", "section_path": ["变更"], "commit_groups": [["01e0538e8", "13e493cf6", "30bed9f63", "81b29c871", "b9d2c5c7a", "ca918f99a", "fa854112f"]], "identity_text": "Fix loss of fractional digits when converting very large money values to numeric (Tom Lane)", "commit_aliases": ["01e0538e8", "13e493cf6", "30bed9f63", "81b29c871", "b9d2c5c7a", "ca918f99a", "fa854112f"], "source_commits": ["30bed9f63"], "source_entry_id": "9.6.15/changes/009", "db_id": "dcb7fef54ff9b537a843525e499fe109", "patch_ids": ["592963fc1c49c889926948092c98ffce"], "statement_hash": "adfdfefd5571d513e023a105d938103e941a300785a4c78fbb879a238c9d776b", "relations": [{"rule": 2, "type": "equivalent", "target": "16dc15d7906f99d527995e8715273d59", "evidence": {"same_day": true, "patch_ids": ["592963fc1c49c889926948092c98ffce"], "statement_hash": "adfdfefd5571d513e023a105d938103e941a300785a4c78fbb879a238c9d776b"}}, {"rule": 2, "type": "equivalent", "target": "4f3baa03230cea46f9710ff75232f106", "evidence": {"same_day": true, "patch_ids": ["592963fc1c49c889926948092c98ffce"], "statement_hash": "adfdfefd5571d513e023a105d938103e941a300785a4c78fbb879a238c9d776b"}}, {"rule": 2, "type": "equivalent", "target": "684d5d8de43f64a2f9375814951dd67c", "evidence": {"same_day": true, "patch_ids": ["592963fc1c49c889926948092c98ffce"], "statement_hash": "adfdfefd5571d513e023a105d938103e941a300785a4c78fbb879a238c9d776b"}}, {"rule": 2, "type": "equivalent", "target": "ebd3cd01b9fbe01267534ad889c25ccd", "evidence": {"same_day": true, "patch_ids": ["592963fc1c49c889926948092c98ffce"], "statement_hash": "adfdfefd5571d513e023a105d938103e941a300785a4c78fbb879a238c9d776b"}}], "version": "9.6.15", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "4f3baa03230cea46f9710ff75232f106", "kind": "equivalent", "version": "11.5", "label": "11.5", "title": "修复将非常大的 money 值转换为 numeric 时小数位丢失的问题", "evidence": {"same_day": true, "patch_ids": ["592963fc1c49c889926948092c98ffce"], "statement_hash": "adfdfefd5571d513e023a105d938103e941a300785a4c78fbb879a238c9d776b"}, "url": "/docs/compare/?release=11.5#11.5-10abeca09fff8a05", "source_url": "/docs/release/11.5/#id-1.11.6.22.5"}, {"db_id": "16dc15d7906f99d527995e8715273d59", "kind": "equivalent", "version": "10.10", "label": "10.10", "title": "修复将非常大的 money 值转换为 numeric 时小数位丢失的问题", "evidence": {"same_day": true, "patch_ids": ["592963fc1c49c889926948092c98ffce"], "statement_hash": "adfdfefd5571d513e023a105d938103e941a300785a4c78fbb879a238c9d776b"}, "url": "/docs/compare/?release=10.10#10.10-10abeca09fff8a05", "source_url": "/docs/release/10.10/#id-1.11.6.18.5"}, {"db_id": "ebd3cd01b9fbe01267534ad889c25ccd", "kind": "equivalent", "version": "9.5.19", "label": "9.5.19", "title": "修复把非常大的 money 值转换为 numeric 时小数位数的丢失", "evidence": {"same_day": true, "patch_ids": ["592963fc1c49c889926948092c98ffce"], "statement_hash": "adfdfefd5571d513e023a105d938103e941a300785a4c78fbb879a238c9d776b"}, "url": "/docs/compare/?release=9.5.19#9.5.19-87fe480fb44c3a8f", "source_url": "/docs/release/9.5.19/#id-1.11.6.11.5"}, {"db_id": "684d5d8de43f64a2f9375814951dd67c", "kind": "equivalent", "version": "9.4.24", "label": "9.4.24", "title": "修复把非常大的 money 值转换为 numeric 时小数位数的丢失", "evidence": {"same_day": true, "patch_ids": ["592963fc1c49c889926948092c98ffce"], "statement_hash": "adfdfefd5571d513e023a105d938103e941a300785a4c78fbb879a238c9d776b"}, "url": "/docs/compare/?release=9.4.24#9.4.24-87fe480fb44c3a8f", "source_url": "/docs/release/9.4.24/#id-1.11.6.7.6"}]}, {"id": "9.6.15-2aa91f809e9233ce", "cves": [], "html": "<p>修复 MIPS CPU 的自旋锁汇编代码，使其在 MIPS r6 上工作（YunQiang Su）</p>", "text": "修复 MIPS CPU 的自旋锁汇编代码，使其在 MIPS r6 上工作（YunQiang Su）", "title": "修复 MIPS CPU 的自旋锁汇编代码，使其在 MIPS r6 上工作", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.15/#id-1.11.6.14.5", "source_hash": "296b8d8079ec31ed44dfa15d0680266fd100ddf648df573e5e4ede81936ea1c4", "section_path": ["变更"], "commit_groups": [["05399b148", "1323bfce5", "2854e2ab6", "36d2c3ad3", "40dde8290", "9895e3a36"]], "identity_text": "Fix spinlock assembly code for MIPS CPUs so that it works on MIPS r6 (YunQiang Su)", "commit_aliases": ["05399b148", "1323bfce5", "2854e2ab6", "36d2c3ad3", "40dde8290", "9895e3a36"], "source_commits": ["9895e3a36"], "source_entry_id": "9.6.15/changes/010", "db_id": "ab19c7cf11419d91689e99bf9e39b9b0", "patch_ids": ["421bea799bfbecfbbc7472b4f27e9621"], "statement_hash": "e32f0f67275a9c8a4eb1604238e8851ca8d3e1cff7308116c2b90be9a4ed8a64", "relations": [{"rule": 2, "type": "equivalent", "target": "148cc89d12926d613b4765f9b06c4e4f", "evidence": {"same_day": true, "patch_ids": ["421bea799bfbecfbbc7472b4f27e9621"], "statement_hash": "e32f0f67275a9c8a4eb1604238e8851ca8d3e1cff7308116c2b90be9a4ed8a64"}}, {"rule": 2, "type": "equivalent", "target": "4da3a1833367fec8c97699f51233ba82", "evidence": {"same_day": true, "patch_ids": ["421bea799bfbecfbbc7472b4f27e9621"], "statement_hash": "e32f0f67275a9c8a4eb1604238e8851ca8d3e1cff7308116c2b90be9a4ed8a64"}}, {"rule": 2, "type": "equivalent", "target": "7b6e138aaa61876ad696d64a950926f5", "evidence": {"same_day": true, "patch_ids": ["421bea799bfbecfbbc7472b4f27e9621"], "statement_hash": "e32f0f67275a9c8a4eb1604238e8851ca8d3e1cff7308116c2b90be9a4ed8a64"}}, {"rule": 2, "type": "equivalent", "target": "c0e1e4e25e282e4bf82ab7c2416c1371", "evidence": {"same_day": true, "patch_ids": ["421bea799bfbecfbbc7472b4f27e9621"], "statement_hash": "e32f0f67275a9c8a4eb1604238e8851ca8d3e1cff7308116c2b90be9a4ed8a64"}}], "version": "9.6.15", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "c0e1e4e25e282e4bf82ab7c2416c1371", "kind": "equivalent", "version": "11.5", "label": "11.5", "title": "修复 MIPS CPU 的自旋锁汇编代码，使其适用于 MIPS r6", "evidence": {"same_day": true, "patch_ids": ["421bea799bfbecfbbc7472b4f27e9621"], "statement_hash": "e32f0f67275a9c8a4eb1604238e8851ca8d3e1cff7308116c2b90be9a4ed8a64"}, "url": "/docs/compare/?release=11.5#11.5-75e6da5fa4a95ee6", "source_url": "/docs/release/11.5/#id-1.11.6.22.5"}, {"db_id": "4da3a1833367fec8c97699f51233ba82", "kind": "equivalent", "version": "10.10", "label": "10.10", "title": "修复 MIPS CPU 的自旋锁汇编代码，使其适用于 MIPS r6", "evidence": {"same_day": true, "patch_ids": ["421bea799bfbecfbbc7472b4f27e9621"], "statement_hash": "e32f0f67275a9c8a4eb1604238e8851ca8d3e1cff7308116c2b90be9a4ed8a64"}, "url": "/docs/compare/?release=10.10#10.10-75e6da5fa4a95ee6", "source_url": "/docs/release/10.10/#id-1.11.6.18.5"}, {"db_id": "7b6e138aaa61876ad696d64a950926f5", "kind": "equivalent", "version": "9.5.19", "label": "9.5.19", "title": "修复 MIPS CPU 的自旋锁汇编代码，使其在 MIPS r6 上工作", "evidence": {"same_day": true, "patch_ids": ["421bea799bfbecfbbc7472b4f27e9621"], "statement_hash": "e32f0f67275a9c8a4eb1604238e8851ca8d3e1cff7308116c2b90be9a4ed8a64"}, "url": "/docs/compare/?release=9.5.19#9.5.19-2aa91f809e9233ce", "source_url": "/docs/release/9.5.19/#id-1.11.6.11.5"}, {"db_id": "148cc89d12926d613b4765f9b06c4e4f", "kind": "equivalent", "version": "9.4.24", "label": "9.4.24", "title": "修复 MIPS CPU 的自旋锁汇编代码，使其在 MIPS r6 上工作", "evidence": {"same_day": true, "patch_ids": ["421bea799bfbecfbbc7472b4f27e9621"], "statement_hash": "e32f0f67275a9c8a4eb1604238e8851ca8d3e1cff7308116c2b90be9a4ed8a64"}, "url": "/docs/compare/?release=9.4.24#9.4.24-2aa91f809e9233ce", "source_url": "/docs/release/9.4.24/#id-1.11.6.7.6"}]}, {"id": "9.6.15-d9bfb2af9c46120e", "cves": [], "html": "<p>让 <span>libpq</span> 忽略连接服务文件中的回车（<code>\\r</code>）（Tom Lane、Michael Paquier）</p>\n<p>在某些边界情况下，包含 Windows 风格换行的服务文件可能被错误解析，导致连接失败。</p>", "text": "让 libpq 忽略连接服务文件中的回车（\\r）（Tom Lane、Michael Paquier） 在某些边界情况下，包含 Windows 风格换行的服务文件可能被错误解析，导致连接失败。", "title": "让 libpq 忽略连接服务文件中的回车（\\r）", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.15/#id-1.11.6.14.5", "source_hash": "68edf79da26e258fba74e131b34de3d956eff11a80097d2453b125f0d792d2d4", "section_path": ["变更"], "commit_groups": [["11a0a4db3", "6266654db", "8c52b77dd", "b654714f9", "ba27151d1", "c58cf97f2", "cb65b454f"]], "identity_text": "Make libpq ignore carriage return (\\r) in connection service files (Tom Lane, Michael Paquier) In some corner cases, service files containing Windows-style newlines could be mis-parsed, resulting in connection failures.", "commit_aliases": ["11a0a4db3", "6266654db", "8c52b77dd", "b654714f9", "ba27151d1", "c58cf97f2", "cb65b454f"], "source_commits": ["ba27151d1"], "source_entry_id": "9.6.15/changes/011", "db_id": "8de98742bede407ff055f3a1f907fa02", "patch_ids": ["0c52d799489d2d345afa1ce18511da67"], "statement_hash": "c9dcd72eb5cf09f829656e4496e0c3caaac9b1f3b00bac69eb2a91451db56f0f", "relations": [{"rule": 2, "type": "equivalent", "target": "63c59a865186e922f6f9868a577993f7", "evidence": {"same_day": true, "patch_ids": ["0c52d799489d2d345afa1ce18511da67"], "statement_hash": "c9dcd72eb5cf09f829656e4496e0c3caaac9b1f3b00bac69eb2a91451db56f0f"}}, {"rule": 2, "type": "equivalent", "target": "750f9c95bc91c75e18a3b866f61c9e19", "evidence": {"same_day": true, "patch_ids": ["0c52d799489d2d345afa1ce18511da67"], "statement_hash": "c9dcd72eb5cf09f829656e4496e0c3caaac9b1f3b00bac69eb2a91451db56f0f"}}, {"rule": 2, "type": "equivalent", "target": "f0da8881afb51e5188a214dfb856e88f", "evidence": {"same_day": true, "patch_ids": ["0c52d799489d2d345afa1ce18511da67"], "statement_hash": "c9dcd72eb5cf09f829656e4496e0c3caaac9b1f3b00bac69eb2a91451db56f0f"}}, {"rule": 2, "type": "equivalent", "target": "f470297cc97ba5d0f05e547d29143113", "evidence": {"same_day": true, "patch_ids": ["0c52d799489d2d345afa1ce18511da67"], "statement_hash": "c9dcd72eb5cf09f829656e4496e0c3caaac9b1f3b00bac69eb2a91451db56f0f"}}], "version": "9.6.15", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "f0da8881afb51e5188a214dfb856e88f", "kind": "equivalent", "version": "11.5", "label": "11.5", "title": "使 libpq 忽略连接服务文件中的回车符（\\r）", "evidence": {"same_day": true, "patch_ids": ["0c52d799489d2d345afa1ce18511da67"], "statement_hash": "c9dcd72eb5cf09f829656e4496e0c3caaac9b1f3b00bac69eb2a91451db56f0f"}, "url": "/docs/compare/?release=11.5#11.5-ac2085943685f28c", "source_url": "/docs/release/11.5/#id-1.11.6.22.5"}, {"db_id": "f470297cc97ba5d0f05e547d29143113", "kind": "equivalent", "version": "10.10", "label": "10.10", "title": "使 libpq 忽略连接服务文件中的回车符（\\r）", "evidence": {"same_day": true, "patch_ids": ["0c52d799489d2d345afa1ce18511da67"], "statement_hash": "c9dcd72eb5cf09f829656e4496e0c3caaac9b1f3b00bac69eb2a91451db56f0f"}, "url": "/docs/compare/?release=10.10#10.10-ac2085943685f28c", "source_url": "/docs/release/10.10/#id-1.11.6.18.5"}, {"db_id": "63c59a865186e922f6f9868a577993f7", "kind": "equivalent", "version": "9.5.19", "label": "9.5.19", "title": "让 libpq 忽略连接服务文件中的回车（\\r）", "evidence": {"same_day": true, "patch_ids": ["0c52d799489d2d345afa1ce18511da67"], "statement_hash": "c9dcd72eb5cf09f829656e4496e0c3caaac9b1f3b00bac69eb2a91451db56f0f"}, "url": "/docs/compare/?release=9.5.19#9.5.19-d9bfb2af9c46120e", "source_url": "/docs/release/9.5.19/#id-1.11.6.11.5"}, {"db_id": "750f9c95bc91c75e18a3b866f61c9e19", "kind": "equivalent", "version": "9.4.24", "label": "9.4.24", "title": "让 libpq 忽略连接服务文件中的回车（\\r）", "evidence": {"same_day": true, "patch_ids": ["0c52d799489d2d345afa1ce18511da67"], "statement_hash": "c9dcd72eb5cf09f829656e4496e0c3caaac9b1f3b00bac69eb2a91451db56f0f"}, "url": "/docs/compare/?release=9.4.24#9.4.24-d9bfb2af9c46120e", "source_url": "/docs/release/9.4.24/#id-1.11.6.7.6"}]}, {"id": "9.6.15-456d543c5560865e", "cves": [], "html": "<p>在 <span>psql</span> 中，避免在 <code>SET <em><code>variable</code></em> =</code> 之后提供错误的 Tab 补全选项（Tom Lane）</p>", "text": "在 psql 中，避免在 SET variable = 之后提供错误的 Tab 补全选项（Tom Lane）", "title": "在 psql 中，避免在 SET variable = 之后提供错误的 Tab 补全选项", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.15/#id-1.11.6.14.5", "source_hash": "06bcebf82f57731b64e27e9d0fc2893d7f4a897d766148492232d480888a0706", "section_path": ["变更"], "commit_groups": [["074add6ed", "0ec3e13c6", "47fe7a753", "4f3648de2", "90434e6f2"]], "identity_text": "In psql, avoid offering incorrect tab completion options after SET variable = (Tom Lane)", "commit_aliases": ["074add6ed", "0ec3e13c6", "47fe7a753", "4f3648de2", "90434e6f2"], "source_commits": ["47fe7a753"], "source_entry_id": "9.6.15/changes/012", "db_id": "e57dbb753d6530a40332b40b3122d465", "patch_ids": ["f655e1d108467fde4fc2d46a6336286d"], "statement_hash": "79ce17f2985a7d57bbdab039a9ae3fb644c4e063698a502b45ddceb176cd0fcf", "relations": [{"rule": 2, "type": "equivalent", "target": "5e65794eff99f928692bbbf634641cfa", "evidence": {"same_day": true, "patch_ids": ["f655e1d108467fde4fc2d46a6336286d"], "statement_hash": "79ce17f2985a7d57bbdab039a9ae3fb644c4e063698a502b45ddceb176cd0fcf"}}, {"rule": 2, "type": "equivalent", "target": "7e2faaf483c0a41a517cf51700845f43", "evidence": {"same_day": true, "patch_ids": ["f655e1d108467fde4fc2d46a6336286d"], "statement_hash": "79ce17f2985a7d57bbdab039a9ae3fb644c4e063698a502b45ddceb176cd0fcf"}}], "version": "9.6.15", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "7e2faaf483c0a41a517cf51700845f43", "kind": "equivalent", "version": "11.5", "label": "11.5", "title": "在 psql 中，避免在 SET variable = 之后提供不正确的 Tab 补全选项", "evidence": {"same_day": true, "patch_ids": ["f655e1d108467fde4fc2d46a6336286d"], "statement_hash": "79ce17f2985a7d57bbdab039a9ae3fb644c4e063698a502b45ddceb176cd0fcf"}, "url": "/docs/compare/?release=11.5#11.5-ceade21b2731e64f", "source_url": "/docs/release/11.5/#id-1.11.6.22.5"}, {"db_id": "5e65794eff99f928692bbbf634641cfa", "kind": "equivalent", "version": "10.10", "label": "10.10", "title": "在 psql 中，避免在 SET variable = 之后提供不正确的 Tab 补全选项", "evidence": {"same_day": true, "patch_ids": ["f655e1d108467fde4fc2d46a6336286d"], "statement_hash": "79ce17f2985a7d57bbdab039a9ae3fb644c4e063698a502b45ddceb176cd0fcf"}, "url": "/docs/compare/?release=10.10#10.10-ceade21b2731e64f", "source_url": "/docs/release/10.10/#id-1.11.6.18.5"}]}, {"id": "9.6.15-3a9d0fba398db480", "cves": [], "html": "<p>修复 <span>pg_dump</span> 确保自定义操作符类以正确的顺序转储（Tom Lane）</p>\n<p>如果用户定义的操作符类是某个用户定义范围类型的子类型操作符类，相关对象会以错误的顺序转储，产生无法恢复的转储。（操作符类依赖处理的这一底层失败也可能在其他情况下显现，但这是唯一已知的情况。）</p>", "text": "修复 pg_dump 确保自定义操作符类以正确的顺序转储（Tom Lane） 如果用户定义的操作符类是某个用户定义范围类型的子类型操作符类，相关对象会以错误的顺序转储，产生无法恢复的转储。（操作符类依赖处理的这一底层失败也可能在其他情况下显现，但这是唯一已知的情况。）", "title": "修复 pg_dump 确保自定义操作符类以正确的顺序转储", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.15/#id-1.11.6.14.5", "source_hash": "2590b20edb4c9a12840633a1050438195302132bdf21a24ac7f3f2539665ea6b", "section_path": ["变更"], "commit_groups": [["07b39083c", "408f75938", "4e10b6f82", "7615afa48", "9dd74ba5a", "b31a98022", "c64e29705"]], "identity_text": "Fix pg_dump to ensure that custom operator classes are dumped in the right order (Tom Lane) If a user-defined opclass is the subtype opclass of a user-defined range type, related objects were dumped in the wrong order, producing an unrestorable dump. (The underlying failure to handle opclass dependencies might manifest in other cases too, but this is the only known case.)", "commit_aliases": ["07b39083c", "408f75938", "4e10b6f82", "7615afa48", "9dd74ba5a", "b31a98022", "c64e29705"], "source_commits": ["b31a98022"], "source_entry_id": "9.6.15/changes/013", "db_id": "09734321368e7f07237a0d5bde37c769", "patch_ids": ["70fdf9c165e267a20afb1eaf20bb5ed5"], "statement_hash": "c6670be03438303a67bb0da4b7b2d26c5d0eb52ea181a8e32fdeb653c42f93de", "relations": [{"rule": 2, "type": "equivalent", "target": "9f2677746b49131ad3a83320ad497740", "evidence": {"same_day": true, "patch_ids": ["70fdf9c165e267a20afb1eaf20bb5ed5"], "statement_hash": "c6670be03438303a67bb0da4b7b2d26c5d0eb52ea181a8e32fdeb653c42f93de"}}, {"rule": 2, "type": "equivalent", "target": "d310270c03e84689653e850517303f19", "evidence": {"same_day": true, "patch_ids": ["70fdf9c165e267a20afb1eaf20bb5ed5"], "statement_hash": "c6670be03438303a67bb0da4b7b2d26c5d0eb52ea181a8e32fdeb653c42f93de"}}, {"rule": 2, "type": "equivalent", "target": "e02a0d241ddabea15ae65033c24244c3", "evidence": {"same_day": true, "patch_ids": ["70fdf9c165e267a20afb1eaf20bb5ed5"], "statement_hash": "c6670be03438303a67bb0da4b7b2d26c5d0eb52ea181a8e32fdeb653c42f93de"}}, {"rule": 2, "type": "equivalent", "target": "e3a9f1a2711f5c8e08a1f2a2f96c8656", "evidence": {"same_day": true, "patch_ids": ["70fdf9c165e267a20afb1eaf20bb5ed5"], "statement_hash": "c6670be03438303a67bb0da4b7b2d26c5d0eb52ea181a8e32fdeb653c42f93de"}}], "version": "9.6.15", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "d310270c03e84689653e850517303f19", "kind": "equivalent", "version": "11.5", "label": "11.5", "title": "修复 pg_dump，以确保按正确顺序转储自定义操作符类", "evidence": {"same_day": true, "patch_ids": ["70fdf9c165e267a20afb1eaf20bb5ed5"], "statement_hash": "c6670be03438303a67bb0da4b7b2d26c5d0eb52ea181a8e32fdeb653c42f93de"}, "url": "/docs/compare/?release=11.5#11.5-fb4759a539ef8db1", "source_url": "/docs/release/11.5/#id-1.11.6.22.5"}, {"db_id": "e02a0d241ddabea15ae65033c24244c3", "kind": "equivalent", "version": "10.10", "label": "10.10", "title": "修复 pg_dump，以确保按正确顺序转储自定义操作符类", "evidence": {"same_day": true, "patch_ids": ["70fdf9c165e267a20afb1eaf20bb5ed5"], "statement_hash": "c6670be03438303a67bb0da4b7b2d26c5d0eb52ea181a8e32fdeb653c42f93de"}, "url": "/docs/compare/?release=10.10#10.10-fb4759a539ef8db1", "source_url": "/docs/release/10.10/#id-1.11.6.18.5"}, {"db_id": "e3a9f1a2711f5c8e08a1f2a2f96c8656", "kind": "equivalent", "version": "9.5.19", "label": "9.5.19", "title": "修复 pg_dump 确保自定义操作符类以正确的顺序转储", "evidence": {"same_day": true, "patch_ids": ["70fdf9c165e267a20afb1eaf20bb5ed5"], "statement_hash": "c6670be03438303a67bb0da4b7b2d26c5d0eb52ea181a8e32fdeb653c42f93de"}, "url": "/docs/compare/?release=9.5.19#9.5.19-3a9d0fba398db480", "source_url": "/docs/release/9.5.19/#id-1.11.6.11.5"}, {"db_id": "9f2677746b49131ad3a83320ad497740", "kind": "equivalent", "version": "9.4.24", "label": "9.4.24", "title": "修复 pg_dump 确保自定义操作符类以正确的顺序转储", "evidence": {"same_day": true, "patch_ids": ["70fdf9c165e267a20afb1eaf20bb5ed5"], "statement_hash": "c6670be03438303a67bb0da4b7b2d26c5d0eb52ea181a8e32fdeb653c42f93de"}, "url": "/docs/compare/?release=9.4.24#9.4.24-3a9d0fba398db480", "source_url": "/docs/release/9.4.24/#id-1.11.6.7.6"}]}, {"id": "9.6.15-39b3e28c742d0de5", "cves": [], "html": "<p>修复 <code>contrib/passwordcheck</code> 与 <code>check_password_hook</code> 的其他使用者共存的问题（Michael Paquier）</p>", "text": "修复 contrib/passwordcheck 与 check_password_hook 的其他使用者共存的问题（Michael Paquier）", "title": "修复 contrib/passwordcheck 与 check_password_hook 的其他使用者共存的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.15/#id-1.11.6.14.5", "source_hash": "393a9fa361ab2a35921dd58a1ce9ac372bccd36a835795a429548ab7fd6b72e1", "section_path": ["变更"], "commit_groups": [["20f5cb195", "4536e494f", "957b822b5", "a7eb28d0c", "b2a3d706b", "cb0074417", "eea28a3cb"]], "identity_text": "Fix contrib/passwordcheck to coexist with other users of check_password_hook (Michael Paquier)", "commit_aliases": ["20f5cb195", "4536e494f", "957b822b5", "a7eb28d0c", "b2a3d706b", "cb0074417", "eea28a3cb"], "source_commits": ["957b822b5"], "source_entry_id": "9.6.15/changes/014", "db_id": "7176d75b344cf415db5014720bc53cd4", "patch_ids": ["53194b916cc16779b91a5234ee5f6537"], "statement_hash": "a1666b6fa5abd9f7cdb7b486fd6ee3f361fcb92b3f39cfe98a46bfd46f548a00", "relations": [{"rule": 2, "type": "equivalent", "target": "4c10491c391eb08e2ee611428186d6fb", "evidence": {"same_day": true, "patch_ids": ["53194b916cc16779b91a5234ee5f6537"], "statement_hash": "a1666b6fa5abd9f7cdb7b486fd6ee3f361fcb92b3f39cfe98a46bfd46f548a00"}}, {"rule": 2, "type": "equivalent", "target": "bd0b9493e717514df4b87e129c03a91d", "evidence": {"same_day": true, "patch_ids": ["53194b916cc16779b91a5234ee5f6537"], "statement_hash": "a1666b6fa5abd9f7cdb7b486fd6ee3f361fcb92b3f39cfe98a46bfd46f548a00"}}, {"rule": 2, "type": "equivalent", "target": "da912bf84ad3684545dca24b0b21d950", "evidence": {"same_day": true, "patch_ids": ["53194b916cc16779b91a5234ee5f6537"], "statement_hash": "a1666b6fa5abd9f7cdb7b486fd6ee3f361fcb92b3f39cfe98a46bfd46f548a00"}}, {"rule": 2, "type": "equivalent", "target": "eed66cc7c792fcaa4b1de1a0ddd5b38c", "evidence": {"same_day": true, "patch_ids": ["53194b916cc16779b91a5234ee5f6537"], "statement_hash": "a1666b6fa5abd9f7cdb7b486fd6ee3f361fcb92b3f39cfe98a46bfd46f548a00"}}], "version": "9.6.15", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "eed66cc7c792fcaa4b1de1a0ddd5b38c", "kind": "equivalent", "version": "11.5", "label": "11.5", "title": "修复 contrib/passwordcheck，使其能与 check_password_hook 的其他使用者共存", "evidence": {"same_day": true, "patch_ids": ["53194b916cc16779b91a5234ee5f6537"], "statement_hash": "a1666b6fa5abd9f7cdb7b486fd6ee3f361fcb92b3f39cfe98a46bfd46f548a00"}, "url": "/docs/compare/?release=11.5#11.5-df35736aa7eb0653", "source_url": "/docs/release/11.5/#id-1.11.6.22.5"}, {"db_id": "da912bf84ad3684545dca24b0b21d950", "kind": "equivalent", "version": "10.10", "label": "10.10", "title": "修复 contrib/passwordcheck，使其能与 check_password_hook 的其他使用者共存", "evidence": {"same_day": true, "patch_ids": ["53194b916cc16779b91a5234ee5f6537"], "statement_hash": "a1666b6fa5abd9f7cdb7b486fd6ee3f361fcb92b3f39cfe98a46bfd46f548a00"}, "url": "/docs/compare/?release=10.10#10.10-df35736aa7eb0653", "source_url": "/docs/release/10.10/#id-1.11.6.18.5"}, {"db_id": "4c10491c391eb08e2ee611428186d6fb", "kind": "equivalent", "version": "9.5.19", "label": "9.5.19", "title": "修复 contrib/passwordcheck 与 check_password_hook 的其他使用者共存的问题", "evidence": {"same_day": true, "patch_ids": ["53194b916cc16779b91a5234ee5f6537"], "statement_hash": "a1666b6fa5abd9f7cdb7b486fd6ee3f361fcb92b3f39cfe98a46bfd46f548a00"}, "url": "/docs/compare/?release=9.5.19#9.5.19-39b3e28c742d0de5", "source_url": "/docs/release/9.5.19/#id-1.11.6.11.5"}, {"db_id": "bd0b9493e717514df4b87e129c03a91d", "kind": "equivalent", "version": "9.4.24", "label": "9.4.24", "title": "修复 contrib/passwordcheck 与 check_password_hook 的其他使用者共存的问题", "evidence": {"same_day": true, "patch_ids": ["53194b916cc16779b91a5234ee5f6537"], "statement_hash": "a1666b6fa5abd9f7cdb7b486fd6ee3f361fcb92b3f39cfe98a46bfd46f548a00"}, "url": "/docs/compare/?release=9.4.24#9.4.24-39b3e28c742d0de5", "source_url": "/docs/release/9.4.24/#id-1.11.6.7.6"}]}, {"id": "9.6.15-87eb27f086d9efa0", "cves": [], "html": "<p>修复 <code>contrib/sepgsql</code> 测试在最近的 SELinux 版本下工作的问题（Mike Palmiotto）</p>", "text": "修复 contrib/sepgsql 测试在最近的 SELinux 版本下工作的问题（Mike Palmiotto）", "title": "修复 contrib/sepgsql 测试在最近的 SELinux 版本下工作的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.15/#id-1.11.6.14.5", "source_hash": "b4a7469b1a091622c9afbc489478c92a6b09a09ba36aed7889e722b70cc96def", "section_path": ["变更"], "commit_groups": [["0a9ba5baa", "0e259d4bc", "5a1c61bdf", "5c3d47287", "665329abe", "b22e24983", "f5a4ab23e"]], "identity_text": "Fix contrib/sepgsql tests to work under recent SELinux releases (Mike Palmiotto)", "commit_aliases": ["0a9ba5baa", "0e259d4bc", "5a1c61bdf", "5c3d47287", "665329abe", "b22e24983", "f5a4ab23e"], "source_commits": ["0a9ba5baa"], "source_entry_id": "9.6.15/changes/015", "db_id": "6b633c815eff75f6064683878c2e8569", "patch_ids": ["ab3a51382f318a17cef31ba82a144ce8"], "statement_hash": "aa2db5f039c0978384f136e095ecc68dbf48f9752e08d708ac9735c201e60a71", "relations": [{"rule": 2, "type": "equivalent", "target": "1557899b72777b524a07807efdfa8e12", "evidence": {"same_day": true, "patch_ids": ["ab3a51382f318a17cef31ba82a144ce8"], "statement_hash": "aa2db5f039c0978384f136e095ecc68dbf48f9752e08d708ac9735c201e60a71"}}, {"rule": 2, "type": "equivalent", "target": "158e66ff651071a0087d2dcd8b63edfb", "evidence": {"same_day": true, "patch_ids": ["ab3a51382f318a17cef31ba82a144ce8"], "statement_hash": "aa2db5f039c0978384f136e095ecc68dbf48f9752e08d708ac9735c201e60a71"}}, {"rule": 2, "type": "equivalent", "target": "cc4c7c0fe2c130d0a351021380e44790", "evidence": {"same_day": true, "patch_ids": ["ab3a51382f318a17cef31ba82a144ce8"], "statement_hash": "aa2db5f039c0978384f136e095ecc68dbf48f9752e08d708ac9735c201e60a71"}}, {"rule": 2, "type": "equivalent", "target": "d48dc89df9bf06cc4a261afa2a1cf979", "evidence": {"same_day": true, "patch_ids": ["ab3a51382f318a17cef31ba82a144ce8"], "statement_hash": "aa2db5f039c0978384f136e095ecc68dbf48f9752e08d708ac9735c201e60a71"}}], "version": "9.6.15", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "cc4c7c0fe2c130d0a351021380e44790", "kind": "equivalent", "version": "11.5", "label": "11.5", "title": "修复 contrib/sepgsql 测试，使其适用于近期的 SELinux 版本", "evidence": {"same_day": true, "patch_ids": ["ab3a51382f318a17cef31ba82a144ce8"], "statement_hash": "aa2db5f039c0978384f136e095ecc68dbf48f9752e08d708ac9735c201e60a71"}, "url": "/docs/compare/?release=11.5#11.5-7b6e28f9df2e4b3f", "source_url": "/docs/release/11.5/#id-1.11.6.22.5"}, {"db_id": "d48dc89df9bf06cc4a261afa2a1cf979", "kind": "equivalent", "version": "10.10", "label": "10.10", "title": "修复 contrib/sepgsql 测试，使其适用于近期的 SELinux 版本", "evidence": {"same_day": true, "patch_ids": ["ab3a51382f318a17cef31ba82a144ce8"], "statement_hash": "aa2db5f039c0978384f136e095ecc68dbf48f9752e08d708ac9735c201e60a71"}, "url": "/docs/compare/?release=10.10#10.10-7b6e28f9df2e4b3f", "source_url": "/docs/release/10.10/#id-1.11.6.18.5"}, {"db_id": "1557899b72777b524a07807efdfa8e12", "kind": "equivalent", "version": "9.5.19", "label": "9.5.19", "title": "修复 contrib/sepgsql 测试在最近的 SELinux 版本下工作的问题", "evidence": {"same_day": true, "patch_ids": ["ab3a51382f318a17cef31ba82a144ce8"], "statement_hash": "aa2db5f039c0978384f136e095ecc68dbf48f9752e08d708ac9735c201e60a71"}, "url": "/docs/compare/?release=9.5.19#9.5.19-87eb27f086d9efa0", "source_url": "/docs/release/9.5.19/#id-1.11.6.11.5"}, {"db_id": "158e66ff651071a0087d2dcd8b63edfb", "kind": "equivalent", "version": "9.4.24", "label": "9.4.24", "title": "修复 contrib/sepgsql 测试在最近的 SELinux 版本下工作的问题", "evidence": {"same_day": true, "patch_ids": ["ab3a51382f318a17cef31ba82a144ce8"], "statement_hash": "aa2db5f039c0978384f136e095ecc68dbf48f9752e08d708ac9735c201e60a71"}, "url": "/docs/compare/?release=9.4.24#9.4.24-87eb27f086d9efa0", "source_url": "/docs/release/9.4.24/#id-1.11.6.7.6"}]}, {"id": "9.6.15-51a47d1f64033b51", "cves": [], "html": "<p>改进 <code>src/test/recovery</code> 回归测试的稳定性（Michael Paquier）</p>", "text": "改进 src/test/recovery 回归测试的稳定性（Michael Paquier）", "title": "改进 src/test/recovery 回归测试的稳定性", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.15/#id-1.11.6.14.5", "source_hash": "acd5de3cc8df2fce0fa334c66396062908aa6557f3bbeef9daca1d8cb000bcbf", "section_path": ["变更"], "commit_groups": [["0ceb28da0", "46fb7ff65", "7d81bdc8c", "c6f961bbb", "ca553394b"]], "identity_text": "Improve stability of src/test/recovery regression tests (Michael Paquier)", "commit_aliases": ["0ceb28da0", "46fb7ff65", "7d81bdc8c", "c6f961bbb", "ca553394b"], "source_commits": ["c6f961bbb"], "source_entry_id": "9.6.15/changes/016", "db_id": "dfdc72e7a7c112216b4d0f74c8ad4f24", "patch_ids": ["663925b07743c1ddebdc35f8a2412e25"], "statement_hash": "a4ecab3f4640046f2715b60c87e111058372f7572afafa76a414864e06f18342", "relations": [{"rule": 2, "type": "equivalent", "target": "03c6f2d59b063f4716adabc13550600e", "evidence": {"same_day": true, "patch_ids": ["663925b07743c1ddebdc35f8a2412e25"], "statement_hash": "a4ecab3f4640046f2715b60c87e111058372f7572afafa76a414864e06f18342"}}, {"rule": 2, "type": "equivalent", "target": "9ee0f1cbade23f9e52a29cc2379f9e44", "evidence": {"same_day": true, "patch_ids": ["663925b07743c1ddebdc35f8a2412e25"], "statement_hash": "a4ecab3f4640046f2715b60c87e111058372f7572afafa76a414864e06f18342"}}], "version": "9.6.15", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "9ee0f1cbade23f9e52a29cc2379f9e44", "kind": "equivalent", "version": "11.5", "label": "11.5", "title": "提高 src/test/recovery 回归测试的稳定性", "evidence": {"same_day": true, "patch_ids": ["663925b07743c1ddebdc35f8a2412e25"], "statement_hash": "a4ecab3f4640046f2715b60c87e111058372f7572afafa76a414864e06f18342"}, "url": "/docs/compare/?release=11.5#11.5-90ae189995fb3a8a", "source_url": "/docs/release/11.5/#id-1.11.6.22.5"}, {"db_id": "03c6f2d59b063f4716adabc13550600e", "kind": "equivalent", "version": "10.10", "label": "10.10", "title": "提高 src/test/recovery 回归测试的稳定性", "evidence": {"same_day": true, "patch_ids": ["663925b07743c1ddebdc35f8a2412e25"], "statement_hash": "a4ecab3f4640046f2715b60c87e111058372f7572afafa76a414864e06f18342"}, "url": "/docs/compare/?release=10.10#10.10-90ae189995fb3a8a", "source_url": "/docs/release/10.10/#id-1.11.6.18.5"}]}, {"id": "9.6.15-d696c103684e8d75", "cves": [], "html": "<p>减少 <span>pg_upgrade</span> 测试脚本的 <span>stderr</span> 输出（Tom Lane）</p>", "text": "减少 pg_upgrade 测试脚本的 stderr 输出（Tom Lane）", "title": "减少 pg_upgrade 测试脚本的 stderr 输出", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.15/#id-1.11.6.14.5", "source_hash": "7b17de229b7d7e3ff2692af88479f1d0d94d0f5ff460486c3041ab9fba708739", "section_path": ["变更"], "commit_groups": [["19f9a5aed", "69c3d5191", "75348a733", "7ac7bf50c", "8d21512dc", "eb9812f27"]], "identity_text": "Reduce stderr output from pg_upgrade's test script (Tom Lane)", "commit_aliases": ["19f9a5aed", "69c3d5191", "75348a733", "7ac7bf50c", "8d21512dc", "eb9812f27"], "source_commits": ["75348a733"], "source_entry_id": "9.6.15/changes/017", "db_id": "79ce47cd56b0d700706ef94f5489a57f", "patch_ids": ["280e12f8c3cc8d9d9eefcc0580820a84"], "statement_hash": "1c2e03648bfb3c05447129cb79c510fca3857f406bf1153e284ec8e996d7392c", "relations": [{"rule": 2, "type": "equivalent", "target": "0695b3b425f25682abe75ef8010043a3", "evidence": {"same_day": true, "patch_ids": ["280e12f8c3cc8d9d9eefcc0580820a84"], "statement_hash": "1c2e03648bfb3c05447129cb79c510fca3857f406bf1153e284ec8e996d7392c"}}, {"rule": 2, "type": "equivalent", "target": "9987687f82c177fb959d7cb535d38b96", "evidence": {"same_day": true, "patch_ids": ["280e12f8c3cc8d9d9eefcc0580820a84"], "statement_hash": "1c2e03648bfb3c05447129cb79c510fca3857f406bf1153e284ec8e996d7392c"}}, {"rule": 2, "type": "equivalent", "target": "f9e5fb6aaa2c517552f01d29ff6f329d", "evidence": {"same_day": true, "patch_ids": ["280e12f8c3cc8d9d9eefcc0580820a84"], "statement_hash": "1c2e03648bfb3c05447129cb79c510fca3857f406bf1153e284ec8e996d7392c"}}, {"rule": 2, "type": "equivalent", "target": "fcbb60aeb52f513e8aa4412ec25a5680", "evidence": {"same_day": true, "patch_ids": ["280e12f8c3cc8d9d9eefcc0580820a84"], "statement_hash": "1c2e03648bfb3c05447129cb79c510fca3857f406bf1153e284ec8e996d7392c"}}], "version": "9.6.15", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "f9e5fb6aaa2c517552f01d29ff6f329d", "kind": "equivalent", "version": "11.5", "label": "11.5", "title": "减少 pg_upgrade 测试脚本的 stderr 输出", "evidence": {"same_day": true, "patch_ids": ["280e12f8c3cc8d9d9eefcc0580820a84"], "statement_hash": "1c2e03648bfb3c05447129cb79c510fca3857f406bf1153e284ec8e996d7392c"}, "url": "/docs/compare/?release=11.5#11.5-d696c103684e8d75", "source_url": "/docs/release/11.5/#id-1.11.6.22.5"}, {"db_id": "fcbb60aeb52f513e8aa4412ec25a5680", "kind": "equivalent", "version": "10.10", "label": "10.10", "title": "减少 pg_upgrade 测试脚本的 stderr 输出", "evidence": {"same_day": true, "patch_ids": ["280e12f8c3cc8d9d9eefcc0580820a84"], "statement_hash": "1c2e03648bfb3c05447129cb79c510fca3857f406bf1153e284ec8e996d7392c"}, "url": "/docs/compare/?release=10.10#10.10-d696c103684e8d75", "source_url": "/docs/release/10.10/#id-1.11.6.18.5"}, {"db_id": "9987687f82c177fb959d7cb535d38b96", "kind": "equivalent", "version": "9.5.19", "label": "9.5.19", "title": "减少 pg_upgrade 测试脚本的 stderr 输出", "evidence": {"same_day": true, "patch_ids": ["280e12f8c3cc8d9d9eefcc0580820a84"], "statement_hash": "1c2e03648bfb3c05447129cb79c510fca3857f406bf1153e284ec8e996d7392c"}, "url": "/docs/compare/?release=9.5.19#9.5.19-d696c103684e8d75", "source_url": "/docs/release/9.5.19/#id-1.11.6.11.5"}, {"db_id": "0695b3b425f25682abe75ef8010043a3", "kind": "equivalent", "version": "9.4.24", "label": "9.4.24", "title": "减少 pg_upgrade 测试脚本的 stderr 输出", "evidence": {"same_day": true, "patch_ids": ["280e12f8c3cc8d9d9eefcc0580820a84"], "statement_hash": "1c2e03648bfb3c05447129cb79c510fca3857f406bf1153e284ec8e996d7392c"}, "url": "/docs/compare/?release=9.4.24#9.4.24-d696c103684e8d75", "source_url": "/docs/release/9.4.24/#id-1.11.6.7.6"}]}, {"id": "9.6.15-8aa0c48a4cb6f365", "cves": [], "html": "<p>修复 TAP 测试在 msys Perl 下、构建目录位于非根 msys 挂载点时的工作问题（Noah Misch）</p>", "text": "修复 TAP 测试在 msys Perl 下、构建目录位于非根 msys 挂载点时的工作问题（Noah Misch）", "title": "修复 TAP 测试在 msys Perl 下、构建目录位于非根 msys 挂载点时的工作问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.15/#id-1.11.6.14.5", "source_hash": "b65b2bed375be1c41d7b426ea4696587caae88b05372f2cf7f188148adbd2f64", "section_path": ["变更"], "commit_groups": [["186113b04", "6121ba9d1", "660a2b190", "a40dca815"]], "identity_text": "Fix TAP tests to work with msys Perl, in cases where the build directory is on a non-root msys mount point (Noah Misch)", "commit_aliases": ["186113b04", "6121ba9d1", "660a2b190", "a40dca815"], "source_commits": ["186113b04"], "source_entry_id": "9.6.15/changes/018", "db_id": "87cdb6a8ac0334d53c383c8dfe966f9e", "patch_ids": ["3f373b33700d6c8d39f2cab05127a8cc"], "statement_hash": "d3ff5ff9da6ad75039c69754a1904a57bd72e8dc0736ab2709ab69e0a98d4d61", "relations": [{"rule": 2, "type": "equivalent", "target": "c6848e12d77898fd354005a96d841e99", "evidence": {"same_day": true, "patch_ids": ["3f373b33700d6c8d39f2cab05127a8cc"], "statement_hash": "d3ff5ff9da6ad75039c69754a1904a57bd72e8dc0736ab2709ab69e0a98d4d61"}}, {"rule": 2, "type": "equivalent", "target": "db6ed6bdd1c3a993bf06d196dd6c3b9a", "evidence": {"same_day": true, "patch_ids": ["3f373b33700d6c8d39f2cab05127a8cc"], "statement_hash": "d3ff5ff9da6ad75039c69754a1904a57bd72e8dc0736ab2709ab69e0a98d4d61"}}], "version": "9.6.15", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "c6848e12d77898fd354005a96d841e99", "kind": "equivalent", "version": "11.5", "label": "11.5", "title": "修复构建目录位于非根 msys 挂载点时 TAP 测试在 msys Perl 下的运行", "evidence": {"same_day": true, "patch_ids": ["3f373b33700d6c8d39f2cab05127a8cc"], "statement_hash": "d3ff5ff9da6ad75039c69754a1904a57bd72e8dc0736ab2709ab69e0a98d4d61"}, "url": "/docs/compare/?release=11.5#11.5-5944f0c4ec69a197", "source_url": "/docs/release/11.5/#id-1.11.6.22.5"}, {"db_id": "db6ed6bdd1c3a993bf06d196dd6c3b9a", "kind": "equivalent", "version": "10.10", "label": "10.10", "title": "修复构建目录位于非根 msys 挂载点时 TAP 测试在 msys Perl 下的运行", "evidence": {"same_day": true, "patch_ids": ["3f373b33700d6c8d39f2cab05127a8cc"], "statement_hash": "d3ff5ff9da6ad75039c69754a1904a57bd72e8dc0736ab2709ab69e0a98d4d61"}, "url": "/docs/compare/?release=10.10#10.10-5944f0c4ec69a197", "source_url": "/docs/release/10.10/#id-1.11.6.18.5"}]}, {"id": "9.6.15-c2b8949f97b08580", "cves": [], "html": "<p>支持用 Microsoft Visual Studio 2019 构建 Postgres（Haribabu Kommi）</p>", "text": "支持用 Microsoft Visual Studio 2019 构建 Postgres（Haribabu Kommi）", "title": "支持用 Microsoft Visual Studio 2019 构建 Postgres", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.15/#id-1.11.6.14.5", "source_hash": "ac6102c0f251708432b0bc309c2124ed830963e56a75a841a620ea4f3d506195", "section_path": ["变更"], "commit_groups": [["0ce8e49b2", "2b1394fc2", "3337fd192", "721963f24", "78aaffd28", "d49c127d9", "f2d069ce9"]], "identity_text": "Support building Postgres with Microsoft Visual Studio 2019 (Haribabu Kommi)", "commit_aliases": ["0ce8e49b2", "2b1394fc2", "3337fd192", "721963f24", "78aaffd28", "d49c127d9", "f2d069ce9"], "source_commits": ["78aaffd28"], "source_entry_id": "9.6.15/changes/019", "db_id": "0e81425d9ba9c954cffb7949ff2b81c0", "patch_ids": ["607ec5d7e45d9dcaeb220656b8fadb2c"], "statement_hash": "aebd4f123e80468f8ba227c891312aade7ff6a7695376ec29d541c28d64d4f9e", "relations": [{"rule": 2, "type": "related", "target": "1db6a4dc5fd31f460b731b1b06a65ee3", "evidence": {"same_day": false, "patch_ids": ["607ec5d7e45d9dcaeb220656b8fadb2c"]}}, {"rule": 2, "type": "equivalent", "target": "21e7e56d3db692178fb7d0bd54fe6e57", "evidence": {"same_day": true, "patch_ids": ["607ec5d7e45d9dcaeb220656b8fadb2c"], "statement_hash": "aebd4f123e80468f8ba227c891312aade7ff6a7695376ec29d541c28d64d4f9e"}}, {"rule": 2, "type": "equivalent", "target": "4b8c493fb7f376ba153f22dbdad54767", "evidence": {"same_day": true, "patch_ids": ["607ec5d7e45d9dcaeb220656b8fadb2c"], "statement_hash": "aebd4f123e80468f8ba227c891312aade7ff6a7695376ec29d541c28d64d4f9e"}}, {"rule": 2, "type": "equivalent", "target": "632436228109ad3b9a3483b7759ec462", "evidence": {"same_day": true, "patch_ids": ["607ec5d7e45d9dcaeb220656b8fadb2c"], "statement_hash": "aebd4f123e80468f8ba227c891312aade7ff6a7695376ec29d541c28d64d4f9e"}}, {"rule": 2, "type": "equivalent", "target": "f70b8de3c87cd0730cef6bf5df43d9ae", "evidence": {"same_day": true, "patch_ids": ["607ec5d7e45d9dcaeb220656b8fadb2c"], "statement_hash": "aebd4f123e80468f8ba227c891312aade7ff6a7695376ec29d541c28d64d4f9e"}}], "version": "9.6.15", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "1db6a4dc5fd31f460b731b1b06a65ee3", "kind": "related", "version": "13.0", "label": "13.0", "title": "增加使用 Visual Studio 2019 构建的支持", "evidence": {"same_day": false, "patch_ids": ["607ec5d7e45d9dcaeb220656b8fadb2c"]}, "url": "/docs/compare/?release=13.0#13.0-43c29a2a8f7af362", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.13"}, {"db_id": "21e7e56d3db692178fb7d0bd54fe6e57", "kind": "equivalent", "version": "11.5", "label": "11.5", "title": "支持使用 Microsoft Visual Studio 2019 构建 Postgres", "evidence": {"same_day": true, "patch_ids": ["607ec5d7e45d9dcaeb220656b8fadb2c"], "statement_hash": "aebd4f123e80468f8ba227c891312aade7ff6a7695376ec29d541c28d64d4f9e"}, "url": "/docs/compare/?release=11.5#11.5-f1148e4d286e76c6", "source_url": "/docs/release/11.5/#id-1.11.6.22.5"}, {"db_id": "4b8c493fb7f376ba153f22dbdad54767", "kind": "equivalent", "version": "10.10", "label": "10.10", "title": "支持使用 Microsoft Visual Studio 2019 构建 Postgres", "evidence": {"same_day": true, "patch_ids": ["607ec5d7e45d9dcaeb220656b8fadb2c"], "statement_hash": "aebd4f123e80468f8ba227c891312aade7ff6a7695376ec29d541c28d64d4f9e"}, "url": "/docs/compare/?release=10.10#10.10-f1148e4d286e76c6", "source_url": "/docs/release/10.10/#id-1.11.6.18.5"}, {"db_id": "f70b8de3c87cd0730cef6bf5df43d9ae", "kind": "equivalent", "version": "9.5.19", "label": "9.5.19", "title": "支持用 Microsoft Visual Studio 2019 构建 Postgres", "evidence": {"same_day": true, "patch_ids": ["607ec5d7e45d9dcaeb220656b8fadb2c"], "statement_hash": "aebd4f123e80468f8ba227c891312aade7ff6a7695376ec29d541c28d64d4f9e"}, "url": "/docs/compare/?release=9.5.19#9.5.19-c2b8949f97b08580", "source_url": "/docs/release/9.5.19/#id-1.11.6.11.5"}, {"db_id": "632436228109ad3b9a3483b7759ec462", "kind": "equivalent", "version": "9.4.24", "label": "9.4.24", "title": "支持用 Microsoft Visual Studio 2019 构建 Postgres", "evidence": {"same_day": true, "patch_ids": ["607ec5d7e45d9dcaeb220656b8fadb2c"], "statement_hash": "aebd4f123e80468f8ba227c891312aade7ff6a7695376ec29d541c28d64d4f9e"}, "url": "/docs/compare/?release=9.4.24#9.4.24-c2b8949f97b08580", "source_url": "/docs/release/9.4.24/#id-1.11.6.7.6"}]}, {"id": "9.6.15-5187a7da6d609a1e", "cves": [], "html": "<p>在 Visual Studio 构建中，尊重 <code>WindowsSDKVersion</code> 环境变量（如果已设置）（Peifeng Qiu）</p>\n<p>这修复了某些配置下的构建失败。</p>", "text": "在 Visual Studio 构建中，尊重 WindowsSDKVersion 环境变量（如果已设置）（Peifeng Qiu） 这修复了某些配置下的构建失败。", "title": "在 Visual Studio 构建中，尊重 WindowsSDKVersion 环境变量（如果已设置）", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.15/#id-1.11.6.14.5", "source_hash": "4191bbc291798eda4f8158e9a03a0c872dccb0e8234ac32651b24abf556dfec6", "section_path": ["变更"], "commit_groups": [["09fa17160", "165f4eecf", "20e99cddd", "4f435f78d", "53fd0f04b", "6e5417d77", "fe9e63284"], ["3f1c6d048", "4583605e6", "7ea91ae19", "b24537046", "cb9bb1578", "e465d9d40", "ed304d1e2"]], "identity_text": "In Visual Studio builds, honor WindowsSDKVersion environment variable, if that's set (Peifeng Qiu) This fixes build failures in some configurations.", "commit_aliases": ["09fa17160", "165f4eecf", "20e99cddd", "3f1c6d048", "4583605e6", "4f435f78d", "53fd0f04b", "6e5417d77", "7ea91ae19", "b24537046", "cb9bb1578", "e465d9d40", "ed304d1e2", "fe9e63284"], "source_commits": ["09fa17160", "3f1c6d048"], "source_entry_id": "9.6.15/changes/020", "db_id": "3cf6799c0a9b5dddba8d392a0c1a5057", "patch_ids": ["0b0a0208e4eed00a5ee2853baef70360", "dc70b4b23a093a0f13ae1bed10ebc6a5"], "statement_hash": "c94deba12594ee7753416d13cf77fdefdf50c47db2b032a919e8bd327819dd3e", "relations": [{"rule": 2, "type": "equivalent", "target": "080ea81d99bca631642ed1052021fd5e", "evidence": {"same_day": true, "patch_ids": ["0b0a0208e4eed00a5ee2853baef70360", "dc70b4b23a093a0f13ae1bed10ebc6a5"], "statement_hash": "c94deba12594ee7753416d13cf77fdefdf50c47db2b032a919e8bd327819dd3e"}}, {"rule": 2, "type": "equivalent", "target": "3a1b5f6bba74f14d3b97062ac69c3101", "evidence": {"same_day": true, "patch_ids": ["0b0a0208e4eed00a5ee2853baef70360", "dc70b4b23a093a0f13ae1bed10ebc6a5"], "statement_hash": "c94deba12594ee7753416d13cf77fdefdf50c47db2b032a919e8bd327819dd3e"}}, {"rule": 2, "type": "equivalent", "target": "cb729d691b36ad57b8100562180a6149", "evidence": {"same_day": true, "patch_ids": ["0b0a0208e4eed00a5ee2853baef70360", "dc70b4b23a093a0f13ae1bed10ebc6a5"], "statement_hash": "c94deba12594ee7753416d13cf77fdefdf50c47db2b032a919e8bd327819dd3e"}}, {"rule": 2, "type": "equivalent", "target": "f1a428c57186ca5712e2e8c40a2cc3b0", "evidence": {"same_day": true, "patch_ids": ["0b0a0208e4eed00a5ee2853baef70360", "dc70b4b23a093a0f13ae1bed10ebc6a5"], "statement_hash": "c94deba12594ee7753416d13cf77fdefdf50c47db2b032a919e8bd327819dd3e"}}], "version": "9.6.15", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "cb729d691b36ad57b8100562180a6149", "kind": "equivalent", "version": "11.5", "label": "11.5", "title": "在 Visual Studio 构建中，如果设置了 WindowsSDKVersion 环境变量，则遵循其设置", "evidence": {"same_day": true, "patch_ids": ["0b0a0208e4eed00a5ee2853baef70360", "dc70b4b23a093a0f13ae1bed10ebc6a5"], "statement_hash": "c94deba12594ee7753416d13cf77fdefdf50c47db2b032a919e8bd327819dd3e"}, "url": "/docs/compare/?release=11.5#11.5-76c76fbde690bca1", "source_url": "/docs/release/11.5/#id-1.11.6.22.5"}, {"db_id": "f1a428c57186ca5712e2e8c40a2cc3b0", "kind": "equivalent", "version": "10.10", "label": "10.10", "title": "在 Visual Studio 构建中，如果设置了 WindowsSDKVersion 环境变量，则遵循其设置", "evidence": {"same_day": true, "patch_ids": ["0b0a0208e4eed00a5ee2853baef70360", "dc70b4b23a093a0f13ae1bed10ebc6a5"], "statement_hash": "c94deba12594ee7753416d13cf77fdefdf50c47db2b032a919e8bd327819dd3e"}, "url": "/docs/compare/?release=10.10#10.10-76c76fbde690bca1", "source_url": "/docs/release/10.10/#id-1.11.6.18.5"}, {"db_id": "3a1b5f6bba74f14d3b97062ac69c3101", "kind": "equivalent", "version": "9.5.19", "label": "9.5.19", "title": "在 Visual Studio 构建中，尊重 WindowsSDKVersion 环境变量（如果已设置）", "evidence": {"same_day": true, "patch_ids": ["0b0a0208e4eed00a5ee2853baef70360", "dc70b4b23a093a0f13ae1bed10ebc6a5"], "statement_hash": "c94deba12594ee7753416d13cf77fdefdf50c47db2b032a919e8bd327819dd3e"}, "url": "/docs/compare/?release=9.5.19#9.5.19-5187a7da6d609a1e", "source_url": "/docs/release/9.5.19/#id-1.11.6.11.5"}, {"db_id": "080ea81d99bca631642ed1052021fd5e", "kind": "equivalent", "version": "9.4.24", "label": "9.4.24", "title": "在 Visual Studio 构建中，尊重 WindowsSDKVersion 环境变量（如果已设置）", "evidence": {"same_day": true, "patch_ids": ["0b0a0208e4eed00a5ee2853baef70360", "dc70b4b23a093a0f13ae1bed10ebc6a5"], "statement_hash": "c94deba12594ee7753416d13cf77fdefdf50c47db2b032a919e8bd327819dd3e"}, "url": "/docs/compare/?release=9.4.24#9.4.24-5187a7da6d609a1e", "source_url": "/docs/release/9.4.24/#id-1.11.6.7.6"}]}, {"id": "9.6.15-85980c4e0e7358bf", "cves": [], "html": "<p>在 Visual Studio 构建中支持 OpenSSL 1.1.0 及更新版本（Juan José Santamaría Flecha、Michael Paquier）</p>", "text": "在 Visual Studio 构建中支持 OpenSSL 1.1.0 及更新版本（Juan José Santamaría Flecha、Michael Paquier）", "title": "在 Visual Studio 构建中支持 OpenSSL 1.1.0 及更新版本", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.15/#id-1.11.6.14.5", "source_hash": "a2591b2d4fd2b2261ca96f02a8647dd006ff405b4ccefbdf5162d49fdd6113d1", "section_path": ["变更"], "commit_groups": [["05b2758c3", "0e08a3a1f", "532960669", "a55980559", "d908a0087", "d993e0fb8"]], "identity_text": "Support OpenSSL 1.1.0 and newer in Visual Studio builds (Juan José Santamaría Flecha, Michael Paquier)", "commit_aliases": ["05b2758c3", "0e08a3a1f", "532960669", "a55980559", "d908a0087", "d993e0fb8"], "source_commits": ["532960669"], "source_entry_id": "9.6.15/changes/021", "db_id": "b5dd8a7d13a16a5383dd9a7459c32830", "patch_ids": ["562b6d58209e71365c6277368696b322"], "statement_hash": "b3cf545640f7dcb4fb99fe9daf559d06b296bff2dc60bb0fd3590e06df3c8e0b", "relations": [{"rule": 2, "type": "equivalent", "target": "146944c3eb978b894ef9dbce813b51c5", "evidence": {"same_day": true, "patch_ids": ["562b6d58209e71365c6277368696b322"], "statement_hash": "b3cf545640f7dcb4fb99fe9daf559d06b296bff2dc60bb0fd3590e06df3c8e0b"}}, {"rule": 2, "type": "equivalent", "target": "308b14a4c61b88fd5d3d03a271606193", "evidence": {"same_day": true, "patch_ids": ["562b6d58209e71365c6277368696b322"], "statement_hash": "b3cf545640f7dcb4fb99fe9daf559d06b296bff2dc60bb0fd3590e06df3c8e0b"}}, {"rule": 2, "type": "equivalent", "target": "3376f057c8d57fa49f9ba4d4948f3a8c", "evidence": {"same_day": true, "patch_ids": ["562b6d58209e71365c6277368696b322"], "statement_hash": "b3cf545640f7dcb4fb99fe9daf559d06b296bff2dc60bb0fd3590e06df3c8e0b"}}, {"rule": 2, "type": "equivalent", "target": "585e5d8fbdcd12f97da18b21f2f71830", "evidence": {"same_day": true, "patch_ids": ["562b6d58209e71365c6277368696b322"], "statement_hash": "b3cf545640f7dcb4fb99fe9daf559d06b296bff2dc60bb0fd3590e06df3c8e0b"}}], "version": "9.6.15", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "3376f057c8d57fa49f9ba4d4948f3a8c", "kind": "equivalent", "version": "11.5", "label": "11.5", "title": "在 Visual Studio 构建中支持 OpenSSL 1.1.0 及更新版本", "evidence": {"same_day": true, "patch_ids": ["562b6d58209e71365c6277368696b322"], "statement_hash": "b3cf545640f7dcb4fb99fe9daf559d06b296bff2dc60bb0fd3590e06df3c8e0b"}, "url": "/docs/compare/?release=11.5#11.5-85980c4e0e7358bf", "source_url": "/docs/release/11.5/#id-1.11.6.22.5"}, {"db_id": "308b14a4c61b88fd5d3d03a271606193", "kind": "equivalent", "version": "10.10", "label": "10.10", "title": "在 Visual Studio 构建中支持 OpenSSL 1.1.0 及更新版本", "evidence": {"same_day": true, "patch_ids": ["562b6d58209e71365c6277368696b322"], "statement_hash": "b3cf545640f7dcb4fb99fe9daf559d06b296bff2dc60bb0fd3590e06df3c8e0b"}, "url": "/docs/compare/?release=10.10#10.10-85980c4e0e7358bf", "source_url": "/docs/release/10.10/#id-1.11.6.18.5"}, {"db_id": "146944c3eb978b894ef9dbce813b51c5", "kind": "equivalent", "version": "9.5.19", "label": "9.5.19", "title": "在 Visual Studio 构建中支持 OpenSSL 1.1.0 及更新版本", "evidence": {"same_day": true, "patch_ids": ["562b6d58209e71365c6277368696b322"], "statement_hash": "b3cf545640f7dcb4fb99fe9daf559d06b296bff2dc60bb0fd3590e06df3c8e0b"}, "url": "/docs/compare/?release=9.5.19#9.5.19-85980c4e0e7358bf", "source_url": "/docs/release/9.5.19/#id-1.11.6.11.5"}, {"db_id": "585e5d8fbdcd12f97da18b21f2f71830", "kind": "equivalent", "version": "9.4.24", "label": "9.4.24", "title": "在 Visual Studio 构建中支持 OpenSSL 1.1.0 及更新版本", "evidence": {"same_day": true, "patch_ids": ["562b6d58209e71365c6277368696b322"], "statement_hash": "b3cf545640f7dcb4fb99fe9daf559d06b296bff2dc60bb0fd3590e06df3c8e0b"}, "url": "/docs/compare/?release=9.4.24#9.4.24-85980c4e0e7358bf", "source_url": "/docs/release/9.4.24/#id-1.11.6.7.6"}]}, {"id": "9.6.15-68409c917c225af8", "cves": [], "html": "<p>允许在顶层调用非 GNU make 时把 <span>make</span> 选项传递给 <span>gmake</span>（Thomas Munro）</p>", "text": "允许在顶层调用非 GNU make 时把 make 选项传递给 gmake（Thomas Munro）", "title": "允许在顶层调用非 GNU make 时把 make 选项传递给 gmake", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.15/#id-1.11.6.14.5", "source_hash": "f5fa4d07958775662d7dfa56993093241bcd49746557a892b6cd736beef5cf59", "section_path": ["变更"], "commit_groups": [["0089c3059", "2839bf353", "3a3b361cc", "956611e4c", "9ad5ea82d"]], "identity_text": "Allow make options to be passed down to gmake when non-GNU make is invoked at the top level (Thomas Munro)", "commit_aliases": ["0089c3059", "2839bf353", "3a3b361cc", "956611e4c", "9ad5ea82d"], "source_commits": ["3a3b361cc"], "source_entry_id": "9.6.15/changes/022", "db_id": "2133c3b83b805236e61b5c161d74e10a", "patch_ids": ["7c5da8cc4831bd421c5503f52f2e672b"], "statement_hash": "de2e0d3d12f04c30b0b9ba97321067f114ae9e36626128c925f7b7796b9d1c4c", "relations": [{"rule": 2, "type": "equivalent", "target": "367a44d632adbecc7f19ff59ba53d74d", "evidence": {"same_day": true, "patch_ids": ["7c5da8cc4831bd421c5503f52f2e672b"], "statement_hash": "de2e0d3d12f04c30b0b9ba97321067f114ae9e36626128c925f7b7796b9d1c4c"}}, {"rule": 2, "type": "equivalent", "target": "553a4a7c52d922fe873de9ac4aa62a2b", "evidence": {"same_day": true, "patch_ids": ["7c5da8cc4831bd421c5503f52f2e672b"], "statement_hash": "de2e0d3d12f04c30b0b9ba97321067f114ae9e36626128c925f7b7796b9d1c4c"}}, {"rule": 2, "type": "equivalent", "target": "79f703f315215a6ebacb568ad3d750d4", "evidence": {"same_day": true, "patch_ids": ["7c5da8cc4831bd421c5503f52f2e672b"], "statement_hash": "de2e0d3d12f04c30b0b9ba97321067f114ae9e36626128c925f7b7796b9d1c4c"}}], "version": "9.6.15", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "553a4a7c52d922fe873de9ac4aa62a2b", "kind": "equivalent", "version": "11.5", "label": "11.5", "title": "在顶层调用非 GNU make 时，允许将 make 选项向下传递给 gmake", "evidence": {"same_day": true, "patch_ids": ["7c5da8cc4831bd421c5503f52f2e672b"], "statement_hash": "de2e0d3d12f04c30b0b9ba97321067f114ae9e36626128c925f7b7796b9d1c4c"}, "url": "/docs/compare/?release=11.5#11.5-fd89bde718084984", "source_url": "/docs/release/11.5/#id-1.11.6.22.5"}, {"db_id": "367a44d632adbecc7f19ff59ba53d74d", "kind": "equivalent", "version": "10.10", "label": "10.10", "title": "在顶层调用非 GNU make 时，允许将 make 选项向下传递给 gmake", "evidence": {"same_day": true, "patch_ids": ["7c5da8cc4831bd421c5503f52f2e672b"], "statement_hash": "de2e0d3d12f04c30b0b9ba97321067f114ae9e36626128c925f7b7796b9d1c4c"}, "url": "/docs/compare/?release=10.10#10.10-fd89bde718084984", "source_url": "/docs/release/10.10/#id-1.11.6.18.5"}, {"db_id": "79f703f315215a6ebacb568ad3d750d4", "kind": "equivalent", "version": "9.5.19", "label": "9.5.19", "title": "允许在顶层调用非 GNU make 时把 make 选项传递给 gmake", "evidence": {"same_day": true, "patch_ids": ["7c5da8cc4831bd421c5503f52f2e672b"], "statement_hash": "de2e0d3d12f04c30b0b9ba97321067f114ae9e36626128c925f7b7796b9d1c4c"}, "url": "/docs/compare/?release=9.5.19#9.5.19-68409c917c225af8", "source_url": "/docs/release/9.5.19/#id-1.11.6.11.5"}]}, {"id": "9.6.15-79926b4459a3945a", "cves": [], "html": "<p>避免 <span>initdb</span> 期间选择 <code>localtime</code> 或 <code>posixrules</code> 作为 <code>TimeZone</code>（Tom Lane）</p>\n<p>某些情况下 <span>initdb</span> 会选择这些人工时区名之一而不是<span>“<span>真实</span>”</span>时区名。让任何其他与 C 库时区行为相匹配的时区都优先于这两个。</p>", "text": "避免 initdb 期间选择 localtime 或 posixrules 作为 TimeZone（Tom Lane） 某些情况下 initdb 会选择这些人工时区名之一而不是“真实”时区名。让任何其他与 C 库时区行为相匹配的时区都优先于这两个。", "title": "避免 initdb 期间选择 localtime 或 posixrules 作为 TimeZone", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.15/#id-1.11.6.14.5", "source_hash": "245c6d78e81682bd0caec4dc4d03ff24efb68d7ca6107ae07171ed9eb4d3b940", "section_path": ["变更"], "commit_groups": [["3754113f3", "4459266bf", "51b47471f", "6c4ffab76", "9ef811742", "ae9b91be7", "e31dfe99c"]], "identity_text": "Avoid choosing localtime or posixrules as TimeZone during initdb (Tom Lane) In some cases initdb would choose one of these artificial zone names over the real zone name. Prefer any other match to the C library's timezone behavior over these two.", "commit_aliases": ["3754113f3", "4459266bf", "51b47471f", "6c4ffab76", "9ef811742", "ae9b91be7", "e31dfe99c"], "source_commits": ["51b47471f"], "source_entry_id": "9.6.15/changes/023", "db_id": "75c54bce7e00f2302122362de847a5b0", "patch_ids": ["fd131fa8b8a4461a6064daa8fe8c1db0"], "statement_hash": "35ffa55d1deeb8d498068ccdd098deef71049f39677b2bc78488c831419c6568", "relations": [{"rule": 2, "type": "equivalent", "target": "033ba373303032af152d3ad2101f38ca", "evidence": {"same_day": true, "patch_ids": ["fd131fa8b8a4461a6064daa8fe8c1db0"], "statement_hash": "35ffa55d1deeb8d498068ccdd098deef71049f39677b2bc78488c831419c6568"}}, {"rule": 2, "type": "equivalent", "target": "5a13f504e355439184c44ee579a48f82", "evidence": {"same_day": true, "patch_ids": ["fd131fa8b8a4461a6064daa8fe8c1db0"], "statement_hash": "35ffa55d1deeb8d498068ccdd098deef71049f39677b2bc78488c831419c6568"}}, {"rule": 2, "type": "equivalent", "target": "77053372da7af5c46b1bec1d886d85a8", "evidence": {"same_day": true, "patch_ids": ["fd131fa8b8a4461a6064daa8fe8c1db0"], "statement_hash": "35ffa55d1deeb8d498068ccdd098deef71049f39677b2bc78488c831419c6568"}}, {"rule": 2, "type": "equivalent", "target": "df87d555f2babb058977abd9daf3ecfd", "evidence": {"same_day": true, "patch_ids": ["fd131fa8b8a4461a6064daa8fe8c1db0"], "statement_hash": "35ffa55d1deeb8d498068ccdd098deef71049f39677b2bc78488c831419c6568"}}], "version": "9.6.15", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "77053372da7af5c46b1bec1d886d85a8", "kind": "equivalent", "version": "11.5", "label": "11.5", "title": "在 initdb 期间，避免选择 localtime 或 posixrules 作为 TimeZone", "evidence": {"same_day": true, "patch_ids": ["fd131fa8b8a4461a6064daa8fe8c1db0"], "statement_hash": "35ffa55d1deeb8d498068ccdd098deef71049f39677b2bc78488c831419c6568"}, "url": "/docs/compare/?release=11.5#11.5-0fed084502e27e32", "source_url": "/docs/release/11.5/#id-1.11.6.22.5"}, {"db_id": "033ba373303032af152d3ad2101f38ca", "kind": "equivalent", "version": "10.10", "label": "10.10", "title": "在 initdb 期间，避免选择 localtime 或 posixrules 作为 TimeZone", "evidence": {"same_day": true, "patch_ids": ["fd131fa8b8a4461a6064daa8fe8c1db0"], "statement_hash": "35ffa55d1deeb8d498068ccdd098deef71049f39677b2bc78488c831419c6568"}, "url": "/docs/compare/?release=10.10#10.10-0fed084502e27e32", "source_url": "/docs/release/10.10/#id-1.11.6.18.5"}, {"db_id": "5a13f504e355439184c44ee579a48f82", "kind": "equivalent", "version": "9.5.19", "label": "9.5.19", "title": "避免 initdb 期间选择 localtime 或 posixrules 作为 TimeZone", "evidence": {"same_day": true, "patch_ids": ["fd131fa8b8a4461a6064daa8fe8c1db0"], "statement_hash": "35ffa55d1deeb8d498068ccdd098deef71049f39677b2bc78488c831419c6568"}, "url": "/docs/compare/?release=9.5.19#9.5.19-79926b4459a3945a", "source_url": "/docs/release/9.5.19/#id-1.11.6.11.5"}, {"db_id": "df87d555f2babb058977abd9daf3ecfd", "kind": "equivalent", "version": "9.4.24", "label": "9.4.24", "title": "避免 initdb 期间选择 localtime 或 posixrules 作为 TimeZone", "evidence": {"same_day": true, "patch_ids": ["fd131fa8b8a4461a6064daa8fe8c1db0"], "statement_hash": "35ffa55d1deeb8d498068ccdd098deef71049f39677b2bc78488c831419c6568"}, "url": "/docs/compare/?release=9.4.24#9.4.24-79926b4459a3945a", "source_url": "/docs/release/9.4.24/#id-1.11.6.7.6"}]}, {"id": "9.6.15-8a4194fc6d4f531d", "cves": [], "html": "<p>调整 <code>pg_timezone_names</code> 视图，使其仅当 <code>Factory</code> 时区有短缩写时才显示它（Tom Lane）</p>\n<p>历史上，IANA 为这个人工时区设置的<span>“<span>缩写</span>”</span>形如 <code>Local time zone must be set--see zic manual page</code>。现代版本的 tzdb 数据库显示 <code>-00</code>，但某些平台修改了数据以显示历史措辞之一或另一个。仅当该时区使用现代缩写时才显示它。</p>", "text": "调整 pg_timezone_names 视图，使其仅当 Factory 时区有短缩写时才显示它（Tom Lane） 历史上，IANA 为这个人工时区设置的“缩写”形如 Local time zone must be set--see zic manual page。现代版本的 tzdb 数据库显示 -00，但某些平台修改了数据以显示历史措辞之一或另一个。仅当该时区使用现代缩写时才显示它。", "title": "调整 pg_timezone_names 视图，使其仅当 Factory 时区有短缩写时才显示它", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.15/#id-1.11.6.14.5", "source_hash": "46366316293d6ea35319b7f0c4a53ba5db83bfc972689a9270565e90c61bdc67", "section_path": ["变更"], "commit_groups": [["55862b2e9", "8ab66081c", "d095b2fe6", "d304313b0", "e49132e63", "f227aecb9", "f6c7c64e9"]], "identity_text": "Adjust pg_timezone_names view to show the Factory time zone if and only if it has a short abbreviation (Tom Lane) Historically, IANA set up this artificial zone with an abbreviation like Local time zone must be set--see zic manual page. Modern versions of the tzdb database show -00 instead, but some platforms alter the data to show one or another of the historical phrases. Show this zone only if it uses the modern abbreviation.", "commit_aliases": ["55862b2e9", "8ab66081c", "d095b2fe6", "d304313b0", "e49132e63", "f227aecb9", "f6c7c64e9"], "source_commits": ["f6c7c64e9"], "source_entry_id": "9.6.15/changes/024", "db_id": "3044626b654d3861e33a608bbce560fb", "patch_ids": ["7a108e63776bc2dc495e31bffc849802"], "statement_hash": "c16b7760a6738c6a18416de6022303d6f27163d551ae91c82a174c28b53a5a02", "relations": [{"rule": 2, "type": "equivalent", "target": "14c34882fd6a6bc89f3dcb4a8a32b473", "evidence": {"same_day": true, "patch_ids": ["7a108e63776bc2dc495e31bffc849802"], "statement_hash": "c16b7760a6738c6a18416de6022303d6f27163d551ae91c82a174c28b53a5a02"}}, {"rule": 2, "type": "equivalent", "target": "68837577519dd64c99025c999bffe36e", "evidence": {"same_day": true, "patch_ids": ["7a108e63776bc2dc495e31bffc849802"], "statement_hash": "c16b7760a6738c6a18416de6022303d6f27163d551ae91c82a174c28b53a5a02"}}, {"rule": 2, "type": "equivalent", "target": "6e8de7df6e0762293df9c27ee3bd9ec2", "evidence": {"same_day": true, "patch_ids": ["7a108e63776bc2dc495e31bffc849802"], "statement_hash": "c16b7760a6738c6a18416de6022303d6f27163d551ae91c82a174c28b53a5a02"}}, {"rule": 2, "type": "equivalent", "target": "e2690d514420ed8436f89b08744ca88d", "evidence": {"same_day": true, "patch_ids": ["7a108e63776bc2dc495e31bffc849802"], "statement_hash": "c16b7760a6738c6a18416de6022303d6f27163d551ae91c82a174c28b53a5a02"}}], "version": "9.6.15", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "14c34882fd6a6bc89f3dcb4a8a32b473", "kind": "equivalent", "version": "11.5", "label": "11.5", "title": "调整 pg_timezone_names 视图，使其仅在 Factory 时区具有简短缩写时才显示它", "evidence": {"same_day": true, "patch_ids": ["7a108e63776bc2dc495e31bffc849802"], "statement_hash": "c16b7760a6738c6a18416de6022303d6f27163d551ae91c82a174c28b53a5a02"}, "url": "/docs/compare/?release=11.5#11.5-4fa250ad4c1f5480", "source_url": "/docs/release/11.5/#id-1.11.6.22.5"}, {"db_id": "e2690d514420ed8436f89b08744ca88d", "kind": "equivalent", "version": "10.10", "label": "10.10", "title": "调整 pg_timezone_names 视图，使其仅在 Factory 时区具有简短缩写时才显示它", "evidence": {"same_day": true, "patch_ids": ["7a108e63776bc2dc495e31bffc849802"], "statement_hash": "c16b7760a6738c6a18416de6022303d6f27163d551ae91c82a174c28b53a5a02"}, "url": "/docs/compare/?release=10.10#10.10-4fa250ad4c1f5480", "source_url": "/docs/release/10.10/#id-1.11.6.18.5"}, {"db_id": "68837577519dd64c99025c999bffe36e", "kind": "equivalent", "version": "9.5.19", "label": "9.5.19", "title": "调整 pg_timezone_names 视图，使其仅当 Factory 时区有短缩写时才显示它", "evidence": {"same_day": true, "patch_ids": ["7a108e63776bc2dc495e31bffc849802"], "statement_hash": "c16b7760a6738c6a18416de6022303d6f27163d551ae91c82a174c28b53a5a02"}, "url": "/docs/compare/?release=9.5.19#9.5.19-8a4194fc6d4f531d", "source_url": "/docs/release/9.5.19/#id-1.11.6.11.5"}, {"db_id": "6e8de7df6e0762293df9c27ee3bd9ec2", "kind": "equivalent", "version": "9.4.24", "label": "9.4.24", "title": "调整 pg_timezone_names 视图，使其仅当 Factory 时区有短缩写时才显示它", "evidence": {"same_day": true, "patch_ids": ["7a108e63776bc2dc495e31bffc849802"], "statement_hash": "c16b7760a6738c6a18416de6022303d6f27163d551ae91c82a174c28b53a5a02"}, "url": "/docs/compare/?release=9.4.24#9.4.24-8a4194fc6d4f531d", "source_url": "/docs/release/9.4.24/#id-1.11.6.7.6"}]}, {"id": "9.6.15-d1d3fdde8fc8a8b5", "cves": [], "html": "<p>把我们的时区库副本与 IANA tzcode 版本 2019b 同步（Tom Lane）</p>\n<p>这增加了对 <span>zic</span> 新的 <code>-b slim</code> 选项的支持，以缩小安装的时区文件。我们目前没有使用它，但将来可能启用。</p>", "text": "把我们的时区库副本与 IANA tzcode 版本 2019b 同步（Tom Lane） 这增加了对 zic 新的 -b slim 选项的支持，以缩小安装的时区文件。我们目前没有使用它，但将来可能启用。", "title": "把我们的时区库副本与 IANA tzcode 版本 2019b 同步", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.15/#id-1.11.6.14.5", "source_hash": "8368488dffbdac60edf3a22779e7d6d2c8b1312b63d858686a60203afda9c20e", "section_path": ["变更"], "commit_groups": [["1d1ff50d2", "22e73dea3", "417845646", "59cea8f36", "6db29a8fc", "ccc323b57", "f285322f9"], ["421466863", "533522846", "847561c1d", "8a4fa297a", "caa22d72a", "e480d8350", "ee9417a04"]], "identity_text": "Sync our copy of the timezone library with IANA tzcode release 2019b (Tom Lane) This adds support for zic's new -b slim option to reduce the size of the installed zone files. We are not currently using that, but may enable it in future.", "commit_aliases": ["1d1ff50d2", "22e73dea3", "417845646", "421466863", "533522846", "59cea8f36", "6db29a8fc", "847561c1d", "8a4fa297a", "caa22d72a", "ccc323b57", "e480d8350", "ee9417a04", "f285322f9"], "source_commits": ["22e73dea3", "e480d8350"], "source_entry_id": "9.6.15/changes/025", "db_id": "b33f40e33ec82a24d3017ce45ab435d6", "patch_ids": ["7f33d402225bc3e2d977b4bf937b9737", "e1850c16de3d2f00f0fa58a1cac6064c"], "statement_hash": "e3ab5a0fc260ddbb620e8e206addd3f1b4c419748364631ac6b9000472de8ed6", "relations": [{"rule": 2, "type": "equivalent", "target": "297028b8c175881017159644c7810a31", "evidence": {"same_day": true, "patch_ids": ["7f33d402225bc3e2d977b4bf937b9737", "e1850c16de3d2f00f0fa58a1cac6064c"], "statement_hash": "e3ab5a0fc260ddbb620e8e206addd3f1b4c419748364631ac6b9000472de8ed6"}}, {"rule": 2, "type": "equivalent", "target": "66704aa46bc346ce49af8b4232115efc", "evidence": {"same_day": true, "patch_ids": ["7f33d402225bc3e2d977b4bf937b9737", "e1850c16de3d2f00f0fa58a1cac6064c"], "statement_hash": "e3ab5a0fc260ddbb620e8e206addd3f1b4c419748364631ac6b9000472de8ed6"}}, {"rule": 2, "type": "equivalent", "target": "b67ca0d937f4b5114307e258fe7ce818", "evidence": {"same_day": true, "patch_ids": ["7f33d402225bc3e2d977b4bf937b9737", "e1850c16de3d2f00f0fa58a1cac6064c"], "statement_hash": "e3ab5a0fc260ddbb620e8e206addd3f1b4c419748364631ac6b9000472de8ed6"}}, {"rule": 2, "type": "equivalent", "target": "ea533fe16899568bc48a569550740487", "evidence": {"same_day": true, "patch_ids": ["7f33d402225bc3e2d977b4bf937b9737", "e1850c16de3d2f00f0fa58a1cac6064c"], "statement_hash": "e3ab5a0fc260ddbb620e8e206addd3f1b4c419748364631ac6b9000472de8ed6"}}], "version": "9.6.15", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "ea533fe16899568bc48a569550740487", "kind": "equivalent", "version": "11.5", "label": "11.5", "title": "将我们使用的时区库副本同步到 IANA tzcode 2019b 版", "evidence": {"same_day": true, "patch_ids": ["7f33d402225bc3e2d977b4bf937b9737", "e1850c16de3d2f00f0fa58a1cac6064c"], "statement_hash": "e3ab5a0fc260ddbb620e8e206addd3f1b4c419748364631ac6b9000472de8ed6"}, "url": "/docs/compare/?release=11.5#11.5-eefa1789b8288996", "source_url": "/docs/release/11.5/#id-1.11.6.22.5"}, {"db_id": "66704aa46bc346ce49af8b4232115efc", "kind": "equivalent", "version": "10.10", "label": "10.10", "title": "将我们使用的时区库副本同步到 IANA tzcode 2019b 版", "evidence": {"same_day": true, "patch_ids": ["7f33d402225bc3e2d977b4bf937b9737", "e1850c16de3d2f00f0fa58a1cac6064c"], "statement_hash": "e3ab5a0fc260ddbb620e8e206addd3f1b4c419748364631ac6b9000472de8ed6"}, "url": "/docs/compare/?release=10.10#10.10-eefa1789b8288996", "source_url": "/docs/release/10.10/#id-1.11.6.18.5"}, {"db_id": "b67ca0d937f4b5114307e258fe7ce818", "kind": "equivalent", "version": "9.5.19", "label": "9.5.19", "title": "把我们的时区库副本与 IANA tzcode 版本 2019b 同步", "evidence": {"same_day": true, "patch_ids": ["7f33d402225bc3e2d977b4bf937b9737", "e1850c16de3d2f00f0fa58a1cac6064c"], "statement_hash": "e3ab5a0fc260ddbb620e8e206addd3f1b4c419748364631ac6b9000472de8ed6"}, "url": "/docs/compare/?release=9.5.19#9.5.19-d1d3fdde8fc8a8b5", "source_url": "/docs/release/9.5.19/#id-1.11.6.11.5"}, {"db_id": "297028b8c175881017159644c7810a31", "kind": "equivalent", "version": "9.4.24", "label": "9.4.24", "title": "把我们的时区库副本与 IANA tzcode 版本 2019b 同步", "evidence": {"same_day": true, "patch_ids": ["7f33d402225bc3e2d977b4bf937b9737", "e1850c16de3d2f00f0fa58a1cac6064c"], "statement_hash": "e3ab5a0fc260ddbb620e8e206addd3f1b4c419748364631ac6b9000472de8ed6"}, "url": "/docs/compare/?release=9.4.24#9.4.24-d1d3fdde8fc8a8b5", "source_url": "/docs/release/9.4.24/#id-1.11.6.7.6"}]}, {"id": "9.6.15-b9c270ea302914d5", "cves": [], "html": "<p>更新时区数据文件到 <span>tzdata</span> 版本 2019b，涉及巴西的夏令时法规变更，以及香港、意大利和巴勒斯坦的历史修正。</p>", "text": "更新时区数据文件到 tzdata 版本 2019b，涉及巴西的夏令时法规变更，以及香港、意大利和巴勒斯坦的历史修正。", "title": "更新时区数据文件到 tzdata 版本 2019b，涉及巴西的夏令时法规变更，以及香港、意大利和巴勒斯坦的历史修正。", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.15/#id-1.11.6.14.5", "source_hash": "50d8c502f5c868f2d611e8d5147e7379baa3dbd7eb79080f4f4c3fe4050322f5", "section_path": ["变更"], "commit_groups": [["53256e892", "8474656d9", "93907478e", "a0c905f23", "bcafb675a", "d4f283162", "e3441b2a2"]], "identity_text": "Update time zone data files to tzdata release 2019b for DST law changes in Brazil, plus historical corrections for Hong Kong, Italy, and Palestine.", "commit_aliases": ["53256e892", "8474656d9", "93907478e", "a0c905f23", "bcafb675a", "d4f283162", "e3441b2a2"], "source_commits": ["e3441b2a2"], "source_entry_id": "9.6.15/changes/026", "db_id": "70c9c93891f4fa24bd7d895981d079eb", "patch_ids": ["0f1540aee091ba8ff6fe78f53e0b74dd"], "statement_hash": "6d732895efa004b27a61a334019a52f16fb169bb69d438150092c54b3e8fb989", "relations": [{"rule": 2, "type": "equivalent", "target": "402ac918a8402137d85c11e35e716686", "evidence": {"same_day": true, "patch_ids": ["0f1540aee091ba8ff6fe78f53e0b74dd"], "statement_hash": "6d732895efa004b27a61a334019a52f16fb169bb69d438150092c54b3e8fb989"}}, {"rule": 2, "type": "equivalent", "target": "9c3341e8f4d5fb8e50cfd0e22095dbb9", "evidence": {"same_day": true, "patch_ids": ["0f1540aee091ba8ff6fe78f53e0b74dd"], "statement_hash": "6d732895efa004b27a61a334019a52f16fb169bb69d438150092c54b3e8fb989"}}, {"rule": 2, "type": "equivalent", "target": "ed0eefba318199db1daa78df9e376570", "evidence": {"same_day": true, "patch_ids": ["0f1540aee091ba8ff6fe78f53e0b74dd"], "statement_hash": "6d732895efa004b27a61a334019a52f16fb169bb69d438150092c54b3e8fb989"}}, {"rule": 2, "type": "equivalent", "target": "f3ef38a6e778452ae46b46d3f5bbc7bd", "evidence": {"same_day": true, "patch_ids": ["0f1540aee091ba8ff6fe78f53e0b74dd"], "statement_hash": "6d732895efa004b27a61a334019a52f16fb169bb69d438150092c54b3e8fb989"}}], "version": "9.6.15", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "ed0eefba318199db1daa78df9e376570", "kind": "equivalent", "version": "11.5", "label": "11.5", "title": "将时区数据文件更新到 tzdata 2019b 版，以反映巴西的夏令时法规变更，并修正香港、意大利和巴勒斯坦的历史数据。", "evidence": {"same_day": true, "patch_ids": ["0f1540aee091ba8ff6fe78f53e0b74dd"], "statement_hash": "6d732895efa004b27a61a334019a52f16fb169bb69d438150092c54b3e8fb989"}, "url": "/docs/compare/?release=11.5#11.5-0dfc09ac88c04867", "source_url": "/docs/release/11.5/#id-1.11.6.22.5"}, {"db_id": "9c3341e8f4d5fb8e50cfd0e22095dbb9", "kind": "equivalent", "version": "10.10", "label": "10.10", "title": "将时区数据文件更新到 tzdata 2019b 版，以反映巴西的夏令时法规变更，并修正香港、意大利和巴勒斯坦的历史数据。", "evidence": {"same_day": true, "patch_ids": ["0f1540aee091ba8ff6fe78f53e0b74dd"], "statement_hash": "6d732895efa004b27a61a334019a52f16fb169bb69d438150092c54b3e8fb989"}, "url": "/docs/compare/?release=10.10#10.10-0dfc09ac88c04867", "source_url": "/docs/release/10.10/#id-1.11.6.18.5"}, {"db_id": "402ac918a8402137d85c11e35e716686", "kind": "equivalent", "version": "9.5.19", "label": "9.5.19", "title": "更新时区数据文件到 tzdata 版本 2019b，涉及巴西的夏令时法规变更，以及香港、意大利和巴勒斯坦的历史修正。", "evidence": {"same_day": true, "patch_ids": ["0f1540aee091ba8ff6fe78f53e0b74dd"], "statement_hash": "6d732895efa004b27a61a334019a52f16fb169bb69d438150092c54b3e8fb989"}, "url": "/docs/compare/?release=9.5.19#9.5.19-b9c270ea302914d5", "source_url": "/docs/release/9.5.19/#id-1.11.6.11.5"}, {"db_id": "f3ef38a6e778452ae46b46d3f5bbc7bd", "kind": "equivalent", "version": "9.4.24", "label": "9.4.24", "title": "更新时区数据文件到 tzdata 版本 2019b，涉及巴西的夏令时法规变更，以及香港、意大利和巴勒斯坦的历史修正。", "evidence": {"same_day": true, "patch_ids": ["0f1540aee091ba8ff6fe78f53e0b74dd"], "statement_hash": "6d732895efa004b27a61a334019a52f16fb169bb69d438150092c54b3e8fb989"}, "url": "/docs/compare/?release=9.4.24#9.4.24-b9c270ea302914d5", "source_url": "/docs/release/9.4.24/#id-1.11.6.7.6"}]}]}], "stats": [{"key": "all", "label": "全部变更", "count": 26}, {"key": "feature", "label": "新功能", "count": 0}, {"key": "bugfix", "label": "BUG 修复", "count": 10}, {"key": "security", "label": "安全相关", "count": 1}, {"key": "performance", "label": "性能改进", "count": 0}, {"key": "compatibility", "label": "兼容性变化", "count": 0}, {"key": "improvement", "label": "其他改进", "count": 15}], "total": 26, "release_count": 1, "cross_major": false, "cve_count": 2, "cves": [{"id": "CVE-2019-10208", "url": "https://www.postgresql.org/support/security/CVE-2019-10208/", "fixed": {"10": "10.10", "11": "11.5", "9.4": "9.4.24", "9.5": "9.5.19", "9.6": "9.6.15"}, "score": 7.5, "title": "要求使用函数式转换语法转换到临时类型时进行模式限定", "vector": "AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H", "affected": {"10": "10", "11": "11", "9.4": "9.4", "9.5": "9.5", "9.6": "9.6"}, "component": "core server", "published": {"10": "2019-08-08", "11": "2019-08-08", "9.4": "2019-08-08", "9.5": "2019-08-08", "9.6": "2019-08-08"}, "introduced": {}, "cvss_version": "3.0", "description_en": "Given a suitable SECURITY DEFINER function, an attacker can execute arbitrary SQL under the identity of the function owner. An attack requires EXECUTE permission on the function, which must itself contain a function call having inexact argument type match. For example, length('foo'::varchar) and length('foo') are inexact, while length('foo'::text) is exact.\n\nAs part of exploiting this vulnerability, the attacker uses CREATE DOMAIN to create a type in a pg_temp schema. The attack pattern and fix are similar to that for CVE-2007-2138 .\n\nWriting SECURITY DEFINER functions continues to require following the considerations noted in the documentation:\n\nhttps://www.postgresql.org/docs/current/sql-createfunction.html#SQL-CREATEFUNCTION-SECURITY\n\nThe PostgreSQL project thanks Tom Lane for reporting this problem.", "first_published": "2019-08-08", "fixed_version": "9.6.15"}, {"id": "CVE-2007-2138", "url": "https://www.postgresql.org/support/security/CVE-2007-2138/", "fixed": {"7.3": "7.3.19", "7.4": "7.4.17", "8.0": "8.0.13", "8.1": "8.1.9", "8.2": "8.2.4"}, "score": null, "title": "要求使用函数式转换语法转换到临时类型时进行模式限定", "vector": "", "affected": {"7.3": "7.3", "7.4": "7.4", "8.0": "8.0", "8.1": "8.1", "8.2": "8.2"}, "component": "", "published": {}, "introduced": {}, "cvss_version": "", "description_en": "", "first_published": null, "fixed_version": ""}], "cve_available": true, "remaining_cves": [], "security_regressions": [], "warnings": [], "candidate_count": 26, "already_in_source_count": 0, "duplicate_count": 0, "excluded_count": 0, "exclusions": [], "source_as_of": "2026-09-26", "security_as_of": "2026-09-26"}