{"format": 1, "mode": "release", "from_release": null, "to_release": {"date": "2021-08-12", "build": "9.6.23", "major": "9.6", "minor": 23, "manual": "9.6", "status": "stable", "doc_git": "", "version": "9.6.23", "eol_date": "2021-11-11", "date_text": "2021-08-12", "supported": false, "manual_url": "/docs/9.6/release-9-6-23.html", "source_url": "/docs/release/9.6.23/", "entry_count": 47, "placeholder": false, "content_hash": "432a2006f04df3e9cec1310f8c5e973385ff6c0b2953d241e255b1b8605de3e1", "manual_build": "9.6.24", "source_as_of": "", "changes_count": 47, "doc_loaded_at": "2026-09-26T02:56:43.973460", "migration_html": "<p>对于运行 9.6.X 的用户，不需要转储/恢复。</p>\n<p>不过，如果你是从 9.6.21 之前的版本升级，参见<a href=\"/docs/9.6/release-9-6-21.html\" title=\"E.4. 版本 9.6.21\">第 E.4 节</a>。</p>", "compatibility_count": 0, "label": "9.6.23", "status_label": "历史版本", "eol": "2021-11-11", "age_days": 1875, "support_days": -1784}, "groups": [{"date": "2021-08-12", "build": "9.6.23", "major": "9.6", "minor": 23, "manual": "9.6", "status": "stable", "doc_git": "", "version": "9.6.23", "eol_date": "2021-11-11", "date_text": "2021-08-12", "supported": false, "manual_url": "/docs/9.6/release-9-6-23.html", "source_url": "/docs/release/9.6.23/", "entry_count": 47, "placeholder": false, "content_hash": "432a2006f04df3e9cec1310f8c5e973385ff6c0b2953d241e255b1b8605de3e1", "manual_build": "9.6.24", "source_as_of": "", "changes_count": 47, "doc_loaded_at": "2026-09-26T02:56:43.973460", "migration_html": "<p>对于运行 9.6.X 的用户，不需要转储/恢复。</p>\n<p>不过，如果你是从 9.6.21 之前的版本升级，参见<a href=\"/docs/9.6/release-9-6-21.html\" title=\"E.4. 版本 9.6.21\">第 E.4 节</a>。</p>", "compatibility_count": 0, "label": "9.6.23", "status_label": "历史版本", "eol": "2021-11-11", "age_days": 1875, "support_days": -1784, "entries": [{"id": "9.6.23-aa240a8289197363", "cves": ["CVE-2021-3449"], "html": "<p>更彻底地禁止 SSL 重协商（Michael Paquier）</p>\n<p>SSL 重协商已被禁用一段时间了，但服务器仍会配合客户端发起的重协商请求。一个恶意构造的重协商请求可能导致服务器崩溃（见 OpenSSL 问题 CVE-2021-3449）。在允许这么做的 OpenSSL 版本（1.1.0h 及更新）上彻底禁用该特性。</p>", "text": "更彻底地禁止 SSL 重协商（Michael Paquier） SSL 重协商已被禁用一段时间了，但服务器仍会配合客户端发起的重协商请求。一个恶意构造的重协商请求可能导致服务器崩溃（见 OpenSSL 问题 CVE-2021-3449）。在允许这么做的 OpenSSL 版本（1.1.0h 及更新）上彻底禁用该特性。", "title": "更彻底地禁止 SSL 重协商", "commits": [], "section": "变更", "category": "security", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "82cbeca191e98268b0027bdfb90c5e4aae65964b2311e77d1feda09ee8b4062e", "section_path": ["变更"], "commit_groups": [["01e6f1a84", "3f8072be8", "7777df34d", "96918b76f", "a23c0b00f", "c64b5d10d"]], "identity_text": "Disallow SSL renegotiation more completely (Michael Paquier) SSL renegotiation has been disabled for some time, but the server would still cooperate with a client-initiated renegotiation request. A maliciously crafted renegotiation request could result in a server crash (see OpenSSL issue CVE-2021-3449). Disable the feature altogether on OpenSSL versions that permit doing so, which are 1.1.0h and newer.", "commit_aliases": ["01e6f1a84", "3f8072be8", "7777df34d", "96918b76f", "a23c0b00f", "c64b5d10d"], "source_commits": ["7777df34d"], "source_entry_id": "9.6.23/changes/001", "db_id": "3d9d70a83323ba8f7bcf8c582f40cb46", "patch_ids": ["6bc45f96ca5b384e0377b3d701876272"], "statement_hash": "340d173f1f532f2c9063cf2a30303197c3d9bc46bfac6ce0414ee840829ea9c0", "relations": [{"rule": 2, "type": "equivalent", "target": "4f2b18ee3f4784fef09ad3379cf02069", "evidence": {"same_day": true, "patch_ids": ["6bc45f96ca5b384e0377b3d701876272"], "statement_hash": "340d173f1f532f2c9063cf2a30303197c3d9bc46bfac6ce0414ee840829ea9c0"}}, {"rule": 2, "type": "equivalent", "target": "9fb3a6ab9cc88bd231af587ca0282062", "evidence": {"same_day": true, "patch_ids": ["6bc45f96ca5b384e0377b3d701876272"], "statement_hash": "340d173f1f532f2c9063cf2a30303197c3d9bc46bfac6ce0414ee840829ea9c0"}}, {"rule": 2, "type": "equivalent", "target": "b709758bedd697c77455c5261f332edb", "evidence": {"same_day": true, "patch_ids": ["6bc45f96ca5b384e0377b3d701876272"], "statement_hash": "340d173f1f532f2c9063cf2a30303197c3d9bc46bfac6ce0414ee840829ea9c0"}}, {"rule": 2, "type": "equivalent", "target": "b7147cf9842278bd6788921da285b6d2", "evidence": {"same_day": true, "patch_ids": ["6bc45f96ca5b384e0377b3d701876272"], "statement_hash": "340d173f1f532f2c9063cf2a30303197c3d9bc46bfac6ce0414ee840829ea9c0"}}], "version": "9.6.23", "category_label": "安全相关", "also_in": [], "variants": [], "related_changes": [{"db_id": "4f2b18ee3f4784fef09ad3379cf02069", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "更彻底地禁止 SSL 重新协商", "evidence": {"same_day": true, "patch_ids": ["6bc45f96ca5b384e0377b3d701876272"], "statement_hash": "340d173f1f532f2c9063cf2a30303197c3d9bc46bfac6ce0414ee840829ea9c0"}, "url": "/docs/compare/?release=13.4#13.4-a0b88642ddb5cf86", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "b709758bedd697c77455c5261f332edb", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "更彻底地禁止 SSL 重新协商", "evidence": {"same_day": true, "patch_ids": ["6bc45f96ca5b384e0377b3d701876272"], "statement_hash": "340d173f1f532f2c9063cf2a30303197c3d9bc46bfac6ce0414ee840829ea9c0"}, "url": "/docs/compare/?release=12.8#12.8-e43fe95675839650", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "9fb3a6ab9cc88bd231af587ca0282062", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "更彻底地禁止 SSL 重新协商", "evidence": {"same_day": true, "patch_ids": ["6bc45f96ca5b384e0377b3d701876272"], "statement_hash": "340d173f1f532f2c9063cf2a30303197c3d9bc46bfac6ce0414ee840829ea9c0"}, "url": "/docs/compare/?release=11.13#11.13-2a0347840526e5c1", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "b7147cf9842278bd6788921da285b6d2", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "更彻底地禁止 SSL 重新协商", "evidence": {"same_day": true, "patch_ids": ["6bc45f96ca5b384e0377b3d701876272"], "statement_hash": "340d173f1f532f2c9063cf2a30303197c3d9bc46bfac6ce0414ee840829ea9c0"}, "url": "/docs/compare/?release=10.18#10.18-2a0347840526e5c1", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-7e727ce37a13482b", "cves": [], "html": "<p>拒绝 <code>SELECT ... GROUP BY GROUPING SETS (()) FOR UPDATE</code>（Tom Lane）</p>\n<p>这与带普通 <code>GROUP BY</code> 的 <code>FOR UPDATE</code> 被禁止一样，本应被禁止，但相应的测试未能正确处理空分组集。最终结果是执行器中的空指针解引用。</p>", "text": "拒绝 SELECT ... GROUP BY GROUPING SETS (()) FOR UPDATE（Tom Lane） 这与带普通 GROUP BY 的 FOR UPDATE 被禁止一样，本应被禁止，但相应的测试未能正确处理空分组集。最终结果是执行器中的空指针解引用。", "title": "拒绝 SELECT ... GROUP BY GROUPING SETS (()) FOR UPDATE", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "ab0b7a940308e554c8058469bafdbdb1a3ac14bdb9187ef3d3fd6fea5000060d", "section_path": ["变更"], "commit_groups": [["1103033ae", "39862dde4", "3eca18522", "762fe98b1", "dc272157a", "e5b0fffa1"]], "identity_text": "Reject SELECT ... GROUP BY GROUPING SETS (()) FOR UPDATE (Tom Lane) This should be disallowed, just as FOR UPDATE with a plain GROUP BY is disallowed, but the test for that failed to handle empty grouping sets correctly. The end result would be a null-pointer dereference in the executor.", "commit_aliases": ["1103033ae", "39862dde4", "3eca18522", "762fe98b1", "dc272157a", "e5b0fffa1"], "source_commits": ["3eca18522"], "source_entry_id": "9.6.23/changes/002", "db_id": "b17e23f01b70a04fef0bb0a7866a64f1", "patch_ids": ["0d59e8424e7c69c7d9ad7565595a80ab"], "statement_hash": "669294da37df6ede9b214112c8f79f0c940e974b33e7735926385577d5e2ef6f", "relations": [{"rule": 2, "type": "equivalent", "target": "06bcd88dba5300957347d984203f2a51", "evidence": {"same_day": true, "patch_ids": ["0d59e8424e7c69c7d9ad7565595a80ab"], "statement_hash": "669294da37df6ede9b214112c8f79f0c940e974b33e7735926385577d5e2ef6f"}}, {"rule": 2, "type": "equivalent", "target": "6e154943fd9f215ec8e94ec7e5505dd6", "evidence": {"same_day": true, "patch_ids": ["0d59e8424e7c69c7d9ad7565595a80ab"], "statement_hash": "669294da37df6ede9b214112c8f79f0c940e974b33e7735926385577d5e2ef6f"}}, {"rule": 2, "type": "equivalent", "target": "6ed2d0a27ca078b142e872cb8a1a353b", "evidence": {"same_day": true, "patch_ids": ["0d59e8424e7c69c7d9ad7565595a80ab"], "statement_hash": "669294da37df6ede9b214112c8f79f0c940e974b33e7735926385577d5e2ef6f"}}, {"rule": 2, "type": "equivalent", "target": "8ccb1015a96d5bdf6b94c0241044058f", "evidence": {"same_day": true, "patch_ids": ["0d59e8424e7c69c7d9ad7565595a80ab"], "statement_hash": "669294da37df6ede9b214112c8f79f0c940e974b33e7735926385577d5e2ef6f"}}], "version": "9.6.23", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "06bcd88dba5300957347d984203f2a51", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "拒绝 SELECT ... GROUP BY GROUPING SETS (()) FOR UPDATE", "evidence": {"same_day": true, "patch_ids": ["0d59e8424e7c69c7d9ad7565595a80ab"], "statement_hash": "669294da37df6ede9b214112c8f79f0c940e974b33e7735926385577d5e2ef6f"}, "url": "/docs/compare/?release=13.4#13.4-9d91217a1bbb7285", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "6ed2d0a27ca078b142e872cb8a1a353b", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "拒绝 SELECT ... GROUP BY GROUPING SETS (()) FOR UPDATE", "evidence": {"same_day": true, "patch_ids": ["0d59e8424e7c69c7d9ad7565595a80ab"], "statement_hash": "669294da37df6ede9b214112c8f79f0c940e974b33e7735926385577d5e2ef6f"}, "url": "/docs/compare/?release=12.8#12.8-8f803134c4475494", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "8ccb1015a96d5bdf6b94c0241044058f", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "拒绝 SELECT ... GROUP BY GROUPING SETS (()) FOR UPDATE", "evidence": {"same_day": true, "patch_ids": ["0d59e8424e7c69c7d9ad7565595a80ab"], "statement_hash": "669294da37df6ede9b214112c8f79f0c940e974b33e7735926385577d5e2ef6f"}, "url": "/docs/compare/?release=11.13#11.13-7e727ce37a13482b", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "6e154943fd9f215ec8e94ec7e5505dd6", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "拒绝 SELECT ... GROUP BY GROUPING SETS (()) FOR UPDATE", "evidence": {"same_day": true, "patch_ids": ["0d59e8424e7c69c7d9ad7565595a80ab"], "statement_hash": "669294da37df6ede9b214112c8f79f0c940e974b33e7735926385577d5e2ef6f"}, "url": "/docs/compare/?release=10.18#10.18-7e727ce37a13482b", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-a2e5962a9d35f793", "cves": [], "html": "<p>拒绝 <code>WITH</code> 中的查询被改写为仅 <code>NOTIFY</code> 的情况（Tom Lane）</p>\n<p>这类情况过去会崩溃。</p>", "text": "拒绝 WITH 中的查询被改写为仅 NOTIFY 的情况（Tom Lane） 这类情况过去会崩溃。", "title": "拒绝 WITH 中的查询被改写为仅 NOTIFY 的情况", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "6a4912739e8fe6ca69e33eb627e1d7007c798268b7c172a2ffc55ce80936bf60", "section_path": ["变更"], "commit_groups": [["158594f99", "39b6e85f1", "51df19a05", "6edccac16", "9c729bd30", "a9da1934e", "f0271cb15"]], "identity_text": "Reject cases where a query in WITH rewrites to just NOTIFY (Tom Lane) Such cases previously crashed.", "commit_aliases": ["158594f99", "39b6e85f1", "51df19a05", "6edccac16", "9c729bd30", "a9da1934e", "f0271cb15"], "source_commits": ["f0271cb15"], "source_entry_id": "9.6.23/changes/003", "db_id": "b7314e86b170cf675b584fb3976072dd", "patch_ids": ["cde9b5874f6ec7a4144d7f1cfeb8ed65"], "statement_hash": "c6f5356e2f3e2e33cdbb86fc3b7dfb11224261e27f988fee979bc720c223684a", "relations": [{"rule": 2, "type": "equivalent", "target": "126777f5a1192a74c0c9c7acc30412ec", "evidence": {"same_day": true, "patch_ids": ["cde9b5874f6ec7a4144d7f1cfeb8ed65"], "statement_hash": "c6f5356e2f3e2e33cdbb86fc3b7dfb11224261e27f988fee979bc720c223684a"}}, {"rule": 2, "type": "equivalent", "target": "9eba5f76b8ccad069973234786b3be7c", "evidence": {"same_day": true, "patch_ids": ["cde9b5874f6ec7a4144d7f1cfeb8ed65"], "statement_hash": "c6f5356e2f3e2e33cdbb86fc3b7dfb11224261e27f988fee979bc720c223684a"}}, {"rule": 2, "type": "equivalent", "target": "dd86d9b87578012ca4c2b9920e692616", "evidence": {"same_day": true, "patch_ids": ["cde9b5874f6ec7a4144d7f1cfeb8ed65"], "statement_hash": "c6f5356e2f3e2e33cdbb86fc3b7dfb11224261e27f988fee979bc720c223684a"}}, {"rule": 2, "type": "equivalent", "target": "ff382b6bc7164a98e2922d8e8b386f26", "evidence": {"same_day": true, "patch_ids": ["cde9b5874f6ec7a4144d7f1cfeb8ed65"], "statement_hash": "c6f5356e2f3e2e33cdbb86fc3b7dfb11224261e27f988fee979bc720c223684a"}}], "version": "9.6.23", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "126777f5a1192a74c0c9c7acc30412ec", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "拒绝 WITH 中的查询被重写为仅包含 NOTIFY 的情况", "evidence": {"same_day": true, "patch_ids": ["cde9b5874f6ec7a4144d7f1cfeb8ed65"], "statement_hash": "c6f5356e2f3e2e33cdbb86fc3b7dfb11224261e27f988fee979bc720c223684a"}, "url": "/docs/compare/?release=13.4#13.4-a872bcf6d4b1a33b", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "ff382b6bc7164a98e2922d8e8b386f26", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "拒绝 WITH 中的查询被重写为仅包含 NOTIFY 的情况", "evidence": {"same_day": true, "patch_ids": ["cde9b5874f6ec7a4144d7f1cfeb8ed65"], "statement_hash": "c6f5356e2f3e2e33cdbb86fc3b7dfb11224261e27f988fee979bc720c223684a"}, "url": "/docs/compare/?release=12.8#12.8-4bcf72c9b0591b46", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "9eba5f76b8ccad069973234786b3be7c", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "拒绝 WITH 中的查询被重写为仅包含 NOTIFY 的情况", "evidence": {"same_day": true, "patch_ids": ["cde9b5874f6ec7a4144d7f1cfeb8ed65"], "statement_hash": "c6f5356e2f3e2e33cdbb86fc3b7dfb11224261e27f988fee979bc720c223684a"}, "url": "/docs/compare/?release=11.13#11.13-ee5426037f4d2dd3", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "dd86d9b87578012ca4c2b9920e692616", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "拒绝 WITH 中的查询被重写为仅包含 NOTIFY 的情况", "evidence": {"same_day": true, "patch_ids": ["cde9b5874f6ec7a4144d7f1cfeb8ed65"], "statement_hash": "c6f5356e2f3e2e33cdbb86fc3b7dfb11224261e27f988fee979bc720c223684a"}, "url": "/docs/compare/?release=10.18#10.18-ee5426037f4d2dd3", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-566a04311087c323", "cves": [], "html": "<p>在 <code>numeric</code> 乘法中，如果结果小数点后位数会超过 16383，对其舍入而非报错（Dean Rasheed）</p>", "text": "在 numeric 乘法中，如果结果小数点后位数会超过 16383，对其舍入而非报错（Dean Rasheed）", "title": "在 numeric 乘法中，如果结果小数点后位数会超过 16383，对其舍入而非报错", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "0f0321df3904beeabde379d97bd078213fb682fdc99e151baf42bd5b9e794e92", "section_path": ["变更"], "commit_groups": [["06883d58f", "357b66ef9", "54a0ec1bd", "5763ef42c", "e7fc488ad", "f23a9b8a4", "f8abf6944"]], "identity_text": "In numeric multiplication, round the result rather than failing if it would have more than 16383 digits after the decimal point (Dean Rasheed)", "commit_aliases": ["06883d58f", "357b66ef9", "54a0ec1bd", "5763ef42c", "e7fc488ad", "f23a9b8a4", "f8abf6944"], "source_commits": ["f8abf6944"], "source_entry_id": "9.6.23/changes/004", "db_id": "b7ba0afc6cfb6cf01e56e3fffd3b766c", "patch_ids": ["5bc1a087d22626eb43e5235577ff173e"], "statement_hash": "21b2ab8c680a52b44c5c090b15d081cd066754dd2006997717dc0f190e2c0c0a", "relations": [{"rule": 2, "type": "equivalent", "target": "008fb02e5e9fe3fa614893647dabb857", "evidence": {"same_day": true, "patch_ids": ["5bc1a087d22626eb43e5235577ff173e"], "statement_hash": "21b2ab8c680a52b44c5c090b15d081cd066754dd2006997717dc0f190e2c0c0a"}}, {"rule": 2, "type": "equivalent", "target": "617c858347110fb4752508a3ef19d26e", "evidence": {"same_day": true, "patch_ids": ["5bc1a087d22626eb43e5235577ff173e"], "statement_hash": "21b2ab8c680a52b44c5c090b15d081cd066754dd2006997717dc0f190e2c0c0a"}}, {"rule": 2, "type": "equivalent", "target": "9d549c4af56f489e4c78314d3160d877", "evidence": {"same_day": true, "patch_ids": ["5bc1a087d22626eb43e5235577ff173e"], "statement_hash": "21b2ab8c680a52b44c5c090b15d081cd066754dd2006997717dc0f190e2c0c0a"}}, {"rule": 2, "type": "equivalent", "target": "befee7817f0e635f85e5c1cf2bcd3ba4", "evidence": {"same_day": true, "patch_ids": ["5bc1a087d22626eb43e5235577ff173e"], "statement_hash": "21b2ab8c680a52b44c5c090b15d081cd066754dd2006997717dc0f190e2c0c0a"}}], "version": "9.6.23", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "9d549c4af56f489e4c78314d3160d877", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "在 numeric 乘法中，如果结果的小数点后超过 16383 位，则对结果进行舍入，而不报错", "evidence": {"same_day": true, "patch_ids": ["5bc1a087d22626eb43e5235577ff173e"], "statement_hash": "21b2ab8c680a52b44c5c090b15d081cd066754dd2006997717dc0f190e2c0c0a"}, "url": "/docs/compare/?release=13.4#13.4-2e65cc8639fe88da", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "008fb02e5e9fe3fa614893647dabb857", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "在 numeric 乘法中，如果结果的小数点后超过 16383 位，则对结果进行舍入，而不报错", "evidence": {"same_day": true, "patch_ids": ["5bc1a087d22626eb43e5235577ff173e"], "statement_hash": "21b2ab8c680a52b44c5c090b15d081cd066754dd2006997717dc0f190e2c0c0a"}, "url": "/docs/compare/?release=12.8#12.8-72c33511224b3ea2", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "617c858347110fb4752508a3ef19d26e", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "在 numeric 乘法中，如果结果的小数点后超过 16383 位，则对结果进行舍入，而不报错", "evidence": {"same_day": true, "patch_ids": ["5bc1a087d22626eb43e5235577ff173e"], "statement_hash": "21b2ab8c680a52b44c5c090b15d081cd066754dd2006997717dc0f190e2c0c0a"}, "url": "/docs/compare/?release=11.13#11.13-8116a58f04eb0c8c", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "befee7817f0e635f85e5c1cf2bcd3ba4", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "在 numeric 乘法中，如果结果的小数点后超过 16383 位，则对结果进行舍入，而不报错", "evidence": {"same_day": true, "patch_ids": ["5bc1a087d22626eb43e5235577ff173e"], "statement_hash": "21b2ab8c680a52b44c5c090b15d081cd066754dd2006997717dc0f190e2c0c0a"}, "url": "/docs/compare/?release=10.18#10.18-8116a58f04eb0c8c", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-cc031a8cf641c382", "cves": [], "html": "<p>修复把 <code>numeric</code> 值提升到极大幂次时的边界错误和精度丢失（Dean Rasheed）</p>", "text": "修复把 numeric 值提升到极大幂次时的边界错误和精度丢失（Dean Rasheed）", "title": "修复把 numeric 值提升到极大幂次时的边界错误和精度丢失", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "c49cb5b267f821956a8a09c9ecab684f15a514d2576f1430c7183cac6f5c663d", "section_path": ["变更"], "commit_groups": [["032556570", "2642df9fa", "434ddfb79", "cc4420f88", "da188b993"], ["053ec4e0c", "0d6b87497", "39b0bda67", "4dd5ce2fd", "5c62920fa", "5cf350ce0", "dcd0ab672"], ["5b7b92ad7", "7a9c9acfe", "f20b6bc96"]], "identity_text": "Fix corner-case errors and loss of precision when raising numeric values to very large powers (Dean Rasheed)", "commit_aliases": ["032556570", "053ec4e0c", "0d6b87497", "2642df9fa", "39b0bda67", "434ddfb79", "4dd5ce2fd", "5b7b92ad7", "5c62920fa", "5cf350ce0", "7a9c9acfe", "cc4420f88", "da188b993", "dcd0ab672", "f20b6bc96"], "source_commits": ["434ddfb79", "5b7b92ad7", "5cf350ce0"], "source_entry_id": "9.6.23/changes/005", "db_id": "c43bc2a5a94491ff7b552367776cf1a9", "patch_ids": ["43513e84915fa343d2bb7b9fff7909b6", "5af963693a9c947802a8c09e0c122c2d", "e1d9e7ad31668d6ee9ac00bde0213cc2"], "statement_hash": "d6f74902a4c9384857d3c862b8aa1ab672a125ef6f08dce5086b8dee206c4dd9", "relations": [{"rule": 2, "type": "equivalent", "target": "016a80cc5d824b1528a6d68bc3495883", "evidence": {"same_day": true, "patch_ids": ["43513e84915fa343d2bb7b9fff7909b6", "5af963693a9c947802a8c09e0c122c2d", "e1d9e7ad31668d6ee9ac00bde0213cc2"], "statement_hash": "d6f74902a4c9384857d3c862b8aa1ab672a125ef6f08dce5086b8dee206c4dd9"}}, {"rule": 2, "type": "equivalent", "target": "2bfcb93b0d0da8a1f70cd3a71a818c56", "evidence": {"same_day": true, "patch_ids": ["43513e84915fa343d2bb7b9fff7909b6", "5af963693a9c947802a8c09e0c122c2d", "e1d9e7ad31668d6ee9ac00bde0213cc2"], "statement_hash": "d6f74902a4c9384857d3c862b8aa1ab672a125ef6f08dce5086b8dee206c4dd9"}}, {"rule": 2, "type": "equivalent", "target": "8cfc787c9627205d05560357cff8cdde", "evidence": {"same_day": true, "patch_ids": ["43513e84915fa343d2bb7b9fff7909b6", "5af963693a9c947802a8c09e0c122c2d", "e1d9e7ad31668d6ee9ac00bde0213cc2"], "statement_hash": "d6f74902a4c9384857d3c862b8aa1ab672a125ef6f08dce5086b8dee206c4dd9"}}, {"rule": 2, "type": "equivalent", "target": "d85390ab3f961f6e45bbe2a6a93c360d", "evidence": {"same_day": true, "patch_ids": ["43513e84915fa343d2bb7b9fff7909b6", "5af963693a9c947802a8c09e0c122c2d", "e1d9e7ad31668d6ee9ac00bde0213cc2"], "statement_hash": "d6f74902a4c9384857d3c862b8aa1ab672a125ef6f08dce5086b8dee206c4dd9"}}], "version": "9.6.23", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "016a80cc5d824b1528a6d68bc3495883", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "修复对 numeric 值计算极大次幂时的边界情况错误和精度损失", "evidence": {"same_day": true, "patch_ids": ["43513e84915fa343d2bb7b9fff7909b6", "5af963693a9c947802a8c09e0c122c2d", "e1d9e7ad31668d6ee9ac00bde0213cc2"], "statement_hash": "d6f74902a4c9384857d3c862b8aa1ab672a125ef6f08dce5086b8dee206c4dd9"}, "url": "/docs/compare/?release=13.4#13.4-94ca6dbfbe55e25c", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "8cfc787c9627205d05560357cff8cdde", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "修复对 numeric 值计算极大次幂时的边界情况错误和精度损失", "evidence": {"same_day": true, "patch_ids": ["43513e84915fa343d2bb7b9fff7909b6", "5af963693a9c947802a8c09e0c122c2d", "e1d9e7ad31668d6ee9ac00bde0213cc2"], "statement_hash": "d6f74902a4c9384857d3c862b8aa1ab672a125ef6f08dce5086b8dee206c4dd9"}, "url": "/docs/compare/?release=12.8#12.8-05e8f1d7a9fa64fe", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "d85390ab3f961f6e45bbe2a6a93c360d", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "修复对 numeric 值计算极大次幂时的边界情况错误和精度损失", "evidence": {"same_day": true, "patch_ids": ["43513e84915fa343d2bb7b9fff7909b6", "5af963693a9c947802a8c09e0c122c2d", "e1d9e7ad31668d6ee9ac00bde0213cc2"], "statement_hash": "d6f74902a4c9384857d3c862b8aa1ab672a125ef6f08dce5086b8dee206c4dd9"}, "url": "/docs/compare/?release=11.13#11.13-700316428836856a", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "2bfcb93b0d0da8a1f70cd3a71a818c56", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "修复对 numeric 值计算极大次幂时的边界情况错误和精度损失", "evidence": {"same_day": true, "patch_ids": ["43513e84915fa343d2bb7b9fff7909b6", "5af963693a9c947802a8c09e0c122c2d", "e1d9e7ad31668d6ee9ac00bde0213cc2"], "statement_hash": "d6f74902a4c9384857d3c862b8aa1ab672a125ef6f08dce5086b8dee206c4dd9"}, "url": "/docs/compare/?release=10.18#10.18-700316428836856a", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-c22844966130098c", "cves": [], "html": "<p>修复 <code>to_char()</code> 使用 <code>EEEE</code> 格式且 <code>numeric</code> 输入值小于 10^(-1001) 时的除零失败（Dean Rasheed）</p>", "text": "修复 to_char() 使用 EEEE 格式且 numeric 输入值小于 10^(-1001) 时的除零失败（Dean Rasheed）", "title": "修复 to_char() 使用 EEEE 格式且 numeric 输入值小于 10^(-1001) 时的除零失败", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "3268a1120f312b2f59f409e20c34fdc2a3faac69f3213d7f5a61bf86ca13115c", "section_path": ["变更"], "commit_groups": [["226ec49ff", "43644bd3b", "4851940a5", "661558bc3", "a72ad6315", "ecbdbdfd9", "ed3e1663c"]], "identity_text": "Fix division-by-zero failure in to_char() with EEEE format and a numeric input value less than 10^(-1001) (Dean Rasheed)", "commit_aliases": ["226ec49ff", "43644bd3b", "4851940a5", "661558bc3", "a72ad6315", "ecbdbdfd9", "ed3e1663c"], "source_commits": ["ed3e1663c"], "source_entry_id": "9.6.23/changes/006", "db_id": "7453e74f4b9344e927543518d53a167f", "patch_ids": ["80a7a00ec4016a3f70da1e679e4fed0e"], "statement_hash": "606cd08770824c6b946b195f14f288e7f41105097c867a6fcdf6380295e6d06a", "relations": [{"rule": 2, "type": "equivalent", "target": "2a3e6802138b4356d9267dda3bbee1f8", "evidence": {"same_day": true, "patch_ids": ["80a7a00ec4016a3f70da1e679e4fed0e"], "statement_hash": "606cd08770824c6b946b195f14f288e7f41105097c867a6fcdf6380295e6d06a"}}, {"rule": 2, "type": "equivalent", "target": "45424e6b1372be84a91884cf2dba0d8d", "evidence": {"same_day": true, "patch_ids": ["80a7a00ec4016a3f70da1e679e4fed0e"], "statement_hash": "606cd08770824c6b946b195f14f288e7f41105097c867a6fcdf6380295e6d06a"}}, {"rule": 2, "type": "equivalent", "target": "bd9045a2e00976ab3d6a6dc6d5f68036", "evidence": {"same_day": true, "patch_ids": ["80a7a00ec4016a3f70da1e679e4fed0e"], "statement_hash": "606cd08770824c6b946b195f14f288e7f41105097c867a6fcdf6380295e6d06a"}}, {"rule": 2, "type": "equivalent", "target": "d094e9c5bdbf803a9b838d09d2f0595b", "evidence": {"same_day": true, "patch_ids": ["80a7a00ec4016a3f70da1e679e4fed0e"], "statement_hash": "606cd08770824c6b946b195f14f288e7f41105097c867a6fcdf6380295e6d06a"}}], "version": "9.6.23", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "bd9045a2e00976ab3d6a6dc6d5f68036", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "修复 to_char() 使用 EEEE 格式且输入的 numeric 值小于 10^(-1001) 时的除零错误", "evidence": {"same_day": true, "patch_ids": ["80a7a00ec4016a3f70da1e679e4fed0e"], "statement_hash": "606cd08770824c6b946b195f14f288e7f41105097c867a6fcdf6380295e6d06a"}, "url": "/docs/compare/?release=13.4#13.4-f46e29bd96a1048b", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "2a3e6802138b4356d9267dda3bbee1f8", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "修复 to_char() 使用 EEEE 格式且输入的 numeric 值小于 10^(-1001) 时的除零错误", "evidence": {"same_day": true, "patch_ids": ["80a7a00ec4016a3f70da1e679e4fed0e"], "statement_hash": "606cd08770824c6b946b195f14f288e7f41105097c867a6fcdf6380295e6d06a"}, "url": "/docs/compare/?release=12.8#12.8-2431b52e2322788a", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "d094e9c5bdbf803a9b838d09d2f0595b", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "修复 to_char() 使用 EEEE 格式且输入的 numeric 值小于 10^(-1001) 时的除零错误", "evidence": {"same_day": true, "patch_ids": ["80a7a00ec4016a3f70da1e679e4fed0e"], "statement_hash": "606cd08770824c6b946b195f14f288e7f41105097c867a6fcdf6380295e6d06a"}, "url": "/docs/compare/?release=11.13#11.13-f20388febe2292ee", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "45424e6b1372be84a91884cf2dba0d8d", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "修复 to_char() 使用 EEEE 格式且输入的 numeric 值小于 10^(-1001) 时的除零错误", "evidence": {"same_day": true, "patch_ids": ["80a7a00ec4016a3f70da1e679e4fed0e"], "statement_hash": "606cd08770824c6b946b195f14f288e7f41105097c867a6fcdf6380295e6d06a"}, "url": "/docs/compare/?release=10.18#10.18-f20388febe2292ee", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-7273a815ed149016", "cves": [], "html": "<p>使 <code>pg_size_pretty(bigint)</code> 对负值的舍入方式与正值一致（也与 <code>numeric</code> 版本一致）（Dean Rasheed、David Rowley）</p>", "text": "使 pg_size_pretty(bigint) 对负值的舍入方式与正值一致（也与 numeric 版本一致）（Dean Rasheed、David Rowley）", "title": "使 pg_size_pretty(bigint) 对负值的舍入方式与正值一致（也与 numeric 版本一致）", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "065be1740c5f52f8c8354f87ff9b1696f0272fe882aaaffcff33f197fa1a14a4", "section_path": ["变更"], "commit_groups": [["137af4f27", "3e474a708", "87103002c", "b18621139", "dd76aa54a"], ["1efcd5720", "45bad6a39", "55fe60938", "674ee3b76", "6de3a21bb", "6f88b68ff", "efc42a1e1"]], "identity_text": "Fix pg_size_pretty(bigint) to round negative values consistently with the way it rounds positive ones (and consistently with the numeric version) (Dean Rasheed, David Rowley)", "commit_aliases": ["137af4f27", "1efcd5720", "3e474a708", "45bad6a39", "55fe60938", "674ee3b76", "6de3a21bb", "6f88b68ff", "87103002c", "b18621139", "dd76aa54a", "efc42a1e1"], "source_commits": ["3e474a708", "674ee3b76"], "source_entry_id": "9.6.23/changes/007", "db_id": "fafd2c8e77c9b9c89e7d78cb705dc449", "patch_ids": ["88a173b3364566f77c8fbdba1588b372", "d3d00fb31d1294cb72042b3c91439f53"], "statement_hash": "98554804ac43b496d300d73812eaf8cae17bae07ee4321e1db6a2dc02f059ce9", "relations": [{"rule": 2, "type": "equivalent", "target": "34ca753c4985f25191233247258e2d9a", "evidence": {"same_day": true, "patch_ids": ["88a173b3364566f77c8fbdba1588b372", "d3d00fb31d1294cb72042b3c91439f53"], "statement_hash": "98554804ac43b496d300d73812eaf8cae17bae07ee4321e1db6a2dc02f059ce9"}}, {"rule": 2, "type": "equivalent", "target": "39193057210eb3cff9d0d19d7930b2bf", "evidence": {"same_day": true, "patch_ids": ["88a173b3364566f77c8fbdba1588b372", "d3d00fb31d1294cb72042b3c91439f53"], "statement_hash": "98554804ac43b496d300d73812eaf8cae17bae07ee4321e1db6a2dc02f059ce9"}}, {"rule": 2, "type": "equivalent", "target": "69ab4eac258bc36d566c5a6d36856d52", "evidence": {"same_day": true, "patch_ids": ["88a173b3364566f77c8fbdba1588b372", "d3d00fb31d1294cb72042b3c91439f53"], "statement_hash": "98554804ac43b496d300d73812eaf8cae17bae07ee4321e1db6a2dc02f059ce9"}}, {"rule": 2, "type": "equivalent", "target": "f5e4a57cf736926b9425b5408d4db476", "evidence": {"same_day": true, "patch_ids": ["88a173b3364566f77c8fbdba1588b372", "d3d00fb31d1294cb72042b3c91439f53"], "statement_hash": "98554804ac43b496d300d73812eaf8cae17bae07ee4321e1db6a2dc02f059ce9"}}], "version": "9.6.23", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "69ab4eac258bc36d566c5a6d36856d52", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "修复 pg_size_pretty(bigint)，使其对负值的舍入与对正值的舍入方式一致（也与 numeric 版本一致）", "evidence": {"same_day": true, "patch_ids": ["88a173b3364566f77c8fbdba1588b372", "d3d00fb31d1294cb72042b3c91439f53"], "statement_hash": "98554804ac43b496d300d73812eaf8cae17bae07ee4321e1db6a2dc02f059ce9"}, "url": "/docs/compare/?release=13.4#13.4-9c41a3729e78c303", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "f5e4a57cf736926b9425b5408d4db476", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "修复 pg_size_pretty(bigint)，使其对负值的舍入与对正值的舍入方式一致（也与 numeric 版本一致）", "evidence": {"same_day": true, "patch_ids": ["88a173b3364566f77c8fbdba1588b372", "d3d00fb31d1294cb72042b3c91439f53"], "statement_hash": "98554804ac43b496d300d73812eaf8cae17bae07ee4321e1db6a2dc02f059ce9"}, "url": "/docs/compare/?release=12.8#12.8-b7c566acffead0f4", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "34ca753c4985f25191233247258e2d9a", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "修复 pg_size_pretty(bigint)，使其对负值的舍入与对正值的舍入方式一致（也与 numeric 版本一致）", "evidence": {"same_day": true, "patch_ids": ["88a173b3364566f77c8fbdba1588b372", "d3d00fb31d1294cb72042b3c91439f53"], "statement_hash": "98554804ac43b496d300d73812eaf8cae17bae07ee4321e1db6a2dc02f059ce9"}, "url": "/docs/compare/?release=11.13#11.13-f8227c23836d368a", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "39193057210eb3cff9d0d19d7930b2bf", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "修复 pg_size_pretty(bigint)，使其对负值的舍入与对正值的舍入方式一致（也与 numeric 版本一致）", "evidence": {"same_day": true, "patch_ids": ["88a173b3364566f77c8fbdba1588b372", "d3d00fb31d1294cb72042b3c91439f53"], "statement_hash": "98554804ac43b496d300d73812eaf8cae17bae07ee4321e1db6a2dc02f059ce9"}, "url": "/docs/compare/?release=10.18#10.18-f8227c23836d368a", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-c340839fc3179b97", "cves": [], "html": "<p>使 <code>pg_filenode_relation(0, 0)</code> 返回 NULL 而不是报错（Justin Pryzby）</p>", "text": "使 pg_filenode_relation(0, 0) 返回 NULL 而不是报错（Justin Pryzby）", "title": "使 pg_filenode_relation(0, 0) 返回 NULL 而不是报错", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "22928160462e5b848498db0e47dd5ee3acaaaa61a19263190429d72ada857f94", "section_path": ["变更"], "commit_groups": [["1250aad42", "25d1ef1aa", "26a053533", "7681b78fb", "c1ffbbcbc", "f479ea94b"]], "identity_text": "Make pg_filenode_relation(0, 0) return NULL rather than failing (Justin Pryzby)", "commit_aliases": ["1250aad42", "25d1ef1aa", "26a053533", "7681b78fb", "c1ffbbcbc", "f479ea94b"], "source_commits": ["c1ffbbcbc"], "source_entry_id": "9.6.23/changes/008", "db_id": "36671eb3de7fe6e7610ae78099f25f69", "patch_ids": ["10e67ef8d410a8e2ad95a73e0b692ebe"], "statement_hash": "c83eabb71f1f618f93c2f11d2b743d7e18fa2ba566aa18443c85352c4d54d8ab", "relations": [{"rule": 2, "type": "equivalent", "target": "93d1c1470250c9c3abb5c670d7ae7b81", "evidence": {"same_day": true, "patch_ids": ["10e67ef8d410a8e2ad95a73e0b692ebe"], "statement_hash": "c83eabb71f1f618f93c2f11d2b743d7e18fa2ba566aa18443c85352c4d54d8ab"}}, {"rule": 2, "type": "equivalent", "target": "d424d6b0372de6e99f55b3cdce61ad08", "evidence": {"same_day": true, "patch_ids": ["10e67ef8d410a8e2ad95a73e0b692ebe"], "statement_hash": "c83eabb71f1f618f93c2f11d2b743d7e18fa2ba566aa18443c85352c4d54d8ab"}}, {"rule": 2, "type": "equivalent", "target": "dede0bdabbeda2e9785efa10139ae982", "evidence": {"same_day": true, "patch_ids": ["10e67ef8d410a8e2ad95a73e0b692ebe"], "statement_hash": "c83eabb71f1f618f93c2f11d2b743d7e18fa2ba566aa18443c85352c4d54d8ab"}}, {"rule": 2, "type": "equivalent", "target": "e0a0132936f574f74c2ce64695bb9721", "evidence": {"same_day": true, "patch_ids": ["10e67ef8d410a8e2ad95a73e0b692ebe"], "statement_hash": "c83eabb71f1f618f93c2f11d2b743d7e18fa2ba566aa18443c85352c4d54d8ab"}}], "version": "9.6.23", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "d424d6b0372de6e99f55b3cdce61ad08", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "使 pg_filenode_relation(0, 0) 返回 NULL，而不报错", "evidence": {"same_day": true, "patch_ids": ["10e67ef8d410a8e2ad95a73e0b692ebe"], "statement_hash": "c83eabb71f1f618f93c2f11d2b743d7e18fa2ba566aa18443c85352c4d54d8ab"}, "url": "/docs/compare/?release=13.4#13.4-f06098506cc6072a", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "93d1c1470250c9c3abb5c670d7ae7b81", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "使 pg_filenode_relation(0, 0) 返回 NULL，而不报错", "evidence": {"same_day": true, "patch_ids": ["10e67ef8d410a8e2ad95a73e0b692ebe"], "statement_hash": "c83eabb71f1f618f93c2f11d2b743d7e18fa2ba566aa18443c85352c4d54d8ab"}, "url": "/docs/compare/?release=12.8#12.8-26633e1afed913d8", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "e0a0132936f574f74c2ce64695bb9721", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "使 pg_filenode_relation(0, 0) 返回 NULL，而不报错", "evidence": {"same_day": true, "patch_ids": ["10e67ef8d410a8e2ad95a73e0b692ebe"], "statement_hash": "c83eabb71f1f618f93c2f11d2b743d7e18fa2ba566aa18443c85352c4d54d8ab"}, "url": "/docs/compare/?release=11.13#11.13-6d718ced65e93bc3", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "dede0bdabbeda2e9785efa10139ae982", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "使 pg_filenode_relation(0, 0) 返回 NULL，而不报错", "evidence": {"same_day": true, "patch_ids": ["10e67ef8d410a8e2ad95a73e0b692ebe"], "statement_hash": "c83eabb71f1f618f93c2f11d2b743d7e18fa2ba566aa18443c85352c4d54d8ab"}, "url": "/docs/compare/?release=10.18#10.18-6d718ced65e93bc3", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-c1a044377e566af3", "cves": [], "html": "<p>让 <code>ALTER EXTENSION</code> 在添加或删除成员对象时锁定扩展（Tom Lane）</p>\n<p>原来的编码允许 <code>ALTER EXTENSION ADD/DROP</code> 与 <code>DROP EXTENSION</code> 并发发生，会导致崩溃或目录条目损坏。</p>", "text": "让 ALTER EXTENSION 在添加或删除成员对象时锁定扩展（Tom Lane） 原来的编码允许 ALTER EXTENSION ADD/DROP 与 DROP EXTENSION 并发发生，会导致崩溃或目录条目损坏。", "title": "让 ALTER EXTENSION 在添加或删除成员对象时锁定扩展", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "b0515c86efe1c7e8edddcdf23b3b574ee5147438983be2805f4f28bf1f9d335d", "section_path": ["变更"], "commit_groups": [["1c612bc98", "1d49c8887", "626731db2", "69dfc36fd", "6bd9ae173", "734be249d", "92340ba5a"]], "identity_text": "Make ALTER EXTENSION lock the extension when adding or removing a member object (Tom Lane) The previous coding allowed ALTER EXTENSION ADD/DROP to occur concurrently with DROP EXTENSION, leading to a crash or corrupt catalog entries.", "commit_aliases": ["1c612bc98", "1d49c8887", "626731db2", "69dfc36fd", "6bd9ae173", "734be249d", "92340ba5a"], "source_commits": ["734be249d"], "source_entry_id": "9.6.23/changes/009", "db_id": "45489d84853b4006d1333eda22d78d00", "patch_ids": ["dd499bcc08791af341fa2ab01eb21a75"], "statement_hash": "88c7ec8188428e91b304824a8abea20e5f85af8658822295703425409ea218d8", "relations": [{"rule": 2, "type": "equivalent", "target": "1729c1ead029af35705e9805ae354bbc", "evidence": {"same_day": true, "patch_ids": ["dd499bcc08791af341fa2ab01eb21a75"], "statement_hash": "88c7ec8188428e91b304824a8abea20e5f85af8658822295703425409ea218d8"}}, {"rule": 2, "type": "equivalent", "target": "178aa2baa95fcde886dcf0cf9087fb31", "evidence": {"same_day": true, "patch_ids": ["dd499bcc08791af341fa2ab01eb21a75"], "statement_hash": "88c7ec8188428e91b304824a8abea20e5f85af8658822295703425409ea218d8"}}, {"rule": 2, "type": "equivalent", "target": "3567ed6306be41f74f22472cc8a2d4bd", "evidence": {"same_day": true, "patch_ids": ["dd499bcc08791af341fa2ab01eb21a75"], "statement_hash": "88c7ec8188428e91b304824a8abea20e5f85af8658822295703425409ea218d8"}}, {"rule": 2, "type": "equivalent", "target": "c9f202fd4cf08b7027c3b7d37d72b535", "evidence": {"same_day": true, "patch_ids": ["dd499bcc08791af341fa2ab01eb21a75"], "statement_hash": "88c7ec8188428e91b304824a8abea20e5f85af8658822295703425409ea218d8"}}], "version": "9.6.23", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "3567ed6306be41f74f22472cc8a2d4bd", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "使 ALTER EXTENSION 在添加或移除成员对象时锁定扩展", "evidence": {"same_day": true, "patch_ids": ["dd499bcc08791af341fa2ab01eb21a75"], "statement_hash": "88c7ec8188428e91b304824a8abea20e5f85af8658822295703425409ea218d8"}, "url": "/docs/compare/?release=13.4#13.4-747059e914b9561a", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "1729c1ead029af35705e9805ae354bbc", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "使 ALTER EXTENSION 在添加或移除成员对象时锁定扩展", "evidence": {"same_day": true, "patch_ids": ["dd499bcc08791af341fa2ab01eb21a75"], "statement_hash": "88c7ec8188428e91b304824a8abea20e5f85af8658822295703425409ea218d8"}, "url": "/docs/compare/?release=12.8#12.8-0d898b9f12abeaf3", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "178aa2baa95fcde886dcf0cf9087fb31", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "使 ALTER EXTENSION 在添加或移除成员对象时锁定扩展", "evidence": {"same_day": true, "patch_ids": ["dd499bcc08791af341fa2ab01eb21a75"], "statement_hash": "88c7ec8188428e91b304824a8abea20e5f85af8658822295703425409ea218d8"}, "url": "/docs/compare/?release=11.13#11.13-5b75b0d9bd6118c0", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "c9f202fd4cf08b7027c3b7d37d72b535", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "使 ALTER EXTENSION 在添加或移除成员对象时锁定扩展", "evidence": {"same_day": true, "patch_ids": ["dd499bcc08791af341fa2ab01eb21a75"], "statement_hash": "88c7ec8188428e91b304824a8abea20e5f85af8658822295703425409ea218d8"}, "url": "/docs/compare/?release=10.18#10.18-5b75b0d9bd6118c0", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-e82bb15bdba79cc7", "cves": [], "html": "<p>避免 <code>REFRESH MATERIALIZED VIEW CONCURRENTLY</code> 生成的查询中的别名冲突（Tom Lane、Bharath Rupireddy）</p>\n<p>此命令在物化视图包含某些名称的列（特别是 <code>mv</code> 和 <code>newdata</code>）时会失败。</p>", "text": "避免 REFRESH MATERIALIZED VIEW CONCURRENTLY 生成的查询中的别名冲突（Tom Lane、Bharath Rupireddy） 此命令在物化视图包含某些名称的列（特别是 mv 和 newdata）时会失败。", "title": "避免 REFRESH MATERIALIZED VIEW CONCURRENTLY 生成的查询中的别名冲突", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "cf8dd7117e9ea5ebdf6e05f32d483e69eb69a3a98740f1a7cbd2faa10c9b7cb0", "section_path": ["变更"], "commit_groups": [["187682c32", "20f70f558", "4ceaa760b", "75d66d10e", "d9525c46c", "dbc9dbba5"], ["1ff1e4a60", "2c915905e", "9179a82d7", "ac818984a", "ba9f665a4", "c08b3a9eb", "d33fc4110"]], "identity_text": "Avoid alias conflicts in queries generated for REFRESH MATERIALIZED VIEW CONCURRENTLY (Tom Lane, Bharath Rupireddy) This command failed on materialized views containing columns with certain names, notably mv and newdata.", "commit_aliases": ["187682c32", "1ff1e4a60", "20f70f558", "2c915905e", "4ceaa760b", "75d66d10e", "9179a82d7", "ac818984a", "ba9f665a4", "c08b3a9eb", "d33fc4110", "d9525c46c", "dbc9dbba5"], "source_commits": ["c08b3a9eb", "d9525c46c"], "source_entry_id": "9.6.23/changes/010", "db_id": "4a0d1e6294826c8288be32b11211a6fa", "patch_ids": ["70ff68653e09647df3d59b03e175f4be", "7d0689d0155327294061802c91a94de2"], "statement_hash": "8cdcf5ab5984ccbddd1c78227a8dffe419718713538b1a5e41588e8d847c9758", "relations": [{"rule": 2, "type": "equivalent", "target": "2af09831c0608fb64c1ff09804e6d85a", "evidence": {"same_day": true, "patch_ids": ["70ff68653e09647df3d59b03e175f4be", "7d0689d0155327294061802c91a94de2"], "statement_hash": "8cdcf5ab5984ccbddd1c78227a8dffe419718713538b1a5e41588e8d847c9758"}}, {"rule": 2, "type": "equivalent", "target": "3ccdbeeccc3c93fa54ad304acf7a605f", "evidence": {"same_day": true, "patch_ids": ["70ff68653e09647df3d59b03e175f4be", "7d0689d0155327294061802c91a94de2"], "statement_hash": "8cdcf5ab5984ccbddd1c78227a8dffe419718713538b1a5e41588e8d847c9758"}}, {"rule": 2, "type": "equivalent", "target": "f8b685939c58fe0f4537cc76709fcde6", "evidence": {"same_day": true, "patch_ids": ["70ff68653e09647df3d59b03e175f4be", "7d0689d0155327294061802c91a94de2"], "statement_hash": "8cdcf5ab5984ccbddd1c78227a8dffe419718713538b1a5e41588e8d847c9758"}}, {"rule": 2, "type": "equivalent", "target": "fe8c6c86d6111aae75c228ea4bc7c0c2", "evidence": {"same_day": true, "patch_ids": ["70ff68653e09647df3d59b03e175f4be", "7d0689d0155327294061802c91a94de2"], "statement_hash": "8cdcf5ab5984ccbddd1c78227a8dffe419718713538b1a5e41588e8d847c9758"}}], "version": "9.6.23", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "3ccdbeeccc3c93fa54ad304acf7a605f", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "避免为 REFRESH MATERIALIZED VIEW CONCURRENTLY 生成的查询中的别名冲突", "evidence": {"same_day": true, "patch_ids": ["70ff68653e09647df3d59b03e175f4be", "7d0689d0155327294061802c91a94de2"], "statement_hash": "8cdcf5ab5984ccbddd1c78227a8dffe419718713538b1a5e41588e8d847c9758"}, "url": "/docs/compare/?release=13.4#13.4-3fcbfbaac6722a33", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "f8b685939c58fe0f4537cc76709fcde6", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "避免为 REFRESH MATERIALIZED VIEW CONCURRENTLY 生成的查询中的别名冲突", "evidence": {"same_day": true, "patch_ids": ["70ff68653e09647df3d59b03e175f4be", "7d0689d0155327294061802c91a94de2"], "statement_hash": "8cdcf5ab5984ccbddd1c78227a8dffe419718713538b1a5e41588e8d847c9758"}, "url": "/docs/compare/?release=12.8#12.8-207d5b19ac24c304", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "2af09831c0608fb64c1ff09804e6d85a", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "避免为 REFRESH MATERIALIZED VIEW CONCURRENTLY 生成的查询中的别名冲突", "evidence": {"same_day": true, "patch_ids": ["70ff68653e09647df3d59b03e175f4be", "7d0689d0155327294061802c91a94de2"], "statement_hash": "8cdcf5ab5984ccbddd1c78227a8dffe419718713538b1a5e41588e8d847c9758"}, "url": "/docs/compare/?release=11.13#11.13-b66bdddab5871fd3", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "fe8c6c86d6111aae75c228ea4bc7c0c2", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "避免为 REFRESH MATERIALIZED VIEW CONCURRENTLY 生成的查询中的别名冲突", "evidence": {"same_day": true, "patch_ids": ["70ff68653e09647df3d59b03e175f4be", "7d0689d0155327294061802c91a94de2"], "statement_hash": "8cdcf5ab5984ccbddd1c78227a8dffe419718713538b1a5e41588e8d847c9758"}, "url": "/docs/compare/?release=10.18#10.18-b66bdddab5871fd3", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-8df74ba84e013c37", "cves": [], "html": "<p>修复 <code>PREPARE TRANSACTION</code> 对会话级与事务级锁冲突的正确检查（Tom Lane）</p>\n<p>如果一个事务在同一个咨询锁 ID 值上同时持有会话级和事务级锁，它就不能被预备。这一限制没有被完整检查，可能导致 <code>PREPARE TRANSACTION</code> 期间发生 PANIC。</p>", "text": "修复 PREPARE TRANSACTION 对会话级与事务级锁冲突的正确检查（Tom Lane） 如果一个事务在同一个咨询锁 ID 值上同时持有会话级和事务级锁，它就不能被预备。这一限制没有被完整检查，可能导致 PREPARE TRANSACTION 期间发生 PANIC。", "title": "修复 PREPARE TRANSACTION 对会话级与事务级锁冲突的正确检查", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "e4813c482fd4f379430390d4b9e0497a05a2fb63965567b116a10aa753678f46", "section_path": ["变更"], "commit_groups": [["1861390e6", "6310809c4", "654372169", "712ba6b8b", "7b2262a21", "899785b4f", "f47408cdc"]], "identity_text": "Fix PREPARE TRANSACTION to check correctly for conflicting session-lifespan and transaction-lifespan locks (Tom Lane) A transaction cannot be prepared if it has both session-lifespan and transaction-lifespan locks on the same advisory-lock ID value. This restriction was not fully checked, which could lead to a PANIC during PREPARE TRANSACTION.", "commit_aliases": ["1861390e6", "6310809c4", "654372169", "712ba6b8b", "7b2262a21", "899785b4f", "f47408cdc"], "source_commits": ["1861390e6"], "source_entry_id": "9.6.23/changes/011", "db_id": "2ad698d49564e202394af7abaff7e460", "patch_ids": ["89e8956ee16dd6130b65127c48f96e41"], "statement_hash": "edcb169c6e36c5f2d292db8ee2997bef5e9fba2b82b4ee7487e1817d26f5646d", "relations": [{"rule": 2, "type": "equivalent", "target": "3edde841acacd6ac0b911b5b7439eb05", "evidence": {"same_day": true, "patch_ids": ["89e8956ee16dd6130b65127c48f96e41"], "statement_hash": "edcb169c6e36c5f2d292db8ee2997bef5e9fba2b82b4ee7487e1817d26f5646d"}}, {"rule": 2, "type": "equivalent", "target": "47a0d6f8402997d619993d798dbdd949", "evidence": {"same_day": true, "patch_ids": ["89e8956ee16dd6130b65127c48f96e41"], "statement_hash": "edcb169c6e36c5f2d292db8ee2997bef5e9fba2b82b4ee7487e1817d26f5646d"}}, {"rule": 2, "type": "equivalent", "target": "4d5601526056b316693cc1cc32aaf8f9", "evidence": {"same_day": true, "patch_ids": ["89e8956ee16dd6130b65127c48f96e41"], "statement_hash": "edcb169c6e36c5f2d292db8ee2997bef5e9fba2b82b4ee7487e1817d26f5646d"}}, {"rule": 2, "type": "equivalent", "target": "928c478d377cdcd99bd55aae832762ed", "evidence": {"same_day": true, "patch_ids": ["89e8956ee16dd6130b65127c48f96e41"], "statement_hash": "edcb169c6e36c5f2d292db8ee2997bef5e9fba2b82b4ee7487e1817d26f5646d"}}], "version": "9.6.23", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "928c478d377cdcd99bd55aae832762ed", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "修复 PREPARE TRANSACTION，使其正确检查会话生命周期锁与事务生命周期锁之间的冲突", "evidence": {"same_day": true, "patch_ids": ["89e8956ee16dd6130b65127c48f96e41"], "statement_hash": "edcb169c6e36c5f2d292db8ee2997bef5e9fba2b82b4ee7487e1817d26f5646d"}, "url": "/docs/compare/?release=13.4#13.4-cd704a3ec137775e", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "47a0d6f8402997d619993d798dbdd949", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "修复 PREPARE TRANSACTION，使其正确检查会话生命周期锁与事务生命周期锁之间的冲突", "evidence": {"same_day": true, "patch_ids": ["89e8956ee16dd6130b65127c48f96e41"], "statement_hash": "edcb169c6e36c5f2d292db8ee2997bef5e9fba2b82b4ee7487e1817d26f5646d"}, "url": "/docs/compare/?release=12.8#12.8-500cbade61d9cf55", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "4d5601526056b316693cc1cc32aaf8f9", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "修复 PREPARE TRANSACTION，使其正确检查会话生命周期锁与事务生命周期锁之间的冲突", "evidence": {"same_day": true, "patch_ids": ["89e8956ee16dd6130b65127c48f96e41"], "statement_hash": "edcb169c6e36c5f2d292db8ee2997bef5e9fba2b82b4ee7487e1817d26f5646d"}, "url": "/docs/compare/?release=11.13#11.13-e54e8778e0aa4f58", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "3edde841acacd6ac0b911b5b7439eb05", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "修复 PREPARE TRANSACTION，使其正确检查会话生命周期锁与事务生命周期锁之间的冲突", "evidence": {"same_day": true, "patch_ids": ["89e8956ee16dd6130b65127c48f96e41"], "statement_hash": "edcb169c6e36c5f2d292db8ee2997bef5e9fba2b82b4ee7487e1817d26f5646d"}, "url": "/docs/compare/?release=10.18#10.18-e54e8778e0aa4f58", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-f0f7468247a92762", "cves": [], "html": "<p>修复目标角色在 RLS 策略中被列出多于一次时 <code>DROP OWNED BY</code> 的错误行为（Tom Lane）</p>", "text": "修复目标角色在 RLS 策略中被列出多于一次时 DROP OWNED BY 的错误行为（Tom Lane）", "title": "修复目标角色在 RLS 策略中被列出多于一次时 DROP OWNED BY 的错误行为", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "7822fc16d795024ec7d14d6aca66899d2b3079714baada412a46f5c56450280b", "section_path": ["变更"], "commit_groups": [["0b29b41e5", "33af10c59", "b7e3a4407", "c58a41605", "d21fca084", "ea5ae3ae1"]], "identity_text": "Fix misbehavior of DROP OWNED BY when the target role is listed more than once in an RLS policy (Tom Lane)", "commit_aliases": ["0b29b41e5", "33af10c59", "b7e3a4407", "c58a41605", "d21fca084", "ea5ae3ae1"], "source_commits": ["0b29b41e5"], "source_entry_id": "9.6.23/changes/012", "db_id": "2353b16332df3a6da9247b7c518f853c", "patch_ids": ["7579e7cde0b90026b5d66f1324899014"], "statement_hash": "8e6d30a451f33680e7f6c8dcd9f4cad405d77c53b7300fa8972af4ee4f654519", "relations": [{"rule": 2, "type": "equivalent", "target": "0c4a00395dddd67c8085f5bd82115ee1", "evidence": {"same_day": true, "patch_ids": ["7579e7cde0b90026b5d66f1324899014"], "statement_hash": "8e6d30a451f33680e7f6c8dcd9f4cad405d77c53b7300fa8972af4ee4f654519"}}, {"rule": 2, "type": "equivalent", "target": "67ffa47f0d4c24715fb02df5efa88cd5", "evidence": {"same_day": true, "patch_ids": ["7579e7cde0b90026b5d66f1324899014"], "statement_hash": "8e6d30a451f33680e7f6c8dcd9f4cad405d77c53b7300fa8972af4ee4f654519"}}, {"rule": 2, "type": "equivalent", "target": "af52947a3252db7bf1989c438602391f", "evidence": {"same_day": true, "patch_ids": ["7579e7cde0b90026b5d66f1324899014"], "statement_hash": "8e6d30a451f33680e7f6c8dcd9f4cad405d77c53b7300fa8972af4ee4f654519"}}, {"rule": 2, "type": "equivalent", "target": "e8d3b047c17159e919b12e70c0b64451", "evidence": {"same_day": true, "patch_ids": ["7579e7cde0b90026b5d66f1324899014"], "statement_hash": "8e6d30a451f33680e7f6c8dcd9f4cad405d77c53b7300fa8972af4ee4f654519"}}], "version": "9.6.23", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "e8d3b047c17159e919b12e70c0b64451", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "修复目标角色在 RLS 策略中被列出多次时 DROP OWNED BY 的异常行为", "evidence": {"same_day": true, "patch_ids": ["7579e7cde0b90026b5d66f1324899014"], "statement_hash": "8e6d30a451f33680e7f6c8dcd9f4cad405d77c53b7300fa8972af4ee4f654519"}, "url": "/docs/compare/?release=13.4#13.4-01dd5b6c349ec1dc", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "0c4a00395dddd67c8085f5bd82115ee1", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "修复目标角色在 RLS 策略中被列出多次时 DROP OWNED BY 的异常行为", "evidence": {"same_day": true, "patch_ids": ["7579e7cde0b90026b5d66f1324899014"], "statement_hash": "8e6d30a451f33680e7f6c8dcd9f4cad405d77c53b7300fa8972af4ee4f654519"}, "url": "/docs/compare/?release=12.8#12.8-cff0d8ac900b2aab", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "67ffa47f0d4c24715fb02df5efa88cd5", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "修复目标角色在 RLS 策略中被列出多次时 DROP OWNED BY 的异常行为", "evidence": {"same_day": true, "patch_ids": ["7579e7cde0b90026b5d66f1324899014"], "statement_hash": "8e6d30a451f33680e7f6c8dcd9f4cad405d77c53b7300fa8972af4ee4f654519"}, "url": "/docs/compare/?release=11.13#11.13-b09fd560d56678ec", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "af52947a3252db7bf1989c438602391f", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "修复目标角色在 RLS 策略中被列出多次时 DROP OWNED BY 的异常行为", "evidence": {"same_day": true, "patch_ids": ["7579e7cde0b90026b5d66f1324899014"], "statement_hash": "8e6d30a451f33680e7f6c8dcd9f4cad405d77c53b7300fa8972af4ee4f654519"}, "url": "/docs/compare/?release=10.18#10.18-b09fd560d56678ec", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-c4b8bddf96c3b8ee", "cves": [], "html": "<p>在 <code>DROP OWNED BY</code> 期间从 RLS 策略中移除角色时，跳过不必要的错误测试（Tom Lane）</p>\n<p>值得注意的是，这修复了某些必须成为超级用户才能使用 <code>DROP OWNED BY</code> 的情况。</p>", "text": "在 DROP OWNED BY 期间从 RLS 策略中移除角色时，跳过不必要的错误测试（Tom Lane） 值得注意的是，这修复了某些必须成为超级用户才能使用 DROP OWNED BY 的情况。", "title": "在 DROP OWNED BY 期间从 RLS 策略中移除角色时，跳过不必要的错误测试", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "7443f185c411a10f3c3b38229c90897a7feba67e829d134f1d54c1d07bcae3ed", "section_path": ["变更"], "commit_groups": [["5a0f1c8c0", "9c7a150ae", "ba815f00a", "f5b780c45", "f851696a2", "fea89d64e"]], "identity_text": "Skip unnecessary error tests when removing a role from an RLS policy during DROP OWNED BY (Tom Lane) Notably, this fixes some cases where it was necessary to be a superuser to use DROP OWNED BY.", "commit_aliases": ["5a0f1c8c0", "9c7a150ae", "ba815f00a", "f5b780c45", "f851696a2", "fea89d64e"], "source_commits": ["9c7a150ae"], "source_entry_id": "9.6.23/changes/013", "db_id": "cf12661fbf35ed382cf7e314bb0f1003", "patch_ids": ["37a292110a66b50c73ef7932e9a02016"], "statement_hash": "9b6003b41b0618a03cdfcbb5df47a9c517d445dac186fc9504dccf08905c09be", "relations": [{"rule": 2, "type": "equivalent", "target": "266bd9791be4129ffaad1876bc539795", "evidence": {"same_day": true, "patch_ids": ["37a292110a66b50c73ef7932e9a02016"], "statement_hash": "9b6003b41b0618a03cdfcbb5df47a9c517d445dac186fc9504dccf08905c09be"}}, {"rule": 2, "type": "equivalent", "target": "54d2e370dd3ff3d827626facc0716d89", "evidence": {"same_day": true, "patch_ids": ["37a292110a66b50c73ef7932e9a02016"], "statement_hash": "9b6003b41b0618a03cdfcbb5df47a9c517d445dac186fc9504dccf08905c09be"}}, {"rule": 2, "type": "equivalent", "target": "dd70de71fdedac4cbed285b0568105cb", "evidence": {"same_day": true, "patch_ids": ["37a292110a66b50c73ef7932e9a02016"], "statement_hash": "9b6003b41b0618a03cdfcbb5df47a9c517d445dac186fc9504dccf08905c09be"}}, {"rule": 2, "type": "equivalent", "target": "f85b3d3a00f6b3887834402d73f7b11c", "evidence": {"same_day": true, "patch_ids": ["37a292110a66b50c73ef7932e9a02016"], "statement_hash": "9b6003b41b0618a03cdfcbb5df47a9c517d445dac186fc9504dccf08905c09be"}}], "version": "9.6.23", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "266bd9791be4129ffaad1876bc539795", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "在 DROP OWNED BY 期间从 RLS 策略中移除角色时，跳过不必要的错误检查", "evidence": {"same_day": true, "patch_ids": ["37a292110a66b50c73ef7932e9a02016"], "statement_hash": "9b6003b41b0618a03cdfcbb5df47a9c517d445dac186fc9504dccf08905c09be"}, "url": "/docs/compare/?release=13.4#13.4-8b00d9aebd7f4837", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "dd70de71fdedac4cbed285b0568105cb", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "在 DROP OWNED BY 期间从 RLS 策略中移除角色时，跳过不必要的错误检查", "evidence": {"same_day": true, "patch_ids": ["37a292110a66b50c73ef7932e9a02016"], "statement_hash": "9b6003b41b0618a03cdfcbb5df47a9c517d445dac186fc9504dccf08905c09be"}, "url": "/docs/compare/?release=12.8#12.8-ea2d9f34ca92ea2c", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "f85b3d3a00f6b3887834402d73f7b11c", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "在 DROP OWNED BY 期间从 RLS 策略中移除角色时，跳过不必要的错误检查", "evidence": {"same_day": true, "patch_ids": ["37a292110a66b50c73ef7932e9a02016"], "statement_hash": "9b6003b41b0618a03cdfcbb5df47a9c517d445dac186fc9504dccf08905c09be"}, "url": "/docs/compare/?release=11.13#11.13-39cd1e67e9e9bf7f", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "54d2e370dd3ff3d827626facc0716d89", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "在 DROP OWNED BY 期间从 RLS 策略中移除角色时，跳过不必要的错误检查", "evidence": {"same_day": true, "patch_ids": ["37a292110a66b50c73ef7932e9a02016"], "statement_hash": "9b6003b41b0618a03cdfcbb5df47a9c517d445dac186fc9504dccf08905c09be"}, "url": "/docs/compare/?release=10.18#10.18-39cd1e67e9e9bf7f", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-7f825a57fab789ce", "cves": [], "html": "<p>允许以事务方式更新索引状态标志（Michael Paquier、Andrey Lepikhov）</p>\n<p>这避免了处理并非真正不可变的索引谓词时的失败。虽然这不被视为受支持的情况，但此处使用非事务更新的原有原因早已不存在，因此不妨改掉。</p>", "text": "允许以事务方式更新索引状态标志（Michael Paquier、Andrey Lepikhov） 这避免了处理并非真正不可变的索引谓词时的失败。虽然这不被视为受支持的情况，但此处使用非事务更新的原有原因早已不存在，因此不妨改掉。", "title": "允许以事务方式更新索引状态标志", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "f36da27afce294d17015c01694b8dfcc8f346b70c2f777fe216c6385a29a5491", "section_path": ["变更"], "commit_groups": [["08acba558", "3c465883b", "83158f74d", "acb60edf0", "d3d0cbeb6", "e52f7cbec"], ["09a69f6e2", "21257a8f6", "38ca11ade", "5160d5bb1", "ce8949c4b", "fd7bc10ab"]], "identity_text": "Allow index state flags to be updated transactionally (Michael Paquier, Andrey Lepikhov) This avoids failures when dealing with index predicates that aren't really immutable. While that's not considered a supported case, the original reason for using a non-transactional update here is long gone, so we may as well change it.", "commit_aliases": ["08acba558", "09a69f6e2", "21257a8f6", "38ca11ade", "3c465883b", "5160d5bb1", "83158f74d", "acb60edf0", "ce8949c4b", "d3d0cbeb6", "e52f7cbec", "fd7bc10ab"], "source_commits": ["21257a8f6", "d3d0cbeb6"], "source_entry_id": "9.6.23/changes/014", "db_id": "4615fb71fd6a071460cda281b79ab381", "patch_ids": ["b4711bb81381372073885e14d05d442c", "ff0fda38b552c4958c149f887a424375"], "statement_hash": "fceef81003e23c13f9b85edb1bda32594c237d9e7c2bb4417176dc340ac5c450", "relations": [{"rule": 2, "type": "equivalent", "target": "1c5ced4e02d1b5521ef1e2452b440c76", "evidence": {"same_day": true, "patch_ids": ["b4711bb81381372073885e14d05d442c", "ff0fda38b552c4958c149f887a424375"], "statement_hash": "fceef81003e23c13f9b85edb1bda32594c237d9e7c2bb4417176dc340ac5c450"}}, {"rule": 2, "type": "equivalent", "target": "3dd39da7526c10e8c3b93255618c75aa", "evidence": {"same_day": true, "patch_ids": ["b4711bb81381372073885e14d05d442c", "ff0fda38b552c4958c149f887a424375"], "statement_hash": "fceef81003e23c13f9b85edb1bda32594c237d9e7c2bb4417176dc340ac5c450"}}, {"rule": 2, "type": "equivalent", "target": "4e3a50b239b385709016d4389c0a561c", "evidence": {"same_day": true, "patch_ids": ["b4711bb81381372073885e14d05d442c", "ff0fda38b552c4958c149f887a424375"], "statement_hash": "fceef81003e23c13f9b85edb1bda32594c237d9e7c2bb4417176dc340ac5c450"}}, {"rule": 2, "type": "equivalent", "target": "e0a6f77e57a9ea80fc0e0158b1142e01", "evidence": {"same_day": true, "patch_ids": ["b4711bb81381372073885e14d05d442c", "ff0fda38b552c4958c149f887a424375"], "statement_hash": "fceef81003e23c13f9b85edb1bda32594c237d9e7c2bb4417176dc340ac5c450"}}], "version": "9.6.23", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "1c5ced4e02d1b5521ef1e2452b440c76", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "允许以事务方式更新索引状态标志", "evidence": {"same_day": true, "patch_ids": ["b4711bb81381372073885e14d05d442c", "ff0fda38b552c4958c149f887a424375"], "statement_hash": "fceef81003e23c13f9b85edb1bda32594c237d9e7c2bb4417176dc340ac5c450"}, "url": "/docs/compare/?release=13.4#13.4-ab9c52ebaf3e9d34", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "4e3a50b239b385709016d4389c0a561c", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "允许以事务方式更新索引状态标志", "evidence": {"same_day": true, "patch_ids": ["b4711bb81381372073885e14d05d442c", "ff0fda38b552c4958c149f887a424375"], "statement_hash": "fceef81003e23c13f9b85edb1bda32594c237d9e7c2bb4417176dc340ac5c450"}, "url": "/docs/compare/?release=12.8#12.8-b284661d64d31cde", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "e0a6f77e57a9ea80fc0e0158b1142e01", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "允许以事务方式更新索引状态标志", "evidence": {"same_day": true, "patch_ids": ["b4711bb81381372073885e14d05d442c", "ff0fda38b552c4958c149f887a424375"], "statement_hash": "fceef81003e23c13f9b85edb1bda32594c237d9e7c2bb4417176dc340ac5c450"}, "url": "/docs/compare/?release=11.13#11.13-7f825a57fab789ce", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "3dd39da7526c10e8c3b93255618c75aa", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "允许以事务方式更新索引状态标志", "evidence": {"same_day": true, "patch_ids": ["b4711bb81381372073885e14d05d442c", "ff0fda38b552c4958c149f887a424375"], "statement_hash": "fceef81003e23c13f9b85edb1bda32594c237d9e7c2bb4417176dc340ac5c450"}, "url": "/docs/compare/?release=10.18#10.18-7f825a57fab789ce", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-c9045da568ee7841", "cves": [], "html": "<p>避免 <code>CREATE DOMAIN</code> 或 <code>ALTER DOMAIN</code> 出现在缓存计划中时损坏计划缓存条目（Tom Lane）</p>", "text": "避免 CREATE DOMAIN 或 ALTER DOMAIN 出现在缓存计划中时损坏计划缓存条目（Tom Lane）", "title": "避免 CREATE DOMAIN 或 ALTER DOMAIN 出现在缓存计划中时损坏计划缓存条目", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "f8b0f17e94ddd448b135531b3e3ee1e62c797a45f7db5bb3806cb6fae94997b5", "section_path": ["变更"], "commit_groups": [["102f31a20", "1a3d30255", "4b8b3562e", "b2c740c42", "f172438ef"]], "identity_text": "Avoid corrupting the plan cache entry when CREATE DOMAIN or ALTER DOMAIN appears in a cached plan (Tom Lane)", "commit_aliases": ["102f31a20", "1a3d30255", "4b8b3562e", "b2c740c42", "f172438ef"], "source_commits": ["1a3d30255"], "source_entry_id": "9.6.23/changes/015", "db_id": "7dce150b08afdefc510d6859ee6a625c", "patch_ids": ["b08f56f1da4c28135bcd86d1aee29903"], "statement_hash": "f76f1557111dec9e790eecdd68ffc4899ff15a918ffc9e22032a8df64f105ab4", "relations": [{"rule": 2, "type": "equivalent", "target": "2d945c8220e29212708480ff13d49edc", "evidence": {"same_day": true, "patch_ids": ["b08f56f1da4c28135bcd86d1aee29903"], "statement_hash": "f76f1557111dec9e790eecdd68ffc4899ff15a918ffc9e22032a8df64f105ab4"}}, {"rule": 2, "type": "equivalent", "target": "52ec5ee37f4168ebeaadd61026216869", "evidence": {"same_day": true, "patch_ids": ["b08f56f1da4c28135bcd86d1aee29903"], "statement_hash": "f76f1557111dec9e790eecdd68ffc4899ff15a918ffc9e22032a8df64f105ab4"}}, {"rule": 2, "type": "equivalent", "target": "5b1d123e3f5b881fd9aa5aa9d6ee5678", "evidence": {"same_day": true, "patch_ids": ["b08f56f1da4c28135bcd86d1aee29903"], "statement_hash": "f76f1557111dec9e790eecdd68ffc4899ff15a918ffc9e22032a8df64f105ab4"}}, {"rule": 2, "type": "equivalent", "target": "7096e9cdb9e280dcd89c0656cbe90f88", "evidence": {"same_day": true, "patch_ids": ["b08f56f1da4c28135bcd86d1aee29903"], "statement_hash": "f76f1557111dec9e790eecdd68ffc4899ff15a918ffc9e22032a8df64f105ab4"}}], "version": "9.6.23", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "2d945c8220e29212708480ff13d49edc", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "避免缓存计划中出现 CREATE DOMAIN 或 ALTER DOMAIN 时损坏计划缓存条目", "evidence": {"same_day": true, "patch_ids": ["b08f56f1da4c28135bcd86d1aee29903"], "statement_hash": "f76f1557111dec9e790eecdd68ffc4899ff15a918ffc9e22032a8df64f105ab4"}, "url": "/docs/compare/?release=13.4#13.4-64a35eab127e0316", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "5b1d123e3f5b881fd9aa5aa9d6ee5678", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "避免缓存计划中出现 CREATE DOMAIN 或 ALTER DOMAIN 时损坏计划缓存条目", "evidence": {"same_day": true, "patch_ids": ["b08f56f1da4c28135bcd86d1aee29903"], "statement_hash": "f76f1557111dec9e790eecdd68ffc4899ff15a918ffc9e22032a8df64f105ab4"}, "url": "/docs/compare/?release=12.8#12.8-0a088beb8326d4ae", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "7096e9cdb9e280dcd89c0656cbe90f88", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "避免缓存计划中出现 CREATE DOMAIN 或 ALTER DOMAIN 时损坏计划缓存条目", "evidence": {"same_day": true, "patch_ids": ["b08f56f1da4c28135bcd86d1aee29903"], "statement_hash": "f76f1557111dec9e790eecdd68ffc4899ff15a918ffc9e22032a8df64f105ab4"}, "url": "/docs/compare/?release=11.13#11.13-046b7b8849695a4d", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "52ec5ee37f4168ebeaadd61026216869", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "避免缓存计划中出现 CREATE DOMAIN 或 ALTER DOMAIN 时损坏计划缓存条目", "evidence": {"same_day": true, "patch_ids": ["b08f56f1da4c28135bcd86d1aee29903"], "statement_hash": "f76f1557111dec9e790eecdd68ffc4899ff15a918ffc9e22032a8df64f105ab4"}, "url": "/docs/compare/?release=10.18#10.18-046b7b8849695a4d", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-e0edac604264b086", "cves": [], "html": "<p>当 <code>postgresql.conf</code> 中相关条目被移除时，让 <code>pg_settings</code>.<code>pending_restart</code> 显示为 true（Álvaro Herrera）</p>\n<p><code>pending_restart</code> 能正确显示某个不重启 postmaster 就无法更改的条目被修改的情况，但不能显示该条目被完全移除的情况。</p>", "text": "当 postgresql.conf 中相关条目被移除时，让 pg_settings.pending_restart 显示为 true（Álvaro Herrera） pending_restart 能正确显示某个不重启 postmaster 就无法更改的条目被修改的情况，但不能显示该条目被完全移除的情况。", "title": "当 postgresql.conf 中相关条目被移除时，让 pg_settings.pending_restart 显示为 true", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "e501c0aeabee0a2597fad2b2a6075a721e5dcbafc5c93872445ff6a26e010eb9", "section_path": ["变更"], "commit_groups": [["04fa0e11a", "6feb229f5", "85ec6c322", "93a0bf239", "ad3b40eb2", "b8f91d7f9", "ddd1eac99"]], "identity_text": "Make pg_settings.pending_restart show as true when the pertinent entry in postgresql.conf has been removed (Álvaro Herrera) pending_restart correctly showed the case where an entry that cannot be changed without a postmaster restart has been modified, but not where the entry had been removed altogether.", "commit_aliases": ["04fa0e11a", "6feb229f5", "85ec6c322", "93a0bf239", "ad3b40eb2", "b8f91d7f9", "ddd1eac99"], "source_commits": ["85ec6c322"], "source_entry_id": "9.6.23/changes/016", "db_id": "4ccde26fc9842ce8e841be178ea4defd", "patch_ids": ["0b8a37692687ee6d81a0f7eabed64646"], "statement_hash": "ffdcbbe4a2469bcfb1ec79d6a8871aefdb06a4869cd79b7a00b34513bcb6bcd5", "relations": [{"rule": 2, "type": "equivalent", "target": "214ebf061a91b6e91d963d4b367a643c", "evidence": {"same_day": true, "patch_ids": ["0b8a37692687ee6d81a0f7eabed64646"], "statement_hash": "ffdcbbe4a2469bcfb1ec79d6a8871aefdb06a4869cd79b7a00b34513bcb6bcd5"}}, {"rule": 2, "type": "equivalent", "target": "2ddb89f6b40031fc05bf25e7e60df95a", "evidence": {"same_day": true, "patch_ids": ["0b8a37692687ee6d81a0f7eabed64646"], "statement_hash": "ffdcbbe4a2469bcfb1ec79d6a8871aefdb06a4869cd79b7a00b34513bcb6bcd5"}}, {"rule": 2, "type": "equivalent", "target": "f51763e61424d26a901669227dbf19ac", "evidence": {"same_day": true, "patch_ids": ["0b8a37692687ee6d81a0f7eabed64646"], "statement_hash": "ffdcbbe4a2469bcfb1ec79d6a8871aefdb06a4869cd79b7a00b34513bcb6bcd5"}}, {"rule": 2, "type": "equivalent", "target": "fb2ac3a9466149d81735ba13bdc69d04", "evidence": {"same_day": true, "patch_ids": ["0b8a37692687ee6d81a0f7eabed64646"], "statement_hash": "ffdcbbe4a2469bcfb1ec79d6a8871aefdb06a4869cd79b7a00b34513bcb6bcd5"}}], "version": "9.6.23", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "fb2ac3a9466149d81735ba13bdc69d04", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "当 postgresql.conf 中的相关条目被移除时，使 pg_settings.pending_restart 显示为 true", "evidence": {"same_day": true, "patch_ids": ["0b8a37692687ee6d81a0f7eabed64646"], "statement_hash": "ffdcbbe4a2469bcfb1ec79d6a8871aefdb06a4869cd79b7a00b34513bcb6bcd5"}, "url": "/docs/compare/?release=13.4#13.4-5f53af2ccbf7469b", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "214ebf061a91b6e91d963d4b367a643c", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "当 postgresql.conf 中的相关条目被移除时，使 pg_settings.pending_restart 显示为 true", "evidence": {"same_day": true, "patch_ids": ["0b8a37692687ee6d81a0f7eabed64646"], "statement_hash": "ffdcbbe4a2469bcfb1ec79d6a8871aefdb06a4869cd79b7a00b34513bcb6bcd5"}, "url": "/docs/compare/?release=12.8#12.8-68221b0ab049b642", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "f51763e61424d26a901669227dbf19ac", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "当 postgresql.conf 中的相关条目被移除时，使 pg_settings.pending_restart 显示为 true", "evidence": {"same_day": true, "patch_ids": ["0b8a37692687ee6d81a0f7eabed64646"], "statement_hash": "ffdcbbe4a2469bcfb1ec79d6a8871aefdb06a4869cd79b7a00b34513bcb6bcd5"}, "url": "/docs/compare/?release=11.13#11.13-6bd198750a84ddb3", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "2ddb89f6b40031fc05bf25e7e60df95a", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "当 postgresql.conf 中的相关条目被移除时，使 pg_settings.pending_restart 显示为 true", "evidence": {"same_day": true, "patch_ids": ["0b8a37692687ee6d81a0f7eabed64646"], "statement_hash": "ffdcbbe4a2469bcfb1ec79d6a8871aefdb06a4869cd79b7a00b34513bcb6bcd5"}, "url": "/docs/compare/?release=10.18#10.18-6bd198750a84ddb3", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-14699dcd8ac351ac", "cves": [], "html": "<p>修复新备库跟随新主库时的一种边界失败（Dilip Kumar、Robert Haas）</p>\n<p>在条件的一种狭窄组合下，备库可能最终试图跟随错误的 WAL 时间线。</p>", "text": "修复新备库跟随新主库时的一种边界失败（Dilip Kumar、Robert Haas） 在条件的一种狭窄组合下，备库可能最终试图跟随错误的 WAL 时间线。", "title": "修复新备库跟随新主库时的一种边界失败", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "e9e4ffa69c6b2eba056818265ba861c49270594022d935df6eacb21199542794", "section_path": ["变更"], "commit_groups": [["082656429", "31bda6a22", "5d950c721", "6eb5b9ae3", "ca158c168", "caba8f0d4"], ["0cd8a55bd", "1730a3334", "45322bd9b", "8b9e1275c", "c3652f976", "dee7ad20d"], ["1c2c6a9a2", "2208d71a0", "3465328aa", "4dcb1d087", "534b9be80", "6cd0e55f9"], ["1dc53c914", "54a5ed220", "c0a758780", "d906d106f", "e46f6a078", "fb3d6b0e1"], ["319d616dd", "47d5781cb", "84cb4be71", "8cb3d95c2", "914c716ca", "9d97c3408"], ["38982b8b7", "6fc2febc2", "75212a854", "9778a191a", "99a0a2ada"]], "identity_text": "Fix corner-case failure of a new standby to follow a new primary (Dilip Kumar, Robert Haas) Under a narrow combination of conditions, the standby could wind up trying to follow the wrong WAL timeline.", "commit_aliases": ["082656429", "0cd8a55bd", "1730a3334", "1c2c6a9a2", "1dc53c914", "2208d71a0", "319d616dd", "31bda6a22", "3465328aa", "38982b8b7", "45322bd9b", "47d5781cb", "4dcb1d087", "534b9be80", "54a5ed220", "5d950c721", "6cd0e55f9", "6eb5b9ae3", "6fc2febc2", "75212a854", "84cb4be71", "8b9e1275c", "8cb3d95c2", "914c716ca", "9778a191a", "99a0a2ada", "9d97c3408", "c0a758780", "c3652f976", "ca158c168", "caba8f0d4", "d906d106f", "dee7ad20d", "e46f6a078", "fb3d6b0e1"], "source_commits": ["6cd0e55f9", "6eb5b9ae3", "75212a854", "84cb4be71", "dee7ad20d", "e46f6a078"], "source_entry_id": "9.6.23/changes/017", "db_id": "b3d40558fa7aef60774ec2f530ad9e77", "patch_ids": ["08b8d0ff13a5752c8cca9202684cbd82", "6f49a078789b6b87ee910c861b9b52bc", "c4012f5057c5485d2cc58823e633802b", "c7b73d15e7dc761cc844304dd5abfd92", "da3143c17fb547819c64196ac888d4dd", "ffb09d6dcb744b48c217698cffaeea90"], "statement_hash": "f435fa3e057a13847988b369db335be3f7eec94e6bcbfb6345a2cf26760f9d74", "relations": [{"rule": 2, "type": "equivalent", "target": "3616ef0b9921d1ae022b984a45ef8e15", "evidence": {"same_day": true, "patch_ids": ["08b8d0ff13a5752c8cca9202684cbd82", "6f49a078789b6b87ee910c861b9b52bc", "c4012f5057c5485d2cc58823e633802b", "c7b73d15e7dc761cc844304dd5abfd92", "da3143c17fb547819c64196ac888d4dd", "ffb09d6dcb744b48c217698cffaeea90"], "statement_hash": "f435fa3e057a13847988b369db335be3f7eec94e6bcbfb6345a2cf26760f9d74"}}, {"rule": 2, "type": "equivalent", "target": "aeb95223cc26407004d4ca03fbec31c9", "evidence": {"same_day": true, "patch_ids": ["08b8d0ff13a5752c8cca9202684cbd82", "6f49a078789b6b87ee910c861b9b52bc", "c4012f5057c5485d2cc58823e633802b", "c7b73d15e7dc761cc844304dd5abfd92", "da3143c17fb547819c64196ac888d4dd", "ffb09d6dcb744b48c217698cffaeea90"], "statement_hash": "f435fa3e057a13847988b369db335be3f7eec94e6bcbfb6345a2cf26760f9d74"}}, {"rule": 2, "type": "equivalent", "target": "cd470037835a657b48fee155589eb562", "evidence": {"same_day": true, "patch_ids": ["08b8d0ff13a5752c8cca9202684cbd82", "6f49a078789b6b87ee910c861b9b52bc", "c4012f5057c5485d2cc58823e633802b", "c7b73d15e7dc761cc844304dd5abfd92", "da3143c17fb547819c64196ac888d4dd", "ffb09d6dcb744b48c217698cffaeea90"], "statement_hash": "f435fa3e057a13847988b369db335be3f7eec94e6bcbfb6345a2cf26760f9d74"}}, {"rule": 2, "type": "equivalent", "target": "f8536246cf49ffd2fc1716d9b62533d8", "evidence": {"same_day": true, "patch_ids": ["08b8d0ff13a5752c8cca9202684cbd82", "6f49a078789b6b87ee910c861b9b52bc", "c4012f5057c5485d2cc58823e633802b", "c7b73d15e7dc761cc844304dd5abfd92", "da3143c17fb547819c64196ac888d4dd", "ffb09d6dcb744b48c217698cffaeea90"], "statement_hash": "f435fa3e057a13847988b369db335be3f7eec94e6bcbfb6345a2cf26760f9d74"}}], "version": "9.6.23", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "aeb95223cc26407004d4ca03fbec31c9", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "修复新备库在边界情况下无法跟随新主库的问题", "evidence": {"same_day": true, "patch_ids": ["08b8d0ff13a5752c8cca9202684cbd82", "6f49a078789b6b87ee910c861b9b52bc", "c4012f5057c5485d2cc58823e633802b", "c7b73d15e7dc761cc844304dd5abfd92", "da3143c17fb547819c64196ac888d4dd", "ffb09d6dcb744b48c217698cffaeea90"], "statement_hash": "f435fa3e057a13847988b369db335be3f7eec94e6bcbfb6345a2cf26760f9d74"}, "url": "/docs/compare/?release=13.4#13.4-b05811dd01763640", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "cd470037835a657b48fee155589eb562", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "修复新备库在边界情况下无法跟随新主库的问题", "evidence": {"same_day": true, "patch_ids": ["08b8d0ff13a5752c8cca9202684cbd82", "6f49a078789b6b87ee910c861b9b52bc", "c4012f5057c5485d2cc58823e633802b", "c7b73d15e7dc761cc844304dd5abfd92", "da3143c17fb547819c64196ac888d4dd", "ffb09d6dcb744b48c217698cffaeea90"], "statement_hash": "f435fa3e057a13847988b369db335be3f7eec94e6bcbfb6345a2cf26760f9d74"}, "url": "/docs/compare/?release=12.8#12.8-de96cf3d91beee00", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "f8536246cf49ffd2fc1716d9b62533d8", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "修复新备库在边界情况下无法跟随新主库的问题", "evidence": {"same_day": true, "patch_ids": ["08b8d0ff13a5752c8cca9202684cbd82", "6f49a078789b6b87ee910c861b9b52bc", "c4012f5057c5485d2cc58823e633802b", "c7b73d15e7dc761cc844304dd5abfd92", "da3143c17fb547819c64196ac888d4dd", "ffb09d6dcb744b48c217698cffaeea90"], "statement_hash": "f435fa3e057a13847988b369db335be3f7eec94e6bcbfb6345a2cf26760f9d74"}, "url": "/docs/compare/?release=11.13#11.13-cec5ef0d1982dcc5", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "3616ef0b9921d1ae022b984a45ef8e15", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "修复新备库在边界情况下无法跟随新主库的问题", "evidence": {"same_day": true, "patch_ids": ["08b8d0ff13a5752c8cca9202684cbd82", "6f49a078789b6b87ee910c861b9b52bc", "c4012f5057c5485d2cc58823e633802b", "c7b73d15e7dc761cc844304dd5abfd92", "da3143c17fb547819c64196ac888d4dd", "ffb09d6dcb744b48c217698cffaeea90"], "statement_hash": "f435fa3e057a13847988b369db335be3f7eec94e6bcbfb6345a2cf26760f9d74"}, "url": "/docs/compare/?release=10.18#10.18-cec5ef0d1982dcc5", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-14604a39221c85af", "cves": [], "html": "<p>当 WAL 重放一条事务中止记录导致文件截断时，更新最小恢复点（Fujii Masao）</p>\n<p>文件截断是不可逆的，因此在该记录之前的点停止恢复不再安全。事务提交的相应情况多年前已修复，但这一处被遗漏了。</p>", "text": "当 WAL 重放一条事务中止记录导致文件截断时，更新最小恢复点（Fujii Masao） 文件截断是不可逆的，因此在该记录之前的点停止恢复不再安全。事务提交的相应情况多年前已修复，但这一处被遗漏了。", "title": "当 WAL 重放一条事务中止记录导致文件截断时，更新最小恢复点", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "8b005fc252b00abf8bcf2f28cb0ebd125fa7279de3b231ce4762c29a7eae64ee", "section_path": ["变更"], "commit_groups": [["02ef4d1e2", "25fe5b2bb", "32d182dd0", "a00c138b7", "a66b05b42", "d7ded08e6", "f2a3d7404"]], "identity_text": "Update minimum recovery point when WAL replay of a transaction abort record causes file truncation (Fujii Masao) File truncation is irreversible, so it's no longer safe to stop recovery at a point earlier than that record. The corresponding case for transaction commit was fixed years ago, but this one was overlooked.", "commit_aliases": ["02ef4d1e2", "25fe5b2bb", "32d182dd0", "a00c138b7", "a66b05b42", "d7ded08e6", "f2a3d7404"], "source_commits": ["32d182dd0"], "source_entry_id": "9.6.23/changes/018", "db_id": "11912ef944db6264080fb946153b3d45", "patch_ids": ["2e31ed09b90cb0458ab33cda47de2fbf"], "statement_hash": "80950ec8b6c501e69048d3ced6d4cce78e02a6d9551b14f8005608a863a58104", "relations": [{"rule": 2, "type": "equivalent", "target": "1bcfb1754b9a67abb627ccd3b70554c5", "evidence": {"same_day": true, "patch_ids": ["2e31ed09b90cb0458ab33cda47de2fbf"], "statement_hash": "80950ec8b6c501e69048d3ced6d4cce78e02a6d9551b14f8005608a863a58104"}}, {"rule": 2, "type": "equivalent", "target": "a5118256a69cae1f9d8434f4f93c0bc7", "evidence": {"same_day": true, "patch_ids": ["2e31ed09b90cb0458ab33cda47de2fbf"], "statement_hash": "80950ec8b6c501e69048d3ced6d4cce78e02a6d9551b14f8005608a863a58104"}}, {"rule": 2, "type": "equivalent", "target": "d544b9a04cad4461b87f5c6b6dcf2eea", "evidence": {"same_day": true, "patch_ids": ["2e31ed09b90cb0458ab33cda47de2fbf"], "statement_hash": "80950ec8b6c501e69048d3ced6d4cce78e02a6d9551b14f8005608a863a58104"}}, {"rule": 2, "type": "equivalent", "target": "d7e39e3de4dbacf0dc21f84ece53dd24", "evidence": {"same_day": true, "patch_ids": ["2e31ed09b90cb0458ab33cda47de2fbf"], "statement_hash": "80950ec8b6c501e69048d3ced6d4cce78e02a6d9551b14f8005608a863a58104"}}], "version": "9.6.23", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "1bcfb1754b9a67abb627ccd3b70554c5", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "当事务中止记录的 WAL 重放导致文件截断时，更新最小恢复点", "evidence": {"same_day": true, "patch_ids": ["2e31ed09b90cb0458ab33cda47de2fbf"], "statement_hash": "80950ec8b6c501e69048d3ced6d4cce78e02a6d9551b14f8005608a863a58104"}, "url": "/docs/compare/?release=13.4#13.4-5f0883c04f35d2b1", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "d7e39e3de4dbacf0dc21f84ece53dd24", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "当事务中止记录的 WAL 重放导致文件截断时，更新最小恢复点", "evidence": {"same_day": true, "patch_ids": ["2e31ed09b90cb0458ab33cda47de2fbf"], "statement_hash": "80950ec8b6c501e69048d3ced6d4cce78e02a6d9551b14f8005608a863a58104"}, "url": "/docs/compare/?release=12.8#12.8-7e090fef529d8781", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "a5118256a69cae1f9d8434f4f93c0bc7", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "当事务中止记录的 WAL 重放导致文件截断时，更新最小恢复点", "evidence": {"same_day": true, "patch_ids": ["2e31ed09b90cb0458ab33cda47de2fbf"], "statement_hash": "80950ec8b6c501e69048d3ced6d4cce78e02a6d9551b14f8005608a863a58104"}, "url": "/docs/compare/?release=11.13#11.13-1da334ee246c8abb", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "d544b9a04cad4461b87f5c6b6dcf2eea", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "当事务中止记录的 WAL 重放导致文件截断时，更新最小恢复点", "evidence": {"same_day": true, "patch_ids": ["2e31ed09b90cb0458ab33cda47de2fbf"], "statement_hash": "80950ec8b6c501e69048d3ced6d4cce78e02a6d9551b14f8005608a863a58104"}, "url": "/docs/compare/?release=10.18#10.18-1da334ee246c8abb", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-af9af2ce890884cb", "cves": [], "html": "<p>确保备库服务器的启动进程在等待 WAL 到达期间能及时响应关闭信号（Fujii Masao、Soumyadeep Chakraborty）</p>", "text": "确保备库服务器的启动进程在等待 WAL 到达期间能及时响应关闭信号（Fujii Masao、Soumyadeep Chakraborty）", "title": "确保备库服务器的启动进程在等待 WAL 到达期间能及时响应关闭信号", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "4868c66b6aa2796bff0b1645103555463399fa4433dbf81c33b5486ffbcb9836", "section_path": ["变更"], "commit_groups": [["1bcfda30f", "2945a488a", "710fabfa2", "8d091922f", "8e5be9cfe", "9c83398f8"]], "identity_text": "Ensure that a standby server's startup process will respond to a shutdown signal promptly while waiting for WAL to arrive (Fujii Masao, Soumyadeep Chakraborty)", "commit_aliases": ["1bcfda30f", "2945a488a", "710fabfa2", "8d091922f", "8e5be9cfe", "9c83398f8"], "source_commits": ["8e5be9cfe"], "source_entry_id": "9.6.23/changes/019", "db_id": "37eaba43ad39d51859d131d6b40fc086", "patch_ids": ["b4370cd8908cda8beaf0bf99e5020770"], "statement_hash": "54c47198eedc1d7f141df88dfb2813c89a78632a7c86162072ebb67dcf06a3d3", "relations": [{"rule": 2, "type": "equivalent", "target": "0dd7ce96d2f6be23a93d89b24c4d73f1", "evidence": {"same_day": true, "patch_ids": ["b4370cd8908cda8beaf0bf99e5020770"], "statement_hash": "54c47198eedc1d7f141df88dfb2813c89a78632a7c86162072ebb67dcf06a3d3"}}, {"rule": 2, "type": "equivalent", "target": "1ef23efdc5470ace11e67ed189236612", "evidence": {"same_day": true, "patch_ids": ["b4370cd8908cda8beaf0bf99e5020770"], "statement_hash": "54c47198eedc1d7f141df88dfb2813c89a78632a7c86162072ebb67dcf06a3d3"}}, {"rule": 2, "type": "equivalent", "target": "5b6dbab383b7bc5932f0d7634b8362e5", "evidence": {"same_day": true, "patch_ids": ["b4370cd8908cda8beaf0bf99e5020770"], "statement_hash": "54c47198eedc1d7f141df88dfb2813c89a78632a7c86162072ebb67dcf06a3d3"}}, {"rule": 2, "type": "equivalent", "target": "9a38508aa62e55ec5ce03dba95ec7497", "evidence": {"same_day": true, "patch_ids": ["b4370cd8908cda8beaf0bf99e5020770"], "statement_hash": "54c47198eedc1d7f141df88dfb2813c89a78632a7c86162072ebb67dcf06a3d3"}}], "version": "9.6.23", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "1ef23efdc5470ace11e67ed189236612", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "确保备库的启动进程在等待 WAL 到达时及时响应关闭信号", "evidence": {"same_day": true, "patch_ids": ["b4370cd8908cda8beaf0bf99e5020770"], "statement_hash": "54c47198eedc1d7f141df88dfb2813c89a78632a7c86162072ebb67dcf06a3d3"}, "url": "/docs/compare/?release=13.4#13.4-bb8f9c32686d3cb5", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "0dd7ce96d2f6be23a93d89b24c4d73f1", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "确保备库的启动进程在等待 WAL 到达时及时响应关闭信号", "evidence": {"same_day": true, "patch_ids": ["b4370cd8908cda8beaf0bf99e5020770"], "statement_hash": "54c47198eedc1d7f141df88dfb2813c89a78632a7c86162072ebb67dcf06a3d3"}, "url": "/docs/compare/?release=12.8#12.8-15aa59ae480f7b14", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "5b6dbab383b7bc5932f0d7634b8362e5", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "确保备库的启动进程在等待 WAL 到达时及时响应关闭信号", "evidence": {"same_day": true, "patch_ids": ["b4370cd8908cda8beaf0bf99e5020770"], "statement_hash": "54c47198eedc1d7f141df88dfb2813c89a78632a7c86162072ebb67dcf06a3d3"}, "url": "/docs/compare/?release=11.13#11.13-e3d4f2ce06149d34", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "9a38508aa62e55ec5ce03dba95ec7497", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "确保备库的启动进程在等待 WAL 到达时及时响应关闭信号", "evidence": {"same_day": true, "patch_ids": ["b4370cd8908cda8beaf0bf99e5020770"], "statement_hash": "54c47198eedc1d7f141df88dfb2813c89a78632a7c86162072ebb67dcf06a3d3"}, "url": "/docs/compare/?release=10.18#10.18-e3d4f2ce06149d34", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-bde6f0d17569201f", "cves": [], "html": "<p>加锁以避免在另一进程并发写入时读到不正确的 relmapper 数据（Heikki Linnakangas）</p>", "text": "加锁以避免在另一进程并发写入时读到不正确的 relmapper 数据（Heikki Linnakangas）", "title": "加锁以避免在另一进程并发写入时读到不正确的 relmapper 数据", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "5193295917672241084b027ac318620b419267fca5a1a68400b27b47a7ba7b53", "section_path": ["变更"], "commit_groups": [["2a0ab13f8", "85ae8ccb2", "a5eacd86b", "b6d8d2073", "c78bb32c1", "caac19650"], ["5956795cb", "6fb377e5f", "8b01a403c", "9b8ed0f52", "eb3bd243a", "fbbc48995"]], "identity_text": "Add locking to avoid reading incorrect relmapper data in the face of a concurrent write from another process (Heikki Linnakangas)", "commit_aliases": ["2a0ab13f8", "5956795cb", "6fb377e5f", "85ae8ccb2", "8b01a403c", "9b8ed0f52", "a5eacd86b", "b6d8d2073", "c78bb32c1", "caac19650", "eb3bd243a", "fbbc48995"], "source_commits": ["5956795cb", "85ae8ccb2"], "source_entry_id": "9.6.23/changes/020", "db_id": "a041d4b543eca588d5bc6529ff26d6c2", "patch_ids": ["4ce1646db70329eb9abed19a16977f07", "a3a57a396084bdad3507d3e4b785f00f"], "statement_hash": "63fbe23a98374912d05c8f36acc406a88d38899bd316eeb727879f1b735e2bb7", "relations": [{"rule": 2, "type": "equivalent", "target": "0f73930e83af7ce553ef5aef9a6760b3", "evidence": {"same_day": true, "patch_ids": ["4ce1646db70329eb9abed19a16977f07", "a3a57a396084bdad3507d3e4b785f00f"], "statement_hash": "63fbe23a98374912d05c8f36acc406a88d38899bd316eeb727879f1b735e2bb7"}}, {"rule": 2, "type": "equivalent", "target": "427ea6f919df64f64f82e992c4cd88f2", "evidence": {"same_day": true, "patch_ids": ["4ce1646db70329eb9abed19a16977f07", "a3a57a396084bdad3507d3e4b785f00f"], "statement_hash": "63fbe23a98374912d05c8f36acc406a88d38899bd316eeb727879f1b735e2bb7"}}, {"rule": 2, "type": "equivalent", "target": "8d4549adc503b6ee7ece7245aa8afc2c", "evidence": {"same_day": true, "patch_ids": ["4ce1646db70329eb9abed19a16977f07", "a3a57a396084bdad3507d3e4b785f00f"], "statement_hash": "63fbe23a98374912d05c8f36acc406a88d38899bd316eeb727879f1b735e2bb7"}}, {"rule": 2, "type": "equivalent", "target": "9f6bc99e37a9123069b9b5ad699fd998", "evidence": {"same_day": true, "patch_ids": ["4ce1646db70329eb9abed19a16977f07", "a3a57a396084bdad3507d3e4b785f00f"], "statement_hash": "63fbe23a98374912d05c8f36acc406a88d38899bd316eeb727879f1b735e2bb7"}}], "version": "9.6.23", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "0f73930e83af7ce553ef5aef9a6760b3", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "增加锁定，避免其他进程并发写入时读取到错误的 relmapper 数据", "evidence": {"same_day": true, "patch_ids": ["4ce1646db70329eb9abed19a16977f07", "a3a57a396084bdad3507d3e4b785f00f"], "statement_hash": "63fbe23a98374912d05c8f36acc406a88d38899bd316eeb727879f1b735e2bb7"}, "url": "/docs/compare/?release=13.4#13.4-473906b314d98656", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "8d4549adc503b6ee7ece7245aa8afc2c", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "增加锁定，避免其他进程并发写入时读取到错误的 relmapper 数据", "evidence": {"same_day": true, "patch_ids": ["4ce1646db70329eb9abed19a16977f07", "a3a57a396084bdad3507d3e4b785f00f"], "statement_hash": "63fbe23a98374912d05c8f36acc406a88d38899bd316eeb727879f1b735e2bb7"}, "url": "/docs/compare/?release=12.8#12.8-4f20de6583d51dd4", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "427ea6f919df64f64f82e992c4cd88f2", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "增加锁定，避免其他进程并发写入时读取到错误的 relmapper 数据", "evidence": {"same_day": true, "patch_ids": ["4ce1646db70329eb9abed19a16977f07", "a3a57a396084bdad3507d3e4b785f00f"], "statement_hash": "63fbe23a98374912d05c8f36acc406a88d38899bd316eeb727879f1b735e2bb7"}, "url": "/docs/compare/?release=11.13#11.13-eed3805b64932da5", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "9f6bc99e37a9123069b9b5ad699fd998", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "增加锁定，避免其他进程并发写入时读取到错误的 relmapper 数据", "evidence": {"same_day": true, "patch_ids": ["4ce1646db70329eb9abed19a16977f07", "a3a57a396084bdad3507d3e4b785f00f"], "statement_hash": "63fbe23a98374912d05c8f36acc406a88d38899bd316eeb727879f1b735e2bb7"}, "url": "/docs/compare/?release=10.18#10.18-eed3805b64932da5", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-15f22dcf1147223b", "cves": [], "html": "<p>修复推测插入的逻辑解码中的错误情况和内存泄漏（Dilip Kumar）</p>", "text": "修复推测插入的逻辑解码中的错误情况和内存泄漏（Dilip Kumar）", "title": "修复推测插入的逻辑解码中的错误情况和内存泄漏", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "ec9f0db92f2045afecc9ec4b2e47484099235efef88dcab3dfd41617d7ac766b", "section_path": ["变更"], "commit_groups": [["1f8a934e0", "35f56c124", "40ad7ebff", "43acadfce", "4daa140a2", "602a32a68"], ["56e366f67", "72b51e214", "e95f617ac"]], "identity_text": "Fix error cases and memory leaks in logical decoding of speculative insertions (Dilip Kumar)", "commit_aliases": ["1f8a934e0", "35f56c124", "40ad7ebff", "43acadfce", "4daa140a2", "56e366f67", "602a32a68", "72b51e214", "e95f617ac"], "source_commits": ["43acadfce", "56e366f67"], "source_entry_id": "9.6.23/changes/021", "db_id": "7b154a3c3b0919ac37b7a24be597587f", "patch_ids": ["39b6e4a4c8ad3c2051bad82f5e017694", "72ee0416c2a3da46c68780831654663f"], "statement_hash": "e364cd93900b7fe215c3f035a953ba58c2f7f3e2fa98c59f584d04e6e2ceca46", "relations": [{"rule": 2, "type": "equivalent", "target": "22469e038ca4b5f4d5326684206ea456", "evidence": {"same_day": true, "patch_ids": ["39b6e4a4c8ad3c2051bad82f5e017694", "72ee0416c2a3da46c68780831654663f"], "statement_hash": "e364cd93900b7fe215c3f035a953ba58c2f7f3e2fa98c59f584d04e6e2ceca46"}}, {"rule": 2, "type": "equivalent", "target": "66c321f6f5faf54fb76f5b7ea6b0b566", "evidence": {"same_day": true, "patch_ids": ["39b6e4a4c8ad3c2051bad82f5e017694", "72ee0416c2a3da46c68780831654663f"], "statement_hash": "e364cd93900b7fe215c3f035a953ba58c2f7f3e2fa98c59f584d04e6e2ceca46"}}, {"rule": 2, "type": "equivalent", "target": "8146c60bb19a4af674fcc6f419eb2e7e", "evidence": {"same_day": true, "patch_ids": ["39b6e4a4c8ad3c2051bad82f5e017694", "72ee0416c2a3da46c68780831654663f"], "statement_hash": "e364cd93900b7fe215c3f035a953ba58c2f7f3e2fa98c59f584d04e6e2ceca46"}}, {"rule": 2, "type": "equivalent", "target": "dedc9463fac51ce29d57ad7dabc9d969", "evidence": {"same_day": true, "patch_ids": ["39b6e4a4c8ad3c2051bad82f5e017694", "72ee0416c2a3da46c68780831654663f"], "statement_hash": "e364cd93900b7fe215c3f035a953ba58c2f7f3e2fa98c59f584d04e6e2ceca46"}}], "version": "9.6.23", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "8146c60bb19a4af674fcc6f419eb2e7e", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "修复对推测插入进行逻辑解码时的错误情况和内存泄漏", "evidence": {"same_day": true, "patch_ids": ["39b6e4a4c8ad3c2051bad82f5e017694", "72ee0416c2a3da46c68780831654663f"], "statement_hash": "e364cd93900b7fe215c3f035a953ba58c2f7f3e2fa98c59f584d04e6e2ceca46"}, "url": "/docs/compare/?release=13.4#13.4-10ddb704a00d710e", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "22469e038ca4b5f4d5326684206ea456", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "修复对推测插入进行逻辑解码时的错误情况和内存泄漏", "evidence": {"same_day": true, "patch_ids": ["39b6e4a4c8ad3c2051bad82f5e017694", "72ee0416c2a3da46c68780831654663f"], "statement_hash": "e364cd93900b7fe215c3f035a953ba58c2f7f3e2fa98c59f584d04e6e2ceca46"}, "url": "/docs/compare/?release=12.8#12.8-459297cd9535aad0", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "66c321f6f5faf54fb76f5b7ea6b0b566", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "修复对推测插入进行逻辑解码时的错误情况和内存泄漏", "evidence": {"same_day": true, "patch_ids": ["39b6e4a4c8ad3c2051bad82f5e017694", "72ee0416c2a3da46c68780831654663f"], "statement_hash": "e364cd93900b7fe215c3f035a953ba58c2f7f3e2fa98c59f584d04e6e2ceca46"}, "url": "/docs/compare/?release=11.13#11.13-84c916e2c4a70b7f", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "dedc9463fac51ce29d57ad7dabc9d969", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "修复对推测插入进行逻辑解码时的错误情况和内存泄漏", "evidence": {"same_day": true, "patch_ids": ["39b6e4a4c8ad3c2051bad82f5e017694", "72ee0416c2a3da46c68780831654663f"], "statement_hash": "e364cd93900b7fe215c3f035a953ba58c2f7f3e2fa98c59f584d04e6e2ceca46"}, "url": "/docs/compare/?release=10.18#10.18-84c916e2c4a70b7f", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-8f1f52ad9d4c259f", "cves": [], "html": "<p>修复 <code>CREATE TABLE ... AS EXECUTE</code> 某些错误情况下的计划缓存引用泄漏（Tom Lane）</p>", "text": "修复 CREATE TABLE ... AS EXECUTE 某些错误情况下的计划缓存引用泄漏（Tom Lane）", "title": "修复 CREATE TABLE ... AS EXECUTE 某些错误情况下的计划缓存引用泄漏", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "895a3c43e6b665ef9ac5d0d522969659de5417da28dfd417046cf3911af4ddc2", "section_path": ["变更"], "commit_groups": [["131ea3e90", "17d962cca", "9cf163266", "a6f7745a3", "c50596cdc", "d03a41d1c"]], "identity_text": "Fix plan cache reference leaks in some error cases in CREATE TABLE ... AS EXECUTE (Tom Lane)", "commit_aliases": ["131ea3e90", "17d962cca", "9cf163266", "a6f7745a3", "c50596cdc", "d03a41d1c"], "source_commits": ["c50596cdc"], "source_entry_id": "9.6.23/changes/022", "db_id": "2ad813b50b5ed7ff5051941784681971", "patch_ids": ["6f0a3daaeb3b544ddeb4978d8976610b"], "statement_hash": "e32291faa88854db8cc2ad827e4ae69ccef40b064845194c4700c039c301f2cc", "relations": [{"rule": 2, "type": "equivalent", "target": "02be8c1d78dec48705446a70bc41b00d", "evidence": {"same_day": true, "patch_ids": ["6f0a3daaeb3b544ddeb4978d8976610b"], "statement_hash": "e32291faa88854db8cc2ad827e4ae69ccef40b064845194c4700c039c301f2cc"}}, {"rule": 2, "type": "equivalent", "target": "2c84fe2ea7103a2a46a4f74631849923", "evidence": {"same_day": true, "patch_ids": ["6f0a3daaeb3b544ddeb4978d8976610b"], "statement_hash": "e32291faa88854db8cc2ad827e4ae69ccef40b064845194c4700c039c301f2cc"}}, {"rule": 2, "type": "equivalent", "target": "619d3bdcafefd4fe2eb7670d84937426", "evidence": {"same_day": true, "patch_ids": ["6f0a3daaeb3b544ddeb4978d8976610b"], "statement_hash": "e32291faa88854db8cc2ad827e4ae69ccef40b064845194c4700c039c301f2cc"}}, {"rule": 2, "type": "equivalent", "target": "ed8fba5ef224d016f86419eb7e14359e", "evidence": {"same_day": true, "patch_ids": ["6f0a3daaeb3b544ddeb4978d8976610b"], "statement_hash": "e32291faa88854db8cc2ad827e4ae69ccef40b064845194c4700c039c301f2cc"}}], "version": "9.6.23", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "ed8fba5ef224d016f86419eb7e14359e", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "修复 CREATE TABLE ... AS EXECUTE 在某些错误情况下的计划缓存引用泄漏", "evidence": {"same_day": true, "patch_ids": ["6f0a3daaeb3b544ddeb4978d8976610b"], "statement_hash": "e32291faa88854db8cc2ad827e4ae69ccef40b064845194c4700c039c301f2cc"}, "url": "/docs/compare/?release=13.4#13.4-6307ccd9c444395c", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "619d3bdcafefd4fe2eb7670d84937426", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "修复 CREATE TABLE ... AS EXECUTE 在某些错误情况下的计划缓存引用泄漏", "evidence": {"same_day": true, "patch_ids": ["6f0a3daaeb3b544ddeb4978d8976610b"], "statement_hash": "e32291faa88854db8cc2ad827e4ae69ccef40b064845194c4700c039c301f2cc"}, "url": "/docs/compare/?release=12.8#12.8-a5c781c23f251d20", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "2c84fe2ea7103a2a46a4f74631849923", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "修复 CREATE TABLE ... AS EXECUTE 在某些错误情况下的计划缓存引用泄漏", "evidence": {"same_day": true, "patch_ids": ["6f0a3daaeb3b544ddeb4978d8976610b"], "statement_hash": "e32291faa88854db8cc2ad827e4ae69ccef40b064845194c4700c039c301f2cc"}, "url": "/docs/compare/?release=11.13#11.13-b7e85b27d5caf68d", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "02be8c1d78dec48705446a70bc41b00d", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "修复 CREATE TABLE ... AS EXECUTE 在某些错误情况下的计划缓存引用泄漏", "evidence": {"same_day": true, "patch_ids": ["6f0a3daaeb3b544ddeb4978d8976610b"], "statement_hash": "e32291faa88854db8cc2ad827e4ae69ccef40b064845194c4700c039c301f2cc"}, "url": "/docs/compare/?release=10.18#10.18-b7e85b27d5caf68d", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-8d102dc4b32955ba", "cves": [], "html": "<p>修复释放 BackgroundWorkerSlots 时可能的竞态条件（Tom Lane）</p>\n<p>这很可能没有修复 Intel 硬件上任何可观察的 bug，但内存排序规则较弱的机器可能出现问题。</p>", "text": "修复释放 BackgroundWorkerSlots 时可能的竞态条件（Tom Lane） 这很可能没有修复 Intel 硬件上任何可观察的 bug，但内存排序规则较弱的机器可能出现问题。", "title": "修复释放 BackgroundWorkerSlots 时可能的竞态条件", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "e5640006b2f9db1363971051e0cea902b18aa9119d7c622858d60a5d6c8b28d3", "section_path": ["变更"], "commit_groups": [["30d8bad49", "5d195dc40", "6bcb51968", "6fcbaea7a", "c3cc73e14", "c76ceacbd"]], "identity_text": "Fix possible race condition when releasing BackgroundWorkerSlots (Tom Lane) It's likely that this doesn't fix any observable bug on Intel hardware, but machines with weaker memory ordering rules could have problems.", "commit_aliases": ["30d8bad49", "5d195dc40", "6bcb51968", "6fcbaea7a", "c3cc73e14", "c76ceacbd"], "source_commits": ["5d195dc40"], "source_entry_id": "9.6.23/changes/023", "db_id": "5e317a212b60fb5bf6d470d68fdb1be5", "patch_ids": ["085b8ddcb0abab7397a6e851375a74cf"], "statement_hash": "a86740f2fcadc48506f118b665a49651801f210260a157d67fda1e52e6bcde7b", "relations": [{"rule": 2, "type": "equivalent", "target": "60be1e3c760567781504f29248f63a29", "evidence": {"same_day": true, "patch_ids": ["085b8ddcb0abab7397a6e851375a74cf"], "statement_hash": "a86740f2fcadc48506f118b665a49651801f210260a157d67fda1e52e6bcde7b"}}, {"rule": 2, "type": "equivalent", "target": "903ad927b9f427b25a206b41d2a91cdc", "evidence": {"same_day": true, "patch_ids": ["085b8ddcb0abab7397a6e851375a74cf"], "statement_hash": "a86740f2fcadc48506f118b665a49651801f210260a157d67fda1e52e6bcde7b"}}, {"rule": 2, "type": "equivalent", "target": "a5ffc7b1e4d55af7ee1a755aa12b6999", "evidence": {"same_day": true, "patch_ids": ["085b8ddcb0abab7397a6e851375a74cf"], "statement_hash": "a86740f2fcadc48506f118b665a49651801f210260a157d67fda1e52e6bcde7b"}}, {"rule": 2, "type": "equivalent", "target": "fcdc9b352016338370b1a2c3923890f2", "evidence": {"same_day": true, "patch_ids": ["085b8ddcb0abab7397a6e851375a74cf"], "statement_hash": "a86740f2fcadc48506f118b665a49651801f210260a157d67fda1e52e6bcde7b"}}], "version": "9.6.23", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "a5ffc7b1e4d55af7ee1a755aa12b6999", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "修复释放 BackgroundWorkerSlots 时可能出现的竞争条件", "evidence": {"same_day": true, "patch_ids": ["085b8ddcb0abab7397a6e851375a74cf"], "statement_hash": "a86740f2fcadc48506f118b665a49651801f210260a157d67fda1e52e6bcde7b"}, "url": "/docs/compare/?release=13.4#13.4-d4ec273b0c27bcd1", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "903ad927b9f427b25a206b41d2a91cdc", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "修复释放 BackgroundWorkerSlots 时可能出现的竞争条件", "evidence": {"same_day": true, "patch_ids": ["085b8ddcb0abab7397a6e851375a74cf"], "statement_hash": "a86740f2fcadc48506f118b665a49651801f210260a157d67fda1e52e6bcde7b"}, "url": "/docs/compare/?release=12.8#12.8-a5d0f8fd221b9c33", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "fcdc9b352016338370b1a2c3923890f2", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "修复释放 BackgroundWorkerSlots 时可能出现的竞争条件", "evidence": {"same_day": true, "patch_ids": ["085b8ddcb0abab7397a6e851375a74cf"], "statement_hash": "a86740f2fcadc48506f118b665a49651801f210260a157d67fda1e52e6bcde7b"}, "url": "/docs/compare/?release=11.13#11.13-0acf498aebb65c27", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "60be1e3c760567781504f29248f63a29", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "修复释放 BackgroundWorkerSlots 时可能出现的竞争条件", "evidence": {"same_day": true, "patch_ids": ["085b8ddcb0abab7397a6e851375a74cf"], "statement_hash": "a86740f2fcadc48506f118b665a49651801f210260a157d67fda1e52e6bcde7b"}, "url": "/docs/compare/?release=10.18#10.18-0acf498aebb65c27", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-48def526c1ecc594", "cves": [], "html": "<p>修复排序代码中的潜在崩溃（Ronan Dunklau）</p>\n<p>有一条代码路径可能试图释放空指针。这种情况在核心服务器对排序的使用中似乎无法达到，但扩展或许能触发它。</p>", "text": "修复排序代码中的潜在崩溃（Ronan Dunklau） 有一条代码路径可能试图释放空指针。这种情况在核心服务器对排序的使用中似乎无法达到，但扩展或许能触发它。", "title": "修复排序代码中的潜在崩溃", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "adb3ebcbcb4bdbd194cf56a8a29de406f81f08e9266efdece8d53551e7899ee3", "section_path": ["变更"], "commit_groups": [["187e9c399", "204f646a2", "41469253e", "6f1c7a2d0", "87b7a652b", "a3b8d91cc", "b55e478a4"], ["2fde8e49a", "5bd38d2f2", "645c5d119", "a92709fed", "d0e44bae4", "d7f10f39c", "eff751ea5"]], "identity_text": "Fix latent crash in sorting code (Ronan Dunklau) One code path could attempt to free a null pointer. The case appears unreachable in the core server's use of sorting, but perhaps it could be triggered by extensions.", "commit_aliases": ["187e9c399", "204f646a2", "2fde8e49a", "41469253e", "5bd38d2f2", "645c5d119", "6f1c7a2d0", "87b7a652b", "a3b8d91cc", "a92709fed", "b55e478a4", "d0e44bae4", "d7f10f39c", "eff751ea5"], "source_commits": ["87b7a652b", "d0e44bae4"], "source_entry_id": "9.6.23/changes/024", "db_id": "03d256a718a90cd34abd4c6c50c5f133", "patch_ids": ["b68c173e5b199e28ef5ffe5775abb414", "cfa45fac6dae2f138e4eb8461e818824"], "statement_hash": "a92210e1054a7987e54ec3d02489268c6705114cf60240abe2cae416e7cfdcde", "relations": [{"rule": 2, "type": "equivalent", "target": "0cbe8a95578a2f998905e874eb0c59a5", "evidence": {"same_day": true, "patch_ids": ["b68c173e5b199e28ef5ffe5775abb414", "cfa45fac6dae2f138e4eb8461e818824"], "statement_hash": "a92210e1054a7987e54ec3d02489268c6705114cf60240abe2cae416e7cfdcde"}}, {"rule": 2, "type": "equivalent", "target": "71dc37d2188cbb2133c630660a208678", "evidence": {"same_day": true, "patch_ids": ["b68c173e5b199e28ef5ffe5775abb414", "cfa45fac6dae2f138e4eb8461e818824"], "statement_hash": "a92210e1054a7987e54ec3d02489268c6705114cf60240abe2cae416e7cfdcde"}}, {"rule": 2, "type": "equivalent", "target": "bb4cc7b921b338faf4ba021d4e3fd4d8", "evidence": {"same_day": true, "patch_ids": ["b68c173e5b199e28ef5ffe5775abb414", "cfa45fac6dae2f138e4eb8461e818824"], "statement_hash": "a92210e1054a7987e54ec3d02489268c6705114cf60240abe2cae416e7cfdcde"}}, {"rule": 2, "type": "equivalent", "target": "d938a7c9b2c8951cffe5bcda6f3bc494", "evidence": {"same_day": true, "patch_ids": ["b68c173e5b199e28ef5ffe5775abb414", "cfa45fac6dae2f138e4eb8461e818824"], "statement_hash": "a92210e1054a7987e54ec3d02489268c6705114cf60240abe2cae416e7cfdcde"}}], "version": "9.6.23", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "d938a7c9b2c8951cffe5bcda6f3bc494", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "修复排序代码中潜在的崩溃", "evidence": {"same_day": true, "patch_ids": ["b68c173e5b199e28ef5ffe5775abb414", "cfa45fac6dae2f138e4eb8461e818824"], "statement_hash": "a92210e1054a7987e54ec3d02489268c6705114cf60240abe2cae416e7cfdcde"}, "url": "/docs/compare/?release=13.4#13.4-f0317b5c38de4a46", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "0cbe8a95578a2f998905e874eb0c59a5", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "修复排序代码中潜在的崩溃", "evidence": {"same_day": true, "patch_ids": ["b68c173e5b199e28ef5ffe5775abb414", "cfa45fac6dae2f138e4eb8461e818824"], "statement_hash": "a92210e1054a7987e54ec3d02489268c6705114cf60240abe2cae416e7cfdcde"}, "url": "/docs/compare/?release=12.8#12.8-d7f39dc147d96ddd", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "71dc37d2188cbb2133c630660a208678", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "修复排序代码中潜在的崩溃", "evidence": {"same_day": true, "patch_ids": ["b68c173e5b199e28ef5ffe5775abb414", "cfa45fac6dae2f138e4eb8461e818824"], "statement_hash": "a92210e1054a7987e54ec3d02489268c6705114cf60240abe2cae416e7cfdcde"}, "url": "/docs/compare/?release=11.13#11.13-fd5e8bfe007d7a95", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "bb4cc7b921b338faf4ba021d4e3fd4d8", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "修复排序代码中潜在的崩溃", "evidence": {"same_day": true, "patch_ids": ["b68c173e5b199e28ef5ffe5775abb414", "cfa45fac6dae2f138e4eb8461e818824"], "statement_hash": "a92210e1054a7987e54ec3d02489268c6705114cf60240abe2cae416e7cfdcde"}, "url": "/docs/compare/?release=10.18#10.18-fd5e8bfe007d7a95", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-70262b30106c6663", "cves": [], "html": "<p>防止 SP-GiST 索引插入中的无限循环（Tom Lane）</p>\n<p>如果 INCLUDE 列占用足够多的空间以致叶子索引元组永远放不进一个页，text_ops 操作符类就会陷入徒劳地试图放下元组的无限循环。虽然 v11 之前的版本没有 INCLUDE 列，还是把这个防循环修复向后移植过来，因为它似乎是对操作符类 bug 的良好防御。</p>", "text": "防止 SP-GiST 索引插入中的无限循环（Tom Lane） 如果 INCLUDE 列占用足够多的空间以致叶子索引元组永远放不进一个页，text_ops 操作符类就会陷入徒劳地试图放下元组的无限循环。虽然 v11 之前的版本没有 INCLUDE 列，还是把这个防循环修复向后移植过来，因为它似乎是对操作符类 bug 的良好防御。", "title": "防止 SP-GiST 索引插入中的无限循环", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "7e3a0f7c33f77246a9b788665153893284c9b6a7dfe91b4ad137fdd1f48e411d", "section_path": ["变更"], "commit_groups": [["4e046281f", "5015d3c35", "c3c35a733", "d776045eb", "dc714c120", "e87a0d2e0"]], "identity_text": "Prevent infinite loops in SP-GiST index insertion (Tom Lane) In the event that INCLUDE columns take up enough space to prevent a leaf index tuple from ever fitting on a page, the text_ops operator class would get into an infinite loop vainly trying to make the tuple fit. While pre-v11 versions don't have INCLUDE columns, back-patch this anti-looping fix to them anyway, as it seems like a good defense against bugs in operator classes.", "commit_aliases": ["4e046281f", "5015d3c35", "c3c35a733", "d776045eb", "dc714c120", "e87a0d2e0"], "source_commits": ["5015d3c35"], "source_entry_id": "9.6.23/changes/025", "db_id": "dd99fdd6d93814cb95978e7230fb8cbb", "patch_ids": ["e9c53b525f0ad317af5af5ed68703cf1"], "statement_hash": "350c8715ac0cc00857fde6b55c1c30a68a7a7630d967925f0b1872862a290efb", "relations": [{"rule": 2, "type": "equivalent", "target": "51af8a7de9ccad054736531c6e45c969", "evidence": {"same_day": true, "patch_ids": ["e9c53b525f0ad317af5af5ed68703cf1"], "statement_hash": "350c8715ac0cc00857fde6b55c1c30a68a7a7630d967925f0b1872862a290efb"}}, {"rule": 2, "type": "equivalent", "target": "ad38addca5dfa5fc64fb130be66bc1b5", "evidence": {"same_day": true, "patch_ids": ["e9c53b525f0ad317af5af5ed68703cf1"], "statement_hash": "350c8715ac0cc00857fde6b55c1c30a68a7a7630d967925f0b1872862a290efb"}}, {"rule": 2, "type": "equivalent", "target": "b22def29a1c83003b33ee723242af735", "evidence": {"same_day": true, "patch_ids": ["e9c53b525f0ad317af5af5ed68703cf1"], "statement_hash": "350c8715ac0cc00857fde6b55c1c30a68a7a7630d967925f0b1872862a290efb"}}, {"rule": 2, "type": "equivalent", "target": "dd5af8f6d8a7800e4cee4375ba15a586", "evidence": {"same_day": true, "patch_ids": ["e9c53b525f0ad317af5af5ed68703cf1"], "statement_hash": "350c8715ac0cc00857fde6b55c1c30a68a7a7630d967925f0b1872862a290efb"}}], "version": "9.6.23", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "51af8a7de9ccad054736531c6e45c969", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "防止 SP-GiST 索引插入中的无限循环", "evidence": {"same_day": true, "patch_ids": ["e9c53b525f0ad317af5af5ed68703cf1"], "statement_hash": "350c8715ac0cc00857fde6b55c1c30a68a7a7630d967925f0b1872862a290efb"}, "url": "/docs/compare/?release=13.4#13.4-813360cc172e6c9a", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "ad38addca5dfa5fc64fb130be66bc1b5", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "防止 SP-GiST 索引插入中的无限循环", "evidence": {"same_day": true, "patch_ids": ["e9c53b525f0ad317af5af5ed68703cf1"], "statement_hash": "350c8715ac0cc00857fde6b55c1c30a68a7a7630d967925f0b1872862a290efb"}, "url": "/docs/compare/?release=12.8#12.8-b87bf0ac2759dad2", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "dd5af8f6d8a7800e4cee4375ba15a586", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "防止 SP-GiST 索引插入中的无限循环", "evidence": {"same_day": true, "patch_ids": ["e9c53b525f0ad317af5af5ed68703cf1"], "statement_hash": "350c8715ac0cc00857fde6b55c1c30a68a7a7630d967925f0b1872862a290efb"}, "url": "/docs/compare/?release=11.13#11.13-70262b30106c6663", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "b22def29a1c83003b33ee723242af735", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "防止 SP-GiST 索引插入中的无限循环", "evidence": {"same_day": true, "patch_ids": ["e9c53b525f0ad317af5af5ed68703cf1"], "statement_hash": "350c8715ac0cc00857fde6b55c1c30a68a7a7630d967925f0b1872862a290efb"}, "url": "/docs/compare/?release=10.18#10.18-70262b30106c6663", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-c3f366339e58e883", "cves": [], "html": "<p>确保 SP-GiST 索引插入可以被查询取消请求终止（Tom Lane、Álvaro Herrera）</p>", "text": "确保 SP-GiST 索引插入可以被查询取消请求终止（Tom Lane、Álvaro Herrera）", "title": "确保 SP-GiST 索引插入可以被查询取消请求终止", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "3cd8c0fe58927d9e7ca4318dbd261707d3443ec19e0123d65739a6213e202d52", "section_path": ["变更"], "commit_groups": [["004288d3c", "4c6cfcc37", "c1b72bf04", "eb7a6b922", "f4ee4082f", "fe64adc93"], ["39b8ccb08", "4c646b179", "567328989", "63831c162", "8274f4517", "e47f93f98"]], "identity_text": "Ensure that SP-GiST index insertion can be terminated by a query cancel request (Tom Lane, Álvaro Herrera)", "commit_aliases": ["004288d3c", "39b8ccb08", "4c646b179", "4c6cfcc37", "567328989", "63831c162", "8274f4517", "c1b72bf04", "e47f93f98", "eb7a6b922", "f4ee4082f", "fe64adc93"], "source_commits": ["4c6cfcc37", "567328989"], "source_entry_id": "9.6.23/changes/026", "db_id": "a9039556ba47ca94e6cee5eb37316af0", "patch_ids": ["60ef5600566bf3e5c2f68ae0dfb7d418", "a249576ba115c4fa276cb8904b3efcd3"], "statement_hash": "68d7cce5231999763ab54c0150959b7b518aa71391b500c7fb135090fbb840bf", "relations": [{"rule": 2, "type": "equivalent", "target": "0a43e4e2b650e39cea84b2f6253fecc5", "evidence": {"same_day": true, "patch_ids": ["60ef5600566bf3e5c2f68ae0dfb7d418", "a249576ba115c4fa276cb8904b3efcd3"], "statement_hash": "68d7cce5231999763ab54c0150959b7b518aa71391b500c7fb135090fbb840bf"}}, {"rule": 2, "type": "equivalent", "target": "0e027c99afec348ed4f864869fef6944", "evidence": {"same_day": true, "patch_ids": ["60ef5600566bf3e5c2f68ae0dfb7d418", "a249576ba115c4fa276cb8904b3efcd3"], "statement_hash": "68d7cce5231999763ab54c0150959b7b518aa71391b500c7fb135090fbb840bf"}}, {"rule": 2, "type": "equivalent", "target": "2658fff0e9f46595bdd91fdc3838223a", "evidence": {"same_day": true, "patch_ids": ["60ef5600566bf3e5c2f68ae0dfb7d418", "a249576ba115c4fa276cb8904b3efcd3"], "statement_hash": "68d7cce5231999763ab54c0150959b7b518aa71391b500c7fb135090fbb840bf"}}, {"rule": 2, "type": "equivalent", "target": "f32051b3c22836c47f8b5a5619edd76c", "evidence": {"same_day": true, "patch_ids": ["60ef5600566bf3e5c2f68ae0dfb7d418", "a249576ba115c4fa276cb8904b3efcd3"], "statement_hash": "68d7cce5231999763ab54c0150959b7b518aa71391b500c7fb135090fbb840bf"}}], "version": "9.6.23", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "f32051b3c22836c47f8b5a5619edd76c", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "确保 SP-GiST 索引插入可以被查询取消请求终止", "evidence": {"same_day": true, "patch_ids": ["60ef5600566bf3e5c2f68ae0dfb7d418", "a249576ba115c4fa276cb8904b3efcd3"], "statement_hash": "68d7cce5231999763ab54c0150959b7b518aa71391b500c7fb135090fbb840bf"}, "url": "/docs/compare/?release=13.4#13.4-32318b400ff5912b", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "2658fff0e9f46595bdd91fdc3838223a", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "确保 SP-GiST 索引插入可以被查询取消请求终止", "evidence": {"same_day": true, "patch_ids": ["60ef5600566bf3e5c2f68ae0dfb7d418", "a249576ba115c4fa276cb8904b3efcd3"], "statement_hash": "68d7cce5231999763ab54c0150959b7b518aa71391b500c7fb135090fbb840bf"}, "url": "/docs/compare/?release=12.8#12.8-30a3685eb0f10764", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "0e027c99afec348ed4f864869fef6944", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "确保 SP-GiST 索引插入可以被查询取消请求终止", "evidence": {"same_day": true, "patch_ids": ["60ef5600566bf3e5c2f68ae0dfb7d418", "a249576ba115c4fa276cb8904b3efcd3"], "statement_hash": "68d7cce5231999763ab54c0150959b7b518aa71391b500c7fb135090fbb840bf"}, "url": "/docs/compare/?release=11.13#11.13-c3f366339e58e883", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "0a43e4e2b650e39cea84b2f6253fecc5", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "确保 SP-GiST 索引插入可以被查询取消请求终止", "evidence": {"same_day": true, "patch_ids": ["60ef5600566bf3e5c2f68ae0dfb7d418", "a249576ba115c4fa276cb8904b3efcd3"], "statement_hash": "68d7cce5231999763ab54c0150959b7b518aa71391b500c7fb135090fbb840bf"}, "url": "/docs/compare/?release=10.18#10.18-c3f366339e58e883", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-0f1d0f06e4b2c56f", "cves": [], "html": "<p>修复可能导致 <span>PL/pgSQL</span> 把未指定 <code>STRICT</code> 的 <code>INTO</code> 子句当作指定了的未初始化变量 bug（Tom Lane）</p>", "text": "修复可能导致 PL/pgSQL 把未指定 STRICT 的 INTO 子句当作指定了的未初始化变量 bug（Tom Lane）", "title": "修复可能导致 PL/pgSQL 把未指定 STRICT 的 INTO 子句当作指定了的未初始化变量 bug", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "b558919771ba749b2a5cc97aa8c084baa0a1ff8139f17c8a5b4715efabb92ac9", "section_path": ["变更"], "commit_groups": [["0fce76b99", "4eac891b1", "7321d5c3f", "85189f54a", "899564e01", "d9809bf86", "dffec69fe"]], "identity_text": "Fix uninitialized-variable bug that could cause PL/pgSQL to act as though an INTO clause specified STRICT, even though it didn't (Tom Lane)", "commit_aliases": ["0fce76b99", "4eac891b1", "7321d5c3f", "85189f54a", "899564e01", "d9809bf86", "dffec69fe"], "source_commits": ["dffec69fe"], "source_entry_id": "9.6.23/changes/027", "db_id": "260fc4590d6ca80c827cfc87341594c5", "patch_ids": ["4dbce83611281f5a594d62f70a162d46"], "statement_hash": "1ff72c0749f873fdb8160cffd82e6020a15c6ee4977cc4e24ac6a4924ca59f6c", "relations": [{"rule": 2, "type": "equivalent", "target": "1680d2ca98c0aaa44c6261d041701ae4", "evidence": {"same_day": true, "patch_ids": ["4dbce83611281f5a594d62f70a162d46"], "statement_hash": "1ff72c0749f873fdb8160cffd82e6020a15c6ee4977cc4e24ac6a4924ca59f6c"}}, {"rule": 2, "type": "equivalent", "target": "6b76f3afc8240307cba3fffeb063b8fe", "evidence": {"same_day": true, "patch_ids": ["4dbce83611281f5a594d62f70a162d46"], "statement_hash": "1ff72c0749f873fdb8160cffd82e6020a15c6ee4977cc4e24ac6a4924ca59f6c"}}, {"rule": 2, "type": "equivalent", "target": "eb5339b4a9c8ed9ca5fdf4c0191fdd2f", "evidence": {"same_day": true, "patch_ids": ["4dbce83611281f5a594d62f70a162d46"], "statement_hash": "1ff72c0749f873fdb8160cffd82e6020a15c6ee4977cc4e24ac6a4924ca59f6c"}}, {"rule": 2, "type": "equivalent", "target": "f1dbf32315529728b6d7add39df76ea0", "evidence": {"same_day": true, "patch_ids": ["4dbce83611281f5a594d62f70a162d46"], "statement_hash": "1ff72c0749f873fdb8160cffd82e6020a15c6ee4977cc4e24ac6a4924ca59f6c"}}], "version": "9.6.23", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "6b76f3afc8240307cba3fffeb063b8fe", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "修复未初始化变量的缺陷，该缺陷可能使 PL/pgSQL 表现得像 INTO 子句指定了 STRICT，即使实际并未指定", "evidence": {"same_day": true, "patch_ids": ["4dbce83611281f5a594d62f70a162d46"], "statement_hash": "1ff72c0749f873fdb8160cffd82e6020a15c6ee4977cc4e24ac6a4924ca59f6c"}, "url": "/docs/compare/?release=13.4#13.4-94f5ac9a7fbd0961", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "eb5339b4a9c8ed9ca5fdf4c0191fdd2f", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "修复未初始化变量的缺陷，该缺陷可能使 PL/pgSQL 表现得像 INTO 子句指定了 STRICT，即使实际并未指定", "evidence": {"same_day": true, "patch_ids": ["4dbce83611281f5a594d62f70a162d46"], "statement_hash": "1ff72c0749f873fdb8160cffd82e6020a15c6ee4977cc4e24ac6a4924ca59f6c"}, "url": "/docs/compare/?release=12.8#12.8-6cbf942f11b4ea99", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "f1dbf32315529728b6d7add39df76ea0", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "修复未初始化变量的缺陷，该缺陷可能使 PL/pgSQL 表现得像 INTO 子句指定了 STRICT，即使实际并未指定", "evidence": {"same_day": true, "patch_ids": ["4dbce83611281f5a594d62f70a162d46"], "statement_hash": "1ff72c0749f873fdb8160cffd82e6020a15c6ee4977cc4e24ac6a4924ca59f6c"}, "url": "/docs/compare/?release=11.13#11.13-b82711eda524df3c", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "1680d2ca98c0aaa44c6261d041701ae4", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "修复未初始化变量的缺陷，该缺陷可能使 PL/pgSQL 表现得像 INTO 子句指定了 STRICT，即使实际并未指定", "evidence": {"same_day": true, "patch_ids": ["4dbce83611281f5a594d62f70a162d46"], "statement_hash": "1ff72c0749f873fdb8160cffd82e6020a15c6ee4977cc4e24ac6a4924ca59f6c"}, "url": "/docs/compare/?release=10.18#10.18-b82711eda524df3c", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-a7b7709ac278dd8c", "cves": [], "html": "<p>libpq 的打印函数中发生内存不足失败时不再中止进程（Tom Lane）</p>", "text": "libpq 的打印函数中发生内存不足失败时不再中止进程（Tom Lane）", "title": "libpq 的打印函数中发生内存不足失败时不再中止进程", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "b869bac309d6dd734f207d94e041cac882f893b0e4cb1b17b45a29d9775fd452", "section_path": ["变更"], "commit_groups": [["06a2b2fe5", "1603deca3", "240d56fc4", "34c24e5a4", "6f5d9bce5", "b54be47cd", "cf1f545bf"]], "identity_text": "Don't abort the process for an out-of-memory failure in libpq's printing functions (Tom Lane)", "commit_aliases": ["06a2b2fe5", "1603deca3", "240d56fc4", "34c24e5a4", "6f5d9bce5", "b54be47cd", "cf1f545bf"], "source_commits": ["b54be47cd"], "source_entry_id": "9.6.23/changes/028", "db_id": "e0cc952cfb8f2465138a45467d8daf9c", "patch_ids": ["72d2c94c09f77d4b07ff593f12323001"], "statement_hash": "e8b9bf8d21949f3c06e5c30da98a20ae03225c8489bfce1699bfa037d75255ac", "relations": [{"rule": 2, "type": "equivalent", "target": "3c07f943acf446d851cab8d387077080", "evidence": {"same_day": true, "patch_ids": ["72d2c94c09f77d4b07ff593f12323001"], "statement_hash": "e8b9bf8d21949f3c06e5c30da98a20ae03225c8489bfce1699bfa037d75255ac"}}, {"rule": 2, "type": "equivalent", "target": "5b1aa7d0496ca1556a44ef957a1dd535", "evidence": {"same_day": true, "patch_ids": ["72d2c94c09f77d4b07ff593f12323001"], "statement_hash": "e8b9bf8d21949f3c06e5c30da98a20ae03225c8489bfce1699bfa037d75255ac"}}, {"rule": 2, "type": "equivalent", "target": "dd793ace1c1335839fd2ecde0fa2664a", "evidence": {"same_day": true, "patch_ids": ["72d2c94c09f77d4b07ff593f12323001"], "statement_hash": "e8b9bf8d21949f3c06e5c30da98a20ae03225c8489bfce1699bfa037d75255ac"}}, {"rule": 2, "type": "equivalent", "target": "e37949475727735828fe77538d712cf9", "evidence": {"same_day": true, "patch_ids": ["72d2c94c09f77d4b07ff593f12323001"], "statement_hash": "e8b9bf8d21949f3c06e5c30da98a20ae03225c8489bfce1699bfa037d75255ac"}}], "version": "9.6.23", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "dd793ace1c1335839fd2ecde0fa2664a", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "不要因 libpq 打印函数中的内存不足而中止进程", "evidence": {"same_day": true, "patch_ids": ["72d2c94c09f77d4b07ff593f12323001"], "statement_hash": "e8b9bf8d21949f3c06e5c30da98a20ae03225c8489bfce1699bfa037d75255ac"}, "url": "/docs/compare/?release=13.4#13.4-a119c426becccc96", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "e37949475727735828fe77538d712cf9", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "不要因 libpq 打印函数中的内存不足而中止进程", "evidence": {"same_day": true, "patch_ids": ["72d2c94c09f77d4b07ff593f12323001"], "statement_hash": "e8b9bf8d21949f3c06e5c30da98a20ae03225c8489bfce1699bfa037d75255ac"}, "url": "/docs/compare/?release=12.8#12.8-48100c3ea7b904ab", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "5b1aa7d0496ca1556a44ef957a1dd535", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "不要因 libpq 打印函数中的内存不足而中止进程", "evidence": {"same_day": true, "patch_ids": ["72d2c94c09f77d4b07ff593f12323001"], "statement_hash": "e8b9bf8d21949f3c06e5c30da98a20ae03225c8489bfce1699bfa037d75255ac"}, "url": "/docs/compare/?release=11.13#11.13-9c9cf9251f82eef8", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "3c07f943acf446d851cab8d387077080", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "不要因 libpq 打印函数中的内存不足而中止进程", "evidence": {"same_day": true, "patch_ids": ["72d2c94c09f77d4b07ff593f12323001"], "statement_hash": "e8b9bf8d21949f3c06e5c30da98a20ae03225c8489bfce1699bfa037d75255ac"}, "url": "/docs/compare/?release=10.18#10.18-9c9cf9251f82eef8", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-98ae1f97affe55bd", "cves": [], "html": "<p>在 <span>ecpg</span> 中，允许把 <code>numeric</code> 值 <span>INT_MIN</span>（通常为 -2147483648）转换为整数（John Naylor）</p>", "text": "在 ecpg 中，允许把 numeric 值 INT_MIN（通常为 -2147483648）转换为整数（John Naylor）", "title": "在 ecpg 中，允许把 numeric 值 INT_MIN（通常为 -2147483648）转换为整数", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "ebd122fd6e1b44489954b688e9e9da342bce48b20b6b5cfcce3c458f0d752b2d", "section_path": ["变更"], "commit_groups": [["171bf1cea", "231c19a89", "5fcf3945b", "c7181a32c", "cfcb0ceab", "d9589eb62", "f051b87ac"], ["9455e7f50", "f3cd6aeb8", "fa27389c5"]], "identity_text": "In ecpg, allow the numeric value INT_MIN (usually -2147483648) to be converted to integer (John Naylor)", "commit_aliases": ["171bf1cea", "231c19a89", "5fcf3945b", "9455e7f50", "c7181a32c", "cfcb0ceab", "d9589eb62", "f051b87ac", "f3cd6aeb8", "fa27389c5"], "source_commits": ["cfcb0ceab", "fa27389c5"], "source_entry_id": "9.6.23/changes/029", "db_id": "22c6c1b13a2e9a4a54ea93c903d2ff4b", "patch_ids": ["25eee0232ee3af45d8bc352b0c2e9025", "bf65d0066f1a9ebd1b6fa2e646bed202"], "statement_hash": "f9666cc8c5daf28089690a6269cbd2ce3f513cdbb962f0b4e943800500d0b777", "relations": [{"rule": 2, "type": "equivalent", "target": "44248ea7f1d94599c4a2d17f5c9405fb", "evidence": {"same_day": true, "patch_ids": ["25eee0232ee3af45d8bc352b0c2e9025", "bf65d0066f1a9ebd1b6fa2e646bed202"], "statement_hash": "f9666cc8c5daf28089690a6269cbd2ce3f513cdbb962f0b4e943800500d0b777"}}, {"rule": 2, "type": "equivalent", "target": "6293719df77db468599acd839909b711", "evidence": {"same_day": true, "patch_ids": ["25eee0232ee3af45d8bc352b0c2e9025", "bf65d0066f1a9ebd1b6fa2e646bed202"], "statement_hash": "f9666cc8c5daf28089690a6269cbd2ce3f513cdbb962f0b4e943800500d0b777"}}, {"rule": 2, "type": "equivalent", "target": "bda8be1b12a21d3ea2ccf0215e7dae51", "evidence": {"same_day": true, "patch_ids": ["25eee0232ee3af45d8bc352b0c2e9025", "bf65d0066f1a9ebd1b6fa2e646bed202"], "statement_hash": "f9666cc8c5daf28089690a6269cbd2ce3f513cdbb962f0b4e943800500d0b777"}}, {"rule": 2, "type": "equivalent", "target": "f9efb66432935344527327d6f07a6fda", "evidence": {"same_day": true, "patch_ids": ["25eee0232ee3af45d8bc352b0c2e9025", "bf65d0066f1a9ebd1b6fa2e646bed202"], "statement_hash": "f9666cc8c5daf28089690a6269cbd2ce3f513cdbb962f0b4e943800500d0b777"}}], "version": "9.6.23", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "f9efb66432935344527327d6f07a6fda", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "在 ecpg 中，允许将 numeric 值 INT_MIN（通常为 -2147483648）转换为整数", "evidence": {"same_day": true, "patch_ids": ["25eee0232ee3af45d8bc352b0c2e9025", "bf65d0066f1a9ebd1b6fa2e646bed202"], "statement_hash": "f9666cc8c5daf28089690a6269cbd2ce3f513cdbb962f0b4e943800500d0b777"}, "url": "/docs/compare/?release=13.4#13.4-133c7e0f30fe4665", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "6293719df77db468599acd839909b711", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "在 ecpg 中，允许将 numeric 值 INT_MIN（通常为 -2147483648）转换为整数", "evidence": {"same_day": true, "patch_ids": ["25eee0232ee3af45d8bc352b0c2e9025", "bf65d0066f1a9ebd1b6fa2e646bed202"], "statement_hash": "f9666cc8c5daf28089690a6269cbd2ce3f513cdbb962f0b4e943800500d0b777"}, "url": "/docs/compare/?release=12.8#12.8-1f2634d66f4df34e", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "bda8be1b12a21d3ea2ccf0215e7dae51", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "在 ecpg 中，允许将 numeric 值 INT_MIN（通常为 -2147483648）转换为整数", "evidence": {"same_day": true, "patch_ids": ["25eee0232ee3af45d8bc352b0c2e9025", "bf65d0066f1a9ebd1b6fa2e646bed202"], "statement_hash": "f9666cc8c5daf28089690a6269cbd2ce3f513cdbb962f0b4e943800500d0b777"}, "url": "/docs/compare/?release=11.13#11.13-06a7f4422c95f05f", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "44248ea7f1d94599c4a2d17f5c9405fb", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "在 ecpg 中，允许将 numeric 值 INT_MIN（通常为 -2147483648）转换为整数", "evidence": {"same_day": true, "patch_ids": ["25eee0232ee3af45d8bc352b0c2e9025", "bf65d0066f1a9ebd1b6fa2e646bed202"], "statement_hash": "f9666cc8c5daf28089690a6269cbd2ce3f513cdbb962f0b4e943800500d0b777"}, "url": "/docs/compare/?release=10.18#10.18-06a7f4422c95f05f", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-9c62820c73bddaa7", "cves": ["CVE-2006-2313"], "html": "<p>在 <span>psql</span> 及其他客户端程序中，处理非法编码数据时避免越过字符串末尾（Tom Lane）</p>\n<p>字符串末尾附近一个编码不正确的多字节字符，可能导致各种处理循环越过字符串的结束 NUL 运行，后果从无可察觉的问题到程序崩溃不等，取决于后面的内存中碰巧有什么。这让人想起 CVE-2006-2313，不过这些特定情况似乎没有值得注意的安全后果。</p>", "text": "在 psql 及其他客户端程序中，处理非法编码数据时避免越过字符串末尾（Tom Lane） 字符串末尾附近一个编码不正确的多字节字符，可能导致各种处理循环越过字符串的结束 NUL 运行，后果从无可察觉的问题到程序崩溃不等，取决于后面的内存中碰巧有什么。这让人想起 CVE-2006-2313，不过这些特定情况似乎没有值得注意的安全后果。", "title": "在 psql 及其他客户端程序中，处理非法编码数据时避免越过字符串末尾", "commits": [], "section": "变更", "category": "security", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "a46d295203e0203319478dec344b53076e29eb75825173a8f7dd776119d64a86", "section_path": ["变更"], "commit_groups": [["0b116346b", "7cdb97632"], ["42f94f56b", "4826fe4c5", "5b6436874", "89a5499ef", "ac600c541", "fc896f45d"]], "identity_text": "In psql and other client programs, avoid overrunning the ends of strings when dealing with invalidly-encoded data (Tom Lane) An incorrectly-encoded multibyte character near the end of a string could cause various processing loops to run past the string's terminating NUL, with results ranging from no detectable issue to a program crash, depending on what happens to be in the following memory. This is reminiscent of CVE-2006-2313, although these particular cases do not appear to have interesting security consequences.", "commit_aliases": ["0b116346b", "42f94f56b", "4826fe4c5", "5b6436874", "7cdb97632", "89a5499ef", "ac600c541", "fc896f45d"], "source_commits": ["7cdb97632", "ac600c541"], "source_entry_id": "9.6.23/changes/030", "db_id": "1f3098f84976e8e62a7ebe6f20c6a1ca", "patch_ids": ["0edf8dabb3adb26aedf9b95746f7f96c", "8818f12d81a64689aec8c658ac293100"], "statement_hash": "36f9c2a9058d99b21ae2e8ee84bcbf117dd8e892c024db2aa2e1ae5951a34a28", "relations": [{"rule": 2, "type": "equivalent", "target": "119a72ecba7076ed0be37a289b95c2d5", "evidence": {"same_day": true, "patch_ids": ["0edf8dabb3adb26aedf9b95746f7f96c", "8818f12d81a64689aec8c658ac293100"], "statement_hash": "36f9c2a9058d99b21ae2e8ee84bcbf117dd8e892c024db2aa2e1ae5951a34a28"}}, {"rule": 2, "type": "equivalent", "target": "150656e8f9c43547c8e2e3d7ac85c1f6", "evidence": {"same_day": true, "patch_ids": ["0edf8dabb3adb26aedf9b95746f7f96c", "8818f12d81a64689aec8c658ac293100"], "statement_hash": "36f9c2a9058d99b21ae2e8ee84bcbf117dd8e892c024db2aa2e1ae5951a34a28"}}, {"rule": 2, "type": "equivalent", "target": "78ea089a57f640af6ee7936dcd88862b", "evidence": {"same_day": true, "patch_ids": ["0edf8dabb3adb26aedf9b95746f7f96c", "8818f12d81a64689aec8c658ac293100"], "statement_hash": "36f9c2a9058d99b21ae2e8ee84bcbf117dd8e892c024db2aa2e1ae5951a34a28"}}, {"rule": 2, "type": "equivalent", "target": "8da05587377b2dcd593155c1845a5606", "evidence": {"same_day": true, "patch_ids": ["0edf8dabb3adb26aedf9b95746f7f96c", "8818f12d81a64689aec8c658ac293100"], "statement_hash": "36f9c2a9058d99b21ae2e8ee84bcbf117dd8e892c024db2aa2e1ae5951a34a28"}}], "version": "9.6.23", "category_label": "安全相关", "also_in": [], "variants": [], "related_changes": [{"db_id": "119a72ecba7076ed0be37a289b95c2d5", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "在 psql 和其他客户端程序中，避免处理编码无效的数据时越过字符串末尾", "evidence": {"same_day": true, "patch_ids": ["0edf8dabb3adb26aedf9b95746f7f96c", "8818f12d81a64689aec8c658ac293100"], "statement_hash": "36f9c2a9058d99b21ae2e8ee84bcbf117dd8e892c024db2aa2e1ae5951a34a28"}, "url": "/docs/compare/?release=13.4#13.4-11a361374616598f", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "150656e8f9c43547c8e2e3d7ac85c1f6", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "在 psql 和其他客户端程序中，避免处理编码无效的数据时越过字符串末尾", "evidence": {"same_day": true, "patch_ids": ["0edf8dabb3adb26aedf9b95746f7f96c", "8818f12d81a64689aec8c658ac293100"], "statement_hash": "36f9c2a9058d99b21ae2e8ee84bcbf117dd8e892c024db2aa2e1ae5951a34a28"}, "url": "/docs/compare/?release=12.8#12.8-9734c4cf0ecf04d6", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "8da05587377b2dcd593155c1845a5606", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "在 psql 和其他客户端程序中，避免处理编码无效的数据时越过字符串末尾", "evidence": {"same_day": true, "patch_ids": ["0edf8dabb3adb26aedf9b95746f7f96c", "8818f12d81a64689aec8c658ac293100"], "statement_hash": "36f9c2a9058d99b21ae2e8ee84bcbf117dd8e892c024db2aa2e1ae5951a34a28"}, "url": "/docs/compare/?release=11.13#11.13-d8f4d1a948a0569a", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "78ea089a57f640af6ee7936dcd88862b", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "在 psql 和其他客户端程序中，避免处理编码无效的数据时越过字符串末尾", "evidence": {"same_day": true, "patch_ids": ["0edf8dabb3adb26aedf9b95746f7f96c", "8818f12d81a64689aec8c658ac293100"], "statement_hash": "36f9c2a9058d99b21ae2e8ee84bcbf117dd8e892c024db2aa2e1ae5951a34a28"}, "url": "/docs/compare/?release=10.18#10.18-d8f4d1a948a0569a", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-9115779d07a77822", "cves": [], "html": "<p>避免在不同时区创建的归档文件上运行 <span>pg_restore</span> 时出现的 <span>“<span>invalid creation date in header</span>”</span> 警告（Tom Lane）</p>", "text": "避免在不同时区创建的归档文件上运行 pg_restore 时出现的 “invalid creation date in header” 警告（Tom Lane）", "title": "避免在不同时区创建的归档文件上运行 pg_restore 时出现的 “invalid creation date in header” 警告", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "da9bcc43a2ac9f0659e0f214bce5d52d0f62c6daf075feb9000c77fd517da036", "section_path": ["变更"], "commit_groups": [["05fccab6a", "73fa76241", "b7c5823ac", "bc7885b7f", "dd53b46c7", "f807e3410"]], "identity_text": "Avoid invalid creation date in header warnings observed when running pg_restore on an archive file created in a different time zone (Tom Lane)", "commit_aliases": ["05fccab6a", "73fa76241", "b7c5823ac", "bc7885b7f", "dd53b46c7", "f807e3410"], "source_commits": ["dd53b46c7"], "source_entry_id": "9.6.23/changes/031", "db_id": "c7d940cade53c55330036da4b5fbc2ae", "patch_ids": ["052a3068466cb3db87063a6bd09773c2"], "statement_hash": "32bce0e540617dd9ab55aed3adf58b8f15ad170e587755fe3a8d662e3d6e6490", "relations": [{"rule": 2, "type": "equivalent", "target": "46db8239c6167e9599e3172f4d7c2ce9", "evidence": {"same_day": true, "patch_ids": ["052a3068466cb3db87063a6bd09773c2"], "statement_hash": "32bce0e540617dd9ab55aed3adf58b8f15ad170e587755fe3a8d662e3d6e6490"}}, {"rule": 2, "type": "equivalent", "target": "499b457c08c96ec29137951c3a5e2db2", "evidence": {"same_day": true, "patch_ids": ["052a3068466cb3db87063a6bd09773c2"], "statement_hash": "32bce0e540617dd9ab55aed3adf58b8f15ad170e587755fe3a8d662e3d6e6490"}}, {"rule": 2, "type": "equivalent", "target": "5c1a3f3425ca9d6c31347263c67f890b", "evidence": {"same_day": true, "patch_ids": ["052a3068466cb3db87063a6bd09773c2"], "statement_hash": "32bce0e540617dd9ab55aed3adf58b8f15ad170e587755fe3a8d662e3d6e6490"}}, {"rule": 2, "type": "equivalent", "target": "5d9da783d785d28acc714de8938ff454", "evidence": {"same_day": true, "patch_ids": ["052a3068466cb3db87063a6bd09773c2"], "statement_hash": "32bce0e540617dd9ab55aed3adf58b8f15ad170e587755fe3a8d662e3d6e6490"}}], "version": "9.6.23", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "46db8239c6167e9599e3172f4d7c2ce9", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "避免对不同时区创建的归档文件运行 pg_restore 时出现 “invalid creation date in header” 警告", "evidence": {"same_day": true, "patch_ids": ["052a3068466cb3db87063a6bd09773c2"], "statement_hash": "32bce0e540617dd9ab55aed3adf58b8f15ad170e587755fe3a8d662e3d6e6490"}, "url": "/docs/compare/?release=13.4#13.4-f2d233d5c54428ed", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "5c1a3f3425ca9d6c31347263c67f890b", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "避免对不同时区创建的归档文件运行 pg_restore 时出现 “invalid creation date in header” 警告", "evidence": {"same_day": true, "patch_ids": ["052a3068466cb3db87063a6bd09773c2"], "statement_hash": "32bce0e540617dd9ab55aed3adf58b8f15ad170e587755fe3a8d662e3d6e6490"}, "url": "/docs/compare/?release=12.8#12.8-319fd4e4e6b4bb99", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "5d9da783d785d28acc714de8938ff454", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "避免对不同时区创建的归档文件运行 pg_restore 时出现 “invalid creation date in header” 警告", "evidence": {"same_day": true, "patch_ids": ["052a3068466cb3db87063a6bd09773c2"], "statement_hash": "32bce0e540617dd9ab55aed3adf58b8f15ad170e587755fe3a8d662e3d6e6490"}, "url": "/docs/compare/?release=11.13#11.13-5254efadbc5c687f", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "499b457c08c96ec29137951c3a5e2db2", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "避免对不同时区创建的归档文件运行 pg_restore 时出现 “invalid creation date in header” 警告", "evidence": {"same_day": true, "patch_ids": ["052a3068466cb3db87063a6bd09773c2"], "statement_hash": "32bce0e540617dd9ab55aed3adf58b8f15ad170e587755fe3a8d662e3d6e6490"}, "url": "/docs/compare/?release=10.18#10.18-5254efadbc5c687f", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-02450571799ef685", "cves": [], "html": "<p>让 <span>pg_upgrade</span> 保留旧安装的 <code>oldestXID</code> 值（Bertrand Drouvot）</p>\n<p>此前，新安装的 <code>oldestXID</code> 会被设置为一个足够老的值，（通常）会立即触发防回卷自动清理。从性能角度看这不可取；更糟的是，使用较大 <code>autovacuum_freeze_max_age</code> 值的安装可能在升级后不久遭遇不必要的强制停机。</p>", "text": "让 pg_upgrade 保留旧安装的 oldestXID 值（Bertrand Drouvot） 此前，新安装的 oldestXID 会被设置为一个足够老的值，（通常）会立即触发防回卷自动清理。从性能角度看这不可取；更糟的是，使用较大 autovacuum_freeze_max_age 值的安装可能在升级后不久遭遇不必要的强制停机。", "title": "让 pg_upgrade 保留旧安装的 oldestXID 值", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "b1567a66724739cf976ebeed4643a9ccb8b4eda171d51b1e4d05cbec8034e895", "section_path": ["变更"], "commit_groups": [["088dbf3bc", "0a5e708e2", "695b4a113", "71121450e", "74cf7d46a", "7626e9f2b", "c4ba87f52"]], "identity_text": "Make pg_upgrade carry forward the old installation's oldestXID value (Bertrand Drouvot) Previously, the new installation's oldestXID was set to a value old enough to (usually) force immediate anti-wraparound autovacuuming. That's not desirable from a performance standpoint; what's worse, installations using large values of autovacuum_freeze_max_age could suffer unwanted forced shutdowns soon after an upgrade.", "commit_aliases": ["088dbf3bc", "0a5e708e2", "695b4a113", "71121450e", "74cf7d46a", "7626e9f2b", "c4ba87f52"], "source_commits": ["088dbf3bc"], "source_entry_id": "9.6.23/changes/032", "db_id": "e2140b236b82722ca231ed991abcbd1c", "patch_ids": ["a129a192323f0e8ed4cbf3a14f849a1b"], "statement_hash": "f3a8965969bc48dc7afd6e9adf63ba5bb23fa816dfa8e8df92a1ba8ed9a1aec9", "relations": [{"rule": 2, "type": "equivalent", "target": "2b19317301e5c7a35118dcb65442b079", "evidence": {"same_day": true, "patch_ids": ["a129a192323f0e8ed4cbf3a14f849a1b"], "statement_hash": "f3a8965969bc48dc7afd6e9adf63ba5bb23fa816dfa8e8df92a1ba8ed9a1aec9"}}, {"rule": 2, "type": "equivalent", "target": "a000d82806c688ec86b1e175669a1b13", "evidence": {"same_day": true, "patch_ids": ["a129a192323f0e8ed4cbf3a14f849a1b"], "statement_hash": "f3a8965969bc48dc7afd6e9adf63ba5bb23fa816dfa8e8df92a1ba8ed9a1aec9"}}, {"rule": 2, "type": "equivalent", "target": "ba77ce905215bd0031da29043a1aec06", "evidence": {"same_day": true, "patch_ids": ["a129a192323f0e8ed4cbf3a14f849a1b"], "statement_hash": "f3a8965969bc48dc7afd6e9adf63ba5bb23fa816dfa8e8df92a1ba8ed9a1aec9"}}, {"rule": 2, "type": "equivalent", "target": "e8a61966fc2a8c21535318558d4991c5", "evidence": {"same_day": true, "patch_ids": ["a129a192323f0e8ed4cbf3a14f849a1b"], "statement_hash": "f3a8965969bc48dc7afd6e9adf63ba5bb23fa816dfa8e8df92a1ba8ed9a1aec9"}}], "version": "9.6.23", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "ba77ce905215bd0031da29043a1aec06", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "使 pg_upgrade 沿用旧安装实例的 oldestXID 值", "evidence": {"same_day": true, "patch_ids": ["a129a192323f0e8ed4cbf3a14f849a1b"], "statement_hash": "f3a8965969bc48dc7afd6e9adf63ba5bb23fa816dfa8e8df92a1ba8ed9a1aec9"}, "url": "/docs/compare/?release=13.4#13.4-735e9b95430584d4", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "2b19317301e5c7a35118dcb65442b079", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "使 pg_upgrade 沿用旧安装实例的 oldestXID 值", "evidence": {"same_day": true, "patch_ids": ["a129a192323f0e8ed4cbf3a14f849a1b"], "statement_hash": "f3a8965969bc48dc7afd6e9adf63ba5bb23fa816dfa8e8df92a1ba8ed9a1aec9"}, "url": "/docs/compare/?release=12.8#12.8-cf61e9a048aaf1aa", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "a000d82806c688ec86b1e175669a1b13", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "使 pg_upgrade 沿用旧安装实例的 oldestXID 值", "evidence": {"same_day": true, "patch_ids": ["a129a192323f0e8ed4cbf3a14f849a1b"], "statement_hash": "f3a8965969bc48dc7afd6e9adf63ba5bb23fa816dfa8e8df92a1ba8ed9a1aec9"}, "url": "/docs/compare/?release=11.13#11.13-1e2d1ada3d68354e", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "e8a61966fc2a8c21535318558d4991c5", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "使 pg_upgrade 沿用旧安装实例的 oldestXID 值", "evidence": {"same_day": true, "patch_ids": ["a129a192323f0e8ed4cbf3a14f849a1b"], "statement_hash": "f3a8965969bc48dc7afd6e9adf63ba5bb23fa816dfa8e8df92a1ba8ed9a1aec9"}, "url": "/docs/compare/?release=10.18#10.18-1e2d1ada3d68354e", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-2c42862a0832845d", "cves": [], "html": "<p>扩展 <span>pg_upgrade</span> 以检测并警告应升级的扩展（Bruce Momjian）</p>\n<p>现在会生成一个脚本文件，其中包含把扩展升级到新安装中视为默认版本所需的 <code>ALTER EXTENSION UPDATE</code> 命令。</p>", "text": "扩展 pg_upgrade 以检测并警告应升级的扩展（Bruce Momjian） 现在会生成一个脚本文件，其中包含把扩展升级到新安装中视为默认版本所需的 ALTER EXTENSION UPDATE 命令。", "title": "扩展 pg_upgrade 以检测并警告应升级的扩展", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "dcca5f1cc2e497d222a1cf788d9cad38fda5b3f7b6f63c2d17b9237059de2223", "section_path": ["变更"], "commit_groups": [["165506217", "3a0ba31a3", "3ab496ab8", "47a573d91", "554a7648e", "9e51cc87f", "fcdc461f5"], ["3d2b6cd6f", "4051a7775", "49e319cea", "58974a542", "5e531bb1d", "a81c71e3a", "e462856a7"]], "identity_text": "Extend pg_upgrade to detect and warn about extensions that should be upgraded (Bruce Momjian) A script file is now produced containing the ALTER EXTENSION UPDATE commands needed to bring extensions up to the versions that are considered default in the new installation.", "commit_aliases": ["165506217", "3a0ba31a3", "3ab496ab8", "3d2b6cd6f", "4051a7775", "47a573d91", "49e319cea", "554a7648e", "58974a542", "5e531bb1d", "9e51cc87f", "a81c71e3a", "e462856a7", "fcdc461f5"], "source_commits": ["3ab496ab8", "5e531bb1d"], "source_entry_id": "9.6.23/changes/033", "db_id": "0dd9ce7b9c872f3c0eda2b3722cb810b", "patch_ids": ["20c9ed989c6f822d14ee3bada264c6fb", "715b8bcde2edb48fcaacd05bd9d6f521"], "statement_hash": "93b27ae3b88b2a61ea587b8b1483eff9989644c90306674b99447d84b4fec1fd", "relations": [{"rule": 2, "type": "equivalent", "target": "2ba320c0ed29fff610a6e2ab666d4001", "evidence": {"same_day": true, "patch_ids": ["20c9ed989c6f822d14ee3bada264c6fb", "715b8bcde2edb48fcaacd05bd9d6f521"], "statement_hash": "93b27ae3b88b2a61ea587b8b1483eff9989644c90306674b99447d84b4fec1fd"}}, {"rule": 2, "type": "equivalent", "target": "74c3183caf767d8c6d99a4f240526ddd", "evidence": {"same_day": true, "patch_ids": ["20c9ed989c6f822d14ee3bada264c6fb", "715b8bcde2edb48fcaacd05bd9d6f521"], "statement_hash": "93b27ae3b88b2a61ea587b8b1483eff9989644c90306674b99447d84b4fec1fd"}}, {"rule": 2, "type": "equivalent", "target": "aff6641df2b976ae3674d1d7ff70b5fe", "evidence": {"same_day": true, "patch_ids": ["20c9ed989c6f822d14ee3bada264c6fb", "715b8bcde2edb48fcaacd05bd9d6f521"], "statement_hash": "93b27ae3b88b2a61ea587b8b1483eff9989644c90306674b99447d84b4fec1fd"}}, {"rule": 2, "type": "equivalent", "target": "d2e585e8a45531fa24df5ad5ec426920", "evidence": {"same_day": true, "patch_ids": ["20c9ed989c6f822d14ee3bada264c6fb", "715b8bcde2edb48fcaacd05bd9d6f521"], "statement_hash": "93b27ae3b88b2a61ea587b8b1483eff9989644c90306674b99447d84b4fec1fd"}}], "version": "9.6.23", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "aff6641df2b976ae3674d1d7ff70b5fe", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "扩展 pg_upgrade，使其检测应升级的扩展并发出警告", "evidence": {"same_day": true, "patch_ids": ["20c9ed989c6f822d14ee3bada264c6fb", "715b8bcde2edb48fcaacd05bd9d6f521"], "statement_hash": "93b27ae3b88b2a61ea587b8b1483eff9989644c90306674b99447d84b4fec1fd"}, "url": "/docs/compare/?release=13.4#13.4-0c5222977c3d7df4", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "d2e585e8a45531fa24df5ad5ec426920", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "扩展 pg_upgrade，使其检测应升级的扩展并发出警告", "evidence": {"same_day": true, "patch_ids": ["20c9ed989c6f822d14ee3bada264c6fb", "715b8bcde2edb48fcaacd05bd9d6f521"], "statement_hash": "93b27ae3b88b2a61ea587b8b1483eff9989644c90306674b99447d84b4fec1fd"}, "url": "/docs/compare/?release=12.8#12.8-b7d07b3f1aebc04d", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "2ba320c0ed29fff610a6e2ab666d4001", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "扩展 pg_upgrade，使其检测应升级的扩展并发出警告", "evidence": {"same_day": true, "patch_ids": ["20c9ed989c6f822d14ee3bada264c6fb", "715b8bcde2edb48fcaacd05bd9d6f521"], "statement_hash": "93b27ae3b88b2a61ea587b8b1483eff9989644c90306674b99447d84b4fec1fd"}, "url": "/docs/compare/?release=11.13#11.13-5c0475d8f31d662c", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "74c3183caf767d8c6d99a4f240526ddd", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "扩展 pg_upgrade，使其检测应升级的扩展并发出警告", "evidence": {"same_day": true, "patch_ids": ["20c9ed989c6f822d14ee3bada264c6fb", "715b8bcde2edb48fcaacd05bd9d6f521"], "statement_hash": "93b27ae3b88b2a61ea587b8b1483eff9989644c90306674b99447d84b4fec1fd"}, "url": "/docs/compare/?release=10.18#10.18-5c0475d8f31d662c", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-85169ecb397302b8", "cves": [], "html": "<p>在 <code>contrib/postgres_fdw</code> 中，避免出错后尝试目录查找（Tom Lane）</p>\n<p>虽然这通常能工作，但不太安全，因为错误可能已使目录访问失效。此修复的一个副作用是，有关数据转换错误的消息现在会提及查询的表和列别名（如果使用了），而不是外部表或列的真实底层名称。</p>", "text": "在 contrib/postgres_fdw 中，避免出错后尝试目录查找（Tom Lane） 虽然这通常能工作，但不太安全，因为错误可能已使目录访问失效。此修复的一个副作用是，有关数据转换错误的消息现在会提及查询的表和列别名（如果使用了），而不是外部表或列的真实底层名称。", "title": "在 contrib/postgres_fdw 中，避免出错后尝试目录查找", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "f003fc6fc414c6907cedae1b42d964fac26931fa21d9e0abf199ec7ed18f615b", "section_path": ["变更"], "commit_groups": [["67f925bbd", "86d491421", "a9460dbf1", "b23ac5aef", "bd2e68d0b", "bee18616a", "c7b7311f6"]], "identity_text": "In contrib/postgres_fdw, avoid attempting catalog lookups after an error (Tom Lane) While this usually worked, it's not very safe since the error might have been one that made catalog access nonfunctional. A side effect of the fix is that messages about data conversion errors will now mention the query's table and column aliases (if used) rather than the true underlying name of a foreign table or column.", "commit_aliases": ["67f925bbd", "86d491421", "a9460dbf1", "b23ac5aef", "bd2e68d0b", "bee18616a", "c7b7311f6"], "source_commits": ["67f925bbd"], "source_entry_id": "9.6.23/changes/034", "db_id": "96f87e5492d568cd10b04474f6af9d25", "patch_ids": ["58b022e8e9402aa35ee3055dfaab1aa4"], "statement_hash": "0dbd3472fd2868edaca1e75677ba6b9155012a52f097fb5d8f5b5aa7afc47fa6", "relations": [{"rule": 2, "type": "equivalent", "target": "36099d55ba0795230205ebb63753aa19", "evidence": {"same_day": true, "patch_ids": ["58b022e8e9402aa35ee3055dfaab1aa4"], "statement_hash": "0dbd3472fd2868edaca1e75677ba6b9155012a52f097fb5d8f5b5aa7afc47fa6"}}, {"rule": 2, "type": "equivalent", "target": "555e22107b81a9e5565e2afb8db6b4cf", "evidence": {"same_day": true, "patch_ids": ["58b022e8e9402aa35ee3055dfaab1aa4"], "statement_hash": "0dbd3472fd2868edaca1e75677ba6b9155012a52f097fb5d8f5b5aa7afc47fa6"}}, {"rule": 2, "type": "equivalent", "target": "aa27d51df9a896a1cdb4717335b4fb03", "evidence": {"same_day": true, "patch_ids": ["58b022e8e9402aa35ee3055dfaab1aa4"], "statement_hash": "0dbd3472fd2868edaca1e75677ba6b9155012a52f097fb5d8f5b5aa7afc47fa6"}}, {"rule": 2, "type": "equivalent", "target": "e15054bb6368f60a756568fc9f568f86", "evidence": {"same_day": true, "patch_ids": ["58b022e8e9402aa35ee3055dfaab1aa4"], "statement_hash": "0dbd3472fd2868edaca1e75677ba6b9155012a52f097fb5d8f5b5aa7afc47fa6"}}], "version": "9.6.23", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "555e22107b81a9e5565e2afb8db6b4cf", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "在 contrib/postgres_fdw 中，避免发生错误后尝试查找系统目录", "evidence": {"same_day": true, "patch_ids": ["58b022e8e9402aa35ee3055dfaab1aa4"], "statement_hash": "0dbd3472fd2868edaca1e75677ba6b9155012a52f097fb5d8f5b5aa7afc47fa6"}, "url": "/docs/compare/?release=13.4#13.4-fccdacda2c81477c", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "36099d55ba0795230205ebb63753aa19", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "在 contrib/postgres_fdw 中，避免发生错误后尝试查找系统目录", "evidence": {"same_day": true, "patch_ids": ["58b022e8e9402aa35ee3055dfaab1aa4"], "statement_hash": "0dbd3472fd2868edaca1e75677ba6b9155012a52f097fb5d8f5b5aa7afc47fa6"}, "url": "/docs/compare/?release=12.8#12.8-b19d139bff595b44", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "e15054bb6368f60a756568fc9f568f86", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "在 contrib/postgres_fdw 中，避免发生错误后尝试查找系统目录", "evidence": {"same_day": true, "patch_ids": ["58b022e8e9402aa35ee3055dfaab1aa4"], "statement_hash": "0dbd3472fd2868edaca1e75677ba6b9155012a52f097fb5d8f5b5aa7afc47fa6"}, "url": "/docs/compare/?release=11.13#11.13-466a8f8a8533865b", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "aa27d51df9a896a1cdb4717335b4fb03", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "在 contrib/postgres_fdw 中，避免发生错误后尝试查找系统目录", "evidence": {"same_day": true, "patch_ids": ["58b022e8e9402aa35ee3055dfaab1aa4"], "statement_hash": "0dbd3472fd2868edaca1e75677ba6b9155012a52f097fb5d8f5b5aa7afc47fa6"}, "url": "/docs/compare/?release=10.18#10.18-466a8f8a8533865b", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-a13e338dd3120c64", "cves": [], "html": "<p>在 <code>contrib/pgcrypto</code> 中，避免与 OpenSSL 的符号名冲突（Tom Lane）</p>\n<p>使用 SHA224 哈希的操作在 valgrind 检查下可能显示失败。看起来这只是对齐填充字节的踩踏，因此没有实际后果，但为了保险起见予以修复。</p>", "text": "在 contrib/pgcrypto 中，避免与 OpenSSL 的符号名冲突（Tom Lane） 使用 SHA224 哈希的操作在 valgrind 检查下可能显示失败。看起来这只是对齐填充字节的踩踏，因此没有实际后果，但为了保险起见予以修复。", "title": "在 contrib/pgcrypto 中，避免与 OpenSSL 的符号名冲突", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "fb2f594bb389435eb81a1bacf991ce9fb311473dce96d52be6515a07dd0772b1", "section_path": ["变更"], "commit_groups": [["c835be32c"]], "identity_text": "In contrib/pgcrypto, avoid symbol name conflicts with OpenSSL (Tom Lane) Operations using SHA224 hashing could show failures under valgrind checking. It appears that this is only a stomp of alignment-padding bytes and so has no real consequences, but let's fix it to be sure.", "commit_aliases": ["c835be32c"], "source_commits": ["c835be32c"], "source_entry_id": "9.6.23/changes/035", "db_id": "9d950ab92d52173291363f1c9ede2399", "patch_ids": ["4e0886720855111373f28d5c4a4da69f"], "statement_hash": "cc840a58f676b6e91e7885fd8e1bbb52fc682f03c4c3835669b769762eeaeb3c", "relations": [], "version": "9.6.23", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.6.23-55c04c1875286c25", "cves": [], "html": "<p>改进隔离测试基础设施（Tom Lane、Michael Paquier）</p>\n<p>允许为隔离测试步骤标注预期的完成顺序。这使得原本有竞态的测试用例能获得稳定结果，而无需我们此前用来抵御竞态条件的长延迟（那并不完全成功）。允许非带引号标识符作为隔离测试会话/步骤名（此前所有此类名称都必须加双引号）。检测并警告隔离测试中未使用的步骤。改进隔离测试中查询结果的显示。移除 isolationtester 的 <span>“<span>dry-run</span>”</span> 模式。移除 isolationtester 自身的内存泄漏。</p>", "text": "改进隔离测试基础设施（Tom Lane、Michael Paquier） 允许为隔离测试步骤标注预期的完成顺序。这使得原本有竞态的测试用例能获得稳定结果，而无需我们此前用来抵御竞态条件的长延迟（那并不完全成功）。允许非带引号标识符作为隔离测试会话/步骤名（此前所有此类名称都必须加双引号）。检测并警告隔离测试中未使用的步骤。改进隔离测试中查询结果的显示。移除 isolationtester 的 “dry-run” 模式。移除 isolationtester 自身的内存泄漏。", "title": "改进隔离测试基础设施", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "68b4442e10aea02a95c663c7c602d261b46c0bb14ab739ec1f0fd33a4075fc00", "section_path": ["变更"], "commit_groups": [["024e064af", "7a48dfbb8", "c6cb62f61", "e0a7036e1"], ["06fdc4e4d", "484c81bf7", "8f3229942", "96f3661e4", "feac82fa8"], ["0a8929ca0", "4a054069a", "b1aa0f228", "b961bdfe1", "d7da3ef08", "e535a8899"], ["0ed218048", "834cb7269", "9903338b5", "a8f687927", "b7cd5c5b0"], ["13f3fd9e4", "1f32b789d", "741d7f104", "a1417e437", "e2cde85ef", "f228c401b"], ["1acab1209", "2d0944865", "642c0697c", "7676d9594", "bc031cf13", "de589c112"], ["35e6b3bbf", "5179a1ab7", "5cb74a803", "94d8d8d89", "a443c1b2d", "ad9827a90"], ["989d23b04"]], "identity_text": "Improve the isolation-test infrastructure (Tom Lane, Michael Paquier) Allow isolation test steps to be annotated to show the expected completion order. This allows getting stable results from otherwise-racy test cases, without the long delays that we previously used (not entirely successfully) to fend off race conditions. Allow non-quoted identifiers as isolation test session/step names (formerly, all such names had to be double-quoted). Detect and warn about unused steps in isolation tests. Improve display of query results in isolation tests. Remove isolationtester's dry-run mode. Remove memory leaks in isolationtester itself.", "commit_aliases": ["024e064af", "06fdc4e4d", "0a8929ca0", "0ed218048", "13f3fd9e4", "1acab1209", "1f32b789d", "2d0944865", "35e6b3bbf", "484c81bf7", "4a054069a", "5179a1ab7", "5cb74a803", "642c0697c", "741d7f104", "7676d9594", "7a48dfbb8", "834cb7269", "8f3229942", "94d8d8d89", "96f3661e4", "989d23b04", "9903338b5", "a1417e437", "a443c1b2d", "a8f687927", "ad9827a90", "b1aa0f228", "b7cd5c5b0", "b961bdfe1", "bc031cf13", "c6cb62f61", "d7da3ef08", "de589c112", "e0a7036e1", "e2cde85ef", "e535a8899", "f228c401b", "feac82fa8"], "source_commits": ["13f3fd9e4", "484c81bf7", "989d23b04", "ad9827a90", "b7cd5c5b0", "de589c112", "e0a7036e1", "e535a8899"], "source_entry_id": "9.6.23/changes/036", "db_id": "9fcdc870f3519be1b0cd544a363ae0cc", "patch_ids": ["081aaaef05335087a70a646d1a1d069d", "10b8ade6985f821f4a692da4d5abb049", "34902220e10514d34f2a62a2b976f8dc", "8f040da49d6b3447d0959b8a73e8fa08", "99554d4aba271352cc7eadce9e046303", "bdca6ca619dc76ba1d60041cb5478d62", "dd61cbb4fe3e8417916689ea27c05ab8", "e7f4dd248edeed16552f3905247b5ed6"], "statement_hash": "02e8cd21a50de2e1d523b00409d618878d34907cf5102bb1817b3ebf06ca5c38", "relations": [{"rule": 2, "type": "equivalent", "target": "78f7823c72b976ac985dca3db1b47370", "evidence": {"same_day": true, "patch_ids": ["081aaaef05335087a70a646d1a1d069d", "10b8ade6985f821f4a692da4d5abb049", "34902220e10514d34f2a62a2b976f8dc", "8f040da49d6b3447d0959b8a73e8fa08", "99554d4aba271352cc7eadce9e046303", "bdca6ca619dc76ba1d60041cb5478d62", "dd61cbb4fe3e8417916689ea27c05ab8", "e7f4dd248edeed16552f3905247b5ed6"], "statement_hash": "02e8cd21a50de2e1d523b00409d618878d34907cf5102bb1817b3ebf06ca5c38"}}, {"rule": 2, "type": "equivalent", "target": "8b300c78935e62eb3a2819c822ef236d", "evidence": {"same_day": true, "patch_ids": ["081aaaef05335087a70a646d1a1d069d", "10b8ade6985f821f4a692da4d5abb049", "34902220e10514d34f2a62a2b976f8dc", "8f040da49d6b3447d0959b8a73e8fa08", "99554d4aba271352cc7eadce9e046303", "bdca6ca619dc76ba1d60041cb5478d62", "dd61cbb4fe3e8417916689ea27c05ab8", "e7f4dd248edeed16552f3905247b5ed6"], "statement_hash": "02e8cd21a50de2e1d523b00409d618878d34907cf5102bb1817b3ebf06ca5c38"}}, {"rule": 2, "type": "equivalent", "target": "af899a84d437ac00b28019aed874823a", "evidence": {"same_day": true, "patch_ids": ["081aaaef05335087a70a646d1a1d069d", "10b8ade6985f821f4a692da4d5abb049", "34902220e10514d34f2a62a2b976f8dc", "8f040da49d6b3447d0959b8a73e8fa08", "99554d4aba271352cc7eadce9e046303", "bdca6ca619dc76ba1d60041cb5478d62", "dd61cbb4fe3e8417916689ea27c05ab8", "e7f4dd248edeed16552f3905247b5ed6"], "statement_hash": "02e8cd21a50de2e1d523b00409d618878d34907cf5102bb1817b3ebf06ca5c38"}}, {"rule": 2, "type": "equivalent", "target": "e089ace3b495b9be9b621910718b3725", "evidence": {"same_day": true, "patch_ids": ["081aaaef05335087a70a646d1a1d069d", "10b8ade6985f821f4a692da4d5abb049", "34902220e10514d34f2a62a2b976f8dc", "8f040da49d6b3447d0959b8a73e8fa08", "99554d4aba271352cc7eadce9e046303", "bdca6ca619dc76ba1d60041cb5478d62", "dd61cbb4fe3e8417916689ea27c05ab8", "e7f4dd248edeed16552f3905247b5ed6"], "statement_hash": "02e8cd21a50de2e1d523b00409d618878d34907cf5102bb1817b3ebf06ca5c38"}}], "version": "9.6.23", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "78f7823c72b976ac985dca3db1b47370", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "改进隔离测试基础设施", "evidence": {"same_day": true, "patch_ids": ["081aaaef05335087a70a646d1a1d069d", "10b8ade6985f821f4a692da4d5abb049", "34902220e10514d34f2a62a2b976f8dc", "8f040da49d6b3447d0959b8a73e8fa08", "99554d4aba271352cc7eadce9e046303", "bdca6ca619dc76ba1d60041cb5478d62", "dd61cbb4fe3e8417916689ea27c05ab8", "e7f4dd248edeed16552f3905247b5ed6"], "statement_hash": "02e8cd21a50de2e1d523b00409d618878d34907cf5102bb1817b3ebf06ca5c38"}, "url": "/docs/compare/?release=13.4#13.4-ce8c5b5a3a865e29", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "e089ace3b495b9be9b621910718b3725", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "改进隔离测试基础设施", "evidence": {"same_day": true, "patch_ids": ["081aaaef05335087a70a646d1a1d069d", "10b8ade6985f821f4a692da4d5abb049", "34902220e10514d34f2a62a2b976f8dc", "8f040da49d6b3447d0959b8a73e8fa08", "99554d4aba271352cc7eadce9e046303", "bdca6ca619dc76ba1d60041cb5478d62", "dd61cbb4fe3e8417916689ea27c05ab8", "e7f4dd248edeed16552f3905247b5ed6"], "statement_hash": "02e8cd21a50de2e1d523b00409d618878d34907cf5102bb1817b3ebf06ca5c38"}, "url": "/docs/compare/?release=12.8#12.8-c8000b53af0ad446", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "8b300c78935e62eb3a2819c822ef236d", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "改进隔离测试基础设施", "evidence": {"same_day": true, "patch_ids": ["081aaaef05335087a70a646d1a1d069d", "10b8ade6985f821f4a692da4d5abb049", "34902220e10514d34f2a62a2b976f8dc", "8f040da49d6b3447d0959b8a73e8fa08", "99554d4aba271352cc7eadce9e046303", "bdca6ca619dc76ba1d60041cb5478d62", "dd61cbb4fe3e8417916689ea27c05ab8", "e7f4dd248edeed16552f3905247b5ed6"], "statement_hash": "02e8cd21a50de2e1d523b00409d618878d34907cf5102bb1817b3ebf06ca5c38"}, "url": "/docs/compare/?release=11.13#11.13-55c04c1875286c25", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "af899a84d437ac00b28019aed874823a", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "改进隔离测试基础设施", "evidence": {"same_day": true, "patch_ids": ["081aaaef05335087a70a646d1a1d069d", "10b8ade6985f821f4a692da4d5abb049", "34902220e10514d34f2a62a2b976f8dc", "8f040da49d6b3447d0959b8a73e8fa08", "99554d4aba271352cc7eadce9e046303", "bdca6ca619dc76ba1d60041cb5478d62", "dd61cbb4fe3e8417916689ea27c05ab8", "e7f4dd248edeed16552f3905247b5ed6"], "statement_hash": "02e8cd21a50de2e1d523b00409d618878d34907cf5102bb1817b3ebf06ca5c38"}, "url": "/docs/compare/?release=10.18#10.18-55c04c1875286c25", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-8dd752564ee28d0d", "cves": [], "html": "<p>降低缓存踩踏测试的开销（Tom Lane）</p>", "text": "降低缓存踩踏测试的开销（Tom Lane）", "title": "降低缓存踩踏测试的开销", "commits": [], "section": "变更", "category": "performance", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "6fb626858abef65e65430cb48993b7f740e20b5910d6cd45d6370e455fba7eb7", "section_path": ["变更"], "commit_groups": [["07f1e0696", "2f487116e", "3edc2dbc0", "76c23bbb4", "8c3e36fcc", "9753324b7", "b82eabec3"], ["834d9284b", "e135743ef"]], "identity_text": "Reduce overhead of cache-clobber testing (Tom Lane)", "commit_aliases": ["07f1e0696", "2f487116e", "3edc2dbc0", "76c23bbb4", "834d9284b", "8c3e36fcc", "9753324b7", "b82eabec3", "e135743ef"], "source_commits": ["b82eabec3", "e135743ef"], "source_entry_id": "9.6.23/changes/037", "db_id": "28d7ce3f08813474132303b19042da23", "patch_ids": ["20306ccee76a83473c2ce89bc18df0bd", "d1965e18420d01618dd2214a289e20da"], "statement_hash": "a1d6fdcc246dc72d20608abd73dd5489f5c37689c23acc054da14f6ad020b111", "relations": [{"rule": 2, "type": "equivalent", "target": "0c3494b899a9832b627346f4da5a7b21", "evidence": {"same_day": true, "patch_ids": ["20306ccee76a83473c2ce89bc18df0bd", "d1965e18420d01618dd2214a289e20da"], "statement_hash": "a1d6fdcc246dc72d20608abd73dd5489f5c37689c23acc054da14f6ad020b111"}}, {"rule": 2, "type": "equivalent", "target": "69d65dcc0d2e0f9a97e3d7889e29dc1e", "evidence": {"same_day": true, "patch_ids": ["20306ccee76a83473c2ce89bc18df0bd", "d1965e18420d01618dd2214a289e20da"], "statement_hash": "a1d6fdcc246dc72d20608abd73dd5489f5c37689c23acc054da14f6ad020b111"}}, {"rule": 2, "type": "equivalent", "target": "daa8e79a7fa9ddf414f9d448dac513d0", "evidence": {"same_day": true, "patch_ids": ["20306ccee76a83473c2ce89bc18df0bd", "d1965e18420d01618dd2214a289e20da"], "statement_hash": "a1d6fdcc246dc72d20608abd73dd5489f5c37689c23acc054da14f6ad020b111"}}, {"rule": 2, "type": "equivalent", "target": "dc4cca094541332bf1d8315e1729fb41", "evidence": {"same_day": true, "patch_ids": ["20306ccee76a83473c2ce89bc18df0bd", "d1965e18420d01618dd2214a289e20da"], "statement_hash": "a1d6fdcc246dc72d20608abd73dd5489f5c37689c23acc054da14f6ad020b111"}}], "version": "9.6.23", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "69d65dcc0d2e0f9a97e3d7889e29dc1e", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "减少强制破坏缓存测试的开销", "evidence": {"same_day": true, "patch_ids": ["20306ccee76a83473c2ce89bc18df0bd", "d1965e18420d01618dd2214a289e20da"], "statement_hash": "a1d6fdcc246dc72d20608abd73dd5489f5c37689c23acc054da14f6ad020b111"}, "url": "/docs/compare/?release=13.4#13.4-fb44c5187eccc2a5", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "dc4cca094541332bf1d8315e1729fb41", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "减少强制破坏缓存测试的开销", "evidence": {"same_day": true, "patch_ids": ["20306ccee76a83473c2ce89bc18df0bd", "d1965e18420d01618dd2214a289e20da"], "statement_hash": "a1d6fdcc246dc72d20608abd73dd5489f5c37689c23acc054da14f6ad020b111"}, "url": "/docs/compare/?release=12.8#12.8-d40b468dac5bdb45", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "0c3494b899a9832b627346f4da5a7b21", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "减少强制破坏缓存测试的开销", "evidence": {"same_day": true, "patch_ids": ["20306ccee76a83473c2ce89bc18df0bd", "d1965e18420d01618dd2214a289e20da"], "statement_hash": "a1d6fdcc246dc72d20608abd73dd5489f5c37689c23acc054da14f6ad020b111"}, "url": "/docs/compare/?release=11.13#11.13-307d4d7759f45212", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "daa8e79a7fa9ddf414f9d448dac513d0", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "减少强制破坏缓存测试的开销", "evidence": {"same_day": true, "patch_ids": ["20306ccee76a83473c2ce89bc18df0bd", "d1965e18420d01618dd2214a289e20da"], "statement_hash": "a1d6fdcc246dc72d20608abd73dd5489f5c37689c23acc054da14f6ad020b111"}, "url": "/docs/compare/?release=10.18#10.18-307d4d7759f45212", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-4c9375f4b6d1a0a5", "cves": [], "html": "<p>修复 <span>PL/Python</span> 回归测试在 Python 3.10 下通过的问题（Honza Horak）</p>", "text": "修复 PL/Python 回归测试在 Python 3.10 下通过的问题（Honza Horak）", "title": "修复 PL/Python 回归测试在 Python 3.10 下通过的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "027052f5c356c73c64500323af790000360904990f5519321cf2394cccd15262", "section_path": ["变更"], "commit_groups": [["1a2752be8", "3989f8fb9", "4a682d85a", "6b6fbfd7e", "9438962ce", "9c31e4165"], ["70293e946", "91709e10a", "ba529a6ff", "ec52b886d"]], "identity_text": "Fix PL/Python's regression tests to pass with Python 3.10 (Honza Horak)", "commit_aliases": ["1a2752be8", "3989f8fb9", "4a682d85a", "6b6fbfd7e", "70293e946", "91709e10a", "9438962ce", "9c31e4165", "ba529a6ff", "ec52b886d"], "source_commits": ["9c31e4165", "ec52b886d"], "source_entry_id": "9.6.23/changes/038", "db_id": "461ef596e191e35335412350d522b7cc", "patch_ids": ["53b8fd707309a667bdba37f2a0079474", "d2777a25ded39c2b19399e30fdb53780"], "statement_hash": "d32174faed27fb2284bbfc8a7cd00578cb917a81bd0b0bed6a7e34edd0cbf458", "relations": [{"rule": 2, "type": "equivalent", "target": "2d32192b764e33ca244bc0aedd22f07f", "evidence": {"same_day": true, "patch_ids": ["53b8fd707309a667bdba37f2a0079474", "d2777a25ded39c2b19399e30fdb53780"], "statement_hash": "d32174faed27fb2284bbfc8a7cd00578cb917a81bd0b0bed6a7e34edd0cbf458"}}, {"rule": 2, "type": "equivalent", "target": "4039c2ae64d01f190844e9582e4b6337", "evidence": {"same_day": true, "patch_ids": ["53b8fd707309a667bdba37f2a0079474", "d2777a25ded39c2b19399e30fdb53780"], "statement_hash": "d32174faed27fb2284bbfc8a7cd00578cb917a81bd0b0bed6a7e34edd0cbf458"}}, {"rule": 2, "type": "equivalent", "target": "7a8364b3da645afef1ca53f72269072e", "evidence": {"same_day": true, "patch_ids": ["53b8fd707309a667bdba37f2a0079474", "d2777a25ded39c2b19399e30fdb53780"], "statement_hash": "d32174faed27fb2284bbfc8a7cd00578cb917a81bd0b0bed6a7e34edd0cbf458"}}, {"rule": 2, "type": "equivalent", "target": "f8eb0329b571d4806abe67c55bbee36e", "evidence": {"same_day": true, "patch_ids": ["53b8fd707309a667bdba37f2a0079474", "d2777a25ded39c2b19399e30fdb53780"], "statement_hash": "d32174faed27fb2284bbfc8a7cd00578cb917a81bd0b0bed6a7e34edd0cbf458"}}], "version": "9.6.23", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "7a8364b3da645afef1ca53f72269072e", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "修复 PL/Python 的回归测试，使其在 Python 3.10 下通过", "evidence": {"same_day": true, "patch_ids": ["53b8fd707309a667bdba37f2a0079474", "d2777a25ded39c2b19399e30fdb53780"], "statement_hash": "d32174faed27fb2284bbfc8a7cd00578cb917a81bd0b0bed6a7e34edd0cbf458"}, "url": "/docs/compare/?release=13.4#13.4-ce15bbe380f2b82a", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "f8eb0329b571d4806abe67c55bbee36e", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "修复 PL/Python 的回归测试，使其在 Python 3.10 下通过", "evidence": {"same_day": true, "patch_ids": ["53b8fd707309a667bdba37f2a0079474", "d2777a25ded39c2b19399e30fdb53780"], "statement_hash": "d32174faed27fb2284bbfc8a7cd00578cb917a81bd0b0bed6a7e34edd0cbf458"}, "url": "/docs/compare/?release=12.8#12.8-48b51b6fd5a9af08", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "4039c2ae64d01f190844e9582e4b6337", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "修复 PL/Python 的回归测试，使其在 Python 3.10 下通过", "evidence": {"same_day": true, "patch_ids": ["53b8fd707309a667bdba37f2a0079474", "d2777a25ded39c2b19399e30fdb53780"], "statement_hash": "d32174faed27fb2284bbfc8a7cd00578cb917a81bd0b0bed6a7e34edd0cbf458"}, "url": "/docs/compare/?release=11.13#11.13-096e0f92c8d55570", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "2d32192b764e33ca244bc0aedd22f07f", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "修复 PL/Python 的回归测试，使其在 Python 3.10 下通过", "evidence": {"same_day": true, "patch_ids": ["53b8fd707309a667bdba37f2a0079474", "d2777a25ded39c2b19399e30fdb53780"], "statement_hash": "d32174faed27fb2284bbfc8a7cd00578cb917a81bd0b0bed6a7e34edd0cbf458"}, "url": "/docs/compare/?release=10.18#10.18-096e0f92c8d55570", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-76de5757e0a3a53c", "cves": [], "html": "<p>使 <code>printf(\"%s\", NULL)</code> 打印 <code>(null)</code> 而不是崩溃（Tom Lane）</p>\n<p>这改善了边界情况下服务器的健壮性，并使我们的 <code>printf</code> 实现与常见库保持一致。</p>", "text": "使 printf(\"%s\", NULL) 打印 (null) 而不是崩溃（Tom Lane） 这改善了边界情况下服务器的健壮性，并使我们的 printf 实现与常见库保持一致。", "title": "使 printf(\"%s\", NULL) 打印 (null) 而不是崩溃", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "c5e291d2c7a2bc350f0a0be395e67530f2810864980aa066ebe184ee4d77ea7c", "section_path": ["变更"], "commit_groups": [["3779ac62d", "4c8a14e8d", "5a435289d", "7e09b504d", "89ad14cd7", "9329b9235", "c0a6f83de"]], "identity_text": "Make printf(\"%s\", NULL) print (null) instead of crashing (Tom Lane) This should improve server robustness in corner cases, and it syncs our printf implementation with common libraries.", "commit_aliases": ["3779ac62d", "4c8a14e8d", "5a435289d", "7e09b504d", "89ad14cd7", "9329b9235", "c0a6f83de"], "source_commits": ["7e09b504d"], "source_entry_id": "9.6.23/changes/039", "db_id": "19700bc7b591f82177c3f02c352c5791", "patch_ids": ["d38562c44413869d41be145f078366a2"], "statement_hash": "a9f0725cf0b2be059059df0c581390c832f58a2c351b6be09e25603704c8dfe6", "relations": [{"rule": 2, "type": "equivalent", "target": "199a2a07e4dfd8690b030311810b1cbe", "evidence": {"same_day": true, "patch_ids": ["d38562c44413869d41be145f078366a2"], "statement_hash": "a9f0725cf0b2be059059df0c581390c832f58a2c351b6be09e25603704c8dfe6"}}, {"rule": 2, "type": "equivalent", "target": "5e5497f78e72da3c8ed08220902a1419", "evidence": {"same_day": true, "patch_ids": ["d38562c44413869d41be145f078366a2"], "statement_hash": "a9f0725cf0b2be059059df0c581390c832f58a2c351b6be09e25603704c8dfe6"}}, {"rule": 2, "type": "equivalent", "target": "86b387c1b2d58c26144f22f4a6b5563c", "evidence": {"same_day": true, "patch_ids": ["d38562c44413869d41be145f078366a2"], "statement_hash": "a9f0725cf0b2be059059df0c581390c832f58a2c351b6be09e25603704c8dfe6"}}, {"rule": 2, "type": "equivalent", "target": "94a4d45c2621c88d32a166c53860d04b", "evidence": {"same_day": true, "patch_ids": ["d38562c44413869d41be145f078366a2"], "statement_hash": "a9f0725cf0b2be059059df0c581390c832f58a2c351b6be09e25603704c8dfe6"}}], "version": "9.6.23", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "86b387c1b2d58c26144f22f4a6b5563c", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "使 printf(\"%s\", NULL) 打印 (null)，而不崩溃", "evidence": {"same_day": true, "patch_ids": ["d38562c44413869d41be145f078366a2"], "statement_hash": "a9f0725cf0b2be059059df0c581390c832f58a2c351b6be09e25603704c8dfe6"}, "url": "/docs/compare/?release=13.4#13.4-afcd012a9539ff7f", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "94a4d45c2621c88d32a166c53860d04b", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "使 printf(\"%s\", NULL) 打印 (null)，而不崩溃", "evidence": {"same_day": true, "patch_ids": ["d38562c44413869d41be145f078366a2"], "statement_hash": "a9f0725cf0b2be059059df0c581390c832f58a2c351b6be09e25603704c8dfe6"}, "url": "/docs/compare/?release=12.8#12.8-7bb38f92395272c1", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "199a2a07e4dfd8690b030311810b1cbe", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "使 printf(\"%s\", NULL) 打印 (null)，而不崩溃", "evidence": {"same_day": true, "patch_ids": ["d38562c44413869d41be145f078366a2"], "statement_hash": "a9f0725cf0b2be059059df0c581390c832f58a2c351b6be09e25603704c8dfe6"}, "url": "/docs/compare/?release=11.13#11.13-6b3473d2882ee0fc", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "5e5497f78e72da3c8ed08220902a1419", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "使 printf(\"%s\", NULL) 打印 (null)，而不崩溃", "evidence": {"same_day": true, "patch_ids": ["d38562c44413869d41be145f078366a2"], "statement_hash": "a9f0725cf0b2be059059df0c581390c832f58a2c351b6be09e25603704c8dfe6"}, "url": "/docs/compare/?release=10.18#10.18-6b3473d2882ee0fc", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-c6777a374bd7a0a6", "cves": [], "html": "<p>修复时间点恢复在 <code>ROLLBACK PREPARED</code> 记录处停止时错误的日志消息（Simon Riggs）</p>", "text": "修复时间点恢复在 ROLLBACK PREPARED 记录处停止时错误的日志消息（Simon Riggs）", "title": "修复时间点恢复在 ROLLBACK PREPARED 记录处停止时错误的日志消息", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "8dd106f6f2c3a0c3508e7e92e828d62a8b5ad3417683278ab7c131ae8500f8d5", "section_path": ["变更"], "commit_groups": [["17707c059", "41edb2db1", "607a3a43b", "68bad2333", "93d3d0cf3", "b5ee867a7", "d8569db76"]], "identity_text": "Fix incorrect log message when point-in-time recovery stops at a ROLLBACK PREPARED record (Simon Riggs)", "commit_aliases": ["17707c059", "41edb2db1", "607a3a43b", "68bad2333", "93d3d0cf3", "b5ee867a7", "d8569db76"], "source_commits": ["68bad2333"], "source_entry_id": "9.6.23/changes/040", "db_id": "0303e0aef9c69053eed8e21a53396d27", "patch_ids": ["93d2d2b2f7a22f9d8eea85c8c79e5b56"], "statement_hash": "8c6060ae0da02ab597f952a1884f1fd6211e8baa555368332087e92161e46a52", "relations": [{"rule": 2, "type": "equivalent", "target": "40a6850d2d676f2799a4e07c079ff964", "evidence": {"same_day": true, "patch_ids": ["93d2d2b2f7a22f9d8eea85c8c79e5b56"], "statement_hash": "8c6060ae0da02ab597f952a1884f1fd6211e8baa555368332087e92161e46a52"}}, {"rule": 2, "type": "equivalent", "target": "4f60a02ea44f32c92798f081c001cc9e", "evidence": {"same_day": true, "patch_ids": ["93d2d2b2f7a22f9d8eea85c8c79e5b56"], "statement_hash": "8c6060ae0da02ab597f952a1884f1fd6211e8baa555368332087e92161e46a52"}}, {"rule": 2, "type": "equivalent", "target": "aff330a9f22e24f196cfb8618c9d91ff", "evidence": {"same_day": true, "patch_ids": ["93d2d2b2f7a22f9d8eea85c8c79e5b56"], "statement_hash": "8c6060ae0da02ab597f952a1884f1fd6211e8baa555368332087e92161e46a52"}}, {"rule": 2, "type": "equivalent", "target": "ffd357184fe3034bfa72a666f8b0a43e", "evidence": {"same_day": true, "patch_ids": ["93d2d2b2f7a22f9d8eea85c8c79e5b56"], "statement_hash": "8c6060ae0da02ab597f952a1884f1fd6211e8baa555368332087e92161e46a52"}}], "version": "9.6.23", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "40a6850d2d676f2799a4e07c079ff964", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "修复时间点恢复停止在 ROLLBACK PREPARED 记录处时不正确的日志消息", "evidence": {"same_day": true, "patch_ids": ["93d2d2b2f7a22f9d8eea85c8c79e5b56"], "statement_hash": "8c6060ae0da02ab597f952a1884f1fd6211e8baa555368332087e92161e46a52"}, "url": "/docs/compare/?release=13.4#13.4-b0822e1668c6227c", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "ffd357184fe3034bfa72a666f8b0a43e", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "修复时间点恢复停止在 ROLLBACK PREPARED 记录处时不正确的日志消息", "evidence": {"same_day": true, "patch_ids": ["93d2d2b2f7a22f9d8eea85c8c79e5b56"], "statement_hash": "8c6060ae0da02ab597f952a1884f1fd6211e8baa555368332087e92161e46a52"}, "url": "/docs/compare/?release=12.8#12.8-2d8e528531f7ad2b", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "aff330a9f22e24f196cfb8618c9d91ff", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "修复时间点恢复停止在 ROLLBACK PREPARED 记录处时不正确的日志消息", "evidence": {"same_day": true, "patch_ids": ["93d2d2b2f7a22f9d8eea85c8c79e5b56"], "statement_hash": "8c6060ae0da02ab597f952a1884f1fd6211e8baa555368332087e92161e46a52"}, "url": "/docs/compare/?release=11.13#11.13-a6f8cfdb6374c9d3", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "4f60a02ea44f32c92798f081c001cc9e", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "修复时间点恢复停止在 ROLLBACK PREPARED 记录处时不正确的日志消息", "evidence": {"same_day": true, "patch_ids": ["93d2d2b2f7a22f9d8eea85c8c79e5b56"], "statement_hash": "8c6060ae0da02ab597f952a1884f1fd6211e8baa555368332087e92161e46a52"}, "url": "/docs/compare/?release=10.18#10.18-a6f8cfdb6374c9d3", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-0ec9b73badc4b332", "cves": [], "html": "<p>澄清涉及<span>“<span>非负</span>”</span>值的错误消息（Bharath Rupireddy）</p>", "text": "澄清涉及“非负”值的错误消息（Bharath Rupireddy）", "title": "澄清涉及“非负”值的错误消息", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "5f0c06534f09a4aff9af5c18bf7f3bb8c287f539651ae9e87a1c584a628960d1", "section_path": ["变更"], "commit_groups": [["0e1275fb0", "42e6b5ccb", "78c21d79d", "92913fc29", "a84f95ffd", "de87c481f", "fd90f6ba7"]], "identity_text": "Clarify error messages referring to non-negative values (Bharath Rupireddy)", "commit_aliases": ["0e1275fb0", "42e6b5ccb", "78c21d79d", "92913fc29", "a84f95ffd", "de87c481f", "fd90f6ba7"], "source_commits": ["78c21d79d"], "source_entry_id": "9.6.23/changes/041", "db_id": "d2d4f53d4821ee17c4b7c0bbac7a115a", "patch_ids": ["43c7acd56e53f383f13d7a88f5307318"], "statement_hash": "3d0755bb74569bea76728061d236b395599059e10f4777bd454c0d4d0713a7d3", "relations": [{"rule": 2, "type": "equivalent", "target": "28903ddfbd41cc0d903ac386db91ce91", "evidence": {"same_day": true, "patch_ids": ["43c7acd56e53f383f13d7a88f5307318"], "statement_hash": "3d0755bb74569bea76728061d236b395599059e10f4777bd454c0d4d0713a7d3"}}, {"rule": 2, "type": "equivalent", "target": "b6624d383034969bccc9b811492317bf", "evidence": {"same_day": true, "patch_ids": ["43c7acd56e53f383f13d7a88f5307318"], "statement_hash": "3d0755bb74569bea76728061d236b395599059e10f4777bd454c0d4d0713a7d3"}}, {"rule": 2, "type": "equivalent", "target": "ba1ff64e31c5716cebe42cbf0ecadac3", "evidence": {"same_day": true, "patch_ids": ["43c7acd56e53f383f13d7a88f5307318"], "statement_hash": "3d0755bb74569bea76728061d236b395599059e10f4777bd454c0d4d0713a7d3"}}, {"rule": 2, "type": "equivalent", "target": "ccc73d112dc7b542e0b994fe5bd561ed", "evidence": {"same_day": true, "patch_ids": ["43c7acd56e53f383f13d7a88f5307318"], "statement_hash": "3d0755bb74569bea76728061d236b395599059e10f4777bd454c0d4d0713a7d3"}}], "version": "9.6.23", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "ccc73d112dc7b542e0b994fe5bd561ed", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "使涉及“非负”值的错误消息更清晰", "evidence": {"same_day": true, "patch_ids": ["43c7acd56e53f383f13d7a88f5307318"], "statement_hash": "3d0755bb74569bea76728061d236b395599059e10f4777bd454c0d4d0713a7d3"}, "url": "/docs/compare/?release=13.4#13.4-4228acde6ad7086d", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "b6624d383034969bccc9b811492317bf", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "使涉及“非负”值的错误消息更清晰", "evidence": {"same_day": true, "patch_ids": ["43c7acd56e53f383f13d7a88f5307318"], "statement_hash": "3d0755bb74569bea76728061d236b395599059e10f4777bd454c0d4d0713a7d3"}, "url": "/docs/compare/?release=12.8#12.8-d0dd265a4aea3115", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "28903ddfbd41cc0d903ac386db91ce91", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "使涉及“非负”值的错误消息更清晰", "evidence": {"same_day": true, "patch_ids": ["43c7acd56e53f383f13d7a88f5307318"], "statement_hash": "3d0755bb74569bea76728061d236b395599059e10f4777bd454c0d4d0713a7d3"}, "url": "/docs/compare/?release=11.13#11.13-24664d7c362985bd", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "ba1ff64e31c5716cebe42cbf0ecadac3", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "使涉及“非负”值的错误消息更清晰", "evidence": {"same_day": true, "patch_ids": ["43c7acd56e53f383f13d7a88f5307318"], "statement_hash": "3d0755bb74569bea76728061d236b395599059e10f4777bd454c0d4d0713a7d3"}, "url": "/docs/compare/?release=10.18#10.18-24664d7c362985bd", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-00b87be2c6d9a06e", "cves": [], "html": "<p>修复 <span>configure</span> 在 OpenLDAP 2.5 下的工作，该版本不再有单独的 <code>libldap_r</code> 库（Adrian Ho、Tom Lane）</p>\n<p>如果没有 <code>libldap_r</code> 库，我们现在静默假定 <code>libldap</code> 是线程安全的。</p>", "text": "修复 configure 在 OpenLDAP 2.5 下的工作，该版本不再有单独的 libldap_r 库（Adrian Ho、Tom Lane） 如果没有 libldap_r 库，我们现在静默假定 libldap 是线程安全的。", "title": "修复 configure 在 OpenLDAP 2.5 下的工作，该版本不再有单独的 libldap_r 库", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "06cbe84f48faa89ef99f757892bd2af7eb1801ba3703cd6ca8bf964fd12a28f6", "section_path": ["变更"], "commit_groups": [["03fc042eb", "946f62f2f", "9f6be2e79", "9fca23c1d", "ebc346e5b"], ["29a4fbd46", "31e8cfac5", "7f2eca6f9", "83a8bf24e", "8c9c20899", "911488b42", "cbcf5ffb1"], ["2c28c689f", "32d0bdbfc", "3c612d9f6", "53c38a086", "56533fce7", "9ffad7ae7", "e82cde74d"], ["55cccdfdf", "5620ec833", "7e0b53ad6", "a5377e7f7", "b69e8ad6c", "cd5d3aefa", "d0a02bdb8"]], "identity_text": "Fix configure to work with OpenLDAP 2.5, which no longer has a separate libldap_r library (Adrian Ho, Tom Lane) If there is no libldap_r library, we now silently assume that libldap is thread-safe.", "commit_aliases": ["03fc042eb", "29a4fbd46", "2c28c689f", "31e8cfac5", "32d0bdbfc", "3c612d9f6", "53c38a086", "55cccdfdf", "5620ec833", "56533fce7", "7e0b53ad6", "7f2eca6f9", "83a8bf24e", "8c9c20899", "911488b42", "946f62f2f", "9f6be2e79", "9fca23c1d", "9ffad7ae7", "a5377e7f7", "b69e8ad6c", "cbcf5ffb1", "cd5d3aefa", "d0a02bdb8", "e82cde74d", "ebc346e5b"], "source_commits": ["3c612d9f6", "8c9c20899", "9f6be2e79", "cd5d3aefa"], "source_entry_id": "9.6.23/changes/042", "db_id": "c3d256986b201bf0d6bdd920734a649f", "patch_ids": ["12adf88441f2688a04629d2cdb792f98", "31a293410c178f0bbfeb51604358d7b6", "c42bc4d2a4a73b2cfcd63d6ed4bd456a", "e8edc1d61304624280b3a27b5a21bc8f"], "statement_hash": "013ada10894f10815f2cbe758835f929e431179248e5f7116007279cda923394", "relations": [{"rule": 2, "type": "equivalent", "target": "23cb501c61e7f6cd89454f9ca09d9f8d", "evidence": {"same_day": true, "patch_ids": ["12adf88441f2688a04629d2cdb792f98", "31a293410c178f0bbfeb51604358d7b6", "c42bc4d2a4a73b2cfcd63d6ed4bd456a", "e8edc1d61304624280b3a27b5a21bc8f"], "statement_hash": "013ada10894f10815f2cbe758835f929e431179248e5f7116007279cda923394"}}, {"rule": 2, "type": "equivalent", "target": "45c55632ea0acc55f7ee9e443892c827", "evidence": {"same_day": true, "patch_ids": ["12adf88441f2688a04629d2cdb792f98", "31a293410c178f0bbfeb51604358d7b6", "c42bc4d2a4a73b2cfcd63d6ed4bd456a", "e8edc1d61304624280b3a27b5a21bc8f"], "statement_hash": "013ada10894f10815f2cbe758835f929e431179248e5f7116007279cda923394"}}, {"rule": 2, "type": "equivalent", "target": "8d6e2babf657e0dc88d167e05ef339c2", "evidence": {"same_day": true, "patch_ids": ["12adf88441f2688a04629d2cdb792f98", "31a293410c178f0bbfeb51604358d7b6", "c42bc4d2a4a73b2cfcd63d6ed4bd456a", "e8edc1d61304624280b3a27b5a21bc8f"], "statement_hash": "013ada10894f10815f2cbe758835f929e431179248e5f7116007279cda923394"}}, {"rule": 2, "type": "equivalent", "target": "c5f7974b08a46d9997d7299ff206e663", "evidence": {"same_day": true, "patch_ids": ["12adf88441f2688a04629d2cdb792f98", "31a293410c178f0bbfeb51604358d7b6", "c42bc4d2a4a73b2cfcd63d6ed4bd456a", "e8edc1d61304624280b3a27b5a21bc8f"], "statement_hash": "013ada10894f10815f2cbe758835f929e431179248e5f7116007279cda923394"}}], "version": "9.6.23", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "c5f7974b08a46d9997d7299ff206e663", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "修复 configure，使其支持不再提供独立 libldap_r 库的 OpenLDAP 2.5", "evidence": {"same_day": true, "patch_ids": ["12adf88441f2688a04629d2cdb792f98", "31a293410c178f0bbfeb51604358d7b6", "c42bc4d2a4a73b2cfcd63d6ed4bd456a", "e8edc1d61304624280b3a27b5a21bc8f"], "statement_hash": "013ada10894f10815f2cbe758835f929e431179248e5f7116007279cda923394"}, "url": "/docs/compare/?release=13.4#13.4-bce4f698e161b728", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "8d6e2babf657e0dc88d167e05ef339c2", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "修复 configure，使其支持不再提供独立 libldap_r 库的 OpenLDAP 2.5", "evidence": {"same_day": true, "patch_ids": ["12adf88441f2688a04629d2cdb792f98", "31a293410c178f0bbfeb51604358d7b6", "c42bc4d2a4a73b2cfcd63d6ed4bd456a", "e8edc1d61304624280b3a27b5a21bc8f"], "statement_hash": "013ada10894f10815f2cbe758835f929e431179248e5f7116007279cda923394"}, "url": "/docs/compare/?release=12.8#12.8-ff4c7590569f6af0", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "45c55632ea0acc55f7ee9e443892c827", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "修复 configure，使其支持不再提供独立 libldap_r 库的 OpenLDAP 2.5", "evidence": {"same_day": true, "patch_ids": ["12adf88441f2688a04629d2cdb792f98", "31a293410c178f0bbfeb51604358d7b6", "c42bc4d2a4a73b2cfcd63d6ed4bd456a", "e8edc1d61304624280b3a27b5a21bc8f"], "statement_hash": "013ada10894f10815f2cbe758835f929e431179248e5f7116007279cda923394"}, "url": "/docs/compare/?release=11.13#11.13-4dfc9ca2531de448", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "23cb501c61e7f6cd89454f9ca09d9f8d", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "修复 configure，使其支持不再提供独立 libldap_r 库的 OpenLDAP 2.5", "evidence": {"same_day": true, "patch_ids": ["12adf88441f2688a04629d2cdb792f98", "31a293410c178f0bbfeb51604358d7b6", "c42bc4d2a4a73b2cfcd63d6ed4bd456a", "e8edc1d61304624280b3a27b5a21bc8f"], "statement_hash": "013ada10894f10815f2cbe758835f929e431179248e5f7116007279cda923394"}, "url": "/docs/compare/?release=10.18#10.18-4dfc9ca2531de448", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-db451c88692f045d", "cves": [], "html": "<p>添加新的 make 目标 <code>world-bin</code> 和 <code>install-world-bin</code>（Andrew Dunstan）</p>\n<p>它们分别与 <code>world</code> 和 <code>install-world</code> 相同，只是不构建或安装文档。</p>", "text": "添加新的 make 目标 world-bin 和 install-world-bin（Andrew Dunstan） 它们分别与 world 和 install-world 相同，只是不构建或安装文档。", "title": "添加新的 make 目标 world-bin 和 install-world-bin", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "2ecf597c447df584ec7b2b12f77f4a35c2270b0075c82507b1366ea7d701e8a5", "section_path": ["变更"], "commit_groups": [["100e9ae53", "a7e3a390e", "b796435be", "b8c4261e5", "bd0be7f7a", "c71471c96", "cbd5d7c85"], ["177531ee0", "1da2ea0cc", "1f7ea06d7", "383c29d1e", "418041748", "7355c241e", "8d2be1402"]], "identity_text": "Add new make targets world-bin and install-world-bin (Andrew Dunstan) These are the same as world and install-world respectively, except that they do not build or install the documentation.", "commit_aliases": ["100e9ae53", "177531ee0", "1da2ea0cc", "1f7ea06d7", "383c29d1e", "418041748", "7355c241e", "8d2be1402", "a7e3a390e", "b796435be", "b8c4261e5", "bd0be7f7a", "c71471c96", "cbd5d7c85"], "source_commits": ["1f7ea06d7", "cbd5d7c85"], "source_entry_id": "9.6.23/changes/043", "db_id": "fcca536234f4fdf706a54ea2d11bad46", "patch_ids": ["93fd989bb2b9ea7f6c7b3009d3618db7", "971aa0635d2c65d3cac043df88402124"], "statement_hash": "5a31ba48c89bf466d9f97c4fabb3ed42ec4f18064f119164e6662508acef6fb0", "relations": [{"rule": 2, "type": "equivalent", "target": "6eb2670447c8c8dcdd8d09e4cd49443a", "evidence": {"same_day": true, "patch_ids": ["93fd989bb2b9ea7f6c7b3009d3618db7", "971aa0635d2c65d3cac043df88402124"], "statement_hash": "5a31ba48c89bf466d9f97c4fabb3ed42ec4f18064f119164e6662508acef6fb0"}}, {"rule": 2, "type": "equivalent", "target": "8e05ea820d1de4ad94215ddf043bbfc9", "evidence": {"same_day": true, "patch_ids": ["93fd989bb2b9ea7f6c7b3009d3618db7", "971aa0635d2c65d3cac043df88402124"], "statement_hash": "5a31ba48c89bf466d9f97c4fabb3ed42ec4f18064f119164e6662508acef6fb0"}}, {"rule": 2, "type": "equivalent", "target": "df7c11e8809711cd3340354d7937acf9", "evidence": {"same_day": true, "patch_ids": ["93fd989bb2b9ea7f6c7b3009d3618db7", "971aa0635d2c65d3cac043df88402124"], "statement_hash": "5a31ba48c89bf466d9f97c4fabb3ed42ec4f18064f119164e6662508acef6fb0"}}, {"rule": 2, "type": "equivalent", "target": "f629fe9ea45390c5b62c57b4d04065d6", "evidence": {"same_day": true, "patch_ids": ["93fd989bb2b9ea7f6c7b3009d3618db7", "971aa0635d2c65d3cac043df88402124"], "statement_hash": "5a31ba48c89bf466d9f97c4fabb3ed42ec4f18064f119164e6662508acef6fb0"}}], "version": "9.6.23", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "6eb2670447c8c8dcdd8d09e4cd49443a", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "增加新的 make 目标 world-bin 和 install-world-bin", "evidence": {"same_day": true, "patch_ids": ["93fd989bb2b9ea7f6c7b3009d3618db7", "971aa0635d2c65d3cac043df88402124"], "statement_hash": "5a31ba48c89bf466d9f97c4fabb3ed42ec4f18064f119164e6662508acef6fb0"}, "url": "/docs/compare/?release=13.4#13.4-10ef5ec2e9187cee", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "8e05ea820d1de4ad94215ddf043bbfc9", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "增加新的 make 目标 world-bin 和 install-world-bin", "evidence": {"same_day": true, "patch_ids": ["93fd989bb2b9ea7f6c7b3009d3618db7", "971aa0635d2c65d3cac043df88402124"], "statement_hash": "5a31ba48c89bf466d9f97c4fabb3ed42ec4f18064f119164e6662508acef6fb0"}, "url": "/docs/compare/?release=12.8#12.8-188694f0e07ebf21", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "f629fe9ea45390c5b62c57b4d04065d6", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "增加新的 make 目标 world-bin 和 install-world-bin", "evidence": {"same_day": true, "patch_ids": ["93fd989bb2b9ea7f6c7b3009d3618db7", "971aa0635d2c65d3cac043df88402124"], "statement_hash": "5a31ba48c89bf466d9f97c4fabb3ed42ec4f18064f119164e6662508acef6fb0"}, "url": "/docs/compare/?release=11.13#11.13-c83f3690ba5e3273", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "df7c11e8809711cd3340354d7937acf9", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "增加新的 make 目标 world-bin 和 install-world-bin", "evidence": {"same_day": true, "patch_ids": ["93fd989bb2b9ea7f6c7b3009d3618db7", "971aa0635d2c65d3cac043df88402124"], "statement_hash": "5a31ba48c89bf466d9f97c4fabb3ed42ec4f18064f119164e6662508acef6fb0"}, "url": "/docs/compare/?release=10.18#10.18-c83f3690ba5e3273", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-f390ad7fe75653fb", "cves": [], "html": "<p>修复 TAP 测试的 make 规则（<code>prove_installcheck</code>）在 PGXS 用法下工作的问题（Andrew Dunstan）</p>", "text": "修复 TAP 测试的 make 规则（prove_installcheck）在 PGXS 用法下工作的问题（Andrew Dunstan）", "title": "修复 TAP 测试的 make 规则（prove_installcheck）在 PGXS 用法下工作的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "aa2a85c29095041083ababa5d7812b16b31d36cd068c0af733e3ea90ef109b9b", "section_path": ["变更"], "commit_groups": [["16ed3ddbb", "58ac8300b", "a0fc81326", "a40f8ea0f", "a8b564b0c", "c4774ce33", "d173a4699"]], "identity_text": "Fix make rule for TAP tests (prove_installcheck) to work in PGXS usage (Andrew Dunstan)", "commit_aliases": ["16ed3ddbb", "58ac8300b", "a0fc81326", "a40f8ea0f", "a8b564b0c", "c4774ce33", "d173a4699"], "source_commits": ["d173a4699"], "source_entry_id": "9.6.23/changes/044", "db_id": "a99a621103cf2a37c6219c42d1ef3124", "patch_ids": ["1b9c45bd8e297f40e04bbfe901f36ed3"], "statement_hash": "0993afdc5fa5fcbca5c2a5d0f4017fe1621c78381ed198eeec61cf2eb8a2eea1", "relations": [{"rule": 2, "type": "equivalent", "target": "084c04f290d7624f05e5394924f6dc72", "evidence": {"same_day": true, "patch_ids": ["1b9c45bd8e297f40e04bbfe901f36ed3"], "statement_hash": "0993afdc5fa5fcbca5c2a5d0f4017fe1621c78381ed198eeec61cf2eb8a2eea1"}}, {"rule": 2, "type": "equivalent", "target": "6bd1e0297c1059933a92f416eda748d0", "evidence": {"same_day": true, "patch_ids": ["1b9c45bd8e297f40e04bbfe901f36ed3"], "statement_hash": "0993afdc5fa5fcbca5c2a5d0f4017fe1621c78381ed198eeec61cf2eb8a2eea1"}}, {"rule": 2, "type": "equivalent", "target": "dcc6931b6143b2d79f6cc60ff0978b18", "evidence": {"same_day": true, "patch_ids": ["1b9c45bd8e297f40e04bbfe901f36ed3"], "statement_hash": "0993afdc5fa5fcbca5c2a5d0f4017fe1621c78381ed198eeec61cf2eb8a2eea1"}}, {"rule": 2, "type": "equivalent", "target": "e4a3f1cf6544b112189ee964bc53ae7c", "evidence": {"same_day": true, "patch_ids": ["1b9c45bd8e297f40e04bbfe901f36ed3"], "statement_hash": "0993afdc5fa5fcbca5c2a5d0f4017fe1621c78381ed198eeec61cf2eb8a2eea1"}}], "version": "9.6.23", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "e4a3f1cf6544b112189ee964bc53ae7c", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "修复 TAP 测试的 make 规则（prove_installcheck），使其在 PGXS 用法下正常工作", "evidence": {"same_day": true, "patch_ids": ["1b9c45bd8e297f40e04bbfe901f36ed3"], "statement_hash": "0993afdc5fa5fcbca5c2a5d0f4017fe1621c78381ed198eeec61cf2eb8a2eea1"}, "url": "/docs/compare/?release=13.4#13.4-03313c5d2346e465", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "dcc6931b6143b2d79f6cc60ff0978b18", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "修复 TAP 测试的 make 规则（prove_installcheck），使其在 PGXS 用法下正常工作", "evidence": {"same_day": true, "patch_ids": ["1b9c45bd8e297f40e04bbfe901f36ed3"], "statement_hash": "0993afdc5fa5fcbca5c2a5d0f4017fe1621c78381ed198eeec61cf2eb8a2eea1"}, "url": "/docs/compare/?release=12.8#12.8-6fff92fa5c963c7e", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "6bd1e0297c1059933a92f416eda748d0", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "修复 TAP 测试的 make 规则（prove_installcheck），使其在 PGXS 用法下正常工作", "evidence": {"same_day": true, "patch_ids": ["1b9c45bd8e297f40e04bbfe901f36ed3"], "statement_hash": "0993afdc5fa5fcbca5c2a5d0f4017fe1621c78381ed198eeec61cf2eb8a2eea1"}, "url": "/docs/compare/?release=11.13#11.13-cee212bba3cc2d0e", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "084c04f290d7624f05e5394924f6dc72", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "修复 TAP 测试的 make 规则（prove_installcheck），使其在 PGXS 用法下正常工作", "evidence": {"same_day": true, "patch_ids": ["1b9c45bd8e297f40e04bbfe901f36ed3"], "statement_hash": "0993afdc5fa5fcbca5c2a5d0f4017fe1621c78381ed198eeec61cf2eb8a2eea1"}, "url": "/docs/compare/?release=10.18#10.18-cee212bba3cc2d0e", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-5b72a24d3f469dec", "cves": [], "html": "<p>避免假定 GSSAPI 库返回的字符串以空字符结尾（Tom Lane）</p>\n<p>GSSAPI 规范提供字符串指针和长度。实践中字符串后面的下一个字节通常是零，因此我们原来的编码实际并没有失败；但确实有 AddressSanitizer 报告的记录。</p>", "text": "避免假定 GSSAPI 库返回的字符串以空字符结尾（Tom Lane） GSSAPI 规范提供字符串指针和长度。实践中字符串后面的下一个字节通常是零，因此我们原来的编码实际并没有失败；但确实有 AddressSanitizer 报告的记录。", "title": "避免假定 GSSAPI 库返回的字符串以空字符结尾", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "c4ed4a6ce05eb4c0184ffe0c8dfee273242210f284443c89379832aac5d5f0ad", "section_path": ["变更"], "commit_groups": [["006a829b2", "126cdaf47", "13f365568", "361acef7e", "7eaf65451", "d3a845d1f"]], "identity_text": "Avoid assuming that strings returned by GSSAPI libraries are null-terminated (Tom Lane) The GSSAPI spec provides for a string pointer and length. It seems that in practice the next byte after the string is usually zero, so that our previous coding didn't actually fail; but we do have a report of AddressSanitizer complaints.", "commit_aliases": ["006a829b2", "126cdaf47", "13f365568", "361acef7e", "7eaf65451", "d3a845d1f"], "source_commits": ["006a829b2"], "source_entry_id": "9.6.23/changes/045", "db_id": "f696c959aa23990d7139a8ebe4e1acb9", "patch_ids": ["9be91ec613a8777395eab8803fa1cf36"], "statement_hash": "dddf7eeb8f86464af8abcfe91a332078d15f787019610a810118612b15b97afd", "relations": [{"rule": 2, "type": "equivalent", "target": "4394e8c29a3ea781ecc5d841e8052995", "evidence": {"same_day": true, "patch_ids": ["9be91ec613a8777395eab8803fa1cf36"], "statement_hash": "dddf7eeb8f86464af8abcfe91a332078d15f787019610a810118612b15b97afd"}}, {"rule": 2, "type": "equivalent", "target": "662c8257df683d00436901be8494b70b", "evidence": {"same_day": true, "patch_ids": ["9be91ec613a8777395eab8803fa1cf36"], "statement_hash": "dddf7eeb8f86464af8abcfe91a332078d15f787019610a810118612b15b97afd"}}, {"rule": 2, "type": "equivalent", "target": "92bf094f88007eaa21a239f885fd516e", "evidence": {"same_day": true, "patch_ids": ["9be91ec613a8777395eab8803fa1cf36"], "statement_hash": "dddf7eeb8f86464af8abcfe91a332078d15f787019610a810118612b15b97afd"}}, {"rule": 2, "type": "equivalent", "target": "ce80c9f971c7aaeb0810fd0a1f9a239e", "evidence": {"same_day": true, "patch_ids": ["9be91ec613a8777395eab8803fa1cf36"], "statement_hash": "dddf7eeb8f86464af8abcfe91a332078d15f787019610a810118612b15b97afd"}}], "version": "9.6.23", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "ce80c9f971c7aaeb0810fd0a1f9a239e", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "避免假定 GSSAPI 库返回的字符串以空字符结尾", "evidence": {"same_day": true, "patch_ids": ["9be91ec613a8777395eab8803fa1cf36"], "statement_hash": "dddf7eeb8f86464af8abcfe91a332078d15f787019610a810118612b15b97afd"}, "url": "/docs/compare/?release=13.4#13.4-3e7220d298f435d2", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "662c8257df683d00436901be8494b70b", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "避免假定 GSSAPI 库返回的字符串以空字符结尾", "evidence": {"same_day": true, "patch_ids": ["9be91ec613a8777395eab8803fa1cf36"], "statement_hash": "dddf7eeb8f86464af8abcfe91a332078d15f787019610a810118612b15b97afd"}, "url": "/docs/compare/?release=12.8#12.8-0ea50dbb1b1a77ef", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "92bf094f88007eaa21a239f885fd516e", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "避免假定 GSSAPI 库返回的字符串以空字符结尾", "evidence": {"same_day": true, "patch_ids": ["9be91ec613a8777395eab8803fa1cf36"], "statement_hash": "dddf7eeb8f86464af8abcfe91a332078d15f787019610a810118612b15b97afd"}, "url": "/docs/compare/?release=11.13#11.13-5b72a24d3f469dec", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "4394e8c29a3ea781ecc5d841e8052995", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "避免假定 GSSAPI 库返回的字符串以空字符结尾", "evidence": {"same_day": true, "patch_ids": ["9be91ec613a8777395eab8803fa1cf36"], "statement_hash": "dddf7eeb8f86464af8abcfe91a332078d15f787019610a810118612b15b97afd"}, "url": "/docs/compare/?release=10.18#10.18-5b72a24d3f469dec", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-68c48a0baed0edf1", "cves": [], "html": "<p>允许在 MSVC 上以 GSSAPI 构建（Michael Paquier）</p>\n<p>修复与现代 Kerberos 构建的各种不兼容。</p>", "text": "允许在 MSVC 上以 GSSAPI 构建（Michael Paquier） 修复与现代 Kerberos 构建的各种不兼容。", "title": "允许在 MSVC 上以 GSSAPI 构建", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "9db1b8e80ffd11d55b67d312fc8deb12595b90e6de64d290d1afeb1e4501bd0f", "section_path": ["变更"], "commit_groups": [["02037af3f", "7ca37fb04", "e2f21ff60"], ["025110663", "7a4f2e158", "8f507dbc6", "a75268f1c", "ab81d004e", "cf2e09544"], ["949e32ee5", "b7684bd10"]], "identity_text": "Enable building with GSSAPI on MSVC (Michael Paquier) Fix various incompatibilities with modern Kerberos builds.", "commit_aliases": ["02037af3f", "025110663", "7a4f2e158", "7ca37fb04", "8f507dbc6", "949e32ee5", "a75268f1c", "ab81d004e", "b7684bd10", "cf2e09544", "e2f21ff60"], "source_commits": ["7a4f2e158", "7ca37fb04", "949e32ee5"], "source_entry_id": "9.6.23/changes/046", "db_id": "9cc3fd7ad44ddda6e0f1436a78cca7c5", "patch_ids": ["36323160f89be3a59dacc7634bded20f", "8e8c90818a2372b90b3313a24c5deaa9", "ff6d4086f259df4df83544b3f4474869"], "statement_hash": "6a9c49bf048d7894c3c7b77190aa5d631bab7efa275bc014cd1ebea92a77d20c", "relations": [{"rule": 2, "type": "equivalent", "target": "0380426e5975f85691e8b48a5b9f20ee", "evidence": {"same_day": true, "patch_ids": ["36323160f89be3a59dacc7634bded20f", "8e8c90818a2372b90b3313a24c5deaa9", "ff6d4086f259df4df83544b3f4474869"], "statement_hash": "6a9c49bf048d7894c3c7b77190aa5d631bab7efa275bc014cd1ebea92a77d20c"}}, {"rule": 2, "type": "equivalent", "target": "50c687fae7907ce1fc62a1ab66db20ab", "evidence": {"same_day": true, "patch_ids": ["36323160f89be3a59dacc7634bded20f", "8e8c90818a2372b90b3313a24c5deaa9", "ff6d4086f259df4df83544b3f4474869"], "statement_hash": "6a9c49bf048d7894c3c7b77190aa5d631bab7efa275bc014cd1ebea92a77d20c"}}, {"rule": 2, "type": "equivalent", "target": "ca5f1765317c46fadeb1ab56a1da4c43", "evidence": {"same_day": true, "patch_ids": ["36323160f89be3a59dacc7634bded20f", "8e8c90818a2372b90b3313a24c5deaa9", "ff6d4086f259df4df83544b3f4474869"], "statement_hash": "6a9c49bf048d7894c3c7b77190aa5d631bab7efa275bc014cd1ebea92a77d20c"}}, {"rule": 2, "type": "equivalent", "target": "f7f6ffe685bbca4e36965b0e6393fcc3", "evidence": {"same_day": true, "patch_ids": ["36323160f89be3a59dacc7634bded20f", "8e8c90818a2372b90b3313a24c5deaa9", "ff6d4086f259df4df83544b3f4474869"], "statement_hash": "6a9c49bf048d7894c3c7b77190aa5d631bab7efa275bc014cd1ebea92a77d20c"}}], "version": "9.6.23", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "50c687fae7907ce1fc62a1ab66db20ab", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "允许在 MSVC 上构建 GSSAPI 支持", "evidence": {"same_day": true, "patch_ids": ["36323160f89be3a59dacc7634bded20f", "8e8c90818a2372b90b3313a24c5deaa9", "ff6d4086f259df4df83544b3f4474869"], "statement_hash": "6a9c49bf048d7894c3c7b77190aa5d631bab7efa275bc014cd1ebea92a77d20c"}, "url": "/docs/compare/?release=13.4#13.4-58e039c5f2423ced", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "ca5f1765317c46fadeb1ab56a1da4c43", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "允许在 MSVC 上构建 GSSAPI 支持", "evidence": {"same_day": true, "patch_ids": ["36323160f89be3a59dacc7634bded20f", "8e8c90818a2372b90b3313a24c5deaa9", "ff6d4086f259df4df83544b3f4474869"], "statement_hash": "6a9c49bf048d7894c3c7b77190aa5d631bab7efa275bc014cd1ebea92a77d20c"}, "url": "/docs/compare/?release=12.8#12.8-b2de3afd678a8d80", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "0380426e5975f85691e8b48a5b9f20ee", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "允许在 MSVC 上构建 GSSAPI 支持", "evidence": {"same_day": true, "patch_ids": ["36323160f89be3a59dacc7634bded20f", "8e8c90818a2372b90b3313a24c5deaa9", "ff6d4086f259df4df83544b3f4474869"], "statement_hash": "6a9c49bf048d7894c3c7b77190aa5d631bab7efa275bc014cd1ebea92a77d20c"}, "url": "/docs/compare/?release=11.13#11.13-46770704781cc7f3", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "f7f6ffe685bbca4e36965b0e6393fcc3", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "允许在 MSVC 上构建 GSSAPI 支持", "evidence": {"same_day": true, "patch_ids": ["36323160f89be3a59dacc7634bded20f", "8e8c90818a2372b90b3313a24c5deaa9", "ff6d4086f259df4df83544b3f4474869"], "statement_hash": "6a9c49bf048d7894c3c7b77190aa5d631bab7efa275bc014cd1ebea92a77d20c"}, "url": "/docs/compare/?release=10.18#10.18-46770704781cc7f3", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "9.6.23-97ae8990a92aa431", "cves": [], "html": "<p>在 MSVC 构建中，如果指定过 <code>--with-pgport</code>，把它包含在 <span>pg_config</span> 报告的 configure 选项集合中（Andrew Dunstan）</p>", "text": "在 MSVC 构建中，如果指定过 --with-pgport，把它包含在 pg_config 报告的 configure 选项集合中（Andrew Dunstan）", "title": "在 MSVC 构建中，如果指定过 --with-pgport，把它包含在 pg_config 报告的 configure 选项集合中", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6", "source_hash": "aa564303f4f4f2bb7f279ee7ee36f124adc18ac3ff256cfbda5eb30c5ac53a42", "section_path": ["变更"], "commit_groups": [["34a65fc63", "40a05cf24", "a44a2b9ac", "bb18bc224", "d5d89629c", "d69fcb9ca"], ["3f70d7e44", "a8c1062a1", "abbd70022", "ae3ef8569", "c828a7246", "fb424ae85"]], "identity_text": "In MSVC builds, include --with-pgport in the set of configure options reported by pg_config, if it had been specified (Andrew Dunstan)", "commit_aliases": ["34a65fc63", "3f70d7e44", "40a05cf24", "a44a2b9ac", "a8c1062a1", "abbd70022", "ae3ef8569", "bb18bc224", "c828a7246", "d5d89629c", "d69fcb9ca", "fb424ae85"], "source_commits": ["34a65fc63", "abbd70022"], "source_entry_id": "9.6.23/changes/047", "db_id": "1c3de48a96045382bc26877d3e0b93c0", "patch_ids": ["5308511d053690a460898abd82223c56", "58bfaafd06198d8a49aea19ba9d91cad"], "statement_hash": "72fd5bc71128828b186aa27d6791d3bb3fd941060407818539c1021a373f4b73", "relations": [{"rule": 2, "type": "equivalent", "target": "06479bb6de01f5cec3406ea190a17a4b", "evidence": {"same_day": true, "patch_ids": ["5308511d053690a460898abd82223c56", "58bfaafd06198d8a49aea19ba9d91cad"], "statement_hash": "72fd5bc71128828b186aa27d6791d3bb3fd941060407818539c1021a373f4b73"}}, {"rule": 2, "type": "equivalent", "target": "961908b112db50c645d6b160cc37b0ff", "evidence": {"same_day": true, "patch_ids": ["5308511d053690a460898abd82223c56", "58bfaafd06198d8a49aea19ba9d91cad"], "statement_hash": "72fd5bc71128828b186aa27d6791d3bb3fd941060407818539c1021a373f4b73"}}, {"rule": 2, "type": "equivalent", "target": "f25abc8f82f1ac40770b5aa7e39e089d", "evidence": {"same_day": true, "patch_ids": ["5308511d053690a460898abd82223c56", "58bfaafd06198d8a49aea19ba9d91cad"], "statement_hash": "72fd5bc71128828b186aa27d6791d3bb3fd941060407818539c1021a373f4b73"}}, {"rule": 2, "type": "equivalent", "target": "f809ebe0a78d8ef4b734b15cf6473081", "evidence": {"same_day": true, "patch_ids": ["5308511d053690a460898abd82223c56", "58bfaafd06198d8a49aea19ba9d91cad"], "statement_hash": "72fd5bc71128828b186aa27d6791d3bb3fd941060407818539c1021a373f4b73"}}], "version": "9.6.23", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "f809ebe0a78d8ef4b734b15cf6473081", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "在 MSVC 构建中，如果指定了 --with-pgport，则将其包含在 pg_config 报告的 configure 选项中", "evidence": {"same_day": true, "patch_ids": ["5308511d053690a460898abd82223c56", "58bfaafd06198d8a49aea19ba9d91cad"], "statement_hash": "72fd5bc71128828b186aa27d6791d3bb3fd941060407818539c1021a373f4b73"}, "url": "/docs/compare/?release=13.4#13.4-a975163c7bb54bc4", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "06479bb6de01f5cec3406ea190a17a4b", "kind": "equivalent", "version": "12.8", "label": "12.8", "title": "在 MSVC 构建中，如果指定了 --with-pgport，则将其包含在 pg_config 报告的 configure 选项中", "evidence": {"same_day": true, "patch_ids": ["5308511d053690a460898abd82223c56", "58bfaafd06198d8a49aea19ba9d91cad"], "statement_hash": "72fd5bc71128828b186aa27d6791d3bb3fd941060407818539c1021a373f4b73"}, "url": "/docs/compare/?release=12.8#12.8-43742cedbf001793", "source_url": "/docs/release/12.8/#id-1.11.6.20.5"}, {"db_id": "961908b112db50c645d6b160cc37b0ff", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "在 MSVC 构建中，如果指定了 --with-pgport，则将其包含在 pg_config 报告的 configure 选项中", "evidence": {"same_day": true, "patch_ids": ["5308511d053690a460898abd82223c56", "58bfaafd06198d8a49aea19ba9d91cad"], "statement_hash": "72fd5bc71128828b186aa27d6791d3bb3fd941060407818539c1021a373f4b73"}, "url": "/docs/compare/?release=11.13#11.13-9ab7619d789fd0b8", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "f25abc8f82f1ac40770b5aa7e39e089d", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "在 MSVC 构建中，如果指定了 --with-pgport，则将其包含在 pg_config 报告的 configure 选项中", "evidence": {"same_day": true, "patch_ids": ["5308511d053690a460898abd82223c56", "58bfaafd06198d8a49aea19ba9d91cad"], "statement_hash": "72fd5bc71128828b186aa27d6791d3bb3fd941060407818539c1021a373f4b73"}, "url": "/docs/compare/?release=10.18#10.18-9ab7619d789fd0b8", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}]}], "stats": [{"key": "all", "label": "全部变更", "count": 47}, {"key": "feature", "label": "新功能", "count": 0}, {"key": "bugfix", "label": "BUG 修复", "count": 16}, {"key": "security", "label": "安全相关", "count": 2}, {"key": "performance", "label": "性能改进", "count": 1}, {"key": "compatibility", "label": "兼容性变化", "count": 0}, {"key": "improvement", "label": "其他改进", "count": 28}], "total": 47, "release_count": 1, "cross_major": false, "cve_count": 2, "cves": [{"id": "CVE-2021-3449", "url": "https://www.postgresql.org/support/security/CVE-2021-3449/", "fixed_version": "", "title": "更彻底地禁止 SSL 重协商"}, {"id": "CVE-2006-2313", "url": "https://www.postgresql.org/support/security/CVE-2006-2313/", "fixed": {"7.3": "7.3.15", "7.4": "7.4.13", "8.0": "8.0.8", "8.1": "8.1.4"}, "score": null, "title": "在 psql 及其他客户端程序中，处理非法编码数据时避免越过字符串末尾", "vector": "", "affected": {"7.3": "7.3", "7.4": "7.4", "8.0": "8.0", "8.1": "8.1"}, "component": "", "published": {}, "introduced": {}, "cvss_version": "", "description_en": "", "first_published": null, "fixed_version": ""}], "cve_available": true, "remaining_cves": [], "security_regressions": [], "warnings": [], "candidate_count": 47, "already_in_source_count": 0, "duplicate_count": 0, "excluded_count": 0, "exclusions": [], "source_as_of": "2026-09-26", "security_as_of": "2026-09-26"}