{"format": 1, "mode": "release", "from_release": null, "to_release": {"date": "2014-07-24", "build": "9.1.14", "major": "9.1", "minor": 14, "manual": "9.1", "status": "stable", "doc_git": "", "version": "9.1.14", "eol_date": "2016-10-27", "date_text": "2014-07-24", "supported": false, "manual_url": "/docs/9.1/release-9-1-14.html", "source_url": "/docs/release/9.1.14/", "entry_count": 32, "placeholder": false, "content_hash": "7274284443a2e7f4143481cfcccbd17b8210500c9f3ec96e47bf3432529ed840", "manual_build": "9.1.24", "source_as_of": "", "changes_count": 32, "doc_loaded_at": "2026-09-26T02:56:47.783417", "migration_html": "<p>对于运行 9.1.X 的用户，不需要进行转储/恢复。</p>\n<p>不过，本版本纠正了某些 GiST 索引的索引损坏问题。请参见下面第一条变更日志，以确认你的安装是否受影响以及应采取的步骤。</p>\n<p>不过，如果你是从早于 9.1.11 的版本升级，请参见<a href=\"/docs/9.1/release-9-1-11.html\" title=\"E.14. 版本 9.1.11\">第 E.14 节</a>。</p>", "compatibility_count": 0, "label": "9.1.14", "status_label": "历史版本", "eol": "2016-10-27", "age_days": 4451, "support_days": -3625}, "groups": [{"date": "2014-07-24", "build": "9.1.14", "major": "9.1", "minor": 14, "manual": "9.1", "status": "stable", "doc_git": "", "version": "9.1.14", "eol_date": "2016-10-27", "date_text": "2014-07-24", "supported": false, "manual_url": "/docs/9.1/release-9-1-14.html", "source_url": "/docs/release/9.1.14/", "entry_count": 32, "placeholder": false, "content_hash": "7274284443a2e7f4143481cfcccbd17b8210500c9f3ec96e47bf3432529ed840", "manual_build": "9.1.24", "source_as_of": "", "changes_count": 32, "doc_loaded_at": "2026-09-26T02:56:47.783417", "migration_html": "<p>对于运行 9.1.X 的用户，不需要进行转储/恢复。</p>\n<p>不过，本版本纠正了某些 GiST 索引的索引损坏问题。请参见下面第一条变更日志，以确认你的安装是否受影响以及应采取的步骤。</p>\n<p>不过，如果你是从早于 9.1.11 的版本升级，请参见<a href=\"/docs/9.1/release-9-1-11.html\" title=\"E.14. 版本 9.1.11\">第 E.14 节</a>。</p>", "compatibility_count": 0, "label": "9.1.14", "status_label": "历史版本", "eol": "2016-10-27", "age_days": 4451, "support_days": -3625, "entries": [{"id": "9.1.14-d2c6d31db7b8f554", "cves": [], "html": "<p>正确初始化 <code>contrib/btree_gist</code> 在 <code>bit</code> 列上索引的填充字节（Heikki Linnakangas）</p>\n<p>这一错误可能导致本应比较相等的值不被视为相等，从而产生错误的查询结果。在 <code>bit</code> 或 <code>bit varying</code> 列上建有 GiST 索引的用户，在安装此更新后应对这些索引执行 <code>REINDEX</code>。</p>", "text": "正确初始化 contrib/btree_gist 在 bit 列上索引的填充字节（Heikki Linnakangas） 这一错误可能导致本应比较相等的值不被视为相等，从而产生错误的查询结果。在 bit 或 bit varying 列上建有 GiST 索引的用户，在安装此更新后应对这些索引执行 REINDEX。", "title": "正确初始化 contrib/btree_gist 在 bit 列上索引的填充字节", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.1.14/#id-1.11.6.15.5", "source_hash": "709d713e12d304166f987b54c4dce9fb04d23a1afead525014a2a3ee1f10e32f", "section_path": ["变更"], "commit_groups": [], "identity_text": "Correctly initialize padding bytes in contrib/btree_gist indexes on bit columns (Heikki Linnakangas) This error could result in incorrect query results due to values that should compare equal not being seen as equal. Users with GiST indexes on bit or bit varying columns should REINDEX those indexes after installing this update.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.14/changes/001", "db_id": "c4f7127cc64d8fe10e55c425915ade36", "patch_ids": [], "statement_hash": "c5ec7f05650e8d35c9b6ce456cec4314dd5b264d089fd9a8a65ddb5c8d01bf11", "relations": [{"rule": 2, "type": "equivalent", "target": "5d8b301dac7ea946159414f417b80e20", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c5ec7f05650e8d35c9b6ce456cec4314dd5b264d089fd9a8a65ddb5c8d01bf11"}}, {"rule": 2, "type": "equivalent", "target": "bb8c4a129b84f2137f55859616c7a7c6", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c5ec7f05650e8d35c9b6ce456cec4314dd5b264d089fd9a8a65ddb5c8d01bf11"}}, {"rule": 2, "type": "equivalent", "target": "c08b5ee3c4feadbdf794e02f47e53d44", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c5ec7f05650e8d35c9b6ce456cec4314dd5b264d089fd9a8a65ddb5c8d01bf11"}}], "version": "9.1.14", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "5d8b301dac7ea946159414f417b80e20", "kind": "equivalent", "version": "9.3.5", "label": "9.3.5", "title": "正确初始化 contrib/btree_gist 在 bit 列上索引的填充字节", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c5ec7f05650e8d35c9b6ce456cec4314dd5b264d089fd9a8a65ddb5c8d01bf11"}, "url": "/docs/compare/?release=9.3.5#9.3.5-d2c6d31db7b8f554", "source_url": "/docs/release/9.3.5/#id-1.11.6.25.5"}, {"db_id": "bb8c4a129b84f2137f55859616c7a7c6", "kind": "equivalent", "version": "9.2.9", "label": "9.2.9", "title": "正确初始化 contrib/btree_gist 在 bit 列上索引的填充字节", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c5ec7f05650e8d35c9b6ce456cec4314dd5b264d089fd9a8a65ddb5c8d01bf11"}, "url": "/docs/compare/?release=9.2.9#9.2.9-d2c6d31db7b8f554", "source_url": "/docs/release/9.2.9/#id-1.11.6.20.5"}, {"db_id": "c08b5ee3c4feadbdf794e02f47e53d44", "kind": "equivalent", "version": "9.0.18", "label": "9.0.18", "title": "正确初始化 contrib/btree_gist 在 bit 列上索引的填充字节", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c5ec7f05650e8d35c9b6ce456cec4314dd5b264d089fd9a8a65ddb5c8d01bf11"}, "url": "/docs/compare/?release=9.0.18#9.0.18-d2c6d31db7b8f554", "source_url": "/docs/release/9.0.18/#id-1.11.6.10.5"}]}, {"id": "9.1.14-18682773bb8a060c", "cves": [], "html": "<p>在删除 GIN 列表页时防止残缺页（torn page）（Heikki Linnakangas）</p>\n<p>此修复可防止在页面更新写入磁盘期间发生系统崩溃时可能出现的索引损坏。</p>", "text": "在删除 GIN 列表页时防止残缺页（torn page）（Heikki Linnakangas） 此修复可防止在页面更新写入磁盘期间发生系统崩溃时可能出现的索引损坏。", "title": "在删除 GIN 列表页时防止残缺页（torn page）", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.1.14/#id-1.11.6.15.5", "source_hash": "afcb91dde071d7de5a6c7fcbe1316c8991d363ec78826005a4d89b02863e4d4a", "section_path": ["变更"], "commit_groups": [], "identity_text": "Protect against torn pages when deleting GIN list pages (Heikki Linnakangas) This fix prevents possible index corruption if a system crash occurs while the page update is being written to disk.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.14/changes/002", "db_id": "b73f1e86dca122120bdb13fac7f9140e", "patch_ids": [], "statement_hash": "3069a09e51a039b54312df352e46e435116f1aab6749579fa61617bc1036c4dc", "relations": [{"rule": 2, "type": "equivalent", "target": "8329b9d263d6d6befba8bbe22cd17322", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3069a09e51a039b54312df352e46e435116f1aab6749579fa61617bc1036c4dc"}}, {"rule": 2, "type": "equivalent", "target": "9c3944d9105c97482a4dc2fb8776b26f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3069a09e51a039b54312df352e46e435116f1aab6749579fa61617bc1036c4dc"}}, {"rule": 2, "type": "equivalent", "target": "ee04033d30f9bad8474c949135bf2bef", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3069a09e51a039b54312df352e46e435116f1aab6749579fa61617bc1036c4dc"}}], "version": "9.1.14", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "9c3944d9105c97482a4dc2fb8776b26f", "kind": "equivalent", "version": "9.3.5", "label": "9.3.5", "title": "在删除 GIN 列表页时防止残缺页（torn page）", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3069a09e51a039b54312df352e46e435116f1aab6749579fa61617bc1036c4dc"}, "url": "/docs/compare/?release=9.3.5#9.3.5-18682773bb8a060c", "source_url": "/docs/release/9.3.5/#id-1.11.6.25.5"}, {"db_id": "ee04033d30f9bad8474c949135bf2bef", "kind": "equivalent", "version": "9.2.9", "label": "9.2.9", "title": "在删除 GIN 列表页时防止残缺页（torn page）", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3069a09e51a039b54312df352e46e435116f1aab6749579fa61617bc1036c4dc"}, "url": "/docs/compare/?release=9.2.9#9.2.9-18682773bb8a060c", "source_url": "/docs/release/9.2.9/#id-1.11.6.20.5"}, {"db_id": "8329b9d263d6d6befba8bbe22cd17322", "kind": "equivalent", "version": "9.0.18", "label": "9.0.18", "title": "在删除 GIN 列表页时防止残缺页（torn page）", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3069a09e51a039b54312df352e46e435116f1aab6749579fa61617bc1036c4dc"}, "url": "/docs/compare/?release=9.0.18#9.0.18-18682773bb8a060c", "source_url": "/docs/release/9.0.18/#id-1.11.6.10.5"}]}, {"id": "9.1.14-3f8b30812c5bc055", "cves": [], "html": "<p>在从 WAL 重放更新时不清除 GiST 索引页的右链接（Heikki Linnakangas）</p>\n<p>这一错误可能导致热备中执行的 GiST 索引扫描出现瞬时错误的结果。</p>", "text": "在从 WAL 重放更新时不清除 GiST 索引页的右链接（Heikki Linnakangas） 这一错误可能导致热备中执行的 GiST 索引扫描出现瞬时错误的结果。", "title": "在从 WAL 重放更新时不清除 GiST 索引页的右链接", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.1.14/#id-1.11.6.15.5", "source_hash": "a5857dd9de60f280e88715cfdfa6c6cf03562cd2eb6799d62bee57c753c789df", "section_path": ["变更"], "commit_groups": [], "identity_text": "Don't clear the right-link of a GiST index page while replaying updates from WAL (Heikki Linnakangas) This error could lead to transiently wrong answers from GiST index scans performed in Hot Standby.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.14/changes/003", "db_id": "5a9b0ae5835cea90e10cdfaf0e83b577", "patch_ids": [], "statement_hash": "def835604a6dace9bf61c26a054e374964e1352d8428f232acb25e794b113b19", "relations": [{"rule": 2, "type": "equivalent", "target": "5425fcaaa9bd29ad257e597861d9667b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "def835604a6dace9bf61c26a054e374964e1352d8428f232acb25e794b113b19"}}, {"rule": 2, "type": "equivalent", "target": "979dc6be64dc95c5598f2e4eb26071f6", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "def835604a6dace9bf61c26a054e374964e1352d8428f232acb25e794b113b19"}}, {"rule": 2, "type": "equivalent", "target": "fedab52c93a87fca93f07ce5578f54d9", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "def835604a6dace9bf61c26a054e374964e1352d8428f232acb25e794b113b19"}}], "version": "9.1.14", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "fedab52c93a87fca93f07ce5578f54d9", "kind": "equivalent", "version": "9.3.5", "label": "9.3.5", "title": "在从 WAL 重放更新时不清除 GiST 索引页的右链接", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "def835604a6dace9bf61c26a054e374964e1352d8428f232acb25e794b113b19"}, "url": "/docs/compare/?release=9.3.5#9.3.5-3f8b30812c5bc055", "source_url": "/docs/release/9.3.5/#id-1.11.6.25.5"}, {"db_id": "5425fcaaa9bd29ad257e597861d9667b", "kind": "equivalent", "version": "9.2.9", "label": "9.2.9", "title": "在从 WAL 重放更新时不清除 GiST 索引页的右链接", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "def835604a6dace9bf61c26a054e374964e1352d8428f232acb25e794b113b19"}, "url": "/docs/compare/?release=9.2.9#9.2.9-3f8b30812c5bc055", "source_url": "/docs/release/9.2.9/#id-1.11.6.20.5"}, {"db_id": "979dc6be64dc95c5598f2e4eb26071f6", "kind": "equivalent", "version": "9.0.18", "label": "9.0.18", "title": "在从 WAL 重放更新时不清除 GiST 索引页的右链接", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "def835604a6dace9bf61c26a054e374964e1352d8428f232acb25e794b113b19"}, "url": "/docs/compare/?release=9.0.18#9.0.18-3f8b30812c5bc055", "source_url": "/docs/release/9.0.18/#id-1.11.6.10.5"}]}, {"id": "9.1.14-fbe6e4ac6488aca6", "cves": [], "html": "<p>修复<a href=\"/docs/9.1/runtime-config-replication.html#GUC-HOT-STANDBY-FEEDBACK\">hot_standby_feedback</a>被动态关闭时反馈状态的处理（Simon Riggs）</p>", "text": "修复hot_standby_feedback被动态关闭时反馈状态的处理（Simon Riggs）", "title": "修复hot_standby_feedback被动态关闭时反馈状态的处理", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.1.14/#id-1.11.6.15.5", "source_hash": "2d75f956a4a2919b29c63be7970f601a740526e0c50233cd66c87d3265837b6b", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix feedback status when guc-hot-standby-feedback is turned off on-the-fly (Simon Riggs)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.14/changes/004", "db_id": "32e3ee0cf371f83b0f4460c46c8b4443", "patch_ids": [], "statement_hash": "3a3a1d2a786aca1dd151f2a724c8e09420160121c601872101b2fe19b5e99716", "relations": [{"rule": 2, "type": "equivalent", "target": "446168cd1cc2641d74ebb1603d0761ad", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3a3a1d2a786aca1dd151f2a724c8e09420160121c601872101b2fe19b5e99716"}}], "version": "9.1.14", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "446168cd1cc2641d74ebb1603d0761ad", "kind": "equivalent", "version": "9.2.9", "label": "9.2.9", "title": "修复hot_standby_feedback被动态关闭时反馈状态的处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3a3a1d2a786aca1dd151f2a724c8e09420160121c601872101b2fe19b5e99716"}, "url": "/docs/compare/?release=9.2.9#9.2.9-fbe6e4ac6488aca6", "source_url": "/docs/release/9.2.9/#id-1.11.6.20.5"}]}, {"id": "9.1.14-e12dc053d193646e", "cves": [], "html": "<p>修复嵌套调用 <code>ReceiveSharedInvalidMessages</code> 期间缓存失效可能不正确的问题（Andres Freund）</p>", "text": "修复嵌套调用 ReceiveSharedInvalidMessages 期间缓存失效可能不正确的问题（Andres Freund）", "title": "修复嵌套调用 ReceiveSharedInvalidMessages 期间缓存失效可能不正确的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.1.14/#id-1.11.6.15.5", "source_hash": "6a910cc9ef7a11b0825eb563239fa192a2dc2fee8e6b26b736d1f76b5f1966c2", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix possibly-incorrect cache invalidation during nested calls to ReceiveSharedInvalidMessages (Andres Freund)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.14/changes/005", "db_id": "941fc67f41deef8bb58899550331ab9f", "patch_ids": [], "statement_hash": "e020f62903dfedf2fadcff8225d57b0c2bf17ac13944c0a4442718d8c344c26c", "relations": [{"rule": 2, "type": "equivalent", "target": "1aaf0201a17b65d2b48c799e55a1bf9a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e020f62903dfedf2fadcff8225d57b0c2bf17ac13944c0a4442718d8c344c26c"}}, {"rule": 2, "type": "equivalent", "target": "273c053f34944a528604aa28cc9e7f17", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e020f62903dfedf2fadcff8225d57b0c2bf17ac13944c0a4442718d8c344c26c"}}, {"rule": 2, "type": "equivalent", "target": "abb57a6802c3d73430cc1045e10305f7", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e020f62903dfedf2fadcff8225d57b0c2bf17ac13944c0a4442718d8c344c26c"}}], "version": "9.1.14", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "273c053f34944a528604aa28cc9e7f17", "kind": "equivalent", "version": "9.3.5", "label": "9.3.5", "title": "修复嵌套调用 ReceiveSharedInvalidMessages 期间缓存失效可能不正确的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e020f62903dfedf2fadcff8225d57b0c2bf17ac13944c0a4442718d8c344c26c"}, "url": "/docs/compare/?release=9.3.5#9.3.5-e12dc053d193646e", "source_url": "/docs/release/9.3.5/#id-1.11.6.25.5"}, {"db_id": "abb57a6802c3d73430cc1045e10305f7", "kind": "equivalent", "version": "9.2.9", "label": "9.2.9", "title": "修复嵌套调用 ReceiveSharedInvalidMessages 期间缓存失效可能不正确的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e020f62903dfedf2fadcff8225d57b0c2bf17ac13944c0a4442718d8c344c26c"}, "url": "/docs/compare/?release=9.2.9#9.2.9-e12dc053d193646e", "source_url": "/docs/release/9.2.9/#id-1.11.6.20.5"}, {"db_id": "1aaf0201a17b65d2b48c799e55a1bf9a", "kind": "equivalent", "version": "9.0.18", "label": "9.0.18", "title": "修复嵌套调用 ReceiveSharedInvalidMessages 期间缓存失效可能不正确的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e020f62903dfedf2fadcff8225d57b0c2bf17ac13944c0a4442718d8c344c26c"}, "url": "/docs/compare/?release=9.0.18#9.0.18-e12dc053d193646e", "source_url": "/docs/release/9.0.18/#id-1.11.6.10.5"}]}, {"id": "9.1.14-22a620da2325978e", "cves": [], "html": "<p>修复对从带继承子表的表读取的子查询执行 <code>UNION ALL</code> 时规划器报 <span>“<span>could not find pathkey item to sort</span>”</span> 失败的问题（Tom Lane）</p>", "text": "修复对从带继承子表的表读取的子查询执行 UNION ALL 时规划器报 “could not find pathkey item to sort” 失败的问题（Tom Lane）", "title": "修复对从带继承子表的表读取的子查询执行 UNION ALL 时规划器报 “could not find pathkey item to sort” 失败的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.1.14/#id-1.11.6.15.5", "source_hash": "f2f761f70854a0a3b4670c3e4745ae224af0cfa4b83cedcd457e7f11d44ad88c", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix could not find pathkey item to sort planner failures with UNION ALL over subqueries reading from tables with inheritance children (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.14/changes/006", "db_id": "4b8b73c22f7dc41abb2dd702bebf1e01", "patch_ids": [], "statement_hash": "1c3a3b845c2829e8b7e7b646d7f2fa9b6d65f769c183643981b22e4bbec939fc", "relations": [{"rule": 2, "type": "equivalent", "target": "19ad847390bbccd2556bd202966fe736", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1c3a3b845c2829e8b7e7b646d7f2fa9b6d65f769c183643981b22e4bbec939fc"}}, {"rule": 2, "type": "equivalent", "target": "f5fd1221762c82e9a95f2d0fe6e0f23a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1c3a3b845c2829e8b7e7b646d7f2fa9b6d65f769c183643981b22e4bbec939fc"}}], "version": "9.1.14", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "19ad847390bbccd2556bd202966fe736", "kind": "equivalent", "version": "9.3.5", "label": "9.3.5", "title": "修复对从带继承子表的表读取的子查询执行 UNION ALL 时规划器报 “could not find pathkey item to sort” 失败的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1c3a3b845c2829e8b7e7b646d7f2fa9b6d65f769c183643981b22e4bbec939fc"}, "url": "/docs/compare/?release=9.3.5#9.3.5-22a620da2325978e", "source_url": "/docs/release/9.3.5/#id-1.11.6.25.5"}, {"db_id": "f5fd1221762c82e9a95f2d0fe6e0f23a", "kind": "equivalent", "version": "9.2.9", "label": "9.2.9", "title": "修复对从带继承子表的表读取的子查询执行 UNION ALL 时规划器报“could not find pathkey item to sort”失败的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1c3a3b845c2829e8b7e7b646d7f2fa9b6d65f769c183643981b22e4bbec939fc"}, "url": "/docs/compare/?release=9.2.9#9.2.9-bd84f068c0948d9a", "source_url": "/docs/release/9.2.9/#id-1.11.6.20.5"}]}, {"id": "9.1.14-faf4c8b633519c08", "cves": [], "html": "<p>当子查询的目标列表中存在集合返回函数时，不再假定其输出是唯一的（David Rowley）</p>\n<p>这一疏忽可能导致诸如 <code>WHERE x IN (SELECT y, generate_series(1,10) FROM t GROUP BY y)</code> 之类的构造被错误优化。</p>", "text": "当子查询的目标列表中存在集合返回函数时，不再假定其输出是唯一的（David Rowley） 这一疏忽可能导致诸如 WHERE x IN (SELECT y, generate_series(1,10) FROM t GROUP BY y) 之类的构造被错误优化。", "title": "当子查询的目标列表中存在集合返回函数时，不再假定其输出是唯一的", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.1.14/#id-1.11.6.15.5", "source_hash": "e3cdb5e885713fbb6e916a461cea8a5edd6d8b8eca4f8d00b6d8d07c14c51ad3", "section_path": ["变更"], "commit_groups": [], "identity_text": "Don't assume a subquery's output is unique if there's a set-returning function in its targetlist (David Rowley) This oversight could lead to misoptimization of constructs like WHERE x IN (SELECT y, generate_series(1,10) FROM t GROUP BY y).", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.14/changes/007", "db_id": "3f0de4ee4478bf34317072fe1e1d1d75", "patch_ids": [], "statement_hash": "8b3826bda5d95d5a7ef8820f8e0f7a01f1b7473cb23bd437ff1eb481ac76cd8f", "relations": [{"rule": 2, "type": "equivalent", "target": "11db6efc9d4ec2ae33c51444e0bb7f14", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8b3826bda5d95d5a7ef8820f8e0f7a01f1b7473cb23bd437ff1eb481ac76cd8f"}}, {"rule": 2, "type": "equivalent", "target": "4091f69cd098522abf12a3f99c116f25", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8b3826bda5d95d5a7ef8820f8e0f7a01f1b7473cb23bd437ff1eb481ac76cd8f"}}, {"rule": 2, "type": "equivalent", "target": "84948cbdcbf960a5938ea2bb5322a55f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8b3826bda5d95d5a7ef8820f8e0f7a01f1b7473cb23bd437ff1eb481ac76cd8f"}}], "version": "9.1.14", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "84948cbdcbf960a5938ea2bb5322a55f", "kind": "equivalent", "version": "9.3.5", "label": "9.3.5", "title": "当子查询的目标列表中存在集合返回函数时，不再假定其输出是唯一的", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8b3826bda5d95d5a7ef8820f8e0f7a01f1b7473cb23bd437ff1eb481ac76cd8f"}, "url": "/docs/compare/?release=9.3.5#9.3.5-faf4c8b633519c08", "source_url": "/docs/release/9.3.5/#id-1.11.6.25.5"}, {"db_id": "4091f69cd098522abf12a3f99c116f25", "kind": "equivalent", "version": "9.2.9", "label": "9.2.9", "title": "当子查询的目标列表中存在集合返回函数时，不再假定其输出是唯一的", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8b3826bda5d95d5a7ef8820f8e0f7a01f1b7473cb23bd437ff1eb481ac76cd8f"}, "url": "/docs/compare/?release=9.2.9#9.2.9-faf4c8b633519c08", "source_url": "/docs/release/9.2.9/#id-1.11.6.20.5"}, {"db_id": "11db6efc9d4ec2ae33c51444e0bb7f14", "kind": "equivalent", "version": "9.0.18", "label": "9.0.18", "title": "当子查询的目标列表中存在集合返回函数时，不再假定其输出是唯一的", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8b3826bda5d95d5a7ef8820f8e0f7a01f1b7473cb23bd437ff1eb481ac76cd8f"}, "url": "/docs/compare/?release=9.0.18#9.0.18-faf4c8b633519c08", "source_url": "/docs/release/9.0.18/#id-1.11.6.10.5"}]}, {"id": "9.1.14-3b2656e08e941538", "cves": [], "html": "<p>修复未能对结构化类型的组合元素中的字段执行解 TOAST 的错误（Tom Lane）</p>\n<p>这纠正了 TOAST 指针可能未经解引用就被复制到其他表的情况。如果原始数据随后被删除，当这个已悬空的指针被使用时，会导致诸如 <span>“<span>missing chunk number 0 for toast value ...</span>”</span> 之类的错误。</p>", "text": "修复未能对结构化类型的组合元素中的字段执行解 TOAST 的错误（Tom Lane） 这纠正了 TOAST 指针可能未经解引用就被复制到其他表的情况。如果原始数据随后被删除，当这个已悬空的指针被使用时，会导致诸如 “missing chunk number 0 for toast value ...” 之类的错误。", "title": "修复未能对结构化类型的组合元素中的字段执行解 TOAST 的错误", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.1.14/#id-1.11.6.15.5", "source_hash": "38154f67a0e2975afbac7fb88e7afa4b9f409aa658c945df42c14da9fab43137", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix failure to detoast fields in composite elements of structured types (Tom Lane) This corrects cases where TOAST pointers could be copied into other tables without being dereferenced. If the original data is later deleted, it would lead to errors like missing chunk number 0 for toast value ... when the now-dangling pointer is used.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.14/changes/008", "db_id": "d5cdc42fb546efa978e3758bf6fabe38", "patch_ids": [], "statement_hash": "a0e8b940d866af211905ef8b5188ad06eeeb9f6d59793cca6810091274d49204", "relations": [{"rule": 2, "type": "equivalent", "target": "7df54a2467eba0e9a74d4a38f1f98353", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a0e8b940d866af211905ef8b5188ad06eeeb9f6d59793cca6810091274d49204"}}, {"rule": 2, "type": "equivalent", "target": "bb5e5d0ca78271a17828f482f87c7451", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a0e8b940d866af211905ef8b5188ad06eeeb9f6d59793cca6810091274d49204"}}, {"rule": 2, "type": "equivalent", "target": "eaec842655e68490e08ca8bb73072d29", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a0e8b940d866af211905ef8b5188ad06eeeb9f6d59793cca6810091274d49204"}}], "version": "9.1.14", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "bb5e5d0ca78271a17828f482f87c7451", "kind": "equivalent", "version": "9.3.5", "label": "9.3.5", "title": "修复未能对结构化类型的组合元素中的字段执行解 TOAST 的错误", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a0e8b940d866af211905ef8b5188ad06eeeb9f6d59793cca6810091274d49204"}, "url": "/docs/compare/?release=9.3.5#9.3.5-3b2656e08e941538", "source_url": "/docs/release/9.3.5/#id-1.11.6.25.5"}, {"db_id": "7df54a2467eba0e9a74d4a38f1f98353", "kind": "equivalent", "version": "9.2.9", "label": "9.2.9", "title": "修复未能对结构化类型的组合元素中的字段执行解 TOAST 的错误", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a0e8b940d866af211905ef8b5188ad06eeeb9f6d59793cca6810091274d49204"}, "url": "/docs/compare/?release=9.2.9#9.2.9-3b2656e08e941538", "source_url": "/docs/release/9.2.9/#id-1.11.6.20.5"}, {"db_id": "eaec842655e68490e08ca8bb73072d29", "kind": "equivalent", "version": "9.0.18", "label": "9.0.18", "title": "修复未能对结构化类型的组合元素中的字段执行解 TOAST 的错误", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a0e8b940d866af211905ef8b5188ad06eeeb9f6d59793cca6810091274d49204"}, "url": "/docs/compare/?release=9.0.18#9.0.18-3b2656e08e941538", "source_url": "/docs/release/9.0.18/#id-1.11.6.10.5"}]}, {"id": "9.1.14-851a3705c038d7af", "cves": [], "html": "<p>修复对 Append 计划节点输出的整行引用导致 <span>“<span>record type has not been registered</span>”</span> 失败的问题（Tom Lane）</p>", "text": "修复对 Append 计划节点输出的整行引用导致 “record type has not been registered” 失败的问题（Tom Lane）", "title": "修复对 Append 计划节点输出的整行引用导致 “record type has not been registered” 失败的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.1.14/#id-1.11.6.15.5", "source_hash": "0424902d4b6849536a3cbce8fc811183ae475434144c17ff46a02dbd01b5b845", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix record type has not been registered failures with whole-row references to the output of Append plan nodes (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.14/changes/009", "db_id": "e13b6c867000757d183dd0b92153c3c0", "patch_ids": [], "statement_hash": "907e00465ed3de22da88d87431176f161c3e33879f9d1561a047130e5f1d128c", "relations": [{"rule": 2, "type": "equivalent", "target": "943f89e82d9b9416e4544d7a538b55cf", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "907e00465ed3de22da88d87431176f161c3e33879f9d1561a047130e5f1d128c"}}, {"rule": 2, "type": "equivalent", "target": "a5bff8c32cfcc751d43d2d9715dbfc69", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "907e00465ed3de22da88d87431176f161c3e33879f9d1561a047130e5f1d128c"}}, {"rule": 2, "type": "equivalent", "target": "b6b468de37aae5bd9ac064219792b112", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "907e00465ed3de22da88d87431176f161c3e33879f9d1561a047130e5f1d128c"}}], "version": "9.1.14", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "a5bff8c32cfcc751d43d2d9715dbfc69", "kind": "equivalent", "version": "9.3.5", "label": "9.3.5", "title": "修复对 Append 计划节点输出的整行引用导致 “record type has not been registered” 失败的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "907e00465ed3de22da88d87431176f161c3e33879f9d1561a047130e5f1d128c"}, "url": "/docs/compare/?release=9.3.5#9.3.5-851a3705c038d7af", "source_url": "/docs/release/9.3.5/#id-1.11.6.25.5"}, {"db_id": "943f89e82d9b9416e4544d7a538b55cf", "kind": "equivalent", "version": "9.2.9", "label": "9.2.9", "title": "修复对 Append 计划节点输出的整行引用导致“record type has not been registered”失败的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "907e00465ed3de22da88d87431176f161c3e33879f9d1561a047130e5f1d128c"}, "url": "/docs/compare/?release=9.2.9#9.2.9-b89988ddcd2b22c4", "source_url": "/docs/release/9.2.9/#id-1.11.6.20.5"}, {"db_id": "b6b468de37aae5bd9ac064219792b112", "kind": "equivalent", "version": "9.0.18", "label": "9.0.18", "title": "修复对 Append 计划节点输出的整行引用导致 “record type has not been registered” 失败的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "907e00465ed3de22da88d87431176f161c3e33879f9d1561a047130e5f1d128c"}, "url": "/docs/compare/?release=9.0.18#9.0.18-851a3705c038d7af", "source_url": "/docs/release/9.0.18/#id-1.11.6.10.5"}]}, {"id": "9.1.14-c4131253432ef97c", "cves": [], "html": "<p>修复在回卷游标时调用用户定义函数可能崩溃的问题（Tom Lane）</p>", "text": "修复在回卷游标时调用用户定义函数可能崩溃的问题（Tom Lane）", "title": "修复在回卷游标时调用用户定义函数可能崩溃的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.1.14/#id-1.11.6.15.5", "source_hash": "94abbbcfa564b8a44185412e42da300f7c31a6ad876e090f3b2672ced904f489", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix possible crash when invoking a user-defined function while rewinding a cursor (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.14/changes/010", "db_id": "f0683b60085c78c315c325a0a29373b7", "patch_ids": [], "statement_hash": "7e47f72c2cb634cac94f6dda8abf3e611183e97495532a610813a79492b4f80a", "relations": [{"rule": 2, "type": "equivalent", "target": "03176a786830cf8e48a92ec1d8f49cd5", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7e47f72c2cb634cac94f6dda8abf3e611183e97495532a610813a79492b4f80a"}}, {"rule": 2, "type": "equivalent", "target": "6794b5b236dec9c71441bd8d31d2de11", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7e47f72c2cb634cac94f6dda8abf3e611183e97495532a610813a79492b4f80a"}}, {"rule": 2, "type": "equivalent", "target": "7a33bc45d19644a4fa8bacb9cd4cde75", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7e47f72c2cb634cac94f6dda8abf3e611183e97495532a610813a79492b4f80a"}}], "version": "9.1.14", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "03176a786830cf8e48a92ec1d8f49cd5", "kind": "equivalent", "version": "9.3.5", "label": "9.3.5", "title": "修复在回卷游标时调用用户定义函数可能崩溃的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7e47f72c2cb634cac94f6dda8abf3e611183e97495532a610813a79492b4f80a"}, "url": "/docs/compare/?release=9.3.5#9.3.5-c4131253432ef97c", "source_url": "/docs/release/9.3.5/#id-1.11.6.25.5"}, {"db_id": "6794b5b236dec9c71441bd8d31d2de11", "kind": "equivalent", "version": "9.2.9", "label": "9.2.9", "title": "修复在回卷游标时调用用户定义函数可能崩溃的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7e47f72c2cb634cac94f6dda8abf3e611183e97495532a610813a79492b4f80a"}, "url": "/docs/compare/?release=9.2.9#9.2.9-c4131253432ef97c", "source_url": "/docs/release/9.2.9/#id-1.11.6.20.5"}, {"db_id": "7a33bc45d19644a4fa8bacb9cd4cde75", "kind": "equivalent", "version": "9.0.18", "label": "9.0.18", "title": "修复在回卷游标时调用用户定义函数可能崩溃的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7e47f72c2cb634cac94f6dda8abf3e611183e97495532a610813a79492b4f80a"}, "url": "/docs/compare/?release=9.0.18#9.0.18-c4131253432ef97c", "source_url": "/docs/release/9.0.18/#id-1.11.6.10.5"}]}, {"id": "9.1.14-37755a9034281f01", "cves": [], "html": "<p>修复为 <code>FROM</code> 中的函数求值参数时查询级内存泄漏的问题（Tom Lane）</p>", "text": "修复为 FROM 中的函数求值参数时查询级内存泄漏的问题（Tom Lane）", "title": "修复为 FROM 中的函数求值参数时查询级内存泄漏的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.1.14/#id-1.11.6.15.5", "source_hash": "ec6ab20fb05aaf60ca7ba16dd99a583f75f065994fdcda495c91fb83fac0abcb", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix query-lifespan memory leak while evaluating the arguments for a function in FROM (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.14/changes/011", "db_id": "1a048d9e7e109fe833d9e6a9e0540084", "patch_ids": [], "statement_hash": "86384f1f46f7632ad7228fd92790058d972a5e5b6f320f413866e3c433795999", "relations": [{"rule": 2, "type": "equivalent", "target": "2c789e694ad162374eea2a3cecb509a4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "86384f1f46f7632ad7228fd92790058d972a5e5b6f320f413866e3c433795999"}}, {"rule": 2, "type": "equivalent", "target": "41cd78a1fbcdab8a53229962882ca0b4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "86384f1f46f7632ad7228fd92790058d972a5e5b6f320f413866e3c433795999"}}, {"rule": 2, "type": "equivalent", "target": "c32372665831e6929e90b6d8512dcbee", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "86384f1f46f7632ad7228fd92790058d972a5e5b6f320f413866e3c433795999"}}], "version": "9.1.14", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "41cd78a1fbcdab8a53229962882ca0b4", "kind": "equivalent", "version": "9.3.5", "label": "9.3.5", "title": "修复为 FROM 中的函数求值参数时查询级内存泄漏的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "86384f1f46f7632ad7228fd92790058d972a5e5b6f320f413866e3c433795999"}, "url": "/docs/compare/?release=9.3.5#9.3.5-37755a9034281f01", "source_url": "/docs/release/9.3.5/#id-1.11.6.25.5"}, {"db_id": "2c789e694ad162374eea2a3cecb509a4", "kind": "equivalent", "version": "9.2.9", "label": "9.2.9", "title": "修复为 FROM 中的函数求值参数时查询级内存泄漏的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "86384f1f46f7632ad7228fd92790058d972a5e5b6f320f413866e3c433795999"}, "url": "/docs/compare/?release=9.2.9#9.2.9-37755a9034281f01", "source_url": "/docs/release/9.2.9/#id-1.11.6.20.5"}, {"db_id": "c32372665831e6929e90b6d8512dcbee", "kind": "equivalent", "version": "9.0.18", "label": "9.0.18", "title": "修复为 FROM 中的函数求值参数时查询级内存泄漏的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "86384f1f46f7632ad7228fd92790058d972a5e5b6f320f413866e3c433795999"}, "url": "/docs/compare/?release=9.0.18#9.0.18-37755a9034281f01", "source_url": "/docs/release/9.0.18/#id-1.11.6.10.5"}]}, {"id": "9.1.14-a5b49a0dc9a0b81e", "cves": [], "html": "<p>修复正则表达式处理中的会话级内存泄漏（Tom Lane、Arthur O'Dwyer、Greg Stark）</p>", "text": "修复正则表达式处理中的会话级内存泄漏（Tom Lane、Arthur O'Dwyer、Greg Stark）", "title": "修复正则表达式处理中的会话级内存泄漏", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.1.14/#id-1.11.6.15.5", "source_hash": "9aaead3bfbaf099a0fe7b9fdd4175a27c0f4a84924180f8a75e516025da25d4b", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix session-lifespan memory leaks in regular-expression processing (Tom Lane, Arthur O'Dwyer, Greg Stark)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.14/changes/012", "db_id": "0b4fd6206cb4bbf88806d495bbf3cc90", "patch_ids": [], "statement_hash": "5be82c5605f010d5bbba9389d1e8e446f5d64d76581c451a8d6256265a3758a0", "relations": [{"rule": 2, "type": "equivalent", "target": "25991b347a474942acebc8de0eaff080", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5be82c5605f010d5bbba9389d1e8e446f5d64d76581c451a8d6256265a3758a0"}}, {"rule": 2, "type": "equivalent", "target": "383752e01bb4550a7f1914986b8e0c3a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5be82c5605f010d5bbba9389d1e8e446f5d64d76581c451a8d6256265a3758a0"}}, {"rule": 2, "type": "equivalent", "target": "eeb0bf25c9ae2d48c7186e65ae9b1ff9", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5be82c5605f010d5bbba9389d1e8e446f5d64d76581c451a8d6256265a3758a0"}}], "version": "9.1.14", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "eeb0bf25c9ae2d48c7186e65ae9b1ff9", "kind": "equivalent", "version": "9.3.5", "label": "9.3.5", "title": "修复正则表达式处理中的会话级内存泄漏", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5be82c5605f010d5bbba9389d1e8e446f5d64d76581c451a8d6256265a3758a0"}, "url": "/docs/compare/?release=9.3.5#9.3.5-a5b49a0dc9a0b81e", "source_url": "/docs/release/9.3.5/#id-1.11.6.25.5"}, {"db_id": "25991b347a474942acebc8de0eaff080", "kind": "equivalent", "version": "9.2.9", "label": "9.2.9", "title": "修复正则表达式处理中的会话级内存泄漏", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5be82c5605f010d5bbba9389d1e8e446f5d64d76581c451a8d6256265a3758a0"}, "url": "/docs/compare/?release=9.2.9#9.2.9-a5b49a0dc9a0b81e", "source_url": "/docs/release/9.2.9/#id-1.11.6.20.5"}, {"db_id": "383752e01bb4550a7f1914986b8e0c3a", "kind": "equivalent", "version": "9.0.18", "label": "9.0.18", "title": "修复正则表达式处理中的会话级内存泄漏", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5be82c5605f010d5bbba9389d1e8e446f5d64d76581c451a8d6256265a3758a0"}, "url": "/docs/compare/?release=9.0.18#9.0.18-a5b49a0dc9a0b81e", "source_url": "/docs/release/9.0.18/#id-1.11.6.10.5"}]}, {"id": "9.1.14-36e0d9edc5a219a4", "cves": [], "html": "<p>修复 <code>hungarian.stop</code> 中的数据编码错误（Tom Lane）</p>", "text": "修复 hungarian.stop 中的数据编码错误（Tom Lane）", "title": "修复 hungarian.stop 中的数据编码错误", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.1.14/#id-1.11.6.15.5", "source_hash": "48803e15e50bc09f82d0b004425a9f1eee128e173863da1282cb3111b1bd2921", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix data encoding error in hungarian.stop (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.14/changes/013", "db_id": "84ff1fd0250a21afab5aeeb41175a0a0", "patch_ids": [], "statement_hash": "f036016e3ff0dd160b1087e2ecde2a6826685336921ee4cdd4fdcdbc9d06bdee", "relations": [{"rule": 2, "type": "equivalent", "target": "264f904d5d08ad625ac4fe46a29711e1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f036016e3ff0dd160b1087e2ecde2a6826685336921ee4cdd4fdcdbc9d06bdee"}}, {"rule": 2, "type": "equivalent", "target": "38ba3cd0011d5007ee11a447df513fa0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f036016e3ff0dd160b1087e2ecde2a6826685336921ee4cdd4fdcdbc9d06bdee"}}, {"rule": 2, "type": "equivalent", "target": "d02b618f97b84480c63ea8f630a9a517", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f036016e3ff0dd160b1087e2ecde2a6826685336921ee4cdd4fdcdbc9d06bdee"}}], "version": "9.1.14", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "264f904d5d08ad625ac4fe46a29711e1", "kind": "equivalent", "version": "9.3.5", "label": "9.3.5", "title": "修复 hungarian.stop 中的数据编码错误", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f036016e3ff0dd160b1087e2ecde2a6826685336921ee4cdd4fdcdbc9d06bdee"}, "url": "/docs/compare/?release=9.3.5#9.3.5-36e0d9edc5a219a4", "source_url": "/docs/release/9.3.5/#id-1.11.6.25.5"}, {"db_id": "38ba3cd0011d5007ee11a447df513fa0", "kind": "equivalent", "version": "9.2.9", "label": "9.2.9", "title": "修复 hungarian.stop 中的数据编码错误", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f036016e3ff0dd160b1087e2ecde2a6826685336921ee4cdd4fdcdbc9d06bdee"}, "url": "/docs/compare/?release=9.2.9#9.2.9-36e0d9edc5a219a4", "source_url": "/docs/release/9.2.9/#id-1.11.6.20.5"}, {"db_id": "d02b618f97b84480c63ea8f630a9a517", "kind": "equivalent", "version": "9.0.18", "label": "9.0.18", "title": "修复 hungarian.stop 中的数据编码错误", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f036016e3ff0dd160b1087e2ecde2a6826685336921ee4cdd4fdcdbc9d06bdee"}, "url": "/docs/compare/?release=9.0.18#9.0.18-36e0d9edc5a219a4", "source_url": "/docs/release/9.0.18/#id-1.11.6.10.5"}]}, {"id": "9.1.14-ecf35a4345e9fe13", "cves": [], "html": "<p>防止在<a href=\"/docs/9.1/runtime-config-compatible.html#GUC-DEFAULT-WITH-OIDS\">default_with_oids</a>为真时创建带 OIDS 的外部表（Etsuro Fujita）</p>", "text": "防止在default_with_oids为真时创建带 OIDS 的外部表（Etsuro Fujita）", "title": "防止在default_with_oids为真时创建带 OIDS 的外部表", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.1.14/#id-1.11.6.15.5", "source_hash": "3570a586b71a647903ae03bfdc9612c8eb55d9591cb0b0e58095672e8540f386", "section_path": ["变更"], "commit_groups": [], "identity_text": "Prevent foreign tables from being created with OIDS when guc-default-with-oids is true (Etsuro Fujita)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.14/changes/014", "db_id": "6e264876511a90aa898b99cbf552379e", "patch_ids": [], "statement_hash": "0c5d6924e91115d2c06ede70d3eace773034fdcf29191aa60f505d152021f943", "relations": [{"rule": 2, "type": "equivalent", "target": "6e736cb3322b1f55e6dd7ad1a49ba51e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0c5d6924e91115d2c06ede70d3eace773034fdcf29191aa60f505d152021f943"}}, {"rule": 2, "type": "equivalent", "target": "9ac3a9d83688f1efb8ed6afac4f6db50", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0c5d6924e91115d2c06ede70d3eace773034fdcf29191aa60f505d152021f943"}}], "version": "9.1.14", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "6e736cb3322b1f55e6dd7ad1a49ba51e", "kind": "equivalent", "version": "9.3.5", "label": "9.3.5", "title": "防止在default_with_oids为真时创建带 OIDS 的外部表", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0c5d6924e91115d2c06ede70d3eace773034fdcf29191aa60f505d152021f943"}, "url": "/docs/compare/?release=9.3.5#9.3.5-ecf35a4345e9fe13", "source_url": "/docs/release/9.3.5/#id-1.11.6.25.5"}, {"db_id": "9ac3a9d83688f1efb8ed6afac4f6db50", "kind": "equivalent", "version": "9.2.9", "label": "9.2.9", "title": "防止在default_with_oids为真时创建带 OIDS 的外部表", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0c5d6924e91115d2c06ede70d3eace773034fdcf29191aa60f505d152021f943"}, "url": "/docs/compare/?release=9.2.9#9.2.9-ecf35a4345e9fe13", "source_url": "/docs/release/9.2.9/#id-1.11.6.20.5"}]}, {"id": "9.1.14-c686dfa617ceb9a1", "cves": [], "html": "<p>修复对在当前事务中插入、随后被一个现已回滚的子事务删除的行的活跃性检查（Andres Freund）</p>\n<p>如果同一事务中稍后执行了 <code>CREATE INDEX</code> 或 <code>CLUSTER</code>，这可能导致问题（至少是虚假警告，最坏是无限循环）。</p>", "text": "修复对在当前事务中插入、随后被一个现已回滚的子事务删除的行的活跃性检查（Andres Freund） 如果同一事务中稍后执行了 CREATE INDEX 或 CLUSTER，这可能导致问题（至少是虚假警告，最坏是无限循环）。", "title": "修复对在当前事务中插入、随后被一个现已回滚的子事务删除的行的活跃性检查", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.1.14/#id-1.11.6.15.5", "source_hash": "7ae6868be95d9b4b8faa9b7d554e6deed0d34639df495ea2a884011b04019cf0", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix liveness checks for rows that were inserted in the current transaction and then deleted by a now-rolled-back subtransaction (Andres Freund) This could cause problems (at least spurious warnings, and at worst an infinite loop) if CREATE INDEX or CLUSTER were done later in the same transaction.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.14/changes/015", "db_id": "434f2385f9554696517f8f50bb5ecccd", "patch_ids": [], "statement_hash": "0407dc03f159e299ade1fec7314eb1de83d6c6fc23777bc71894d8ba15944a31", "relations": [{"rule": 2, "type": "equivalent", "target": "116d8d34d4d0b4eff3945173d9a62e51", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0407dc03f159e299ade1fec7314eb1de83d6c6fc23777bc71894d8ba15944a31"}}, {"rule": 2, "type": "equivalent", "target": "b5fe3b8610961d74024c709d4db93170", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0407dc03f159e299ade1fec7314eb1de83d6c6fc23777bc71894d8ba15944a31"}}, {"rule": 2, "type": "equivalent", "target": "baf0f18b7d66cdd113769591a089af77", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0407dc03f159e299ade1fec7314eb1de83d6c6fc23777bc71894d8ba15944a31"}}], "version": "9.1.14", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "116d8d34d4d0b4eff3945173d9a62e51", "kind": "equivalent", "version": "9.3.5", "label": "9.3.5", "title": "修复对在当前事务中插入、随后被一个现已回滚的子事务删除的行的活跃性检查", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0407dc03f159e299ade1fec7314eb1de83d6c6fc23777bc71894d8ba15944a31"}, "url": "/docs/compare/?release=9.3.5#9.3.5-c686dfa617ceb9a1", "source_url": "/docs/release/9.3.5/#id-1.11.6.25.5"}, {"db_id": "baf0f18b7d66cdd113769591a089af77", "kind": "equivalent", "version": "9.2.9", "label": "9.2.9", "title": "修复对在当前事务中插入、随后被一个现已回滚的子事务删除的行的活跃性检查", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0407dc03f159e299ade1fec7314eb1de83d6c6fc23777bc71894d8ba15944a31"}, "url": "/docs/compare/?release=9.2.9#9.2.9-c686dfa617ceb9a1", "source_url": "/docs/release/9.2.9/#id-1.11.6.20.5"}, {"db_id": "b5fe3b8610961d74024c709d4db93170", "kind": "equivalent", "version": "9.0.18", "label": "9.0.18", "title": "修复对在当前事务中插入、随后被一个现已回滚的子事务删除的行的活跃性检查", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0407dc03f159e299ade1fec7314eb1de83d6c6fc23777bc71894d8ba15944a31"}, "url": "/docs/compare/?release=9.0.18#9.0.18-c686dfa617ceb9a1", "source_url": "/docs/release/9.0.18/#id-1.11.6.10.5"}]}, {"id": "9.1.14-195ea8badae0b582", "cves": [], "html": "<p>在 <code>PREPARE TRANSACTION</code> 期间清除 <code>pg_stat_activity</code>.<code>xact_start</code>（Andres Freund）</p>\n<p>在 <code>PREPARE</code> 之后，发起会话已不在事务中，因此不应继续显示事务开始时间。</p>", "text": "在 PREPARE TRANSACTION 期间清除 pg_stat_activity.xact_start（Andres Freund） 在 PREPARE 之后，发起会话已不在事务中，因此不应继续显示事务开始时间。", "title": "在 PREPARE TRANSACTION 期间清除 pg_stat_activity.xact_start", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.1.14/#id-1.11.6.15.5", "source_hash": "d95f549ef943b1661189002e146bccb045f8593853dc88180c9edf9b760ab3ea", "section_path": ["变更"], "commit_groups": [], "identity_text": "Clear pg_stat_activity.xact_start during PREPARE TRANSACTION (Andres Freund) After the PREPARE, the originating session is no longer in a transaction, so it should not continue to display a transaction start time.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.14/changes/016", "db_id": "53fed2609faead97a15f4688071e57af", "patch_ids": [], "statement_hash": "642ef4bdb94b619d66e23824a190f24539619a99612365fbf4681bbc2a7a4e4c", "relations": [{"rule": 2, "type": "equivalent", "target": "66c6ffb4b1967b64700194b1fe3ca2aa", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "642ef4bdb94b619d66e23824a190f24539619a99612365fbf4681bbc2a7a4e4c"}}, {"rule": 2, "type": "equivalent", "target": "d20b9d109f7e0a680be94af055771645", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "642ef4bdb94b619d66e23824a190f24539619a99612365fbf4681bbc2a7a4e4c"}}, {"rule": 2, "type": "equivalent", "target": "fc5f7050ba78e0c05e9e87fac8f1df45", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "642ef4bdb94b619d66e23824a190f24539619a99612365fbf4681bbc2a7a4e4c"}}], "version": "9.1.14", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "d20b9d109f7e0a680be94af055771645", "kind": "equivalent", "version": "9.3.5", "label": "9.3.5", "title": "在 PREPARE TRANSACTION 期间清除 pg_stat_activity.xact_start", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "642ef4bdb94b619d66e23824a190f24539619a99612365fbf4681bbc2a7a4e4c"}, "url": "/docs/compare/?release=9.3.5#9.3.5-195ea8badae0b582", "source_url": "/docs/release/9.3.5/#id-1.11.6.25.5"}, {"db_id": "fc5f7050ba78e0c05e9e87fac8f1df45", "kind": "equivalent", "version": "9.2.9", "label": "9.2.9", "title": "在 PREPARE TRANSACTION 期间清除 pg_stat_activity.xact_start", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "642ef4bdb94b619d66e23824a190f24539619a99612365fbf4681bbc2a7a4e4c"}, "url": "/docs/compare/?release=9.2.9#9.2.9-195ea8badae0b582", "source_url": "/docs/release/9.2.9/#id-1.11.6.20.5"}, {"db_id": "66c6ffb4b1967b64700194b1fe3ca2aa", "kind": "equivalent", "version": "9.0.18", "label": "9.0.18", "title": "在 PREPARE TRANSACTION 期间清除 pg_stat_activity.xact_start", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "642ef4bdb94b619d66e23824a190f24539619a99612365fbf4681bbc2a7a4e4c"}, "url": "/docs/compare/?release=9.0.18#9.0.18-195ea8badae0b582", "source_url": "/docs/release/9.0.18/#id-1.11.6.10.5"}]}, {"id": "9.1.14-ecebf2c19d4efb8e", "cves": [], "html": "<p>修复 <code>REASSIGN OWNED</code> 对文本搜索对象失败的问题（Álvaro Herrera）</p>", "text": "修复 REASSIGN OWNED 对文本搜索对象失败的问题（Álvaro Herrera）", "title": "修复 REASSIGN OWNED 对文本搜索对象失败的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.1.14/#id-1.11.6.15.5", "source_hash": "c18ab5ab3b27be5baa6c7b0d9d8b12414aad251b94ab9a772eeeb4c49a14779c", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix REASSIGN OWNED to not fail for text search objects (Álvaro Herrera)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.14/changes/017", "db_id": "315ae6f5bb995c0e6d88f41345b36cb6", "patch_ids": [], "statement_hash": "30e7cf5ee800fa2df1c69283465239aff305f90a0f0f10286e1e4a077ac09f74", "relations": [{"rule": 2, "type": "equivalent", "target": "bc2a550a6fbef954d308390070d59d44", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "30e7cf5ee800fa2df1c69283465239aff305f90a0f0f10286e1e4a077ac09f74"}}, {"rule": 2, "type": "equivalent", "target": "d9fb0682c8c03fe0a2b49ad032bc8328", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "30e7cf5ee800fa2df1c69283465239aff305f90a0f0f10286e1e4a077ac09f74"}}, {"rule": 2, "type": "equivalent", "target": "ed417d10032b5dce01be16e2497fba90", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "30e7cf5ee800fa2df1c69283465239aff305f90a0f0f10286e1e4a077ac09f74"}}], "version": "9.1.14", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "bc2a550a6fbef954d308390070d59d44", "kind": "equivalent", "version": "9.3.5", "label": "9.3.5", "title": "修复 REASSIGN OWNED 对文本搜索对象失败的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "30e7cf5ee800fa2df1c69283465239aff305f90a0f0f10286e1e4a077ac09f74"}, "url": "/docs/compare/?release=9.3.5#9.3.5-ecebf2c19d4efb8e", "source_url": "/docs/release/9.3.5/#id-1.11.6.25.5"}, {"db_id": "d9fb0682c8c03fe0a2b49ad032bc8328", "kind": "equivalent", "version": "9.2.9", "label": "9.2.9", "title": "修复 REASSIGN OWNED 对文本搜索对象失败的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "30e7cf5ee800fa2df1c69283465239aff305f90a0f0f10286e1e4a077ac09f74"}, "url": "/docs/compare/?release=9.2.9#9.2.9-ecebf2c19d4efb8e", "source_url": "/docs/release/9.2.9/#id-1.11.6.20.5"}, {"db_id": "ed417d10032b5dce01be16e2497fba90", "kind": "equivalent", "version": "9.0.18", "label": "9.0.18", "title": "修复 REASSIGN OWNED 对文本搜索对象失败的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "30e7cf5ee800fa2df1c69283465239aff305f90a0f0f10286e1e4a077ac09f74"}, "url": "/docs/compare/?release=9.0.18#9.0.18-ecebf2c19d4efb8e", "source_url": "/docs/release/9.0.18/#id-1.11.6.10.5"}]}, {"id": "9.1.14-da396940f9d861b9", "cves": [], "html": "<p>在 postmaster 启动期间阻塞信号（Tom Lane）</p>\n<p>这确保了 postmaster 在例如启动过程中收到 <span>SIGINT</span> 时能够正确清理自身。</p>", "text": "在 postmaster 启动期间阻塞信号（Tom Lane） 这确保了 postmaster 在例如启动过程中收到 SIGINT 时能够正确清理自身。", "title": "在 postmaster 启动期间阻塞信号", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.1.14/#id-1.11.6.15.5", "source_hash": "905feabf83e6b988a13f32c82e3fe3a42c35ecd996f5da819c42361a076b1445", "section_path": ["变更"], "commit_groups": [], "identity_text": "Block signals during postmaster startup (Tom Lane) This ensures that the postmaster will properly clean up after itself if, for example, it receives SIGINT while still starting up.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.14/changes/018", "db_id": "69cca2f3deeea63837fbbd935c27ec06", "patch_ids": [], "statement_hash": "8986f77d637b9a3105e635f5ce57c021b64961ade1d74f906871180bb6092d56", "relations": [{"rule": 2, "type": "equivalent", "target": "008dd7c42f272dcfed2925215fe3e960", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8986f77d637b9a3105e635f5ce57c021b64961ade1d74f906871180bb6092d56"}}, {"rule": 2, "type": "equivalent", "target": "ea67567d42c2f81930ebd68ee20d1666", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8986f77d637b9a3105e635f5ce57c021b64961ade1d74f906871180bb6092d56"}}, {"rule": 2, "type": "equivalent", "target": "fe83700f9afe7966cb2db312f46f5dc8", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8986f77d637b9a3105e635f5ce57c021b64961ade1d74f906871180bb6092d56"}}], "version": "9.1.14", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "ea67567d42c2f81930ebd68ee20d1666", "kind": "equivalent", "version": "9.3.5", "label": "9.3.5", "title": "在 postmaster 启动期间阻塞信号", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8986f77d637b9a3105e635f5ce57c021b64961ade1d74f906871180bb6092d56"}, "url": "/docs/compare/?release=9.3.5#9.3.5-da396940f9d861b9", "source_url": "/docs/release/9.3.5/#id-1.11.6.25.5"}, {"db_id": "008dd7c42f272dcfed2925215fe3e960", "kind": "equivalent", "version": "9.2.9", "label": "9.2.9", "title": "在 postmaster 启动期间阻塞信号", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8986f77d637b9a3105e635f5ce57c021b64961ade1d74f906871180bb6092d56"}, "url": "/docs/compare/?release=9.2.9#9.2.9-da396940f9d861b9", "source_url": "/docs/release/9.2.9/#id-1.11.6.20.5"}, {"db_id": "fe83700f9afe7966cb2db312f46f5dc8", "kind": "equivalent", "version": "9.0.18", "label": "9.0.18", "title": "在 postmaster 启动期间阻塞信号", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8986f77d637b9a3105e635f5ce57c021b64961ade1d74f906871180bb6092d56"}, "url": "/docs/compare/?release=9.0.18#9.0.18-da396940f9d861b9", "source_url": "/docs/release/9.0.18/#id-1.11.6.10.5"}]}, {"id": "9.1.14-6bcc2d55fc5b756b", "cves": [], "html": "<p>修复处理 <code>pg_hba.conf</code> 中指定主机名而非 IP 地址的条目时的客户端主机名查找（Tom Lane）</p>\n<p>确保反向 DNS 查找失败会被报告，而不是只是静默地不匹配这些条目。同时确保每个连接只做一次反向 DNS 查找尝试，而不是每个主机名条目一次——如果查找尝试失败，此前发生的就是后者。</p>", "text": "修复处理 pg_hba.conf 中指定主机名而非 IP 地址的条目时的客户端主机名查找（Tom Lane） 确保反向 DNS 查找失败会被报告，而不是只是静默地不匹配这些条目。同时确保每个连接只做一次反向 DNS 查找尝试，而不是每个主机名条目一次——如果查找尝试失败，此前发生的就是后者。", "title": "修复处理 pg_hba.conf 中指定主机名而非 IP 地址的条目时的客户端主机名查找", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.1.14/#id-1.11.6.15.5", "source_hash": "1c5d08bcb27dc1509aa0af14534d193b718c3ac6a5309fc71cd0c44adfd62cda", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix client host name lookup when processing pg_hba.conf entries that specify host names instead of IP addresses (Tom Lane) Ensure that reverse-DNS lookup failures are reported, instead of just silently not matching such entries. Also ensure that we make only one reverse-DNS lookup attempt per connection, not one per host name entry, which is what previously happened if the lookup attempts failed.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.14/changes/019", "db_id": "958f57b66124225bfbdd3cb36789ea94", "patch_ids": [], "statement_hash": "4274ba20c8ff3a87dff46213bc27461ce499e5ddd1a889133787a5f1f5fad4dc", "relations": [{"rule": 2, "type": "equivalent", "target": "0c31bb1f7da100c24cafaed31aa745e5", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4274ba20c8ff3a87dff46213bc27461ce499e5ddd1a889133787a5f1f5fad4dc"}}, {"rule": 2, "type": "equivalent", "target": "8fad6156289231d320c05e360bda6d60", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4274ba20c8ff3a87dff46213bc27461ce499e5ddd1a889133787a5f1f5fad4dc"}}], "version": "9.1.14", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "8fad6156289231d320c05e360bda6d60", "kind": "equivalent", "version": "9.3.5", "label": "9.3.5", "title": "修复处理 pg_hba.conf 中指定主机名而非 IP 地址的条目时的客户端主机名查找", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4274ba20c8ff3a87dff46213bc27461ce499e5ddd1a889133787a5f1f5fad4dc"}, "url": "/docs/compare/?release=9.3.5#9.3.5-6bcc2d55fc5b756b", "source_url": "/docs/release/9.3.5/#id-1.11.6.25.5"}, {"db_id": "0c31bb1f7da100c24cafaed31aa745e5", "kind": "equivalent", "version": "9.2.9", "label": "9.2.9", "title": "修复处理 pg_hba.conf 中指定主机名而非 IP 地址的条目时的客户端主机名查找", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4274ba20c8ff3a87dff46213bc27461ce499e5ddd1a889133787a5f1f5fad4dc"}, "url": "/docs/compare/?release=9.2.9#9.2.9-6bcc2d55fc5b756b", "source_url": "/docs/release/9.2.9/#id-1.11.6.20.5"}]}, {"id": "9.1.14-1fe8508066777304", "cves": ["CVE-2014-0067"], "html": "<p>保护 <code>make check</code> 期间启动的临时 postmaster 的 Unix 域套接字（Noah Misch）</p>\n<p>正如我们此前在 CVE-2014-0067 中指出的，任何能够访问套接字文件的本地用户都可以以服务器的引导超级用户身份连接，进而以运行测试的操作系统用户身份执行任意代码。此变更通过把服务器的套接字放到 <code>/tmp</code> 下一个临时的、模式为 0700 的子目录中来防御这一风险。但在不支持 Unix 套接字的平台（尤其是 Windows）上风险仍然存在，因为那时临时 postmaster 必须接受本地 TCP 连接。</p>\n<p>此变更的一个有用副作用是简化了覆盖 <code>DEFAULT_PGSOCKET_DIR</code> 的构建中的 <code>make check</code> 测试。常用的非默认值（如 <code>/var/run/postgresql</code>）往往不允许构建用户写入，此前需要一些变通办法，现在不再需要了。</p>", "text": "保护 make check 期间启动的临时 postmaster 的 Unix 域套接字（Noah Misch） 正如我们此前在 CVE-2014-0067 中指出的，任何能够访问套接字文件的本地用户都可以以服务器的引导超级用户身份连接，进而以运行测试的操作系统用户身份执行任意代码。此变更通过把服务器的套接字放到 /tmp 下一个临时的、模式为 0700 的子目录中来防御这一风险。但在不支持 Unix 套接字的平台（尤其是 Windows）上风险仍然存在，因为那时临时 postmaster 必须接受本地 TCP 连接。 此变更的一个有用副作用是简化了覆盖 DEFAULT_PGSOCKET_DIR 的构建中的 make check 测试。常用的非默认值（如 /var/run/postgresql）往往不允许构建用户写入，此前需要一些变通办法，现在不再需要了。", "title": "保护 make check 期间启动的临时 postmaster 的 Unix 域套接字", "commits": [], "section": "变更", "category": "security", "source_url": "/docs/release/9.1.14/#id-1.11.6.15.5", "source_hash": "0bebe9514a66af36ee038667af54903701b4b68d102e95beca976ca9e8d5514d", "section_path": ["变更"], "commit_groups": [], "identity_text": "Secure Unix-domain sockets of temporary postmasters started during make check (Noah Misch) Any local user able to access the socket file could connect as the server's bootstrap superuser, then proceed to execute arbitrary code as the operating-system user running the test, as we previously noted in CVE-2014-0067. This change defends against that risk by placing the server's socket in a temporary, mode 0700 subdirectory of /tmp. The hazard remains however on platforms where Unix sockets are not supported, notably Windows, because then the temporary postmaster must accept local TCP connections. A useful side effect of this change is to simplify make check testing in builds that override DEFAULT_PGSOCKET_DIR. Popular non-default values like /var/run/postgresql are often not writable by the build user, requiring workarounds that will no longer be necessary.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.14/changes/020", "db_id": "a3829053c54dcf4d2636f219426f3672", "patch_ids": [], "statement_hash": "421edc0e245507d52e97074221ccf85a880e4b1010e62e6ef47292e6fec25061", "relations": [{"rule": 2, "type": "equivalent", "target": "32ac210b2021f4d10180396115d807a2", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "421edc0e245507d52e97074221ccf85a880e4b1010e62e6ef47292e6fec25061"}}, {"rule": 2, "type": "equivalent", "target": "4562d96c599a876fbaa708785af45cf9", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "421edc0e245507d52e97074221ccf85a880e4b1010e62e6ef47292e6fec25061"}}, {"rule": 2, "type": "equivalent", "target": "e5db1e1a4f47f7dbe939381198c5dad5", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "421edc0e245507d52e97074221ccf85a880e4b1010e62e6ef47292e6fec25061"}}], "version": "9.1.14", "category_label": "安全相关", "also_in": [], "variants": [], "related_changes": [{"db_id": "e5db1e1a4f47f7dbe939381198c5dad5", "kind": "equivalent", "version": "9.3.5", "label": "9.3.5", "title": "保护 make check 期间启动的临时 postmaster 的 Unix 域套接字", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "421edc0e245507d52e97074221ccf85a880e4b1010e62e6ef47292e6fec25061"}, "url": "/docs/compare/?release=9.3.5#9.3.5-1fe8508066777304", "source_url": "/docs/release/9.3.5/#id-1.11.6.25.5"}, {"db_id": "32ac210b2021f4d10180396115d807a2", "kind": "equivalent", "version": "9.2.9", "label": "9.2.9", "title": "保护 make check 期间启动的临时 postmaster 的 Unix 域套接字", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "421edc0e245507d52e97074221ccf85a880e4b1010e62e6ef47292e6fec25061"}, "url": "/docs/compare/?release=9.2.9#9.2.9-1fe8508066777304", "source_url": "/docs/release/9.2.9/#id-1.11.6.20.5"}, {"db_id": "4562d96c599a876fbaa708785af45cf9", "kind": "equivalent", "version": "9.0.18", "label": "9.0.18", "title": "保护 make check 期间启动的临时 postmaster 的 Unix 域套接字", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "421edc0e245507d52e97074221ccf85a880e4b1010e62e6ef47292e6fec25061"}, "url": "/docs/compare/?release=9.0.18#9.0.18-1fe8508066777304", "source_url": "/docs/release/9.0.18/#id-1.11.6.10.5"}]}, {"id": "9.1.14-b9bc5469adaffdfe", "cves": [], "html": "<p>修复表空间创建 WAL 重放在 Windows 上无法工作的问题（MauMau）</p>", "text": "修复表空间创建 WAL 重放在 Windows 上无法工作的问题（MauMau）", "title": "修复表空间创建 WAL 重放在 Windows 上无法工作的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.1.14/#id-1.11.6.15.5", "source_hash": "8496748c6fe383087db0df421a017bc32fa7b52ab32972feace597d320a41fc2", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix tablespace creation WAL replay to work on Windows (MauMau)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.14/changes/021", "db_id": "9959e561fe05f1b007aed8b129812efb", "patch_ids": [], "statement_hash": "0951bd8a33873cc51b53c3191ef701e028a04a6dea63a3f266e3ab1f026b50dd", "relations": [{"rule": 2, "type": "equivalent", "target": "176e76f0277971aa24026e7a9a0c0cb0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0951bd8a33873cc51b53c3191ef701e028a04a6dea63a3f266e3ab1f026b50dd"}}, {"rule": 2, "type": "equivalent", "target": "9216ca2e9821acf8d60b4ae88f36b7f0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0951bd8a33873cc51b53c3191ef701e028a04a6dea63a3f266e3ab1f026b50dd"}}, {"rule": 2, "type": "equivalent", "target": "eef99bb4e5e9a46062773101dc0d1818", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0951bd8a33873cc51b53c3191ef701e028a04a6dea63a3f266e3ab1f026b50dd"}}], "version": "9.1.14", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "9216ca2e9821acf8d60b4ae88f36b7f0", "kind": "equivalent", "version": "9.3.5", "label": "9.3.5", "title": "修复表空间创建 WAL 重放在 Windows 上无法工作的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0951bd8a33873cc51b53c3191ef701e028a04a6dea63a3f266e3ab1f026b50dd"}, "url": "/docs/compare/?release=9.3.5#9.3.5-b9bc5469adaffdfe", "source_url": "/docs/release/9.3.5/#id-1.11.6.25.5"}, {"db_id": "eef99bb4e5e9a46062773101dc0d1818", "kind": "equivalent", "version": "9.2.9", "label": "9.2.9", "title": "修复表空间创建 WAL 重放在 Windows 上无法工作的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0951bd8a33873cc51b53c3191ef701e028a04a6dea63a3f266e3ab1f026b50dd"}, "url": "/docs/compare/?release=9.2.9#9.2.9-b9bc5469adaffdfe", "source_url": "/docs/release/9.2.9/#id-1.11.6.20.5"}, {"db_id": "176e76f0277971aa24026e7a9a0c0cb0", "kind": "equivalent", "version": "9.0.18", "label": "9.0.18", "title": "修复表空间创建 WAL 重放在 Windows 上无法工作的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0951bd8a33873cc51b53c3191ef701e028a04a6dea63a3f266e3ab1f026b50dd"}, "url": "/docs/compare/?release=9.0.18#9.0.18-b9bc5469adaffdfe", "source_url": "/docs/release/9.0.18/#id-1.11.6.10.5"}]}, {"id": "9.1.14-e4bc31c72b46e943", "cves": [], "html": "<p>修复 Windows 上套接字创建失败的检测（Bruce Momjian）</p>", "text": "修复 Windows 上套接字创建失败的检测（Bruce Momjian）", "title": "修复 Windows 上套接字创建失败的检测", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.1.14/#id-1.11.6.15.5", "source_hash": "66d413ecf2eb396556056867c9e7d0625c1c2eb0066e52fa4e103951c83c59c3", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix detection of socket creation failures on Windows (Bruce Momjian)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.14/changes/022", "db_id": "a9b9ce2de83b5af9746463adf52afc66", "patch_ids": [], "statement_hash": "fd240b5a5bbb4d5ce397d2abea8477493415a23886d10b79edf8a3570dd40d0a", "relations": [{"rule": 2, "type": "equivalent", "target": "17554d240e1e1bf0abcb437338abcc15", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fd240b5a5bbb4d5ce397d2abea8477493415a23886d10b79edf8a3570dd40d0a"}}, {"rule": 2, "type": "equivalent", "target": "30dc1321491065a0d4c6caa538598c6c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fd240b5a5bbb4d5ce397d2abea8477493415a23886d10b79edf8a3570dd40d0a"}}, {"rule": 2, "type": "equivalent", "target": "ebe4a8d79d3ba17586c56dd3274dec04", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fd240b5a5bbb4d5ce397d2abea8477493415a23886d10b79edf8a3570dd40d0a"}}], "version": "9.1.14", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "ebe4a8d79d3ba17586c56dd3274dec04", "kind": "equivalent", "version": "9.3.5", "label": "9.3.5", "title": "修复 Windows 上套接字创建失败的检测", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fd240b5a5bbb4d5ce397d2abea8477493415a23886d10b79edf8a3570dd40d0a"}, "url": "/docs/compare/?release=9.3.5#9.3.5-e4bc31c72b46e943", "source_url": "/docs/release/9.3.5/#id-1.11.6.25.5"}, {"db_id": "17554d240e1e1bf0abcb437338abcc15", "kind": "equivalent", "version": "9.2.9", "label": "9.2.9", "title": "修复 Windows 上套接字创建失败的检测", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fd240b5a5bbb4d5ce397d2abea8477493415a23886d10b79edf8a3570dd40d0a"}, "url": "/docs/compare/?release=9.2.9#9.2.9-e4bc31c72b46e943", "source_url": "/docs/release/9.2.9/#id-1.11.6.20.5"}, {"db_id": "30dc1321491065a0d4c6caa538598c6c", "kind": "equivalent", "version": "9.0.18", "label": "9.0.18", "title": "修复 Windows 上套接字创建失败的检测", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fd240b5a5bbb4d5ce397d2abea8477493415a23886d10b79edf8a3570dd40d0a"}, "url": "/docs/compare/?release=9.0.18#9.0.18-e4bc31c72b46e943", "source_url": "/docs/release/9.0.18/#id-1.11.6.10.5"}]}, {"id": "9.1.14-0efc671fdd2dec76", "cves": [], "html": "<p>在 Windows 上，允许新会话从配置文件获取 PGC_BACKEND 参数（例如<a href=\"/docs/9.1/runtime-config-logging.html#GUC-LOG-CONNECTIONS\">log_connections</a>）的值（Amit Kapila）</p>\n<p>此前，如果启动后在文件中更改了这类参数，更改不会生效。</p>", "text": "在 Windows 上，允许新会话从配置文件获取 PGC_BACKEND 参数（例如log_connections）的值（Amit Kapila） 此前，如果启动后在文件中更改了这类参数，更改不会生效。", "title": "在 Windows 上，允许新会话从配置文件获取 PGC_BACKEND 参数（例如log_connections）的值", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.1.14/#id-1.11.6.15.5", "source_hash": "98f4ec758a567202a3bc664081313c2190be021ce182fccc57cd34aab87412da", "section_path": ["变更"], "commit_groups": [], "identity_text": "On Windows, allow new sessions to absorb values of PGC_BACKEND parameters (such as guc-log-connections ) from the configuration file (Amit Kapila) Previously, if such a parameter were changed in the file post-startup, the change would have no effect.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.14/changes/023", "db_id": "8491d20a9cd982f29e6148ac2beec587", "patch_ids": [], "statement_hash": "5765359658e9917736f21873a6a7cb64f4ecf035d9d1b7f548c72cba07f367e1", "relations": [{"rule": 2, "type": "equivalent", "target": "0149ee36e50d0a3426d4baddce68a3f2", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5765359658e9917736f21873a6a7cb64f4ecf035d9d1b7f548c72cba07f367e1"}}, {"rule": 2, "type": "equivalent", "target": "218104825d14bd97a422e9ab79b1704a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5765359658e9917736f21873a6a7cb64f4ecf035d9d1b7f548c72cba07f367e1"}}, {"rule": 2, "type": "equivalent", "target": "764a1b6cf15f0cdc425deb42a9a207e3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5765359658e9917736f21873a6a7cb64f4ecf035d9d1b7f548c72cba07f367e1"}}], "version": "9.1.14", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "218104825d14bd97a422e9ab79b1704a", "kind": "equivalent", "version": "9.3.5", "label": "9.3.5", "title": "在 Windows 上，允许新会话从配置文件获取 PGC_BACKEND 参数（例如log_connections）的值", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5765359658e9917736f21873a6a7cb64f4ecf035d9d1b7f548c72cba07f367e1"}, "url": "/docs/compare/?release=9.3.5#9.3.5-0efc671fdd2dec76", "source_url": "/docs/release/9.3.5/#id-1.11.6.25.5"}, {"db_id": "0149ee36e50d0a3426d4baddce68a3f2", "kind": "equivalent", "version": "9.2.9", "label": "9.2.9", "title": "在 Windows 上，允许新会话从配置文件获取 PGC_BACKEND 参数（例如log_connections）的值", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5765359658e9917736f21873a6a7cb64f4ecf035d9d1b7f548c72cba07f367e1"}, "url": "/docs/compare/?release=9.2.9#9.2.9-0efc671fdd2dec76", "source_url": "/docs/release/9.2.9/#id-1.11.6.20.5"}, {"db_id": "764a1b6cf15f0cdc425deb42a9a207e3", "kind": "equivalent", "version": "9.0.18", "label": "9.0.18", "title": "在 Windows 上，允许新会话从配置文件获取 PGC_BACKEND 参数（例如log_connections）的值", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5765359658e9917736f21873a6a7cb64f4ecf035d9d1b7f548c72cba07f367e1"}, "url": "/docs/compare/?release=9.0.18#9.0.18-0efc671fdd2dec76", "source_url": "/docs/release/9.0.18/#id-1.11.6.10.5"}]}, {"id": "9.1.14-bd868c1d29b149bc", "cves": [], "html": "<p>在 Windows 上正确地为可执行文件路径名加引号（Nikhil Deshpande）</p>\n<p>如果安装路径同时包含空格和 <code>@</code> 符号，这一疏忽可能导致 <span>initdb</span> 和 <span>pg_upgrade</span> 在 Windows 上失败。</p>", "text": "在 Windows 上正确地为可执行文件路径名加引号（Nikhil Deshpande） 如果安装路径同时包含空格和 @ 符号，这一疏忽可能导致 initdb 和 pg_upgrade 在 Windows 上失败。", "title": "在 Windows 上正确地为可执行文件路径名加引号", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.1.14/#id-1.11.6.15.5", "source_hash": "1a955431fd03266b9a33a9c717f6d123e9240427ffc50e3c5fe9f039b426cbd3", "section_path": ["变更"], "commit_groups": [], "identity_text": "Properly quote executable path names on Windows (Nikhil Deshpande) This oversight could cause initdb and pg_upgrade to fail on Windows, if the installation path contained both spaces and @ signs.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.14/changes/024", "db_id": "082751823ea21e0f5ff5f2891d7639e2", "patch_ids": [], "statement_hash": "87cad73827ef54d373b81f858c97fd722e136bbe0522e3687f49130bfab547b7", "relations": [{"rule": 2, "type": "equivalent", "target": "3b999fd58f8dc69b0e938c7f9c84d747", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "87cad73827ef54d373b81f858c97fd722e136bbe0522e3687f49130bfab547b7"}}, {"rule": 2, "type": "equivalent", "target": "a00c57cfe7cf06a59131c5ff0d3a8612", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "87cad73827ef54d373b81f858c97fd722e136bbe0522e3687f49130bfab547b7"}}, {"rule": 2, "type": "equivalent", "target": "b4d3f8a47b553650493ed8ee653be2a0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "87cad73827ef54d373b81f858c97fd722e136bbe0522e3687f49130bfab547b7"}}], "version": "9.1.14", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "a00c57cfe7cf06a59131c5ff0d3a8612", "kind": "equivalent", "version": "9.3.5", "label": "9.3.5", "title": "在 Windows 上正确地为可执行文件路径名加引号", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "87cad73827ef54d373b81f858c97fd722e136bbe0522e3687f49130bfab547b7"}, "url": "/docs/compare/?release=9.3.5#9.3.5-bd868c1d29b149bc", "source_url": "/docs/release/9.3.5/#id-1.11.6.25.5"}, {"db_id": "3b999fd58f8dc69b0e938c7f9c84d747", "kind": "equivalent", "version": "9.2.9", "label": "9.2.9", "title": "在 Windows 上正确地为可执行文件路径名加引号", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "87cad73827ef54d373b81f858c97fd722e136bbe0522e3687f49130bfab547b7"}, "url": "/docs/compare/?release=9.2.9#9.2.9-bd868c1d29b149bc", "source_url": "/docs/release/9.2.9/#id-1.11.6.20.5"}, {"db_id": "b4d3f8a47b553650493ed8ee653be2a0", "kind": "equivalent", "version": "9.0.18", "label": "9.0.18", "title": "在 Windows 上正确地为可执行文件路径名加引号", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "87cad73827ef54d373b81f858c97fd722e136bbe0522e3687f49130bfab547b7"}, "url": "/docs/compare/?release=9.0.18#9.0.18-bd868c1d29b149bc", "source_url": "/docs/release/9.0.18/#id-1.11.6.10.5"}]}, {"id": "9.1.14-ef86ca7ec6174e43", "cves": [], "html": "<p>修复 macOS 上 <span>libpython</span> 的链接（Tom Lane）</p>\n<p>我们先前使用的方法在 Xcode 5.0 及之后版本提供的 Python 库上可能失败。</p>", "text": "修复 macOS 上 libpython 的链接（Tom Lane） 我们先前使用的方法在 Xcode 5.0 及之后版本提供的 Python 库上可能失败。", "title": "修复 macOS 上 libpython 的链接", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.1.14/#id-1.11.6.15.5", "source_hash": "086f26fa210fbf00461002918aed95a6a499f73b2fe1d77a55a6a41c55a83e7b", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix linking of libpython on macOS (Tom Lane) The method we previously used can fail with the Python library supplied by Xcode 5.0 and later.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.14/changes/025", "db_id": "734f5598eb1c3658f9210b5ba8d197c3", "patch_ids": [], "statement_hash": "6a4ed094e3684b42cec1b046cffd1b0a717533f1abac539beb717951e1a8196e", "relations": [{"rule": 2, "type": "equivalent", "target": "03f943fa073c1a44ceaaa49277947867", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6a4ed094e3684b42cec1b046cffd1b0a717533f1abac539beb717951e1a8196e"}}, {"rule": 2, "type": "equivalent", "target": "52dfed10ea11bb1fce0f9546f2fd724b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6a4ed094e3684b42cec1b046cffd1b0a717533f1abac539beb717951e1a8196e"}}], "version": "9.1.14", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "52dfed10ea11bb1fce0f9546f2fd724b", "kind": "equivalent", "version": "9.3.5", "label": "9.3.5", "title": "修复 macOS 上 libpython 的链接", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6a4ed094e3684b42cec1b046cffd1b0a717533f1abac539beb717951e1a8196e"}, "url": "/docs/compare/?release=9.3.5#9.3.5-ef86ca7ec6174e43", "source_url": "/docs/release/9.3.5/#id-1.11.6.25.5"}, {"db_id": "03f943fa073c1a44ceaaa49277947867", "kind": "equivalent", "version": "9.2.9", "label": "9.2.9", "title": "修复 macOS 上 libpython 的链接", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6a4ed094e3684b42cec1b046cffd1b0a717533f1abac539beb717951e1a8196e"}, "url": "/docs/compare/?release=9.2.9#9.2.9-ef86ca7ec6174e43", "source_url": "/docs/release/9.2.9/#id-1.11.6.20.5"}]}, {"id": "9.1.14-cedc3e92f93ff1c0", "cves": [], "html": "<p>当服务器持续以快于客户端吸收速度的速率发送数据时，避免 <span>libpq</span> 中的缓冲区膨胀（Shin-ichi Morita、Tom Lane）</p>\n<p><span>libpq</span> 可能被迫不断增大其输入缓冲区，直到内存耗尽（这会被误导性地报告为 <span>“<span>lost synchronization with server</span>”</span>）。在正常情况下，数据持续以快于 <code>recv()</code> 循环吸收速度的速率传输是相当牵强的，但在客户端因调度器约束被人为减速时曾观察到这种情况。</p>", "text": "当服务器持续以快于客户端吸收速度的速率发送数据时，避免 libpq 中的缓冲区膨胀（Shin-ichi Morita、Tom Lane） libpq 可能被迫不断增大其输入缓冲区，直到内存耗尽（这会被误导性地报告为 “lost synchronization with server”）。在正常情况下，数据持续以快于 recv() 循环吸收速度的速率传输是相当牵强的，但在客户端因调度器约束被人为减速时曾观察到这种情况。", "title": "当服务器持续以快于客户端吸收速度的速率发送数据时，避免 libpq 中的缓冲区膨胀", "commits": [], "section": "变更", "category": "performance", "source_url": "/docs/release/9.1.14/#id-1.11.6.15.5", "source_hash": "c3ac2fb824c88b6bad66d331f432dc8bfcba7f6df6083866b4f8271b9d69854b", "section_path": ["变更"], "commit_groups": [], "identity_text": "Avoid buffer bloat in libpq when the server consistently sends data faster than the client can absorb it (Shin-ichi Morita, Tom Lane) libpq could be coerced into enlarging its input buffer until it runs out of memory (which would be reported misleadingly as lost synchronization with server). Under ordinary circumstances it's quite far-fetched that data could be continuously transmitted more quickly than the recv() loop can absorb it, but this has been observed when the client is artificially slowed by scheduler constraints.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.14/changes/026", "db_id": "3a282e1768d453d5ffd42e3b3ee465ea", "patch_ids": [], "statement_hash": "b15e5e25e23ac22935a0befd2cf086f3e39434d9b8e191756602d91060f2f5ba", "relations": [{"rule": 2, "type": "equivalent", "target": "2af5bc416b8fee46f495abe66bf53d6a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b15e5e25e23ac22935a0befd2cf086f3e39434d9b8e191756602d91060f2f5ba"}}, {"rule": 2, "type": "equivalent", "target": "7ea011af707a7ff784d436ac0914d407", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b15e5e25e23ac22935a0befd2cf086f3e39434d9b8e191756602d91060f2f5ba"}}, {"rule": 2, "type": "equivalent", "target": "8c30722f5c774771da1f408a7ff3dfd0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b15e5e25e23ac22935a0befd2cf086f3e39434d9b8e191756602d91060f2f5ba"}}], "version": "9.1.14", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "7ea011af707a7ff784d436ac0914d407", "kind": "equivalent", "version": "9.3.5", "label": "9.3.5", "title": "当服务器持续以快于客户端吸收速度的速率发送数据时，避免 libpq 中的缓冲区膨胀", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b15e5e25e23ac22935a0befd2cf086f3e39434d9b8e191756602d91060f2f5ba"}, "url": "/docs/compare/?release=9.3.5#9.3.5-cedc3e92f93ff1c0", "source_url": "/docs/release/9.3.5/#id-1.11.6.25.5"}, {"db_id": "8c30722f5c774771da1f408a7ff3dfd0", "kind": "equivalent", "version": "9.2.9", "label": "9.2.9", "title": "当服务器持续以快于客户端吸收速度的速率发送数据时，避免 libpq 中的缓冲区膨胀", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b15e5e25e23ac22935a0befd2cf086f3e39434d9b8e191756602d91060f2f5ba"}, "url": "/docs/compare/?release=9.2.9#9.2.9-cedc3e92f93ff1c0", "source_url": "/docs/release/9.2.9/#id-1.11.6.20.5"}, {"db_id": "2af5bc416b8fee46f495abe66bf53d6a", "kind": "equivalent", "version": "9.0.18", "label": "9.0.18", "title": "当服务器持续以快于客户端吸收速度的速率发送数据时，避免 libpq 中的缓冲区膨胀", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b15e5e25e23ac22935a0befd2cf086f3e39434d9b8e191756602d91060f2f5ba"}, "url": "/docs/compare/?release=9.0.18#9.0.18-cedc3e92f93ff1c0", "source_url": "/docs/release/9.0.18/#id-1.11.6.10.5"}]}, {"id": "9.1.14-c862c70fd3a6efe1", "cves": [], "html": "<p>确保 <span>libpq</span> 中的 LDAP 查找尝试按预期超时（Laurenz Albe）</p>", "text": "确保 libpq 中的 LDAP 查找尝试按预期超时（Laurenz Albe）", "title": "确保 libpq 中的 LDAP 查找尝试按预期超时", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.1.14/#id-1.11.6.15.5", "source_hash": "e8e508c44720b3cb9da2143fec637661b27d1bcddca7fafcbc59693708153ad7", "section_path": ["变更"], "commit_groups": [], "identity_text": "Ensure that LDAP lookup attempts in libpq time out as intended (Laurenz Albe)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.14/changes/027", "db_id": "93e8b6c34b4b9e5c8f46e6f20483ab43", "patch_ids": [], "statement_hash": "9dd31e73a7f7b653f065c8b0769c8fad6f56b106c355205b355057b2c66a3292", "relations": [{"rule": 2, "type": "equivalent", "target": "47a792f9478fb28694a84953205d03a3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9dd31e73a7f7b653f065c8b0769c8fad6f56b106c355205b355057b2c66a3292"}}, {"rule": 2, "type": "equivalent", "target": "77b8f10623b200635653a4a8e40d9023", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9dd31e73a7f7b653f065c8b0769c8fad6f56b106c355205b355057b2c66a3292"}}, {"rule": 2, "type": "equivalent", "target": "fae35e9a2cb6f22e727f26504ec1bf29", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9dd31e73a7f7b653f065c8b0769c8fad6f56b106c355205b355057b2c66a3292"}}], "version": "9.1.14", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "fae35e9a2cb6f22e727f26504ec1bf29", "kind": "equivalent", "version": "9.3.5", "label": "9.3.5", "title": "确保 libpq 中的 LDAP 查找尝试按预期超时", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9dd31e73a7f7b653f065c8b0769c8fad6f56b106c355205b355057b2c66a3292"}, "url": "/docs/compare/?release=9.3.5#9.3.5-c862c70fd3a6efe1", "source_url": "/docs/release/9.3.5/#id-1.11.6.25.5"}, {"db_id": "77b8f10623b200635653a4a8e40d9023", "kind": "equivalent", "version": "9.2.9", "label": "9.2.9", "title": "确保 libpq 中的 LDAP 查找尝试按预期超时", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9dd31e73a7f7b653f065c8b0769c8fad6f56b106c355205b355057b2c66a3292"}, "url": "/docs/compare/?release=9.2.9#9.2.9-c862c70fd3a6efe1", "source_url": "/docs/release/9.2.9/#id-1.11.6.20.5"}, {"db_id": "47a792f9478fb28694a84953205d03a3", "kind": "equivalent", "version": "9.0.18", "label": "9.0.18", "title": "确保 libpq 中的 LDAP 查找尝试按预期超时", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9dd31e73a7f7b653f065c8b0769c8fad6f56b106c355205b355057b2c66a3292"}, "url": "/docs/compare/?release=9.0.18#9.0.18-c862c70fd3a6efe1", "source_url": "/docs/release/9.0.18/#id-1.11.6.10.5"}]}, {"id": "9.1.14-711d03350e4bd689", "cves": [], "html": "<p>修复 <span>ecpg</span> 在 <code>char *</code> 数组作为返回多行的 FETCH 语句目标时的行为，以及其他一些数组处理修复（Ashutosh Bapat）</p>", "text": "修复 ecpg 在 char * 数组作为返回多行的 FETCH 语句目标时的行为，以及其他一些数组处理修复（Ashutosh Bapat）", "title": "修复 ecpg 在 char * 数组作为返回多行的 FETCH 语句目标时的行为，以及其他一些数组处理修复", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.1.14/#id-1.11.6.15.5", "source_hash": "154dd8503b9fceb97107f980d27eb887ce90b6a586a1797173c466d926aa2a1f", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix ecpg to do the right thing when an array of char * is the target for a FETCH statement returning more than one row, as well as some other array-handling fixes (Ashutosh Bapat)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.14/changes/028", "db_id": "60a69e69d0f9f9787bb74a801b09eced", "patch_ids": [], "statement_hash": "bbf5a7b8dea2c6d469f7cd4ddb525ccbe9be895afdc8a4c0fd2041aa66cc83c1", "relations": [{"rule": 2, "type": "equivalent", "target": "03951a03f69cc7a7ccf5e67eaa50748e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bbf5a7b8dea2c6d469f7cd4ddb525ccbe9be895afdc8a4c0fd2041aa66cc83c1"}}, {"rule": 2, "type": "equivalent", "target": "5fe77e7c94032b304ecf46028b3be13d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bbf5a7b8dea2c6d469f7cd4ddb525ccbe9be895afdc8a4c0fd2041aa66cc83c1"}}, {"rule": 2, "type": "equivalent", "target": "803965b25515c92205c976328c2eb0a4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bbf5a7b8dea2c6d469f7cd4ddb525ccbe9be895afdc8a4c0fd2041aa66cc83c1"}}], "version": "9.1.14", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "03951a03f69cc7a7ccf5e67eaa50748e", "kind": "equivalent", "version": "9.3.5", "label": "9.3.5", "title": "修复 ecpg 在 char * 数组作为返回多行的 FETCH 语句目标时的行为，以及其他一些数组处理修复", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bbf5a7b8dea2c6d469f7cd4ddb525ccbe9be895afdc8a4c0fd2041aa66cc83c1"}, "url": "/docs/compare/?release=9.3.5#9.3.5-711d03350e4bd689", "source_url": "/docs/release/9.3.5/#id-1.11.6.25.5"}, {"db_id": "5fe77e7c94032b304ecf46028b3be13d", "kind": "equivalent", "version": "9.2.9", "label": "9.2.9", "title": "修复 ecpg 在 char * 数组作为返回多行的 FETCH 语句目标时的行为，以及其他一些数组处理修复", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bbf5a7b8dea2c6d469f7cd4ddb525ccbe9be895afdc8a4c0fd2041aa66cc83c1"}, "url": "/docs/compare/?release=9.2.9#9.2.9-711d03350e4bd689", "source_url": "/docs/release/9.2.9/#id-1.11.6.20.5"}, {"db_id": "803965b25515c92205c976328c2eb0a4", "kind": "equivalent", "version": "9.0.18", "label": "9.0.18", "title": "修复 ecpg 在 char * 数组作为返回多行的 FETCH 语句目标时的行为，以及其他一些数组处理修复", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bbf5a7b8dea2c6d469f7cd4ddb525ccbe9be895afdc8a4c0fd2041aa66cc83c1"}, "url": "/docs/compare/?release=9.0.18#9.0.18-711d03350e4bd689", "source_url": "/docs/release/9.0.18/#id-1.11.6.10.5"}]}, {"id": "9.1.14-5c2bb548ad784bfa", "cves": [], "html": "<p>修复 <span>pg_restore</span> 对旧式大对象注释的处理（Tom Lane）</p>\n<p>如果归档文件由 9.0 之前版本的 <span>pg_dump</span> 生成且包含较多大对象注释，直接恢复到数据库通常会失败。</p>", "text": "修复 pg_restore 对旧式大对象注释的处理（Tom Lane） 如果归档文件由 9.0 之前版本的 pg_dump 生成且包含较多大对象注释，直接恢复到数据库通常会失败。", "title": "修复 pg_restore 对旧式大对象注释的处理", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.1.14/#id-1.11.6.15.5", "source_hash": "7650937f2600938e1652de97c3c00d1231de72967692ca7276a24ad7968c977c", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix pg_restore's processing of old-style large object comments (Tom Lane) A direct-to-database restore from an archive file generated by a pre-9.0 version of pg_dump would usually fail if the archive contained more than a few comments for large objects.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.14/changes/029", "db_id": "854416bf297531ff4f4f9015bab857f9", "patch_ids": [], "statement_hash": "810f62d2bad25f30a19392d14d2f235e536c1310f924633aff7f134363fb5ec0", "relations": [{"rule": 2, "type": "equivalent", "target": "82fd6a93aa95c840ae3aea81590e8700", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "810f62d2bad25f30a19392d14d2f235e536c1310f924633aff7f134363fb5ec0"}}, {"rule": 2, "type": "equivalent", "target": "da83d1898e5b2c300cfb0fad7355a0cb", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "810f62d2bad25f30a19392d14d2f235e536c1310f924633aff7f134363fb5ec0"}}, {"rule": 2, "type": "equivalent", "target": "ebf06686a05aa24118cb50052c738ec5", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "810f62d2bad25f30a19392d14d2f235e536c1310f924633aff7f134363fb5ec0"}}], "version": "9.1.14", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "da83d1898e5b2c300cfb0fad7355a0cb", "kind": "equivalent", "version": "9.3.5", "label": "9.3.5", "title": "修复 pg_restore 对旧式大对象注释的处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "810f62d2bad25f30a19392d14d2f235e536c1310f924633aff7f134363fb5ec0"}, "url": "/docs/compare/?release=9.3.5#9.3.5-5c2bb548ad784bfa", "source_url": "/docs/release/9.3.5/#id-1.11.6.25.5"}, {"db_id": "82fd6a93aa95c840ae3aea81590e8700", "kind": "equivalent", "version": "9.2.9", "label": "9.2.9", "title": "修复 pg_restore 对旧式大对象注释的处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "810f62d2bad25f30a19392d14d2f235e536c1310f924633aff7f134363fb5ec0"}, "url": "/docs/compare/?release=9.2.9#9.2.9-5c2bb548ad784bfa", "source_url": "/docs/release/9.2.9/#id-1.11.6.20.5"}, {"db_id": "ebf06686a05aa24118cb50052c738ec5", "kind": "equivalent", "version": "9.0.18", "label": "9.0.18", "title": "修复 pg_restore 对旧式大对象注释的处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "810f62d2bad25f30a19392d14d2f235e536c1310f924633aff7f134363fb5ec0"}, "url": "/docs/compare/?release=9.0.18#9.0.18-5c2bb548ad784bfa", "source_url": "/docs/release/9.0.18/#id-1.11.6.10.5"}]}, {"id": "9.1.14-0016b300fbfa987e", "cves": [], "html": "<p>在 <code>contrib/pgcrypto</code> 函数中，确保返回前清除栈变量中的敏感信息（Marko Kreen）</p>", "text": "在 contrib/pgcrypto 函数中，确保返回前清除栈变量中的敏感信息（Marko Kreen）", "title": "在 contrib/pgcrypto 函数中，确保返回前清除栈变量中的敏感信息", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.1.14/#id-1.11.6.15.5", "source_hash": "1025118a5bda595d60aa9795f8d47bfb0dd8391f224c66593d654eb823979ad6", "section_path": ["变更"], "commit_groups": [], "identity_text": "In contrib/pgcrypto functions, ensure sensitive information is cleared from stack variables before returning (Marko Kreen)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.14/changes/030", "db_id": "e46ff2eeb859e50d67e0065ff01d7479", "patch_ids": [], "statement_hash": "5efa83f80cfe0fdc6d4ef2579cd86e4982ceb6a50ddd77a58d599dd9c3f4a9d6", "relations": [{"rule": 2, "type": "equivalent", "target": "1950470d6df3ffce099f00fdf31d8a6e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5efa83f80cfe0fdc6d4ef2579cd86e4982ceb6a50ddd77a58d599dd9c3f4a9d6"}}, {"rule": 2, "type": "equivalent", "target": "da3c1ef853655f747a6a5c63dbbec939", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5efa83f80cfe0fdc6d4ef2579cd86e4982ceb6a50ddd77a58d599dd9c3f4a9d6"}}, {"rule": 2, "type": "equivalent", "target": "f78027492cdf29e6121d9de1919885c4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5efa83f80cfe0fdc6d4ef2579cd86e4982ceb6a50ddd77a58d599dd9c3f4a9d6"}}], "version": "9.1.14", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "1950470d6df3ffce099f00fdf31d8a6e", "kind": "equivalent", "version": "9.3.5", "label": "9.3.5", "title": "在 contrib/pgcrypto 函数中，确保返回前清除栈变量中的敏感信息", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5efa83f80cfe0fdc6d4ef2579cd86e4982ceb6a50ddd77a58d599dd9c3f4a9d6"}, "url": "/docs/compare/?release=9.3.5#9.3.5-0016b300fbfa987e", "source_url": "/docs/release/9.3.5/#id-1.11.6.25.5"}, {"db_id": "f78027492cdf29e6121d9de1919885c4", "kind": "equivalent", "version": "9.2.9", "label": "9.2.9", "title": "在 contrib/pgcrypto 函数中，确保返回前清除栈变量中的敏感信息", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5efa83f80cfe0fdc6d4ef2579cd86e4982ceb6a50ddd77a58d599dd9c3f4a9d6"}, "url": "/docs/compare/?release=9.2.9#9.2.9-0016b300fbfa987e", "source_url": "/docs/release/9.2.9/#id-1.11.6.20.5"}, {"db_id": "da3c1ef853655f747a6a5c63dbbec939", "kind": "equivalent", "version": "9.0.18", "label": "9.0.18", "title": "在 contrib/pgcrypto 函数中，确保返回前清除栈变量中的敏感信息", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5efa83f80cfe0fdc6d4ef2579cd86e4982ceb6a50ddd77a58d599dd9c3f4a9d6"}, "url": "/docs/compare/?release=9.0.18#9.0.18-0016b300fbfa987e", "source_url": "/docs/release/9.0.18/#id-1.11.6.10.5"}]}, {"id": "9.1.14-f301465b45c606aa", "cves": [], "html": "<p>在 <code>contrib/uuid-ossp</code> 中，跨调用缓存 OSSP UUID 库的状态（Tom Lane）</p>\n<p>这提高了 UUID 生成的效率，并在有 <code>/dev/urandom</code> 的平台上减少了从中抽取的熵量。</p>", "text": "在 contrib/uuid-ossp 中，跨调用缓存 OSSP UUID 库的状态（Tom Lane） 这提高了 UUID 生成的效率，并在有 /dev/urandom 的平台上减少了从中抽取的熵量。", "title": "在 contrib/uuid-ossp 中，跨调用缓存 OSSP UUID 库的状态", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.1.14/#id-1.11.6.15.5", "source_hash": "8e091162a23dcadae6708f895e00dd13f63972a735bd53935ffedb7884e33ee4", "section_path": ["变更"], "commit_groups": [], "identity_text": "In contrib/uuid-ossp, cache the state of the OSSP UUID library across calls (Tom Lane) This improves the efficiency of UUID generation and reduces the amount of entropy drawn from /dev/urandom, on platforms that have that.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.14/changes/031", "db_id": "e76d1e6b1ab7c2cd7f6aeb6112cdd519", "patch_ids": [], "statement_hash": "bd095415b79f203d378a5a281e6ea63ea7822660df35fd025f8c77580c43717b", "relations": [{"rule": 2, "type": "equivalent", "target": "1326b033b2b56a25227df3cbe1617a36", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bd095415b79f203d378a5a281e6ea63ea7822660df35fd025f8c77580c43717b"}}, {"rule": 2, "type": "equivalent", "target": "2d2932d1495af96400c3a66a5188eb46", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bd095415b79f203d378a5a281e6ea63ea7822660df35fd025f8c77580c43717b"}}, {"rule": 2, "type": "equivalent", "target": "f10275f87e34a2c9c4ff6de64101c8f6", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bd095415b79f203d378a5a281e6ea63ea7822660df35fd025f8c77580c43717b"}}], "version": "9.1.14", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "1326b033b2b56a25227df3cbe1617a36", "kind": "equivalent", "version": "9.3.5", "label": "9.3.5", "title": "在 contrib/uuid-ossp 中，跨调用缓存 OSSP UUID 库的状态", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bd095415b79f203d378a5a281e6ea63ea7822660df35fd025f8c77580c43717b"}, "url": "/docs/compare/?release=9.3.5#9.3.5-f301465b45c606aa", "source_url": "/docs/release/9.3.5/#id-1.11.6.25.5"}, {"db_id": "2d2932d1495af96400c3a66a5188eb46", "kind": "equivalent", "version": "9.2.9", "label": "9.2.9", "title": "在 contrib/uuid-ossp 中，跨调用缓存 OSSP UUID 库的状态", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bd095415b79f203d378a5a281e6ea63ea7822660df35fd025f8c77580c43717b"}, "url": "/docs/compare/?release=9.2.9#9.2.9-f301465b45c606aa", "source_url": "/docs/release/9.2.9/#id-1.11.6.20.5"}, {"db_id": "f10275f87e34a2c9c4ff6de64101c8f6", "kind": "equivalent", "version": "9.0.18", "label": "9.0.18", "title": "在 contrib/uuid-ossp 中，跨调用缓存 OSSP UUID 库的状态", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bd095415b79f203d378a5a281e6ea63ea7822660df35fd025f8c77580c43717b"}, "url": "/docs/compare/?release=9.0.18#9.0.18-f301465b45c606aa", "source_url": "/docs/release/9.0.18/#id-1.11.6.10.5"}]}, {"id": "9.1.14-f6411040831c229f", "cves": [], "html": "<p>把时区数据文件更新为 <span>tzdata</span> 版本 2014e for DST law changes in Crimea, Egypt, and Morocco。</p>", "text": "把时区数据文件更新为 tzdata 版本 2014e for DST law changes in Crimea, Egypt, and Morocco。", "title": "把时区数据文件更新为 tzdata 版本 2014e for DST law changes in Crimea, Egypt, and Morocco。", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.1.14/#id-1.11.6.15.5", "source_hash": "ac45f6a95c3457f4cd1c7a5dfbb10a37b6f13c2ab6bce94dddebbc70f24137bf", "section_path": ["变更"], "commit_groups": [], "identity_text": "Update time zone data files to tzdata release 2014e for DST law changes in Crimea, Egypt, and Morocco.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.14/changes/032", "db_id": "baaed6e0e43e79f2a9ebad4377a39a4f", "patch_ids": [], "statement_hash": "7abe05ad3e342400b3a6f53223c04884cf12ae063e388445fb302f2025000f1a", "relations": [{"rule": 2, "type": "equivalent", "target": "0be25c77e3001279f17afc62b5ad0e26", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7abe05ad3e342400b3a6f53223c04884cf12ae063e388445fb302f2025000f1a"}}, {"rule": 2, "type": "equivalent", "target": "40de67ee53d71ae301c40a9ffdc80562", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7abe05ad3e342400b3a6f53223c04884cf12ae063e388445fb302f2025000f1a"}}, {"rule": 2, "type": "equivalent", "target": "f0379227a70a81072cf0b0270ac81b05", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7abe05ad3e342400b3a6f53223c04884cf12ae063e388445fb302f2025000f1a"}}], "version": "9.1.14", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "0be25c77e3001279f17afc62b5ad0e26", "kind": "equivalent", "version": "9.3.5", "label": "9.3.5", "title": "把时区数据文件更新为 tzdata 版本 2014e，以反映克里米亚、埃及和摩洛哥的夏令时法规变更。", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7abe05ad3e342400b3a6f53223c04884cf12ae063e388445fb302f2025000f1a"}, "url": "/docs/compare/?release=9.3.5#9.3.5-34d486e25f2c3c26", "source_url": "/docs/release/9.3.5/#id-1.11.6.25.5"}, {"db_id": "f0379227a70a81072cf0b0270ac81b05", "kind": "equivalent", "version": "9.2.9", "label": "9.2.9", "title": "把时区数据文件更新为 tzdata 版本 2014e for DST law changes in Crimea, Egypt, and Morocco。", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7abe05ad3e342400b3a6f53223c04884cf12ae063e388445fb302f2025000f1a"}, "url": "/docs/compare/?release=9.2.9#9.2.9-f6411040831c229f", "source_url": "/docs/release/9.2.9/#id-1.11.6.20.5"}, {"db_id": "40de67ee53d71ae301c40a9ffdc80562", "kind": "equivalent", "version": "9.0.18", "label": "9.0.18", "title": "把时区数据文件更新为 tzdata 版本 2014e for DST law changes in Crimea, Egypt, and Morocco。", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7abe05ad3e342400b3a6f53223c04884cf12ae063e388445fb302f2025000f1a"}, "url": "/docs/compare/?release=9.0.18#9.0.18-f6411040831c229f", "source_url": "/docs/release/9.0.18/#id-1.11.6.10.5"}]}]}], "stats": [{"key": "all", "label": "全部变更", "count": 32}, {"key": "feature", "label": "新功能", "count": 0}, {"key": "bugfix", "label": "BUG 修复", "count": 17}, {"key": "security", "label": "安全相关", "count": 1}, {"key": "performance", "label": "性能改进", "count": 1}, {"key": "compatibility", "label": "兼容性变化", "count": 0}, {"key": "improvement", "label": "其他改进", "count": 13}], "total": 32, "release_count": 1, "cross_major": false, "cve_count": 1, "cves": [{"id": "CVE-2014-0067", "url": "https://www.postgresql.org/support/security/CVE-2014-0067/", "fixed": {"9.0": "9.0.19", "9.1": "9.1.15", "9.2": "9.2.10", "9.3": "9.3.6", "9.4": "9.4.1"}, "score": 7.0, "title": "保护 make check 期间启动的临时 postmaster 的 Unix 域套接字", "vector": "AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H", "affected": {"9.0": "9.0", "9.1": "9.1", "9.2": "9.2", "9.3": "9.3", "9.4": "9.4"}, "component": "other", "published": {}, "introduced": {}, "cvss_version": "3.0", "description_en": "", "first_published": null, "fixed_version": "9.1.15"}], "cve_available": true, "remaining_cves": [], "security_regressions": [], "warnings": [], "candidate_count": 32, "already_in_source_count": 0, "duplicate_count": 0, "excluded_count": 0, "exclusions": [], "source_as_of": "2026-09-26", "security_as_of": "2026-09-26"}