{"format": 1, "mode": "release", "from_release": null, "to_release": {"date": "2021-08-12", "build": "12.8", "major": "12", "minor": 8, "manual": "12", "status": "stable", "doc_git": "", "version": "12.8", "eol_date": "2024-11-21", "date_text": "2021-08-12", "supported": false, "manual_url": "/docs/12/release-12-8.html", "source_url": "/docs/release/12.8/", "entry_count": 68, "placeholder": false, "content_hash": "5e14fa965300cef3e34a703f0b7d5d896d63ab540165e83c56ab6717c3b11186", "manual_build": "12.22", "source_as_of": "", "changes_count": 68, "doc_loaded_at": "2026-09-26T02:56:41.471523", "migration_html": "<p>对于运行 12.X 的用户，不需要执行导出/恢复。</p>\n<p>但是，如果是从早于 12.6 的版本升级，请参见<a href=\"/docs/12/release-12-6.html\" title=\"E.17. 发布版本 12.6\">第 E.17 节</a>。</p>", "compatibility_count": 0, "label": "12.8", "status_label": "历史版本", "eol": "2024-11-21", "age_days": 1875, "support_days": -678}, "groups": [{"date": "2021-08-12", "build": "12.8", "major": "12", "minor": 8, "manual": "12", "status": "stable", "doc_git": "", "version": "12.8", "eol_date": "2024-11-21", "date_text": "2021-08-12", "supported": false, "manual_url": "/docs/12/release-12-8.html", "source_url": "/docs/release/12.8/", "entry_count": 68, "placeholder": false, "content_hash": "5e14fa965300cef3e34a703f0b7d5d896d63ab540165e83c56ab6717c3b11186", "manual_build": "12.22", "source_as_of": "", "changes_count": 68, "doc_loaded_at": "2026-09-26T02:56:41.471523", "migration_html": "<p>对于运行 12.X 的用户，不需要执行导出/恢复。</p>\n<p>但是，如果是从早于 12.6 的版本升级，请参见<a href=\"/docs/12/release-12-6.html\" title=\"E.17. 发布版本 12.6\">第 E.17 节</a>。</p>", "compatibility_count": 0, "label": "12.8", "status_label": "历史版本", "eol": "2024-11-21", "age_days": 1875, "support_days": -678, "entries": [{"id": "12.8-475ce7ff31778db0", "cves": ["CVE-2021-3677"], "html": "<p>修复重复应用投影步骤时产生错误计划的问题（Tom Lane）<a href=\"https://postgr.es/c/6f9e7f21f\">§</a></p>\n<p>当两个 ProjectionPath 相互叠加时，规划器可能生成错误的计划。已知唯一能触发这种情况的方式涉及并行排序操作，但也可能存在其他情形。其结果可能是崩溃或错误的查询结果，也可能泄露服务器内存内容。（CVE-2021-3677）</p>", "text": "修复重复应用投影步骤时产生错误计划的问题（Tom Lane）§ 当两个 ProjectionPath 相互叠加时，规划器可能生成错误的计划。已知唯一能触发这种情况的方式涉及并行排序操作，但也可能存在其他情形。其结果可能是崩溃或错误的查询结果，也可能泄露服务器内存内容。（CVE-2021-3677）", "title": "修复重复应用投影步骤时产生错误计划的问题", "commits": ["6f9e7f21f"], "section": "变更", "category": "security", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "9945925707a1d0d10aa753cbb9c11fffbb9bc2bc24961b62c91a53f1b12e10c8", "section_path": ["变更"], "commit_groups": [["6ee41a301", "6f9e7f21f", "fe194f731", "fe6f63286"]], "identity_text": "Fix mis-planning of repeated application of a projection step (Tom Lane) The planner could create an incorrect plan in cases where two ProjectionPaths were stacked on top of each other. The only known way to trigger that situation involves parallel sort operations, but there may be other instances. The result would be crashes or incorrect query results. Disclosure of server memory contents is also possible. (CVE-2021-3677)", "commit_aliases": ["6ee41a301", "6f9e7f21f", "fe194f731", "fe6f63286"], "source_commits": ["6f9e7f21f"], "source_entry_id": "12.8/changes/001", "db_id": "3de6c34ecf0781cd1c51f7a3128a998c", "patch_ids": ["3f5560ec6ca035f9aedd584b3d1a0ac0"], "statement_hash": "e559b3886beae91f372c8d2846d369d8b0b0bd286c24607402ba973158b73268", "relations": [{"rule": 2, "type": "equivalent", "target": "461d9174aeb12206f6582ef13df16668", "evidence": {"same_day": true, "patch_ids": ["3f5560ec6ca035f9aedd584b3d1a0ac0"], "statement_hash": "e559b3886beae91f372c8d2846d369d8b0b0bd286c24607402ba973158b73268"}}, {"rule": 2, "type": "equivalent", "target": "d89aa6c157d91546a30d9517cb07c356", "evidence": {"same_day": true, "patch_ids": ["3f5560ec6ca035f9aedd584b3d1a0ac0"], "statement_hash": "e559b3886beae91f372c8d2846d369d8b0b0bd286c24607402ba973158b73268"}}], "version": "12.8", "category_label": "安全相关", "also_in": [], "variants": [], "related_changes": [{"db_id": "d89aa6c157d91546a30d9517cb07c356", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "修复重复应用投影步骤时产生错误计划的问题", "evidence": {"same_day": true, "patch_ids": ["3f5560ec6ca035f9aedd584b3d1a0ac0"], "statement_hash": "e559b3886beae91f372c8d2846d369d8b0b0bd286c24607402ba973158b73268"}, "url": "/docs/compare/?release=13.4#13.4-ae65d01fc545f778", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "461d9174aeb12206f6582ef13df16668", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "修复重复应用投影步骤时产生错误计划的问题", "evidence": {"same_day": true, "patch_ids": ["3f5560ec6ca035f9aedd584b3d1a0ac0"], "statement_hash": "e559b3886beae91f372c8d2846d369d8b0b0bd286c24607402ba973158b73268"}, "url": "/docs/compare/?release=11.13#11.13-0d3425ce5072f250", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}]}, {"id": "12.8-e43fe95675839650", "cves": ["CVE-2021-3449"], "html": "<p>更彻底地禁止 SSL 重新协商（Michael Paquier）<a href=\"https://postgr.es/c/3f8072be8\">§</a></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": ["3f8072be8"], "section": "变更", "category": "security", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "95aa029fcd79ea629f20e465380741f0df3aa27752222071cfaa3db1d5b2b930", "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": ["3f8072be8"], "source_entry_id": "12.8/changes/002", "db_id": "b709758bedd697c77455c5261f332edb", "patch_ids": ["6bc45f96ca5b384e0377b3d701876272"], "statement_hash": "340d173f1f532f2c9063cf2a30303197c3d9bc46bfac6ce0414ee840829ea9c0", "relations": [{"rule": 2, "type": "equivalent", "target": "3d9d70a83323ba8f7bcf8c582f40cb46", "evidence": {"same_day": true, "patch_ids": ["6bc45f96ca5b384e0377b3d701876272"], "statement_hash": "340d173f1f532f2c9063cf2a30303197c3d9bc46bfac6ce0414ee840829ea9c0"}}, {"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": "b7147cf9842278bd6788921da285b6d2", "evidence": {"same_day": true, "patch_ids": ["6bc45f96ca5b384e0377b3d701876272"], "statement_hash": "340d173f1f532f2c9063cf2a30303197c3d9bc46bfac6ce0414ee840829ea9c0"}}], "version": "12.8", "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": "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"}, {"db_id": "3d9d70a83323ba8f7bcf8c582f40cb46", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "更彻底地禁止 SSL 重协商", "evidence": {"same_day": true, "patch_ids": ["6bc45f96ca5b384e0377b3d701876272"], "statement_hash": "340d173f1f532f2c9063cf2a30303197c3d9bc46bfac6ce0414ee840829ea9c0"}, "url": "/docs/compare/?release=9.6.23#9.6.23-aa240a8289197363", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-3fa3d59d3e30928d", "cves": [], "html": "<p>在过程内部执行 <code>COMMIT</code> 或 <code>ROLLBACK</code> 后恢复 Portal 级快照（Tom Lane）<a href=\"https://postgr.es/c/41c6a5bec\">§</a> <a href=\"https://postgr.es/c/26383da7d\">§</a> <a href=\"https://postgr.es/c/29d5d5761\">§</a> <a href=\"https://postgr.es/c/f26043645\">§</a> <a href=\"https://postgr.es/c/8d341d6cb\">§</a></p>\n<p>此项修改修复了紧接着 <code>COMMIT</code>/<code>ROLLBACK</code> 尝试获取经过 TOAST 处理的值时，出现 <span>“<span>no known snapshots</span>”</span> 或 <span>“<span>missing chunk number 0 for toast value</span>”</span> 等错误的情况。</p>\n<p>某些扩展可能尝试在任何 Portal 之外执行 SQL 代码。它们有责任在执行前确保存在外层快照。以前，不提供快照可能行得通，也可能不行；现在则会始终以 <span>“<span>cannot execute SQL without an outer snapshot or portal</span>”</span> 错误失败。</p>", "text": "在过程内部执行 COMMIT 或 ROLLBACK 后恢复 Portal 级快照（Tom Lane）§ § § § § 此项修改修复了紧接着 COMMIT/ROLLBACK 尝试获取经过 TOAST 处理的值时，出现 “no known snapshots” 或 “missing chunk number 0 for toast value” 等错误的情况。 某些扩展可能尝试在任何 Portal 之外执行 SQL 代码。它们有责任在执行前确保存在外层快照。以前，不提供快照可能行得通，也可能不行；现在则会始终以 “cannot execute SQL without an outer snapshot or portal” 错误失败。", "title": "在过程内部执行 COMMIT 或 ROLLBACK 后恢复 Portal 级快照", "commits": ["26383da7d", "29d5d5761", "41c6a5bec", "8d341d6cb", "f26043645"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "9441a2e9020f7e5deeaf5899c161ea3a8806cc529cd03f536c144177627fd222", "section_path": ["变更"], "commit_groups": [["0c1b2cb17", "8d341d6cb", "c64183f23", "f21fadafa"], ["26383da7d", "3a09d75b4", "6e43f1c2d", "eea081ad0"], ["29d5d5761", "6f1321d5a", "77200c569", "d102aafb6"], ["41c6a5bec", "84f5c2908", "d18ee6f92", "ef9480509"], ["93f99693f", "cefb1230e", "ec410c985", "ef12f32c0", "f26043645"]], "identity_text": "Restore the Portal-level snapshot after COMMIT or ROLLBACK within a procedure (Tom Lane) This change fixes cases where an attempt to fetch a toasted value immediately after COMMIT/ROLLBACK would fail with errors like no known snapshots or missing chunk number 0 for toast value. Some extensions may attempt to execute SQL code outside of any Portal. They are responsible for ensuring that an outer snapshot exists before doing so. Previously, not providing a snapshot might work or it might not; now it will consistently fail with cannot execute SQL without an outer snapshot or portal.", "commit_aliases": ["0c1b2cb17", "26383da7d", "29d5d5761", "3a09d75b4", "41c6a5bec", "6e43f1c2d", "6f1321d5a", "77200c569", "84f5c2908", "8d341d6cb", "93f99693f", "c64183f23", "cefb1230e", "d102aafb6", "d18ee6f92", "ec410c985", "eea081ad0", "ef12f32c0", "ef9480509", "f21fadafa", "f26043645"], "source_commits": ["26383da7d", "29d5d5761", "41c6a5bec", "8d341d6cb", "f26043645"], "source_entry_id": "12.8/changes/003", "db_id": "10ccb8269ee55bc1e763b3e9c8fc2167", "patch_ids": ["1ff786556077a70d23aadfc3a157a434", "2557dddc4e80c849124ed3485f9124ca", "bf98993337ad07a07a0f3d96773a6fb5", "c862f855cb94cc61e6e8820367509197", "f4ddfca2a115fb32d5528fbbd938f8c2"], "statement_hash": "26db513d393d78a5588c3e9a4524abb329343a95d8e7d2481fbbe973f6814ff3", "relations": [{"rule": 2, "type": "equivalent", "target": "1bbe0fb6d7d017b02ef4f546c5a08c35", "evidence": {"same_day": true, "patch_ids": ["1ff786556077a70d23aadfc3a157a434", "2557dddc4e80c849124ed3485f9124ca", "bf98993337ad07a07a0f3d96773a6fb5", "c862f855cb94cc61e6e8820367509197", "f4ddfca2a115fb32d5528fbbd938f8c2"], "statement_hash": "26db513d393d78a5588c3e9a4524abb329343a95d8e7d2481fbbe973f6814ff3"}}, {"rule": 2, "type": "equivalent", "target": "af1c2e17c991da585c574a54d8491107", "evidence": {"same_day": true, "patch_ids": ["1ff786556077a70d23aadfc3a157a434", "2557dddc4e80c849124ed3485f9124ca", "bf98993337ad07a07a0f3d96773a6fb5", "c862f855cb94cc61e6e8820367509197", "f4ddfca2a115fb32d5528fbbd938f8c2"], "statement_hash": "26db513d393d78a5588c3e9a4524abb329343a95d8e7d2481fbbe973f6814ff3"}}], "version": "12.8", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "1bbe0fb6d7d017b02ef4f546c5a08c35", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "在过程内部执行 COMMIT 或 ROLLBACK 后恢复 Portal 级快照", "evidence": {"same_day": true, "patch_ids": ["1ff786556077a70d23aadfc3a157a434", "2557dddc4e80c849124ed3485f9124ca", "bf98993337ad07a07a0f3d96773a6fb5", "c862f855cb94cc61e6e8820367509197", "f4ddfca2a115fb32d5528fbbd938f8c2"], "statement_hash": "26db513d393d78a5588c3e9a4524abb329343a95d8e7d2481fbbe973f6814ff3"}, "url": "/docs/compare/?release=13.4#13.4-b28306aa2e65e73f", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "af1c2e17c991da585c574a54d8491107", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "在过程内部执行 COMMIT 或 ROLLBACK 后恢复 Portal 级快照", "evidence": {"same_day": true, "patch_ids": ["1ff786556077a70d23aadfc3a157a434", "2557dddc4e80c849124ed3485f9124ca", "bf98993337ad07a07a0f3d96773a6fb5", "c862f855cb94cc61e6e8820367509197", "f4ddfca2a115fb32d5528fbbd938f8c2"], "statement_hash": "26db513d393d78a5588c3e9a4524abb329343a95d8e7d2481fbbe973f6814ff3"}, "url": "/docs/compare/?release=11.13#11.13-1027a754e1aa8e42", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}]}, {"id": "12.8-64934100c6e796c7", "cves": [], "html": "<p>避免持久化读取非稳定查询的游标输出时出现异常行为（Tom Lane）<a href=\"https://postgr.es/c/c3b508268\">§</a> <a href=\"https://postgr.es/c/182323300\">§</a></p>\n<p>以前，我们总会退回起点并重新读取整个查询结果，可能得到与先前执行不同的结果，从而给后续处理造成很大混乱。对于 NO SCROLL 游标，可以只存储查询输出中尚未读取的部分来修复此问题；由于 NO SCROLL 游标不能后退，这样就足够了。带 SCROLL 选项的游标仍存在风险，但文档早已说明，将此选项用于非稳定查询是不安全的。现在进一步加强这些文档警告。</p>\n<p>另外，强制 <span>PL/pgSQL</span> 遍历查询结果的 FOR 循环所使用的隐式游标采用 NO SCROLL 模式，以避免在过程内部提交期间持久化这类游标时出现此类问题。</p>", "text": "避免持久化读取非稳定查询的游标输出时出现异常行为（Tom Lane）§ § 以前，我们总会退回起点并重新读取整个查询结果，可能得到与先前执行不同的结果，从而给后续处理造成很大混乱。对于 NO SCROLL 游标，可以只存储查询输出中尚未读取的部分来修复此问题；由于 NO SCROLL 游标不能后退，这样就足够了。带 SCROLL 选项的游标仍存在风险，但文档早已说明，将此选项用于非稳定查询是不安全的。现在进一步加强这些文档警告。 另外，强制 PL/pgSQL 遍历查询结果的 FOR 循环所使用的隐式游标采用 NO SCROLL 模式，以避免在过程内部提交期间持久化这类游标时出现此类问题。", "title": "避免持久化读取非稳定查询的游标输出时出现异常行为", "commits": ["182323300", "c3b508268"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "00dbfcdd5b9b2784ca7b7b7c4da42cf4a4d16e3fd16e24b8a453a04b54cdabfa", "section_path": ["变更"], "commit_groups": [["182323300", "5b7bf9f72", "be9009890", "c5b281841"], ["2757865fa", "ba2c6d6ce", "c1fd756fd", "c3b508268"]], "identity_text": "Avoid misbehavior when persisting the output of a cursor that's reading a non-stable query (Tom Lane) Previously, we'd always rewind and re-read the whole query result, possibly getting results different from the earlier execution, causing great confusion later. For a NO SCROLL cursor, we can fix this by only storing the not-yet-read portion of the query output, which is sufficient since a NO SCROLL cursor can't be backed up. Cursors with the SCROLL option remain at hazard, but that was already documented to be an unsafe option to use with a non-stable query. Make those documentation warnings stronger. Also force NO SCROLL mode for the implicit cursor used by a PL/pgSQL FOR-over-query loop, to avoid this type of problem when persisting such a cursor during an intra-procedure commit.", "commit_aliases": ["182323300", "2757865fa", "5b7bf9f72", "ba2c6d6ce", "be9009890", "c1fd756fd", "c3b508268", "c5b281841"], "source_commits": ["182323300", "c3b508268"], "source_entry_id": "12.8/changes/004", "db_id": "8762a1f0f0742f39d0293631f3055182", "patch_ids": ["52218db81227e885ec8726bea84ddb4d", "94138ee8c5874b4518161b6c7421ad5c"], "statement_hash": "66c1bc5c866bc946463bad580c6e29f1c32b9b1444e4cdfdcf00e74de2d0c96b", "relations": [{"rule": 2, "type": "equivalent", "target": "1011c295745d3430366bead25ca6433c", "evidence": {"same_day": true, "patch_ids": ["52218db81227e885ec8726bea84ddb4d", "94138ee8c5874b4518161b6c7421ad5c"], "statement_hash": "66c1bc5c866bc946463bad580c6e29f1c32b9b1444e4cdfdcf00e74de2d0c96b"}}, {"rule": 2, "type": "equivalent", "target": "ebcf2aff50e3122c29ee032f52a6fa86", "evidence": {"same_day": true, "patch_ids": ["52218db81227e885ec8726bea84ddb4d", "94138ee8c5874b4518161b6c7421ad5c"], "statement_hash": "66c1bc5c866bc946463bad580c6e29f1c32b9b1444e4cdfdcf00e74de2d0c96b"}}], "version": "12.8", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "1011c295745d3430366bead25ca6433c", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "避免持久化读取非稳定查询的游标输出时出现异常行为", "evidence": {"same_day": true, "patch_ids": ["52218db81227e885ec8726bea84ddb4d", "94138ee8c5874b4518161b6c7421ad5c"], "statement_hash": "66c1bc5c866bc946463bad580c6e29f1c32b9b1444e4cdfdcf00e74de2d0c96b"}, "url": "/docs/compare/?release=13.4#13.4-c567b2519748e23e", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "ebcf2aff50e3122c29ee032f52a6fa86", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "避免持久化读取非稳定查询的游标输出时出现异常行为", "evidence": {"same_day": true, "patch_ids": ["52218db81227e885ec8726bea84ddb4d", "94138ee8c5874b4518161b6c7421ad5c"], "statement_hash": "66c1bc5c866bc946463bad580c6e29f1c32b9b1444e4cdfdcf00e74de2d0c96b"}, "url": "/docs/compare/?release=11.13#11.13-acab17afcf133c09", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}]}, {"id": "12.8-8f803134c4475494", "cves": [], "html": "<p>拒绝 <code>SELECT ... GROUP BY GROUPING SETS (()) FOR UPDATE</code>（Tom Lane）<a href=\"https://postgr.es/c/762fe98b1\">§</a></p>\n<p>正如不允许将 <code>FOR UPDATE</code> 与普通 <code>GROUP BY</code> 一起使用一样，这种情况也应被禁止，但相关检查未能正确处理空分组集。最终结果会是执行器中的空指针解引用。</p>", "text": "拒绝 SELECT ... GROUP BY GROUPING SETS (()) FOR UPDATE（Tom Lane）§ 正如不允许将 FOR UPDATE 与普通 GROUP BY 一起使用一样，这种情况也应被禁止，但相关检查未能正确处理空分组集。最终结果会是执行器中的空指针解引用。", "title": "拒绝 SELECT ... GROUP BY GROUPING SETS (()) FOR UPDATE", "commits": ["762fe98b1"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "54ec36ba521e7fa712ce31fc0f054492d1b1916a69c9cea8217c9aaa3366f3dc", "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": ["762fe98b1"], "source_entry_id": "12.8/changes/005", "db_id": "6ed2d0a27ca078b142e872cb8a1a353b", "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": "8ccb1015a96d5bdf6b94c0241044058f", "evidence": {"same_day": true, "patch_ids": ["0d59e8424e7c69c7d9ad7565595a80ab"], "statement_hash": "669294da37df6ede9b214112c8f79f0c940e974b33e7735926385577d5e2ef6f"}}, {"rule": 2, "type": "equivalent", "target": "b17e23f01b70a04fef0bb0a7866a64f1", "evidence": {"same_day": true, "patch_ids": ["0d59e8424e7c69c7d9ad7565595a80ab"], "statement_hash": "669294da37df6ede9b214112c8f79f0c940e974b33e7735926385577d5e2ef6f"}}], "version": "12.8", "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": "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"}, {"db_id": "b17e23f01b70a04fef0bb0a7866a64f1", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "拒绝 SELECT ... GROUP BY GROUPING SETS (()) FOR UPDATE", "evidence": {"same_day": true, "patch_ids": ["0d59e8424e7c69c7d9ad7565595a80ab"], "statement_hash": "669294da37df6ede9b214112c8f79f0c940e974b33e7735926385577d5e2ef6f"}, "url": "/docs/compare/?release=9.6.23#9.6.23-7e727ce37a13482b", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-4bcf72c9b0591b46", "cves": [], "html": "<p>拒绝 <code>WITH</code> 中的查询被重写为仅包含 <code>NOTIFY</code> 的情况（Tom Lane）<a href=\"https://postgr.es/c/9c729bd30\">§</a></p>\n<p>以前，这些情况会导致崩溃。</p>", "text": "拒绝 WITH 中的查询被重写为仅包含 NOTIFY 的情况（Tom Lane）§ 以前，这些情况会导致崩溃。", "title": "拒绝 WITH 中的查询被重写为仅包含 NOTIFY 的情况", "commits": ["9c729bd30"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "1c4ee60bb815456457ca47833e41043de0f0e3c0aa4aad326aad3dbe754d2d91", "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": ["9c729bd30"], "source_entry_id": "12.8/changes/006", "db_id": "ff382b6bc7164a98e2922d8e8b386f26", "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": "b7314e86b170cf675b584fb3976072dd", "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"}}], "version": "12.8", "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": "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"}, {"db_id": "b7314e86b170cf675b584fb3976072dd", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "拒绝 WITH 中的查询被改写为仅 NOTIFY 的情况", "evidence": {"same_day": true, "patch_ids": ["cde9b5874f6ec7a4144d7f1cfeb8ed65"], "statement_hash": "c6f5356e2f3e2e33cdbb86fc3b7dfb11224261e27f988fee979bc720c223684a"}, "url": "/docs/compare/?release=9.6.23#9.6.23-a2e5962a9d35f793", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-72c33511224b3ea2", "cves": [], "html": "<p>在 <code>numeric</code> 乘法中，如果结果的小数点后超过 16383 位，则对结果进行舍入，而不报错（Dean Rasheed）<a href=\"https://postgr.es/c/357b66ef9\">§</a></p>", "text": "在 numeric 乘法中，如果结果的小数点后超过 16383 位，则对结果进行舍入，而不报错（Dean Rasheed）§", "title": "在 numeric 乘法中，如果结果的小数点后超过 16383 位，则对结果进行舍入，而不报错", "commits": ["357b66ef9"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "8ef55ccc2fc057dcb090c5676d3e06d635d75b1ad76d9e34d5faa398ab9f9cbd", "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": ["357b66ef9"], "source_entry_id": "12.8/changes/007", "db_id": "008fb02e5e9fe3fa614893647dabb857", "patch_ids": ["5bc1a087d22626eb43e5235577ff173e"], "statement_hash": "21b2ab8c680a52b44c5c090b15d081cd066754dd2006997717dc0f190e2c0c0a", "relations": [{"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": "b7ba0afc6cfb6cf01e56e3fffd3b766c", "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": "12.8", "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": "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"}, {"db_id": "b7ba0afc6cfb6cf01e56e3fffd3b766c", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "在 numeric 乘法中，如果结果小数点后位数会超过 16383，对其舍入而非报错", "evidence": {"same_day": true, "patch_ids": ["5bc1a087d22626eb43e5235577ff173e"], "statement_hash": "21b2ab8c680a52b44c5c090b15d081cd066754dd2006997717dc0f190e2c0c0a"}, "url": "/docs/compare/?release=9.6.23#9.6.23-566a04311087c323", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-05e8f1d7a9fa64fe", "cves": [], "html": "<p>修复对 <code>numeric</code> 值计算极大次幂时的边界情况错误和精度损失（Dean Rasheed）<a href=\"https://postgr.es/c/5c62920fa\">§</a> <a href=\"https://postgr.es/c/cc4420f88\">§</a></p>", "text": "修复对 numeric 值计算极大次幂时的边界情况错误和精度损失（Dean Rasheed）§ §", "title": "修复对 numeric 值计算极大次幂时的边界情况错误和精度损失", "commits": ["5c62920fa", "cc4420f88"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "02352c84cc054947da4c3193c30a9c1a4adb24922165680c9f348a79df3261d5", "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": ["5c62920fa", "7a9c9acfe", "cc4420f88"], "source_entry_id": "12.8/changes/008", "db_id": "8cfc787c9627205d05560357cff8cdde", "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": "c43bc2a5a94491ff7b552367776cf1a9", "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": "12.8", "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": "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"}, {"db_id": "c43bc2a5a94491ff7b552367776cf1a9", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "修复把 numeric 值提升到极大幂次时的边界错误和精度丢失", "evidence": {"same_day": true, "patch_ids": ["43513e84915fa343d2bb7b9fff7909b6", "5af963693a9c947802a8c09e0c122c2d", "e1d9e7ad31668d6ee9ac00bde0213cc2"], "statement_hash": "d6f74902a4c9384857d3c862b8aa1ab672a125ef6f08dce5086b8dee206c4dd9"}, "url": "/docs/compare/?release=9.6.23#9.6.23-cc031a8cf641c382", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-2431b52e2322788a", "cves": [], "html": "<p>修复 <code>to_char()</code> 使用 <code>EEEE</code> 格式且输入的 <code>numeric</code> 值小于 10^(-1001) 时的除零错误（Dean Rasheed）<a href=\"https://postgr.es/c/43644bd3b\">§</a></p>", "text": "修复 to_char() 使用 EEEE 格式且输入的 numeric 值小于 10^(-1001) 时的除零错误（Dean Rasheed）§", "title": "修复 to_char() 使用 EEEE 格式且输入的 numeric 值小于 10^(-1001) 时的除零错误", "commits": ["43644bd3b"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "be37d19c194eb5383fae7a358f37dafd2e3d80cb2499ffb67507e551b299e175", "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": ["43644bd3b"], "source_entry_id": "12.8/changes/009", "db_id": "2a3e6802138b4356d9267dda3bbee1f8", "patch_ids": ["80a7a00ec4016a3f70da1e679e4fed0e"], "statement_hash": "606cd08770824c6b946b195f14f288e7f41105097c867a6fcdf6380295e6d06a", "relations": [{"rule": 2, "type": "equivalent", "target": "45424e6b1372be84a91884cf2dba0d8d", "evidence": {"same_day": true, "patch_ids": ["80a7a00ec4016a3f70da1e679e4fed0e"], "statement_hash": "606cd08770824c6b946b195f14f288e7f41105097c867a6fcdf6380295e6d06a"}}, {"rule": 2, "type": "equivalent", "target": "7453e74f4b9344e927543518d53a167f", "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": "12.8", "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": "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"}, {"db_id": "7453e74f4b9344e927543518d53a167f", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "修复 to_char() 使用 EEEE 格式且 numeric 输入值小于 10^(-1001) 时的除零失败", "evidence": {"same_day": true, "patch_ids": ["80a7a00ec4016a3f70da1e679e4fed0e"], "statement_hash": "606cd08770824c6b946b195f14f288e7f41105097c867a6fcdf6380295e6d06a"}, "url": "/docs/compare/?release=9.6.23#9.6.23-c22844966130098c", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-b7c566acffead0f4", "cves": [], "html": "<p>修复 <code>pg_size_pretty(bigint)</code>，使其对负值的舍入与对正值的舍入方式一致（也与 <code>numeric</code> 版本一致）（Dean Rasheed，David Rowley）<a href=\"https://postgr.es/c/efc42a1e1\">§</a> <a href=\"https://postgr.es/c/b18621139\">§</a></p>", "text": "修复 pg_size_pretty(bigint)，使其对负值的舍入与对正值的舍入方式一致（也与 numeric 版本一致）（Dean Rasheed，David Rowley）§ §", "title": "修复 pg_size_pretty(bigint)，使其对负值的舍入与对正值的舍入方式一致（也与 numeric 版本一致）", "commits": ["b18621139", "efc42a1e1"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "3bae764c8af1a420a0e14a268b5d321553420781a659ddbc74746335a2b289e6", "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": ["b18621139", "efc42a1e1"], "source_entry_id": "12.8/changes/010", "db_id": "f5e4a57cf736926b9425b5408d4db476", "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": "fafd2c8e77c9b9c89e7d78cb705dc449", "evidence": {"same_day": true, "patch_ids": ["88a173b3364566f77c8fbdba1588b372", "d3d00fb31d1294cb72042b3c91439f53"], "statement_hash": "98554804ac43b496d300d73812eaf8cae17bae07ee4321e1db6a2dc02f059ce9"}}], "version": "12.8", "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": "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"}, {"db_id": "fafd2c8e77c9b9c89e7d78cb705dc449", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "使 pg_size_pretty(bigint) 对负值的舍入方式与正值一致（也与 numeric 版本一致）", "evidence": {"same_day": true, "patch_ids": ["88a173b3364566f77c8fbdba1588b372", "d3d00fb31d1294cb72042b3c91439f53"], "statement_hash": "98554804ac43b496d300d73812eaf8cae17bae07ee4321e1db6a2dc02f059ce9"}, "url": "/docs/compare/?release=9.6.23#9.6.23-7273a815ed149016", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-26633e1afed913d8", "cves": [], "html": "<p>使 <code>pg_filenode_relation(0, 0)</code> 返回 NULL，而不报错（Justin Pryzby）<a href=\"https://postgr.es/c/7681b78fb\">§</a></p>", "text": "使 pg_filenode_relation(0, 0) 返回 NULL，而不报错（Justin Pryzby）§", "title": "使 pg_filenode_relation(0, 0) 返回 NULL，而不报错", "commits": ["7681b78fb"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "3ea23b989a12490e3d064b0a68bc8af0f866fceaead9dd9446da274abf16a53f", "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": ["7681b78fb"], "source_entry_id": "12.8/changes/011", "db_id": "93d1c1470250c9c3abb5c670d7ae7b81", "patch_ids": ["10e67ef8d410a8e2ad95a73e0b692ebe"], "statement_hash": "c83eabb71f1f618f93c2f11d2b743d7e18fa2ba566aa18443c85352c4d54d8ab", "relations": [{"rule": 2, "type": "equivalent", "target": "36671eb3de7fe6e7610ae78099f25f69", "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": "12.8", "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": "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"}, {"db_id": "36671eb3de7fe6e7610ae78099f25f69", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "使 pg_filenode_relation(0, 0) 返回 NULL 而不是报错", "evidence": {"same_day": true, "patch_ids": ["10e67ef8d410a8e2ad95a73e0b692ebe"], "statement_hash": "c83eabb71f1f618f93c2f11d2b743d7e18fa2ba566aa18443c85352c4d54d8ab"}, "url": "/docs/compare/?release=9.6.23#9.6.23-c340839fc3179b97", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-0d898b9f12abeaf3", "cves": [], "html": "<p>使 <code>ALTER EXTENSION</code> 在添加或移除成员对象时锁定扩展（Tom Lane）<a href=\"https://postgr.es/c/92340ba5a\">§</a></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": ["92340ba5a"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "d7660dcb763413cfb2c8e5e5dfb46c50f3b66b74f52be50ab9d5b1998dbda946", "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": ["92340ba5a"], "source_entry_id": "12.8/changes/012", "db_id": "1729c1ead029af35705e9805ae354bbc", "patch_ids": ["dd499bcc08791af341fa2ab01eb21a75"], "statement_hash": "88c7ec8188428e91b304824a8abea20e5f85af8658822295703425409ea218d8", "relations": [{"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": "45489d84853b4006d1333eda22d78d00", "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": "12.8", "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": "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"}, {"db_id": "45489d84853b4006d1333eda22d78d00", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "让 ALTER EXTENSION 在添加或删除成员对象时锁定扩展", "evidence": {"same_day": true, "patch_ids": ["dd499bcc08791af341fa2ab01eb21a75"], "statement_hash": "88c7ec8188428e91b304824a8abea20e5f85af8658822295703425409ea218d8"}, "url": "/docs/compare/?release=9.6.23#9.6.23-c1a044377e566af3", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-98de0fbf91402acb", "cves": [], "html": "<p>修复 <code>ALTER SUBSCRIPTION</code>，使其拒绝空的槽名称（Japin Li）<a href=\"https://postgr.es/c/f2f459f18\">§</a></p>", "text": "修复 ALTER SUBSCRIPTION，使其拒绝空的槽名称（Japin Li）§", "title": "修复 ALTER SUBSCRIPTION，使其拒绝空的槽名称", "commits": ["f2f459f18"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "207f8e0dfec1ff7b2dcec7ba65af3c77f8141052815a444f85482c1674d8cf17", "section_path": ["变更"], "commit_groups": [["22fd784af", "29abde637", "40295d158", "bfa2a926d", "eb158e74a", "f2f459f18"]], "identity_text": "Fix ALTER SUBSCRIPTION to reject an empty slot name (Japin Li)", "commit_aliases": ["22fd784af", "29abde637", "40295d158", "bfa2a926d", "eb158e74a", "f2f459f18"], "source_commits": ["f2f459f18"], "source_entry_id": "12.8/changes/013", "db_id": "ab9bfdd2da41e25bb1ddf403548d4d56", "patch_ids": ["2dfc67ae02f2b93cedd097477909f40b"], "statement_hash": "0533521585978b016677de6fbd22b56ebe28185698a3902a9bc77ad2673649b5", "relations": [{"rule": 2, "type": "equivalent", "target": "7fc6c4ead8e8a7fb3076fe601eeacb10", "evidence": {"same_day": true, "patch_ids": ["2dfc67ae02f2b93cedd097477909f40b"], "statement_hash": "0533521585978b016677de6fbd22b56ebe28185698a3902a9bc77ad2673649b5"}}, {"rule": 2, "type": "equivalent", "target": "89fcc24a00d8479d1e125132608ef770", "evidence": {"same_day": true, "patch_ids": ["2dfc67ae02f2b93cedd097477909f40b"], "statement_hash": "0533521585978b016677de6fbd22b56ebe28185698a3902a9bc77ad2673649b5"}}, {"rule": 2, "type": "equivalent", "target": "ec321503194257dd50237ea4044fb448", "evidence": {"same_day": true, "patch_ids": ["2dfc67ae02f2b93cedd097477909f40b"], "statement_hash": "0533521585978b016677de6fbd22b56ebe28185698a3902a9bc77ad2673649b5"}}], "version": "12.8", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "7fc6c4ead8e8a7fb3076fe601eeacb10", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "修复 ALTER SUBSCRIPTION，使其拒绝空的槽名称", "evidence": {"same_day": true, "patch_ids": ["2dfc67ae02f2b93cedd097477909f40b"], "statement_hash": "0533521585978b016677de6fbd22b56ebe28185698a3902a9bc77ad2673649b5"}, "url": "/docs/compare/?release=13.4#13.4-1bfadc63b3d5c94e", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "89fcc24a00d8479d1e125132608ef770", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "修复 ALTER SUBSCRIPTION，使其拒绝空的槽名称", "evidence": {"same_day": true, "patch_ids": ["2dfc67ae02f2b93cedd097477909f40b"], "statement_hash": "0533521585978b016677de6fbd22b56ebe28185698a3902a9bc77ad2673649b5"}, "url": "/docs/compare/?release=11.13#11.13-5a637e17a714a3cd", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "ec321503194257dd50237ea4044fb448", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "修复 ALTER SUBSCRIPTION，使其拒绝空的槽名称", "evidence": {"same_day": true, "patch_ids": ["2dfc67ae02f2b93cedd097477909f40b"], "statement_hash": "0533521585978b016677de6fbd22b56ebe28185698a3902a9bc77ad2673649b5"}, "url": "/docs/compare/?release=10.18#10.18-5a637e17a714a3cd", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "12.8-07ce305d0697c3ff", "cves": [], "html": "<p>将分区表的触发器克隆到新分区时，确保复制其启用状态（Álvaro Herrera）<a href=\"https://postgr.es/c/7584ec1f6\">§</a></p>", "text": "将分区表的触发器克隆到新分区时，确保复制其启用状态（Álvaro Herrera）§", "title": "将分区表的触发器克隆到新分区时，确保复制其启用状态", "commits": ["7584ec1f6"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "a2a68323f7784cd4000cf2185a8eb16a867be048021836eab2d1ac6c476c80a0", "section_path": ["变更"], "commit_groups": [["7584ec1f6", "c31516ae5", "df80fa2ee", "eef92de11", "fed35bd4a"]], "identity_text": "When cloning a partitioned table's triggers to a new partition, ensure that their enabled status is copied (Álvaro Herrera)", "commit_aliases": ["7584ec1f6", "c31516ae5", "df80fa2ee", "eef92de11", "fed35bd4a"], "source_commits": ["7584ec1f6"], "source_entry_id": "12.8/changes/014", "db_id": "2eddb454f3d4bd6d678bbe5c880dad85", "patch_ids": ["dab40aae6aa0ad68f6d0f7acb270e452"], "statement_hash": "84eded61e7f754f5aee56e0c100b8ff664c23b9d09472cc6c223f1b8e93248e9", "relations": [{"rule": 2, "type": "equivalent", "target": "1167b8fc3034aeb0942a57a163362ea3", "evidence": {"same_day": true, "patch_ids": ["dab40aae6aa0ad68f6d0f7acb270e452"], "statement_hash": "84eded61e7f754f5aee56e0c100b8ff664c23b9d09472cc6c223f1b8e93248e9"}}, {"rule": 2, "type": "equivalent", "target": "9df2c665602d14cab25bfd3c18459381", "evidence": {"same_day": true, "patch_ids": ["dab40aae6aa0ad68f6d0f7acb270e452"], "statement_hash": "84eded61e7f754f5aee56e0c100b8ff664c23b9d09472cc6c223f1b8e93248e9"}}], "version": "12.8", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "9df2c665602d14cab25bfd3c18459381", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "将分区表的触发器克隆到新分区时，确保复制其启用状态", "evidence": {"same_day": true, "patch_ids": ["dab40aae6aa0ad68f6d0f7acb270e452"], "statement_hash": "84eded61e7f754f5aee56e0c100b8ff664c23b9d09472cc6c223f1b8e93248e9"}, "url": "/docs/compare/?release=13.4#13.4-79b825719354fe1f", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "1167b8fc3034aeb0942a57a163362ea3", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "将分区表的触发器克隆到新分区时，确保复制其启用状态", "evidence": {"same_day": true, "patch_ids": ["dab40aae6aa0ad68f6d0f7acb270e452"], "statement_hash": "84eded61e7f754f5aee56e0c100b8ff664c23b9d09472cc6c223f1b8e93248e9"}, "url": "/docs/compare/?release=11.13#11.13-89df550f0a010807", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}]}, {"id": "12.8-207d5b19ac24c304", "cves": [], "html": "<p>避免为 <code>REFRESH MATERIALIZED VIEW CONCURRENTLY</code> 生成的查询中的别名冲突（Tom Lane，Bharath Rupireddy）<a href=\"https://postgr.es/c/1ff1e4a60\">§</a> <a href=\"https://postgr.es/c/4ceaa760b\">§</a></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": ["1ff1e4a60", "4ceaa760b"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "3fede9f6376035293377d22f921694eba376a93d719c65c700742b2f3adcda60", "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": ["1ff1e4a60", "4ceaa760b"], "source_entry_id": "12.8/changes/015", "db_id": "f8b685939c58fe0f4537cc76709fcde6", "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": "4a0d1e6294826c8288be32b11211a6fa", "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": "12.8", "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": "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"}, {"db_id": "4a0d1e6294826c8288be32b11211a6fa", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "避免 REFRESH MATERIALIZED VIEW CONCURRENTLY 生成的查询中的别名冲突", "evidence": {"same_day": true, "patch_ids": ["70ff68653e09647df3d59b03e175f4be", "7d0689d0155327294061802c91a94de2"], "statement_hash": "8cdcf5ab5984ccbddd1c78227a8dffe419718713538b1a5e41588e8d847c9758"}, "url": "/docs/compare/?release=9.6.23#9.6.23-e82bb15bdba79cc7", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-500cbade61d9cf55", "cves": [], "html": "<p>修复 <code>PREPARE TRANSACTION</code>，使其正确检查会话生命周期锁与事务生命周期锁之间的冲突（Tom Lane）<a href=\"https://postgr.es/c/899785b4f\">§</a></p>\n<p>如果一个事务在同一个咨询锁 ID 值上同时持有会话生命周期锁和事务生命周期锁，就不能预备该事务。以前没有完整检查这一限制，可能导致 <code>PREPARE TRANSACTION</code> 期间发生 PANIC。</p>", "text": "修复 PREPARE TRANSACTION，使其正确检查会话生命周期锁与事务生命周期锁之间的冲突（Tom Lane）§ 如果一个事务在同一个咨询锁 ID 值上同时持有会话生命周期锁和事务生命周期锁，就不能预备该事务。以前没有完整检查这一限制，可能导致 PREPARE TRANSACTION 期间发生 PANIC。", "title": "修复 PREPARE TRANSACTION，使其正确检查会话生命周期锁与事务生命周期锁之间的冲突", "commits": ["899785b4f"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "0a46c861b0fee18dc53b8ca6561326fc93b358235b571cfbd2f3cc62e609137d", "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": ["899785b4f"], "source_entry_id": "12.8/changes/016", "db_id": "47a0d6f8402997d619993d798dbdd949", "patch_ids": ["89e8956ee16dd6130b65127c48f96e41"], "statement_hash": "edcb169c6e36c5f2d292db8ee2997bef5e9fba2b82b4ee7487e1817d26f5646d", "relations": [{"rule": 2, "type": "equivalent", "target": "2ad698d49564e202394af7abaff7e460", "evidence": {"same_day": true, "patch_ids": ["89e8956ee16dd6130b65127c48f96e41"], "statement_hash": "edcb169c6e36c5f2d292db8ee2997bef5e9fba2b82b4ee7487e1817d26f5646d"}}, {"rule": 2, "type": "equivalent", "target": "3edde841acacd6ac0b911b5b7439eb05", "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": "12.8", "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": "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"}, {"db_id": "2ad698d49564e202394af7abaff7e460", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "修复 PREPARE TRANSACTION 对会话级与事务级锁冲突的正确检查", "evidence": {"same_day": true, "patch_ids": ["89e8956ee16dd6130b65127c48f96e41"], "statement_hash": "edcb169c6e36c5f2d292db8ee2997bef5e9fba2b82b4ee7487e1817d26f5646d"}, "url": "/docs/compare/?release=9.6.23#9.6.23-8df74ba84e013c37", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-cff0d8ac900b2aab", "cves": [], "html": "<p>修复目标角色在 RLS 策略中被列出多次时 <code>DROP OWNED BY</code> 的异常行为（Tom Lane）<a href=\"https://postgr.es/c/c58a41605\">§</a></p>", "text": "修复目标角色在 RLS 策略中被列出多次时 DROP OWNED BY 的异常行为（Tom Lane）§", "title": "修复目标角色在 RLS 策略中被列出多次时 DROP OWNED BY 的异常行为", "commits": ["c58a41605"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "cc69724fb9a22c035124506ac2d3713d1b2c05ca8643363131c0bf95892f1eb8", "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": ["c58a41605"], "source_entry_id": "12.8/changes/017", "db_id": "0c4a00395dddd67c8085f5bd82115ee1", "patch_ids": ["7579e7cde0b90026b5d66f1324899014"], "statement_hash": "8e6d30a451f33680e7f6c8dcd9f4cad405d77c53b7300fa8972af4ee4f654519", "relations": [{"rule": 2, "type": "equivalent", "target": "2353b16332df3a6da9247b7c518f853c", "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": "12.8", "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": "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"}, {"db_id": "2353b16332df3a6da9247b7c518f853c", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "修复目标角色在 RLS 策略中被列出多于一次时 DROP OWNED BY 的错误行为", "evidence": {"same_day": true, "patch_ids": ["7579e7cde0b90026b5d66f1324899014"], "statement_hash": "8e6d30a451f33680e7f6c8dcd9f4cad405d77c53b7300fa8972af4ee4f654519"}, "url": "/docs/compare/?release=9.6.23#9.6.23-f0f7468247a92762", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-ea2d9f34ca92ea2c", "cves": [], "html": "<p>在 <code>DROP OWNED BY</code> 期间从 RLS 策略中移除角色时，跳过不必要的错误检查（Tom Lane）<a href=\"https://postgr.es/c/f851696a2\">§</a></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": ["f851696a2"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "6d540ff5a509da41dcd049c6a9982fcc08881f119fd6f22679455d6d76fe24e8", "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": ["f851696a2"], "source_entry_id": "12.8/changes/018", "db_id": "dd70de71fdedac4cbed285b0568105cb", "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": "cf12661fbf35ed382cf7e314bb0f1003", "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": "12.8", "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": "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"}, {"db_id": "cf12661fbf35ed382cf7e314bb0f1003", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "在 DROP OWNED BY 期间从 RLS 策略中移除角色时，跳过不必要的错误测试", "evidence": {"same_day": true, "patch_ids": ["37a292110a66b50c73ef7932e9a02016"], "statement_hash": "9b6003b41b0618a03cdfcbb5df47a9c517d445dac186fc9504dccf08905c09be"}, "url": "/docs/compare/?release=9.6.23#9.6.23-c4b8bddf96c3b8ee", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-2d29eccc155b60ba", "cves": [], "html": "<p>禁止在 <code>GENERATED</code> 表达式中使用整行变量（Tom Lane）<a href=\"https://postgr.es/c/61feb8670\">§</a></p>\n<p>使用整行变量显然违反了生成列不能依赖自身的规则，因此这些情况没有明确定义的行为。实际行为经常包括崩溃。</p>", "text": "禁止在 GENERATED 表达式中使用整行变量（Tom Lane）§ 使用整行变量显然违反了生成列不能依赖自身的规则，因此这些情况没有明确定义的行为。实际行为经常包括崩溃。", "title": "禁止在 GENERATED 表达式中使用整行变量", "commits": ["61feb8670"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "f823b02f79b8609f86716ba6d601ab3f20881bcbe50defea2fc1d90c7bbce324", "section_path": ["变更"], "commit_groups": [["4b1007445", "61feb8670", "849c7971d"]], "identity_text": "Disallow whole-row variables in GENERATED expressions (Tom Lane) Use of a whole-row variable clearly violates the rule that a generated column cannot depend on itself, so such cases have no well-defined behavior. The actual behavior frequently included a crash.", "commit_aliases": ["4b1007445", "61feb8670", "849c7971d"], "source_commits": ["61feb8670"], "source_entry_id": "12.8/changes/019", "db_id": "2fc1b76a55c45620a553a2d1df7a0ce9", "patch_ids": ["7ced96bbbc4a5a1c08a482b30cdabd9f"], "statement_hash": "d7eb55abbc7084be0f7a5dfe644f121aaa498e0016f689b4a4c2d093bc0ddabd", "relations": [{"rule": 2, "type": "equivalent", "target": "01a883b8d2a9a82d40b9013ac4dd7c05", "evidence": {"same_day": true, "patch_ids": ["7ced96bbbc4a5a1c08a482b30cdabd9f"], "statement_hash": "d7eb55abbc7084be0f7a5dfe644f121aaa498e0016f689b4a4c2d093bc0ddabd"}}], "version": "12.8", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "01a883b8d2a9a82d40b9013ac4dd7c05", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "禁止在 GENERATED 表达式中使用整行变量", "evidence": {"same_day": true, "patch_ids": ["7ced96bbbc4a5a1c08a482b30cdabd9f"], "statement_hash": "d7eb55abbc7084be0f7a5dfe644f121aaa498e0016f689b4a4c2d093bc0ddabd"}, "url": "/docs/compare/?release=13.4#13.4-ce7aae02a6bcf40f", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}]}, {"id": "12.8-0610a10509b12ad3", "cves": [], "html": "<p>修复 <code>GENERATED</code> 表达式中 <code>tableoid</code> 的使用（Tom Lane）<a href=\"https://postgr.es/c/dfe51ffbe\">§</a></p>\n<p>某些代码路径在计算 <code>GENERATED</code> 表达式时，未能为这个系统列提供有效值。</p>", "text": "修复 GENERATED 表达式中 tableoid 的使用（Tom Lane）§ 某些代码路径在计算 GENERATED 表达式时，未能为这个系统列提供有效值。", "title": "修复 GENERATED 表达式中 tableoid 的使用", "commits": ["dfe51ffbe"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "4984e00054cf60922bdb091b634972d9f91d9453b028846d978742c29e66e247", "section_path": ["变更"], "commit_groups": [["2b0ee126b", "77e3204ec", "dfe51ffbe"]], "identity_text": "Fix usage of tableoid in GENERATED expressions (Tom Lane) Some code paths failed to provide a valid value for this system column while evaluating a GENERATED expression.", "commit_aliases": ["2b0ee126b", "77e3204ec", "dfe51ffbe"], "source_commits": ["dfe51ffbe"], "source_entry_id": "12.8/changes/020", "db_id": "aa2208d3021de9c1b48c58e3f5ea72ee", "patch_ids": ["0a967485df2d7e6380f4000956f0ffac"], "statement_hash": "0a62c314291a0b4e39ebb62b9ece828dea6e53615778b98bccf7db258e79efa3", "relations": [{"rule": 2, "type": "equivalent", "target": "8340b343cebe2ebf847be70946ae9e99", "evidence": {"same_day": true, "patch_ids": ["0a967485df2d7e6380f4000956f0ffac"], "statement_hash": "0a62c314291a0b4e39ebb62b9ece828dea6e53615778b98bccf7db258e79efa3"}}], "version": "12.8", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "8340b343cebe2ebf847be70946ae9e99", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "修复 GENERATED 表达式中 tableoid 的使用", "evidence": {"same_day": true, "patch_ids": ["0a967485df2d7e6380f4000956f0ffac"], "statement_hash": "0a62c314291a0b4e39ebb62b9ece828dea6e53615778b98bccf7db258e79efa3"}, "url": "/docs/compare/?release=13.4#13.4-9f1e45cb25cf50b1", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}]}, {"id": "12.8-07d624c3e6678d6e", "cves": [], "html": "<p>向外部表添加列时，不存储<span>“<span>快速默认值</span>”</span>（Andrew Dunstan）<a href=\"https://postgr.es/c/6432bfe8a\">§</a></p>\n<p>由于此类表没有本地堆存储，快速默认值没有用途，却会干扰后续操作。除了阻止 <code>ALTER TABLE</code> 命令创建此类目录条目之外，还调整后续代码，使其能够应对错误存在的此类条目。</p>", "text": "向外部表添加列时，不存储“快速默认值”（Andrew Dunstan）§ 由于此类表没有本地堆存储，快速默认值没有用途，却会干扰后续操作。除了阻止 ALTER TABLE 命令创建此类目录条目之外，还调整后续代码，使其能够应对错误存在的此类条目。", "title": "向外部表添加列时，不存储“快速默认值”", "commits": ["6432bfe8a"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "328089f878c932127b45f049c788af8d173d6adde38ad9b8e8fa89015a35e9b3", "section_path": ["变更"], "commit_groups": [["0a4efdc7e", "306c31804", "5b6b5e5ee", "6432bfe8a"], ["0d3b69ae0"]], "identity_text": "Don't store a fast default when adding a column to a foreign table (Andrew Dunstan) The fast default is useless since no local heap storage exists for such a table, but it confused subsequent operations. In addition to suppressing creation of such catalog entries in ALTER TABLE commands, adjust the downstream code to cope when one is incorrectly present.", "commit_aliases": ["0a4efdc7e", "0d3b69ae0", "306c31804", "5b6b5e5ee", "6432bfe8a"], "source_commits": ["0d3b69ae0", "6432bfe8a"], "source_entry_id": "12.8/changes/021", "db_id": "6230a24cb17864945ef58bf6726e4178", "patch_ids": ["6f77f81dbcaa0f9f47e287cb5af019c8", "f31b9c0fdb5f5b4b1aa2fb68d73d2285"], "statement_hash": "158e08ee0849b57cb840f2ef41e2e4b15f5c4f0b9fc9a661a2aaab28b7c36167", "relations": [{"rule": 2, "type": "equivalent", "target": "2127c5ba1262f2582a7da0a3232d02bb", "evidence": {"same_day": true, "patch_ids": ["6f77f81dbcaa0f9f47e287cb5af019c8", "f31b9c0fdb5f5b4b1aa2fb68d73d2285"], "statement_hash": "158e08ee0849b57cb840f2ef41e2e4b15f5c4f0b9fc9a661a2aaab28b7c36167"}}, {"rule": 2, "type": "equivalent", "target": "d3119050a8011efb6c46e594de8505b8", "evidence": {"same_day": true, "patch_ids": ["6f77f81dbcaa0f9f47e287cb5af019c8", "f31b9c0fdb5f5b4b1aa2fb68d73d2285"], "statement_hash": "158e08ee0849b57cb840f2ef41e2e4b15f5c4f0b9fc9a661a2aaab28b7c36167"}}], "version": "12.8", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "2127c5ba1262f2582a7da0a3232d02bb", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "向外部表添加列时，不存储“快速默认值”", "evidence": {"same_day": true, "patch_ids": ["6f77f81dbcaa0f9f47e287cb5af019c8", "f31b9c0fdb5f5b4b1aa2fb68d73d2285"], "statement_hash": "158e08ee0849b57cb840f2ef41e2e4b15f5c4f0b9fc9a661a2aaab28b7c36167"}, "url": "/docs/compare/?release=13.4#13.4-a9cce64922a2e18c", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "d3119050a8011efb6c46e594de8505b8", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "向外部表添加列时，不存储“快速默认值”", "evidence": {"same_day": true, "patch_ids": ["6f77f81dbcaa0f9f47e287cb5af019c8", "f31b9c0fdb5f5b4b1aa2fb68d73d2285"], "statement_hash": "158e08ee0849b57cb840f2ef41e2e4b15f5c4f0b9fc9a661a2aaab28b7c36167"}, "url": "/docs/compare/?release=11.13#11.13-c0c17f817bc0ff7c", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}]}, {"id": "12.8-b284661d64d31cde", "cves": [], "html": "<p>允许以事务方式更新索引状态标志（Michael Paquier，Andrey Lepikhov）<a href=\"https://postgr.es/c/e52f7cbec\">§</a> <a href=\"https://postgr.es/c/ce8949c4b\">§</a></p>\n<p>这可以避免处理实际上并非不可变的索引谓词时发生失败。虽然这种情况不被视为受支持的用法，但这里最初采用非事务更新的原因早已不复存在，因此不妨进行修改。</p>", "text": "允许以事务方式更新索引状态标志（Michael Paquier，Andrey Lepikhov）§ § 这可以避免处理实际上并非不可变的索引谓词时发生失败。虽然这种情况不被视为受支持的用法，但这里最初采用非事务更新的原因早已不复存在，因此不妨进行修改。", "title": "允许以事务方式更新索引状态标志", "commits": ["ce8949c4b", "e52f7cbec"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "13d9356dee26ee42b98a62553a7c9f4f6c3db508f62931e4384170cebe0ed63c", "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": ["ce8949c4b", "e52f7cbec"], "source_entry_id": "12.8/changes/022", "db_id": "4e3a50b239b385709016d4389c0a561c", "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": "4615fb71fd6a071460cda281b79ab381", "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": "12.8", "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": "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"}, {"db_id": "4615fb71fd6a071460cda281b79ab381", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "允许以事务方式更新索引状态标志", "evidence": {"same_day": true, "patch_ids": ["b4711bb81381372073885e14d05d442c", "ff0fda38b552c4958c149f887a424375"], "statement_hash": "fceef81003e23c13f9b85edb1bda32594c237d9e7c2bb4417176dc340ac5c450"}, "url": "/docs/compare/?release=9.6.23#9.6.23-7f825a57fab789ce", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-0a088beb8326d4ae", "cves": [], "html": "<p>避免缓存计划中出现 <code>CREATE DOMAIN</code> 或 <code>ALTER DOMAIN</code> 时损坏计划缓存条目（Tom Lane）<a href=\"https://postgr.es/c/b2c740c42\">§</a></p>", "text": "避免缓存计划中出现 CREATE DOMAIN 或 ALTER DOMAIN 时损坏计划缓存条目（Tom Lane）§", "title": "避免缓存计划中出现 CREATE DOMAIN 或 ALTER DOMAIN 时损坏计划缓存条目", "commits": ["b2c740c42"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "05f5028960d4d8c5576f0b90bd91568dcd6119816422bc40f00295ce8f705849", "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": ["b2c740c42"], "source_entry_id": "12.8/changes/023", "db_id": "5b1d123e3f5b881fd9aa5aa9d6ee5678", "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": "7096e9cdb9e280dcd89c0656cbe90f88", "evidence": {"same_day": true, "patch_ids": ["b08f56f1da4c28135bcd86d1aee29903"], "statement_hash": "f76f1557111dec9e790eecdd68ffc4899ff15a918ffc9e22032a8df64f105ab4"}}, {"rule": 2, "type": "equivalent", "target": "7dce150b08afdefc510d6859ee6a625c", "evidence": {"same_day": true, "patch_ids": ["b08f56f1da4c28135bcd86d1aee29903"], "statement_hash": "f76f1557111dec9e790eecdd68ffc4899ff15a918ffc9e22032a8df64f105ab4"}}], "version": "12.8", "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": "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"}, {"db_id": "7dce150b08afdefc510d6859ee6a625c", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "避免 CREATE DOMAIN 或 ALTER DOMAIN 出现在缓存计划中时损坏计划缓存条目", "evidence": {"same_day": true, "patch_ids": ["b08f56f1da4c28135bcd86d1aee29903"], "statement_hash": "f76f1557111dec9e790eecdd68ffc4899ff15a918ffc9e22032a8df64f105ab4"}, "url": "/docs/compare/?release=9.6.23#9.6.23-c9045da568ee7841", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-8db02d45faab6daa", "cves": [], "html": "<p>使 WAL 发送进程在 <code>pg_stat_activity</code> 中显示最新的复制命令（Tom Lane）<a href=\"https://postgr.es/c/04a476057\">§</a></p>\n<p>以前，WAL 发送进程会显示其最新的 SQL 命令，如果它此时正在执行复制操作，就会令人困惑。现在将复制协议命令与 SQL 命令同等显示。</p>", "text": "使 WAL 发送进程在 pg_stat_activity 中显示最新的复制命令（Tom Lane）§ 以前，WAL 发送进程会显示其最新的 SQL 命令，如果它此时正在执行复制操作，就会令人困惑。现在将复制协议命令与 SQL 命令同等显示。", "title": "使 WAL 发送进程在 pg_stat_activity 中显示最新的复制命令", "commits": ["04a476057"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "04a49fa05930d481fb7a21dbbec5deb0ac81f1ecdfc5d3557b1c3c73de2fb8b0", "section_path": ["变更"], "commit_groups": [["04a476057", "4040139f2", "4a20de9d9", "c39983600", "f560209c6"]], "identity_text": "Make walsenders show their latest replication commands in pg_stat_activity (Tom Lane) Previously, a walsender would show its latest SQL command, which was confusing if it's now doing some replication operation instead. Now we show replication-protocol commands on the same footing as SQL commands.", "commit_aliases": ["04a476057", "4040139f2", "4a20de9d9", "c39983600", "f560209c6"], "source_commits": ["04a476057"], "source_entry_id": "12.8/changes/024", "db_id": "526971534d5319de4b859bbb1351f344", "patch_ids": ["b93d3a228e8d140abb333333e3af91e7"], "statement_hash": "815c16708adbc02eca026e9a421acd7c60c90d8d7ad0f27f93167ed9a88c4a1d", "relations": [{"rule": 2, "type": "equivalent", "target": "194a813ac9027440f08df26bd38a6f33", "evidence": {"same_day": true, "patch_ids": ["b93d3a228e8d140abb333333e3af91e7"], "statement_hash": "815c16708adbc02eca026e9a421acd7c60c90d8d7ad0f27f93167ed9a88c4a1d"}}, {"rule": 2, "type": "equivalent", "target": "66ddf5bbf2d2d33f599e0909061da56a", "evidence": {"same_day": true, "patch_ids": ["b93d3a228e8d140abb333333e3af91e7"], "statement_hash": "815c16708adbc02eca026e9a421acd7c60c90d8d7ad0f27f93167ed9a88c4a1d"}}, {"rule": 2, "type": "equivalent", "target": "6ce7b5785fce400a82dec53b064d3314", "evidence": {"same_day": true, "patch_ids": ["b93d3a228e8d140abb333333e3af91e7"], "statement_hash": "815c16708adbc02eca026e9a421acd7c60c90d8d7ad0f27f93167ed9a88c4a1d"}}], "version": "12.8", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "194a813ac9027440f08df26bd38a6f33", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "使 WAL 发送进程在 pg_stat_activity 中显示最新的复制命令", "evidence": {"same_day": true, "patch_ids": ["b93d3a228e8d140abb333333e3af91e7"], "statement_hash": "815c16708adbc02eca026e9a421acd7c60c90d8d7ad0f27f93167ed9a88c4a1d"}, "url": "/docs/compare/?release=13.4#13.4-27e7d9288e772baa", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "6ce7b5785fce400a82dec53b064d3314", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "使 WAL 发送进程在 pg_stat_activity 中显示最新的复制命令", "evidence": {"same_day": true, "patch_ids": ["b93d3a228e8d140abb333333e3af91e7"], "statement_hash": "815c16708adbc02eca026e9a421acd7c60c90d8d7ad0f27f93167ed9a88c4a1d"}, "url": "/docs/compare/?release=11.13#11.13-1ec7d90337fc7e65", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "66ddf5bbf2d2d33f599e0909061da56a", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "使 WAL 发送进程在 pg_stat_activity 中显示最新的复制命令", "evidence": {"same_day": true, "patch_ids": ["b93d3a228e8d140abb333333e3af91e7"], "statement_hash": "815c16708adbc02eca026e9a421acd7c60c90d8d7ad0f27f93167ed9a88c4a1d"}, "url": "/docs/compare/?release=10.18#10.18-1ec7d90337fc7e65", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "12.8-68221b0ab049b642", "cves": [], "html": "<p>当 <code>postgresql.conf</code> 中的相关条目被移除时，使 <code>pg_settings</code>.<code>pending_restart</code> 显示为 true（Álvaro Herrera）<a href=\"https://postgr.es/c/6feb229f5\">§</a></p>\n<p>对于必须重启 postmaster 才能更改的条目，<code>pending_restart</code> 能正确显示条目已被修改的情况，却无法显示条目被完全移除的情况。</p>", "text": "当 postgresql.conf 中的相关条目被移除时，使 pg_settings.pending_restart 显示为 true（Álvaro Herrera）§ 对于必须重启 postmaster 才能更改的条目，pending_restart 能正确显示条目已被修改的情况，却无法显示条目被完全移除的情况。", "title": "当 postgresql.conf 中的相关条目被移除时，使 pg_settings.pending_restart 显示为 true", "commits": ["6feb229f5"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "0e5ab7a00382fd4ff8427221f22aea0dda2f401dfc6f2c9cdc2f2ae7079350da", "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": ["6feb229f5"], "source_entry_id": "12.8/changes/025", "db_id": "214ebf061a91b6e91d963d4b367a643c", "patch_ids": ["0b8a37692687ee6d81a0f7eabed64646"], "statement_hash": "ffdcbbe4a2469bcfb1ec79d6a8871aefdb06a4869cd79b7a00b34513bcb6bcd5", "relations": [{"rule": 2, "type": "equivalent", "target": "2ddb89f6b40031fc05bf25e7e60df95a", "evidence": {"same_day": true, "patch_ids": ["0b8a37692687ee6d81a0f7eabed64646"], "statement_hash": "ffdcbbe4a2469bcfb1ec79d6a8871aefdb06a4869cd79b7a00b34513bcb6bcd5"}}, {"rule": 2, "type": "equivalent", "target": "4ccde26fc9842ce8e841be178ea4defd", "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": "12.8", "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": "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"}, {"db_id": "4ccde26fc9842ce8e841be178ea4defd", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "当 postgresql.conf 中相关条目被移除时，让 pg_settings.pending_restart 显示为 true", "evidence": {"same_day": true, "patch_ids": ["0b8a37692687ee6d81a0f7eabed64646"], "statement_hash": "ffdcbbe4a2469bcfb1ec79d6a8871aefdb06a4869cd79b7a00b34513bcb6bcd5"}, "url": "/docs/compare/?release=9.6.23#9.6.23-e0edac604264b086", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-cf6d20ec54f1d2b0", "cves": [], "html": "<p>修复涉及外部表的普通继承子表的查询所产生的错误计划（Amit Langote）<a href=\"https://postgr.es/c/bdd096f1a\">§</a></p>\n<p>在这些情况下，<code>SELECT FOR UPDATE</code> 及相关命令会因断言失败或 <span>“<span>could not find junk column</span>”</span> 错误而失败。</p>", "text": "修复涉及外部表的普通继承子表的查询所产生的错误计划（Amit Langote）§ 在这些情况下，SELECT FOR UPDATE 及相关命令会因断言失败或 “could not find junk column” 错误而失败。", "title": "修复涉及外部表的普通继承子表的查询所产生的错误计划", "commits": ["bdd096f1a"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "36139108c6f9caa912daee97aabc198fcccc495b8d48f8b4e776a33f6527276a", "section_path": ["变更"], "commit_groups": [["6753a5b7e", "889592344", "bdd096f1a"]], "identity_text": "Fix mis-planning of queries involving regular tables that are inheritance children of foreign tables (Amit Langote) SELECT FOR UPDATE and related commands would fail with assertion failures or could not find junk column errors in such cases.", "commit_aliases": ["6753a5b7e", "889592344", "bdd096f1a"], "source_commits": ["bdd096f1a"], "source_entry_id": "12.8/changes/026", "db_id": "93610eb10abd079199041d6d24923c28", "patch_ids": ["8fa520e9ed4dc1e11ed7bbafb5973ee8"], "statement_hash": "0d4c27fa20d3a4d47afc11b8517df17b1f4f22b2e85721f1ca2160955324b7e5", "relations": [{"rule": 2, "type": "equivalent", "target": "90ea5b429891f25602a57dd36e222008", "evidence": {"same_day": true, "patch_ids": ["8fa520e9ed4dc1e11ed7bbafb5973ee8"], "statement_hash": "0d4c27fa20d3a4d47afc11b8517df17b1f4f22b2e85721f1ca2160955324b7e5"}}], "version": "12.8", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "90ea5b429891f25602a57dd36e222008", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "修复涉及外部表的普通继承子表的查询所产生的错误计划", "evidence": {"same_day": true, "patch_ids": ["8fa520e9ed4dc1e11ed7bbafb5973ee8"], "statement_hash": "0d4c27fa20d3a4d47afc11b8517df17b1f4f22b2e85721f1ca2160955324b7e5"}, "url": "/docs/compare/?release=13.4#13.4-be5805e010ddb548", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}]}, {"id": "12.8-de96cf3d91beee00", "cves": [], "html": "<p>修复新备库在边界情况下无法跟随新主库的问题（Dilip Kumar，Robert Haas）<a href=\"https://postgr.es/c/5d950c721\">§</a> <a href=\"https://postgr.es/c/2208d71a0\">§</a> <a href=\"https://postgr.es/c/6fc2febc2\">§</a> <a href=\"https://postgr.es/c/1730a3334\">§</a> <a href=\"https://postgr.es/c/914c716ca\">§</a> <a href=\"https://postgr.es/c/fb3d6b0e1\">§</a></p>\n<p>在一组少见的条件组合下，备库可能最终尝试跟随错误的 WAL 时间线。</p>", "text": "修复新备库在边界情况下无法跟随新主库的问题（Dilip Kumar，Robert Haas）§ § § § § § 在一组少见的条件组合下，备库可能最终尝试跟随错误的 WAL 时间线。", "title": "修复新备库在边界情况下无法跟随新主库的问题", "commits": ["1730a3334", "2208d71a0", "5d950c721", "6fc2febc2", "914c716ca", "fb3d6b0e1"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "377deadbb5dbd86ec8ef3d4629f3b9df25a4cc91ec1a5532de92535fed768a6c", "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": ["1730a3334", "2208d71a0", "5d950c721", "6fc2febc2", "914c716ca", "fb3d6b0e1"], "source_entry_id": "12.8/changes/027", "db_id": "cd470037835a657b48fee155589eb562", "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": "b3d40558fa7aef60774ec2f530ad9e77", "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": "12.8", "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": "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"}, {"db_id": "b3d40558fa7aef60774ec2f530ad9e77", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "修复新备库跟随新主库时的一种边界失败", "evidence": {"same_day": true, "patch_ids": ["08b8d0ff13a5752c8cca9202684cbd82", "6f49a078789b6b87ee910c861b9b52bc", "c4012f5057c5485d2cc58823e633802b", "c7b73d15e7dc761cc844304dd5abfd92", "da3143c17fb547819c64196ac888d4dd", "ffb09d6dcb744b48c217698cffaeea90"], "statement_hash": "f435fa3e057a13847988b369db335be3f7eec94e6bcbfb6345a2cf26760f9d74"}, "url": "/docs/compare/?release=9.6.23#9.6.23-14699dcd8ac351ac", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-7e090fef529d8781", "cves": [], "html": "<p>当事务中止记录的 WAL 重放导致文件截断时，更新最小恢复点（Fujii Masao）<a href=\"https://postgr.es/c/d7ded08e6\">§</a></p>\n<p>文件截断是不可逆的，因此在早于该记录的位置停止恢复已不再安全。事务提交的对应情况多年前就已修复，但这一情况被遗漏了。</p>", "text": "当事务中止记录的 WAL 重放导致文件截断时，更新最小恢复点（Fujii Masao）§ 文件截断是不可逆的，因此在早于该记录的位置停止恢复已不再安全。事务提交的对应情况多年前就已修复，但这一情况被遗漏了。", "title": "当事务中止记录的 WAL 重放导致文件截断时，更新最小恢复点", "commits": ["d7ded08e6"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "b2c6b7169373437108fb7294f2ef3793cd7a5ebb6b872c8e907ca4d7ef2b51ca", "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": ["d7ded08e6"], "source_entry_id": "12.8/changes/028", "db_id": "d7e39e3de4dbacf0dc21f84ece53dd24", "patch_ids": ["2e31ed09b90cb0458ab33cda47de2fbf"], "statement_hash": "80950ec8b6c501e69048d3ced6d4cce78e02a6d9551b14f8005608a863a58104", "relations": [{"rule": 2, "type": "equivalent", "target": "11912ef944db6264080fb946153b3d45", "evidence": {"same_day": true, "patch_ids": ["2e31ed09b90cb0458ab33cda47de2fbf"], "statement_hash": "80950ec8b6c501e69048d3ced6d4cce78e02a6d9551b14f8005608a863a58104"}}, {"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"}}], "version": "12.8", "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": "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"}, {"db_id": "11912ef944db6264080fb946153b3d45", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "当 WAL 重放一条事务中止记录导致文件截断时，更新最小恢复点", "evidence": {"same_day": true, "patch_ids": ["2e31ed09b90cb0458ab33cda47de2fbf"], "statement_hash": "80950ec8b6c501e69048d3ced6d4cce78e02a6d9551b14f8005608a863a58104"}, "url": "/docs/compare/?release=9.6.23#9.6.23-14604a39221c85af", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-ed1958df329f5f86", "cves": [], "html": "<p>在 WAL 接收进程中，避免发生错误后尝试查找系统目录（Masahiko Sawada，Bharath Rupireddy）<a href=\"https://postgr.es/c/feff61557\">§</a></p>", "text": "在 WAL 接收进程中，避免发生错误后尝试查找系统目录（Masahiko Sawada，Bharath Rupireddy）§", "title": "在 WAL 接收进程中，避免发生错误后尝试查找系统目录", "commits": ["feff61557"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "69035dc629b34b4863b731a1bb90ebecd7062de0c026c87959887433cbf808e2", "section_path": ["变更"], "commit_groups": [["0b5089e8c", "32d50b895", "50371df26", "63a952167", "7fc97752d", "feff61557"]], "identity_text": "In walreceivers, avoid attempting catalog lookups after an error (Masahiko Sawada, Bharath Rupireddy)", "commit_aliases": ["0b5089e8c", "32d50b895", "50371df26", "63a952167", "7fc97752d", "feff61557"], "source_commits": ["feff61557"], "source_entry_id": "12.8/changes/029", "db_id": "91a1c9b169c16186e4094454134607e8", "patch_ids": ["0b605d8301a13b7dc7010551fcb7b21a"], "statement_hash": "5cfa6a284473add4d4a7ee297250a6ed586d2166d477bae2b6181b79b98a087d", "relations": [{"rule": 2, "type": "equivalent", "target": "62e6b40784d08621150365a1dfa89c3a", "evidence": {"same_day": true, "patch_ids": ["0b605d8301a13b7dc7010551fcb7b21a"], "statement_hash": "5cfa6a284473add4d4a7ee297250a6ed586d2166d477bae2b6181b79b98a087d"}}, {"rule": 2, "type": "equivalent", "target": "cdc31bc3130dc86ff92e5c5c9d3df39c", "evidence": {"same_day": true, "patch_ids": ["0b605d8301a13b7dc7010551fcb7b21a"], "statement_hash": "5cfa6a284473add4d4a7ee297250a6ed586d2166d477bae2b6181b79b98a087d"}}, {"rule": 2, "type": "equivalent", "target": "d1f4630ec4428637266ffb0bd4473513", "evidence": {"same_day": true, "patch_ids": ["0b605d8301a13b7dc7010551fcb7b21a"], "statement_hash": "5cfa6a284473add4d4a7ee297250a6ed586d2166d477bae2b6181b79b98a087d"}}], "version": "12.8", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "62e6b40784d08621150365a1dfa89c3a", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "在 WAL 接收进程中，避免发生错误后尝试查找系统目录", "evidence": {"same_day": true, "patch_ids": ["0b605d8301a13b7dc7010551fcb7b21a"], "statement_hash": "5cfa6a284473add4d4a7ee297250a6ed586d2166d477bae2b6181b79b98a087d"}, "url": "/docs/compare/?release=13.4#13.4-197d791ddbb8b11a", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "cdc31bc3130dc86ff92e5c5c9d3df39c", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "在 WAL 接收进程中，避免发生错误后尝试查找系统目录", "evidence": {"same_day": true, "patch_ids": ["0b605d8301a13b7dc7010551fcb7b21a"], "statement_hash": "5cfa6a284473add4d4a7ee297250a6ed586d2166d477bae2b6181b79b98a087d"}, "url": "/docs/compare/?release=11.13#11.13-d9e9a6a5c6d9f222", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "d1f4630ec4428637266ffb0bd4473513", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "在 WAL 接收进程中，避免发生错误后尝试查找系统目录", "evidence": {"same_day": true, "patch_ids": ["0b605d8301a13b7dc7010551fcb7b21a"], "statement_hash": "5cfa6a284473add4d4a7ee297250a6ed586d2166d477bae2b6181b79b98a087d"}, "url": "/docs/compare/?release=10.18#10.18-d9e9a6a5c6d9f222", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "12.8-15aa59ae480f7b14", "cves": [], "html": "<p>确保备库的启动进程在等待 WAL 到达时及时响应关闭信号（Fujii Masao，Soumyadeep Chakraborty）<a href=\"https://postgr.es/c/1bcfda30f\">§</a></p>", "text": "确保备库的启动进程在等待 WAL 到达时及时响应关闭信号（Fujii Masao，Soumyadeep Chakraborty）§", "title": "确保备库的启动进程在等待 WAL 到达时及时响应关闭信号", "commits": ["1bcfda30f"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "101df01b191145a61adb6da192e054bbf0634fdc54141d09760de673a6cd9009", "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": ["1bcfda30f"], "source_entry_id": "12.8/changes/030", "db_id": "0dd7ce96d2f6be23a93d89b24c4d73f1", "patch_ids": ["b4370cd8908cda8beaf0bf99e5020770"], "statement_hash": "54c47198eedc1d7f141df88dfb2813c89a78632a7c86162072ebb67dcf06a3d3", "relations": [{"rule": 2, "type": "equivalent", "target": "1ef23efdc5470ace11e67ed189236612", "evidence": {"same_day": true, "patch_ids": ["b4370cd8908cda8beaf0bf99e5020770"], "statement_hash": "54c47198eedc1d7f141df88dfb2813c89a78632a7c86162072ebb67dcf06a3d3"}}, {"rule": 2, "type": "equivalent", "target": "37eaba43ad39d51859d131d6b40fc086", "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": "12.8", "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": "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"}, {"db_id": "37eaba43ad39d51859d131d6b40fc086", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "确保备库服务器的启动进程在等待 WAL 到达期间能及时响应关闭信号", "evidence": {"same_day": true, "patch_ids": ["b4370cd8908cda8beaf0bf99e5020770"], "statement_hash": "54c47198eedc1d7f141df88dfb2813c89a78632a7c86162072ebb67dcf06a3d3"}, "url": "/docs/compare/?release=9.6.23#9.6.23-af9af2ce890884cb", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-09ab53a4af42eb1b", "cves": [], "html": "<p>在未能成为事务提交组成员后正确清除共享状态（Amit Kapila）<a href=\"https://postgr.es/c/b75c1f687\">§</a></p>\n<p>在特定时序下，当后续某个会话复用同一个 PGPROC 对象时，这可能导致断言失败。</p>", "text": "在未能成为事务提交组成员后正确清除共享状态（Amit Kapila）§ 在特定时序下，当后续某个会话复用同一个 PGPROC 对象时，这可能导致断言失败。", "title": "在未能成为事务提交组成员后正确清除共享状态", "commits": ["b75c1f687"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "a09e6fd7a5720086f5b3c298ef669203b302759dba588ce42a73cfa3281b72e3", "section_path": ["变更"], "commit_groups": [["741deb260", "b75c1f687", "b786304c2", "c62c3769f"]], "identity_text": "Correctly clear shared state after failing to become a member of a transaction commit group (Amit Kapila) Given the right timing, this could cause an assertion failure when some later session re-uses the same PGPROC object.", "commit_aliases": ["741deb260", "b75c1f687", "b786304c2", "c62c3769f"], "source_commits": ["b75c1f687"], "source_entry_id": "12.8/changes/031", "db_id": "3dee1454c59dda0dedbf1c54db15551c", "patch_ids": ["b10222a524f8e50bad2d4298b2f4e986"], "statement_hash": "b408dbe207664b88c3d8ddea78c028f3124c914d63e5d5ec9cf9231cc75bed8c", "relations": [{"rule": 2, "type": "equivalent", "target": "125a7859a0619d420ca57a9a48916625", "evidence": {"same_day": true, "patch_ids": ["b10222a524f8e50bad2d4298b2f4e986"], "statement_hash": "b408dbe207664b88c3d8ddea78c028f3124c914d63e5d5ec9cf9231cc75bed8c"}}, {"rule": 2, "type": "equivalent", "target": "9d551509747e7d61a430066a0de6f2d6", "evidence": {"same_day": true, "patch_ids": ["b10222a524f8e50bad2d4298b2f4e986"], "statement_hash": "b408dbe207664b88c3d8ddea78c028f3124c914d63e5d5ec9cf9231cc75bed8c"}}], "version": "12.8", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "125a7859a0619d420ca57a9a48916625", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "在未能成为事务提交组成员后正确清除共享状态", "evidence": {"same_day": true, "patch_ids": ["b10222a524f8e50bad2d4298b2f4e986"], "statement_hash": "b408dbe207664b88c3d8ddea78c028f3124c914d63e5d5ec9cf9231cc75bed8c"}, "url": "/docs/compare/?release=13.4#13.4-74024627883f874c", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "9d551509747e7d61a430066a0de6f2d6", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "在未能成为事务提交组成员后正确清除共享状态", "evidence": {"same_day": true, "patch_ids": ["b10222a524f8e50bad2d4298b2f4e986"], "statement_hash": "b408dbe207664b88c3d8ddea78c028f3124c914d63e5d5ec9cf9231cc75bed8c"}, "url": "/docs/compare/?release=11.13#11.13-7cdceda10a5f9fc1", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}]}, {"id": "12.8-4f20de6583d51dd4", "cves": [], "html": "<p>增加锁定，避免其他进程并发写入时读取到错误的 relmapper 数据（Heikki Linnakangas）<a href=\"https://postgr.es/c/caac19650\">§</a> <a href=\"https://postgr.es/c/8b01a403c\">§</a></p>", "text": "增加锁定，避免其他进程并发写入时读取到错误的 relmapper 数据（Heikki Linnakangas）§ §", "title": "增加锁定，避免其他进程并发写入时读取到错误的 relmapper 数据", "commits": ["8b01a403c", "caac19650"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "9e23641eba50e651153c0611e42c444878b547083540a9d0c18d09a46485019b", "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": ["8b01a403c", "caac19650"], "source_entry_id": "12.8/changes/032", "db_id": "8d4549adc503b6ee7ece7245aa8afc2c", "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": "9f6bc99e37a9123069b9b5ad699fd998", "evidence": {"same_day": true, "patch_ids": ["4ce1646db70329eb9abed19a16977f07", "a3a57a396084bdad3507d3e4b785f00f"], "statement_hash": "63fbe23a98374912d05c8f36acc406a88d38899bd316eeb727879f1b735e2bb7"}}, {"rule": 2, "type": "equivalent", "target": "a041d4b543eca588d5bc6529ff26d6c2", "evidence": {"same_day": true, "patch_ids": ["4ce1646db70329eb9abed19a16977f07", "a3a57a396084bdad3507d3e4b785f00f"], "statement_hash": "63fbe23a98374912d05c8f36acc406a88d38899bd316eeb727879f1b735e2bb7"}}], "version": "12.8", "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": "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"}, {"db_id": "a041d4b543eca588d5bc6529ff26d6c2", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "加锁以避免在另一进程并发写入时读到不正确的 relmapper 数据", "evidence": {"same_day": true, "patch_ids": ["4ce1646db70329eb9abed19a16977f07", "a3a57a396084bdad3507d3e4b785f00f"], "statement_hash": "63fbe23a98374912d05c8f36acc406a88d38899bd316eeb727879f1b735e2bb7"}, "url": "/docs/compare/?release=9.6.23#9.6.23-bde6f0d17569201f", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-24dc497edf6d5bff", "cves": [], "html": "<p>改进并行构建 B-树索引时排序阶段的进度报告（Matthias van de Meent）<a href=\"https://postgr.es/c/0c7efd975\">§</a></p>", "text": "改进并行构建 B-树索引时排序阶段的进度报告（Matthias van de Meent）§", "title": "改进并行构建 B-树索引时排序阶段的进度报告", "commits": ["0c7efd975"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "fedf70321bdec6f8104a5992775082ad4be92bb5151bf64d96053c91b5e31abd", "section_path": ["变更"], "commit_groups": [["065ce069a", "0c7efd975", "5cc1cd502"]], "identity_text": "Improve progress reporting for the sort phase of a parallel btree index build (Matthias van de Meent)", "commit_aliases": ["065ce069a", "0c7efd975", "5cc1cd502"], "source_commits": ["0c7efd975"], "source_entry_id": "12.8/changes/033", "db_id": "710edd8835f4f7f80ae1c89c92c3cb8b", "patch_ids": ["52d818038011788eebb1c6eb1a1d60a9"], "statement_hash": "a230251014fbfba87edf7ee780443ae387a99e2a2a3a73610f5dc50dc27e50d2", "relations": [{"rule": 2, "type": "equivalent", "target": "8864bde81e80ad94ff5454d3e2ddd4f3", "evidence": {"same_day": true, "patch_ids": ["52d818038011788eebb1c6eb1a1d60a9"], "statement_hash": "a230251014fbfba87edf7ee780443ae387a99e2a2a3a73610f5dc50dc27e50d2"}}], "version": "12.8", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "8864bde81e80ad94ff5454d3e2ddd4f3", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "改进并行构建 B-树索引时排序阶段的进度报告", "evidence": {"same_day": true, "patch_ids": ["52d818038011788eebb1c6eb1a1d60a9"], "statement_hash": "a230251014fbfba87edf7ee780443ae387a99e2a2a3a73610f5dc50dc27e50d2"}, "url": "/docs/compare/?release=13.4#13.4-a48f91604c42e54f", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}]}, {"id": "12.8-3c8b2670de6cb201", "cves": [], "html": "<p>改进对违反复制协议的情况的检查（Tom Lane）<a href=\"https://postgr.es/c/1f280e833\">§</a></p>\n<p>逻辑复制工作进程经常使用断言来检查可能由无效或乱序复制命令触发的情况。这似乎并不明智，因此将这些检查改为常规错误检查。</p>", "text": "改进对违反复制协议的情况的检查（Tom Lane）§ 逻辑复制工作进程经常使用断言来检查可能由无效或乱序复制命令触发的情况。这似乎并不明智，因此将这些检查改为常规错误检查。", "title": "改进对违反复制协议的情况的检查", "commits": ["1f280e833"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "edbe8248722b9a4e8dc44235225a38e592753214e68e514ab6aeafa1e526b9e2", "section_path": ["变更"], "commit_groups": [["1f280e833", "4745c119e", "8b5055812", "9eecea7f3", "fe6a20ce5"]], "identity_text": "Improve checks for violations of replication protocol (Tom Lane) Logical replication workers frequently used Asserts to check for cases that could be triggered by invalid or out-of-order replication commands. This seems unwise, so promote these tests to regular error checks.", "commit_aliases": ["1f280e833", "4745c119e", "8b5055812", "9eecea7f3", "fe6a20ce5"], "source_commits": ["1f280e833"], "source_entry_id": "12.8/changes/034", "db_id": "b7f2ae92d7a0db48a9cc1c91f9dd8430", "patch_ids": ["8dd3d400bcbf3e52edd0b643b17a9c8c"], "statement_hash": "b6014c2ca148977cc22177934ee1a4715dee03b0c3d8a00761059bb69a0c2b98", "relations": [{"rule": 2, "type": "equivalent", "target": "719a25ee79039d01d81816f6231dad3e", "evidence": {"same_day": true, "patch_ids": ["8dd3d400bcbf3e52edd0b643b17a9c8c"], "statement_hash": "b6014c2ca148977cc22177934ee1a4715dee03b0c3d8a00761059bb69a0c2b98"}}, {"rule": 2, "type": "equivalent", "target": "7db3f9302ba640babaa515167099c4ea", "evidence": {"same_day": true, "patch_ids": ["8dd3d400bcbf3e52edd0b643b17a9c8c"], "statement_hash": "b6014c2ca148977cc22177934ee1a4715dee03b0c3d8a00761059bb69a0c2b98"}}, {"rule": 2, "type": "equivalent", "target": "c1f119148f2eaf3f167f75195ca4af89", "evidence": {"same_day": true, "patch_ids": ["8dd3d400bcbf3e52edd0b643b17a9c8c"], "statement_hash": "b6014c2ca148977cc22177934ee1a4715dee03b0c3d8a00761059bb69a0c2b98"}}], "version": "12.8", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "7db3f9302ba640babaa515167099c4ea", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "改进对违反复制协议的情况的检查", "evidence": {"same_day": true, "patch_ids": ["8dd3d400bcbf3e52edd0b643b17a9c8c"], "statement_hash": "b6014c2ca148977cc22177934ee1a4715dee03b0c3d8a00761059bb69a0c2b98"}, "url": "/docs/compare/?release=13.4#13.4-6912374bfdeafe98", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "c1f119148f2eaf3f167f75195ca4af89", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "改进对违反复制协议的情况的检查", "evidence": {"same_day": true, "patch_ids": ["8dd3d400bcbf3e52edd0b643b17a9c8c"], "statement_hash": "b6014c2ca148977cc22177934ee1a4715dee03b0c3d8a00761059bb69a0c2b98"}, "url": "/docs/compare/?release=11.13#11.13-7f4fa48f3f9c07ae", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "719a25ee79039d01d81816f6231dad3e", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "改进对违反复制协议的情况的检查", "evidence": {"same_day": true, "patch_ids": ["8dd3d400bcbf3e52edd0b643b17a9c8c"], "statement_hash": "b6014c2ca148977cc22177934ee1a4715dee03b0c3d8a00761059bb69a0c2b98"}, "url": "/docs/compare/?release=10.18#10.18-7f4fa48f3f9c07ae", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "12.8-e99dafff2890fccb", "cves": [], "html": "<p>修复多个逻辑复制工作进程尝试截断同一个表时的死锁（Peter Smith，Haiying Tang）<a href=\"https://postgr.es/c/18c6242b7\">§</a></p>", "text": "修复多个逻辑复制工作进程尝试截断同一个表时的死锁（Peter Smith，Haiying Tang）§", "title": "修复多个逻辑复制工作进程尝试截断同一个表时的死锁", "commits": ["18c6242b7"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "90b24a48340f68720074b1914be308d3753c76f7f64fae116cd7ac22e30a908e", "section_path": ["变更"], "commit_groups": [["18c6242b7", "6d0eb3855", "71787b23e", "c83c0257e"]], "identity_text": "Fix deadlock when multiple logical replication workers try to truncate the same table (Peter Smith, Haiying Tang)", "commit_aliases": ["18c6242b7", "6d0eb3855", "71787b23e", "c83c0257e"], "source_commits": ["18c6242b7"], "source_entry_id": "12.8/changes/035", "db_id": "8f8ed6f91f4a5cb5f991bb27d3596396", "patch_ids": ["ab7319d444014fb2f295c1d138b3e771"], "statement_hash": "48b726ea94982e612eb2db1dd54eba6156629bb204f2790b43adaffd0f298740", "relations": [{"rule": 2, "type": "equivalent", "target": "a70cc7a1f7a07627e8991a79ad2919e9", "evidence": {"same_day": true, "patch_ids": ["ab7319d444014fb2f295c1d138b3e771"], "statement_hash": "48b726ea94982e612eb2db1dd54eba6156629bb204f2790b43adaffd0f298740"}}, {"rule": 2, "type": "equivalent", "target": "a73c960d9772eec633fe55648c71990b", "evidence": {"same_day": true, "patch_ids": ["ab7319d444014fb2f295c1d138b3e771"], "statement_hash": "48b726ea94982e612eb2db1dd54eba6156629bb204f2790b43adaffd0f298740"}}], "version": "12.8", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "a70cc7a1f7a07627e8991a79ad2919e9", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "修复多个逻辑复制工作进程尝试截断同一个表时的死锁", "evidence": {"same_day": true, "patch_ids": ["ab7319d444014fb2f295c1d138b3e771"], "statement_hash": "48b726ea94982e612eb2db1dd54eba6156629bb204f2790b43adaffd0f298740"}, "url": "/docs/compare/?release=13.4#13.4-4a95b209e05f83e1", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "a73c960d9772eec633fe55648c71990b", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "修复多个逻辑复制工作进程尝试截断同一个表时的死锁", "evidence": {"same_day": true, "patch_ids": ["ab7319d444014fb2f295c1d138b3e771"], "statement_hash": "48b726ea94982e612eb2db1dd54eba6156629bb204f2790b43adaffd0f298740"}, "url": "/docs/compare/?release=11.13#11.13-d931f48a0ef9ee18", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}]}, {"id": "12.8-459297cd9535aad0", "cves": [], "html": "<p>修复对推测插入进行逻辑解码时的错误情况和内存泄漏（Dilip Kumar）<a href=\"https://postgr.es/c/40ad7ebff\">§</a> <a href=\"https://postgr.es/c/72b51e214\">§</a></p>", "text": "修复对推测插入进行逻辑解码时的错误情况和内存泄漏（Dilip Kumar）§ §", "title": "修复对推测插入进行逻辑解码时的错误情况和内存泄漏", "commits": ["40ad7ebff", "72b51e214"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "dcd8e85aaf62c3a87b717cb676f0ad36a0312b4b92f7e78a3c0b46415c23f1fd", "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": ["40ad7ebff", "72b51e214"], "source_entry_id": "12.8/changes/036", "db_id": "22469e038ca4b5f4d5326684206ea456", "patch_ids": ["39b6e4a4c8ad3c2051bad82f5e017694", "72ee0416c2a3da46c68780831654663f"], "statement_hash": "e364cd93900b7fe215c3f035a953ba58c2f7f3e2fa98c59f584d04e6e2ceca46", "relations": [{"rule": 2, "type": "equivalent", "target": "66c321f6f5faf54fb76f5b7ea6b0b566", "evidence": {"same_day": true, "patch_ids": ["39b6e4a4c8ad3c2051bad82f5e017694", "72ee0416c2a3da46c68780831654663f"], "statement_hash": "e364cd93900b7fe215c3f035a953ba58c2f7f3e2fa98c59f584d04e6e2ceca46"}}, {"rule": 2, "type": "equivalent", "target": "7b154a3c3b0919ac37b7a24be597587f", "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": "12.8", "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": "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"}, {"db_id": "7b154a3c3b0919ac37b7a24be597587f", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "修复推测插入的逻辑解码中的错误情况和内存泄漏", "evidence": {"same_day": true, "patch_ids": ["39b6e4a4c8ad3c2051bad82f5e017694", "72ee0416c2a3da46c68780831654663f"], "statement_hash": "e364cd93900b7fe215c3f035a953ba58c2f7f3e2fa98c59f584d04e6e2ceca46"}, "url": "/docs/compare/?release=9.6.23#9.6.23-15f22dcf1147223b", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-30e2bc329852a77d", "cves": [], "html": "<p>避免出错后留下无效的记录类型 hash 表条目（Sait Talha Nisanci）<a href=\"https://postgr.es/c/5b1621d2f\">§</a></p>\n<p>这可能导致后续崩溃或内存泄漏。</p>", "text": "避免出错后留下无效的记录类型 hash 表条目（Sait Talha Nisanci）§ 这可能导致后续崩溃或内存泄漏。", "title": "避免出错后留下无效的记录类型 hash 表条目", "commits": ["5b1621d2f"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "a74989219c662dcb7a9129009bb369033638044eea3ad1825f29fa62583232ad", "section_path": ["变更"], "commit_groups": [["10a07973c", "52c168db9", "5b1621d2f", "dd0e37cc1", "edd9a2bf7"]], "identity_text": "Avoid leaving an invalid record-type hash table entry behind after an error (Sait Talha Nisanci) This could lead to later crashes or memory leakage.", "commit_aliases": ["10a07973c", "52c168db9", "5b1621d2f", "dd0e37cc1", "edd9a2bf7"], "source_commits": ["5b1621d2f"], "source_entry_id": "12.8/changes/037", "db_id": "441ca16c58dd58f28bd969a4dd1bf03c", "patch_ids": ["721d6d4bccbcc05eb16a98c796bc3311"], "statement_hash": "98f7cc1e42e526aea054fec3bce71cb57bf05f4aa049ed9286d4269e84f3f284", "relations": [{"rule": 2, "type": "equivalent", "target": "09c2d19e05f97ce0d900653e7125c76c", "evidence": {"same_day": true, "patch_ids": ["721d6d4bccbcc05eb16a98c796bc3311"], "statement_hash": "98f7cc1e42e526aea054fec3bce71cb57bf05f4aa049ed9286d4269e84f3f284"}}, {"rule": 2, "type": "equivalent", "target": "ee1edf65a3104932a21e385508718f67", "evidence": {"same_day": true, "patch_ids": ["721d6d4bccbcc05eb16a98c796bc3311"], "statement_hash": "98f7cc1e42e526aea054fec3bce71cb57bf05f4aa049ed9286d4269e84f3f284"}}], "version": "12.8", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "09c2d19e05f97ce0d900653e7125c76c", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "避免出错后留下无效的记录类型 hash 表条目", "evidence": {"same_day": true, "patch_ids": ["721d6d4bccbcc05eb16a98c796bc3311"], "statement_hash": "98f7cc1e42e526aea054fec3bce71cb57bf05f4aa049ed9286d4269e84f3f284"}, "url": "/docs/compare/?release=13.4#13.4-a565ece44c3d256a", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "ee1edf65a3104932a21e385508718f67", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "避免出错后留下无效的记录类型 hash 表条目", "evidence": {"same_day": true, "patch_ids": ["721d6d4bccbcc05eb16a98c796bc3311"], "statement_hash": "98f7cc1e42e526aea054fec3bce71cb57bf05f4aa049ed9286d4269e84f3f284"}, "url": "/docs/compare/?release=11.13#11.13-09f0834af53f637b", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}]}, {"id": "12.8-a5c781c23f251d20", "cves": [], "html": "<p>修复 <code>CREATE TABLE ... AS EXECUTE</code> 在某些错误情况下的计划缓存引用泄漏（Tom Lane）<a href=\"https://postgr.es/c/17d962cca\">§</a></p>", "text": "修复 CREATE TABLE ... AS EXECUTE 在某些错误情况下的计划缓存引用泄漏（Tom Lane）§", "title": "修复 CREATE TABLE ... AS EXECUTE 在某些错误情况下的计划缓存引用泄漏", "commits": ["17d962cca"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "d3fad51b8e207281a32aa7058927b673825ccee5ba011366d07acfe6ade08b3d", "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": ["17d962cca"], "source_entry_id": "12.8/changes/038", "db_id": "619d3bdcafefd4fe2eb7670d84937426", "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": "2ad813b50b5ed7ff5051941784681971", "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": "ed8fba5ef224d016f86419eb7e14359e", "evidence": {"same_day": true, "patch_ids": ["6f0a3daaeb3b544ddeb4978d8976610b"], "statement_hash": "e32291faa88854db8cc2ad827e4ae69ccef40b064845194c4700c039c301f2cc"}}], "version": "12.8", "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": "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"}, {"db_id": "2ad813b50b5ed7ff5051941784681971", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "修复 CREATE TABLE ... AS EXECUTE 某些错误情况下的计划缓存引用泄漏", "evidence": {"same_day": true, "patch_ids": ["6f0a3daaeb3b544ddeb4978d8976610b"], "statement_hash": "e32291faa88854db8cc2ad827e4ae69ccef40b064845194c4700c039c301f2cc"}, "url": "/docs/compare/?release=9.6.23#9.6.23-8f1f52ad9d4c259f", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-53cae3c0e400656e", "cves": [], "html": "<p>修复在并行工作进程之间共享元组描述符的代码中的竞争条件（Thomas Munro）<a href=\"https://postgr.es/c/82248f227\">§</a></p>\n<p>在特定时序下，可能发生崩溃。</p>", "text": "修复在并行工作进程之间共享元组描述符的代码中的竞争条件（Thomas Munro）§ 在特定时序下，可能发生崩溃。", "title": "修复在并行工作进程之间共享元组描述符的代码中的竞争条件", "commits": ["82248f227"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "c843b6078b7534c645d0d104a723d02d9896a83018081159817c6c11916d8447", "section_path": ["变更"], "commit_groups": [["82248f227", "a15d84470", "b1d653890", "d41fda6aa"]], "identity_text": "Fix race condition in code for sharing tuple descriptors across parallel workers (Thomas Munro) Given the right timing, a crash could result.", "commit_aliases": ["82248f227", "a15d84470", "b1d653890", "d41fda6aa"], "source_commits": ["82248f227"], "source_entry_id": "12.8/changes/039", "db_id": "9a98b7a1481878e2c0403d76ffb53bcf", "patch_ids": ["c62846dfa01e8d8630ae99d3418b7b92"], "statement_hash": "2f1b53719174b922141e0264e6ca5c6a607521625fdff9a3f72e242ec38558ba", "relations": [{"rule": 2, "type": "equivalent", "target": "476eb8b709ed0ac0193f5a46710894f9", "evidence": {"same_day": true, "patch_ids": ["c62846dfa01e8d8630ae99d3418b7b92"], "statement_hash": "2f1b53719174b922141e0264e6ca5c6a607521625fdff9a3f72e242ec38558ba"}}, {"rule": 2, "type": "equivalent", "target": "b88bac1316f3592a5f4892e7c77be753", "evidence": {"same_day": true, "patch_ids": ["c62846dfa01e8d8630ae99d3418b7b92"], "statement_hash": "2f1b53719174b922141e0264e6ca5c6a607521625fdff9a3f72e242ec38558ba"}}], "version": "12.8", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "b88bac1316f3592a5f4892e7c77be753", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "修复在并行工作进程之间共享元组描述符的代码中的竞争条件", "evidence": {"same_day": true, "patch_ids": ["c62846dfa01e8d8630ae99d3418b7b92"], "statement_hash": "2f1b53719174b922141e0264e6ca5c6a607521625fdff9a3f72e242ec38558ba"}, "url": "/docs/compare/?release=13.4#13.4-486ecbd8984c7477", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "476eb8b709ed0ac0193f5a46710894f9", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "修复在并行工作进程之间共享元组描述符的代码中的竞争条件", "evidence": {"same_day": true, "patch_ids": ["c62846dfa01e8d8630ae99d3418b7b92"], "statement_hash": "2f1b53719174b922141e0264e6ca5c6a607521625fdff9a3f72e242ec38558ba"}, "url": "/docs/compare/?release=11.13#11.13-713eac2d66735dc2", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}]}, {"id": "12.8-a5d0f8fd221b9c33", "cves": [], "html": "<p>修复释放 BackgroundWorkerSlots 时可能出现的竞争条件（Tom Lane）<a href=\"https://postgr.es/c/6bcb51968\">§</a></p>\n<p>这可能不会修复 Intel 硬件上任何可观察到的缺陷，但内存排序规则较弱的机器可能存在问题。</p>", "text": "修复释放 BackgroundWorkerSlots 时可能出现的竞争条件（Tom Lane）§ 这可能不会修复 Intel 硬件上任何可观察到的缺陷，但内存排序规则较弱的机器可能存在问题。", "title": "修复释放 BackgroundWorkerSlots 时可能出现的竞争条件", "commits": ["6bcb51968"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "644311e1f820caaa173a6c58107c442c57303465a2bb6cee1af68677f8199698", "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": ["6bcb51968"], "source_entry_id": "12.8/changes/040", "db_id": "903ad927b9f427b25a206b41d2a91cdc", "patch_ids": ["085b8ddcb0abab7397a6e851375a74cf"], "statement_hash": "a86740f2fcadc48506f118b665a49651801f210260a157d67fda1e52e6bcde7b", "relations": [{"rule": 2, "type": "equivalent", "target": "5e317a212b60fb5bf6d470d68fdb1be5", "evidence": {"same_day": true, "patch_ids": ["085b8ddcb0abab7397a6e851375a74cf"], "statement_hash": "a86740f2fcadc48506f118b665a49651801f210260a157d67fda1e52e6bcde7b"}}, {"rule": 2, "type": "equivalent", "target": "60be1e3c760567781504f29248f63a29", "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": "12.8", "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": "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"}, {"db_id": "5e317a212b60fb5bf6d470d68fdb1be5", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "修复释放 BackgroundWorkerSlots 时可能的竞态条件", "evidence": {"same_day": true, "patch_ids": ["085b8ddcb0abab7397a6e851375a74cf"], "statement_hash": "a86740f2fcadc48506f118b665a49651801f210260a157d67fda1e52e6bcde7b"}, "url": "/docs/compare/?release=9.6.23#9.6.23-8d102dc4b32955ba", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-d7f39dc147d96ddd", "cves": [], "html": "<p>修复排序代码中潜在的崩溃（Ronan Dunklau）<a href=\"https://postgr.es/c/6f1c7a2d0\">§</a> <a href=\"https://postgr.es/c/645c5d119\">§</a></p>\n<p>某个代码路径可能尝试释放空指针。在核心服务器使用排序的方式中，这种情况似乎无法触发，但扩展或许能够触发。</p>", "text": "修复排序代码中潜在的崩溃（Ronan Dunklau）§ § 某个代码路径可能尝试释放空指针。在核心服务器使用排序的方式中，这种情况似乎无法触发，但扩展或许能够触发。", "title": "修复排序代码中潜在的崩溃", "commits": ["645c5d119", "6f1c7a2d0"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "4c832a517d416f866f79b0d5c7dd4bae62f222dbed59eb5379d177cc1d2c00ce", "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": ["645c5d119", "6f1c7a2d0"], "source_entry_id": "12.8/changes/041", "db_id": "0cbe8a95578a2f998905e874eb0c59a5", "patch_ids": ["b68c173e5b199e28ef5ffe5775abb414", "cfa45fac6dae2f138e4eb8461e818824"], "statement_hash": "a92210e1054a7987e54ec3d02489268c6705114cf60240abe2cae416e7cfdcde", "relations": [{"rule": 2, "type": "equivalent", "target": "03d256a718a90cd34abd4c6c50c5f133", "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": "12.8", "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": "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"}, {"db_id": "03d256a718a90cd34abd4c6c50c5f133", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "修复排序代码中的潜在崩溃", "evidence": {"same_day": true, "patch_ids": ["b68c173e5b199e28ef5ffe5775abb414", "cfa45fac6dae2f138e4eb8461e818824"], "statement_hash": "a92210e1054a7987e54ec3d02489268c6705114cf60240abe2cae416e7cfdcde"}, "url": "/docs/compare/?release=9.6.23#9.6.23-48def526c1ecc594", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-b87bf0ac2759dad2", "cves": [], "html": "<p>防止 SP-GiST 索引插入中的无限循环（Tom Lane）<a href=\"https://postgr.es/c/4e046281f\">§</a></p>\n<p>如果 INCLUDE 列占用的空间很大，使叶子索引元组无论如何都无法放入一页，text_ops 操作符类就会陷入无限循环，徒劳地尝试让该元组放得下。虽然 v11 之前的版本没有 INCLUDE 列，仍将这一防止循环的修复反向移植到这些版本，因为它似乎能有效防范操作符类中的缺陷。</p>", "text": "防止 SP-GiST 索引插入中的无限循环（Tom Lane）§ 如果 INCLUDE 列占用的空间很大，使叶子索引元组无论如何都无法放入一页，text_ops 操作符类就会陷入无限循环，徒劳地尝试让该元组放得下。虽然 v11 之前的版本没有 INCLUDE 列，仍将这一防止循环的修复反向移植到这些版本，因为它似乎能有效防范操作符类中的缺陷。", "title": "防止 SP-GiST 索引插入中的无限循环", "commits": ["4e046281f"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "bfec81449bc60fb6885224084b8d375e70b3ddef65faf6215061c8f6f760442e", "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": ["4e046281f"], "source_entry_id": "12.8/changes/042", "db_id": "ad38addca5dfa5fc64fb130be66bc1b5", "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": "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"}}, {"rule": 2, "type": "equivalent", "target": "dd99fdd6d93814cb95978e7230fb8cbb", "evidence": {"same_day": true, "patch_ids": ["e9c53b525f0ad317af5af5ed68703cf1"], "statement_hash": "350c8715ac0cc00857fde6b55c1c30a68a7a7630d967925f0b1872862a290efb"}}], "version": "12.8", "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": "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"}, {"db_id": "dd99fdd6d93814cb95978e7230fb8cbb", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "防止 SP-GiST 索引插入中的无限循环", "evidence": {"same_day": true, "patch_ids": ["e9c53b525f0ad317af5af5ed68703cf1"], "statement_hash": "350c8715ac0cc00857fde6b55c1c30a68a7a7630d967925f0b1872862a290efb"}, "url": "/docs/compare/?release=9.6.23#9.6.23-70262b30106c6663", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-30a3685eb0f10764", "cves": [], "html": "<p>确保 SP-GiST 索引插入可以被查询取消请求终止（Tom Lane，Álvaro Herrera）<a href=\"https://postgr.es/c/004288d3c\">§</a> <a href=\"https://postgr.es/c/4c646b179\">§</a></p>", "text": "确保 SP-GiST 索引插入可以被查询取消请求终止（Tom Lane，Álvaro Herrera）§ §", "title": "确保 SP-GiST 索引插入可以被查询取消请求终止", "commits": ["004288d3c", "4c646b179"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "52ed67a83c3f59bfc8b7cdf3b867d5e127a0ef7ec11d5d3dc216e8680b684eba", "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": ["004288d3c", "4c646b179"], "source_entry_id": "12.8/changes/043", "db_id": "2658fff0e9f46595bdd91fdc3838223a", "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": "a9039556ba47ca94e6cee5eb37316af0", "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": "12.8", "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": "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"}, {"db_id": "a9039556ba47ca94e6cee5eb37316af0", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "确保 SP-GiST 索引插入可以被查询取消请求终止", "evidence": {"same_day": true, "patch_ids": ["60ef5600566bf3e5c2f68ae0dfb7d418", "a249576ba115c4fa276cb8904b3efcd3"], "statement_hash": "68d7cce5231999763ab54c0150959b7b518aa71391b500c7fb135090fbb840bf"}, "url": "/docs/compare/?release=9.6.23#9.6.23-c3f366339e58e883", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-6cbf942f11b4ea99", "cves": [], "html": "<p>修复未初始化变量的缺陷，该缺陷可能使 <span>PL/pgSQL</span> 表现得像 <code>INTO</code> 子句指定了 <code>STRICT</code>，即使实际并未指定（Tom Lane）<a href=\"https://postgr.es/c/85189f54a\">§</a></p>", "text": "修复未初始化变量的缺陷，该缺陷可能使 PL/pgSQL 表现得像 INTO 子句指定了 STRICT，即使实际并未指定（Tom Lane）§", "title": "修复未初始化变量的缺陷，该缺陷可能使 PL/pgSQL 表现得像 INTO 子句指定了 STRICT，即使实际并未指定", "commits": ["85189f54a"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "16e13d6ce5b7448c4468944017ace6ee678f734cf437cbd400a1be59cce11d9f", "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": ["85189f54a"], "source_entry_id": "12.8/changes/044", "db_id": "eb5339b4a9c8ed9ca5fdf4c0191fdd2f", "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": "260fc4590d6ca80c827cfc87341594c5", "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": "f1dbf32315529728b6d7add39df76ea0", "evidence": {"same_day": true, "patch_ids": ["4dbce83611281f5a594d62f70a162d46"], "statement_hash": "1ff72c0749f873fdb8160cffd82e6020a15c6ee4977cc4e24ac6a4924ca59f6c"}}], "version": "12.8", "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": "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"}, {"db_id": "260fc4590d6ca80c827cfc87341594c5", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "修复可能导致 PL/pgSQL 把未指定 STRICT 的 INTO 子句当作指定了的未初始化变量 bug", "evidence": {"same_day": true, "patch_ids": ["4dbce83611281f5a594d62f70a162d46"], "statement_hash": "1ff72c0749f873fdb8160cffd82e6020a15c6ee4977cc4e24ac6a4924ca59f6c"}, "url": "/docs/compare/?release=9.6.23#9.6.23-0f1d0f06e4b2c56f", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-48100c3ea7b904ab", "cves": [], "html": "<p>不要因 libpq 打印函数中的内存不足而中止进程（Tom Lane）<a href=\"https://postgr.es/c/240d56fc4\">§</a></p>", "text": "不要因 libpq 打印函数中的内存不足而中止进程（Tom Lane）§", "title": "不要因 libpq 打印函数中的内存不足而中止进程", "commits": ["240d56fc4"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "9fc5e1ca1e3070273f4d63e6f9d143367c81731625b5a1ab6501145e049f0c52", "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": ["240d56fc4"], "source_entry_id": "12.8/changes/045", "db_id": "e37949475727735828fe77538d712cf9", "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": "e0cc952cfb8f2465138a45467d8daf9c", "evidence": {"same_day": true, "patch_ids": ["72d2c94c09f77d4b07ff593f12323001"], "statement_hash": "e8b9bf8d21949f3c06e5c30da98a20ae03225c8489bfce1699bfa037d75255ac"}}], "version": "12.8", "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": "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"}, {"db_id": "e0cc952cfb8f2465138a45467d8daf9c", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "libpq 的打印函数中发生内存不足失败时不再中止进程", "evidence": {"same_day": true, "patch_ids": ["72d2c94c09f77d4b07ff593f12323001"], "statement_hash": "e8b9bf8d21949f3c06e5c30da98a20ae03225c8489bfce1699bfa037d75255ac"}, "url": "/docs/compare/?release=9.6.23#9.6.23-a7b7709ac278dd8c", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-1f2634d66f4df34e", "cves": [], "html": "<p>在 <span>ecpg</span> 中，允许将 <code>numeric</code> 值 <span>INT_MIN</span>（通常为 -2147483648）转换为整数（John Naylor）<a href=\"https://postgr.es/c/d9589eb62\">§</a></p>", "text": "在 ecpg 中，允许将 numeric 值 INT_MIN（通常为 -2147483648）转换为整数（John Naylor）§", "title": "在 ecpg 中，允许将 numeric 值 INT_MIN（通常为 -2147483648）转换为整数", "commits": ["d9589eb62"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "c95a6560ce9e48cdfad035fd68f1f852eb037444213b624d8744560673a62df2", "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": ["9455e7f50", "d9589eb62"], "source_entry_id": "12.8/changes/046", "db_id": "6293719df77db468599acd839909b711", "patch_ids": ["25eee0232ee3af45d8bc352b0c2e9025", "bf65d0066f1a9ebd1b6fa2e646bed202"], "statement_hash": "f9666cc8c5daf28089690a6269cbd2ce3f513cdbb962f0b4e943800500d0b777", "relations": [{"rule": 2, "type": "equivalent", "target": "22c6c1b13a2e9a4a54ea93c903d2ff4b", "evidence": {"same_day": true, "patch_ids": ["25eee0232ee3af45d8bc352b0c2e9025", "bf65d0066f1a9ebd1b6fa2e646bed202"], "statement_hash": "f9666cc8c5daf28089690a6269cbd2ce3f513cdbb962f0b4e943800500d0b777"}}, {"rule": 2, "type": "equivalent", "target": "44248ea7f1d94599c4a2d17f5c9405fb", "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": "12.8", "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": "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"}, {"db_id": "22c6c1b13a2e9a4a54ea93c903d2ff4b", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "在 ecpg 中，允许把 numeric 值 INT_MIN（通常为 -2147483648）转换为整数", "evidence": {"same_day": true, "patch_ids": ["25eee0232ee3af45d8bc352b0c2e9025", "bf65d0066f1a9ebd1b6fa2e646bed202"], "statement_hash": "f9666cc8c5daf28089690a6269cbd2ce3f513cdbb962f0b4e943800500d0b777"}, "url": "/docs/compare/?release=9.6.23#9.6.23-98ae1f97affe55bd", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-9734c4cf0ecf04d6", "cves": ["CVE-2006-2313"], "html": "<p>在 <span>psql</span> 和其他客户端程序中，避免处理编码无效的数据时越过字符串末尾（Tom Lane）<a href=\"https://postgr.es/c/fc896f45d\">§</a></p>\n<p>字符串末尾附近编码不正确的多字节字符，可能导致各种处理循环越过字符串末尾的 NUL。根据随后内存中的内容，其后果可能从没有可检测的问题到程序崩溃不等。这与 CVE-2006-2313 相似，不过这些具体情况似乎不会造成值得关注的安全后果。</p>", "text": "在 psql 和其他客户端程序中，避免处理编码无效的数据时越过字符串末尾（Tom Lane）§ 字符串末尾附近编码不正确的多字节字符，可能导致各种处理循环越过字符串末尾的 NUL。根据随后内存中的内容，其后果可能从没有可检测的问题到程序崩溃不等。这与 CVE-2006-2313 相似，不过这些具体情况似乎不会造成值得关注的安全后果。", "title": "在 psql 和其他客户端程序中，避免处理编码无效的数据时越过字符串末尾", "commits": ["fc896f45d"], "section": "变更", "category": "security", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "28b175cc57b7e666b3626b671b02a45f2d594db2df77800da48e6848aff72baf", "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": ["0b116346b", "fc896f45d"], "source_entry_id": "12.8/changes/047", "db_id": "150656e8f9c43547c8e2e3d7ac85c1f6", "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": "1f3098f84976e8e62a7ebe6f20c6a1ca", "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": "12.8", "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": "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"}, {"db_id": "1f3098f84976e8e62a7ebe6f20c6a1ca", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "在 psql 及其他客户端程序中，处理非法编码数据时避免越过字符串末尾", "evidence": {"same_day": true, "patch_ids": ["0edf8dabb3adb26aedf9b95746f7f96c", "8818f12d81a64689aec8c658ac293100"], "statement_hash": "36f9c2a9058d99b21ae2e8ee84bcbf117dd8e892c024db2aa2e1ae5951a34a28"}, "url": "/docs/compare/?release=9.6.23#9.6.23-9c62820c73bddaa7", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-1e8983cfa2a05018", "cves": [], "html": "<p>修复 <span>pg_dump</span>，使其正确处理分区表上启用状态与父触发器不同的触发器（Justin Pryzby，Álvaro Herrera）<a href=\"https://postgr.es/c/5992c94dc\">§</a></p>", "text": "修复 pg_dump，使其正确处理分区表上启用状态与父触发器不同的触发器（Justin Pryzby，Álvaro Herrera）§", "title": "修复 pg_dump，使其正确处理分区表上启用状态与父触发器不同的触发器", "commits": ["5992c94dc"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "1c2ba807298df9071e53852aa0051a7fd55fbb9d1647bca0df7895196a58075c", "section_path": ["变更"], "commit_groups": [["3c5b7c628", "5992c94dc", "cc340af33", "ccfc3cbb3", "f0e21f2f6"]], "identity_text": "Fix pg_dump to correctly handle triggers on partitioned tables whose enabled status is different from their parent triggers' status (Justin Pryzby, Álvaro Herrera)", "commit_aliases": ["3c5b7c628", "5992c94dc", "cc340af33", "ccfc3cbb3", "f0e21f2f6"], "source_commits": ["5992c94dc"], "source_entry_id": "12.8/changes/048", "db_id": "e317deda8a71712655122317dd3bbc1f", "patch_ids": ["c67825c44dc4837d0f8b85e63fab0067"], "statement_hash": "6ab1f6f1a35265fb3b733fd9d0a3cd09db0f67a64c8af3b09623c67f096e3406", "relations": [{"rule": 2, "type": "equivalent", "target": "464954739db19a21f58082d3cb1de9a8", "evidence": {"same_day": true, "patch_ids": ["c67825c44dc4837d0f8b85e63fab0067"], "statement_hash": "6ab1f6f1a35265fb3b733fd9d0a3cd09db0f67a64c8af3b09623c67f096e3406"}}, {"rule": 2, "type": "equivalent", "target": "ac2bad28d9d113156076dc4739c97792", "evidence": {"same_day": true, "patch_ids": ["c67825c44dc4837d0f8b85e63fab0067"], "statement_hash": "6ab1f6f1a35265fb3b733fd9d0a3cd09db0f67a64c8af3b09623c67f096e3406"}}], "version": "12.8", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "464954739db19a21f58082d3cb1de9a8", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "修复 pg_dump，使其正确处理分区表上启用状态与父触发器不同的触发器", "evidence": {"same_day": true, "patch_ids": ["c67825c44dc4837d0f8b85e63fab0067"], "statement_hash": "6ab1f6f1a35265fb3b733fd9d0a3cd09db0f67a64c8af3b09623c67f096e3406"}, "url": "/docs/compare/?release=13.4#13.4-2d21269f50ac173c", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "ac2bad28d9d113156076dc4739c97792", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "修复 pg_dump，使其正确处理分区表上启用状态与父触发器不同的触发器", "evidence": {"same_day": true, "patch_ids": ["c67825c44dc4837d0f8b85e63fab0067"], "statement_hash": "6ab1f6f1a35265fb3b733fd9d0a3cd09db0f67a64c8af3b09623c67f096e3406"}, "url": "/docs/compare/?release=11.13#11.13-b99dea93f258d113", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}]}, {"id": "12.8-319fd4e4e6b4bb99", "cves": [], "html": "<p>避免对不同时区创建的归档文件运行 <span>pg_restore</span> 时出现 <span>“<span>invalid creation date in header</span>”</span> 警告（Tom Lane）<a href=\"https://postgr.es/c/b7c5823ac\">§</a></p>", "text": "避免对不同时区创建的归档文件运行 pg_restore 时出现 “invalid creation date in header” 警告（Tom Lane）§", "title": "避免对不同时区创建的归档文件运行 pg_restore 时出现 “invalid creation date in header” 警告", "commits": ["b7c5823ac"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "1221bbfbd8ac67f8d6e08ef92853c6058f3cc9de6f1a90e071c222e7d38afaf2", "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": ["b7c5823ac"], "source_entry_id": "12.8/changes/049", "db_id": "5c1a3f3425ca9d6c31347263c67f890b", "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": "5d9da783d785d28acc714de8938ff454", "evidence": {"same_day": true, "patch_ids": ["052a3068466cb3db87063a6bd09773c2"], "statement_hash": "32bce0e540617dd9ab55aed3adf58b8f15ad170e587755fe3a8d662e3d6e6490"}}, {"rule": 2, "type": "equivalent", "target": "c7d940cade53c55330036da4b5fbc2ae", "evidence": {"same_day": true, "patch_ids": ["052a3068466cb3db87063a6bd09773c2"], "statement_hash": "32bce0e540617dd9ab55aed3adf58b8f15ad170e587755fe3a8d662e3d6e6490"}}], "version": "12.8", "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": "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"}, {"db_id": "c7d940cade53c55330036da4b5fbc2ae", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "避免在不同时区创建的归档文件上运行 pg_restore 时出现的 “invalid creation date in header” 警告", "evidence": {"same_day": true, "patch_ids": ["052a3068466cb3db87063a6bd09773c2"], "statement_hash": "32bce0e540617dd9ab55aed3adf58b8f15ad170e587755fe3a8d662e3d6e6490"}, "url": "/docs/compare/?release=9.6.23#9.6.23-9115779d07a77822", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-cf61e9a048aaf1aa", "cves": [], "html": "<p>使 <span>pg_upgrade</span> 沿用旧安装实例的 <code>oldestXID</code> 值（Bertrand Drouvot）<a href=\"https://postgr.es/c/7626e9f2b\">§</a></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": ["7626e9f2b"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "9ccd7cb3ca001915ce9cbfda3601c574279458de9a68a99682b2c8cf506be2c1", "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": ["7626e9f2b"], "source_entry_id": "12.8/changes/050", "db_id": "2b19317301e5c7a35118dcb65442b079", "patch_ids": ["a129a192323f0e8ed4cbf3a14f849a1b"], "statement_hash": "f3a8965969bc48dc7afd6e9adf63ba5bb23fa816dfa8e8df92a1ba8ed9a1aec9", "relations": [{"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": "e2140b236b82722ca231ed991abcbd1c", "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": "12.8", "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": "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"}, {"db_id": "e2140b236b82722ca231ed991abcbd1c", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "让 pg_upgrade 保留旧安装的 oldestXID 值", "evidence": {"same_day": true, "patch_ids": ["a129a192323f0e8ed4cbf3a14f849a1b"], "statement_hash": "f3a8965969bc48dc7afd6e9adf63ba5bb23fa816dfa8e8df92a1ba8ed9a1aec9"}, "url": "/docs/compare/?release=9.6.23#9.6.23-02450571799ef685", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-b7d07b3f1aebc04d", "cves": [], "html": "<p>扩展 <span>pg_upgrade</span>，使其检测应升级的扩展并发出警告（Bruce Momjian）<a href=\"https://postgr.es/c/49e319cea\">§</a> <a href=\"https://postgr.es/c/165506217\">§</a></p>\n<p>现在会生成一个脚本文件，其中包含将扩展升级到新安装实例中默认版本所需的 <code>ALTER EXTENSION UPDATE</code> 命令。</p>", "text": "扩展 pg_upgrade，使其检测应升级的扩展并发出警告（Bruce Momjian）§ § 现在会生成一个脚本文件，其中包含将扩展升级到新安装实例中默认版本所需的 ALTER EXTENSION UPDATE 命令。", "title": "扩展 pg_upgrade，使其检测应升级的扩展并发出警告", "commits": ["165506217", "49e319cea"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "56016c07f88cc168a69238ad95c2c82999eefd934aad71312bc5ac065b56d1f5", "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": ["165506217", "49e319cea"], "source_entry_id": "12.8/changes/051", "db_id": "d2e585e8a45531fa24df5ad5ec426920", "patch_ids": ["20c9ed989c6f822d14ee3bada264c6fb", "715b8bcde2edb48fcaacd05bd9d6f521"], "statement_hash": "93b27ae3b88b2a61ea587b8b1483eff9989644c90306674b99447d84b4fec1fd", "relations": [{"rule": 2, "type": "equivalent", "target": "0dd9ce7b9c872f3c0eda2b3722cb810b", "evidence": {"same_day": true, "patch_ids": ["20c9ed989c6f822d14ee3bada264c6fb", "715b8bcde2edb48fcaacd05bd9d6f521"], "statement_hash": "93b27ae3b88b2a61ea587b8b1483eff9989644c90306674b99447d84b4fec1fd"}}, {"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"}}], "version": "12.8", "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": "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"}, {"db_id": "0dd9ce7b9c872f3c0eda2b3722cb810b", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "扩展 pg_upgrade 以检测并警告应升级的扩展", "evidence": {"same_day": true, "patch_ids": ["20c9ed989c6f822d14ee3bada264c6fb", "715b8bcde2edb48fcaacd05bd9d6f521"], "statement_hash": "93b27ae3b88b2a61ea587b8b1483eff9989644c90306674b99447d84b4fec1fd"}, "url": "/docs/compare/?release=9.6.23#9.6.23-2c42862a0832845d", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-bc3d1208b9aed83e", "cves": [], "html": "<p>避免 <span>pg_receivewal</span> 在压缩与非压缩 WAL 存储之间切换时出现问题（Michael Paquier）<a href=\"https://postgr.es/c/b9a0de15e\">§</a> <a href=\"https://postgr.es/c/c4ef3b81b\">§</a></p>", "text": "避免 pg_receivewal 在压缩与非压缩 WAL 存储之间切换时出现问题（Michael Paquier）§ §", "title": "避免 pg_receivewal 在压缩与非压缩 WAL 存储之间切换时出现问题", "commits": ["b9a0de15e", "c4ef3b81b"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "4e9454d41ca6ae329bbd86443feed8122673d26ea3322d48df66f70111345b76", "section_path": ["变更"], "commit_groups": [["11dbad74c", "3a0d2d0cb", "795a9166e", "7fbe0c8c4", "b9a0de15e", "fb2b86015"], ["2c7395aad", "4372f0685", "4ef64c425", "9c6fa3403", "b0d286719", "c4ef3b81b"]], "identity_text": "Avoid problems when switching pg_receivewal between compressed and non-compressed WAL storage (Michael Paquier)", "commit_aliases": ["11dbad74c", "2c7395aad", "3a0d2d0cb", "4372f0685", "4ef64c425", "795a9166e", "7fbe0c8c4", "9c6fa3403", "b0d286719", "b9a0de15e", "c4ef3b81b", "fb2b86015"], "source_commits": ["b9a0de15e", "c4ef3b81b"], "source_entry_id": "12.8/changes/052", "db_id": "25b838cb6795c32097b441f70229d75d", "patch_ids": ["2c14fa0523b207ad2e2a88006e0ba23f", "51f1794f8e6d111c4c1e0db8bcc24244"], "statement_hash": "f6ec8dfb6cf195a8adc499130bba519e47a713b60f9a433a19645892a3a10109", "relations": [{"rule": 2, "type": "equivalent", "target": "4fc867617ddbbd67ca8c50d32b63f9f8", "evidence": {"same_day": true, "patch_ids": ["2c14fa0523b207ad2e2a88006e0ba23f", "51f1794f8e6d111c4c1e0db8bcc24244"], "statement_hash": "f6ec8dfb6cf195a8adc499130bba519e47a713b60f9a433a19645892a3a10109"}}, {"rule": 2, "type": "equivalent", "target": "7779938ed5ae41ca93ffcb235c24c280", "evidence": {"same_day": true, "patch_ids": ["2c14fa0523b207ad2e2a88006e0ba23f", "51f1794f8e6d111c4c1e0db8bcc24244"], "statement_hash": "f6ec8dfb6cf195a8adc499130bba519e47a713b60f9a433a19645892a3a10109"}}, {"rule": 2, "type": "equivalent", "target": "da96d0c52d637d4dfc67d5cc0f6e2207", "evidence": {"same_day": true, "patch_ids": ["2c14fa0523b207ad2e2a88006e0ba23f", "51f1794f8e6d111c4c1e0db8bcc24244"], "statement_hash": "f6ec8dfb6cf195a8adc499130bba519e47a713b60f9a433a19645892a3a10109"}}], "version": "12.8", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "7779938ed5ae41ca93ffcb235c24c280", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "避免 pg_receivewal 在压缩与非压缩 WAL 存储之间切换时出现问题", "evidence": {"same_day": true, "patch_ids": ["2c14fa0523b207ad2e2a88006e0ba23f", "51f1794f8e6d111c4c1e0db8bcc24244"], "statement_hash": "f6ec8dfb6cf195a8adc499130bba519e47a713b60f9a433a19645892a3a10109"}, "url": "/docs/compare/?release=13.4#13.4-924bc799ad3f7e57", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "4fc867617ddbbd67ca8c50d32b63f9f8", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "避免 pg_receivewal 在压缩与非压缩 WAL 存储之间切换时出现问题", "evidence": {"same_day": true, "patch_ids": ["2c14fa0523b207ad2e2a88006e0ba23f", "51f1794f8e6d111c4c1e0db8bcc24244"], "statement_hash": "f6ec8dfb6cf195a8adc499130bba519e47a713b60f9a433a19645892a3a10109"}, "url": "/docs/compare/?release=11.13#11.13-a6d399082d05c396", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}, {"db_id": "da96d0c52d637d4dfc67d5cc0f6e2207", "kind": "equivalent", "version": "10.18", "label": "10.18", "title": "避免 pg_receivewal 在压缩与非压缩 WAL 存储之间切换时出现问题", "evidence": {"same_day": true, "patch_ids": ["2c14fa0523b207ad2e2a88006e0ba23f", "51f1794f8e6d111c4c1e0db8bcc24244"], "statement_hash": "f6ec8dfb6cf195a8adc499130bba519e47a713b60f9a433a19645892a3a10109"}, "url": "/docs/compare/?release=10.18#10.18-a6d399082d05c396", "source_url": "/docs/release/10.18/#id-1.11.6.10.5"}]}, {"id": "12.8-844979770cdcc80f", "cves": [], "html": "<p>修复 <code>contrib/postgres_fdw</code>，使其能够有效地处理生成列（Etsuro Fujita）<a href=\"https://postgr.es/c/bbc0cd8fa\">§</a></p>\n<p>只要外部表中的生成列对应远程表中的生成列，<code>postgres_fdw</code> 现在就能合理地处理生成列。<code>IMPORT FOREIGN SCHEMA</code> 现在默认会以这种方式导入生成列。</p>", "text": "修复 contrib/postgres_fdw，使其能够有效地处理生成列（Etsuro Fujita）§ 只要外部表中的生成列对应远程表中的生成列，postgres_fdw 现在就能合理地处理生成列。IMPORT FOREIGN SCHEMA 现在默认会以这种方式导入生成列。", "title": "修复 contrib/postgres_fdw，使其能够有效地处理生成列", "commits": ["bbc0cd8fa"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "2e8bbc22b3385423ecc96032615365ec2ac0e83633101eae27536fb8dafaaee6", "section_path": ["变更"], "commit_groups": [["388a81bf4", "588d3f597", "aa769f80e", "bbc0cd8fa"]], "identity_text": "Fix contrib/postgres_fdw to work usefully with generated columns (Etsuro Fujita) postgres_fdw will now behave reasonably with generated columns, so long as a generated column in a foreign table represents a generated column in the remote table. IMPORT FOREIGN SCHEMA will now import generated columns that way by default.", "commit_aliases": ["388a81bf4", "588d3f597", "aa769f80e", "bbc0cd8fa"], "source_commits": ["bbc0cd8fa"], "source_entry_id": "12.8/changes/053", "db_id": "ca9952180f3f6100a7fe50d5e282e5ea", "patch_ids": ["5b7a048159fe4cc2ebb5e8ead996f0b6"], "statement_hash": "a7fa94a81f9502d606e8e2c674117be8cc69094d5ee0c5b7eda9e1ddd98afb15", "relations": [{"rule": 2, "type": "equivalent", "target": "c439657575073eaa71b5995a73fe84a8", "evidence": {"same_day": true, "patch_ids": ["5b7a048159fe4cc2ebb5e8ead996f0b6"], "statement_hash": "a7fa94a81f9502d606e8e2c674117be8cc69094d5ee0c5b7eda9e1ddd98afb15"}}], "version": "12.8", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "c439657575073eaa71b5995a73fe84a8", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "修复 contrib/postgres_fdw，使其能够有效地处理生成列", "evidence": {"same_day": true, "patch_ids": ["5b7a048159fe4cc2ebb5e8ead996f0b6"], "statement_hash": "a7fa94a81f9502d606e8e2c674117be8cc69094d5ee0c5b7eda9e1ddd98afb15"}, "url": "/docs/compare/?release=13.4#13.4-8362c6c8030c810c", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}]}, {"id": "12.8-b19d139bff595b44", "cves": [], "html": "<p>在 <code>contrib/postgres_fdw</code> 中，避免发生错误后尝试查找系统目录（Tom Lane）<a href=\"https://postgr.es/c/bd2e68d0b\">§</a></p>\n<p>虽然这通常能正常工作，但并不十分安全，因为发生的错误可能已经使目录访问无法正常进行。这一修复的副作用是，关于数据转换错误的消息现在会提及查询中的表和列别名（如果使用了别名），而非底层外部表或列的真实名称。</p>", "text": "在 contrib/postgres_fdw 中，避免发生错误后尝试查找系统目录（Tom Lane）§ 虽然这通常能正常工作，但并不十分安全，因为发生的错误可能已经使目录访问无法正常进行。这一修复的副作用是，关于数据转换错误的消息现在会提及查询中的表和列别名（如果使用了别名），而非底层外部表或列的真实名称。", "title": "在 contrib/postgres_fdw 中，避免发生错误后尝试查找系统目录", "commits": ["bd2e68d0b"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "99aa7c482b04f7497fdb7fc8cad04de9fb6d1a3a4901e46a096051358a99ce1e", "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": ["bd2e68d0b"], "source_entry_id": "12.8/changes/054", "db_id": "36099d55ba0795230205ebb63753aa19", "patch_ids": ["58b022e8e9402aa35ee3055dfaab1aa4"], "statement_hash": "0dbd3472fd2868edaca1e75677ba6b9155012a52f097fb5d8f5b5aa7afc47fa6", "relations": [{"rule": 2, "type": "equivalent", "target": "555e22107b81a9e5565e2afb8db6b4cf", "evidence": {"same_day": true, "patch_ids": ["58b022e8e9402aa35ee3055dfaab1aa4"], "statement_hash": "0dbd3472fd2868edaca1e75677ba6b9155012a52f097fb5d8f5b5aa7afc47fa6"}}, {"rule": 2, "type": "equivalent", "target": "96f87e5492d568cd10b04474f6af9d25", "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": "12.8", "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": "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"}, {"db_id": "96f87e5492d568cd10b04474f6af9d25", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "在 contrib/postgres_fdw 中，避免出错后尝试目录查找", "evidence": {"same_day": true, "patch_ids": ["58b022e8e9402aa35ee3055dfaab1aa4"], "statement_hash": "0dbd3472fd2868edaca1e75677ba6b9155012a52f097fb5d8f5b5aa7afc47fa6"}, "url": "/docs/compare/?release=9.6.23#9.6.23-85169ecb397302b8", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-c8000b53af0ad446", "cves": [], "html": "<p>改进隔离测试基础设施（Tom Lane，Michael Paquier）<a href=\"https://postgr.es/c/f228c401b\">§</a> <a href=\"https://postgr.es/c/d7da3ef08\">§</a> <a href=\"https://postgr.es/c/35e6b3bbf\">§</a> <a href=\"https://postgr.es/c/7a48dfbb8\">§</a> <a href=\"https://postgr.es/c/96f3661e4\">§</a> <a href=\"https://postgr.es/c/a8f687927\">§</a> <a href=\"https://postgr.es/c/bc031cf13\">§</a></p>\n<p>允许对隔离测试步骤添加注解，说明预期的完成顺序。这使原本存在竞争的测试用例也能获得稳定结果，无需再像以前那样使用长时间延迟来规避竞争条件（而且以前也并未完全成功）。允许使用不带引号的标识符作为隔离测试的会话或步骤名称（以前，所有此类名称都必须加双引号）。检测隔离测试中未使用的步骤并发出警告。改进隔离测试中查询结果的显示。移除 isolationtester 的<span>“<span>试运行</span>”</span>模式。消除 isolationtester 自身的内存泄漏。</p>", "text": "改进隔离测试基础设施（Tom Lane，Michael Paquier）§ § § § § § § 允许对隔离测试步骤添加注解，说明预期的完成顺序。这使原本存在竞争的测试用例也能获得稳定结果，无需再像以前那样使用长时间延迟来规避竞争条件（而且以前也并未完全成功）。允许使用不带引号的标识符作为隔离测试的会话或步骤名称（以前，所有此类名称都必须加双引号）。检测隔离测试中未使用的步骤并发出警告。改进隔离测试中查询结果的显示。移除 isolationtester 的“试运行”模式。消除 isolationtester 自身的内存泄漏。", "title": "改进隔离测试基础设施", "commits": ["35e6b3bbf", "7a48dfbb8", "96f3661e4", "a8f687927", "bc031cf13", "d7da3ef08", "f228c401b"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "75af2185be1ff748ab3aa708015d0e8a94a151539102ff38e94a6befb5497834", "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": ["35e6b3bbf", "7a48dfbb8", "96f3661e4", "989d23b04", "a8f687927", "bc031cf13", "d7da3ef08", "f228c401b"], "source_entry_id": "12.8/changes/055", "db_id": "e089ace3b495b9be9b621910718b3725", "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": "9fcdc870f3519be1b0cd544a363ae0cc", "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"}}], "version": "12.8", "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": "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"}, {"db_id": "9fcdc870f3519be1b0cd544a363ae0cc", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "改进隔离测试基础设施", "evidence": {"same_day": true, "patch_ids": ["081aaaef05335087a70a646d1a1d069d", "10b8ade6985f821f4a692da4d5abb049", "34902220e10514d34f2a62a2b976f8dc", "8f040da49d6b3447d0959b8a73e8fa08", "99554d4aba271352cc7eadce9e046303", "bdca6ca619dc76ba1d60041cb5478d62", "dd61cbb4fe3e8417916689ea27c05ab8", "e7f4dd248edeed16552f3905247b5ed6"], "statement_hash": "02e8cd21a50de2e1d523b00409d618878d34907cf5102bb1817b3ebf06ca5c38"}, "url": "/docs/compare/?release=9.6.23#9.6.23-55c04c1875286c25", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-d40b468dac5bdb45", "cves": [], "html": "<p>减少强制破坏缓存测试的开销（Tom Lane）<a href=\"https://postgr.es/c/3edc2dbc0\">§</a></p>", "text": "减少强制破坏缓存测试的开销（Tom Lane）§", "title": "减少强制破坏缓存测试的开销", "commits": ["3edc2dbc0"], "section": "变更", "category": "performance", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "aa3bf81ef4b3ac91e532d72ee4305c414e9965076d721bc2a1158d6cedc94b20", "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": ["3edc2dbc0", "e135743ef"], "source_entry_id": "12.8/changes/056", "db_id": "dc4cca094541332bf1d8315e1729fb41", "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": "28d7ce3f08813474132303b19042da23", "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"}}], "version": "12.8", "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": "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"}, {"db_id": "28d7ce3f08813474132303b19042da23", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "降低缓存踩踏测试的开销", "evidence": {"same_day": true, "patch_ids": ["20306ccee76a83473c2ce89bc18df0bd", "d1965e18420d01618dd2214a289e20da"], "statement_hash": "a1d6fdcc246dc72d20608abd73dd5489f5c37689c23acc054da14f6ad020b111"}, "url": "/docs/compare/?release=9.6.23#9.6.23-8dd752564ee28d0d", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-48b51b6fd5a9af08", "cves": [], "html": "<p>修复 <span>PL/Python</span> 的回归测试，使其在 Python 3.10 下通过（Honza Horak）<a href=\"https://postgr.es/c/9438962ce\">§</a> <a href=\"https://postgr.es/c/70293e946\">§</a></p>", "text": "修复 PL/Python 的回归测试，使其在 Python 3.10 下通过（Honza Horak）§ §", "title": "修复 PL/Python 的回归测试，使其在 Python 3.10 下通过", "commits": ["70293e946", "9438962ce"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "574df098df679cfcc85729f88db667c33eb3d7166c281876a10bf5436306d904", "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": ["70293e946", "9438962ce"], "source_entry_id": "12.8/changes/057", "db_id": "f8eb0329b571d4806abe67c55bbee36e", "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": "461ef596e191e35335412350d522b7cc", "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"}}], "version": "12.8", "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": "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"}, {"db_id": "461ef596e191e35335412350d522b7cc", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "修复 PL/Python 回归测试在 Python 3.10 下通过的问题", "evidence": {"same_day": true, "patch_ids": ["53b8fd707309a667bdba37f2a0079474", "d2777a25ded39c2b19399e30fdb53780"], "statement_hash": "d32174faed27fb2284bbfc8a7cd00578cb917a81bd0b0bed6a7e34edd0cbf458"}, "url": "/docs/compare/?release=9.6.23#9.6.23-4c9375f4b6d1a0a5", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-7bb38f92395272c1", "cves": [], "html": "<p>使 <code>printf(\"%s\", NULL)</code> 打印 <code>(null)</code>，而不崩溃（Tom Lane）<a href=\"https://postgr.es/c/4c8a14e8d\">§</a></p>\n<p>这应该能提高服务器在边界情况下的稳健性，并使我们的 <code>printf</code> 实现与常见库保持一致。</p>", "text": "使 printf(\"%s\", NULL) 打印 (null)，而不崩溃（Tom Lane）§ 这应该能提高服务器在边界情况下的稳健性，并使我们的 printf 实现与常见库保持一致。", "title": "使 printf(\"%s\", NULL) 打印 (null)，而不崩溃", "commits": ["4c8a14e8d"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "f3d2d30683902da2193ca435eca2aafed098de4928245e8a4243f6c4f9761c54", "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": ["4c8a14e8d"], "source_entry_id": "12.8/changes/058", "db_id": "94a4d45c2621c88d32a166c53860d04b", "patch_ids": ["d38562c44413869d41be145f078366a2"], "statement_hash": "a9f0725cf0b2be059059df0c581390c832f58a2c351b6be09e25603704c8dfe6", "relations": [{"rule": 2, "type": "equivalent", "target": "19700bc7b591f82177c3f02c352c5791", "evidence": {"same_day": true, "patch_ids": ["d38562c44413869d41be145f078366a2"], "statement_hash": "a9f0725cf0b2be059059df0c581390c832f58a2c351b6be09e25603704c8dfe6"}}, {"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"}}], "version": "12.8", "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": "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"}, {"db_id": "19700bc7b591f82177c3f02c352c5791", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "使 printf(\"%s\", NULL) 打印 (null) 而不是崩溃", "evidence": {"same_day": true, "patch_ids": ["d38562c44413869d41be145f078366a2"], "statement_hash": "a9f0725cf0b2be059059df0c581390c832f58a2c351b6be09e25603704c8dfe6"}, "url": "/docs/compare/?release=9.6.23#9.6.23-76de5757e0a3a53c", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-2d8e528531f7ad2b", "cves": [], "html": "<p>修复时间点恢复停止在 <code>ROLLBACK PREPARED</code> 记录处时不正确的日志消息（Simon Riggs）<a href=\"https://postgr.es/c/b5ee867a7\">§</a></p>", "text": "修复时间点恢复停止在 ROLLBACK PREPARED 记录处时不正确的日志消息（Simon Riggs）§", "title": "修复时间点恢复停止在 ROLLBACK PREPARED 记录处时不正确的日志消息", "commits": ["b5ee867a7"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "97cfd0edf943a5e75bee183911a7363785109582a0eff57feccc6a1b4e25e013", "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": ["b5ee867a7"], "source_entry_id": "12.8/changes/059", "db_id": "ffd357184fe3034bfa72a666f8b0a43e", "patch_ids": ["93d2d2b2f7a22f9d8eea85c8c79e5b56"], "statement_hash": "8c6060ae0da02ab597f952a1884f1fd6211e8baa555368332087e92161e46a52", "relations": [{"rule": 2, "type": "equivalent", "target": "0303e0aef9c69053eed8e21a53396d27", "evidence": {"same_day": true, "patch_ids": ["93d2d2b2f7a22f9d8eea85c8c79e5b56"], "statement_hash": "8c6060ae0da02ab597f952a1884f1fd6211e8baa555368332087e92161e46a52"}}, {"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"}}], "version": "12.8", "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": "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"}, {"db_id": "0303e0aef9c69053eed8e21a53396d27", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "修复时间点恢复在 ROLLBACK PREPARED 记录处停止时错误的日志消息", "evidence": {"same_day": true, "patch_ids": ["93d2d2b2f7a22f9d8eea85c8c79e5b56"], "statement_hash": "8c6060ae0da02ab597f952a1884f1fd6211e8baa555368332087e92161e46a52"}, "url": "/docs/compare/?release=9.6.23#9.6.23-c6777a374bd7a0a6", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-f1b2df5dca55827f", "cves": [], "html": "<p>改进 <code>ALTER TABLE</code> 对关系种类错误的消息（Kyotaro Horiguchi）<a href=\"https://postgr.es/c/b242e1d23\">§</a></p>", "text": "改进 ALTER TABLE 对关系种类错误的消息（Kyotaro Horiguchi）§", "title": "改进 ALTER TABLE 对关系种类错误的消息", "commits": ["b242e1d23"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "af1de5229255f47218f5f9c887ec54263b243ceae2780e9bc2cd1c8a962c7cb3", "section_path": ["变更"], "commit_groups": [["0c83eb2e0", "522624345", "85a8c3a4b", "b242e1d23"]], "identity_text": "Improve ALTER TABLE's messages for wrong-relation-kind errors (Kyotaro Horiguchi)", "commit_aliases": ["0c83eb2e0", "522624345", "85a8c3a4b", "b242e1d23"], "source_commits": ["b242e1d23"], "source_entry_id": "12.8/changes/060", "db_id": "5a5f3ed7f194b2cf6c8acd74800f9736", "patch_ids": ["fcecfada920381428cd67f5401f1ec4c"], "statement_hash": "5047530fde15006ef50e3801663b3ad7b7808a5578777eb7500e3f70484d7bdf", "relations": [{"rule": 2, "type": "equivalent", "target": "c616fae3e46769f8a39aad667c5b47e0", "evidence": {"same_day": true, "patch_ids": ["fcecfada920381428cd67f5401f1ec4c"], "statement_hash": "5047530fde15006ef50e3801663b3ad7b7808a5578777eb7500e3f70484d7bdf"}}, {"rule": 2, "type": "equivalent", "target": "d6eb3fa1619b76b999d41e93c2453613", "evidence": {"same_day": true, "patch_ids": ["fcecfada920381428cd67f5401f1ec4c"], "statement_hash": "5047530fde15006ef50e3801663b3ad7b7808a5578777eb7500e3f70484d7bdf"}}], "version": "12.8", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "d6eb3fa1619b76b999d41e93c2453613", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "改进 ALTER TABLE 对关系种类错误的消息", "evidence": {"same_day": true, "patch_ids": ["fcecfada920381428cd67f5401f1ec4c"], "statement_hash": "5047530fde15006ef50e3801663b3ad7b7808a5578777eb7500e3f70484d7bdf"}, "url": "/docs/compare/?release=13.4#13.4-11a421e1e4cd7c1f", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "c616fae3e46769f8a39aad667c5b47e0", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "改进 ALTER TABLE 对关系种类错误的消息", "evidence": {"same_day": true, "patch_ids": ["fcecfada920381428cd67f5401f1ec4c"], "statement_hash": "5047530fde15006ef50e3801663b3ad7b7808a5578777eb7500e3f70484d7bdf"}, "url": "/docs/compare/?release=11.13#11.13-7c8d4f9ff1d118a8", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}]}, {"id": "12.8-d0dd265a4aea3115", "cves": [], "html": "<p>使涉及<span>“<span>非负</span>”</span>值的错误消息更清晰（Bharath Rupireddy）<a href=\"https://postgr.es/c/de87c481f\">§</a></p>", "text": "使涉及“非负”值的错误消息更清晰（Bharath Rupireddy）§", "title": "使涉及“非负”值的错误消息更清晰", "commits": ["de87c481f"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "570f420a3d0933244771517cfaeabef8d72387755ab100175faad7f7d3df468e", "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": ["de87c481f"], "source_entry_id": "12.8/changes/061", "db_id": "b6624d383034969bccc9b811492317bf", "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": "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"}}, {"rule": 2, "type": "equivalent", "target": "d2d4f53d4821ee17c4b7c0bbac7a115a", "evidence": {"same_day": true, "patch_ids": ["43c7acd56e53f383f13d7a88f5307318"], "statement_hash": "3d0755bb74569bea76728061d236b395599059e10f4777bd454c0d4d0713a7d3"}}], "version": "12.8", "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": "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"}, {"db_id": "d2d4f53d4821ee17c4b7c0bbac7a115a", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "澄清涉及“非负”值的错误消息", "evidence": {"same_day": true, "patch_ids": ["43c7acd56e53f383f13d7a88f5307318"], "statement_hash": "3d0755bb74569bea76728061d236b395599059e10f4777bd454c0d4d0713a7d3"}, "url": "/docs/compare/?release=9.6.23#9.6.23-0ec9b73badc4b332", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-ff4c7590569f6af0", "cves": [], "html": "<p>修复 <span>configure</span>，使其支持不再提供独立 <code>libldap_r</code> 库的 OpenLDAP 2.5（Adrian Ho，Tom Lane）<a href=\"https://postgr.es/c/a5377e7f7\">§</a> <a href=\"https://postgr.es/c/83a8bf24e\">§</a> <a href=\"https://postgr.es/c/e82cde74d\">§</a> <a href=\"https://postgr.es/c/03fc042eb\">§</a></p>\n<p>如果不存在 <code>libldap_r</code> 库，现在会静默假定 <code>libldap</code> 是线程安全的。</p>", "text": "修复 configure，使其支持不再提供独立 libldap_r 库的 OpenLDAP 2.5（Adrian Ho，Tom Lane）§ § § § 如果不存在 libldap_r 库，现在会静默假定 libldap 是线程安全的。", "title": "修复 configure，使其支持不再提供独立 libldap_r 库的 OpenLDAP 2.5", "commits": ["03fc042eb", "83a8bf24e", "a5377e7f7", "e82cde74d"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "a2d5c9c12cbcf3d65ce1b73a0c1013394337ed9c65043976a429734f4d1a5e6b", "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": ["03fc042eb", "83a8bf24e", "a5377e7f7", "e82cde74d"], "source_entry_id": "12.8/changes/062", "db_id": "8d6e2babf657e0dc88d167e05ef339c2", "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": "c3d256986b201bf0d6bdd920734a649f", "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": "12.8", "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": "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"}, {"db_id": "c3d256986b201bf0d6bdd920734a649f", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "修复 configure 在 OpenLDAP 2.5 下的工作，该版本不再有单独的 libldap_r 库", "evidence": {"same_day": true, "patch_ids": ["12adf88441f2688a04629d2cdb792f98", "31a293410c178f0bbfeb51604358d7b6", "c42bc4d2a4a73b2cfcd63d6ed4bd456a", "e8edc1d61304624280b3a27b5a21bc8f"], "statement_hash": "013ada10894f10815f2cbe758835f929e431179248e5f7116007279cda923394"}, "url": "/docs/compare/?release=9.6.23#9.6.23-00b87be2c6d9a06e", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-188694f0e07ebf21", "cves": [], "html": "<p>增加新的 make 目标 <code>world-bin</code> 和 <code>install-world-bin</code>（Andrew Dunstan）<a href=\"https://postgr.es/c/c71471c96\">§</a> <a href=\"https://postgr.es/c/383c29d1e\">§</a></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": ["383c29d1e", "c71471c96"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "2bd7cc027dddcf56c54dbb69766e4928911678d0ea5e6e2125af78ad626c4f7e", "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": ["383c29d1e", "c71471c96"], "source_entry_id": "12.8/changes/063", "db_id": "8e05ea820d1de4ad94215ddf043bbfc9", "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": "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"}}, {"rule": 2, "type": "equivalent", "target": "fcca536234f4fdf706a54ea2d11bad46", "evidence": {"same_day": true, "patch_ids": ["93fd989bb2b9ea7f6c7b3009d3618db7", "971aa0635d2c65d3cac043df88402124"], "statement_hash": "5a31ba48c89bf466d9f97c4fabb3ed42ec4f18064f119164e6662508acef6fb0"}}], "version": "12.8", "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": "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"}, {"db_id": "fcca536234f4fdf706a54ea2d11bad46", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "添加新的 make 目标 world-bin 和 install-world-bin", "evidence": {"same_day": true, "patch_ids": ["93fd989bb2b9ea7f6c7b3009d3618db7", "971aa0635d2c65d3cac043df88402124"], "statement_hash": "5a31ba48c89bf466d9f97c4fabb3ed42ec4f18064f119164e6662508acef6fb0"}, "url": "/docs/compare/?release=9.6.23#9.6.23-db451c88692f045d", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-6fff92fa5c963c7e", "cves": [], "html": "<p>修复 TAP 测试的 make 规则（<code>prove_installcheck</code>），使其在 PGXS 用法下正常工作（Andrew Dunstan）<a href=\"https://postgr.es/c/a40f8ea0f\">§</a></p>", "text": "修复 TAP 测试的 make 规则（prove_installcheck），使其在 PGXS 用法下正常工作（Andrew Dunstan）§", "title": "修复 TAP 测试的 make 规则（prove_installcheck），使其在 PGXS 用法下正常工作", "commits": ["a40f8ea0f"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "0758cb3865705b4b8a95903711b231dd188a1ebf0bc33393e89263f119080820", "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": ["a40f8ea0f"], "source_entry_id": "12.8/changes/064", "db_id": "dcc6931b6143b2d79f6cc60ff0978b18", "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": "a99a621103cf2a37c6219c42d1ef3124", "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": "12.8", "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": "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"}, {"db_id": "a99a621103cf2a37c6219c42d1ef3124", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "修复 TAP 测试的 make 规则（prove_installcheck）在 PGXS 用法下工作的问题", "evidence": {"same_day": true, "patch_ids": ["1b9c45bd8e297f40e04bbfe901f36ed3"], "statement_hash": "0993afdc5fa5fcbca5c2a5d0f4017fe1621c78381ed198eeec61cf2eb8a2eea1"}, "url": "/docs/compare/?release=9.6.23#9.6.23-f390ad7fe75653fb", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-8f29480a38ce8e02", "cves": [], "html": "<p>调整 JIT 代码，为即将到来的 LLVM API 变更做好准备（Thomas Munro，Andres Freund）<a href=\"https://postgr.es/c/47d22649e\">§</a></p>\n<p>LLVM 13 引入了一项不兼容的 API 变更，会使我们以前的 JIT 编译器崩溃。</p>", "text": "调整 JIT 代码，为即将到来的 LLVM API 变更做好准备（Thomas Munro，Andres Freund）§ LLVM 13 引入了一项不兼容的 API 变更，会使我们以前的 JIT 编译器崩溃。", "title": "调整 JIT 代码，为即将到来的 LLVM API 变更做好准备", "commits": ["47d22649e"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "dcf838d2c1d5a7e48f75cad5c1be2d269bb08509560ccb164711d93c4877b209", "section_path": ["变更"], "commit_groups": [["47d22649e", "6ada4fd06", "9b4e4cfe6", "d9c05a9ec"]], "identity_text": "Adjust JIT code to prepare for forthcoming LLVM API change (Thomas Munro, Andres Freund) LLVM 13 has made an incompatible API change that will cause crashing of our previous JIT compiler.", "commit_aliases": ["47d22649e", "6ada4fd06", "9b4e4cfe6", "d9c05a9ec"], "source_commits": ["47d22649e"], "source_entry_id": "12.8/changes/065", "db_id": "4dbef03ae92dfa47e8860e70ffcf9ed4", "patch_ids": ["e13da196961e3d335f39dd51f76841ed"], "statement_hash": "a4596d32c0b32ae30ce4d00c7d02fec41e89384ba32cee1bae0c64d6a4229b0d", "relations": [{"rule": 2, "type": "equivalent", "target": "3e2af87fee073155769212ef1ebcad1a", "evidence": {"same_day": true, "patch_ids": ["e13da196961e3d335f39dd51f76841ed"], "statement_hash": "a4596d32c0b32ae30ce4d00c7d02fec41e89384ba32cee1bae0c64d6a4229b0d"}}, {"rule": 2, "type": "equivalent", "target": "98d605f785c019cecfa0ed58e21dcc6b", "evidence": {"same_day": true, "patch_ids": ["e13da196961e3d335f39dd51f76841ed"], "statement_hash": "a4596d32c0b32ae30ce4d00c7d02fec41e89384ba32cee1bae0c64d6a4229b0d"}}], "version": "12.8", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "3e2af87fee073155769212ef1ebcad1a", "kind": "equivalent", "version": "13.4", "label": "13.4", "title": "调整 JIT 代码，为即将到来的 LLVM API 变更做好准备", "evidence": {"same_day": true, "patch_ids": ["e13da196961e3d335f39dd51f76841ed"], "statement_hash": "a4596d32c0b32ae30ce4d00c7d02fec41e89384ba32cee1bae0c64d6a4229b0d"}, "url": "/docs/compare/?release=13.4#13.4-d3970a5fd24484d8", "source_url": "/docs/release/13.4/#id-1.11.6.25.5"}, {"db_id": "98d605f785c019cecfa0ed58e21dcc6b", "kind": "equivalent", "version": "11.13", "label": "11.13", "title": "调整 JIT 代码，为即将到来的 LLVM API 变更做好准备", "evidence": {"same_day": true, "patch_ids": ["e13da196961e3d335f39dd51f76841ed"], "statement_hash": "a4596d32c0b32ae30ce4d00c7d02fec41e89384ba32cee1bae0c64d6a4229b0d"}, "url": "/docs/compare/?release=11.13#11.13-3343d9a25a07a63b", "source_url": "/docs/release/11.13/#id-1.11.6.14.5"}]}, {"id": "12.8-0ea50dbb1b1a77ef", "cves": [], "html": "<p>避免假定 GSSAPI 库返回的字符串以空字符结尾（Tom Lane）<a href=\"https://postgr.es/c/7eaf65451\">§</a></p>\n<p>GSSAPI 规范提供字符串指针和长度。在实践中，字符串后的下一个字节似乎通常为零，因此我们以前的代码没有实际失败；但确实收到了 AddressSanitizer 报错的报告。</p>", "text": "避免假定 GSSAPI 库返回的字符串以空字符结尾（Tom Lane）§ GSSAPI 规范提供字符串指针和长度。在实践中，字符串后的下一个字节似乎通常为零，因此我们以前的代码没有实际失败；但确实收到了 AddressSanitizer 报错的报告。", "title": "避免假定 GSSAPI 库返回的字符串以空字符结尾", "commits": ["7eaf65451"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "21f13a46306f25797afe485edf4f27c4e500a8a143bd483c2ac55422b6f6385f", "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": ["7eaf65451"], "source_entry_id": "12.8/changes/066", "db_id": "662c8257df683d00436901be8494b70b", "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": "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"}}, {"rule": 2, "type": "equivalent", "target": "f696c959aa23990d7139a8ebe4e1acb9", "evidence": {"same_day": true, "patch_ids": ["9be91ec613a8777395eab8803fa1cf36"], "statement_hash": "dddf7eeb8f86464af8abcfe91a332078d15f787019610a810118612b15b97afd"}}], "version": "12.8", "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": "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"}, {"db_id": "f696c959aa23990d7139a8ebe4e1acb9", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "避免假定 GSSAPI 库返回的字符串以空字符结尾", "evidence": {"same_day": true, "patch_ids": ["9be91ec613a8777395eab8803fa1cf36"], "statement_hash": "dddf7eeb8f86464af8abcfe91a332078d15f787019610a810118612b15b97afd"}, "url": "/docs/compare/?release=9.6.23#9.6.23-5b72a24d3f469dec", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-b2de3afd678a8d80", "cves": [], "html": "<p>允许在 MSVC 上构建 GSSAPI 支持（Michael Paquier）<a href=\"https://postgr.es/c/a75268f1c\">§</a> <a href=\"https://postgr.es/c/02037af3f\">§</a> <a href=\"https://postgr.es/c/b7684bd10\">§</a></p>\n<p>修复与现代 Kerberos 构建的各种不兼容问题。</p>", "text": "允许在 MSVC 上构建 GSSAPI 支持（Michael Paquier）§ § § 修复与现代 Kerberos 构建的各种不兼容问题。", "title": "允许在 MSVC 上构建 GSSAPI 支持", "commits": ["02037af3f", "a75268f1c", "b7684bd10"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "27a33d7f9aac3d2160d5c2de4fa5806384880655c6c9de8f6c2cdf775d759047", "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": ["02037af3f", "a75268f1c", "b7684bd10"], "source_entry_id": "12.8/changes/067", "db_id": "ca5f1765317c46fadeb1ab56a1da4c43", "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": "9cc3fd7ad44ddda6e0f1436a78cca7c5", "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": "12.8", "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": "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"}, {"db_id": "9cc3fd7ad44ddda6e0f1436a78cca7c5", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "允许在 MSVC 上以 GSSAPI 构建", "evidence": {"same_day": true, "patch_ids": ["36323160f89be3a59dacc7634bded20f", "8e8c90818a2372b90b3313a24c5deaa9", "ff6d4086f259df4df83544b3f4474869"], "statement_hash": "6a9c49bf048d7894c3c7b77190aa5d631bab7efa275bc014cd1ebea92a77d20c"}, "url": "/docs/compare/?release=9.6.23#9.6.23-68c48a0baed0edf1", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}, {"id": "12.8-43742cedbf001793", "cves": [], "html": "<p>在 MSVC 构建中，如果指定了 <code>--with-pgport</code>，则将其包含在 <span>pg_config</span> 报告的 configure 选项中（Andrew Dunstan）<a href=\"https://postgr.es/c/ae3ef8569\">§</a> <a href=\"https://postgr.es/c/40a05cf24\">§</a></p>", "text": "在 MSVC 构建中，如果指定了 --with-pgport，则将其包含在 pg_config 报告的 configure 选项中（Andrew Dunstan）§ §", "title": "在 MSVC 构建中，如果指定了 --with-pgport，则将其包含在 pg_config 报告的 configure 选项中", "commits": ["40a05cf24", "ae3ef8569"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.8/#id-1.11.6.20.5", "source_hash": "e4371d2a2ec3a113c936ac5b1c9990429e6d87bdf37ccdc43f26cec2c2940a97", "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": ["40a05cf24", "ae3ef8569"], "source_entry_id": "12.8/changes/068", "db_id": "06479bb6de01f5cec3406ea190a17a4b", "patch_ids": ["5308511d053690a460898abd82223c56", "58bfaafd06198d8a49aea19ba9d91cad"], "statement_hash": "72fd5bc71128828b186aa27d6791d3bb3fd941060407818539c1021a373f4b73", "relations": [{"rule": 2, "type": "equivalent", "target": "1c3de48a96045382bc26877d3e0b93c0", "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": "12.8", "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": "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"}, {"db_id": "1c3de48a96045382bc26877d3e0b93c0", "kind": "equivalent", "version": "9.6.23", "label": "9.6.23", "title": "在 MSVC 构建中，如果指定过 --with-pgport，把它包含在 pg_config 报告的 configure 选项集合中", "evidence": {"same_day": true, "patch_ids": ["5308511d053690a460898abd82223c56", "58bfaafd06198d8a49aea19ba9d91cad"], "statement_hash": "72fd5bc71128828b186aa27d6791d3bb3fd941060407818539c1021a373f4b73"}, "url": "/docs/compare/?release=9.6.23#9.6.23-97ae8990a92aa431", "source_url": "/docs/release/9.6.23/#id-1.11.6.6.6"}]}]}], "stats": [{"key": "all", "label": "全部变更", "count": 68}, {"key": "feature", "label": "新功能", "count": 0}, {"key": "bugfix", "label": "BUG 修复", "count": 23}, {"key": "security", "label": "安全相关", "count": 3}, {"key": "performance", "label": "性能改进", "count": 1}, {"key": "compatibility", "label": "兼容性变化", "count": 0}, {"key": "improvement", "label": "其他改进", "count": 41}], "total": 68, "release_count": 1, "cross_major": false, "cve_count": 3, "cves": [{"id": "CVE-2021-3677", "url": "https://www.postgresql.org/support/security/CVE-2021-3677/", "fixed": {"11": "11.13", "12": "12.8", "13": "13.4"}, "score": 6.5, "title": "修复重复应用投影步骤时产生错误计划的问题", "vector": "AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N", "affected": {"11": "11", "12": "12", "13": "13"}, "component": "core server", "published": {"11": "2021-08-12", "12": "2021-08-12", "13": "2021-08-12"}, "introduced": {}, "cvss_version": "3.0", "description_en": "A purpose-crafted query can read arbitrary bytes of server memory. In the default configuration, any authenticated database user can complete this attack at will. The attack does not require the ability to create objects. If server settings include max_worker_processes=0 , the known versions of this attack are infeasible. However, undiscovered variants of the attack may be independent of that setting.", "first_published": "2021-08-12", "fixed_version": "12.8"}, {"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": 68, "already_in_source_count": 0, "duplicate_count": 0, "excluded_count": 0, "exclusions": [], "source_as_of": "2026-09-26", "security_as_of": "2026-09-26"}