{"format": 1, "mode": "release", "from_release": null, "to_release": {"date": "2022-11-10", "build": "15.1", "major": "15", "minor": 1, "manual": "15", "status": "stable", "doc_git": "", "version": "15.1", "eol_date": "2027-11-11", "date_text": "2022-11-10", "supported": true, "manual_url": "/docs/15/release-15-1.html", "source_url": "/docs/release/15.1/", "entry_count": 26, "placeholder": false, "content_hash": "d2e7fc1d091df2af7b46b1ec2def8b0a76110cff20c2ecf6a7d30edc5b7a1e0e", "manual_build": "15.19", "source_as_of": "", "changes_count": 26, "doc_loaded_at": "2026-09-26T02:56:38.228564", "migration_html": "<p>对于运行 15.X 的用户，不需要执行导出/恢复。</p>\n<p>但是，如果你经常创建和删除超过 1GB 的表，请参见下面的第一个变更日志条目。</p>", "compatibility_count": 0, "label": "15.1", "status_label": "受支持版本", "eol": "2027-11-11", "age_days": 1420, "support_days": 407}, "groups": [{"date": "2022-11-10", "build": "15.1", "major": "15", "minor": 1, "manual": "15", "status": "stable", "doc_git": "", "version": "15.1", "eol_date": "2027-11-11", "date_text": "2022-11-10", "supported": true, "manual_url": "/docs/15/release-15-1.html", "source_url": "/docs/release/15.1/", "entry_count": 26, "placeholder": false, "content_hash": "d2e7fc1d091df2af7b46b1ec2def8b0a76110cff20c2ecf6a7d30edc5b7a1e0e", "manual_build": "15.19", "source_as_of": "", "changes_count": 26, "doc_loaded_at": "2026-09-26T02:56:38.228564", "migration_html": "<p>对于运行 15.X 的用户，不需要执行导出/恢复。</p>\n<p>但是，如果你经常创建和删除超过 1GB 的表，请参见下面的第一个变更日志条目。</p>", "compatibility_count": 0, "label": "15.1", "status_label": "受支持版本", "eol": "2027-11-11", "age_days": 1420, "support_days": 407, "entries": [{"id": "15.1-53a3e4786ea1c691", "cves": [], "html": "<p>修复无法删除大表的非首段文件的问题（Tom Lane）<a href=\"https://postgr.es/c/5fe0ab420\">§</a></p>\n<p><span>PostgreSQL</span> 将大表拆分为多个文件（通常每个文件 1GB）。删除表的逻辑存在缺陷，在两种情况下会遗漏除第一个文件之外的所有文件：删除临时表和 WAL 重放删除常规表。经常创建数 GB 临时表的应用程序可能会遭受显著的磁盘空间泄漏。</p>\n<p>孤立的临时表文件会在 postmaster 启动时被删除，因此只需更新到 15.1 即可清除任何泄漏的临时表存储。但是，如果你在使用 15.0 时遭遇了数据库崩溃，并且在崩溃之前可能删除了大表，建议检查数据库目录中是否有按照模式 <code><em><code>NNNN</code></em>.<em><code>NN</code></em></code> 命名的文件。如果没有仅命名为 <code><em><code>NNNN</code></em></code>（不带 <code>.<em><code>NN</code></em></code> 后缀）的匹配文件，则应手动删除这些文件。</p>", "text": "修复无法删除大表的非首段文件的问题（Tom Lane）§ PostgreSQL 将大表拆分为多个文件（通常每个文件 1GB）。删除表的逻辑存在缺陷，在两种情况下会遗漏除第一个文件之外的所有文件：删除临时表和 WAL 重放删除常规表。经常创建数 GB 临时表的应用程序可能会遭受显著的磁盘空间泄漏。 孤立的临时表文件会在 postmaster 启动时被删除，因此只需更新到 15.1 即可清除任何泄漏的临时表存储。但是，如果你在使用 15.0 时遭遇了数据库崩溃，并且在崩溃之前可能删除了大表，建议检查数据库目录中是否有按照模式 NNNN.NN 命名的文件。如果没有仅命名为 NNNN（不带 .NN 后缀）的匹配文件，则应手动删除这些文件。", "title": "修复无法删除大表的非首段文件的问题", "commits": ["5fe0ab420"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/15.1/#ZH-AUTO-RELEASE-15-SECT2-34", "source_hash": "bdd229ad923dd537bdede6bfbc876dd7a4bd8de492f9d061f4eabacd87a26f72", "section_path": ["变更"], "commit_groups": [["0e758ae89", "5fe0ab420"]], "identity_text": "Fix failure to remove non-first segments of large tables (Tom Lane) PostgreSQL splits large tables into multiple files (normally with 1GB per file). The logic for dropping a table was broken and would miss removing all but the first such file, in two cases: drops of temporary tables and WAL replay of drops of regular tables. Applications that routinely create multi-gigabyte temporary tables could suffer significant disk space leakage. Orphaned temporary-table files are removed during postmaster start, so the mere act of updating to 15.1 is sufficient to clear any leaked temporary-table storage. However, if you suffered any database crashes while using 15.0, and there might have been large tables dropped just before such crashes, it's advisable to check the database directories for files named according to the pattern NNNN.NN. If there is no matching file named just NNNN (without the .NN suffix), these files should be removed manually.", "commit_aliases": ["0e758ae89", "5fe0ab420"], "source_commits": ["5fe0ab420"], "source_entry_id": "15.1/changes/001", "db_id": "1060d33f4364394bb1b1be4b4f2e9ae4", "patch_ids": ["eb83b20f3e51f87a60c2de21430e5a8f"], "statement_hash": "a7e3844b2516da1d502f1008dc1ba2d75b477660972a2363b838771153606301", "relations": [], "version": "15.1", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": []}, {"id": "15.1-9a12aafcd57a0ae6", "cves": [], "html": "<p>修复在可更新视图的 <code>INSERT</code> 的多行 <code>VALUES</code> 子句中出现的 <code>DEFAULT</code> 令牌的处理（Tom Lane）<a href=\"https://postgr.es/c/07ce67698\">§</a></p>\n<p>此疏忽可能导致 <span>“<span>cache lookup failed for type</span>”</span> 错误，或在较旧的分支中甚至导致崩溃。</p>", "text": "修复在可更新视图的 INSERT 的多行 VALUES 子句中出现的 DEFAULT 令牌的处理（Tom Lane）§ 此疏忽可能导致 “cache lookup failed for type” 错误，或在较旧的分支中甚至导致崩溃。", "title": "修复在可更新视图的 INSERT 的多行 VALUES 子句中出现的 DEFAULT 令牌的处理", "commits": ["07ce67698"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/15.1/#ZH-AUTO-RELEASE-15-SECT2-34", "source_hash": "8630c3e37e5511c0fe0afbf24f1285c28500da7f8be729852d8df03263ec6737", "section_path": ["变更"], "commit_groups": [["07ce67698", "21e042b0b", "23e2a06ac", "3162bd95c", "abc510fa2", "addde9bc6", "b8f2687fd"]], "identity_text": "Fix handling of DEFAULT tokens that appear in a multi-row VALUES clause of an INSERT on an updatable view (Tom Lane) This oversight could lead to cache lookup failed for type errors, or in older branches even to crashes.", "commit_aliases": ["07ce67698", "21e042b0b", "23e2a06ac", "3162bd95c", "abc510fa2", "addde9bc6", "b8f2687fd"], "source_commits": ["07ce67698"], "source_entry_id": "15.1/changes/002", "db_id": "7e18fe253ead8cb581e1bb81be5af75b", "patch_ids": ["dd89b5ea51ed5d980208c16d003bbadf"], "statement_hash": "47ee12f68a221ac075a627a56a84d303c11bb497f69e7b801a44a8c93addc9ac", "relations": [{"rule": 2, "type": "equivalent", "target": "0b33686a79a42f7d524258ababdff8d6", "evidence": {"same_day": true, "patch_ids": ["dd89b5ea51ed5d980208c16d003bbadf"], "statement_hash": "47ee12f68a221ac075a627a56a84d303c11bb497f69e7b801a44a8c93addc9ac"}}, {"rule": 2, "type": "equivalent", "target": "9cb4217c0a2771a7104b197ed5d83f23", "evidence": {"same_day": true, "patch_ids": ["dd89b5ea51ed5d980208c16d003bbadf"], "statement_hash": "47ee12f68a221ac075a627a56a84d303c11bb497f69e7b801a44a8c93addc9ac"}}, {"rule": 2, "type": "equivalent", "target": "d9e379ea4452a8700f066b5941732261", "evidence": {"same_day": true, "patch_ids": ["dd89b5ea51ed5d980208c16d003bbadf"], "statement_hash": "47ee12f68a221ac075a627a56a84d303c11bb497f69e7b801a44a8c93addc9ac"}}, {"rule": 2, "type": "equivalent", "target": "ef39cc841ef652faf17ebb83dcc81101", "evidence": {"same_day": true, "patch_ids": ["dd89b5ea51ed5d980208c16d003bbadf"], "statement_hash": "47ee12f68a221ac075a627a56a84d303c11bb497f69e7b801a44a8c93addc9ac"}}, {"rule": 2, "type": "equivalent", "target": "f1ca9e3e187b1613d0f6975555a8d37b", "evidence": {"same_day": true, "patch_ids": ["dd89b5ea51ed5d980208c16d003bbadf"], "statement_hash": "47ee12f68a221ac075a627a56a84d303c11bb497f69e7b801a44a8c93addc9ac"}}], "version": "15.1", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "d9e379ea4452a8700f066b5941732261", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "修复在可更新视图的 INSERT 的多行 VALUES 子句中出现的 DEFAULT 令牌的处理", "evidence": {"same_day": true, "patch_ids": ["dd89b5ea51ed5d980208c16d003bbadf"], "statement_hash": "47ee12f68a221ac075a627a56a84d303c11bb497f69e7b801a44a8c93addc9ac"}, "url": "/docs/compare/?release=14.6#14.6-43f9d515a83d7375", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "f1ca9e3e187b1613d0f6975555a8d37b", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "修复在可更新视图的 INSERT 的多行 VALUES 子句中出现的 DEFAULT 令牌的处理", "evidence": {"same_day": true, "patch_ids": ["dd89b5ea51ed5d980208c16d003bbadf"], "statement_hash": "47ee12f68a221ac075a627a56a84d303c11bb497f69e7b801a44a8c93addc9ac"}, "url": "/docs/compare/?release=13.9#13.9-41a818b621392d67", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "ef39cc841ef652faf17ebb83dcc81101", "kind": "equivalent", "version": "12.13", "label": "12.13", "title": "修复在可更新视图的 INSERT 的多行 VALUES 子句中出现的 DEFAULT 令牌的处理", "evidence": {"same_day": true, "patch_ids": ["dd89b5ea51ed5d980208c16d003bbadf"], "statement_hash": "47ee12f68a221ac075a627a56a84d303c11bb497f69e7b801a44a8c93addc9ac"}, "url": "/docs/compare/?release=12.13#12.13-1666f06b7262a7b0", "source_url": "/docs/release/12.13/#id-1.11.6.15.5"}, {"db_id": "0b33686a79a42f7d524258ababdff8d6", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "修复在可更新视图的 INSERT 的多行 VALUES 子句中出现的 DEFAULT 令牌的处理", "evidence": {"same_day": true, "patch_ids": ["dd89b5ea51ed5d980208c16d003bbadf"], "statement_hash": "47ee12f68a221ac075a627a56a84d303c11bb497f69e7b801a44a8c93addc9ac"}, "url": "/docs/compare/?release=11.18#11.18-89ed484b028599a1", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}, {"db_id": "9cb4217c0a2771a7104b197ed5d83f23", "kind": "equivalent", "version": "10.23", "label": "10.23", "title": "修复在可更新视图的 INSERT 的多行 VALUES 子句中出现的 DEFAULT 令牌的处理", "evidence": {"same_day": true, "patch_ids": ["dd89b5ea51ed5d980208c16d003bbadf"], "statement_hash": "47ee12f68a221ac075a627a56a84d303c11bb497f69e7b801a44a8c93addc9ac"}, "url": "/docs/compare/?release=10.23#10.23-89ed484b028599a1", "source_url": "/docs/release/10.23/#id-1.11.6.5.6"}]}, {"id": "15.1-c7d894d7126a007f", "cves": [], "html": "<p>不允许名为 <code>_RETURN</code> 但不是 <code>ON SELECT</code> 的规则（Tom Lane）<a href=\"https://postgr.es/c/4a41a069e\">§</a></p>\n<p>这避免了视图的 <code>ON SELECT</code> 规则与其可能拥有的任何其他规则之间的混淆。</p>", "text": "不允许名为 _RETURN 但不是 ON SELECT 的规则（Tom Lane）§ 这避免了视图的 ON SELECT 规则与其可能拥有的任何其他规则之间的混淆。", "title": "不允许名为 _RETURN 但不是 ON SELECT 的规则", "commits": ["4a41a069e"], "section": "变更", "category": "improvement", "source_url": "/docs/release/15.1/#ZH-AUTO-RELEASE-15-SECT2-34", "source_hash": "811f14f755fea59886aa977c8fa2f3ce8493a7fba26e06e13b4ed66cd050e071", "section_path": ["变更"], "commit_groups": [["2f26cec48", "4a41a069e", "65c1106d8", "797e313dc", "b21615d1e", "e9377e3e5", "ecf4ce689"]], "identity_text": "Disallow rules named _RETURN that are not ON SELECT (Tom Lane) This avoids confusion between a view's ON SELECT rule and any other rules it may have.", "commit_aliases": ["2f26cec48", "4a41a069e", "65c1106d8", "797e313dc", "b21615d1e", "e9377e3e5", "ecf4ce689"], "source_commits": ["4a41a069e"], "source_entry_id": "15.1/changes/003", "db_id": "0800582c7b24c52bc87266721f8bb44a", "patch_ids": ["4bdc12afe366d6253ac458869d736ac5"], "statement_hash": "36d968d0eebced7be7287dda76bef491f510a88f4768c009d28e22a611496c90", "relations": [{"rule": 2, "type": "equivalent", "target": "1fdd45ee68dc39d1280d3d44d9aab315", "evidence": {"same_day": true, "patch_ids": ["4bdc12afe366d6253ac458869d736ac5"], "statement_hash": "36d968d0eebced7be7287dda76bef491f510a88f4768c009d28e22a611496c90"}}, {"rule": 2, "type": "equivalent", "target": "761f9ac3fb5896d4743dbbb8e61ffe8f", "evidence": {"same_day": true, "patch_ids": ["4bdc12afe366d6253ac458869d736ac5"], "statement_hash": "36d968d0eebced7be7287dda76bef491f510a88f4768c009d28e22a611496c90"}}, {"rule": 2, "type": "equivalent", "target": "d5973c57ce8ee8629f61171c32af8128", "evidence": {"same_day": true, "patch_ids": ["4bdc12afe366d6253ac458869d736ac5"], "statement_hash": "36d968d0eebced7be7287dda76bef491f510a88f4768c009d28e22a611496c90"}}, {"rule": 2, "type": "equivalent", "target": "eb6b9aeac6528cb250d2294a1d70deb5", "evidence": {"same_day": true, "patch_ids": ["4bdc12afe366d6253ac458869d736ac5"], "statement_hash": "36d968d0eebced7be7287dda76bef491f510a88f4768c009d28e22a611496c90"}}, {"rule": 2, "type": "equivalent", "target": "fbb3b984316716bd9e293be501744dfc", "evidence": {"same_day": true, "patch_ids": ["4bdc12afe366d6253ac458869d736ac5"], "statement_hash": "36d968d0eebced7be7287dda76bef491f510a88f4768c009d28e22a611496c90"}}], "version": "15.1", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "761f9ac3fb5896d4743dbbb8e61ffe8f", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "不允许名为 _RETURN 但不是 ON SELECT 的规则", "evidence": {"same_day": true, "patch_ids": ["4bdc12afe366d6253ac458869d736ac5"], "statement_hash": "36d968d0eebced7be7287dda76bef491f510a88f4768c009d28e22a611496c90"}, "url": "/docs/compare/?release=14.6#14.6-4cdf75efe17496a4", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "1fdd45ee68dc39d1280d3d44d9aab315", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "不允许名为 _RETURN 但不是 ON SELECT 的规则", "evidence": {"same_day": true, "patch_ids": ["4bdc12afe366d6253ac458869d736ac5"], "statement_hash": "36d968d0eebced7be7287dda76bef491f510a88f4768c009d28e22a611496c90"}, "url": "/docs/compare/?release=13.9#13.9-9301c983b77731d9", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "fbb3b984316716bd9e293be501744dfc", "kind": "equivalent", "version": "12.13", "label": "12.13", "title": "不允许名为 _RETURN 但不是 ON SELECT 的规则", "evidence": {"same_day": true, "patch_ids": ["4bdc12afe366d6253ac458869d736ac5"], "statement_hash": "36d968d0eebced7be7287dda76bef491f510a88f4768c009d28e22a611496c90"}, "url": "/docs/compare/?release=12.13#12.13-1c8a5857a5c5b2c1", "source_url": "/docs/release/12.13/#id-1.11.6.15.5"}, {"db_id": "d5973c57ce8ee8629f61171c32af8128", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "不允许名为 _RETURN 但不是 ON SELECT 的规则", "evidence": {"same_day": true, "patch_ids": ["4bdc12afe366d6253ac458869d736ac5"], "statement_hash": "36d968d0eebced7be7287dda76bef491f510a88f4768c009d28e22a611496c90"}, "url": "/docs/compare/?release=11.18#11.18-e7b1ecf6bbc360b9", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}, {"db_id": "eb6b9aeac6528cb250d2294a1d70deb5", "kind": "equivalent", "version": "10.23", "label": "10.23", "title": "不允许名为 _RETURN 但不是 ON SELECT 的规则", "evidence": {"same_day": true, "patch_ids": ["4bdc12afe366d6253ac458869d736ac5"], "statement_hash": "36d968d0eebced7be7287dda76bef491f510a88f4768c009d28e22a611496c90"}, "url": "/docs/compare/?release=10.23#10.23-e7b1ecf6bbc360b9", "source_url": "/docs/release/10.23/#id-1.11.6.5.6"}]}, {"id": "15.1-2afe68f9c5b09f14", "cves": [], "html": "<p>避免在使用带常量初始值的 <code>SEARCH BREADTH FIRST</code> 查询时 <code>EXPLAIN VERBOSE</code> 失败（Tom Lane）<a href=\"https://postgr.es/c/d4abb0bc5\">§</a></p>", "text": "避免在使用带常量初始值的 SEARCH BREADTH FIRST 查询时 EXPLAIN VERBOSE 失败（Tom Lane）§", "title": "避免在使用带常量初始值的 SEARCH BREADTH FIRST 查询时 EXPLAIN VERBOSE 失败", "commits": ["d4abb0bc5"], "section": "变更", "category": "improvement", "source_url": "/docs/release/15.1/#ZH-AUTO-RELEASE-15-SECT2-34", "source_hash": "c0ddb92dc4a2d2a88e45f3f4f4f291681a45b710f9a7a100f3ec7dc99366ebba", "section_path": ["变更"], "commit_groups": [["8122160ff", "d4abb0bc5", "d57534740"]], "identity_text": "Avoid failure in EXPLAIN VERBOSE for a query using SEARCH BREADTH FIRST with constant initial values (Tom Lane)", "commit_aliases": ["8122160ff", "d4abb0bc5", "d57534740"], "source_commits": ["d4abb0bc5"], "source_entry_id": "15.1/changes/004", "db_id": "64c2e14d8d147a342ebfb6a11987e819", "patch_ids": ["7925bd89fe9d1870c42a7c73187a59ef"], "statement_hash": "66b0dd4dab5191b5ebe3952d18c87090371b75f9bec1847138ec53e041941a14", "relations": [{"rule": 2, "type": "equivalent", "target": "d4bc54fa034f88c1453668c9e32bda77", "evidence": {"same_day": true, "patch_ids": ["7925bd89fe9d1870c42a7c73187a59ef"], "statement_hash": "66b0dd4dab5191b5ebe3952d18c87090371b75f9bec1847138ec53e041941a14"}}], "version": "15.1", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "d4bc54fa034f88c1453668c9e32bda77", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "避免在使用带常量初始值的 SEARCH BREADTH FIRST 查询时 EXPLAIN VERBOSE 失败", "evidence": {"same_day": true, "patch_ids": ["7925bd89fe9d1870c42a7c73187a59ef"], "statement_hash": "66b0dd4dab5191b5ebe3952d18c87090371b75f9bec1847138ec53e041941a14"}, "url": "/docs/compare/?release=14.6#14.6-623e1d41fac7f9fe", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}]}, {"id": "15.1-2ac0e8b45c987975", "cves": [], "html": "<p>防止在具有外部表分区的分区表上使用 <code>MERGE</code>（Álvaro Herrera）<a href=\"https://postgr.es/c/16d11d684\">§</a></p>\n<p>该情况不被支持，以前会抛出一个难以理解的错误。</p>", "text": "防止在具有外部表分区的分区表上使用 MERGE（Álvaro Herrera）§ 该情况不被支持，以前会抛出一个难以理解的错误。", "title": "防止在具有外部表分区的分区表上使用 MERGE", "commits": ["16d11d684"], "section": "变更", "category": "improvement", "source_url": "/docs/release/15.1/#ZH-AUTO-RELEASE-15-SECT2-34", "source_hash": "c2534b458a715aa735ff9ddef81375ceb33be7b607c87ad95f1a1a65257a440f", "section_path": ["变更"], "commit_groups": [["16d11d684", "cba4e78f3"]], "identity_text": "Prevent use of MERGE on a partitioned table with foreign-table partitions (Álvaro Herrera) The case isn't supported, and previously threw an incomprehensible error.", "commit_aliases": ["16d11d684", "cba4e78f3"], "source_commits": ["16d11d684"], "source_entry_id": "15.1/changes/005", "db_id": "07b14c02944f7c37d82e1f9ecc1df11c", "patch_ids": ["86646e8a21ae19ca08daf7143c33312c"], "statement_hash": "8e7f960e7154fd06fc52235fe2f02374d0bf7990aa37fd788012db782cd245fe", "relations": [], "version": "15.1", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "15.1-dceef571bfb2c904", "cves": [], "html": "<p>修复在执行 <code>ALTER TABLE ATTACH PARTITION</code> 时按分区构建外键约束的问题（Jehan-Guillaume de Rorthais，Álvaro Herrera）<a href=\"https://postgr.es/c/c301e1c0c\">§</a> <a href=\"https://postgr.es/c/6083132ab\">§</a></p>\n<p>之前，可能会为新添加的分区构建不正确或重复的约束。</p>", "text": "修复在执行 ALTER TABLE ATTACH PARTITION 时按分区构建外键约束的问题（Jehan-Guillaume de Rorthais，Álvaro Herrera）§ § 之前，可能会为新添加的分区构建不正确或重复的约束。", "title": "修复在执行 ALTER TABLE ATTACH PARTITION 时按分区构建外键约束的问题", "commits": ["6083132ab", "c301e1c0c"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/15.1/#ZH-AUTO-RELEASE-15-SECT2-34", "source_hash": "d3fa67beb6f45d17cc9c3b50c7a4fc22a9dbddde52c0631d3210dd72061411ff", "section_path": ["变更"], "commit_groups": [["18865f4df", "41b6e7c9a", "ab70b3a52", "b0284bfb1", "c301e1c0c"], ["483d26930", "6083132ab", "614a406b4", "669803af0", "7d520e68e"]], "identity_text": "Fix construction of per-partition foreign key constraints while doing ALTER TABLE ATTACH PARTITION (Jehan-Guillaume de Rorthais, Álvaro Herrera) Previously, incorrect or duplicate constraints could be constructed for the newly-added partition.", "commit_aliases": ["18865f4df", "41b6e7c9a", "483d26930", "6083132ab", "614a406b4", "669803af0", "7d520e68e", "ab70b3a52", "b0284bfb1", "c301e1c0c"], "source_commits": ["6083132ab", "c301e1c0c"], "source_entry_id": "15.1/changes/006", "db_id": "63c6b68e06cc127bc5ab5d5033ada34c", "patch_ids": ["0571585b966509fb89a1692c27aa8e10", "ecfd35f379cc50a82019aa49785dad28"], "statement_hash": "60eb0f9dddae2f6e5a1ec1f67c6e0560b194779ce51b5273b1a8e4b283b3e950", "relations": [{"rule": 2, "type": "equivalent", "target": "38d1eceea05386575bd3a6ddbaad042d", "evidence": {"same_day": true, "patch_ids": ["0571585b966509fb89a1692c27aa8e10", "ecfd35f379cc50a82019aa49785dad28"], "statement_hash": "60eb0f9dddae2f6e5a1ec1f67c6e0560b194779ce51b5273b1a8e4b283b3e950"}}, {"rule": 2, "type": "equivalent", "target": "3ef311db4c1c4f64c515c365fc2c76c6", "evidence": {"same_day": true, "patch_ids": ["0571585b966509fb89a1692c27aa8e10", "ecfd35f379cc50a82019aa49785dad28"], "statement_hash": "60eb0f9dddae2f6e5a1ec1f67c6e0560b194779ce51b5273b1a8e4b283b3e950"}}, {"rule": 2, "type": "equivalent", "target": "5b7734c15773ba6eaa7262f5101ae3fa", "evidence": {"same_day": true, "patch_ids": ["0571585b966509fb89a1692c27aa8e10", "ecfd35f379cc50a82019aa49785dad28"], "statement_hash": "60eb0f9dddae2f6e5a1ec1f67c6e0560b194779ce51b5273b1a8e4b283b3e950"}}], "version": "15.1", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "5b7734c15773ba6eaa7262f5101ae3fa", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "修复在执行 ALTER TABLE ATTACH PARTITION 时按分区构建外键约束的问题", "evidence": {"same_day": true, "patch_ids": ["0571585b966509fb89a1692c27aa8e10", "ecfd35f379cc50a82019aa49785dad28"], "statement_hash": "60eb0f9dddae2f6e5a1ec1f67c6e0560b194779ce51b5273b1a8e4b283b3e950"}, "url": "/docs/compare/?release=14.6#14.6-87744a05f938593a", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "3ef311db4c1c4f64c515c365fc2c76c6", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "修复在执行 ALTER TABLE ATTACH PARTITION 时按分区构建外键约束的问题", "evidence": {"same_day": true, "patch_ids": ["0571585b966509fb89a1692c27aa8e10", "ecfd35f379cc50a82019aa49785dad28"], "statement_hash": "60eb0f9dddae2f6e5a1ec1f67c6e0560b194779ce51b5273b1a8e4b283b3e950"}, "url": "/docs/compare/?release=13.9#13.9-0f4dfa4b9d573ee7", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "38d1eceea05386575bd3a6ddbaad042d", "kind": "equivalent", "version": "12.13", "label": "12.13", "title": "修复在执行 ALTER TABLE ATTACH PARTITION 时按分区构建外键约束的问题", "evidence": {"same_day": true, "patch_ids": ["0571585b966509fb89a1692c27aa8e10", "ecfd35f379cc50a82019aa49785dad28"], "statement_hash": "60eb0f9dddae2f6e5a1ec1f67c6e0560b194779ce51b5273b1a8e4b283b3e950"}, "url": "/docs/compare/?release=12.13#12.13-aa4825aa734e81db", "source_url": "/docs/release/12.13/#id-1.11.6.15.5"}]}, {"id": "15.1-2833e33885393397", "cves": [], "html": "<p>修复在分区表或继承表上使用扩展统计时的规划器失败（Richard Guo，Justin Pryzby）<a href=\"https://postgr.es/c/1f1865e90\">§</a></p>\n<p>某些情况会因 <span>“<span>cache lookup failed for statistics object</span>”</span> 而失败。</p>", "text": "修复在分区表或继承表上使用扩展统计时的规划器失败（Richard Guo，Justin Pryzby）§ 某些情况会因 “cache lookup failed for statistics object” 而失败。", "title": "修复在分区表或继承表上使用扩展统计时的规划器失败", "commits": ["1f1865e90"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/15.1/#ZH-AUTO-RELEASE-15-SECT2-34", "source_hash": "52d0cf9690211c855576f0cfdd3dfaab91fa5e9b5c988b04bd93dfbff511579f", "section_path": ["变更"], "commit_groups": [["1f1865e90", "f4857082b"]], "identity_text": "Fix planner failure with extended statistics on partitioned or inherited tables (Richard Guo, Justin Pryzby) Some cases failed with cache lookup failed for statistics object.", "commit_aliases": ["1f1865e90", "f4857082b"], "source_commits": ["1f1865e90"], "source_entry_id": "15.1/changes/007", "db_id": "e1979fb42e0670208d90ee5098d4cff3", "patch_ids": ["ec43fdc1a63ad204e9eb3ca9ed61df62"], "statement_hash": "f0dbaa48db8cc9ce5122b8840959d82715ab808afc2bbe355416179256271546", "relations": [], "version": "15.1", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": []}, {"id": "15.1-660c517367d76aac", "cves": [], "html": "<p>修复 GIN 索引快速插入路径中 WAL 操作的错误排序（Matthias van de Meent，Zhang Mingli）<a href=\"https://postgr.es/c/ca4070f2b\">§</a></p>\n<p>此错误在核心 <span>PostgreSQL</span> 中没有已知的负面后果，但确实导致了一些扩展的问题。</p>", "text": "修复 GIN 索引快速插入路径中 WAL 操作的错误排序（Matthias van de Meent，Zhang Mingli）§ 此错误在核心 PostgreSQL 中没有已知的负面后果，但确实导致了一些扩展的问题。", "title": "修复 GIN 索引快速插入路径中 WAL 操作的错误排序", "commits": ["ca4070f2b"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/15.1/#ZH-AUTO-RELEASE-15-SECT2-34", "source_hash": "75cb0dbc2188433049e0b530972c3279a1be41abb4d89d5f1c2ccbc252c325ed", "section_path": ["变更"], "commit_groups": [["341fba2a6", "51c24d9e2", "56b662523", "594b97509", "5a30d43fa", "b02fc7df1", "ca4070f2b"]], "identity_text": "Fix mis-ordering of WAL operations in fast insert path for GIN indexes (Matthias van de Meent, Zhang Mingli) This mistake is not known to have any negative consequences within core PostgreSQL, but it did cause issues for some extensions.", "commit_aliases": ["341fba2a6", "51c24d9e2", "56b662523", "594b97509", "5a30d43fa", "b02fc7df1", "ca4070f2b"], "source_commits": ["ca4070f2b"], "source_entry_id": "15.1/changes/008", "db_id": "2295366e0370b58663ad0929472753ad", "patch_ids": ["3502f906a4e089c61f6b0d275ca2813b"], "statement_hash": "86b0b1c78c91989d7a954f31c43a4d209f594b8f22c0841d7c4b6e66be123dc1", "relations": [{"rule": 2, "type": "equivalent", "target": "0207c86146e4339d6aecb8333db4a7a0", "evidence": {"same_day": true, "patch_ids": ["3502f906a4e089c61f6b0d275ca2813b"], "statement_hash": "86b0b1c78c91989d7a954f31c43a4d209f594b8f22c0841d7c4b6e66be123dc1"}}, {"rule": 2, "type": "equivalent", "target": "451c13b09ba66d53007c9feeee44b499", "evidence": {"same_day": true, "patch_ids": ["3502f906a4e089c61f6b0d275ca2813b"], "statement_hash": "86b0b1c78c91989d7a954f31c43a4d209f594b8f22c0841d7c4b6e66be123dc1"}}, {"rule": 2, "type": "equivalent", "target": "6991e505f5066ad059c40acacdf00b93", "evidence": {"same_day": true, "patch_ids": ["3502f906a4e089c61f6b0d275ca2813b"], "statement_hash": "86b0b1c78c91989d7a954f31c43a4d209f594b8f22c0841d7c4b6e66be123dc1"}}, {"rule": 2, "type": "equivalent", "target": "a9f087c8f1366145227deda4715bb025", "evidence": {"same_day": true, "patch_ids": ["3502f906a4e089c61f6b0d275ca2813b"], "statement_hash": "86b0b1c78c91989d7a954f31c43a4d209f594b8f22c0841d7c4b6e66be123dc1"}}, {"rule": 2, "type": "equivalent", "target": "c8650d15e5dc196e91e93a3db3305cee", "evidence": {"same_day": true, "patch_ids": ["3502f906a4e089c61f6b0d275ca2813b"], "statement_hash": "86b0b1c78c91989d7a954f31c43a4d209f594b8f22c0841d7c4b6e66be123dc1"}}], "version": "15.1", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "c8650d15e5dc196e91e93a3db3305cee", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "修复 GIN 索引快速插入路径中 WAL 操作的错误排序", "evidence": {"same_day": true, "patch_ids": ["3502f906a4e089c61f6b0d275ca2813b"], "statement_hash": "86b0b1c78c91989d7a954f31c43a4d209f594b8f22c0841d7c4b6e66be123dc1"}, "url": "/docs/compare/?release=14.6#14.6-8daa8c1fc5f3da66", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "451c13b09ba66d53007c9feeee44b499", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "修复 GIN 索引快速插入路径中 WAL 操作的错误排序", "evidence": {"same_day": true, "patch_ids": ["3502f906a4e089c61f6b0d275ca2813b"], "statement_hash": "86b0b1c78c91989d7a954f31c43a4d209f594b8f22c0841d7c4b6e66be123dc1"}, "url": "/docs/compare/?release=13.9#13.9-ef6b40d98f871a65", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "6991e505f5066ad059c40acacdf00b93", "kind": "equivalent", "version": "12.13", "label": "12.13", "title": "修复 GIN 索引快速插入路径中 WAL 操作的错误排序", "evidence": {"same_day": true, "patch_ids": ["3502f906a4e089c61f6b0d275ca2813b"], "statement_hash": "86b0b1c78c91989d7a954f31c43a4d209f594b8f22c0841d7c4b6e66be123dc1"}, "url": "/docs/compare/?release=12.13#12.13-cf42dab3042fc340", "source_url": "/docs/release/12.13/#id-1.11.6.15.5"}, {"db_id": "0207c86146e4339d6aecb8333db4a7a0", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "修复 GIN 索引快速插入路径中 WAL 操作的错误排序", "evidence": {"same_day": true, "patch_ids": ["3502f906a4e089c61f6b0d275ca2813b"], "statement_hash": "86b0b1c78c91989d7a954f31c43a4d209f594b8f22c0841d7c4b6e66be123dc1"}, "url": "/docs/compare/?release=11.18#11.18-4516192ac7e27bc8", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}, {"db_id": "a9f087c8f1366145227deda4715bb025", "kind": "equivalent", "version": "10.23", "label": "10.23", "title": "修复 GIN 索引快速插入路径中 WAL 操作的错误排序", "evidence": {"same_day": true, "patch_ids": ["3502f906a4e089c61f6b0d275ca2813b"], "statement_hash": "86b0b1c78c91989d7a954f31c43a4d209f594b8f22c0841d7c4b6e66be123dc1"}, "url": "/docs/compare/?release=10.23#10.23-4516192ac7e27bc8", "source_url": "/docs/release/10.23/#id-1.11.6.5.6"}]}, {"id": "15.1-f4497a1cd6740f7d", "cves": [], "html": "<p>修复在重放起始点位于事务开始和其子事务开始之间时逻辑解码中的错误（Masahiko Sawada，Kuroda Hayato）<a href=\"https://postgr.es/c/64ff0fe4e\">§</a> <a href=\"https://postgr.es/c/343afa967\">§</a></p>\n<p>这些错误可能导致调试构建中的断言失败，否则会导致内存泄漏。</p>", "text": "修复在重放起始点位于事务开始和其子事务开始之间时逻辑解码中的错误（Masahiko Sawada，Kuroda Hayato）§ § 这些错误可能导致调试构建中的断言失败，否则会导致内存泄漏。", "title": "修复在重放起始点位于事务开始和其子事务开始之间时逻辑解码中的错误", "commits": ["343afa967", "64ff0fe4e"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/15.1/#ZH-AUTO-RELEASE-15-SECT2-34", "source_hash": "9e2651ca1e13251acf0b64c81666004514d1cb86747457f4736928e96af91f6c", "section_path": ["变更"], "commit_groups": [["02600886c", "216af69ae", "343afa967", "38dbaaf27", "4fbe6096b"], ["10ed7b9e4", "16b1fe003", "1bf4d9206", "25f7be1ca", "5f7076cb6", "64ff0fe4e", "a592ed923"]], "identity_text": "Fix bugs in logical decoding when replay starts from a point between the beginning of a transaction and the beginning of its subtransaction (Masahiko Sawada, Kuroda Hayato) These errors could lead to assertion failures in debug builds, and otherwise to memory leaks.", "commit_aliases": ["02600886c", "10ed7b9e4", "16b1fe003", "1bf4d9206", "216af69ae", "25f7be1ca", "343afa967", "38dbaaf27", "4fbe6096b", "5f7076cb6", "64ff0fe4e", "a592ed923"], "source_commits": ["343afa967", "64ff0fe4e"], "source_entry_id": "15.1/changes/009", "db_id": "219117fd5d4cddd73e46425cb6128139", "patch_ids": ["9bc6bba495dd4a60c5f0348e6aac6e08", "e8f000dcd95ed4000408736a9fc4b51e"], "statement_hash": "6da08f11a529039c9204076ec2df5bae37182dc2f8e73303f0167b7075c755e8", "relations": [{"rule": 2, "type": "equivalent", "target": "3790cd8614f464dcfe0006b85c29d9ef", "evidence": {"same_day": true, "patch_ids": ["9bc6bba495dd4a60c5f0348e6aac6e08", "e8f000dcd95ed4000408736a9fc4b51e"], "statement_hash": "6da08f11a529039c9204076ec2df5bae37182dc2f8e73303f0167b7075c755e8"}}, {"rule": 2, "type": "equivalent", "target": "427c1e0998289c96b4ab17a77889c8e3", "evidence": {"same_day": true, "patch_ids": ["9bc6bba495dd4a60c5f0348e6aac6e08", "e8f000dcd95ed4000408736a9fc4b51e"], "statement_hash": "6da08f11a529039c9204076ec2df5bae37182dc2f8e73303f0167b7075c755e8"}}, {"rule": 2, "type": "equivalent", "target": "97018cd95fb4c47c864413f6b1b21009", "evidence": {"same_day": true, "patch_ids": ["9bc6bba495dd4a60c5f0348e6aac6e08", "e8f000dcd95ed4000408736a9fc4b51e"], "statement_hash": "6da08f11a529039c9204076ec2df5bae37182dc2f8e73303f0167b7075c755e8"}}, {"rule": 2, "type": "equivalent", "target": "ce47b695f3dbb3e7cf1c91ff737db2ea", "evidence": {"same_day": true, "patch_ids": ["9bc6bba495dd4a60c5f0348e6aac6e08", "e8f000dcd95ed4000408736a9fc4b51e"], "statement_hash": "6da08f11a529039c9204076ec2df5bae37182dc2f8e73303f0167b7075c755e8"}}, {"rule": 2, "type": "equivalent", "target": "ce8a3348c436047a5238504953738c5c", "evidence": {"same_day": true, "patch_ids": ["9bc6bba495dd4a60c5f0348e6aac6e08", "e8f000dcd95ed4000408736a9fc4b51e"], "statement_hash": "6da08f11a529039c9204076ec2df5bae37182dc2f8e73303f0167b7075c755e8"}}], "version": "15.1", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "ce8a3348c436047a5238504953738c5c", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "修复在重放起始点位于事务开始和其子事务开始之间时逻辑解码中的错误", "evidence": {"same_day": true, "patch_ids": ["9bc6bba495dd4a60c5f0348e6aac6e08", "e8f000dcd95ed4000408736a9fc4b51e"], "statement_hash": "6da08f11a529039c9204076ec2df5bae37182dc2f8e73303f0167b7075c755e8"}, "url": "/docs/compare/?release=14.6#14.6-b459601f923bc289", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "ce47b695f3dbb3e7cf1c91ff737db2ea", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "修复在重放起始点位于事务开始和其子事务开始之间时逻辑解码中的错误", "evidence": {"same_day": true, "patch_ids": ["9bc6bba495dd4a60c5f0348e6aac6e08", "e8f000dcd95ed4000408736a9fc4b51e"], "statement_hash": "6da08f11a529039c9204076ec2df5bae37182dc2f8e73303f0167b7075c755e8"}, "url": "/docs/compare/?release=13.9#13.9-ad38f73d748e3187", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "3790cd8614f464dcfe0006b85c29d9ef", "kind": "equivalent", "version": "12.13", "label": "12.13", "title": "修复在重放起始点位于事务开始和其子事务开始之间时逻辑解码中的错误", "evidence": {"same_day": true, "patch_ids": ["9bc6bba495dd4a60c5f0348e6aac6e08", "e8f000dcd95ed4000408736a9fc4b51e"], "statement_hash": "6da08f11a529039c9204076ec2df5bae37182dc2f8e73303f0167b7075c755e8"}, "url": "/docs/compare/?release=12.13#12.13-c3479f3b498551ea", "source_url": "/docs/release/12.13/#id-1.11.6.15.5"}, {"db_id": "427c1e0998289c96b4ab17a77889c8e3", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "修复在重放起始点位于事务开始和其子事务开始之间时逻辑解码中的错误", "evidence": {"same_day": true, "patch_ids": ["9bc6bba495dd4a60c5f0348e6aac6e08", "e8f000dcd95ed4000408736a9fc4b51e"], "statement_hash": "6da08f11a529039c9204076ec2df5bae37182dc2f8e73303f0167b7075c755e8"}, "url": "/docs/compare/?release=11.18#11.18-b5ba911f60e77fa8", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}, {"db_id": "97018cd95fb4c47c864413f6b1b21009", "kind": "equivalent", "version": "10.23", "label": "10.23", "title": "修复在重放起始点位于事务开始和其子事务开始之间时逻辑解码中的错误", "evidence": {"same_day": true, "patch_ids": ["9bc6bba495dd4a60c5f0348e6aac6e08", "e8f000dcd95ed4000408736a9fc4b51e"], "statement_hash": "6da08f11a529039c9204076ec2df5bae37182dc2f8e73303f0167b7075c755e8"}, "url": "/docs/compare/?release=10.23#10.23-b5ba911f60e77fa8", "source_url": "/docs/release/10.23/#id-1.11.6.5.6"}]}, {"id": "15.1-a86150e6174dd90f", "cves": [], "html": "<p>在逻辑解码的更多位置接受中断（Amit Kapila，Masahiko Sawada）<a href=\"https://postgr.es/c/10eaa9750\">§</a> <a href=\"https://postgr.es/c/42681dffa\">§</a></p>\n<p>这改善了复制工作进程缓慢关闭的问题。</p>", "text": "在逻辑解码的更多位置接受中断（Amit Kapila，Masahiko Sawada）§ § 这改善了复制工作进程缓慢关闭的问题。", "title": "在逻辑解码的更多位置接受中断", "commits": ["10eaa9750", "42681dffa"], "section": "变更", "category": "improvement", "source_url": "/docs/release/15.1/#ZH-AUTO-RELEASE-15-SECT2-34", "source_hash": "dffccd6c7f538889820f145014911c052812a1f582cdea50fc7385d65e49dfb8", "section_path": ["变更"], "commit_groups": [["10eaa9750", "1eed947f9", "36fc013fa", "5c51afe23", "61838d2dd", "ce20f8b9f", "f7f82cf05"], ["42681dffa", "4985a4591", "51e9469a4", "6b50433e8", "6d05d575b", "9415873ae", "f972ec5c2"]], "identity_text": "Accept interrupts in more places during logical decoding (Amit Kapila, Masahiko Sawada) This ameliorates problems with slow shutdown of replication workers.", "commit_aliases": ["10eaa9750", "1eed947f9", "36fc013fa", "42681dffa", "4985a4591", "51e9469a4", "5c51afe23", "61838d2dd", "6b50433e8", "6d05d575b", "9415873ae", "ce20f8b9f", "f7f82cf05", "f972ec5c2"], "source_commits": ["10eaa9750", "42681dffa"], "source_entry_id": "15.1/changes/010", "db_id": "ce409b8972eb20d655f42ec1ab694adb", "patch_ids": ["15c0016299ee6cd2b2a5472d4f02f378", "51956c5f84ee88b8a2e9b7a88878c620"], "statement_hash": "2b1af4f7e8ddc358a8b41a8cc3c11f75b3e17c2bf5959a6310e36c214fec4b7b", "relations": [{"rule": 2, "type": "equivalent", "target": "7b3a79c79cd8b12630be9063e775b599", "evidence": {"same_day": true, "patch_ids": ["15c0016299ee6cd2b2a5472d4f02f378", "51956c5f84ee88b8a2e9b7a88878c620"], "statement_hash": "2b1af4f7e8ddc358a8b41a8cc3c11f75b3e17c2bf5959a6310e36c214fec4b7b"}}, {"rule": 2, "type": "equivalent", "target": "830c5a06663a7f5310bf07b1f073a2db", "evidence": {"same_day": true, "patch_ids": ["15c0016299ee6cd2b2a5472d4f02f378", "51956c5f84ee88b8a2e9b7a88878c620"], "statement_hash": "2b1af4f7e8ddc358a8b41a8cc3c11f75b3e17c2bf5959a6310e36c214fec4b7b"}}, {"rule": 2, "type": "equivalent", "target": "8e738b416c35e11272a2d5036161bb81", "evidence": {"same_day": true, "patch_ids": ["15c0016299ee6cd2b2a5472d4f02f378", "51956c5f84ee88b8a2e9b7a88878c620"], "statement_hash": "2b1af4f7e8ddc358a8b41a8cc3c11f75b3e17c2bf5959a6310e36c214fec4b7b"}}, {"rule": 2, "type": "equivalent", "target": "de37bd90ef68c4c781fbf724c548ff0c", "evidence": {"same_day": true, "patch_ids": ["15c0016299ee6cd2b2a5472d4f02f378", "51956c5f84ee88b8a2e9b7a88878c620"], "statement_hash": "2b1af4f7e8ddc358a8b41a8cc3c11f75b3e17c2bf5959a6310e36c214fec4b7b"}}, {"rule": 2, "type": "equivalent", "target": "e97a4a6eada0661473683b4dead57ae9", "evidence": {"same_day": true, "patch_ids": ["15c0016299ee6cd2b2a5472d4f02f378", "51956c5f84ee88b8a2e9b7a88878c620"], "statement_hash": "2b1af4f7e8ddc358a8b41a8cc3c11f75b3e17c2bf5959a6310e36c214fec4b7b"}}], "version": "15.1", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "8e738b416c35e11272a2d5036161bb81", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "在逻辑解码的更多位置接受中断", "evidence": {"same_day": true, "patch_ids": ["15c0016299ee6cd2b2a5472d4f02f378", "51956c5f84ee88b8a2e9b7a88878c620"], "statement_hash": "2b1af4f7e8ddc358a8b41a8cc3c11f75b3e17c2bf5959a6310e36c214fec4b7b"}, "url": "/docs/compare/?release=14.6#14.6-cf6225af55c4e636", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "de37bd90ef68c4c781fbf724c548ff0c", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "在逻辑解码的更多位置接受中断", "evidence": {"same_day": true, "patch_ids": ["15c0016299ee6cd2b2a5472d4f02f378", "51956c5f84ee88b8a2e9b7a88878c620"], "statement_hash": "2b1af4f7e8ddc358a8b41a8cc3c11f75b3e17c2bf5959a6310e36c214fec4b7b"}, "url": "/docs/compare/?release=13.9#13.9-5575f142bf139837", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "830c5a06663a7f5310bf07b1f073a2db", "kind": "equivalent", "version": "12.13", "label": "12.13", "title": "在逻辑解码的更多位置接受中断", "evidence": {"same_day": true, "patch_ids": ["15c0016299ee6cd2b2a5472d4f02f378", "51956c5f84ee88b8a2e9b7a88878c620"], "statement_hash": "2b1af4f7e8ddc358a8b41a8cc3c11f75b3e17c2bf5959a6310e36c214fec4b7b"}, "url": "/docs/compare/?release=12.13#12.13-ab840c5716041f10", "source_url": "/docs/release/12.13/#id-1.11.6.15.5"}, {"db_id": "e97a4a6eada0661473683b4dead57ae9", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "在逻辑解码的更多位置接受中断", "evidence": {"same_day": true, "patch_ids": ["15c0016299ee6cd2b2a5472d4f02f378", "51956c5f84ee88b8a2e9b7a88878c620"], "statement_hash": "2b1af4f7e8ddc358a8b41a8cc3c11f75b3e17c2bf5959a6310e36c214fec4b7b"}, "url": "/docs/compare/?release=11.18#11.18-fa9708509c8233d4", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}, {"db_id": "7b3a79c79cd8b12630be9063e775b599", "kind": "equivalent", "version": "10.23", "label": "10.23", "title": "在逻辑解码的更多位置接受中断", "evidence": {"same_day": true, "patch_ids": ["15c0016299ee6cd2b2a5472d4f02f378", "51956c5f84ee88b8a2e9b7a88878c620"], "statement_hash": "2b1af4f7e8ddc358a8b41a8cc3c11f75b3e17c2bf5959a6310e36c214fec4b7b"}, "url": "/docs/compare/?release=10.23#10.23-fa9708509c8233d4", "source_url": "/docs/release/10.23/#id-1.11.6.5.6"}]}, {"id": "15.1-72d25af11083f4e3", "cves": [], "html": "<p>防止在复制工作进程中尝试复制到外部表分区（Shi Yu，Tom Lane）<a href=\"https://postgr.es/c/414d29a82\">§</a></p>\n<p>虽然分区表可以有外部表作为分区，但目前不支持复制到此类分区。如果尝试这样做，逻辑复制工作进程会崩溃。现在会抛出一个错误。</p>", "text": "防止在复制工作进程中尝试复制到外部表分区（Shi Yu，Tom Lane）§ 虽然分区表可以有外部表作为分区，但目前不支持复制到此类分区。如果尝试这样做，逻辑复制工作进程会崩溃。现在会抛出一个错误。", "title": "防止在复制工作进程中尝试复制到外部表分区", "commits": ["414d29a82"], "section": "变更", "category": "improvement", "source_url": "/docs/release/15.1/#ZH-AUTO-RELEASE-15-SECT2-34", "source_hash": "dc536d496c654836a45a7c1930475afaf0e9243e215d9c00e4879b389e061311", "section_path": ["变更"], "commit_groups": [["414d29a82", "4d3f7e75c", "a5b7821fc", "be541efbf"]], "identity_text": "Prevent attempts to replicate into a foreign-table partition in replication workers (Shi Yu, Tom Lane) Although partitioned tables can have foreign tables as partitions, replicating into such a partition isn't currently supported. The logical replication worker process would crash if it was attempted. Now, an error is thrown.", "commit_aliases": ["414d29a82", "4d3f7e75c", "a5b7821fc", "be541efbf"], "source_commits": ["414d29a82"], "source_entry_id": "15.1/changes/011", "db_id": "d0c0f6b4e330870034a5ff3fae2d0a9e", "patch_ids": ["4c0799e19e88297ccef22096a86e1209"], "statement_hash": "b1144291cd906c8130c9e6108eb0c0019a4df12a115ad9db9fe741f3698b0bf1", "relations": [{"rule": 2, "type": "equivalent", "target": "22c5509f2a85ffe46537a2f8f3785164", "evidence": {"same_day": true, "patch_ids": ["4c0799e19e88297ccef22096a86e1209"], "statement_hash": "b1144291cd906c8130c9e6108eb0c0019a4df12a115ad9db9fe741f3698b0bf1"}}, {"rule": 2, "type": "equivalent", "target": "a8420e734d426db38a1e5022374e1659", "evidence": {"same_day": true, "patch_ids": ["4c0799e19e88297ccef22096a86e1209"], "statement_hash": "b1144291cd906c8130c9e6108eb0c0019a4df12a115ad9db9fe741f3698b0bf1"}}], "version": "15.1", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "a8420e734d426db38a1e5022374e1659", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "防止在复制工作进程中尝试复制到外部表分区", "evidence": {"same_day": true, "patch_ids": ["4c0799e19e88297ccef22096a86e1209"], "statement_hash": "b1144291cd906c8130c9e6108eb0c0019a4df12a115ad9db9fe741f3698b0bf1"}, "url": "/docs/compare/?release=14.6#14.6-1a3ddd1ac9a1ce66", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "22c5509f2a85ffe46537a2f8f3785164", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "防止在复制工作进程中尝试复制到外部表分区", "evidence": {"same_day": true, "patch_ids": ["4c0799e19e88297ccef22096a86e1209"], "statement_hash": "b1144291cd906c8130c9e6108eb0c0019a4df12a115ad9db9fe741f3698b0bf1"}, "url": "/docs/compare/?release=13.9#13.9-bd5a51b3e181f94e", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}]}, {"id": "15.1-54ee472e4fe33354", "cves": [], "html": "<p>避免在复制工作进程中函数语法错误后崩溃（Maxim Orlov，Anton Melnikov，Masahiko Sawada，Tom Lane）<a href=\"https://postgr.es/c/f2dc7f9e3\">§</a></p>\n<p>如果在逻辑复制工作进程中执行的 SQL 语言或 PL/pgSQL 语言 <code>CREATE FUNCTION</code> 或 <code>DO</code> 命令中发生语法错误，工作进程会因空指针解引用或断言失败而崩溃。</p>", "text": "避免在复制工作进程中函数语法错误后崩溃（Maxim Orlov，Anton Melnikov，Masahiko Sawada，Tom Lane）§ 如果在逻辑复制工作进程中执行的 SQL 语言或 PL/pgSQL 语言 CREATE FUNCTION 或 DO 命令中发生语法错误，工作进程会因空指针解引用或断言失败而崩溃。", "title": "避免在复制工作进程中函数语法错误后崩溃", "commits": ["f2dc7f9e3"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/15.1/#ZH-AUTO-RELEASE-15-SECT2-34", "source_hash": "4dcc471b249936da5d774aee869d9640b1b512c7b99d56ee1ed447d2e5aa84ef", "section_path": ["变更"], "commit_groups": [["2489c38cd", "5f3cec77b", "b00f342ea", "d9ffccf8d", "dea834938", "ed019b5ef", "f2dc7f9e3"]], "identity_text": "Avoid crash after function syntax error in replication workers (Maxim Orlov, Anton Melnikov, Masahiko Sawada, Tom Lane) If a syntax error occurred in a SQL-language or PL/pgSQL-language CREATE FUNCTION or DO command executed in a logical replication worker, the worker process would crash with a null pointer dereference or assertion failure.", "commit_aliases": ["2489c38cd", "5f3cec77b", "b00f342ea", "d9ffccf8d", "dea834938", "ed019b5ef", "f2dc7f9e3"], "source_commits": ["f2dc7f9e3"], "source_entry_id": "15.1/changes/012", "db_id": "d9d49d75c5ed9c3e5c768273a583694c", "patch_ids": ["0789f29a740aeae33842745224cfe894"], "statement_hash": "931ed11dc2db7c8b372c3e69f35ab560c8eb4ec9f0e1c5b5bfae06e878d8f455", "relations": [{"rule": 2, "type": "equivalent", "target": "418c0cc4eaab29b89f8fb1f03163bf29", "evidence": {"same_day": true, "patch_ids": ["0789f29a740aeae33842745224cfe894"], "statement_hash": "931ed11dc2db7c8b372c3e69f35ab560c8eb4ec9f0e1c5b5bfae06e878d8f455"}}, {"rule": 2, "type": "equivalent", "target": "c2f4cd78823f127ae4253bfb920b8b61", "evidence": {"same_day": true, "patch_ids": ["0789f29a740aeae33842745224cfe894"], "statement_hash": "931ed11dc2db7c8b372c3e69f35ab560c8eb4ec9f0e1c5b5bfae06e878d8f455"}}, {"rule": 2, "type": "equivalent", "target": "cd6d321fc20d3d24993e1ce62c093d26", "evidence": {"same_day": true, "patch_ids": ["0789f29a740aeae33842745224cfe894"], "statement_hash": "931ed11dc2db7c8b372c3e69f35ab560c8eb4ec9f0e1c5b5bfae06e878d8f455"}}, {"rule": 2, "type": "equivalent", "target": "d1dae8595ac0b40b78d6de53fc8bfb25", "evidence": {"same_day": true, "patch_ids": ["0789f29a740aeae33842745224cfe894"], "statement_hash": "931ed11dc2db7c8b372c3e69f35ab560c8eb4ec9f0e1c5b5bfae06e878d8f455"}}, {"rule": 2, "type": "equivalent", "target": "e49eaf787b377facbee8f6475fe0c08f", "evidence": {"same_day": true, "patch_ids": ["0789f29a740aeae33842745224cfe894"], "statement_hash": "931ed11dc2db7c8b372c3e69f35ab560c8eb4ec9f0e1c5b5bfae06e878d8f455"}}], "version": "15.1", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "418c0cc4eaab29b89f8fb1f03163bf29", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "避免在复制工作进程中函数语法错误后崩溃", "evidence": {"same_day": true, "patch_ids": ["0789f29a740aeae33842745224cfe894"], "statement_hash": "931ed11dc2db7c8b372c3e69f35ab560c8eb4ec9f0e1c5b5bfae06e878d8f455"}, "url": "/docs/compare/?release=14.6#14.6-fe9fdacbfcf4a974", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "d1dae8595ac0b40b78d6de53fc8bfb25", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "避免在复制工作进程中函数语法错误后崩溃", "evidence": {"same_day": true, "patch_ids": ["0789f29a740aeae33842745224cfe894"], "statement_hash": "931ed11dc2db7c8b372c3e69f35ab560c8eb4ec9f0e1c5b5bfae06e878d8f455"}, "url": "/docs/compare/?release=13.9#13.9-92291f08559e06fb", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "cd6d321fc20d3d24993e1ce62c093d26", "kind": "equivalent", "version": "12.13", "label": "12.13", "title": "避免在复制工作进程中函数语法错误后崩溃", "evidence": {"same_day": true, "patch_ids": ["0789f29a740aeae33842745224cfe894"], "statement_hash": "931ed11dc2db7c8b372c3e69f35ab560c8eb4ec9f0e1c5b5bfae06e878d8f455"}, "url": "/docs/compare/?release=12.13#12.13-77aab0b8b993cc0b", "source_url": "/docs/release/12.13/#id-1.11.6.15.5"}, {"db_id": "c2f4cd78823f127ae4253bfb920b8b61", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "避免在复制工作进程中函数语法错误后崩溃", "evidence": {"same_day": true, "patch_ids": ["0789f29a740aeae33842745224cfe894"], "statement_hash": "931ed11dc2db7c8b372c3e69f35ab560c8eb4ec9f0e1c5b5bfae06e878d8f455"}, "url": "/docs/compare/?release=11.18#11.18-5a5f9a9a5e6ed013", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}, {"db_id": "e49eaf787b377facbee8f6475fe0c08f", "kind": "equivalent", "version": "10.23", "label": "10.23", "title": "避免在复制工作进程中函数语法错误后崩溃", "evidence": {"same_day": true, "patch_ids": ["0789f29a740aeae33842745224cfe894"], "statement_hash": "931ed11dc2db7c8b372c3e69f35ab560c8eb4ec9f0e1c5b5bfae06e878d8f455"}, "url": "/docs/compare/?release=10.23#10.23-5a5f9a9a5e6ed013", "source_url": "/docs/release/10.23/#id-1.11.6.5.6"}]}, {"id": "15.1-4de1238db983ff6b", "cves": [], "html": "<p>避免对归档模块的关闭回调进行双重调用（Nathan Bossart，Bharath Rupireddy）<a href=\"https://postgr.es/c/5d2a47a29\">§</a></p>", "text": "避免对归档模块的关闭回调进行双重调用（Nathan Bossart，Bharath Rupireddy）§", "title": "避免对归档模块的关闭回调进行双重调用", "commits": ["5d2a47a29"], "section": "变更", "category": "improvement", "source_url": "/docs/release/15.1/#ZH-AUTO-RELEASE-15-SECT2-34", "source_hash": "8073564bf642504a4acf4e7fe2dfcdb809effbc602940ba42e020aaffb1c2e39", "section_path": ["变更"], "commit_groups": [["5d2a47a29", "9668c4a66"]], "identity_text": "Avoid double call of the shutdown callback of an archiver module (Nathan Bossart, Bharath Rupireddy)", "commit_aliases": ["5d2a47a29", "9668c4a66"], "source_commits": ["5d2a47a29"], "source_entry_id": "15.1/changes/013", "db_id": "fe25a560ad6bda18fce790e6b0404d5a", "patch_ids": ["17f34aafdfdb2256afaa7c31e145f3f1"], "statement_hash": "d874c54af614b9614d2143faaf0709ac6aa2b9fc67a06cd3c90c0bf390cf00f7", "relations": [], "version": "15.1", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "15.1-f51f3d34c386aae4", "cves": [], "html": "<p>增加对尝试访问没有表访问方法的表的规划时检查（Tom Lane）<a href=\"https://postgr.es/c/2e3326929\">§</a></p>\n<p>这防止了某些目录损坏场景中的崩溃，例如使用了 <code>ON SELECT</code> 规则缺失的视图。</p>", "text": "增加对尝试访问没有表访问方法的表的规划时检查（Tom Lane）§ 这防止了某些目录损坏场景中的崩溃，例如使用了 ON SELECT 规则缺失的视图。", "title": "增加对尝试访问没有表访问方法的表的规划时检查", "commits": ["2e3326929"], "section": "变更", "category": "improvement", "source_url": "/docs/release/15.1/#ZH-AUTO-RELEASE-15-SECT2-34", "source_hash": "0b624509eb7862b89832f3cbfc3f34ab9f8087927f67747213bf1c9f943e5a47", "section_path": ["变更"], "commit_groups": [["2e3326929", "62b263bf7", "8c611602b", "99b6b705d", "eec346611"]], "identity_text": "Add plan-time check for attempted access to a table that has no table access method (Tom Lane) This prevents a crash in some catalog-corruption scenarios, for example use of a view whose ON SELECT rule is missing.", "commit_aliases": ["2e3326929", "62b263bf7", "8c611602b", "99b6b705d", "eec346611"], "source_commits": ["2e3326929"], "source_entry_id": "15.1/changes/014", "db_id": "e8818c598e179ff9a12e37fd453dd52a", "patch_ids": ["69304040c163a865e70ce61931b0d751"], "statement_hash": "d79d584b5f0d456ae3e41c1f5ac290cd104ae48a5fa6b1217208838a20c689d5", "relations": [{"rule": 2, "type": "equivalent", "target": "04c2f92a141d6bffc4a74d300319095a", "evidence": {"same_day": true, "patch_ids": ["69304040c163a865e70ce61931b0d751"], "statement_hash": "d79d584b5f0d456ae3e41c1f5ac290cd104ae48a5fa6b1217208838a20c689d5"}}, {"rule": 2, "type": "equivalent", "target": "4b8f2c461f4b5146aeb6978786ebce53", "evidence": {"same_day": true, "patch_ids": ["69304040c163a865e70ce61931b0d751"], "statement_hash": "d79d584b5f0d456ae3e41c1f5ac290cd104ae48a5fa6b1217208838a20c689d5"}}, {"rule": 2, "type": "equivalent", "target": "aa2b33cc549de24f670279d4c7595fdb", "evidence": {"same_day": true, "patch_ids": ["69304040c163a865e70ce61931b0d751"], "statement_hash": "d79d584b5f0d456ae3e41c1f5ac290cd104ae48a5fa6b1217208838a20c689d5"}}], "version": "15.1", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "aa2b33cc549de24f670279d4c7595fdb", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "增加对尝试访问没有表访问方法的表的规划时检查", "evidence": {"same_day": true, "patch_ids": ["69304040c163a865e70ce61931b0d751"], "statement_hash": "d79d584b5f0d456ae3e41c1f5ac290cd104ae48a5fa6b1217208838a20c689d5"}, "url": "/docs/compare/?release=14.6#14.6-9bbc7771eec9f626", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "04c2f92a141d6bffc4a74d300319095a", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "增加对尝试访问没有表访问方法的表的规划时检查", "evidence": {"same_day": true, "patch_ids": ["69304040c163a865e70ce61931b0d751"], "statement_hash": "d79d584b5f0d456ae3e41c1f5ac290cd104ae48a5fa6b1217208838a20c689d5"}, "url": "/docs/compare/?release=13.9#13.9-696d8f65c4db4929", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "4b8f2c461f4b5146aeb6978786ebce53", "kind": "equivalent", "version": "12.13", "label": "12.13", "title": "增加对尝试访问没有表访问方法的表的规划时检查", "evidence": {"same_day": true, "patch_ids": ["69304040c163a865e70ce61931b0d751"], "statement_hash": "d79d584b5f0d456ae3e41c1f5ac290cd104ae48a5fa6b1217208838a20c689d5"}, "url": "/docs/compare/?release=12.13#12.13-ddbf64f21c750cd3", "source_url": "/docs/release/12.13/#id-1.11.6.15.5"}]}, {"id": "15.1-4442b9e4fca24658", "cves": [], "html": "<p>防止共享内存状态损坏时 postmaster 崩溃（Tom Lane）<a href=\"https://postgr.es/c/e7b4ff327\">§</a></p>\n<p>postmaster 进程应该在共享内存损坏时存活并启动数据库重启，但有一段代码在这方面不够谨慎。</p>", "text": "防止共享内存状态损坏时 postmaster 崩溃（Tom Lane）§ postmaster 进程应该在共享内存损坏时存活并启动数据库重启，但有一段代码在这方面不够谨慎。", "title": "防止共享内存状态损坏时 postmaster 崩溃", "commits": ["e7b4ff327"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/15.1/#ZH-AUTO-RELEASE-15-SECT2-34", "source_hash": "554720f3c55dcc22b922cf6fe75bc869720272002da8541646d6dee94b8d49b8", "section_path": ["变更"], "commit_groups": [["18a4a620e", "6c1de98ba", "744270137", "8f98352b5", "ab35b9dd7", "b10546ecf", "e7b4ff327"]], "identity_text": "Prevent postmaster crash when shared-memory state is corrupted (Tom Lane) The postmaster process is supposed to survive and initiate a database restart if shared memory becomes corrupted, but one bit of code was being insufficiently cautious about that.", "commit_aliases": ["18a4a620e", "6c1de98ba", "744270137", "8f98352b5", "ab35b9dd7", "b10546ecf", "e7b4ff327"], "source_commits": ["e7b4ff327"], "source_entry_id": "15.1/changes/015", "db_id": "fd8b585815db9c96d9d701bf73af75b3", "patch_ids": ["18822265135c97eb130ad8c24c875e66"], "statement_hash": "d20b6489b5ca50704ec1ace8f4182b6c23db58cd69250d2b989043487216c83f", "relations": [{"rule": 2, "type": "equivalent", "target": "1daa193a3af3ddae1130a342a1d42213", "evidence": {"same_day": true, "patch_ids": ["18822265135c97eb130ad8c24c875e66"], "statement_hash": "d20b6489b5ca50704ec1ace8f4182b6c23db58cd69250d2b989043487216c83f"}}, {"rule": 2, "type": "equivalent", "target": "5d032417c1f47b431fd755fdf55938d0", "evidence": {"same_day": true, "patch_ids": ["18822265135c97eb130ad8c24c875e66"], "statement_hash": "d20b6489b5ca50704ec1ace8f4182b6c23db58cd69250d2b989043487216c83f"}}, {"rule": 2, "type": "equivalent", "target": "c82cb92a61f5bad290ecf83245c973ae", "evidence": {"same_day": true, "patch_ids": ["18822265135c97eb130ad8c24c875e66"], "statement_hash": "d20b6489b5ca50704ec1ace8f4182b6c23db58cd69250d2b989043487216c83f"}}, {"rule": 2, "type": "equivalent", "target": "d27a87e7e8aeb79f724271d2139ef3f2", "evidence": {"same_day": true, "patch_ids": ["18822265135c97eb130ad8c24c875e66"], "statement_hash": "d20b6489b5ca50704ec1ace8f4182b6c23db58cd69250d2b989043487216c83f"}}, {"rule": 2, "type": "equivalent", "target": "ef8237640a7eb0cf7b858293eb32cb22", "evidence": {"same_day": true, "patch_ids": ["18822265135c97eb130ad8c24c875e66"], "statement_hash": "d20b6489b5ca50704ec1ace8f4182b6c23db58cd69250d2b989043487216c83f"}}], "version": "15.1", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "1daa193a3af3ddae1130a342a1d42213", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "防止共享内存状态损坏时 postmaster 崩溃", "evidence": {"same_day": true, "patch_ids": ["18822265135c97eb130ad8c24c875e66"], "statement_hash": "d20b6489b5ca50704ec1ace8f4182b6c23db58cd69250d2b989043487216c83f"}, "url": "/docs/compare/?release=14.6#14.6-cb0c60dbbda16fd7", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "c82cb92a61f5bad290ecf83245c973ae", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "防止共享内存状态损坏时 postmaster 崩溃", "evidence": {"same_day": true, "patch_ids": ["18822265135c97eb130ad8c24c875e66"], "statement_hash": "d20b6489b5ca50704ec1ace8f4182b6c23db58cd69250d2b989043487216c83f"}, "url": "/docs/compare/?release=13.9#13.9-5796d7f8f3e3621d", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "d27a87e7e8aeb79f724271d2139ef3f2", "kind": "equivalent", "version": "12.13", "label": "12.13", "title": "防止共享内存状态损坏时 postmaster 崩溃", "evidence": {"same_day": true, "patch_ids": ["18822265135c97eb130ad8c24c875e66"], "statement_hash": "d20b6489b5ca50704ec1ace8f4182b6c23db58cd69250d2b989043487216c83f"}, "url": "/docs/compare/?release=12.13#12.13-e3741d8bb12a1907", "source_url": "/docs/release/12.13/#id-1.11.6.15.5"}, {"db_id": "5d032417c1f47b431fd755fdf55938d0", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "防止共享内存状态损坏时 postmaster 崩溃", "evidence": {"same_day": true, "patch_ids": ["18822265135c97eb130ad8c24c875e66"], "statement_hash": "d20b6489b5ca50704ec1ace8f4182b6c23db58cd69250d2b989043487216c83f"}, "url": "/docs/compare/?release=11.18#11.18-e90a64c5fa330238", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}, {"db_id": "ef8237640a7eb0cf7b858293eb32cb22", "kind": "equivalent", "version": "10.23", "label": "10.23", "title": "防止共享内存状态损坏时 postmaster 崩溃", "evidence": {"same_day": true, "patch_ids": ["18822265135c97eb130ad8c24c875e66"], "statement_hash": "d20b6489b5ca50704ec1ace8f4182b6c23db58cd69250d2b989043487216c83f"}, "url": "/docs/compare/?release=10.23#10.23-e90a64c5fa330238", "source_url": "/docs/release/10.23/#id-1.11.6.5.6"}]}, {"id": "15.1-4702f17333a096d6", "cves": [], "html": "<p>在 <span>libpq</span> 中，正确处理管道模式下的单行模式（Denis Laxalde）<a href=\"https://postgr.es/c/27ca0bce5\">§</a></p>\n<p>如果管道模式同时激活，单行标志未在正确的时间重置。</p>", "text": "在 libpq 中，正确处理管道模式下的单行模式（Denis Laxalde）§ 如果管道模式同时激活，单行标志未在正确的时间重置。", "title": "在 libpq 中，正确处理管道模式下的单行模式", "commits": ["27ca0bce5"], "section": "变更", "category": "improvement", "source_url": "/docs/release/15.1/#ZH-AUTO-RELEASE-15-SECT2-34", "source_hash": "8870db7d303aff0cf08511a7ba86b292c3f853871aaf6edf3bfb5e90313b7410", "section_path": ["变更"], "commit_groups": [["27ca0bce5", "b8af4166f", "db1b931a4"]], "identity_text": "In libpq, handle single-row mode correctly when pipelining (Denis Laxalde) The single-row flag was not reset at the correct time if pipeline mode was also active.", "commit_aliases": ["27ca0bce5", "b8af4166f", "db1b931a4"], "source_commits": ["27ca0bce5"], "source_entry_id": "15.1/changes/016", "db_id": "9548d533856fe8eb66906ac81e34afcd", "patch_ids": ["2a57583a6d7134be8bf0eba65cbff8cf"], "statement_hash": "07454e3f0c2cfc5798ebc3e35518163f3e027dbd9c83b609da8cd05d5ae9a8c9", "relations": [{"rule": 2, "type": "equivalent", "target": "dd8a31a6719ad9621abbfd6ac76fe486", "evidence": {"same_day": true, "patch_ids": ["2a57583a6d7134be8bf0eba65cbff8cf"], "statement_hash": "07454e3f0c2cfc5798ebc3e35518163f3e027dbd9c83b609da8cd05d5ae9a8c9"}}], "version": "15.1", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "dd8a31a6719ad9621abbfd6ac76fe486", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "在 libpq 中，正确处理管道模式下的单行模式", "evidence": {"same_day": true, "patch_ids": ["2a57583a6d7134be8bf0eba65cbff8cf"], "statement_hash": "07454e3f0c2cfc5798ebc3e35518163f3e027dbd9c83b609da8cd05d5ae9a8c9"}, "url": "/docs/compare/?release=14.6#14.6-a5d885951471ba6b", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}]}, {"id": "15.1-6cbb577fba555bc0", "cves": [], "html": "<p>修复 <span>psql</span> 在命令行查询被取消时的退出状态（Peter Eisentraut）<a href=\"https://postgr.es/c/4a6de748d\">§</a></p>\n<p><code>psql -c <em><code>query</code></em></code> 在查询被取消时会以成功状态退出。修复为像其他错误情况一样以非零状态退出。</p>", "text": "修复 psql 在命令行查询被取消时的退出状态（Peter Eisentraut）§ psql -c query 在查询被取消时会以成功状态退出。修复为像其他错误情况一样以非零状态退出。", "title": "修复 psql 在命令行查询被取消时的退出状态", "commits": ["4a6de748d"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/15.1/#ZH-AUTO-RELEASE-15-SECT2-34", "source_hash": "45a0a48b31e7c8dd21d9d9686e49dc9b35e679114a0b649255e52b11121b1372", "section_path": ["变更"], "commit_groups": [["2598b76bf", "4a6de748d"]], "identity_text": "Fix psql's exit status when a command-line query is canceled (Peter Eisentraut) psql -c query would exit successfully if the query was canceled. Fix it to exit with nonzero status, as in other error cases.", "commit_aliases": ["2598b76bf", "4a6de748d"], "source_commits": ["4a6de748d"], "source_entry_id": "15.1/changes/017", "db_id": "6cf2349afbb42e0d2e7df77460723bc7", "patch_ids": ["379d5bfd788a424018e1d9355680f13f"], "statement_hash": "fb8cd9cee94c03387d24e3b864437f22e4bd7074144a56b51225731d436c212d", "relations": [], "version": "15.1", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": []}, {"id": "15.1-b19291a91dbfa5c6", "cves": [], "html": "<p>允许在 <span>pg_basebackup</span> 中进行跨平台表空间重定位（Robert Haas）<a href=\"https://postgr.es/c/5c013e620\">§</a></p>\n<p>允许 <code>--tablespace-mapping</code> 中的远程路径为 Unix 风格或 Windows 风格的绝对路径，因为源服务器可能与本地系统运行在不同的操作系统上。</p>", "text": "允许在 pg_basebackup 中进行跨平台表空间重定位（Robert Haas）§ 允许 --tablespace-mapping 中的远程路径为 Unix 风格或 Windows 风格的绝对路径，因为源服务器可能与本地系统运行在不同的操作系统上。", "title": "允许在 pg_basebackup 中进行跨平台表空间重定位", "commits": ["5c013e620"], "section": "变更", "category": "improvement", "source_url": "/docs/release/15.1/#ZH-AUTO-RELEASE-15-SECT2-34", "source_hash": "fe0bec1430b639c3b75cb753a2adaea6bc61b1e7f7745c759322a68abbce29f0", "section_path": ["变更"], "commit_groups": [["0bf2cd160", "1f0c4fa25", "38214dabd", "475e9daf3", "5c013e620", "aaad8adb0", "ba58266eb"]], "identity_text": "Allow cross-platform tablespace relocation in pg_basebackup (Robert Haas) Allow the remote path in --tablespace-mapping to be either a Unix-style or Windows-style absolute path, since the source server could be on a different OS than the local system.", "commit_aliases": ["0bf2cd160", "1f0c4fa25", "38214dabd", "475e9daf3", "5c013e620", "aaad8adb0", "ba58266eb"], "source_commits": ["5c013e620"], "source_entry_id": "15.1/changes/018", "db_id": "1ea5bc7f5317c6a59b6cdd90856c3474", "patch_ids": ["f9b2de5d561ca4f8f2dede26ecde862d"], "statement_hash": "68444777aca00b4587bdca03242df3dc241b6c1959a8682cd3d915d1fedf131a", "relations": [{"rule": 2, "type": "equivalent", "target": "69711831b00cb8d6eacdb3276415a27d", "evidence": {"same_day": true, "patch_ids": ["f9b2de5d561ca4f8f2dede26ecde862d"], "statement_hash": "68444777aca00b4587bdca03242df3dc241b6c1959a8682cd3d915d1fedf131a"}}, {"rule": 2, "type": "equivalent", "target": "8c498bcceeb55076e63bf1b4748041f7", "evidence": {"same_day": true, "patch_ids": ["f9b2de5d561ca4f8f2dede26ecde862d"], "statement_hash": "68444777aca00b4587bdca03242df3dc241b6c1959a8682cd3d915d1fedf131a"}}, {"rule": 2, "type": "equivalent", "target": "8c755b14881c5eb3d4d38b51f381b5f2", "evidence": {"same_day": true, "patch_ids": ["f9b2de5d561ca4f8f2dede26ecde862d"], "statement_hash": "68444777aca00b4587bdca03242df3dc241b6c1959a8682cd3d915d1fedf131a"}}, {"rule": 2, "type": "equivalent", "target": "927e70d7162b1fe72191d8b686a2c7c1", "evidence": {"same_day": true, "patch_ids": ["f9b2de5d561ca4f8f2dede26ecde862d"], "statement_hash": "68444777aca00b4587bdca03242df3dc241b6c1959a8682cd3d915d1fedf131a"}}, {"rule": 2, "type": "equivalent", "target": "af4495fbb1a71aab9aa6f43a50575072", "evidence": {"same_day": true, "patch_ids": ["f9b2de5d561ca4f8f2dede26ecde862d"], "statement_hash": "68444777aca00b4587bdca03242df3dc241b6c1959a8682cd3d915d1fedf131a"}}], "version": "15.1", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "69711831b00cb8d6eacdb3276415a27d", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "允许在 pg_basebackup 中进行跨平台表空间重定位", "evidence": {"same_day": true, "patch_ids": ["f9b2de5d561ca4f8f2dede26ecde862d"], "statement_hash": "68444777aca00b4587bdca03242df3dc241b6c1959a8682cd3d915d1fedf131a"}, "url": "/docs/compare/?release=14.6#14.6-86763296d6c9be1d", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "af4495fbb1a71aab9aa6f43a50575072", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "允许在 pg_basebackup 中进行跨平台表空间重定位", "evidence": {"same_day": true, "patch_ids": ["f9b2de5d561ca4f8f2dede26ecde862d"], "statement_hash": "68444777aca00b4587bdca03242df3dc241b6c1959a8682cd3d915d1fedf131a"}, "url": "/docs/compare/?release=13.9#13.9-c553b578e860aa78", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "927e70d7162b1fe72191d8b686a2c7c1", "kind": "equivalent", "version": "12.13", "label": "12.13", "title": "允许在 pg_basebackup 中进行跨平台表空间重定位", "evidence": {"same_day": true, "patch_ids": ["f9b2de5d561ca4f8f2dede26ecde862d"], "statement_hash": "68444777aca00b4587bdca03242df3dc241b6c1959a8682cd3d915d1fedf131a"}, "url": "/docs/compare/?release=12.13#12.13-991f9621bf8c4c52", "source_url": "/docs/release/12.13/#id-1.11.6.15.5"}, {"db_id": "8c498bcceeb55076e63bf1b4748041f7", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "允许在 pg_basebackup 中进行跨平台表空间重定位", "evidence": {"same_day": true, "patch_ids": ["f9b2de5d561ca4f8f2dede26ecde862d"], "statement_hash": "68444777aca00b4587bdca03242df3dc241b6c1959a8682cd3d915d1fedf131a"}, "url": "/docs/compare/?release=11.18#11.18-c3e247c81e12b527", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}, {"db_id": "8c755b14881c5eb3d4d38b51f381b5f2", "kind": "equivalent", "version": "10.23", "label": "10.23", "title": "允许在 pg_basebackup 中进行跨平台表空间重定位", "evidence": {"same_day": true, "patch_ids": ["f9b2de5d561ca4f8f2dede26ecde862d"], "statement_hash": "68444777aca00b4587bdca03242df3dc241b6c1959a8682cd3d915d1fedf131a"}, "url": "/docs/compare/?release=10.23#10.23-c3e247c81e12b527", "source_url": "/docs/release/10.23/#id-1.11.6.5.6"}]}, {"id": "15.1-7d052473a9b7287e", "cves": [], "html": "<p>修复 <span>pg_dump</span> 无法导出某些 <code>CHECK</code> 约束上附加的注释的问题（Tom Lane）<a href=\"https://postgr.es/c/0eede9625\">§</a></p>", "text": "修复 pg_dump 无法导出某些 CHECK 约束上附加的注释的问题（Tom Lane）§", "title": "修复 pg_dump 无法导出某些 CHECK 约束上附加的注释的问题", "commits": ["0eede9625"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/15.1/#ZH-AUTO-RELEASE-15-SECT2-34", "source_hash": "b132aed083f5f9d7f005c860ada8e67a7577700ecd75c607a23b588967e14836", "section_path": ["变更"], "commit_groups": [["0eede9625", "26ee7fb36"]], "identity_text": "Fix pg_dump's failure to dump comments attached to some CHECK constraints (Tom Lane)", "commit_aliases": ["0eede9625", "26ee7fb36"], "source_commits": ["0eede9625"], "source_entry_id": "15.1/changes/019", "db_id": "72b282b5078503c752f441dd7a102d5b", "patch_ids": ["61eeeb970634bee01a82d3b92894c59a"], "statement_hash": "77a7c1c2e83163acd31aea4d61ac0bdf646c5f0be2f3cdadfeb88c0e055d9da5", "relations": [], "version": "15.1", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": []}, {"id": "15.1-e42fd90d17ed78f8", "cves": [], "html": "<p>修复 <code>CREATE DATABASE</code> 以允许其 <code>oid</code> 参数超过 2<sup>31</sup>（Tom Lane）<a href=\"https://postgr.es/c/2c6d43650\">§</a></p>\n<p>此疏忽导致当源安装包含 OID 大于此值的数据库时 <span>pg_upgrade</span> 无法成功。</p>", "text": "修复 CREATE DATABASE 以允许其 oid 参数超过 231（Tom Lane）§ 此疏忽导致当源安装包含 OID 大于此值的数据库时 pg_upgrade 无法成功。", "title": "修复 CREATE DATABASE 以允许其 oid 参数超过 231", "commits": ["2c6d43650"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/15.1/#ZH-AUTO-RELEASE-15-SECT2-34", "source_hash": "5c75a6063a06fd3905b4a1b80273e4958f6271540fd12c33257f02e303f60688", "section_path": ["变更"], "commit_groups": [["2c6d43650", "34fa0ddae"]], "identity_text": "Fix CREATE DATABASE to allow its oid parameter to exceed 231 (Tom Lane) This oversight prevented pg_upgrade from succeeding when the source installation contained databases with OIDs larger than that.", "commit_aliases": ["2c6d43650", "34fa0ddae"], "source_commits": ["2c6d43650"], "source_entry_id": "15.1/changes/020", "db_id": "d730813328de2b1224cb225ca973d63b", "patch_ids": ["5bb86d9b309db920c14d5b5de9172892"], "statement_hash": "a43d1bb2021cc46fe4ffd21c09e9d8ddc6957dda98388847f4095e1b33948fc4", "relations": [], "version": "15.1", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": []}, {"id": "15.1-74109c5e008cde1f", "cves": [], "html": "<p>在 <span>pg_stat_statements</span> 中，修复对已释放内存的访问（zhaoqigui）<a href=\"https://postgr.es/c/8b0a5cf3f\">§</a></p>\n<p>当 <span>pg_stat_statements</span> 跟踪通过扩展查询协议发出的 <code>ROLLBACK</code> 命令时会出现此问题。在调试构建中，这始终导致断言失败。在生产构建中，通常没有可见的不良影响；但如果释放的内存已经被重用，很可能的结果是存储查询字符串的垃圾数据。</p>", "text": "在 pg_stat_statements 中，修复对已释放内存的访问（zhaoqigui）§ 当 pg_stat_statements 跟踪通过扩展查询协议发出的 ROLLBACK 命令时会出现此问题。在调试构建中，这始终导致断言失败。在生产构建中，通常没有可见的不良影响；但如果释放的内存已经被重用，很可能的结果是存储查询字符串的垃圾数据。", "title": "在 pg_stat_statements 中，修复对已释放内存的访问", "commits": ["8b0a5cf3f"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/15.1/#ZH-AUTO-RELEASE-15-SECT2-34", "source_hash": "ecebbc4bceabdee3c5df5fc39c44a2170c7a7af71a96b690111ce9e7d5029dc1", "section_path": ["变更"], "commit_groups": [["0f2f5645a", "149e00192", "495e73c20", "56083ff30", "8b0a5cf3f", "a9fdb48b7", "ca4c6764b"]], "identity_text": "In pg_stat_statements, fix access to already-freed memory (zhaoqigui) This occurred if pg_stat_statements tracked a ROLLBACK command issued via extended query protocol. In debug builds it consistently led to an assertion failure. In production builds there would often be no visible ill effect; but if the freed memory had already been reused, the likely result would be to store garbage for the query string.", "commit_aliases": ["0f2f5645a", "149e00192", "495e73c20", "56083ff30", "8b0a5cf3f", "a9fdb48b7", "ca4c6764b"], "source_commits": ["8b0a5cf3f"], "source_entry_id": "15.1/changes/021", "db_id": "da50bf0c77744d2ede9cb56a4c5e666d", "patch_ids": ["98926bb321e075952c5e05c27d302546"], "statement_hash": "de37b8e17d89ee5559a2633062274ec6c9eeb420f7721b6b71de9c669a47ab12", "relations": [{"rule": 2, "type": "equivalent", "target": "15d3cd3f154b92699a931a00f1e9deb6", "evidence": {"same_day": true, "patch_ids": ["98926bb321e075952c5e05c27d302546"], "statement_hash": "de37b8e17d89ee5559a2633062274ec6c9eeb420f7721b6b71de9c669a47ab12"}}, {"rule": 2, "type": "equivalent", "target": "2cd202bef064994dc8769d3f45e51ffd", "evidence": {"same_day": true, "patch_ids": ["98926bb321e075952c5e05c27d302546"], "statement_hash": "de37b8e17d89ee5559a2633062274ec6c9eeb420f7721b6b71de9c669a47ab12"}}, {"rule": 2, "type": "equivalent", "target": "2fc267a495e47f35e3d428f3e00e2671", "evidence": {"same_day": true, "patch_ids": ["98926bb321e075952c5e05c27d302546"], "statement_hash": "de37b8e17d89ee5559a2633062274ec6c9eeb420f7721b6b71de9c669a47ab12"}}, {"rule": 2, "type": "equivalent", "target": "529f8cd205bfab585ae45952ba439807", "evidence": {"same_day": true, "patch_ids": ["98926bb321e075952c5e05c27d302546"], "statement_hash": "de37b8e17d89ee5559a2633062274ec6c9eeb420f7721b6b71de9c669a47ab12"}}, {"rule": 2, "type": "equivalent", "target": "7bb57736b2da7cfd8601228b1ac1f513", "evidence": {"same_day": true, "patch_ids": ["98926bb321e075952c5e05c27d302546"], "statement_hash": "de37b8e17d89ee5559a2633062274ec6c9eeb420f7721b6b71de9c669a47ab12"}}], "version": "15.1", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "529f8cd205bfab585ae45952ba439807", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "在 pg_stat_statements 中，修复对已释放内存的访问", "evidence": {"same_day": true, "patch_ids": ["98926bb321e075952c5e05c27d302546"], "statement_hash": "de37b8e17d89ee5559a2633062274ec6c9eeb420f7721b6b71de9c669a47ab12"}, "url": "/docs/compare/?release=14.6#14.6-e0347dcad21bcabc", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "15d3cd3f154b92699a931a00f1e9deb6", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "在 pg_stat_statements 中，修复对已释放内存的访问", "evidence": {"same_day": true, "patch_ids": ["98926bb321e075952c5e05c27d302546"], "statement_hash": "de37b8e17d89ee5559a2633062274ec6c9eeb420f7721b6b71de9c669a47ab12"}, "url": "/docs/compare/?release=13.9#13.9-81752ae7e7775d66", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "2fc267a495e47f35e3d428f3e00e2671", "kind": "equivalent", "version": "12.13", "label": "12.13", "title": "在 pg_stat_statements 中，修复对已释放内存的访问", "evidence": {"same_day": true, "patch_ids": ["98926bb321e075952c5e05c27d302546"], "statement_hash": "de37b8e17d89ee5559a2633062274ec6c9eeb420f7721b6b71de9c669a47ab12"}, "url": "/docs/compare/?release=12.13#12.13-0420747629b2c301", "source_url": "/docs/release/12.13/#id-1.11.6.15.5"}, {"db_id": "2cd202bef064994dc8769d3f45e51ffd", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "在 pg_stat_statements 中，修复对已释放内存的访问", "evidence": {"same_day": true, "patch_ids": ["98926bb321e075952c5e05c27d302546"], "statement_hash": "de37b8e17d89ee5559a2633062274ec6c9eeb420f7721b6b71de9c669a47ab12"}, "url": "/docs/compare/?release=11.18#11.18-9cd45ca7858c47f9", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}, {"db_id": "7bb57736b2da7cfd8601228b1ac1f513", "kind": "equivalent", "version": "10.23", "label": "10.23", "title": "在 pg_stat_statements 中，修复对已释放内存的访问", "evidence": {"same_day": true, "patch_ids": ["98926bb321e075952c5e05c27d302546"], "statement_hash": "de37b8e17d89ee5559a2633062274ec6c9eeb420f7721b6b71de9c669a47ab12"}, "url": "/docs/compare/?release=10.23#10.23-9cd45ca7858c47f9", "source_url": "/docs/release/10.23/#id-1.11.6.5.6"}]}, {"id": "15.1-9157f982b40c09c4", "cves": [], "html": "<p>修复与 LLVM 15 的不兼容问题（Thomas Munro，Andres Freund）<a href=\"https://postgr.es/c/af64846e1\">§</a></p>", "text": "修复与 LLVM 15 的不兼容问题（Thomas Munro，Andres Freund）§", "title": "修复与 LLVM 15 的不兼容问题", "commits": ["af64846e1"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/15.1/#ZH-AUTO-RELEASE-15-SECT2-34", "source_hash": "64c07e9ed8312f3f2794035c0a3d63e009ee7d17fc46a19017717c0d92be3307", "section_path": ["变更"], "commit_groups": [["aa34bc4e2", "af64846e1", "c2ae01f69", "cf94cb586", "d033f8f8b", "da3a6825e"]], "identity_text": "Fix incompatibilities with LLVM 15 (Thomas Munro, Andres Freund)", "commit_aliases": ["aa34bc4e2", "af64846e1", "c2ae01f69", "cf94cb586", "d033f8f8b", "da3a6825e"], "source_commits": ["af64846e1"], "source_entry_id": "15.1/changes/022", "db_id": "07e60d8ac7ff37e0a4bedae0d81a1767", "patch_ids": ["8577cc374711d259d996156ce3ec8f2e"], "statement_hash": "e2119c716ca0879c9da2f56fa44513251d4cf9dc8b7b4c15071f138d330b47b6", "relations": [{"rule": 2, "type": "equivalent", "target": "0303192b7a33fd1082e5c5bc67893b6d", "evidence": {"same_day": true, "patch_ids": ["8577cc374711d259d996156ce3ec8f2e"], "statement_hash": "e2119c716ca0879c9da2f56fa44513251d4cf9dc8b7b4c15071f138d330b47b6"}}, {"rule": 2, "type": "equivalent", "target": "5818380d9b181069c374bba785a424ef", "evidence": {"same_day": true, "patch_ids": ["8577cc374711d259d996156ce3ec8f2e"], "statement_hash": "e2119c716ca0879c9da2f56fa44513251d4cf9dc8b7b4c15071f138d330b47b6"}}, {"rule": 2, "type": "equivalent", "target": "d037b566b57da3060caca23f7cc29473", "evidence": {"same_day": true, "patch_ids": ["8577cc374711d259d996156ce3ec8f2e"], "statement_hash": "e2119c716ca0879c9da2f56fa44513251d4cf9dc8b7b4c15071f138d330b47b6"}}, {"rule": 2, "type": "equivalent", "target": "eaffbe6fa6be0f0e06ae74d8af5bf7d8", "evidence": {"same_day": true, "patch_ids": ["8577cc374711d259d996156ce3ec8f2e"], "statement_hash": "e2119c716ca0879c9da2f56fa44513251d4cf9dc8b7b4c15071f138d330b47b6"}}], "version": "15.1", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "5818380d9b181069c374bba785a424ef", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "修复与 LLVM 15 的不兼容问题", "evidence": {"same_day": true, "patch_ids": ["8577cc374711d259d996156ce3ec8f2e"], "statement_hash": "e2119c716ca0879c9da2f56fa44513251d4cf9dc8b7b4c15071f138d330b47b6"}, "url": "/docs/compare/?release=14.6#14.6-9f936df81f77474b", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "d037b566b57da3060caca23f7cc29473", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "修复与 LLVM 15 的不兼容问题", "evidence": {"same_day": true, "patch_ids": ["8577cc374711d259d996156ce3ec8f2e"], "statement_hash": "e2119c716ca0879c9da2f56fa44513251d4cf9dc8b7b4c15071f138d330b47b6"}, "url": "/docs/compare/?release=13.9#13.9-eb6e1b2c4299d3eb", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "0303192b7a33fd1082e5c5bc67893b6d", "kind": "equivalent", "version": "12.13", "label": "12.13", "title": "修复与 LLVM 15 的不兼容问题", "evidence": {"same_day": true, "patch_ids": ["8577cc374711d259d996156ce3ec8f2e"], "statement_hash": "e2119c716ca0879c9da2f56fa44513251d4cf9dc8b7b4c15071f138d330b47b6"}, "url": "/docs/compare/?release=12.13#12.13-c41d7ed2f0f3fc73", "source_url": "/docs/release/12.13/#id-1.11.6.15.5"}, {"db_id": "eaffbe6fa6be0f0e06ae74d8af5bf7d8", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "修复与 LLVM 15 的不兼容问题", "evidence": {"same_day": true, "patch_ids": ["8577cc374711d259d996156ce3ec8f2e"], "statement_hash": "e2119c716ca0879c9da2f56fa44513251d4cf9dc8b7b4c15071f138d330b47b6"}, "url": "/docs/compare/?release=11.18#11.18-398d8a8271c08e9c", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}]}, {"id": "15.1-35ba14ed7d1dd371", "cves": [], "html": "<p>允许在任何机器上使用 <code>__sync_lock_test_and_set()</code> 实现自旋锁（Tom Lane）<a href=\"https://postgr.es/c/a5737e765\">§</a></p>\n<p>这简化了向新机器架构的移植，至少在使用支持此 GCC 内置函数的编译器时。</p>", "text": "允许在任何机器上使用 __sync_lock_test_and_set() 实现自旋锁（Tom Lane）§ 这简化了向新机器架构的移植，至少在使用支持此 GCC 内置函数的编译器时。", "title": "允许在任何机器上使用 __sync_lock_test_and_set() 实现自旋锁", "commits": ["a5737e765"], "section": "变更", "category": "improvement", "source_url": "/docs/release/15.1/#ZH-AUTO-RELEASE-15-SECT2-34", "source_hash": "56ae50216ea49f2221ae7fa84d213e72497a61e7bb64d0bfe4ed996ea5d3c12a", "section_path": ["变更"], "commit_groups": [["058c7b5dd", "19cefebe7", "1c72d82c2", "5ecf836e9", "a0f9be1f9", "a5737e765", "c479492c0"]], "identity_text": "Allow use of __sync_lock_test_and_set() for spinlocks on any machine (Tom Lane) This eases porting to new machine architectures, at least if you're using a compiler that supports this GCC builtin function.", "commit_aliases": ["058c7b5dd", "19cefebe7", "1c72d82c2", "5ecf836e9", "a0f9be1f9", "a5737e765", "c479492c0"], "source_commits": ["a5737e765"], "source_entry_id": "15.1/changes/023", "db_id": "b90a4c15cb96a79ae08c079bf80370cc", "patch_ids": ["dcbecbc4c86adae47665110105ac576b"], "statement_hash": "56e8aa7594d39491a9aa77ec7577bbfa226b3ac7ea5ec416c7decba6b7d481a3", "relations": [{"rule": 2, "type": "equivalent", "target": "250f1815e221cb2489711544bb8792f0", "evidence": {"same_day": true, "patch_ids": ["dcbecbc4c86adae47665110105ac576b"], "statement_hash": "56e8aa7594d39491a9aa77ec7577bbfa226b3ac7ea5ec416c7decba6b7d481a3"}}, {"rule": 2, "type": "equivalent", "target": "48ab24659ec3f8ebab99f333f24b045f", "evidence": {"same_day": true, "patch_ids": ["dcbecbc4c86adae47665110105ac576b"], "statement_hash": "56e8aa7594d39491a9aa77ec7577bbfa226b3ac7ea5ec416c7decba6b7d481a3"}}, {"rule": 2, "type": "equivalent", "target": "78df2388bf06f3542e603ae20e413af5", "evidence": {"same_day": true, "patch_ids": ["dcbecbc4c86adae47665110105ac576b"], "statement_hash": "56e8aa7594d39491a9aa77ec7577bbfa226b3ac7ea5ec416c7decba6b7d481a3"}}, {"rule": 2, "type": "equivalent", "target": "90b9c77f439a3fd5d820c0a64529665b", "evidence": {"same_day": true, "patch_ids": ["dcbecbc4c86adae47665110105ac576b"], "statement_hash": "56e8aa7594d39491a9aa77ec7577bbfa226b3ac7ea5ec416c7decba6b7d481a3"}}, {"rule": 2, "type": "equivalent", "target": "e7350b4ef5071b00e7c55ca768f3e224", "evidence": {"same_day": true, "patch_ids": ["dcbecbc4c86adae47665110105ac576b"], "statement_hash": "56e8aa7594d39491a9aa77ec7577bbfa226b3ac7ea5ec416c7decba6b7d481a3"}}], "version": "15.1", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "78df2388bf06f3542e603ae20e413af5", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "允许在任何机器上使用 __sync_lock_test_and_set() 实现自旋锁", "evidence": {"same_day": true, "patch_ids": ["dcbecbc4c86adae47665110105ac576b"], "statement_hash": "56e8aa7594d39491a9aa77ec7577bbfa226b3ac7ea5ec416c7decba6b7d481a3"}, "url": "/docs/compare/?release=14.6#14.6-e033d6a8b92e082b", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "e7350b4ef5071b00e7c55ca768f3e224", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "允许在任何机器上使用 __sync_lock_test_and_set() 实现自旋锁", "evidence": {"same_day": true, "patch_ids": ["dcbecbc4c86adae47665110105ac576b"], "statement_hash": "56e8aa7594d39491a9aa77ec7577bbfa226b3ac7ea5ec416c7decba6b7d481a3"}, "url": "/docs/compare/?release=13.9#13.9-fd1e7c7b8eb77c46", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "90b9c77f439a3fd5d820c0a64529665b", "kind": "equivalent", "version": "12.13", "label": "12.13", "title": "允许在任何机器上使用 __sync_lock_test_and_set() 实现自旋锁", "evidence": {"same_day": true, "patch_ids": ["dcbecbc4c86adae47665110105ac576b"], "statement_hash": "56e8aa7594d39491a9aa77ec7577bbfa226b3ac7ea5ec416c7decba6b7d481a3"}, "url": "/docs/compare/?release=12.13#12.13-75bcf3dd2b440a30", "source_url": "/docs/release/12.13/#id-1.11.6.15.5"}, {"db_id": "250f1815e221cb2489711544bb8792f0", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "允许在任何机器上使用 __sync_lock_test_and_set() 实现自旋锁", "evidence": {"same_day": true, "patch_ids": ["dcbecbc4c86adae47665110105ac576b"], "statement_hash": "56e8aa7594d39491a9aa77ec7577bbfa226b3ac7ea5ec416c7decba6b7d481a3"}, "url": "/docs/compare/?release=11.18#11.18-18190d69b8ea05c3", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}, {"db_id": "48ab24659ec3f8ebab99f333f24b045f", "kind": "equivalent", "version": "10.23", "label": "10.23", "title": "允许在任何机器上使用 __sync_lock_test_and_set() 实现自旋锁", "evidence": {"same_day": true, "patch_ids": ["dcbecbc4c86adae47665110105ac576b"], "statement_hash": "56e8aa7594d39491a9aa77ec7577bbfa226b3ac7ea5ec416c7decba6b7d481a3"}, "url": "/docs/compare/?release=10.23#10.23-18190d69b8ea05c3", "source_url": "/docs/release/10.23/#id-1.11.6.5.6"}]}, {"id": "15.1-eb17cf70e66edca9", "cves": [], "html": "<p>将符号 <code>REF</code> 重命名为 <code>REF_P</code> 以避免在最近的 macOS 上编译失败（Tom Lane）<a href=\"https://postgr.es/c/24c4c2617\">§</a></p>", "text": "将符号 REF 重命名为 REF_P 以避免在最近的 macOS 上编译失败（Tom Lane）§", "title": "将符号 REF 重命名为 REF_P 以避免在最近的 macOS 上编译失败", "commits": ["24c4c2617"], "section": "变更", "category": "improvement", "source_url": "/docs/release/15.1/#ZH-AUTO-RELEASE-15-SECT2-34", "source_hash": "ac601ee9b4223c804e3bf2533540f504cb03e668720187b26ce8f4be992071d9", "section_path": ["变更"], "commit_groups": [["02d074e3e", "18e60712d", "24c4c2617", "377b37cf7", "3d7df87c4", "57dfb6ce6", "6618c276b", "717ec1aae", "9bfa043a1", "bc7a40b42", "ee4c44014", "fec443414"]], "identity_text": "Rename symbol REF to REF_P to avoid compile failure on recent macOS (Tom Lane)", "commit_aliases": ["02d074e3e", "18e60712d", "24c4c2617", "377b37cf7", "3d7df87c4", "57dfb6ce6", "6618c276b", "717ec1aae", "9bfa043a1", "bc7a40b42", "ee4c44014", "fec443414"], "source_commits": ["24c4c2617"], "source_entry_id": "15.1/changes/024", "db_id": "c870ed9dd25c35a047c33c1b43f1972e", "patch_ids": ["21310b294a7316a5fd66b65793d15417"], "statement_hash": "7523096b60db7f188f4fe11a31df4d485c642aa54d1d65dd360017c61bb0f8d9", "relations": [{"rule": 2, "type": "equivalent", "target": "67fc63e69a61e4bc1a4a7fa0dd9c8dd1", "evidence": {"same_day": true, "patch_ids": ["21310b294a7316a5fd66b65793d15417"], "statement_hash": "7523096b60db7f188f4fe11a31df4d485c642aa54d1d65dd360017c61bb0f8d9"}}, {"rule": 2, "type": "equivalent", "target": "8d5d2f8eac1aafa168dfbdefd953f5b0", "evidence": {"same_day": true, "patch_ids": ["21310b294a7316a5fd66b65793d15417"], "statement_hash": "7523096b60db7f188f4fe11a31df4d485c642aa54d1d65dd360017c61bb0f8d9"}}, {"rule": 2, "type": "equivalent", "target": "a881716e3e0e5347745363b82da1a0ab", "evidence": {"same_day": true, "patch_ids": ["21310b294a7316a5fd66b65793d15417"], "statement_hash": "7523096b60db7f188f4fe11a31df4d485c642aa54d1d65dd360017c61bb0f8d9"}}, {"rule": 2, "type": "equivalent", "target": "d95b96ea8527eea9cce236c168135afc", "evidence": {"same_day": true, "patch_ids": ["21310b294a7316a5fd66b65793d15417"], "statement_hash": "7523096b60db7f188f4fe11a31df4d485c642aa54d1d65dd360017c61bb0f8d9"}}, {"rule": 2, "type": "equivalent", "target": "f402afd16908f7587a891906e8738edf", "evidence": {"same_day": true, "patch_ids": ["21310b294a7316a5fd66b65793d15417"], "statement_hash": "7523096b60db7f188f4fe11a31df4d485c642aa54d1d65dd360017c61bb0f8d9"}}], "version": "15.1", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "f402afd16908f7587a891906e8738edf", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "将符号 REF 重命名为 REF_P 以避免在最近的 macOS 上编译失败", "evidence": {"same_day": true, "patch_ids": ["21310b294a7316a5fd66b65793d15417"], "statement_hash": "7523096b60db7f188f4fe11a31df4d485c642aa54d1d65dd360017c61bb0f8d9"}, "url": "/docs/compare/?release=14.6#14.6-8d375e5cc04f0b2b", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "a881716e3e0e5347745363b82da1a0ab", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "将符号 REF 重命名为 REF_P 以避免在最近的 macOS 上编译失败", "evidence": {"same_day": true, "patch_ids": ["21310b294a7316a5fd66b65793d15417"], "statement_hash": "7523096b60db7f188f4fe11a31df4d485c642aa54d1d65dd360017c61bb0f8d9"}, "url": "/docs/compare/?release=13.9#13.9-03ff5e4f75a22e66", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "8d5d2f8eac1aafa168dfbdefd953f5b0", "kind": "equivalent", "version": "12.13", "label": "12.13", "title": "将符号 REF 重命名为 REF_P 以避免在最近的 macOS 上编译失败", "evidence": {"same_day": true, "patch_ids": ["21310b294a7316a5fd66b65793d15417"], "statement_hash": "7523096b60db7f188f4fe11a31df4d485c642aa54d1d65dd360017c61bb0f8d9"}, "url": "/docs/compare/?release=12.13#12.13-6d879c948a33b29e", "source_url": "/docs/release/12.13/#id-1.11.6.15.5"}, {"db_id": "d95b96ea8527eea9cce236c168135afc", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "将符号 REF 重命名为 REF_P 以避免在最近的 macOS 上编译失败", "evidence": {"same_day": true, "patch_ids": ["21310b294a7316a5fd66b65793d15417"], "statement_hash": "7523096b60db7f188f4fe11a31df4d485c642aa54d1d65dd360017c61bb0f8d9"}, "url": "/docs/compare/?release=11.18#11.18-98c160f5ef5ca9b7", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}, {"db_id": "67fc63e69a61e4bc1a4a7fa0dd9c8dd1", "kind": "equivalent", "version": "10.23", "label": "10.23", "title": "将符号 REF 重命名为 REF_P 以避免在最近的 macOS 上编译失败", "evidence": {"same_day": true, "patch_ids": ["21310b294a7316a5fd66b65793d15417"], "statement_hash": "7523096b60db7f188f4fe11a31df4d485c642aa54d1d65dd360017c61bb0f8d9"}, "url": "/docs/compare/?release=10.23#10.23-98c160f5ef5ca9b7", "source_url": "/docs/release/10.23/#id-1.11.6.5.6"}]}, {"id": "15.1-77b34eed738bb60d", "cves": [], "html": "<p>避免使用 <code>sprintf</code>，以避免编译时的弃用警告（Tom Lane）<a href=\"https://postgr.es/c/bd4b2926e\">§</a></p>", "text": "避免使用 sprintf，以避免编译时的弃用警告（Tom Lane）§", "title": "避免使用 sprintf，以避免编译时的弃用警告", "commits": ["bd4b2926e"], "section": "变更", "category": "improvement", "source_url": "/docs/release/15.1/#ZH-AUTO-RELEASE-15-SECT2-34", "source_hash": "6a1ea5104247fa7f6c954c4be0b88956cf3d4f7f8f8bfa66bbc42c20c2c8e099", "section_path": ["变更"], "commit_groups": [["450ee7012", "6fa431d84", "a2acafc7b", "bd4b2926e", "d33ac1ec2"]], "identity_text": "Avoid using sprintf, to avoid compile-time deprecation warnings (Tom Lane)", "commit_aliases": ["450ee7012", "6fa431d84", "a2acafc7b", "bd4b2926e", "d33ac1ec2"], "source_commits": ["bd4b2926e"], "source_entry_id": "15.1/changes/025", "db_id": "7341745706dee278830faf1c4dfae6fc", "patch_ids": ["c86ffaa38e958dedd504051854ef6ece"], "statement_hash": "50248d47a1fc11d735d5aa48687523040c62bbe43d5511573cf86c5f431ad4af", "relations": [{"rule": 2, "type": "equivalent", "target": "27c3c68e7d970f620deb47b65f71cdc2", "evidence": {"same_day": true, "patch_ids": ["c86ffaa38e958dedd504051854ef6ece"], "statement_hash": "50248d47a1fc11d735d5aa48687523040c62bbe43d5511573cf86c5f431ad4af"}}, {"rule": 2, "type": "equivalent", "target": "52a2265e247ff8b56522b6aacb5dae50", "evidence": {"same_day": true, "patch_ids": ["c86ffaa38e958dedd504051854ef6ece"], "statement_hash": "50248d47a1fc11d735d5aa48687523040c62bbe43d5511573cf86c5f431ad4af"}}, {"rule": 2, "type": "equivalent", "target": "d4c543d2e822f98d5d1a274f4c2658fd", "evidence": {"same_day": true, "patch_ids": ["c86ffaa38e958dedd504051854ef6ece"], "statement_hash": "50248d47a1fc11d735d5aa48687523040c62bbe43d5511573cf86c5f431ad4af"}}], "version": "15.1", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "52a2265e247ff8b56522b6aacb5dae50", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "避免使用 sprintf，以避免编译时的弃用警告", "evidence": {"same_day": true, "patch_ids": ["c86ffaa38e958dedd504051854ef6ece"], "statement_hash": "50248d47a1fc11d735d5aa48687523040c62bbe43d5511573cf86c5f431ad4af"}, "url": "/docs/compare/?release=14.6#14.6-981994d162366f16", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "d4c543d2e822f98d5d1a274f4c2658fd", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "避免使用 sprintf，以避免编译时的弃用警告", "evidence": {"same_day": true, "patch_ids": ["c86ffaa38e958dedd504051854ef6ece"], "statement_hash": "50248d47a1fc11d735d5aa48687523040c62bbe43d5511573cf86c5f431ad4af"}, "url": "/docs/compare/?release=13.9#13.9-c66211e0f5b0e57c", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "27c3c68e7d970f620deb47b65f71cdc2", "kind": "equivalent", "version": "12.13", "label": "12.13", "title": "避免使用 sprintf，以避免编译时的弃用警告", "evidence": {"same_day": true, "patch_ids": ["c86ffaa38e958dedd504051854ef6ece"], "statement_hash": "50248d47a1fc11d735d5aa48687523040c62bbe43d5511573cf86c5f431ad4af"}, "url": "/docs/compare/?release=12.13#12.13-206ae43e3cbe0614", "source_url": "/docs/release/12.13/#id-1.11.6.15.5"}]}, {"id": "15.1-c1dde3372032adeb", "cves": [], "html": "<p>将时区数据文件更新为 <span>tzdata</span> 2022f 版本，包含智利、斐济、伊朗、约旦、墨西哥、巴勒斯坦和叙利亚的夏令时法规变更，以及智利、克里米亚、伊朗和墨西哥的历史修正。（Tom Lane）<a href=\"https://postgr.es/c/c3d16eb3d\">§</a></p>\n<p>此外，Europe/Kiev 时区已重命名为 Europe/Kyiv。另外，以下时区已合并到附近的、人口更多的、自 1970 年以来时钟一致的时区中：Antarctica/Vostok、Asia/Brunei、Asia/Kuala_Lumpur、Atlantic/Reykjavik、Europe/Amsterdam、Europe/Copenhagen、Europe/Luxembourg、Europe/Monaco、Europe/Oslo、Europe/Stockholm、Indian/Christmas、Indian/Cocos、Indian/Kerguelen、Indian/Mahe、Indian/Reunion、Pacific/Chuuk、Pacific/Funafuti、Pacific/Majuro、Pacific/Pohnpei、Pacific/Wake 和 Pacific/Wallis。（这间接影响了已经是这些时区别名的时区：Arctic/Longyearbyen、Atlantic/Jan_Mayen、Iceland、Pacific/Ponape、Pacific/Truk 和 Pacific/Yap。）America/Nipigon、America/Rainy_River、America/Thunder_Bay、Europe/Uzhgorod 和 Europe/Zaporozhye 也被合并到附近的时区中，因为发现它们声称的 1970 年后与这些时区的差异似乎是错误的。在所有这些情况下，之前的时区名称仍作为别名保留；但实际数据是所合并到的时区的数据。</p>\n<p>这些时区合并导致被合并时区的 1970 年前时区历史丢失，这对于期望 <code>timestamptz</code> 显示一致性的应用程序可能造成困扰。例如，存储的值 <code>1944-06-01 12:00 UTC</code> 在选择 Europe/Stockholm 时区时，之前会显示为 <code>1944-06-01 13:00:00+01</code>，但现在会显示为 <code>1944-06-01 14:00:00+02</code>。</p>\n<p>可以使用选项构建时区数据文件来恢复旧的时区数据，但该选择也会插入大量其他旧的（且通常缺乏充分证据的）时区数据，导致相比接受这些上游更改，总变化更多。<span>PostgreSQL</span> 选择按照推荐方式发布 <span>tzdb</span> 数据，据我们所知，大多数主要操作系统发行版也在这样做。但是，如果这些更改给你的应用程序造成了严重问题，一个可能的解决方案是使用 <span>tzdb</span> 的向后兼容选项安装本地构建的时区数据文件（参见其 <code>PACKRATDATA</code> 和 <code>PACKRATLIST</code> 选项）。</p>", "text": "将时区数据文件更新为 tzdata 2022f 版本，包含智利、斐济、伊朗、约旦、墨西哥、巴勒斯坦和叙利亚的夏令时法规变更，以及智利、克里米亚、伊朗和墨西哥的历史修正。（Tom Lane）§ 此外，Europe/Kiev 时区已重命名为 Europe/Kyiv。另外，以下时区已合并到附近的、人口更多的、自 1970 年以来时钟一致的时区中：Antarctica/Vostok、Asia/Brunei、Asia/Kuala_Lumpur、Atlantic/Reykjavik、Europe/Amsterdam、Europe/Copenhagen、Europe/Luxembourg、Europe/Monaco、Europe/Oslo、Europe/Stockholm、Indian/Christmas、Indian/Cocos、Indian/Kerguelen、Indian/Mahe、Indian/Reunion、Pacific/Chuuk、Pacific/Funafuti、Pacific/Majuro、Pacific/Pohnpei、Pacific/Wake 和 Pacific/Wallis。（这间接影响了已经是这些时区别名的时区：Arctic/Longyearbyen、Atlantic/Jan_Mayen、Iceland、Pacific/Ponape、Pacific/Truk 和 Pacific/Yap。）America/Nipigon、America/Rainy_River、America/Thunder_Bay、Europe/Uzhgorod 和 Europe/Zaporozhye 也被合并到附近的时区中，因为发现它们声称的 1970 年后与这些时区的差异似乎是错误的。在所有这些情况下，之前的时区名称仍作为别名保留；但实际数据是所合并到的时区的数据。 这些时区合并导致被合并时区的 1970 年前时区历史丢失，这对于期望 timestamptz 显示一致性的应用程序可能造成困扰。例如，存储的值 1944-06-01 12:00 UTC 在选择 Europe/Stockholm 时区时，之前会显示为 1944-06-01 13:00:00+01，但现在会显示为 1944-06-01 14:00:00+02。 可以使用选项构建时区数据文件来恢复旧的时区数据，但该选择也会插入大量其他旧的（且通常缺乏充分证据的）时区数据，导致相比接受这些上游更改，总变化更多。PostgreSQL 选择按照推荐方式发布 tzdb 数据，据我们所知，大多数主要操作系统发行版也在这样做。但是，如果这些更改给你的应用程序造成了严重问题，一个可能的解决方案是使用 tzdb 的向后兼容选项安装本地构建的时区数据文件（参见其 PACKRATDATA 和 PACKRATLIST 选项）。", "title": "将时区数据文件更新为 tzdata 2022f 版本，包含智利、斐济、伊朗、约旦、墨西哥、巴勒斯坦和叙利亚的夏令时法规变更，以及智利、克里米亚、伊朗和墨西哥的历史修正。", "commits": ["c3d16eb3d"], "section": "变更", "category": "improvement", "source_url": "/docs/release/15.1/#ZH-AUTO-RELEASE-15-SECT2-34", "source_hash": "0e1e880e6f328ef9a4645bb62cb78f8708f86ae7781e59915d94d09abe78990b", "section_path": ["变更"], "commit_groups": [["97bb80b1b", "b1cb77bdf", "b3326a753", "c3d16eb3d", "e7c7605a7", "ebf48810b", "ec9a000d8"]], "identity_text": "Update time zone data files to tzdata release 2022f for DST law changes in Chile, Fiji, Iran, Jordan, Mexico, Palestine, and Syria, plus historical corrections for Chile, Crimea, Iran, and Mexico. (Tom Lane) Also, the Europe/Kiev zone has been renamed to Europe/Kyiv. Also, the following zones have been merged into nearby, more-populous zones whose clocks have agreed with them since 1970: Antarctica/Vostok, Asia/Brunei, Asia/Kuala_Lumpur, Atlantic/Reykjavik, Europe/Amsterdam, Europe/Copenhagen, Europe/Luxembourg, Europe/Monaco, Europe/Oslo, Europe/Stockholm, Indian/Christmas, Indian/Cocos, Indian/Kerguelen, Indian/Mahe, Indian/Reunion, Pacific/Chuuk, Pacific/Funafuti, Pacific/Majuro, Pacific/Pohnpei, Pacific/Wake and Pacific/Wallis. (This indirectly affects zones that were already links to one of these: Arctic/Longyearbyen, Atlantic/Jan_Mayen, Iceland, Pacific/Ponape, Pacific/Truk, and Pacific/Yap.) America/Nipigon, America/Rainy_River, America/Thunder_Bay, Europe/Uzhgorod, and Europe/Zaporozhye were also merged into nearby zones after discovering that their claimed post-1970 differences from those zones seem to have been errors. In all these cases, the previous zone name remains as an alias; but the actual data is that of the zone that was merged into. These zone mergers result in loss of pre-1970 timezone history for the merged zones, which may be troublesome for applications expecting consistency of timestamptz display. As an example, the stored value 1944-06-01 12:00 UTC would previously display as 1944-06-01 13:00:00+01 if the Europe/Stockholm zone is selected, but now it will read out as 1944-06-01 14:00:00+02. It is possible to build the time zone data files with options that will restore the older zone data, but that choice also inserts a lot of other old (and typically poorly-attested) zone data, resulting in more total changes from the previous release than accepting these upstream changes does. PostgreSQL has chosen to ship the tzdb data as-recommended, and so far as we are aware most major operating system distributions are doing likewise. However, if these changes cause significant problems for your application, a possible solution is to install a local build of the time zone data files using tzdb's backwards-compatibility options (see their PACKRATDATA and PACKRATLIST options).", "commit_aliases": ["97bb80b1b", "b1cb77bdf", "b3326a753", "c3d16eb3d", "e7c7605a7", "ebf48810b", "ec9a000d8"], "source_commits": ["c3d16eb3d"], "source_entry_id": "15.1/changes/026", "db_id": "93801251acd5adc5bfb88612d85cd8ba", "patch_ids": ["601b075d0f82f4e4b897afd21d9ebb1a"], "statement_hash": "b13433443b8b0d38d045f78d09420f3b65ba9de0c3d1bc3d4504ee1593ac743a", "relations": [{"rule": 2, "type": "equivalent", "target": "167682f1e2c3002ccf77abc76fa35274", "evidence": {"same_day": true, "patch_ids": ["601b075d0f82f4e4b897afd21d9ebb1a"], "statement_hash": "b13433443b8b0d38d045f78d09420f3b65ba9de0c3d1bc3d4504ee1593ac743a"}}, {"rule": 2, "type": "equivalent", "target": "398737ed13303adc228543ddfa6785a6", "evidence": {"same_day": true, "patch_ids": ["601b075d0f82f4e4b897afd21d9ebb1a"], "statement_hash": "b13433443b8b0d38d045f78d09420f3b65ba9de0c3d1bc3d4504ee1593ac743a"}}, {"rule": 2, "type": "equivalent", "target": "a9cf2408bf63db6ad19bec8fdd8a5d82", "evidence": {"same_day": true, "patch_ids": ["601b075d0f82f4e4b897afd21d9ebb1a"]}}, {"rule": 2, "type": "equivalent", "target": "d958e11d9207994f5bd3d8b82cf66177", "evidence": {"same_day": true, "patch_ids": ["601b075d0f82f4e4b897afd21d9ebb1a"]}}, {"rule": 2, "type": "equivalent", "target": "f2dcd5418d27698c2ae57147c96c72ce", "evidence": {"same_day": true, "patch_ids": ["601b075d0f82f4e4b897afd21d9ebb1a"], "statement_hash": "b13433443b8b0d38d045f78d09420f3b65ba9de0c3d1bc3d4504ee1593ac743a"}}], "version": "15.1", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "f2dcd5418d27698c2ae57147c96c72ce", "kind": "equivalent", "version": "14.6", "label": "14.6", "title": "将时区数据文件更新为 tzdata 2022f 版本，包含智利、斐济、伊朗、约旦、墨西哥、巴勒斯坦和叙利亚的夏令时法规变更，以及智利、克里米亚、伊朗和墨西哥的历史修正。", "evidence": {"same_day": true, "patch_ids": ["601b075d0f82f4e4b897afd21d9ebb1a"], "statement_hash": "b13433443b8b0d38d045f78d09420f3b65ba9de0c3d1bc3d4504ee1593ac743a"}, "url": "/docs/compare/?release=14.6#14.6-c9377e72084a56fc", "source_url": "/docs/release/14.6/#ZH-AUTO-RELEASE-14-SECT2-34"}, {"db_id": "167682f1e2c3002ccf77abc76fa35274", "kind": "equivalent", "version": "13.9", "label": "13.9", "title": "将时区数据文件更新为 tzdata 2022f 版本，包含智利、斐济、伊朗、约旦、墨西哥、巴勒斯坦和叙利亚的夏令时法规变更，以及智利、克里米亚、伊朗和墨西哥的历史修正。", "evidence": {"same_day": true, "patch_ids": ["601b075d0f82f4e4b897afd21d9ebb1a"], "statement_hash": "b13433443b8b0d38d045f78d09420f3b65ba9de0c3d1bc3d4504ee1593ac743a"}, "url": "/docs/compare/?release=13.9#13.9-6c593cfc47cc78d3", "source_url": "/docs/release/13.9/#id-1.11.6.20.5"}, {"db_id": "398737ed13303adc228543ddfa6785a6", "kind": "equivalent", "version": "12.13", "label": "12.13", "title": "将时区数据文件更新为 tzdata 2022f 版本，包含智利、斐济、伊朗、约旦、墨西哥、巴勒斯坦和叙利亚的夏令时法规变更，以及智利、克里米亚、伊朗和墨西哥的历史修正。", "evidence": {"same_day": true, "patch_ids": ["601b075d0f82f4e4b897afd21d9ebb1a"], "statement_hash": "b13433443b8b0d38d045f78d09420f3b65ba9de0c3d1bc3d4504ee1593ac743a"}, "url": "/docs/compare/?release=12.13#12.13-fe45c73f9a6700aa", "source_url": "/docs/release/12.13/#id-1.11.6.15.5"}, {"db_id": "a9cf2408bf63db6ad19bec8fdd8a5d82", "kind": "equivalent", "version": "11.18", "label": "11.18", "title": "将时区数据文件更新到 tzdata 2022f 版，以反映智利、斐济、伊朗、约旦、墨西哥、巴勒斯坦和叙利亚的夏令时法规变更，并修正智利、克里米亚、伊朗和墨西哥的历史数据。", "evidence": {"same_day": true, "patch_ids": ["601b075d0f82f4e4b897afd21d9ebb1a"]}, "url": "/docs/compare/?release=11.18#11.18-88c7b21b2ad9d698", "source_url": "/docs/release/11.18/#id-1.11.6.9.5"}, {"db_id": "d958e11d9207994f5bd3d8b82cf66177", "kind": "equivalent", "version": "10.23", "label": "10.23", "title": "将时区数据文件更新到 tzdata 2022f 版，以反映智利、斐济、伊朗、约旦、墨西哥、巴勒斯坦和叙利亚的夏令时法规变更，并修正智利、克里米亚、伊朗和墨西哥的历史数据。", "evidence": {"same_day": true, "patch_ids": ["601b075d0f82f4e4b897afd21d9ebb1a"]}, "url": "/docs/compare/?release=10.23#10.23-88c7b21b2ad9d698", "source_url": "/docs/release/10.23/#id-1.11.6.5.6"}]}]}], "stats": [{"key": "all", "label": "全部变更", "count": 26}, {"key": "feature", "label": "新功能", "count": 0}, {"key": "bugfix", "label": "BUG 修复", "count": 13}, {"key": "security", "label": "安全相关", "count": 0}, {"key": "performance", "label": "性能改进", "count": 0}, {"key": "compatibility", "label": "兼容性变化", "count": 0}, {"key": "improvement", "label": "其他改进", "count": 13}], "total": 26, "release_count": 1, "cross_major": false, "cve_count": 0, "cves": [], "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"}