{"format": 1, "mode": "release", "from_release": null, "to_release": {"date": "2018-08-09", "build": "9.5.14", "major": "9.5", "minor": 14, "manual": "9.5", "status": "stable", "doc_git": "", "version": "9.5.14", "eol_date": "2021-02-11", "date_text": "2018-08-09", "supported": false, "manual_url": "/docs/9.5/release-9-5-14.html", "source_url": "/docs/release/9.5.14/", "entry_count": 30, "placeholder": false, "content_hash": "67b90bb70babfbf599c04fe23b73be5b1fbc73257196b615a40921c48d5bae7f", "manual_build": "9.5.25", "source_as_of": "", "changes_count": 30, "doc_loaded_at": "2026-09-26T02:56:44.718140", "migration_html": "<p>对于运行 9.5.X 的用户，不需要转储/恢复。</p>\n<p>不过，如果你是从 9.5.13 之前的版本升级，参见<a href=\"/docs/9.5/release-9-5-13.html\" title=\"E.13. 版本 9.5.13\">第 E.13 节</a>。</p>", "compatibility_count": 0, "label": "9.5.14", "status_label": "历史版本", "eol": "2021-02-11", "age_days": 2974, "support_days": -2057}, "groups": [{"date": "2018-08-09", "build": "9.5.14", "major": "9.5", "minor": 14, "manual": "9.5", "status": "stable", "doc_git": "", "version": "9.5.14", "eol_date": "2021-02-11", "date_text": "2018-08-09", "supported": false, "manual_url": "/docs/9.5/release-9-5-14.html", "source_url": "/docs/release/9.5.14/", "entry_count": 30, "placeholder": false, "content_hash": "67b90bb70babfbf599c04fe23b73be5b1fbc73257196b615a40921c48d5bae7f", "manual_build": "9.5.25", "source_as_of": "", "changes_count": 30, "doc_loaded_at": "2026-09-26T02:56:44.718140", "migration_html": "<p>对于运行 9.5.X 的用户，不需要转储/恢复。</p>\n<p>不过，如果你是从 9.5.13 之前的版本升级，参见<a href=\"/docs/9.5/release-9-5-13.html\" title=\"E.13. 版本 9.5.13\">第 E.13 节</a>。</p>", "compatibility_count": 0, "label": "9.5.14", "status_label": "历史版本", "eol": "2021-02-11", "age_days": 2974, "support_days": -2057, "entries": [{"id": "9.5.14-b50ee2ad35972b64", "cves": ["CVE-2018-10915"], "html": "<p>修复连接尝试之间未能完全重置 <span>libpq</span> 状态的问题（Tom Lane）</p>\n<p><code>dblink</code> 或 <code>postgres_fdw</code> 的无权限用户可以绕过旨在防止使用服务器端凭据（如运行服务器的操作系统用户拥有的 <code>~/.pgpass</code> 文件）的检查。允许本地连接上对等认证的服务器尤其容易受影响。其他攻击（如向 <code>postgres_fdw</code> 会话注入 SQL）也是可能的。以这种方式攻击 <code>postgres_fdw</code> 需要能够创建带选定连接参数的外部服务器对象，但任何能访问 <code>dblink</code> 的用户都可以利用该问题。一般而言，能够为使用 <span>libpq</span> 的应用选择连接参数的攻击者都可能作恶，尽管其他合理的攻击场景更难想到。感谢 Andrew Krasichkov 报告此问题。（CVE-2018-10915）</p>", "text": "修复连接尝试之间未能完全重置 libpq 状态的问题（Tom Lane） dblink 或 postgres_fdw 的无权限用户可以绕过旨在防止使用服务器端凭据（如运行服务器的操作系统用户拥有的 ~/.pgpass 文件）的检查。允许本地连接上对等认证的服务器尤其容易受影响。其他攻击（如向 postgres_fdw 会话注入 SQL）也是可能的。以这种方式攻击 postgres_fdw 需要能够创建带选定连接参数的外部服务器对象，但任何能访问 dblink 的用户都可以利用该问题。一般而言，能够为使用 libpq 的应用选择连接参数的攻击者都可能作恶，尽管其他合理的攻击场景更难想到。感谢 Andrew Krasichkov 报告此问题。（CVE-2018-10915）", "title": "修复连接尝试之间未能完全重置 libpq 状态的问题", "commits": [], "section": "变更", "category": "security", "source_url": "/docs/release/9.5.14/#id-1.11.6.16.5", "source_hash": "f00fc376623ceedaac2518766e6f1b8a4be248cb6b2a63918246864740d3dd3b", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix failure to reset libpq's state fully between connection attempts (Tom Lane) An unprivileged user of dblink or postgres_fdw could bypass the checks intended to prevent use of server-side credentials, such as a ~/.pgpass file owned by the operating-system user running the server. Servers allowing peer authentication on local connections are particularly vulnerable. Other attacks such as SQL injection into a postgres_fdw session are also possible. Attacking postgres_fdw in this way requires the ability to create a foreign server object with selected connection parameters, but any user with access to dblink could exploit the problem. In general, an attacker with the ability to select the connection parameters for a libpq-using application could cause mischief, though other plausible attack scenarios are harder to think of. Our thanks to Andrew Krasichkov for reporting this issue. (CVE-2018-10915)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.14/changes/001", "db_id": "29607663b820c5b5fee53b7793232307", "patch_ids": [], "statement_hash": "ad329a9602e5dec28c32ed4a012d732710b864b0bc70f9135ee685883d42a894", "relations": [{"rule": 2, "type": "equivalent", "target": "0d5cfb16f95275171c5876d4383372b2", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ad329a9602e5dec28c32ed4a012d732710b864b0bc70f9135ee685883d42a894"}}, {"rule": 2, "type": "equivalent", "target": "1ee0462b731478038defdba984f32dd4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ad329a9602e5dec28c32ed4a012d732710b864b0bc70f9135ee685883d42a894"}}, {"rule": 2, "type": "equivalent", "target": "395fdb31804f461219c28a26580310df", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ad329a9602e5dec28c32ed4a012d732710b864b0bc70f9135ee685883d42a894"}}, {"rule": 2, "type": "equivalent", "target": "4484dc480da4deefaaf0cb9f04a8477c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ad329a9602e5dec28c32ed4a012d732710b864b0bc70f9135ee685883d42a894"}}], "version": "9.5.14", "category_label": "安全相关", "also_in": [], "variants": [], "related_changes": [{"db_id": "4484dc480da4deefaaf0cb9f04a8477c", "kind": "equivalent", "version": "10.5", "label": "10.5", "title": "修复连接尝试之间未能完全重置 libpq 状态的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ad329a9602e5dec28c32ed4a012d732710b864b0bc70f9135ee685883d42a894"}, "url": "/docs/compare/?release=10.5#10.5-b50ee2ad35972b64", "source_url": "/docs/release/10.5/#id-1.11.6.23.5"}, {"db_id": "0d5cfb16f95275171c5876d4383372b2", "kind": "equivalent", "version": "9.6.10", "label": "9.6.10", "title": "修复连接尝试之间未能完全重置 libpq 状态的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ad329a9602e5dec28c32ed4a012d732710b864b0bc70f9135ee685883d42a894"}, "url": "/docs/compare/?release=9.6.10#9.6.10-b50ee2ad35972b64", "source_url": "/docs/release/9.6.10/#id-1.11.6.19.5"}, {"db_id": "395fdb31804f461219c28a26580310df", "kind": "equivalent", "version": "9.4.19", "label": "9.4.19", "title": "修复连接尝试之间未能完全重置 libpq 状态的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ad329a9602e5dec28c32ed4a012d732710b864b0bc70f9135ee685883d42a894"}, "url": "/docs/compare/?release=9.4.19#9.4.19-b50ee2ad35972b64", "source_url": "/docs/release/9.4.19/#id-1.11.6.12.5"}, {"db_id": "1ee0462b731478038defdba984f32dd4", "kind": "equivalent", "version": "9.3.24", "label": "9.3.24", "title": "修复连接尝试之间未能完全重置 libpq 状态的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ad329a9602e5dec28c32ed4a012d732710b864b0bc70f9135ee685883d42a894"}, "url": "/docs/compare/?release=9.3.24#9.3.24-b50ee2ad35972b64", "source_url": "/docs/release/9.3.24/#id-1.11.6.6.6"}]}, {"id": "9.5.14-c2753f735acfd244", "cves": ["CVE-2018-10925"], "html": "<p>修复通过不只是 <code>SELECT * FROM ...</code> 的视图执行 <code>INSERT ... ON CONFLICT UPDATE</code> 的问题（Dean Rasheed、Amit Langote）</p>\n<p>如果视图的 <code>SELECT</code> 列表与底层表的列不是一一对应，可更新视图的错误展开可能导致崩溃或 <span>“<span>attribute ... has the wrong type</span>”</span> 错误。此外，如果攻击用户对表的其他某些列有 <code>INSERT</code> 和 <code>UPDATE</code> 权限，此 bug 可被利用来更新该用户没有 <code>UPDATE</code> 权限的列。任何用户还可以利用它泄露服务器内存。（CVE-2018-10925）</p>", "text": "修复通过不只是 SELECT * FROM ... 的视图执行 INSERT ... ON CONFLICT UPDATE 的问题（Dean Rasheed、Amit Langote） 如果视图的 SELECT 列表与底层表的列不是一一对应，可更新视图的错误展开可能导致崩溃或 “attribute ... has the wrong type” 错误。此外，如果攻击用户对表的其他某些列有 INSERT 和 UPDATE 权限，此 bug 可被利用来更新该用户没有 UPDATE 权限的列。任何用户还可以利用它泄露服务器内存。（CVE-2018-10925）", "title": "修复通过不只是 SELECT * FROM ... 的视图执行 INSERT ... ON CONFLICT UPDATE 的问题", "commits": [], "section": "变更", "category": "security", "source_url": "/docs/release/9.5.14/#id-1.11.6.16.5", "source_hash": "79c9850a9ceaad739e423cde26c39d9389470e02ae945dffa5c4c1649df148dd", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix INSERT ... ON CONFLICT UPDATE through a view that isn't just SELECT * FROM ... (Dean Rasheed, Amit Langote) Erroneous expansion of an updatable view could lead to crashes or attribute ... has the wrong type errors, if the view's SELECT list doesn't match one-to-one with the underlying table's columns. Furthermore, this bug could be leveraged to allow updates of columns that an attacking user lacks UPDATE privilege for, if that user has INSERT and UPDATE privileges for some other column(s) of the table. Any user could also use it for disclosure of server memory. (CVE-2018-10925)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.14/changes/002", "db_id": "27150ec6c353f8cf45284bc75e4ec3ca", "patch_ids": [], "statement_hash": "7d9b36e0f42eb3c117d02fb4d1a66413944410df78a167abefe08e7595965292", "relations": [{"rule": 2, "type": "equivalent", "target": "da2ec324c1f899bc08a54ad2a1a57106", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7d9b36e0f42eb3c117d02fb4d1a66413944410df78a167abefe08e7595965292"}}, {"rule": 2, "type": "equivalent", "target": "dddc2d6546be8c5833b80708f1611577", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7d9b36e0f42eb3c117d02fb4d1a66413944410df78a167abefe08e7595965292"}}], "version": "9.5.14", "category_label": "安全相关", "also_in": [], "variants": [], "related_changes": [{"db_id": "dddc2d6546be8c5833b80708f1611577", "kind": "equivalent", "version": "10.5", "label": "10.5", "title": "修复通过并非简单 SELECT * FROM ... 的视图执行 INSERT ... ON CONFLICT UPDATE 的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7d9b36e0f42eb3c117d02fb4d1a66413944410df78a167abefe08e7595965292"}, "url": "/docs/compare/?release=10.5#10.5-defa8eca5d7f95e2", "source_url": "/docs/release/10.5/#id-1.11.6.23.5"}, {"db_id": "da2ec324c1f899bc08a54ad2a1a57106", "kind": "equivalent", "version": "9.6.10", "label": "9.6.10", "title": "修复通过不只是 SELECT * FROM ... 的视图执行 INSERT ... ON CONFLICT UPDATE 的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7d9b36e0f42eb3c117d02fb4d1a66413944410df78a167abefe08e7595965292"}, "url": "/docs/compare/?release=9.6.10#9.6.10-c2753f735acfd244", "source_url": "/docs/release/9.6.10/#id-1.11.6.19.5"}]}, {"id": "9.5.14-69a31af726a81fe1", "cves": [], "html": "<p>确保对<span>“<span>钉住</span>”</span>的系统目录的 <code>relfrozenxid</code> 和 <code>relminmxid</code> 值的更新被及时处理（Andres Freund）</p>\n<p>过于乐观的缓存规则可能阻止其他会话看到这些更新，导致虚假错误和/或数据损坏。对于 <code>pg_authid</code> 等共享目录，问题明显更严重，因为过期的缓存数据不仅存在于现有会话，还会持续到新会话中。</p>", "text": "确保对“钉住”的系统目录的 relfrozenxid 和 relminmxid 值的更新被及时处理（Andres Freund） 过于乐观的缓存规则可能阻止其他会话看到这些更新，导致虚假错误和/或数据损坏。对于 pg_authid 等共享目录，问题明显更严重，因为过期的缓存数据不仅存在于现有会话，还会持续到新会话中。", "title": "确保对“钉住”的系统目录的 relfrozenxid 和 relminmxid 值的更新被及时处理", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.14/#id-1.11.6.16.5", "source_hash": "5df22cebe93f8adb0804d594314a5fc8e1a7916714b60eea5dcc86a2abe7e9a4", "section_path": ["变更"], "commit_groups": [], "identity_text": "Ensure that updates to the relfrozenxid and relminmxid values for nailed system catalogs are processed in a timely fashion (Andres Freund) Overoptimistic caching rules could prevent these updates from being seen by other sessions, leading to spurious errors and/or data corruption. The problem was significantly worse for shared catalogs, such as pg_authid, because the stale cache data could persist into new sessions as well as existing ones.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.14/changes/003", "db_id": "d2ddc8d0e0d59d6e8ddf83d17dabea01", "patch_ids": [], "statement_hash": "0f40973bdecf4f197c463d71b2426f583be46d71d146da06cbab774bfe103e8d", "relations": [{"rule": 2, "type": "equivalent", "target": "32daf880b018ef0efc03b63f5bfad99d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f40973bdecf4f197c463d71b2426f583be46d71d146da06cbab774bfe103e8d"}}, {"rule": 2, "type": "equivalent", "target": "6b1508337c26fcb930a902e99a3573cf", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f40973bdecf4f197c463d71b2426f583be46d71d146da06cbab774bfe103e8d"}}, {"rule": 2, "type": "equivalent", "target": "9ed27a4374d255ff38dff43efcbf92e6", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f40973bdecf4f197c463d71b2426f583be46d71d146da06cbab774bfe103e8d"}}, {"rule": 2, "type": "equivalent", "target": "fe02cfd82dcb3eb66cd294a2d93301ba", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f40973bdecf4f197c463d71b2426f583be46d71d146da06cbab774bfe103e8d"}}], "version": "9.5.14", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "9ed27a4374d255ff38dff43efcbf92e6", "kind": "equivalent", "version": "10.5", "label": "10.5", "title": "确保及时处理对“固定”系统目录的 relfrozenxid 和 relminmxid 值的更新", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f40973bdecf4f197c463d71b2426f583be46d71d146da06cbab774bfe103e8d"}, "url": "/docs/compare/?release=10.5#10.5-a02370a85c2d7333", "source_url": "/docs/release/10.5/#id-1.11.6.23.5"}, {"db_id": "fe02cfd82dcb3eb66cd294a2d93301ba", "kind": "equivalent", "version": "9.6.10", "label": "9.6.10", "title": "确保对“钉住”的系统目录的 relfrozenxid 和 relminmxid 值的更新被及时处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f40973bdecf4f197c463d71b2426f583be46d71d146da06cbab774bfe103e8d"}, "url": "/docs/compare/?release=9.6.10#9.6.10-69a31af726a81fe1", "source_url": "/docs/release/9.6.10/#id-1.11.6.19.5"}, {"db_id": "32daf880b018ef0efc03b63f5bfad99d", "kind": "equivalent", "version": "9.4.19", "label": "9.4.19", "title": "确保对“钉住”的系统目录的 relfrozenxid 和 relminmxid 值的更新被及时处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f40973bdecf4f197c463d71b2426f583be46d71d146da06cbab774bfe103e8d"}, "url": "/docs/compare/?release=9.4.19#9.4.19-69a31af726a81fe1", "source_url": "/docs/release/9.4.19/#id-1.11.6.12.5"}, {"db_id": "6b1508337c26fcb930a902e99a3573cf", "kind": "equivalent", "version": "9.3.24", "label": "9.3.24", "title": "确保对“钉住”的系统目录的 relfrozenxid 和 relminmxid 值的更新被及时处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f40973bdecf4f197c463d71b2426f583be46d71d146da06cbab774bfe103e8d"}, "url": "/docs/compare/?release=9.3.24#9.3.24-69a31af726a81fe1", "source_url": "/docs/release/9.3.24/#id-1.11.6.6.6"}]}, {"id": "9.5.14-22efc1b502a443bd", "cves": [], "html": "<p>修复刚提升的备库在完成第一个恢复后检查点之前崩溃的情况（Michael Paquier、Kyotaro Horiguchi、Pavan Deolasee、Álvaro Herrera）</p>\n<p>这导致服务器在后续 WAL 重放期间认为自己没有达到一致的数据库状态，无法重启。</p>", "text": "修复刚提升的备库在完成第一个恢复后检查点之前崩溃的情况（Michael Paquier、Kyotaro Horiguchi、Pavan Deolasee、Álvaro Herrera） 这导致服务器在后续 WAL 重放期间认为自己没有达到一致的数据库状态，无法重启。", "title": "修复刚提升的备库在完成第一个恢复后检查点之前崩溃的情况", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.14/#id-1.11.6.16.5", "source_hash": "fa7e8f5cc32174e46d7732bce494795003f464d53fc5b58fa5ba8db86d943b04", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix case where a freshly-promoted standby crashes before having completed its first post-recovery checkpoint (Michael Paquier, Kyotaro Horiguchi, Pavan Deolasee, Álvaro Herrera) This led to a situation where the server did not think it had reached a consistent database state during subsequent WAL replay, preventing restart.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.14/changes/004", "db_id": "acd9e84bf9a88ffb7b980a511398871b", "patch_ids": [], "statement_hash": "e91754c6d4978576f71e18ac30bce445c478ff427f8ce632dc205836fb50274f", "relations": [{"rule": 2, "type": "equivalent", "target": "2f3cc96e9aaf64a7e90d7c9fdd39164e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e91754c6d4978576f71e18ac30bce445c478ff427f8ce632dc205836fb50274f"}}, {"rule": 2, "type": "equivalent", "target": "7895599dd794125ea13a3eeb6c7a5ff6", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e91754c6d4978576f71e18ac30bce445c478ff427f8ce632dc205836fb50274f"}}, {"rule": 2, "type": "equivalent", "target": "8562f359facbd2be633dfe6e52bbd296", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e91754c6d4978576f71e18ac30bce445c478ff427f8ce632dc205836fb50274f"}}, {"rule": 2, "type": "equivalent", "target": "e9197d5b5d6664ac74d0054e089d2a74", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e91754c6d4978576f71e18ac30bce445c478ff427f8ce632dc205836fb50274f"}}], "version": "9.5.14", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "2f3cc96e9aaf64a7e90d7c9fdd39164e", "kind": "equivalent", "version": "10.5", "label": "10.5", "title": "修复刚提升的备库在完成恢复后的第一个检查点之前崩溃的情况", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e91754c6d4978576f71e18ac30bce445c478ff427f8ce632dc205836fb50274f"}, "url": "/docs/compare/?release=10.5#10.5-a40b6028bb7c0cbe", "source_url": "/docs/release/10.5/#id-1.11.6.23.5"}, {"db_id": "7895599dd794125ea13a3eeb6c7a5ff6", "kind": "equivalent", "version": "9.6.10", "label": "9.6.10", "title": "修复刚提升的备库在完成第一个恢复后检查点之前崩溃的情况", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e91754c6d4978576f71e18ac30bce445c478ff427f8ce632dc205836fb50274f"}, "url": "/docs/compare/?release=9.6.10#9.6.10-22efc1b502a443bd", "source_url": "/docs/release/9.6.10/#id-1.11.6.19.5"}, {"db_id": "8562f359facbd2be633dfe6e52bbd296", "kind": "equivalent", "version": "9.4.19", "label": "9.4.19", "title": "修复刚提升的备库在完成第一个恢复后检查点之前崩溃的情况", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e91754c6d4978576f71e18ac30bce445c478ff427f8ce632dc205836fb50274f"}, "url": "/docs/compare/?release=9.4.19#9.4.19-22efc1b502a443bd", "source_url": "/docs/release/9.4.19/#id-1.11.6.12.5"}, {"db_id": "e9197d5b5d6664ac74d0054e089d2a74", "kind": "equivalent", "version": "9.3.24", "label": "9.3.24", "title": "修复刚提升的备库在完成第一个恢复后检查点之前崩溃的情况", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e91754c6d4978576f71e18ac30bce445c478ff427f8ce632dc205836fb50274f"}, "url": "/docs/compare/?release=9.3.24#9.3.24-22efc1b502a443bd", "source_url": "/docs/release/9.3.24/#id-1.11.6.6.6"}]}, {"id": "9.5.14-40ea06cea1d40f1e", "cves": [], "html": "<p>避免回收全零 btree 页时发出虚假 WAL 记录（Amit Kapila）</p>\n<p>这个错误曾被观察到导致断言失败，并且可能让热备服务器上发生不必要的查询取消。</p>", "text": "避免回收全零 btree 页时发出虚假 WAL 记录（Amit Kapila） 这个错误曾被观察到导致断言失败，并且可能让热备服务器上发生不必要的查询取消。", "title": "避免回收全零 btree 页时发出虚假 WAL 记录", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.14/#id-1.11.6.16.5", "source_hash": "1f261ca5298c0d468e5f8e100685ee862f4ef6c3d4616b53a22ea2d517e40f7c", "section_path": ["变更"], "commit_groups": [], "identity_text": "Avoid emitting a bogus WAL record when recycling an all-zero btree page (Amit Kapila) This mistake has been seen to cause assertion failures, and potentially it could result in unnecessary query cancellations on hot standby servers.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.14/changes/005", "db_id": "cf21645a6589d145ccf19e984286e3f7", "patch_ids": [], "statement_hash": "068a7948ba1f16ddd35a5f5cbef739818b1ffa464aa0ba3050f488c0171e180f", "relations": [{"rule": 2, "type": "equivalent", "target": "03132998b632c02d15256b84330ab60a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "068a7948ba1f16ddd35a5f5cbef739818b1ffa464aa0ba3050f488c0171e180f"}}, {"rule": 2, "type": "equivalent", "target": "2dd037d083b0c3bfe29f7cfbbd4c5611", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "068a7948ba1f16ddd35a5f5cbef739818b1ffa464aa0ba3050f488c0171e180f"}}, {"rule": 2, "type": "equivalent", "target": "67b50d90cd1cc74144791acbcf155f1c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "068a7948ba1f16ddd35a5f5cbef739818b1ffa464aa0ba3050f488c0171e180f"}}, {"rule": 2, "type": "equivalent", "target": "a74fce06026a164587c89b59b42606e8", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "068a7948ba1f16ddd35a5f5cbef739818b1ffa464aa0ba3050f488c0171e180f"}}], "version": "9.5.14", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "67b50d90cd1cc74144791acbcf155f1c", "kind": "equivalent", "version": "10.5", "label": "10.5", "title": "避免回收全零 B-树页面时生成错误的 WAL 记录", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "068a7948ba1f16ddd35a5f5cbef739818b1ffa464aa0ba3050f488c0171e180f"}, "url": "/docs/compare/?release=10.5#10.5-62a34b74aef33d5f", "source_url": "/docs/release/10.5/#id-1.11.6.23.5"}, {"db_id": "03132998b632c02d15256b84330ab60a", "kind": "equivalent", "version": "9.6.10", "label": "9.6.10", "title": "避免回收全零 btree 页时发出虚假 WAL 记录", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "068a7948ba1f16ddd35a5f5cbef739818b1ffa464aa0ba3050f488c0171e180f"}, "url": "/docs/compare/?release=9.6.10#9.6.10-40ea06cea1d40f1e", "source_url": "/docs/release/9.6.10/#id-1.11.6.19.5"}, {"db_id": "a74fce06026a164587c89b59b42606e8", "kind": "equivalent", "version": "9.4.19", "label": "9.4.19", "title": "避免回收全零 btree 页时发出虚假 WAL 记录", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "068a7948ba1f16ddd35a5f5cbef739818b1ffa464aa0ba3050f488c0171e180f"}, "url": "/docs/compare/?release=9.4.19#9.4.19-40ea06cea1d40f1e", "source_url": "/docs/release/9.4.19/#id-1.11.6.12.5"}, {"db_id": "2dd037d083b0c3bfe29f7cfbbd4c5611", "kind": "equivalent", "version": "9.3.24", "label": "9.3.24", "title": "避免回收全零 btree 页时发出虚假 WAL 记录", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "068a7948ba1f16ddd35a5f5cbef739818b1ffa464aa0ba3050f488c0171e180f"}, "url": "/docs/compare/?release=9.3.24#9.3.24-40ea06cea1d40f1e", "source_url": "/docs/release/9.3.24/#id-1.11.6.6.6"}]}, {"id": "9.5.14-6eda169042a1659d", "cves": [], "html": "<p>在 WAL 重放期间，防范损坏的记录长度超过 1GB（Michael Paquier）</p>\n<p>把这种情况当作损坏数据。此前代码会试图分配空间并得到硬错误，使恢复无法进行。</p>", "text": "在 WAL 重放期间，防范损坏的记录长度超过 1GB（Michael Paquier） 把这种情况当作损坏数据。此前代码会试图分配空间并得到硬错误，使恢复无法进行。", "title": "在 WAL 重放期间，防范损坏的记录长度超过 1GB", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.14/#id-1.11.6.16.5", "source_hash": "9dddf4f3e6d1ca47fd0bf7f23e5304de5c5dd7b1c82e1f3966a16a1b4d7fab2e", "section_path": ["变更"], "commit_groups": [], "identity_text": "During WAL replay, guard against corrupted record lengths exceeding 1GB (Michael Paquier) Treat such a case as corrupt data. Previously, the code would try to allocate space and get a hard error, making recovery impossible.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.14/changes/006", "db_id": "41027e0df645771c19c9446f3f1b545c", "patch_ids": [], "statement_hash": "6c009cbd40e60a45c40d556686aa558e12304cae5d4566922e19206197acf9e9", "relations": [{"rule": 2, "type": "equivalent", "target": "4b605aaca4274cb27916ae8041d62fed", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6c009cbd40e60a45c40d556686aa558e12304cae5d4566922e19206197acf9e9"}}, {"rule": 2, "type": "equivalent", "target": "ba3d8fbe57a34976503d5f20aa9dcdbf", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6c009cbd40e60a45c40d556686aa558e12304cae5d4566922e19206197acf9e9"}}], "version": "9.5.14", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "ba3d8fbe57a34976503d5f20aa9dcdbf", "kind": "equivalent", "version": "10.5", "label": "10.5", "title": "WAL 重放期间，防范损坏记录的长度超过 1GB 的情况", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6c009cbd40e60a45c40d556686aa558e12304cae5d4566922e19206197acf9e9"}, "url": "/docs/compare/?release=10.5#10.5-6813edd2e1e443e0", "source_url": "/docs/release/10.5/#id-1.11.6.23.5"}, {"db_id": "4b605aaca4274cb27916ae8041d62fed", "kind": "equivalent", "version": "9.6.10", "label": "9.6.10", "title": "在 WAL 重放期间，防范损坏的记录长度超过 1GB", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6c009cbd40e60a45c40d556686aa558e12304cae5d4566922e19206197acf9e9"}, "url": "/docs/compare/?release=9.6.10#9.6.10-6eda169042a1659d", "source_url": "/docs/release/9.6.10/#id-1.11.6.19.5"}]}, {"id": "9.5.14-9ae231b5f6bd70e2", "cves": [], "html": "<p>结束恢复时，尽可能推迟写入时间线历史文件（Heikki Linnakangas）</p>\n<p>这避免了恢复清理期间的失败（如两阶段状态文件的问题）导致磁盘上时间线状态不一致的一些情况。</p>", "text": "结束恢复时，尽可能推迟写入时间线历史文件（Heikki Linnakangas） 这避免了恢复清理期间的失败（如两阶段状态文件的问题）导致磁盘上时间线状态不一致的一些情况。", "title": "结束恢复时，尽可能推迟写入时间线历史文件", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.14/#id-1.11.6.16.5", "source_hash": "e4ad702497dcfb78409efe66b9575b0ac6b2759104ab9b963bb8b213e4a6c6ab", "section_path": ["变更"], "commit_groups": [], "identity_text": "When ending recovery, delay writing the timeline history file as long as possible (Heikki Linnakangas) This avoids some situations where a failure during recovery cleanup (such as a problem with a two-phase state file) led to inconsistent timeline state on-disk.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.14/changes/007", "db_id": "03b56355c5d56825a10f6299f1501ca8", "patch_ids": [], "statement_hash": "0ec483036b10caf65625991b017971fd3dc13e75e76076c919a35938a47426c6", "relations": [{"rule": 2, "type": "equivalent", "target": "5ddea9e723cf34b46c793f3b04bef3f8", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0ec483036b10caf65625991b017971fd3dc13e75e76076c919a35938a47426c6"}}, {"rule": 2, "type": "equivalent", "target": "f65d81dcd533494d65b6488dd9aa0008", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0ec483036b10caf65625991b017971fd3dc13e75e76076c919a35938a47426c6"}}], "version": "9.5.14", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "5ddea9e723cf34b46c793f3b04bef3f8", "kind": "equivalent", "version": "10.5", "label": "10.5", "title": "结束恢复时，尽可能推迟写入时间线历史文件", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0ec483036b10caf65625991b017971fd3dc13e75e76076c919a35938a47426c6"}, "url": "/docs/compare/?release=10.5#10.5-9ae231b5f6bd70e2", "source_url": "/docs/release/10.5/#id-1.11.6.23.5"}, {"db_id": "f65d81dcd533494d65b6488dd9aa0008", "kind": "equivalent", "version": "9.6.10", "label": "9.6.10", "title": "结束恢复时，尽可能推迟写入时间线历史文件", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0ec483036b10caf65625991b017971fd3dc13e75e76076c919a35938a47426c6"}, "url": "/docs/compare/?release=9.6.10#9.6.10-9ae231b5f6bd70e2", "source_url": "/docs/release/9.6.10/#id-1.11.6.19.5"}]}, {"id": "9.5.14-6d677cacf09bcdc6", "cves": [], "html": "<p>改进删除许多关系的事务的 WAL 重放性能（Fujii Masao）</p>\n<p>这一更改减少了共享缓冲区被扫描的次数，因此在该设置较大时收益最大。</p>", "text": "改进删除许多关系的事务的 WAL 重放性能（Fujii Masao） 这一更改减少了共享缓冲区被扫描的次数，因此在该设置较大时收益最大。", "title": "改进删除许多关系的事务的 WAL 重放性能", "commits": [], "section": "变更", "category": "performance", "source_url": "/docs/release/9.5.14/#id-1.11.6.16.5", "source_hash": "7cc920f9076e43b10d60cc01c4b21850edbb0ed4aeb95ff3f54a6585449d78b1", "section_path": ["变更"], "commit_groups": [], "identity_text": "Improve performance of WAL replay for transactions that drop many relations (Fujii Masao) This change reduces the number of times that shared buffers are scanned, so that it is of most benefit when that setting is large.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.14/changes/008", "db_id": "87e029f82b47117920a10995449b3418", "patch_ids": [], "statement_hash": "dae0982858056281ddd784b5db4d4042731d4c1115c7c137a61454406027b381", "relations": [{"rule": 2, "type": "equivalent", "target": "0a7c3a5fd7a055838a2d503121a355db", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dae0982858056281ddd784b5db4d4042731d4c1115c7c137a61454406027b381"}}, {"rule": 2, "type": "equivalent", "target": "152828386a677615583bbe556b597df0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dae0982858056281ddd784b5db4d4042731d4c1115c7c137a61454406027b381"}}, {"rule": 2, "type": "equivalent", "target": "442bd49ac88e1927ac19e63a17c88a11", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dae0982858056281ddd784b5db4d4042731d4c1115c7c137a61454406027b381"}}, {"rule": 2, "type": "equivalent", "target": "53d49ed990ec4935f62ad367fb4e998e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dae0982858056281ddd784b5db4d4042731d4c1115c7c137a61454406027b381"}}], "version": "9.5.14", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "442bd49ac88e1927ac19e63a17c88a11", "kind": "equivalent", "version": "10.5", "label": "10.5", "title": "提高删除大量关系的事务的 WAL 重放性能", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dae0982858056281ddd784b5db4d4042731d4c1115c7c137a61454406027b381"}, "url": "/docs/compare/?release=10.5#10.5-13ef945b2e108a26", "source_url": "/docs/release/10.5/#id-1.11.6.23.5"}, {"db_id": "0a7c3a5fd7a055838a2d503121a355db", "kind": "equivalent", "version": "9.6.10", "label": "9.6.10", "title": "改进删除许多关系的事务的 WAL 重放性能", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dae0982858056281ddd784b5db4d4042731d4c1115c7c137a61454406027b381"}, "url": "/docs/compare/?release=9.6.10#9.6.10-6d677cacf09bcdc6", "source_url": "/docs/release/9.6.10/#id-1.11.6.19.5"}, {"db_id": "152828386a677615583bbe556b597df0", "kind": "equivalent", "version": "9.4.19", "label": "9.4.19", "title": "改进删除许多关系的事务的 WAL 重放性能", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dae0982858056281ddd784b5db4d4042731d4c1115c7c137a61454406027b381"}, "url": "/docs/compare/?release=9.4.19#9.4.19-6d677cacf09bcdc6", "source_url": "/docs/release/9.4.19/#id-1.11.6.12.5"}, {"db_id": "53d49ed990ec4935f62ad367fb4e998e", "kind": "equivalent", "version": "9.3.24", "label": "9.3.24", "title": "改进删除许多关系的事务的 WAL 重放性能", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dae0982858056281ddd784b5db4d4042731d4c1115c7c137a61454406027b381"}, "url": "/docs/compare/?release=9.3.24#9.3.24-6d677cacf09bcdc6", "source_url": "/docs/release/9.3.24/#id-1.11.6.6.6"}]}, {"id": "9.5.14-650266e24d800bcc", "cves": [], "html": "<p>改进备库服务器 WAL 重放中锁释放的性能（Thomas Munro）</p>", "text": "改进备库服务器 WAL 重放中锁释放的性能（Thomas Munro）", "title": "改进备库服务器 WAL 重放中锁释放的性能", "commits": [], "section": "变更", "category": "performance", "source_url": "/docs/release/9.5.14/#id-1.11.6.16.5", "source_hash": "2f9e243751b8ba8068004f0c0889fb83235c64bec6a25f3891a4f1ca722a18d0", "section_path": ["变更"], "commit_groups": [], "identity_text": "Improve performance of lock releasing in standby server WAL replay (Thomas Munro)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.14/changes/009", "db_id": "8ba3323e8cfbe4ae8c3cf944b89bd142", "patch_ids": [], "statement_hash": "c5e832fe5b3955e163fe6a4881dd2299279821cdfbd8c26907079cafc05875a1", "relations": [{"rule": 2, "type": "equivalent", "target": "10e8bd8bbcb3a0dc654368a93dc0266c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c5e832fe5b3955e163fe6a4881dd2299279821cdfbd8c26907079cafc05875a1"}}, {"rule": 2, "type": "equivalent", "target": "198f89cf0c74e8275f1b5659a253422e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c5e832fe5b3955e163fe6a4881dd2299279821cdfbd8c26907079cafc05875a1"}}, {"rule": 2, "type": "equivalent", "target": "7331471ab70e53cf23524471f59d35f3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c5e832fe5b3955e163fe6a4881dd2299279821cdfbd8c26907079cafc05875a1"}}, {"rule": 2, "type": "equivalent", "target": "b632ab0b0a3e766425ff17921f9d6048", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c5e832fe5b3955e163fe6a4881dd2299279821cdfbd8c26907079cafc05875a1"}}], "version": "9.5.14", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "7331471ab70e53cf23524471f59d35f3", "kind": "equivalent", "version": "10.5", "label": "10.5", "title": "提高备库 WAL 重放中释放锁的性能", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c5e832fe5b3955e163fe6a4881dd2299279821cdfbd8c26907079cafc05875a1"}, "url": "/docs/compare/?release=10.5#10.5-1c055dee978bcef7", "source_url": "/docs/release/10.5/#id-1.11.6.23.5"}, {"db_id": "198f89cf0c74e8275f1b5659a253422e", "kind": "equivalent", "version": "9.6.10", "label": "9.6.10", "title": "改进备库服务器 WAL 重放中锁释放的性能", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c5e832fe5b3955e163fe6a4881dd2299279821cdfbd8c26907079cafc05875a1"}, "url": "/docs/compare/?release=9.6.10#9.6.10-650266e24d800bcc", "source_url": "/docs/release/9.6.10/#id-1.11.6.19.5"}, {"db_id": "10e8bd8bbcb3a0dc654368a93dc0266c", "kind": "equivalent", "version": "9.4.19", "label": "9.4.19", "title": "改进备库 WAL 重放中锁释放的性能", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c5e832fe5b3955e163fe6a4881dd2299279821cdfbd8c26907079cafc05875a1"}, "url": "/docs/compare/?release=9.4.19#9.4.19-fb93b33ad1f882d2", "source_url": "/docs/release/9.4.19/#id-1.11.6.12.5"}, {"db_id": "b632ab0b0a3e766425ff17921f9d6048", "kind": "equivalent", "version": "9.3.24", "label": "9.3.24", "title": "改进备库服务器 WAL 重放中锁释放的性能", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c5e832fe5b3955e163fe6a4881dd2299279821cdfbd8c26907079cafc05875a1"}, "url": "/docs/compare/?release=9.3.24#9.3.24-650266e24d800bcc", "source_url": "/docs/release/9.3.24/#id-1.11.6.6.6"}]}, {"id": "9.5.14-0fff8704bb5dc396", "cves": [], "html": "<p>让逻辑 WAL 发送者正确报告流状态（Simon Riggs、Sawada Masahiko）</p>\n<p>代码此前错误判断是否已追上上游服务器。</p>", "text": "让逻辑 WAL 发送者正确报告流状态（Simon Riggs、Sawada Masahiko） 代码此前错误判断是否已追上上游服务器。", "title": "让逻辑 WAL 发送者正确报告流状态", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.14/#id-1.11.6.16.5", "source_hash": "12beee5a891790873d268fe03a2a7d7a86a5650fd3c90e32dcea33ca7b84b071", "section_path": ["变更"], "commit_groups": [], "identity_text": "Make logical WAL senders report streaming state correctly (Simon Riggs, Sawada Masahiko) The code previously mis-detected whether or not it had caught up with the upstream server.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.14/changes/010", "db_id": "ce0c374e27e67e4239351a562a480325", "patch_ids": [], "statement_hash": "4d77f60252a806f87315684495c6b6acef9bfb3745d23aaa92ad3200ef8f5a10", "relations": [{"rule": 2, "type": "equivalent", "target": "0024dddf8b0a2457e78f36aab16a9436", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4d77f60252a806f87315684495c6b6acef9bfb3745d23aaa92ad3200ef8f5a10"}}, {"rule": 2, "type": "equivalent", "target": "153b2bc4ecaec1233e1e5d5ae5e15de9", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4d77f60252a806f87315684495c6b6acef9bfb3745d23aaa92ad3200ef8f5a10"}}, {"rule": 2, "type": "equivalent", "target": "63531a370ad0a7a51eb997fce1a8f295", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4d77f60252a806f87315684495c6b6acef9bfb3745d23aaa92ad3200ef8f5a10"}}], "version": "9.5.14", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "153b2bc4ecaec1233e1e5d5ae5e15de9", "kind": "equivalent", "version": "10.5", "label": "10.5", "title": "使逻辑 WAL 发送进程正确报告流式传输状态", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4d77f60252a806f87315684495c6b6acef9bfb3745d23aaa92ad3200ef8f5a10"}, "url": "/docs/compare/?release=10.5#10.5-989cc221c1a1990a", "source_url": "/docs/release/10.5/#id-1.11.6.23.5"}, {"db_id": "63531a370ad0a7a51eb997fce1a8f295", "kind": "equivalent", "version": "9.6.10", "label": "9.6.10", "title": "让逻辑 WAL 发送者正确报告流状态", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4d77f60252a806f87315684495c6b6acef9bfb3745d23aaa92ad3200ef8f5a10"}, "url": "/docs/compare/?release=9.6.10#9.6.10-0fff8704bb5dc396", "source_url": "/docs/release/9.6.10/#id-1.11.6.19.5"}, {"db_id": "0024dddf8b0a2457e78f36aab16a9436", "kind": "equivalent", "version": "9.4.19", "label": "9.4.19", "title": "让逻辑 WAL 发送者正确报告流状态", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4d77f60252a806f87315684495c6b6acef9bfb3745d23aaa92ad3200ef8f5a10"}, "url": "/docs/compare/?release=9.4.19#9.4.19-0fff8704bb5dc396", "source_url": "/docs/release/9.4.19/#id-1.11.6.12.5"}]}, {"id": "9.5.14-f813c7f7a2e35180", "cves": [], "html": "<p>修复逻辑解码期间快照处理中的 bug，罕见情况下可能导致错误的解码结果（Arseny Sher、Álvaro Herrera）</p>", "text": "修复逻辑解码期间快照处理中的 bug，罕见情况下可能导致错误的解码结果（Arseny Sher、Álvaro Herrera）", "title": "修复逻辑解码期间快照处理中的 bug，罕见情况下可能导致错误的解码结果", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.14/#id-1.11.6.16.5", "source_hash": "b7f0b5819259613fb23215bd6dc8f782dc0149974598072935318c62cca494e8", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix bugs in snapshot handling during logical decoding, allowing wrong decoding results in rare cases (Arseny Sher, Álvaro Herrera)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.14/changes/011", "db_id": "747a23053f3fdc8513934045f4b8a8eb", "patch_ids": [], "statement_hash": "2d59a06961fcbfe2737d81b449e6ec66d6dd457093da06528417729be1ceae77", "relations": [{"rule": 2, "type": "equivalent", "target": "722dda8d255ed48f07a7f1102dc85540", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2d59a06961fcbfe2737d81b449e6ec66d6dd457093da06528417729be1ceae77"}}, {"rule": 2, "type": "equivalent", "target": "ba72487eca3d90a8965a8f78799d4a37", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2d59a06961fcbfe2737d81b449e6ec66d6dd457093da06528417729be1ceae77"}}, {"rule": 2, "type": "equivalent", "target": "ed39f60ba1d526a39605d75e09f29524", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2d59a06961fcbfe2737d81b449e6ec66d6dd457093da06528417729be1ceae77"}}], "version": "9.5.14", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "ed39f60ba1d526a39605d75e09f29524", "kind": "equivalent", "version": "10.5", "label": "10.5", "title": "修复逻辑解码期间快照处理中的缺陷，这些缺陷在罕见情况下会导致错误的解码结果", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2d59a06961fcbfe2737d81b449e6ec66d6dd457093da06528417729be1ceae77"}, "url": "/docs/compare/?release=10.5#10.5-7a630233e8158c82", "source_url": "/docs/release/10.5/#id-1.11.6.23.5"}, {"db_id": "722dda8d255ed48f07a7f1102dc85540", "kind": "equivalent", "version": "9.6.10", "label": "9.6.10", "title": "修复逻辑解码期间快照处理中的 bug，罕见情况下可能导致错误的解码结果", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2d59a06961fcbfe2737d81b449e6ec66d6dd457093da06528417729be1ceae77"}, "url": "/docs/compare/?release=9.6.10#9.6.10-f813c7f7a2e35180", "source_url": "/docs/release/9.6.10/#id-1.11.6.19.5"}, {"db_id": "ba72487eca3d90a8965a8f78799d4a37", "kind": "equivalent", "version": "9.4.19", "label": "9.4.19", "title": "修复逻辑解码期间快照处理的缺陷，罕见情况下可能导致错误的解码结果", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2d59a06961fcbfe2737d81b449e6ec66d6dd457093da06528417729be1ceae77"}, "url": "/docs/compare/?release=9.4.19#9.4.19-3a3e750646316e63", "source_url": "/docs/release/9.4.19/#id-1.11.6.12.5"}]}, {"id": "9.5.14-779e6d81d6e547c8", "cves": [], "html": "<p>确保索引创建中途失败后正确重建表的缓存索引列表（Peter Geoghegan）</p>\n<p>此前失败索引的 OID 可能留在列表中，在同一会话中之后引起问题。</p>", "text": "确保索引创建中途失败后正确重建表的缓存索引列表（Peter Geoghegan） 此前失败索引的 OID 可能留在列表中，在同一会话中之后引起问题。", "title": "确保索引创建中途失败后正确重建表的缓存索引列表", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.14/#id-1.11.6.16.5", "source_hash": "51ef6609147a62c994f70e0a2c09017f69a5d6edafc2269070a47932b4e0f11c", "section_path": ["变更"], "commit_groups": [], "identity_text": "Ensure a table's cached index list is correctly rebuilt after an index creation fails partway through (Peter Geoghegan) Previously, the failed index's OID could remain in the list, causing problems later in the same session.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.14/changes/012", "db_id": "26e04fcb7e6cede2081c220dd2bec55f", "patch_ids": [], "statement_hash": "cd62bf70f8ea7367a437e9c84dd8160f5d842a9309758b8eb517f493440f6800", "relations": [{"rule": 2, "type": "equivalent", "target": "186e31d2cfd35855b738f0e59e37bc8a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cd62bf70f8ea7367a437e9c84dd8160f5d842a9309758b8eb517f493440f6800"}}, {"rule": 2, "type": "equivalent", "target": "323782b89f6740151049a909f0559a13", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cd62bf70f8ea7367a437e9c84dd8160f5d842a9309758b8eb517f493440f6800"}}, {"rule": 2, "type": "equivalent", "target": "58f069360214dd9f86e14701bbefcbb5", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cd62bf70f8ea7367a437e9c84dd8160f5d842a9309758b8eb517f493440f6800"}}, {"rule": 2, "type": "equivalent", "target": "9816837056d8933773918134c3de8eba", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cd62bf70f8ea7367a437e9c84dd8160f5d842a9309758b8eb517f493440f6800"}}], "version": "9.5.14", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "58f069360214dd9f86e14701bbefcbb5", "kind": "equivalent", "version": "10.5", "label": "10.5", "title": "确保索引创建中途失败后，正确重建表的缓存索引列表", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cd62bf70f8ea7367a437e9c84dd8160f5d842a9309758b8eb517f493440f6800"}, "url": "/docs/compare/?release=10.5#10.5-f07313845b5285b2", "source_url": "/docs/release/10.5/#id-1.11.6.23.5"}, {"db_id": "186e31d2cfd35855b738f0e59e37bc8a", "kind": "equivalent", "version": "9.6.10", "label": "9.6.10", "title": "确保索引创建中途失败后正确重建表的缓存索引列表", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cd62bf70f8ea7367a437e9c84dd8160f5d842a9309758b8eb517f493440f6800"}, "url": "/docs/compare/?release=9.6.10#9.6.10-779e6d81d6e547c8", "source_url": "/docs/release/9.6.10/#id-1.11.6.19.5"}, {"db_id": "9816837056d8933773918134c3de8eba", "kind": "equivalent", "version": "9.4.19", "label": "9.4.19", "title": "确保索引创建中途失败后正确重建表的缓存索引列表", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cd62bf70f8ea7367a437e9c84dd8160f5d842a9309758b8eb517f493440f6800"}, "url": "/docs/compare/?release=9.4.19#9.4.19-779e6d81d6e547c8", "source_url": "/docs/release/9.4.19/#id-1.11.6.12.5"}, {"db_id": "323782b89f6740151049a909f0559a13", "kind": "equivalent", "version": "9.3.24", "label": "9.3.24", "title": "确保索引创建中途失败后正确重建表的缓存索引列表", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cd62bf70f8ea7367a437e9c84dd8160f5d842a9309758b8eb517f493440f6800"}, "url": "/docs/compare/?release=9.3.24#9.3.24-779e6d81d6e547c8", "source_url": "/docs/release/9.3.24/#id-1.11.6.6.6"}]}, {"id": "9.5.14-b2988648e4be847c", "cves": [], "html": "<p>修复 GIN 索引中空未压缩 posting 列表页的处理不当（Sivasubramanian Ramasubramanian、Alexander Korotkov）</p>\n<p>这可能导致 9.4 之前的 GIN 索引经 pg_upgrade 之后的断言失败（9.4 及之后不会创建这种页）。</p>", "text": "修复 GIN 索引中空未压缩 posting 列表页的处理不当（Sivasubramanian Ramasubramanian、Alexander Korotkov） 这可能导致 9.4 之前的 GIN 索引经 pg_upgrade 之后的断言失败（9.4 及之后不会创建这种页）。", "title": "修复 GIN 索引中空未压缩 posting 列表页的处理不当", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.14/#id-1.11.6.16.5", "source_hash": "af1a4606e0baea42e268af5e6f13f7235e310d56ef2676adf64a074046021bda", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix mishandling of empty uncompressed posting list pages in GIN indexes (Sivasubramanian Ramasubramanian, Alexander Korotkov) This could result in an assertion failure after pg_upgrade of a pre-9.4 GIN index (9.4 and later will not create such pages).", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.14/changes/013", "db_id": "8f189bc48d07dd9c38455eb63e078f9a", "patch_ids": [], "statement_hash": "b8a2167e84b84133e3ca3d47c7884079f82f923701fd5212458ebf05df7a6a90", "relations": [{"rule": 2, "type": "equivalent", "target": "341f4d27388876640cba6c8724119e4b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b8a2167e84b84133e3ca3d47c7884079f82f923701fd5212458ebf05df7a6a90"}}, {"rule": 2, "type": "equivalent", "target": "5c9d8f690407ff5c825e0556be5cbb4d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b8a2167e84b84133e3ca3d47c7884079f82f923701fd5212458ebf05df7a6a90"}}, {"rule": 2, "type": "equivalent", "target": "a6b4d547c3a7317a9933e598d026a0af", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b8a2167e84b84133e3ca3d47c7884079f82f923701fd5212458ebf05df7a6a90"}}], "version": "9.5.14", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "a6b4d547c3a7317a9933e598d026a0af", "kind": "equivalent", "version": "10.5", "label": "10.5", "title": "修复 GIN 索引中对空的未压缩倒排列表页面的不正确处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b8a2167e84b84133e3ca3d47c7884079f82f923701fd5212458ebf05df7a6a90"}, "url": "/docs/compare/?release=10.5#10.5-1296c8950b3656f7", "source_url": "/docs/release/10.5/#id-1.11.6.23.5"}, {"db_id": "341f4d27388876640cba6c8724119e4b", "kind": "equivalent", "version": "9.6.10", "label": "9.6.10", "title": "修复 GIN 索引中空未压缩 posting 列表页的处理不当", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b8a2167e84b84133e3ca3d47c7884079f82f923701fd5212458ebf05df7a6a90"}, "url": "/docs/compare/?release=9.6.10#9.6.10-b2988648e4be847c", "source_url": "/docs/release/9.6.10/#id-1.11.6.19.5"}, {"db_id": "5c9d8f690407ff5c825e0556be5cbb4d", "kind": "equivalent", "version": "9.4.19", "label": "9.4.19", "title": "修复 GIN 索引中空未压缩 posting 列表页的处理不当", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b8a2167e84b84133e3ca3d47c7884079f82f923701fd5212458ebf05df7a6a90"}, "url": "/docs/compare/?release=9.4.19#9.4.19-b2988648e4be847c", "source_url": "/docs/release/9.4.19/#id-1.11.6.12.5"}]}, {"id": "9.5.14-58f18e932dffa484", "cves": [], "html": "<p>确保 <code>VACUUM</code> 在 btree 页删除循环中响应信号（Andres Freund）</p>\n<p>损坏的 btree 索引可能在这里导致无限循环，而此前不强制崩溃就无法中断。</p>", "text": "确保 VACUUM 在 btree 页删除循环中响应信号（Andres Freund） 损坏的 btree 索引可能在这里导致无限循环，而此前不强制崩溃就无法中断。", "title": "确保 VACUUM 在 btree 页删除循环中响应信号", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.14/#id-1.11.6.16.5", "source_hash": "698fed7a82db1d2c3f06010579547106902cf451e245b911860d019b4dfff38a", "section_path": ["变更"], "commit_groups": [], "identity_text": "Ensure that VACUUM will respond to signals within btree page deletion loops (Andres Freund) Corrupted btree indexes could result in an infinite loop here, and that previously wasn't interruptible without forcing a crash.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.14/changes/014", "db_id": "e77cd5b3cc2485698c5eff5d1d373f8d", "patch_ids": [], "statement_hash": "6742ae11a896e2fd92be7b1babe613d1036f84f4921911000e38736d395a8e6c", "relations": [{"rule": 2, "type": "equivalent", "target": "4721267ab5f350035de8fbf5ef55ea6b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6742ae11a896e2fd92be7b1babe613d1036f84f4921911000e38736d395a8e6c"}}, {"rule": 2, "type": "equivalent", "target": "9daba184165b978b5048851d3664d90f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6742ae11a896e2fd92be7b1babe613d1036f84f4921911000e38736d395a8e6c"}}, {"rule": 2, "type": "equivalent", "target": "a56694ab96dd635cd3ac4625fff21988", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6742ae11a896e2fd92be7b1babe613d1036f84f4921911000e38736d395a8e6c"}}], "version": "9.5.14", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "9daba184165b978b5048851d3664d90f", "kind": "equivalent", "version": "10.5", "label": "10.5", "title": "确保 VACUUM 在 B-树页面删除循环中响应信号", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6742ae11a896e2fd92be7b1babe613d1036f84f4921911000e38736d395a8e6c"}, "url": "/docs/compare/?release=10.5#10.5-a963e430e7d11605", "source_url": "/docs/release/10.5/#id-1.11.6.23.5"}, {"db_id": "a56694ab96dd635cd3ac4625fff21988", "kind": "equivalent", "version": "9.6.10", "label": "9.6.10", "title": "确保 VACUUM 在 btree 页删除循环中响应信号", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6742ae11a896e2fd92be7b1babe613d1036f84f4921911000e38736d395a8e6c"}, "url": "/docs/compare/?release=9.6.10#9.6.10-58f18e932dffa484", "source_url": "/docs/release/9.6.10/#id-1.11.6.19.5"}, {"db_id": "4721267ab5f350035de8fbf5ef55ea6b", "kind": "equivalent", "version": "9.4.19", "label": "9.4.19", "title": "确保 VACUUM 在 btree 页删除循环中响应信号", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6742ae11a896e2fd92be7b1babe613d1036f84f4921911000e38736d395a8e6c"}, "url": "/docs/compare/?release=9.4.19#9.4.19-58f18e932dffa484", "source_url": "/docs/release/9.4.19/#id-1.11.6.12.5"}]}, {"id": "9.5.14-cf3ce0b44d07413b", "cves": [], "html": "<p>修复涉及复合类型列的等价类的错误优化（Tom Lane）</p>\n<p>这导致未能识别复合列上的索引可以为该列上的归并连接提供所需的排序顺序。</p>", "text": "修复涉及复合类型列的等价类的错误优化（Tom Lane） 这导致未能识别复合列上的索引可以为该列上的归并连接提供所需的排序顺序。", "title": "修复涉及复合类型列的等价类的错误优化", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.14/#id-1.11.6.16.5", "source_hash": "5f34ec56743e8e34e885397e92591b5f7abcf68d61c46db0ac49623f23afa9a4", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix misoptimization of equivalence classes involving composite-type columns (Tom Lane) This resulted in failure to recognize that an index on a composite column could provide the sort order needed for a mergejoin on that column.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.14/changes/015", "db_id": "a9b35e1d8e5e3420204fe78b358c9962", "patch_ids": [], "statement_hash": "f614996577b318997d1ad826e475da2f633c108f544ab5dfc793c89467fd4beb", "relations": [{"rule": 2, "type": "equivalent", "target": "182bf1369f6e672ae01de81e926e566b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f614996577b318997d1ad826e475da2f633c108f544ab5dfc793c89467fd4beb"}}, {"rule": 2, "type": "equivalent", "target": "1a738a8866da02b729b2a8833232d01b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f614996577b318997d1ad826e475da2f633c108f544ab5dfc793c89467fd4beb"}}, {"rule": 2, "type": "equivalent", "target": "4c8532a87fe864b0d7dd80115d45ded5", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f614996577b318997d1ad826e475da2f633c108f544ab5dfc793c89467fd4beb"}}, {"rule": 2, "type": "equivalent", "target": "52cef43a8c73048f335ccbec3a8eaa20", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f614996577b318997d1ad826e475da2f633c108f544ab5dfc793c89467fd4beb"}}], "version": "9.5.14", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "4c8532a87fe864b0d7dd80115d45ded5", "kind": "equivalent", "version": "10.5", "label": "10.5", "title": "修复涉及复合类型列的等价类的不正确优化", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f614996577b318997d1ad826e475da2f633c108f544ab5dfc793c89467fd4beb"}, "url": "/docs/compare/?release=10.5#10.5-b23536709041574c", "source_url": "/docs/release/10.5/#id-1.11.6.23.5"}, {"db_id": "52cef43a8c73048f335ccbec3a8eaa20", "kind": "equivalent", "version": "9.6.10", "label": "9.6.10", "title": "修复涉及复合类型列的等价类的错误优化", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f614996577b318997d1ad826e475da2f633c108f544ab5dfc793c89467fd4beb"}, "url": "/docs/compare/?release=9.6.10#9.6.10-cf3ce0b44d07413b", "source_url": "/docs/release/9.6.10/#id-1.11.6.19.5"}, {"db_id": "1a738a8866da02b729b2a8833232d01b", "kind": "equivalent", "version": "9.4.19", "label": "9.4.19", "title": "修复涉及复合类型列的等价类的错误优化", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f614996577b318997d1ad826e475da2f633c108f544ab5dfc793c89467fd4beb"}, "url": "/docs/compare/?release=9.4.19#9.4.19-cf3ce0b44d07413b", "source_url": "/docs/release/9.4.19/#id-1.11.6.12.5"}, {"db_id": "182bf1369f6e672ae01de81e926e566b", "kind": "equivalent", "version": "9.3.24", "label": "9.3.24", "title": "修复涉及复合类型列的等价类的错误优化", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f614996577b318997d1ad826e475da2f633c108f544ab5dfc793c89467fd4beb"}, "url": "/docs/compare/?release=9.3.24#9.3.24-cf3ce0b44d07413b", "source_url": "/docs/release/9.3.24/#id-1.11.6.6.6"}]}, {"id": "9.5.14-4fc173c77f38c086", "cves": [], "html": "<p>修复 SQL 标准 <code>FETCH FIRST</code> 语法允许参数（<code>$<em><code>n</code></em></code>），正如标准所期望的（Andrew Gierth）</p>", "text": "修复 SQL 标准 FETCH FIRST 语法允许参数（$n），正如标准所期望的（Andrew Gierth）", "title": "修复 SQL 标准 FETCH FIRST 语法允许参数（$n），正如标准所期望的", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.14/#id-1.11.6.16.5", "source_hash": "d3b59d512ff8582c1f5997fe231357932b873177fe9f6f4d1d353476849c4043", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix SQL-standard FETCH FIRST syntax to allow parameters ($n), as the standard expects (Andrew Gierth)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.14/changes/016", "db_id": "23762746b800611931fc7c4cd4b33449", "patch_ids": [], "statement_hash": "461ce3f06fb3ad3bfe5901fc90283844df681aee22c74abd9dd1b8dd8f30c649", "relations": [{"rule": 2, "type": "equivalent", "target": "1968060fb84d59b197c126ae941b4b3b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "461ce3f06fb3ad3bfe5901fc90283844df681aee22c74abd9dd1b8dd8f30c649"}}, {"rule": 2, "type": "equivalent", "target": "24bdb88062ca581f68e29dbcbd38c755", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "461ce3f06fb3ad3bfe5901fc90283844df681aee22c74abd9dd1b8dd8f30c649"}}, {"rule": 2, "type": "equivalent", "target": "490c01ca4c089acfc35b01915796225c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "461ce3f06fb3ad3bfe5901fc90283844df681aee22c74abd9dd1b8dd8f30c649"}}, {"rule": 2, "type": "equivalent", "target": "ffee22d09074ad0235653a33dd93df64", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "461ce3f06fb3ad3bfe5901fc90283844df681aee22c74abd9dd1b8dd8f30c649"}}], "version": "9.5.14", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "ffee22d09074ad0235653a33dd93df64", "kind": "equivalent", "version": "10.5", "label": "10.5", "title": "修复 SQL 标准的 FETCH FIRST 语法，使其按照标准预期允许参数（$n）", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "461ce3f06fb3ad3bfe5901fc90283844df681aee22c74abd9dd1b8dd8f30c649"}, "url": "/docs/compare/?release=10.5#10.5-3c42f8df248c938e", "source_url": "/docs/release/10.5/#id-1.11.6.23.5"}, {"db_id": "1968060fb84d59b197c126ae941b4b3b", "kind": "equivalent", "version": "9.6.10", "label": "9.6.10", "title": "修复 SQL 标准 FETCH FIRST 语法允许参数（$n），正如标准所期望的", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "461ce3f06fb3ad3bfe5901fc90283844df681aee22c74abd9dd1b8dd8f30c649"}, "url": "/docs/compare/?release=9.6.10#9.6.10-4fc173c77f38c086", "source_url": "/docs/release/9.6.10/#id-1.11.6.19.5"}, {"db_id": "24bdb88062ca581f68e29dbcbd38c755", "kind": "equivalent", "version": "9.4.19", "label": "9.4.19", "title": "修复 SQL 标准FETCH FIRST语法，按标准预期允许参数（$n）", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "461ce3f06fb3ad3bfe5901fc90283844df681aee22c74abd9dd1b8dd8f30c649"}, "url": "/docs/compare/?release=9.4.19#9.4.19-a8aaf744484cbc12", "source_url": "/docs/release/9.4.19/#id-1.11.6.12.5"}, {"db_id": "490c01ca4c089acfc35b01915796225c", "kind": "equivalent", "version": "9.3.24", "label": "9.3.24", "title": "修复 SQL 标准 FETCH FIRST 语法允许参数（$n），正如标准所期望的", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "461ce3f06fb3ad3bfe5901fc90283844df681aee22c74abd9dd1b8dd8f30c649"}, "url": "/docs/compare/?release=9.3.24#9.3.24-4fc173c77f38c086", "source_url": "/docs/release/9.3.24/#id-1.11.6.6.6"}]}, {"id": "9.5.14-bdea22fc5d2a1f59", "cves": [], "html": "<p>修复 <code>getObjectDescription</code> 输出中某些对象名未做模式限定的问题（Kyotaro Horiguchi、Tom Lane）</p>\n<p>排序规则、转换和文本搜索对象的名称在应当模式限定时没有限定。</p>", "text": "修复 getObjectDescription 输出中某些对象名未做模式限定的问题（Kyotaro Horiguchi、Tom Lane） 排序规则、转换和文本搜索对象的名称在应当模式限定时没有限定。", "title": "修复 getObjectDescription 输出中某些对象名未做模式限定的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.14/#id-1.11.6.16.5", "source_hash": "b9911075355dcd2ffdea6e474ee372351f1ba42d3a512a98d395bb314b5925ee", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix failure to schema-qualify some object names in getObjectDescription output (Kyotaro Horiguchi, Tom Lane) Names of collations, conversions, and text search objects were not schema-qualified when they should be.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.14/changes/017", "db_id": "27658c43fd30fb6c922c98c6baaaac7b", "patch_ids": [], "statement_hash": "07ff116e1bc884f9d2f8cb5b05fb55fda509f7d7394a3261972c6bcfb13289ff", "relations": [{"rule": 2, "type": "equivalent", "target": "2b4777993e8637549d65833b7c3007bc", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "07ff116e1bc884f9d2f8cb5b05fb55fda509f7d7394a3261972c6bcfb13289ff"}}, {"rule": 2, "type": "equivalent", "target": "5e644a697564bfbaaa39703930a024bc", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "07ff116e1bc884f9d2f8cb5b05fb55fda509f7d7394a3261972c6bcfb13289ff"}}, {"rule": 2, "type": "equivalent", "target": "963261e14d052337e5dc2b4e88cbc5e0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "07ff116e1bc884f9d2f8cb5b05fb55fda509f7d7394a3261972c6bcfb13289ff"}}], "version": "9.5.14", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "963261e14d052337e5dc2b4e88cbc5e0", "kind": "equivalent", "version": "9.6.10", "label": "9.6.10", "title": "修复 getObjectDescription 输出中某些对象名未做模式限定的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "07ff116e1bc884f9d2f8cb5b05fb55fda509f7d7394a3261972c6bcfb13289ff"}, "url": "/docs/compare/?release=9.6.10#9.6.10-bdea22fc5d2a1f59", "source_url": "/docs/release/9.6.10/#id-1.11.6.19.5"}, {"db_id": "2b4777993e8637549d65833b7c3007bc", "kind": "equivalent", "version": "9.4.19", "label": "9.4.19", "title": "修复 getObjectDescription 输出中某些对象名未做模式限定的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "07ff116e1bc884f9d2f8cb5b05fb55fda509f7d7394a3261972c6bcfb13289ff"}, "url": "/docs/compare/?release=9.4.19#9.4.19-bdea22fc5d2a1f59", "source_url": "/docs/release/9.4.19/#id-1.11.6.12.5"}, {"db_id": "5e644a697564bfbaaa39703930a024bc", "kind": "equivalent", "version": "9.3.24", "label": "9.3.24", "title": "修复 getObjectDescription 输出中某些对象名未做模式限定的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "07ff116e1bc884f9d2f8cb5b05fb55fda509f7d7394a3261972c6bcfb13289ff"}, "url": "/docs/compare/?release=9.3.24#9.3.24-bdea22fc5d2a1f59", "source_url": "/docs/release/9.3.24/#id-1.11.6.6.6"}]}, {"id": "9.5.14-320884ea8c60e438", "cves": [], "html": "<p>把 <code>COPY FROM</code> 的当前行号计数器从 32 位加宽到 64 位（David Rowley）</p>\n<p>这避免了超过 4G 行输入的两个问题：<code>COPY FROM WITH HEADER</code> 会每 4G 行丢弃一行而不只是第一行；错误报告可能显示错误的行号。</p>", "text": "把 COPY FROM 的当前行号计数器从 32 位加宽到 64 位（David Rowley） 这避免了超过 4G 行输入的两个问题：COPY FROM WITH HEADER 会每 4G 行丢弃一行而不只是第一行；错误报告可能显示错误的行号。", "title": "把 COPY FROM 的当前行号计数器从 32 位加宽到 64 位", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.14/#id-1.11.6.16.5", "source_hash": "ff4f6b93a6c284927d35c020079c03d7ad8b1580ee6a26d94a7832aaa396766b", "section_path": ["变更"], "commit_groups": [], "identity_text": "Widen COPY FROM's current-line-number counter from 32 to 64 bits (David Rowley) This avoids two problems with input exceeding 4G lines: COPY FROM WITH HEADER would drop a line every 4G lines, not only the first line, and error reports could show a wrong line number.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.14/changes/018", "db_id": "6a29568a274d6d7c0272352ceaa8bff2", "patch_ids": [], "statement_hash": "8d31fc4a2ed333c07b1d2ccfe8dcf71234b6e2ef3078d93c716d562b5a7179b3", "relations": [{"rule": 2, "type": "equivalent", "target": "400870fbe55df9359ede788c742a20f4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8d31fc4a2ed333c07b1d2ccfe8dcf71234b6e2ef3078d93c716d562b5a7179b3"}}, {"rule": 2, "type": "equivalent", "target": "4f3380485fe76c091f58f1ddcd87dfde", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8d31fc4a2ed333c07b1d2ccfe8dcf71234b6e2ef3078d93c716d562b5a7179b3"}}, {"rule": 2, "type": "equivalent", "target": "97fc4eb2cf786b0b5d7e4acc0dfdfdc3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8d31fc4a2ed333c07b1d2ccfe8dcf71234b6e2ef3078d93c716d562b5a7179b3"}}, {"rule": 2, "type": "equivalent", "target": "b2cd9cf689a963719a5775af84071246", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8d31fc4a2ed333c07b1d2ccfe8dcf71234b6e2ef3078d93c716d562b5a7179b3"}}], "version": "9.5.14", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "b2cd9cf689a963719a5775af84071246", "kind": "equivalent", "version": "10.5", "label": "10.5", "title": "将 COPY FROM 的当前行号计数器从 32 位扩为 64 位", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8d31fc4a2ed333c07b1d2ccfe8dcf71234b6e2ef3078d93c716d562b5a7179b3"}, "url": "/docs/compare/?release=10.5#10.5-bc005ea158a544ad", "source_url": "/docs/release/10.5/#id-1.11.6.23.5"}, {"db_id": "400870fbe55df9359ede788c742a20f4", "kind": "equivalent", "version": "9.6.10", "label": "9.6.10", "title": "把 COPY FROM 的当前行号计数器从 32 位加宽到 64 位", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8d31fc4a2ed333c07b1d2ccfe8dcf71234b6e2ef3078d93c716d562b5a7179b3"}, "url": "/docs/compare/?release=9.6.10#9.6.10-320884ea8c60e438", "source_url": "/docs/release/9.6.10/#id-1.11.6.19.5"}, {"db_id": "97fc4eb2cf786b0b5d7e4acc0dfdfdc3", "kind": "equivalent", "version": "9.4.19", "label": "9.4.19", "title": "把 COPY FROM 的当前行号计数器从 32 位加宽到 64 位", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8d31fc4a2ed333c07b1d2ccfe8dcf71234b6e2ef3078d93c716d562b5a7179b3"}, "url": "/docs/compare/?release=9.4.19#9.4.19-320884ea8c60e438", "source_url": "/docs/release/9.4.19/#id-1.11.6.12.5"}, {"db_id": "4f3380485fe76c091f58f1ddcd87dfde", "kind": "equivalent", "version": "9.3.24", "label": "9.3.24", "title": "把 COPY FROM 的当前行号计数器从 32 位加宽到 64 位", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8d31fc4a2ed333c07b1d2ccfe8dcf71234b6e2ef3078d93c716d562b5a7179b3"}, "url": "/docs/compare/?release=9.3.24#9.3.24-320884ea8c60e438", "source_url": "/docs/release/9.3.24/#id-1.11.6.6.6"}]}, {"id": "9.5.14-52df9474d43758a2", "cves": [], "html": "<p>向 <span>ecpg</span> 的 <code>pgtypes</code> 库添加字符串释放函数，以避免 Windows 上的跨模块内存管理问题（Takayuki Tsunakawa）</p>\n<p>在 Windows 上，如果给定内存块的 <code>free</code> 调用不是来自 <code>malloc</code> 该内存的同一 DLL，就会发生崩溃。<code>pgtypes</code> 库有时返回期望调用者释放的字符串，使得无法遵循这一规则。添加了仅包装 <code>free</code> 的 <code>PGTYPESchar_free()</code> 函数，允许应用遵循规则。</p>", "text": "向 ecpg 的 pgtypes 库添加字符串释放函数，以避免 Windows 上的跨模块内存管理问题（Takayuki Tsunakawa） 在 Windows 上，如果给定内存块的 free 调用不是来自 malloc 该内存的同一 DLL，就会发生崩溃。pgtypes 库有时返回期望调用者释放的字符串，使得无法遵循这一规则。添加了仅包装 free 的 PGTYPESchar_free() 函数，允许应用遵循规则。", "title": "向 ecpg 的 pgtypes 库添加字符串释放函数，以避免 Windows 上的跨模块内存管理问题", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.14/#id-1.11.6.16.5", "source_hash": "4f3b7c88335b8869f8f8f96ea5c22ab520adaaa102f2af0566e72a66cedeabe9", "section_path": ["变更"], "commit_groups": [], "identity_text": "Add a string freeing function to ecpg's pgtypes library, so that cross-module memory management problems can be avoided on Windows (Takayuki Tsunakawa) On Windows, crashes can ensue if the free call for a given chunk of memory is not made from the same DLL that malloc'ed the memory. The pgtypes library sometimes returns strings that it expects the caller to free, making it impossible to follow this rule. Add a PGTYPESchar_free() function that just wraps free, allowing applications to follow this rule.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.14/changes/019", "db_id": "8c9a67f692106da0e5f9c5949aa377bf", "patch_ids": [], "statement_hash": "fed3b2344f2871ef3ce62e5f5fd4d3ae3281b67ceefa8cf91ca4e2d9da6203c1", "relations": [{"rule": 2, "type": "equivalent", "target": "0946cb89007c74396f2e5853cc40c2dd", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fed3b2344f2871ef3ce62e5f5fd4d3ae3281b67ceefa8cf91ca4e2d9da6203c1"}}, {"rule": 2, "type": "equivalent", "target": "0b91ed0ea692c7622473081c3cee603e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fed3b2344f2871ef3ce62e5f5fd4d3ae3281b67ceefa8cf91ca4e2d9da6203c1"}}, {"rule": 2, "type": "equivalent", "target": "41f554276a4627478e8a48afd1c9655e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fed3b2344f2871ef3ce62e5f5fd4d3ae3281b67ceefa8cf91ca4e2d9da6203c1"}}, {"rule": 2, "type": "equivalent", "target": "eb1d28d406157fb5bbad175fbbb79b13", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fed3b2344f2871ef3ce62e5f5fd4d3ae3281b67ceefa8cf91ca4e2d9da6203c1"}}], "version": "9.5.14", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "41f554276a4627478e8a48afd1c9655e", "kind": "equivalent", "version": "10.5", "label": "10.5", "title": "为 ecpg 的 pgtypes 库添加字符串释放函数，以避免 Windows 上跨模块内存管理的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fed3b2344f2871ef3ce62e5f5fd4d3ae3281b67ceefa8cf91ca4e2d9da6203c1"}, "url": "/docs/compare/?release=10.5#10.5-87992818e1200b8e", "source_url": "/docs/release/10.5/#id-1.11.6.23.5"}, {"db_id": "eb1d28d406157fb5bbad175fbbb79b13", "kind": "equivalent", "version": "9.6.10", "label": "9.6.10", "title": "向 ecpg 的 pgtypes 库添加字符串释放函数，以避免 Windows 上的跨模块内存管理问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fed3b2344f2871ef3ce62e5f5fd4d3ae3281b67ceefa8cf91ca4e2d9da6203c1"}, "url": "/docs/compare/?release=9.6.10#9.6.10-52df9474d43758a2", "source_url": "/docs/release/9.6.10/#id-1.11.6.19.5"}, {"db_id": "0946cb89007c74396f2e5853cc40c2dd", "kind": "equivalent", "version": "9.4.19", "label": "9.4.19", "title": "向 ecpg 的 pgtypes 库添加字符串释放函数，以避免 Windows 上的跨模块内存管理问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fed3b2344f2871ef3ce62e5f5fd4d3ae3281b67ceefa8cf91ca4e2d9da6203c1"}, "url": "/docs/compare/?release=9.4.19#9.4.19-52df9474d43758a2", "source_url": "/docs/release/9.4.19/#id-1.11.6.12.5"}, {"db_id": "0b91ed0ea692c7622473081c3cee603e", "kind": "equivalent", "version": "9.3.24", "label": "9.3.24", "title": "向 ecpg 的 pgtypes 库添加字符串释放函数，以避免 Windows 上的跨模块内存管理问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fed3b2344f2871ef3ce62e5f5fd4d3ae3281b67ceefa8cf91ca4e2d9da6203c1"}, "url": "/docs/compare/?release=9.3.24#9.3.24-52df9474d43758a2", "source_url": "/docs/release/9.3.24/#id-1.11.6.6.6"}]}, {"id": "9.5.14-67eb3d7560ffa91c", "cves": [], "html": "<p>修复 <span>ecpg</span> 在 Windows 以及其他非标准声明 <code>strtoll</code>/<code>strtoull</code> 或根本不声明的平台上对 <code>long long</code> 变量的支持（Dang Minh Huong、Tom Lane）</p>", "text": "修复 ecpg 在 Windows 以及其他非标准声明 strtoll/strtoull 或根本不声明的平台上对 long long 变量的支持（Dang Minh Huong、Tom Lane）", "title": "修复 ecpg 在 Windows 以及其他非标准声明 strtoll/strtoull 或根本不声明的平台上对 long long 变量的支持", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.14/#id-1.11.6.16.5", "source_hash": "1ccb6175cd65aa6972cdd7728b481bf64650615df0eb2ff8f58a5b6cb11c9818", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix ecpg's support for long long variables on Windows, as well as other platforms that declare strtoll/strtoull nonstandardly or not at all (Dang Minh Huong, Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.14/changes/020", "db_id": "82491916a79200c133a3da7416449cf8", "patch_ids": [], "statement_hash": "f7ca0fedca8ddd6a9a136e28c41758a99a77ff4476410d935beb51bef343f256", "relations": [{"rule": 2, "type": "equivalent", "target": "29b9d2586a64e3779f17fbed067c9f5e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f7ca0fedca8ddd6a9a136e28c41758a99a77ff4476410d935beb51bef343f256"}}, {"rule": 2, "type": "equivalent", "target": "318c71edee40025f50d789b0a24c41af", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f7ca0fedca8ddd6a9a136e28c41758a99a77ff4476410d935beb51bef343f256"}}, {"rule": 2, "type": "equivalent", "target": "9edbfa560d7bc4f98cbfe7246f929813", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f7ca0fedca8ddd6a9a136e28c41758a99a77ff4476410d935beb51bef343f256"}}, {"rule": 2, "type": "equivalent", "target": "c379d6a95fbe876d03da7fe73d83b725", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f7ca0fedca8ddd6a9a136e28c41758a99a77ff4476410d935beb51bef343f256"}}], "version": "9.5.14", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "29b9d2586a64e3779f17fbed067c9f5e", "kind": "equivalent", "version": "10.5", "label": "10.5", "title": "修复 ecpg 在 Windows 以及其他对 strtoll/strtoull 使用非标准声明或完全不声明的平台上对 long long 变量的支持", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f7ca0fedca8ddd6a9a136e28c41758a99a77ff4476410d935beb51bef343f256"}, "url": "/docs/compare/?release=10.5#10.5-3d40105a0648a12b", "source_url": "/docs/release/10.5/#id-1.11.6.23.5"}, {"db_id": "9edbfa560d7bc4f98cbfe7246f929813", "kind": "equivalent", "version": "9.6.10", "label": "9.6.10", "title": "修复 ecpg 在 Windows 以及其他非标准声明 strtoll/strtoull 或根本不声明的平台上对 long long 变量的支持", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f7ca0fedca8ddd6a9a136e28c41758a99a77ff4476410d935beb51bef343f256"}, "url": "/docs/compare/?release=9.6.10#9.6.10-67eb3d7560ffa91c", "source_url": "/docs/release/9.6.10/#id-1.11.6.19.5"}, {"db_id": "c379d6a95fbe876d03da7fe73d83b725", "kind": "equivalent", "version": "9.4.19", "label": "9.4.19", "title": "修复ecpg在 Windows 上对long long变量的支持，以及其他以非标准方式声明或不声明strtoll/strtoull的平台上的支持", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f7ca0fedca8ddd6a9a136e28c41758a99a77ff4476410d935beb51bef343f256"}, "url": "/docs/compare/?release=9.4.19#9.4.19-1b86ad0653d1fd97", "source_url": "/docs/release/9.4.19/#id-1.11.6.12.5"}, {"db_id": "318c71edee40025f50d789b0a24c41af", "kind": "equivalent", "version": "9.3.24", "label": "9.3.24", "title": "修复 ecpg 在 Windows 以及其他非标准声明 strtoll/strtoull 或根本不声明的平台上对 long long 变量的支持", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f7ca0fedca8ddd6a9a136e28c41758a99a77ff4476410d935beb51bef343f256"}, "url": "/docs/compare/?release=9.3.24#9.3.24-67eb3d7560ffa91c", "source_url": "/docs/release/9.3.24/#id-1.11.6.6.6"}]}, {"id": "9.5.14-3e36bf92386b3cd1", "cves": [], "html": "<p>修复规则更改导致会话内语句语义改变时 PL/pgSQL 对 SQL 语句类型的错误识别（Tom Lane）</p>\n<p>这个错误导致断言失败，或者罕见情况下未能按预期执行 <code>INTO STRICT</code> 选项。</p>", "text": "修复规则更改导致会话内语句语义改变时 PL/pgSQL 对 SQL 语句类型的错误识别（Tom Lane） 这个错误导致断言失败，或者罕见情况下未能按预期执行 INTO STRICT 选项。", "title": "修复规则更改导致会话内语句语义改变时 PL/pgSQL 对 SQL 语句类型的错误识别", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.14/#id-1.11.6.16.5", "source_hash": "1e05635e8dadd50d3601d6b1c0fb54771e91e605e001f4a7268fc8e6626dc374", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix misidentification of SQL statement type in PL/pgSQL, when a rule change causes a change in the semantics of a statement intra-session (Tom Lane) This error led to assertion failures, or in rare cases, failure to enforce the INTO STRICT option as expected.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.14/changes/021", "db_id": "66127d75d1aa478ae66eca83dcad5294", "patch_ids": [], "statement_hash": "82cb32c7a541a1d095ae2692add8c5349a737267c1e08b0e0930b8863cd61338", "relations": [{"rule": 2, "type": "equivalent", "target": "283e4e2066e3fae941f41b07645cf98d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "82cb32c7a541a1d095ae2692add8c5349a737267c1e08b0e0930b8863cd61338"}}, {"rule": 2, "type": "equivalent", "target": "5eb19d3945e05d6a36e3cba773c73980", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "82cb32c7a541a1d095ae2692add8c5349a737267c1e08b0e0930b8863cd61338"}}, {"rule": 2, "type": "equivalent", "target": "bb99b4ea43117011f5f0360b2036a7c1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "82cb32c7a541a1d095ae2692add8c5349a737267c1e08b0e0930b8863cd61338"}}, {"rule": 2, "type": "equivalent", "target": "d3b640bbeb4bf56c38af211f2774639b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "82cb32c7a541a1d095ae2692add8c5349a737267c1e08b0e0930b8863cd61338"}}], "version": "9.5.14", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "5eb19d3945e05d6a36e3cba773c73980", "kind": "equivalent", "version": "10.5", "label": "10.5", "title": "修复规则变更导致会话内语句语义变化时，PL/pgSQL 对 SQL 语句类型的错误识别", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "82cb32c7a541a1d095ae2692add8c5349a737267c1e08b0e0930b8863cd61338"}, "url": "/docs/compare/?release=10.5#10.5-67cece77cbc771a0", "source_url": "/docs/release/10.5/#id-1.11.6.23.5"}, {"db_id": "283e4e2066e3fae941f41b07645cf98d", "kind": "equivalent", "version": "9.6.10", "label": "9.6.10", "title": "修复规则更改导致会话内语句语义改变时 PL/pgSQL 对 SQL 语句类型的错误识别", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "82cb32c7a541a1d095ae2692add8c5349a737267c1e08b0e0930b8863cd61338"}, "url": "/docs/compare/?release=9.6.10#9.6.10-3e36bf92386b3cd1", "source_url": "/docs/release/9.6.10/#id-1.11.6.19.5"}, {"db_id": "bb99b4ea43117011f5f0360b2036a7c1", "kind": "equivalent", "version": "9.4.19", "label": "9.4.19", "title": "修复规则更改导致会话内语句语义改变时 PL/pgSQL 对 SQL 语句类型的错误识别", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "82cb32c7a541a1d095ae2692add8c5349a737267c1e08b0e0930b8863cd61338"}, "url": "/docs/compare/?release=9.4.19#9.4.19-3e36bf92386b3cd1", "source_url": "/docs/release/9.4.19/#id-1.11.6.12.5"}, {"db_id": "d3b640bbeb4bf56c38af211f2774639b", "kind": "equivalent", "version": "9.3.24", "label": "9.3.24", "title": "修复规则更改导致会话内语句语义改变时 PL/pgSQL 对 SQL 语句类型的错误识别", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "82cb32c7a541a1d095ae2692add8c5349a737267c1e08b0e0930b8863cd61338"}, "url": "/docs/compare/?release=9.3.24#9.3.24-3e36bf92386b3cd1", "source_url": "/docs/release/9.3.24/#id-1.11.6.6.6"}]}, {"id": "9.5.14-db89b4647f22b7d9", "cves": [], "html": "<p>修复客户端程序中的密码提示，使 Windows 上 <code>stdin</code> 不是终端时正确关闭回显（Matthew Stickney）</p>", "text": "修复客户端程序中的密码提示，使 Windows 上 stdin 不是终端时正确关闭回显（Matthew Stickney）", "title": "修复客户端程序中的密码提示，使 Windows 上 stdin 不是终端时正确关闭回显", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.14/#id-1.11.6.16.5", "source_hash": "add8dfb215d3abae72372460090ee1bb5a763e1611cae6cdb9305a0cca9bee24", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix password prompting in client programs so that echo is properly disabled on Windows when stdin is not the terminal (Matthew Stickney)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.14/changes/022", "db_id": "74bb3ebc08ac88a7b5271ea572b2ed76", "patch_ids": [], "statement_hash": "1f2ab9b526273c711adb63e2bdeffba2541a8128e02b1a6b961e579520cd151f", "relations": [{"rule": 2, "type": "equivalent", "target": "1df1135d0a7cbdfe3a31f75380bcfdf2", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1f2ab9b526273c711adb63e2bdeffba2541a8128e02b1a6b961e579520cd151f"}}, {"rule": 2, "type": "equivalent", "target": "216ec588ac11dcb3f585ce754a697f06", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1f2ab9b526273c711adb63e2bdeffba2541a8128e02b1a6b961e579520cd151f"}}, {"rule": 2, "type": "equivalent", "target": "660d6473a675ba3f8e3878a90ddfb31f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1f2ab9b526273c711adb63e2bdeffba2541a8128e02b1a6b961e579520cd151f"}}, {"rule": 2, "type": "equivalent", "target": "84b9f4946c2f108d70eef0e833d17e8f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1f2ab9b526273c711adb63e2bdeffba2541a8128e02b1a6b961e579520cd151f"}}], "version": "9.5.14", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "1df1135d0a7cbdfe3a31f75380bcfdf2", "kind": "equivalent", "version": "10.5", "label": "10.5", "title": "修复客户端程序的密码提示，使 Windows 上的 stdin 不是终端时也能正确禁用回显", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1f2ab9b526273c711adb63e2bdeffba2541a8128e02b1a6b961e579520cd151f"}, "url": "/docs/compare/?release=10.5#10.5-7af307ab6ef3a309", "source_url": "/docs/release/10.5/#id-1.11.6.23.5"}, {"db_id": "84b9f4946c2f108d70eef0e833d17e8f", "kind": "equivalent", "version": "9.6.10", "label": "9.6.10", "title": "修复客户端程序中的密码提示，使 Windows 上 stdin 不是终端时正确关闭回显", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1f2ab9b526273c711adb63e2bdeffba2541a8128e02b1a6b961e579520cd151f"}, "url": "/docs/compare/?release=9.6.10#9.6.10-db89b4647f22b7d9", "source_url": "/docs/release/9.6.10/#id-1.11.6.19.5"}, {"db_id": "216ec588ac11dcb3f585ce754a697f06", "kind": "equivalent", "version": "9.4.19", "label": "9.4.19", "title": "修复客户端程序的密码提示，使 Windows 上stdin不是终端时正确关闭回显", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1f2ab9b526273c711adb63e2bdeffba2541a8128e02b1a6b961e579520cd151f"}, "url": "/docs/compare/?release=9.4.19#9.4.19-d282a4116b92d51a", "source_url": "/docs/release/9.4.19/#id-1.11.6.12.5"}, {"db_id": "660d6473a675ba3f8e3878a90ddfb31f", "kind": "equivalent", "version": "9.3.24", "label": "9.3.24", "title": "修复客户端程序中的密码提示，使 Windows 上 stdin 不是终端时正确关闭回显", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1f2ab9b526273c711adb63e2bdeffba2541a8128e02b1a6b961e579520cd151f"}, "url": "/docs/compare/?release=9.3.24#9.3.24-db89b4647f22b7d9", "source_url": "/docs/release/9.3.24/#id-1.11.6.6.6"}]}, {"id": "9.5.14-86ff6e7fd5dd3050", "cves": [], "html": "<p>进一步修复转储中列表值 GUC 变量值的错误引号（Tom Lane）</p>\n<p>此前对 <span>pg_dump</span> 输出中 <code>search_path</code> 及其他列表值变量加引号的修复，对空字符串列表元素行为不当，并且有截断长文件路径的风险。</p>", "text": "进一步修复转储中列表值 GUC 变量值的错误引号（Tom Lane） 此前对 pg_dump 输出中 search_path 及其他列表值变量加引号的修复，对空字符串列表元素行为不当，并且有截断长文件路径的风险。", "title": "进一步修复转储中列表值 GUC 变量值的错误引号", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.14/#id-1.11.6.16.5", "source_hash": "2d6bc0c8d432fc7d1ec6dadfb71d3d34e7396b21eb7d729a4d2b8e25ad88d21d", "section_path": ["变更"], "commit_groups": [], "identity_text": "Further fix mis-quoting of values for list-valued GUC variables in dumps (Tom Lane) The previous fix for quoting of search_path and other list-valued variables in pg_dump output turned out to misbehave for empty-string list elements, and it risked truncation of long file paths.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.14/changes/023", "db_id": "9b63dbd8f3ae2ab3289281d518d2a173", "patch_ids": [], "statement_hash": "afa809772dac3835f43627d537ffebaa34d52a019f22e472b785959ff2e94241", "relations": [{"rule": 2, "type": "equivalent", "target": "18842e4d5965cc8aea228715c6a1442c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "afa809772dac3835f43627d537ffebaa34d52a019f22e472b785959ff2e94241"}}, {"rule": 2, "type": "equivalent", "target": "3d2f303084793f85b50b53f7aa4e4ae1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "afa809772dac3835f43627d537ffebaa34d52a019f22e472b785959ff2e94241"}}, {"rule": 2, "type": "equivalent", "target": "c2e4c85fba0591e0216d81c8a295851f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "afa809772dac3835f43627d537ffebaa34d52a019f22e472b785959ff2e94241"}}, {"rule": 2, "type": "equivalent", "target": "d26ab5999bb6fb3eee4efa3b34edada0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "afa809772dac3835f43627d537ffebaa34d52a019f22e472b785959ff2e94241"}}], "version": "9.5.14", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "3d2f303084793f85b50b53f7aa4e4ae1", "kind": "equivalent", "version": "10.5", "label": "10.5", "title": "进一步修复转储中列表值 GUC 变量的值的引号处理错误", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "afa809772dac3835f43627d537ffebaa34d52a019f22e472b785959ff2e94241"}, "url": "/docs/compare/?release=10.5#10.5-8d7088781aea00b6", "source_url": "/docs/release/10.5/#id-1.11.6.23.5"}, {"db_id": "18842e4d5965cc8aea228715c6a1442c", "kind": "equivalent", "version": "9.6.10", "label": "9.6.10", "title": "进一步修复转储中列表值 GUC 变量值的错误引号", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "afa809772dac3835f43627d537ffebaa34d52a019f22e472b785959ff2e94241"}, "url": "/docs/compare/?release=9.6.10#9.6.10-86ff6e7fd5dd3050", "source_url": "/docs/release/9.6.10/#id-1.11.6.19.5"}, {"db_id": "d26ab5999bb6fb3eee4efa3b34edada0", "kind": "equivalent", "version": "9.4.19", "label": "9.4.19", "title": "进一步修复转储中列表值 GUC 变量值的错误引号", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "afa809772dac3835f43627d537ffebaa34d52a019f22e472b785959ff2e94241"}, "url": "/docs/compare/?release=9.4.19#9.4.19-86ff6e7fd5dd3050", "source_url": "/docs/release/9.4.19/#id-1.11.6.12.5"}, {"db_id": "c2e4c85fba0591e0216d81c8a295851f", "kind": "equivalent", "version": "9.3.24", "label": "9.3.24", "title": "进一步修复转储中列表值 GUC 变量值的错误引号", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "afa809772dac3835f43627d537ffebaa34d52a019f22e472b785959ff2e94241"}, "url": "/docs/compare/?release=9.3.24#9.3.24-86ff6e7fd5dd3050", "source_url": "/docs/release/9.3.24/#id-1.11.6.6.6"}]}, {"id": "9.5.14-0b84c6c044df9044", "cves": [], "html": "<p>修复 <span>pg_dump</span> 未能转储约束索引的 <code>REPLICA IDENTITY</code> 属性（Tom Lane）</p>\n<p>手动创建的唯一索引被正确标记，但声明 <code>UNIQUE</code> 或 <code>PRIMARY KEY</code> 约束创建的没有。</p>", "text": "修复 pg_dump 未能转储约束索引的 REPLICA IDENTITY 属性（Tom Lane） 手动创建的唯一索引被正确标记，但声明 UNIQUE 或 PRIMARY KEY 约束创建的没有。", "title": "修复 pg_dump 未能转储约束索引的 REPLICA IDENTITY 属性", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.14/#id-1.11.6.16.5", "source_hash": "bc59b10528cd272c9c34074336c438688263c4f5a1d70268bc424fe576d79c1e", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix pg_dump's failure to dump REPLICA IDENTITY properties for constraint indexes (Tom Lane) Manually created unique indexes were properly marked, but not those created by declaring UNIQUE or PRIMARY KEY constraints.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.14/changes/024", "db_id": "f67129dfffc0911c61d5c7cd421e664d", "patch_ids": [], "statement_hash": "cab68c07de650c8a368f677e1fb8963e430202b9c85e5fbe52dfe065233d8b81", "relations": [{"rule": 2, "type": "equivalent", "target": "33cbdc882efe754330c28de8fc9fd78d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cab68c07de650c8a368f677e1fb8963e430202b9c85e5fbe52dfe065233d8b81"}}, {"rule": 2, "type": "equivalent", "target": "4b0730fb3ae031353c3767d68fcf4d60", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cab68c07de650c8a368f677e1fb8963e430202b9c85e5fbe52dfe065233d8b81"}}, {"rule": 2, "type": "equivalent", "target": "c1cfe2a227fb4d435a3864a5833964c4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cab68c07de650c8a368f677e1fb8963e430202b9c85e5fbe52dfe065233d8b81"}}], "version": "9.5.14", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "4b0730fb3ae031353c3767d68fcf4d60", "kind": "equivalent", "version": "10.5", "label": "10.5", "title": "修复 pg_dump 未能转储约束索引的 REPLICA IDENTITY 属性的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cab68c07de650c8a368f677e1fb8963e430202b9c85e5fbe52dfe065233d8b81"}, "url": "/docs/compare/?release=10.5#10.5-b987c929b6f5acf9", "source_url": "/docs/release/10.5/#id-1.11.6.23.5"}, {"db_id": "c1cfe2a227fb4d435a3864a5833964c4", "kind": "equivalent", "version": "9.6.10", "label": "9.6.10", "title": "修复 pg_dump 未能转储约束索引的 REPLICA IDENTITY 属性", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cab68c07de650c8a368f677e1fb8963e430202b9c85e5fbe52dfe065233d8b81"}, "url": "/docs/compare/?release=9.6.10#9.6.10-0b84c6c044df9044", "source_url": "/docs/release/9.6.10/#id-1.11.6.19.5"}, {"db_id": "33cbdc882efe754330c28de8fc9fd78d", "kind": "equivalent", "version": "9.4.19", "label": "9.4.19", "title": "修复 pg_dump 未能转储约束索引的 REPLICA IDENTITY 属性", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cab68c07de650c8a368f677e1fb8963e430202b9c85e5fbe52dfe065233d8b81"}, "url": "/docs/compare/?release=9.4.19#9.4.19-0b84c6c044df9044", "source_url": "/docs/release/9.4.19/#id-1.11.6.12.5"}]}, {"id": "9.5.14-cbcd7c3d8a8e4117", "cves": [], "html": "<p>让 <span>pg_upgrade</span> 检查旧服务器是否被干净地关闭（Bruce Momjian）</p>\n<p>原来的检查可能被立即模式关闭欺骗。</p>", "text": "让 pg_upgrade 检查旧服务器是否被干净地关闭（Bruce Momjian） 原来的检查可能被立即模式关闭欺骗。", "title": "让 pg_upgrade 检查旧服务器是否被干净地关闭", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.14/#id-1.11.6.16.5", "source_hash": "71bc1a7bd9f2a132a3385bd940a9ea8de31b186e2b97f1c8abf9cd2f795db5d7", "section_path": ["变更"], "commit_groups": [], "identity_text": "Make pg_upgrade check that the old server was shut down cleanly (Bruce Momjian) The previous check could be fooled by an immediate-mode shutdown.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.14/changes/025", "db_id": "c1499885d0749c110343bddd70ca1309", "patch_ids": [], "statement_hash": "bdf17569914514a3150e2111f270f56c6dbf1c441dcea5e64bdcde79be711743", "relations": [{"rule": 2, "type": "equivalent", "target": "1954689a48854915e718dbce8ff7ab6b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bdf17569914514a3150e2111f270f56c6dbf1c441dcea5e64bdcde79be711743"}}, {"rule": 2, "type": "equivalent", "target": "4d1283c51899e26f1867c2769f6a309c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bdf17569914514a3150e2111f270f56c6dbf1c441dcea5e64bdcde79be711743"}}, {"rule": 2, "type": "equivalent", "target": "739f9fce188dadad715b9a79b61ba59a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bdf17569914514a3150e2111f270f56c6dbf1c441dcea5e64bdcde79be711743"}}, {"rule": 2, "type": "equivalent", "target": "eb47de5066dfd069f8ee0aa9c0944fff", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bdf17569914514a3150e2111f270f56c6dbf1c441dcea5e64bdcde79be711743"}}], "version": "9.5.14", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "eb47de5066dfd069f8ee0aa9c0944fff", "kind": "equivalent", "version": "10.5", "label": "10.5", "title": "使 pg_upgrade 检查旧服务器是否正常关闭", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bdf17569914514a3150e2111f270f56c6dbf1c441dcea5e64bdcde79be711743"}, "url": "/docs/compare/?release=10.5#10.5-fe23c400c0cfd077", "source_url": "/docs/release/10.5/#id-1.11.6.23.5"}, {"db_id": "4d1283c51899e26f1867c2769f6a309c", "kind": "equivalent", "version": "9.6.10", "label": "9.6.10", "title": "让 pg_upgrade 检查旧服务器是否被干净地关闭", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bdf17569914514a3150e2111f270f56c6dbf1c441dcea5e64bdcde79be711743"}, "url": "/docs/compare/?release=9.6.10#9.6.10-cbcd7c3d8a8e4117", "source_url": "/docs/release/9.6.10/#id-1.11.6.19.5"}, {"db_id": "739f9fce188dadad715b9a79b61ba59a", "kind": "equivalent", "version": "9.4.19", "label": "9.4.19", "title": "让 pg_upgrade 检查旧服务器是否被干净地关闭", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bdf17569914514a3150e2111f270f56c6dbf1c441dcea5e64bdcde79be711743"}, "url": "/docs/compare/?release=9.4.19#9.4.19-cbcd7c3d8a8e4117", "source_url": "/docs/release/9.4.19/#id-1.11.6.12.5"}, {"db_id": "1954689a48854915e718dbce8ff7ab6b", "kind": "equivalent", "version": "9.3.24", "label": "9.3.24", "title": "让 pg_upgrade 检查旧服务器是否被干净地关闭", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bdf17569914514a3150e2111f270f56c6dbf1c441dcea5e64bdcde79be711743"}, "url": "/docs/compare/?release=9.3.24#9.3.24-cbcd7c3d8a8e4117", "source_url": "/docs/release/9.3.24/#id-1.11.6.6.6"}]}, {"id": "9.5.14-56b761c95ec99e16", "cves": [], "html": "<p>修复 <code>contrib/hstore_plperl</code> 透过 Perl 标量引用查看，以及在预期位置找不到哈希引用时不崩溃（Tom Lane）</p>", "text": "修复 contrib/hstore_plperl 透过 Perl 标量引用查看，以及在预期位置找不到哈希引用时不崩溃（Tom Lane）", "title": "修复 contrib/hstore_plperl 透过 Perl 标量引用查看，以及在预期位置找不到哈希引用时不崩溃", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.14/#id-1.11.6.16.5", "source_hash": "eb5b223ce434cd397dbe9335d932849d7b250dcd46e9273d73d219e4d2d9853b", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix contrib/hstore_plperl to look through Perl scalar references, and to not crash if it doesn't find a hash reference where it expects one (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.14/changes/026", "db_id": "c148b7f11f757ab5dccb2d01de8155d0", "patch_ids": [], "statement_hash": "f5edfe1b703b92ff9c9fc18907d42fe7705e0b43f5903145b601f3ef95d71621", "relations": [{"rule": 2, "type": "equivalent", "target": "02e66838f31a8874e78ef748a007397c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f5edfe1b703b92ff9c9fc18907d42fe7705e0b43f5903145b601f3ef95d71621"}}, {"rule": 2, "type": "equivalent", "target": "e406ef3e530ccb62194d156810d41e13", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f5edfe1b703b92ff9c9fc18907d42fe7705e0b43f5903145b601f3ef95d71621"}}], "version": "9.5.14", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "e406ef3e530ccb62194d156810d41e13", "kind": "equivalent", "version": "10.5", "label": "10.5", "title": "修复 contrib/hstore_plperl，使其解引用 Perl 标量引用，并在预期 hash 引用却未找到时不再崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f5edfe1b703b92ff9c9fc18907d42fe7705e0b43f5903145b601f3ef95d71621"}, "url": "/docs/compare/?release=10.5#10.5-887b02127b51c8d4", "source_url": "/docs/release/10.5/#id-1.11.6.23.5"}, {"db_id": "02e66838f31a8874e78ef748a007397c", "kind": "equivalent", "version": "9.6.10", "label": "9.6.10", "title": "修复 contrib/hstore_plperl 透过 Perl 标量引用查看，以及在预期位置找不到哈希引用时不崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f5edfe1b703b92ff9c9fc18907d42fe7705e0b43f5903145b601f3ef95d71621"}, "url": "/docs/compare/?release=9.6.10#9.6.10-56b761c95ec99e16", "source_url": "/docs/release/9.6.10/#id-1.11.6.19.5"}]}, {"id": "9.5.14-14000aea2f0f6924", "cves": [], "html": "<p>修复 <code>contrib/ltree</code> 的 <code>lca()</code> 函数在输入数组为空时崩溃的问题（Pierre Ducroquet）</p>", "text": "修复 contrib/ltree 的 lca() 函数在输入数组为空时崩溃的问题（Pierre Ducroquet）", "title": "修复 contrib/ltree 的 lca() 函数在输入数组为空时崩溃的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.14/#id-1.11.6.16.5", "source_hash": "c8d4df2ff12a3f523d0b5069f7350e395c014e96299085be149f58ec9ec17281", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix crash in contrib/ltree's lca() function when the input array is empty (Pierre Ducroquet)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.14/changes/027", "db_id": "acb1331ecaacd3afa267795660e83095", "patch_ids": [], "statement_hash": "9bcb9a639c58de4ad9728c70629f5441dd26cd49ea50d8f2f72b2d0b5b071384", "relations": [{"rule": 2, "type": "equivalent", "target": "6e4b995caabcd4a7d43881109ed241b5", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9bcb9a639c58de4ad9728c70629f5441dd26cd49ea50d8f2f72b2d0b5b071384"}}, {"rule": 2, "type": "equivalent", "target": "8f29616271ac721629aaa9067f4cf731", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9bcb9a639c58de4ad9728c70629f5441dd26cd49ea50d8f2f72b2d0b5b071384"}}, {"rule": 2, "type": "equivalent", "target": "ce3c9aafa78c8bc47f09c8ca12bc608d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9bcb9a639c58de4ad9728c70629f5441dd26cd49ea50d8f2f72b2d0b5b071384"}}, {"rule": 2, "type": "equivalent", "target": "f195adf248f9833c303c916f0bbac701", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9bcb9a639c58de4ad9728c70629f5441dd26cd49ea50d8f2f72b2d0b5b071384"}}], "version": "9.5.14", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "6e4b995caabcd4a7d43881109ed241b5", "kind": "equivalent", "version": "10.5", "label": "10.5", "title": "修复输入数组为空时 contrib/ltree 的 lca() 函数发生的崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9bcb9a639c58de4ad9728c70629f5441dd26cd49ea50d8f2f72b2d0b5b071384"}, "url": "/docs/compare/?release=10.5#10.5-5d1fa14a4e14c6a7", "source_url": "/docs/release/10.5/#id-1.11.6.23.5"}, {"db_id": "ce3c9aafa78c8bc47f09c8ca12bc608d", "kind": "equivalent", "version": "9.6.10", "label": "9.6.10", "title": "修复 contrib/ltree 的 lca() 函数在输入数组为空时崩溃的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9bcb9a639c58de4ad9728c70629f5441dd26cd49ea50d8f2f72b2d0b5b071384"}, "url": "/docs/compare/?release=9.6.10#9.6.10-14000aea2f0f6924", "source_url": "/docs/release/9.6.10/#id-1.11.6.19.5"}, {"db_id": "f195adf248f9833c303c916f0bbac701", "kind": "equivalent", "version": "9.4.19", "label": "9.4.19", "title": "修复contrib/ltree的lca()函数在输入数组为空时崩溃的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9bcb9a639c58de4ad9728c70629f5441dd26cd49ea50d8f2f72b2d0b5b071384"}, "url": "/docs/compare/?release=9.4.19#9.4.19-650262016eb5a041", "source_url": "/docs/release/9.4.19/#id-1.11.6.12.5"}, {"db_id": "8f29616271ac721629aaa9067f4cf731", "kind": "equivalent", "version": "9.3.24", "label": "9.3.24", "title": "修复 contrib/ltree 的 lca() 函数在输入数组为空时崩溃的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9bcb9a639c58de4ad9728c70629f5441dd26cd49ea50d8f2f72b2d0b5b071384"}, "url": "/docs/compare/?release=9.3.24#9.3.24-14000aea2f0f6924", "source_url": "/docs/release/9.3.24/#id-1.11.6.6.6"}]}, {"id": "9.5.14-9385f6c3af4d237f", "cves": [], "html": "<p>修复若干可能报告错误错误码的错误处理代码路径（Michael Paquier、Tom Lane、Magnus Hagander）</p>", "text": "修复若干可能报告错误错误码的错误处理代码路径（Michael Paquier、Tom Lane、Magnus Hagander）", "title": "修复若干可能报告错误错误码的错误处理代码路径", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.14/#id-1.11.6.16.5", "source_hash": "eb226d88cc2818a05e33386ec1a8f54af921d72d612fc646511afb752428f2b2", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix various error-handling code paths in which an incorrect error code might be reported (Michael Paquier, Tom Lane, Magnus Hagander)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.14/changes/028", "db_id": "6bc786b07ebdffc9fa3a314516e966a4", "patch_ids": [], "statement_hash": "5a05d314c8d902e97894777af926545d7a1d139f8ad17e798b5f8925814e49c8", "relations": [{"rule": 2, "type": "equivalent", "target": "44343b5147cbbb9d79bd4862e5dc7084", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5a05d314c8d902e97894777af926545d7a1d139f8ad17e798b5f8925814e49c8"}}, {"rule": 2, "type": "equivalent", "target": "abc61176748d713bf18596dfa5958398", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5a05d314c8d902e97894777af926545d7a1d139f8ad17e798b5f8925814e49c8"}}, {"rule": 2, "type": "equivalent", "target": "dd5ba05fde3e4dbb1c77961c638213f0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5a05d314c8d902e97894777af926545d7a1d139f8ad17e798b5f8925814e49c8"}}, {"rule": 2, "type": "equivalent", "target": "ed7faf376a1da5be2a371fed15a0acba", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5a05d314c8d902e97894777af926545d7a1d139f8ad17e798b5f8925814e49c8"}}], "version": "9.5.14", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "ed7faf376a1da5be2a371fed15a0acba", "kind": "equivalent", "version": "10.5", "label": "10.5", "title": "修复可能报告不正确错误码的各种错误处理代码路径", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5a05d314c8d902e97894777af926545d7a1d139f8ad17e798b5f8925814e49c8"}, "url": "/docs/compare/?release=10.5#10.5-23012dc05c2623c5", "source_url": "/docs/release/10.5/#id-1.11.6.23.5"}, {"db_id": "abc61176748d713bf18596dfa5958398", "kind": "equivalent", "version": "9.6.10", "label": "9.6.10", "title": "修复若干可能报告错误错误码的错误处理代码路径", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5a05d314c8d902e97894777af926545d7a1d139f8ad17e798b5f8925814e49c8"}, "url": "/docs/compare/?release=9.6.10#9.6.10-9385f6c3af4d237f", "source_url": "/docs/release/9.6.10/#id-1.11.6.19.5"}, {"db_id": "44343b5147cbbb9d79bd4862e5dc7084", "kind": "equivalent", "version": "9.4.19", "label": "9.4.19", "title": "修复若干可能报告错误错误码的错误处理代码路径", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5a05d314c8d902e97894777af926545d7a1d139f8ad17e798b5f8925814e49c8"}, "url": "/docs/compare/?release=9.4.19#9.4.19-9385f6c3af4d237f", "source_url": "/docs/release/9.4.19/#id-1.11.6.12.5"}, {"db_id": "dd5ba05fde3e4dbb1c77961c638213f0", "kind": "equivalent", "version": "9.3.24", "label": "9.3.24", "title": "修复若干可能报告错误错误码的错误处理代码路径", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5a05d314c8d902e97894777af926545d7a1d139f8ad17e798b5f8925814e49c8"}, "url": "/docs/compare/?release=9.3.24#9.3.24-9385f6c3af4d237f", "source_url": "/docs/release/9.3.24/#id-1.11.6.6.6"}]}, {"id": "9.5.14-05d287de5d87d704", "cves": [], "html": "<p>重排 makefile，确保程序链接到新构建的库（如 <code>libpq.so</code>）而不是系统库目录中可能存在的（Tom Lane）</p>\n<p>这避免了在提供旧版 <span>PostgreSQL</span> 库副本的平台上构建时的问题。</p>", "text": "重排 makefile，确保程序链接到新构建的库（如 libpq.so）而不是系统库目录中可能存在的（Tom Lane） 这避免了在提供旧版 PostgreSQL 库副本的平台上构建时的问题。", "title": "重排 makefile，确保程序链接到新构建的库（如 libpq.so）而不是系统库目录中可能存在的", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.14/#id-1.11.6.16.5", "source_hash": "9fe1fb5035dc0b05720452fac376d32ae797010741c48dc3df2de54e396a9eac", "section_path": ["变更"], "commit_groups": [], "identity_text": "Rearrange makefiles to ensure that programs link to freshly-built libraries (such as libpq.so) rather than ones that might exist in the system library directories (Tom Lane) This avoids problems when building on platforms that supply old copies of PostgreSQL libraries.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.14/changes/029", "db_id": "2add6f424e337938f103c3b77f8214ff", "patch_ids": [], "statement_hash": "8e0e1d9b06d086f4846a6b8ba0946ea4470385b68265ec27f156bce0eee67d3f", "relations": [{"rule": 2, "type": "equivalent", "target": "092ac1884398bcbc8a003e01acd466cc", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8e0e1d9b06d086f4846a6b8ba0946ea4470385b68265ec27f156bce0eee67d3f"}}, {"rule": 2, "type": "equivalent", "target": "d056736e371dede2d98e0596877e08b6", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8e0e1d9b06d086f4846a6b8ba0946ea4470385b68265ec27f156bce0eee67d3f"}}, {"rule": 2, "type": "equivalent", "target": "e0fe94c2f5bcc8d0829a3e2e0f1f5567", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8e0e1d9b06d086f4846a6b8ba0946ea4470385b68265ec27f156bce0eee67d3f"}}, {"rule": 2, "type": "equivalent", "target": "fb9cfc50eee8d8b0e1ae293bbf759a17", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8e0e1d9b06d086f4846a6b8ba0946ea4470385b68265ec27f156bce0eee67d3f"}}], "version": "9.5.14", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "092ac1884398bcbc8a003e01acd466cc", "kind": "equivalent", "version": "10.5", "label": "10.5", "title": "重新安排 makefile，确保程序链接到刚构建的库（如 libpq.so），而非可能存在于系统库目录中的库", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8e0e1d9b06d086f4846a6b8ba0946ea4470385b68265ec27f156bce0eee67d3f"}, "url": "/docs/compare/?release=10.5#10.5-5b0266319b857177", "source_url": "/docs/release/10.5/#id-1.11.6.23.5"}, {"db_id": "d056736e371dede2d98e0596877e08b6", "kind": "equivalent", "version": "9.6.10", "label": "9.6.10", "title": "重排 makefile，确保程序链接到新构建的库（如 libpq.so）而不是系统库目录中可能存在的", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8e0e1d9b06d086f4846a6b8ba0946ea4470385b68265ec27f156bce0eee67d3f"}, "url": "/docs/compare/?release=9.6.10#9.6.10-05d287de5d87d704", "source_url": "/docs/release/9.6.10/#id-1.11.6.19.5"}, {"db_id": "fb9cfc50eee8d8b0e1ae293bbf759a17", "kind": "equivalent", "version": "9.4.19", "label": "9.4.19", "title": "重排 makefile，确保程序链接到新构建的库（如 libpq.so）而不是系统库目录中可能存在的", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8e0e1d9b06d086f4846a6b8ba0946ea4470385b68265ec27f156bce0eee67d3f"}, "url": "/docs/compare/?release=9.4.19#9.4.19-05d287de5d87d704", "source_url": "/docs/release/9.4.19/#id-1.11.6.12.5"}, {"db_id": "e0fe94c2f5bcc8d0829a3e2e0f1f5567", "kind": "equivalent", "version": "9.3.24", "label": "9.3.24", "title": "重排 makefile，确保程序链接到新构建的库（如 libpq.so）而不是系统库目录中可能存在的", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8e0e1d9b06d086f4846a6b8ba0946ea4470385b68265ec27f156bce0eee67d3f"}, "url": "/docs/compare/?release=9.3.24#9.3.24-05d287de5d87d704", "source_url": "/docs/release/9.3.24/#id-1.11.6.6.6"}]}, {"id": "9.5.14-f91b05fd75538bcc", "cves": [], "html": "<p>更新时区数据文件到 <span>tzdata</span> 版本 2018e，涉及朝鲜的夏令时法规变更，以及捷克斯洛伐克的历史修正。</p>\n<p>此更新包括对爱尔兰以及纳米比亚和捷克斯洛伐克某些过去年份<span>“<span>夏令时</span>”</span>的重新定义。在这些司法管辖区，法律上夏季实行标准时间、冬季实行夏令时，因此夏令时偏移比标准时间晚一小时而不是早一小时。这不影响实际 UTC 偏移或所用的时区缩写；唯一已知的效果是这些情况下 <code>pg_timezone_names</code> 视图的 <code>is_dst</code> 列现在冬季为真、夏季为假。</p>", "text": "更新时区数据文件到 tzdata 版本 2018e，涉及朝鲜的夏令时法规变更，以及捷克斯洛伐克的历史修正。 此更新包括对爱尔兰以及纳米比亚和捷克斯洛伐克某些过去年份“夏令时”的重新定义。在这些司法管辖区，法律上夏季实行标准时间、冬季实行夏令时，因此夏令时偏移比标准时间晚一小时而不是早一小时。这不影响实际 UTC 偏移或所用的时区缩写；唯一已知的效果是这些情况下 pg_timezone_names 视图的 is_dst 列现在冬季为真、夏季为假。", "title": "更新时区数据文件到 tzdata 版本 2018e，涉及朝鲜的夏令时法规变更，以及捷克斯洛伐克的历史修正。", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.14/#id-1.11.6.16.5", "source_hash": "9f37319456282bec8598cba6308a808640b0982827c1d7cd6fca8042f555e880", "section_path": ["变更"], "commit_groups": [], "identity_text": "Update time zone data files to tzdata release 2018e for DST law changes in North Korea, plus historical corrections for Czechoslovakia. This update includes a redefinition of daylight savings in Ireland, as well as for some past years in Namibia and Czechoslovakia. In those jurisdictions, legally standard time is observed in summer, and daylight savings time in winter, so that the daylight savings offset is one hour behind standard time not one hour ahead. This does not affect either the actual UTC offset or the timezone abbreviations in use; the only known effect is that the is_dst column in the pg_timezone_names view will now be true in winter and false in summer in these cases.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.14/changes/030", "db_id": "4665643582ca528c025ca51ef876640b", "patch_ids": [], "statement_hash": "121e90e8bc23ffc5b72b1b0813a32d1c613b718c6334e0d052ff766689a0a87c", "relations": [{"rule": 2, "type": "equivalent", "target": "5e2e95399fa99faba1ec919a703975de", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "121e90e8bc23ffc5b72b1b0813a32d1c613b718c6334e0d052ff766689a0a87c"}}, {"rule": 2, "type": "equivalent", "target": "e66a4e42e0632f51b3db77194fc6ea05", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "121e90e8bc23ffc5b72b1b0813a32d1c613b718c6334e0d052ff766689a0a87c"}}, {"rule": 2, "type": "equivalent", "target": "eab8b499ede5f2e4cd22b4228850bace", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "121e90e8bc23ffc5b72b1b0813a32d1c613b718c6334e0d052ff766689a0a87c"}}, {"rule": 2, "type": "equivalent", "target": "eae244a6dda158da8e88045e274b818f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "121e90e8bc23ffc5b72b1b0813a32d1c613b718c6334e0d052ff766689a0a87c"}}], "version": "9.5.14", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "e66a4e42e0632f51b3db77194fc6ea05", "kind": "equivalent", "version": "10.5", "label": "10.5", "title": "将时区数据文件更新到 tzdata 2018e 版，以反映朝鲜的夏令时法规变更，并修正捷克斯洛伐克的历史数据。", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "121e90e8bc23ffc5b72b1b0813a32d1c613b718c6334e0d052ff766689a0a87c"}, "url": "/docs/compare/?release=10.5#10.5-0cd7c764f1682723", "source_url": "/docs/release/10.5/#id-1.11.6.23.5"}, {"db_id": "eae244a6dda158da8e88045e274b818f", "kind": "equivalent", "version": "9.6.10", "label": "9.6.10", "title": "更新时区数据文件到 tzdata 版本 2018e，涉及朝鲜的夏令时法规变更，以及捷克斯洛伐克的历史修正。", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "121e90e8bc23ffc5b72b1b0813a32d1c613b718c6334e0d052ff766689a0a87c"}, "url": "/docs/compare/?release=9.6.10#9.6.10-f91b05fd75538bcc", "source_url": "/docs/release/9.6.10/#id-1.11.6.19.5"}, {"db_id": "eab8b499ede5f2e4cd22b4228850bace", "kind": "equivalent", "version": "9.4.19", "label": "9.4.19", "title": "更新时区数据文件到 tzdata 版本 2018e，涉及朝鲜的夏令时法规变更，以及捷克斯洛伐克的历史修正。", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "121e90e8bc23ffc5b72b1b0813a32d1c613b718c6334e0d052ff766689a0a87c"}, "url": "/docs/compare/?release=9.4.19#9.4.19-f91b05fd75538bcc", "source_url": "/docs/release/9.4.19/#id-1.11.6.12.5"}, {"db_id": "5e2e95399fa99faba1ec919a703975de", "kind": "equivalent", "version": "9.3.24", "label": "9.3.24", "title": "更新时区数据文件到 tzdata 版本 2018e，涉及朝鲜的夏令时法规变更，以及捷克斯洛伐克的历史修正。", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "121e90e8bc23ffc5b72b1b0813a32d1c613b718c6334e0d052ff766689a0a87c"}, "url": "/docs/compare/?release=9.3.24#9.3.24-f91b05fd75538bcc", "source_url": "/docs/release/9.3.24/#id-1.11.6.6.6"}]}]}], "stats": [{"key": "all", "label": "全部变更", "count": 30}, {"key": "feature", "label": "新功能", "count": 0}, {"key": "bugfix", "label": "BUG 修复", "count": 14}, {"key": "security", "label": "安全相关", "count": 2}, {"key": "performance", "label": "性能改进", "count": 2}, {"key": "compatibility", "label": "兼容性变化", "count": 0}, {"key": "improvement", "label": "其他改进", "count": 12}], "total": 30, "release_count": 1, "cross_major": false, "cve_count": 2, "cves": [{"id": "CVE-2018-10915", "url": "https://www.postgresql.org/support/security/CVE-2018-10915/", "fixed": {"10": "10.5", "9.3": "9.3.24", "9.4": "9.4.19", "9.5": "9.5.14", "9.6": "9.6.10"}, "score": 8.5, "title": "修复连接尝试之间未能完全重置 libpq 状态的问题", "vector": "AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H", "affected": {"10": "10", "9.3": "9.3", "9.4": "9.4", "9.5": "9.5", "9.6": "9.6"}, "component": "client", "published": {"10": "2018-08-09", "9.3": "2018-08-09", "9.4": "2018-08-09", "9.5": "2018-08-09", "9.6": "2018-08-09"}, "introduced": {}, "cvss_version": "3.0", "description_en": "", "first_published": "2018-08-09", "fixed_version": "9.5.14"}, {"id": "CVE-2018-10925", "url": "https://www.postgresql.org/support/security/CVE-2018-10925/", "fixed": {"10": "10.5", "9.5": "9.5.14", "9.6": "9.6.10"}, "score": 7.1, "title": "修复通过不只是 SELECT * FROM ... 的视图执行 INSERT ... ON CONFLICT UPDATE 的问题", "vector": "AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N", "affected": {"10": "10", "9.5": "9.5", "9.6": "9.6"}, "component": "core server", "published": {"10": "2018-08-09", "9.5": "2018-08-09", "9.6": "2018-08-09"}, "introduced": {}, "cvss_version": "3.0", "description_en": "", "first_published": "2018-08-09", "fixed_version": "9.5.14"}], "cve_available": true, "remaining_cves": [], "security_regressions": [], "warnings": [], "candidate_count": 30, "already_in_source_count": 0, "duplicate_count": 0, "excluded_count": 0, "exclusions": [], "source_as_of": "2026-09-26", "security_as_of": "2026-09-26"}