{"format": 1, "mode": "release", "from_release": null, "to_release": {"date": "2019-05-09", "build": "9.5.17", "major": "9.5", "minor": 17, "manual": "9.5", "status": "stable", "doc_git": "", "version": "9.5.17", "eol_date": "2021-02-11", "date_text": "2019-05-09", "supported": false, "manual_url": "/docs/9.5/release-9-5-17.html", "source_url": "/docs/release/9.5.17/", "entry_count": 31, "placeholder": false, "content_hash": "5c628344d26921805071e5acc491743b29344bc83e083d26ff6d63003111d980", "manual_build": "9.5.25", "source_as_of": "", "changes_count": 31, "doc_loaded_at": "2026-09-26T02:56:44.718140", "migration_html": "<p>对于运行 9.5.X 的用户，不需要转储/恢复。</p>\n<p>不过，如果你是从 9.5.13 之前的版本升级，参见<a href=\"/docs/9.5/release-9-5-13.html\" title=\"E.13. 版本 9.5.13\">第 E.13 节</a>。</p>", "compatibility_count": 0, "label": "9.5.17", "status_label": "历史版本", "eol": "2021-02-11", "age_days": 2701, "support_days": -2057}, "groups": [{"date": "2019-05-09", "build": "9.5.17", "major": "9.5", "minor": 17, "manual": "9.5", "status": "stable", "doc_git": "", "version": "9.5.17", "eol_date": "2021-02-11", "date_text": "2019-05-09", "supported": false, "manual_url": "/docs/9.5/release-9-5-17.html", "source_url": "/docs/release/9.5.17/", "entry_count": 31, "placeholder": false, "content_hash": "5c628344d26921805071e5acc491743b29344bc83e083d26ff6d63003111d980", "manual_build": "9.5.25", "source_as_of": "", "changes_count": 31, "doc_loaded_at": "2026-09-26T02:56:44.718140", "migration_html": "<p>对于运行 9.5.X 的用户，不需要转储/恢复。</p>\n<p>不过，如果你是从 9.5.13 之前的版本升级，参见<a href=\"/docs/9.5/release-9-5-13.html\" title=\"E.13. 版本 9.5.13\">第 E.13 节</a>。</p>", "compatibility_count": 0, "label": "9.5.17", "status_label": "历史版本", "eol": "2021-02-11", "age_days": 2701, "support_days": -2057, "entries": [{"id": "9.5.17-35d4445257f1090d", "cves": ["CVE-2017-7484", "CVE-2019-10130"], "html": "<p>防止通过选择率估计器绕过行级安全策略（Dean Rasheed）</p>\n<p>规划器的一些选择率估计器会对 <code>pg_statistic</code> 中的值（如最常见值）应用用户定义的操作符。因此，泄漏型操作符可以泄露数据列中的一些条目，即使调用用户没有读取该列的权限。我们在 CVE-2017-7484 中加了限制来防止这一点，但没有考虑到行级安全的影响。有 SQL 权限读取某列、但因 RLS 策略被禁止看到某些行的用户，仍可能通过泄漏型操作符了解这些行的内容。本补丁进一步收紧规则，仅当没有相关 RLS 策略时才允许把泄漏型操作符应用于统计数据。（CVE-2019-10130）</p>", "text": "防止通过选择率估计器绕过行级安全策略（Dean Rasheed） 规划器的一些选择率估计器会对 pg_statistic 中的值（如最常见值）应用用户定义的操作符。因此，泄漏型操作符可以泄露数据列中的一些条目，即使调用用户没有读取该列的权限。我们在 CVE-2017-7484 中加了限制来防止这一点，但没有考虑到行级安全的影响。有 SQL 权限读取某列、但因 RLS 策略被禁止看到某些行的用户，仍可能通过泄漏型操作符了解这些行的内容。本补丁进一步收紧规则，仅当没有相关 RLS 策略时才允许把泄漏型操作符应用于统计数据。（CVE-2019-10130）", "title": "防止通过选择率估计器绕过行级安全策略", "commits": [], "section": "变更", "category": "security", "source_url": "/docs/release/9.5.17/#id-1.11.6.13.5", "source_hash": "f6c0c6e0beedf73a4f32b73cc8e209fcd112e3ffeccdf650102108d85690ac32", "section_path": ["变更"], "commit_groups": [], "identity_text": "Prevent row-level security policies from being bypassed via selectivity estimators (Dean Rasheed) Some of the planner's selectivity estimators apply user-defined operators to values found in pg_statistic (e.g., most-common values). A leaky operator therefore can disclose some of the entries in a data column, even if the calling user lacks permission to read that column. In CVE-2017-7484 we added restrictions to forestall that, but we failed to consider the effects of row-level security. A user who has SQL permission to read a column, but who is forbidden to see certain rows due to RLS policy, might still learn something about those rows' contents via a leaky operator. This patch further tightens the rules, allowing leaky operators to be applied to statistics data only when there is no relevant RLS policy. (CVE-2019-10130)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.17/changes/001", "db_id": "a6e3722e8822752f3244d263c67c8c64", "patch_ids": [], "statement_hash": "1767df1e8a5f9607827fd44f927fdb996e1e48243654d4cc97590333923d45e7", "relations": [{"rule": 2, "type": "equivalent", "target": "56d6db8446f41023a027932d51f76dad", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1767df1e8a5f9607827fd44f927fdb996e1e48243654d4cc97590333923d45e7"}}, {"rule": 2, "type": "equivalent", "target": "7ff539ab31995c0e78fd5d7b1ca6321e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1767df1e8a5f9607827fd44f927fdb996e1e48243654d4cc97590333923d45e7"}}, {"rule": 2, "type": "equivalent", "target": "9bd418a48b41e4825da797ada67a744d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1767df1e8a5f9607827fd44f927fdb996e1e48243654d4cc97590333923d45e7"}}], "version": "9.5.17", "category_label": "安全相关", "also_in": [], "variants": [], "related_changes": [{"db_id": "9bd418a48b41e4825da797ada67a744d", "kind": "equivalent", "version": "11.3", "label": "11.3", "title": "防止通过选择率估计器绕过行级安全策略", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1767df1e8a5f9607827fd44f927fdb996e1e48243654d4cc97590333923d45e7"}, "url": "/docs/compare/?release=11.3#11.3-35d4445257f1090d", "source_url": "/docs/release/11.3/#id-1.11.6.24.5"}, {"db_id": "56d6db8446f41023a027932d51f76dad", "kind": "equivalent", "version": "10.8", "label": "10.8", "title": "防止通过选择率估计器绕过行级安全策略", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1767df1e8a5f9607827fd44f927fdb996e1e48243654d4cc97590333923d45e7"}, "url": "/docs/compare/?release=10.8#10.8-35d4445257f1090d", "source_url": "/docs/release/10.8/#id-1.11.6.20.5"}, {"db_id": "7ff539ab31995c0e78fd5d7b1ca6321e", "kind": "equivalent", "version": "9.6.13", "label": "9.6.13", "title": "防止通过选择率估计器绕过行级安全策略", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1767df1e8a5f9607827fd44f927fdb996e1e48243654d4cc97590333923d45e7"}, "url": "/docs/compare/?release=9.6.13#9.6.13-35d4445257f1090d", "source_url": "/docs/release/9.6.13/#id-1.11.6.16.5"}]}, {"id": "9.5.17-bbd6c7683cf1af8f", "cves": [], "html": "<p>修复对每个表都可被排除的继承树或分区表执行 <code>UPDATE</code> 或 <code>DELETE</code> 时的行为（Amit Langote、Tom Lane）</p>\n<p>这类情况下，当存在 <code>RETURNING</code> 子句时，查询没有报告正确的输出列集合；如果有应当触发的语句级触发器，它也没有触发。</p>", "text": "修复对每个表都可被排除的继承树或分区表执行 UPDATE 或 DELETE 时的行为（Amit Langote、Tom Lane） 这类情况下，当存在 RETURNING 子句时，查询没有报告正确的输出列集合；如果有应当触发的语句级触发器，它也没有触发。", "title": "修复对每个表都可被排除的继承树或分区表执行 UPDATE 或 DELETE 时的行为", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.17/#id-1.11.6.13.5", "source_hash": "7fafda57a52902b4d2ef54bdeb4cedb0807efb2b16c0f1f9452bd3a303c9be50", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix behavior for an UPDATE or DELETE on an inheritance tree or partitioned table in which every table can be excluded (Amit Langote, Tom Lane) In such cases, the query did not report the correct set of output columns when a RETURNING clause was present, and if there were any statement-level triggers that should be fired, it didn't fire them.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.17/changes/002", "db_id": "833c5cc5e991b8517824df64c1aa97bf", "patch_ids": [], "statement_hash": "04270985d752fb6c5f5545b5fa05edecd1190f221b84972e06d714c72cbebdf5", "relations": [{"rule": 2, "type": "equivalent", "target": "4edff4dcb3f86c70d97c0946ecaf08df", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "04270985d752fb6c5f5545b5fa05edecd1190f221b84972e06d714c72cbebdf5"}}, {"rule": 2, "type": "equivalent", "target": "b368d56b37ac4352bd3ef63c0c0289e8", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "04270985d752fb6c5f5545b5fa05edecd1190f221b84972e06d714c72cbebdf5"}}, {"rule": 2, "type": "equivalent", "target": "bfa3446f770b34d8aa9361f5fab1cb5c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "04270985d752fb6c5f5545b5fa05edecd1190f221b84972e06d714c72cbebdf5"}}, {"rule": 2, "type": "equivalent", "target": "ee33f6a5e3b8f24c278b011a02520dac", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "04270985d752fb6c5f5545b5fa05edecd1190f221b84972e06d714c72cbebdf5"}}], "version": "9.5.17", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "b368d56b37ac4352bd3ef63c0c0289e8", "kind": "equivalent", "version": "11.3", "label": "11.3", "title": "修复对继承树或分区表执行 UPDATE 或 DELETE 时，每个表都可被排除的情况下的行为", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "04270985d752fb6c5f5545b5fa05edecd1190f221b84972e06d714c72cbebdf5"}, "url": "/docs/compare/?release=11.3#11.3-e26b0f16db0644de", "source_url": "/docs/release/11.3/#id-1.11.6.24.5"}, {"db_id": "ee33f6a5e3b8f24c278b011a02520dac", "kind": "equivalent", "version": "10.8", "label": "10.8", "title": "修复对继承树或分区表执行 UPDATE 或 DELETE 时，每个表都可被排除的情况下的行为", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "04270985d752fb6c5f5545b5fa05edecd1190f221b84972e06d714c72cbebdf5"}, "url": "/docs/compare/?release=10.8#10.8-e26b0f16db0644de", "source_url": "/docs/release/10.8/#id-1.11.6.20.5"}, {"db_id": "4edff4dcb3f86c70d97c0946ecaf08df", "kind": "equivalent", "version": "9.6.13", "label": "9.6.13", "title": "修复对每个表都可被排除的继承树或分区表执行 UPDATE 或 DELETE 时的行为", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "04270985d752fb6c5f5545b5fa05edecd1190f221b84972e06d714c72cbebdf5"}, "url": "/docs/compare/?release=9.6.13#9.6.13-bbd6c7683cf1af8f", "source_url": "/docs/release/9.6.13/#id-1.11.6.16.5"}, {"db_id": "bfa3446f770b34d8aa9361f5fab1cb5c", "kind": "equivalent", "version": "9.4.22", "label": "9.4.22", "title": "修复对每个表都可被排除的继承树或分区表执行 UPDATE 或 DELETE 时的行为", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "04270985d752fb6c5f5545b5fa05edecd1190f221b84972e06d714c72cbebdf5"}, "url": "/docs/compare/?release=9.4.22#9.4.22-bbd6c7683cf1af8f", "source_url": "/docs/release/9.4.22/#id-1.11.6.9.6"}]}, {"id": "9.5.17-f65a38c6c6e79393", "cves": [], "html": "<p>修复目标关系是可更新视图时带多行 <code>VALUES</code> 的 <code>INSERT ... VALUES</code> 命令中显式 <code>DEFAULT</code> 项的处理（Amit Langote、Dean Rasheed）</p>\n<p>当可更新视图对该列没有默认值而其底层表有时，单行 <code>INSERT ... VALUES</code> 会使用底层表的默认值。然而在多行情况下，总是使用 NULL。已纠正为与单行情况一致。</p>", "text": "修复目标关系是可更新视图时带多行 VALUES 的 INSERT ... VALUES 命令中显式 DEFAULT 项的处理（Amit Langote、Dean Rasheed） 当可更新视图对该列没有默认值而其底层表有时，单行 INSERT ... VALUES 会使用底层表的默认值。然而在多行情况下，总是使用 NULL。已纠正为与单行情况一致。", "title": "修复目标关系是可更新视图时带多行 VALUES 的 INSERT ... VALUES 命令中显式 DEFAULT 项的处理", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.17/#id-1.11.6.13.5", "source_hash": "ef9ea442481cdbcc046a3c0eadf2a540667c4270d04f3803f955edffd5625f49", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix handling of explicit DEFAULT items in an INSERT ... VALUES command with multiple VALUES rows, if the target relation is an updatable view (Amit Langote, Dean Rasheed) When the updatable view has no default for the column but its underlying table has one, a single-row INSERT ... VALUES will use the underlying table's default. In the multi-row case, however, NULL was always used. Correct it to act like the single-row case.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.17/changes/003", "db_id": "0e7f247e2430c5d23f1325380d1bee17", "patch_ids": [], "statement_hash": "b8a664438a604eb308832fc04e0c1e0c1ad228e82d60c50cefc7cd72566abd88", "relations": [{"rule": 2, "type": "equivalent", "target": "15b3195c74a53d643ab8b5015da41bf2", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b8a664438a604eb308832fc04e0c1e0c1ad228e82d60c50cefc7cd72566abd88"}}, {"rule": 2, "type": "equivalent", "target": "576438ba514bda6624f4fcbc74af1247", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b8a664438a604eb308832fc04e0c1e0c1ad228e82d60c50cefc7cd72566abd88"}}, {"rule": 2, "type": "equivalent", "target": "5cc5fd553f73b11f507fe1babd643a03", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b8a664438a604eb308832fc04e0c1e0c1ad228e82d60c50cefc7cd72566abd88"}}, {"rule": 2, "type": "equivalent", "target": "a3699f71059e2aa38a985fb9255b5413", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b8a664438a604eb308832fc04e0c1e0c1ad228e82d60c50cefc7cd72566abd88"}}], "version": "9.5.17", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "576438ba514bda6624f4fcbc74af1247", "kind": "equivalent", "version": "11.3", "label": "11.3", "title": "目标关系为可更新视图时，修复包含多行 VALUES 的 INSERT ... VALUES 命令中对显式 DEFAULT 项的处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b8a664438a604eb308832fc04e0c1e0c1ad228e82d60c50cefc7cd72566abd88"}, "url": "/docs/compare/?release=11.3#11.3-1309f551eab21e73", "source_url": "/docs/release/11.3/#id-1.11.6.24.5"}, {"db_id": "15b3195c74a53d643ab8b5015da41bf2", "kind": "equivalent", "version": "10.8", "label": "10.8", "title": "目标关系为可更新视图时，修复包含多行 VALUES 的 INSERT ... VALUES 命令中对显式 DEFAULT 项的处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b8a664438a604eb308832fc04e0c1e0c1ad228e82d60c50cefc7cd72566abd88"}, "url": "/docs/compare/?release=10.8#10.8-1309f551eab21e73", "source_url": "/docs/release/10.8/#id-1.11.6.20.5"}, {"db_id": "a3699f71059e2aa38a985fb9255b5413", "kind": "equivalent", "version": "9.6.13", "label": "9.6.13", "title": "修复目标关系是可更新视图时带多行 VALUES 的 INSERT ... VALUES 命令中显式 DEFAULT 项的处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b8a664438a604eb308832fc04e0c1e0c1ad228e82d60c50cefc7cd72566abd88"}, "url": "/docs/compare/?release=9.6.13#9.6.13-f65a38c6c6e79393", "source_url": "/docs/release/9.6.13/#id-1.11.6.16.5"}, {"db_id": "5cc5fd553f73b11f507fe1babd643a03", "kind": "equivalent", "version": "9.4.22", "label": "9.4.22", "title": "修复目标关系是可更新视图时带多行 VALUES 的 INSERT ... VALUES 命令中显式 DEFAULT 项的处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b8a664438a604eb308832fc04e0c1e0c1ad228e82d60c50cefc7cd72566abd88"}, "url": "/docs/compare/?release=9.4.22#9.4.22-f65a38c6c6e79393", "source_url": "/docs/release/9.4.22/#id-1.11.6.9.6"}]}, {"id": "9.5.17-100bd80868ceba38", "cves": [], "html": "<p>修复 <code>CREATE VIEW</code> 允许零列视图（Ashutosh Sharma）</p>\n<p>为了与允许零列表保持一致，我们应当允许这一点。由于表可以被转换为视图，即使有此限制也能创建零列视图，从而导致转储/恢复失败。</p>", "text": "修复 CREATE VIEW 允许零列视图（Ashutosh Sharma） 为了与允许零列表保持一致，我们应当允许这一点。由于表可以被转换为视图，即使有此限制也能创建零列视图，从而导致转储/恢复失败。", "title": "修复 CREATE VIEW 允许零列视图", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.17/#id-1.11.6.13.5", "source_hash": "6a9928f1f7763cd0cb29c2331547d06ed23e1a350a415e7d308a6ec3cd47e0f0", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix CREATE VIEW to allow zero-column views (Ashutosh Sharma) We should allow this for consistency with allowing zero-column tables. Since a table can be converted to a view, zero-column views could be created even with the restriction in place, leading to dump/reload failures.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.17/changes/004", "db_id": "090336ec6d5bd02a548f703772f3ed54", "patch_ids": [], "statement_hash": "9d8a44c6b03c6c765fc6ca03b1875e81dc8ca03313cefbd60092715a906c0b74", "relations": [{"rule": 2, "type": "equivalent", "target": "0ad36899c6cc367ed4b03e73f3a605cd", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9d8a44c6b03c6c765fc6ca03b1875e81dc8ca03313cefbd60092715a906c0b74"}}, {"rule": 2, "type": "equivalent", "target": "11b34e728cf080fc41561fcb4d6ad24f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9d8a44c6b03c6c765fc6ca03b1875e81dc8ca03313cefbd60092715a906c0b74"}}, {"rule": 2, "type": "equivalent", "target": "809afe72287af356ea8f5d551e8473d3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9d8a44c6b03c6c765fc6ca03b1875e81dc8ca03313cefbd60092715a906c0b74"}}, {"rule": 2, "type": "equivalent", "target": "bca14bcec41ac40c919b4698939d3e7a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9d8a44c6b03c6c765fc6ca03b1875e81dc8ca03313cefbd60092715a906c0b74"}}], "version": "9.5.17", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "0ad36899c6cc367ed4b03e73f3a605cd", "kind": "equivalent", "version": "11.3", "label": "11.3", "title": "修复 CREATE VIEW，使其允许零列视图", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9d8a44c6b03c6c765fc6ca03b1875e81dc8ca03313cefbd60092715a906c0b74"}, "url": "/docs/compare/?release=11.3#11.3-2f43af900aee43f0", "source_url": "/docs/release/11.3/#id-1.11.6.24.5"}, {"db_id": "11b34e728cf080fc41561fcb4d6ad24f", "kind": "equivalent", "version": "10.8", "label": "10.8", "title": "修复 CREATE VIEW，使其允许零列视图", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9d8a44c6b03c6c765fc6ca03b1875e81dc8ca03313cefbd60092715a906c0b74"}, "url": "/docs/compare/?release=10.8#10.8-2f43af900aee43f0", "source_url": "/docs/release/10.8/#id-1.11.6.20.5"}, {"db_id": "bca14bcec41ac40c919b4698939d3e7a", "kind": "equivalent", "version": "9.6.13", "label": "9.6.13", "title": "修复 CREATE VIEW 允许零列视图", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9d8a44c6b03c6c765fc6ca03b1875e81dc8ca03313cefbd60092715a906c0b74"}, "url": "/docs/compare/?release=9.6.13#9.6.13-100bd80868ceba38", "source_url": "/docs/release/9.6.13/#id-1.11.6.16.5"}, {"db_id": "809afe72287af356ea8f5d551e8473d3", "kind": "equivalent", "version": "9.4.22", "label": "9.4.22", "title": "修复 CREATE VIEW 允许零列视图", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9d8a44c6b03c6c765fc6ca03b1875e81dc8ca03313cefbd60092715a906c0b74"}, "url": "/docs/compare/?release=9.4.22#9.4.22-100bd80868ceba38", "source_url": "/docs/release/9.4.22/#id-1.11.6.9.6"}]}, {"id": "9.5.17-776d87acfeabfd74", "cves": [], "html": "<p>补上对 <code>CREATE TABLE IF NOT EXISTS ... AS EXECUTE ...</code> 的缺失支持（Andreas Karlsson）</p>\n<p><code>IF NOT EXISTS</code> 与 <code>EXECUTE</code> 的组合应当能工作，但语法中遗漏了它。</p>", "text": "补上对 CREATE TABLE IF NOT EXISTS ... AS EXECUTE ... 的缺失支持（Andreas Karlsson） IF NOT EXISTS 与 EXECUTE 的组合应当能工作，但语法中遗漏了它。", "title": "补上对 CREATE TABLE IF NOT EXISTS ... AS EXECUTE ... 的缺失支持", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.17/#id-1.11.6.13.5", "source_hash": "300f6fa31c322de0723473539bd1ed69da16fd00cad9ffa8985112d8a98a8230", "section_path": ["变更"], "commit_groups": [], "identity_text": "Add missing support for CREATE TABLE IF NOT EXISTS ... AS EXECUTE ... (Andreas Karlsson) The combination of IF NOT EXISTS and EXECUTE should work, but the grammar omitted it.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.17/changes/005", "db_id": "f33e689b9ddd3281c9d28882586453c3", "patch_ids": [], "statement_hash": "3a7d2a3381045147506d2b61b3c1fe8f087d82842dcebae5b5324a6482ed4a5f", "relations": [{"rule": 2, "type": "equivalent", "target": "203eb98c0cbd3e07960f297009511131", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3a7d2a3381045147506d2b61b3c1fe8f087d82842dcebae5b5324a6482ed4a5f"}}, {"rule": 2, "type": "equivalent", "target": "3ec55572f69e517844a5e9fccff1e699", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3a7d2a3381045147506d2b61b3c1fe8f087d82842dcebae5b5324a6482ed4a5f"}}, {"rule": 2, "type": "equivalent", "target": "ddb60aa2819804230a93287c7c89538c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3a7d2a3381045147506d2b61b3c1fe8f087d82842dcebae5b5324a6482ed4a5f"}}], "version": "9.5.17", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "203eb98c0cbd3e07960f297009511131", "kind": "equivalent", "version": "11.3", "label": "11.3", "title": "补上对 CREATE TABLE IF NOT EXISTS ... AS EXECUTE ... 缺失的支持", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3a7d2a3381045147506d2b61b3c1fe8f087d82842dcebae5b5324a6482ed4a5f"}, "url": "/docs/compare/?release=11.3#11.3-3966034489e2d830", "source_url": "/docs/release/11.3/#id-1.11.6.24.5"}, {"db_id": "3ec55572f69e517844a5e9fccff1e699", "kind": "equivalent", "version": "10.8", "label": "10.8", "title": "补上对 CREATE TABLE IF NOT EXISTS ... AS EXECUTE ... 缺失的支持", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3a7d2a3381045147506d2b61b3c1fe8f087d82842dcebae5b5324a6482ed4a5f"}, "url": "/docs/compare/?release=10.8#10.8-3966034489e2d830", "source_url": "/docs/release/10.8/#id-1.11.6.20.5"}, {"db_id": "ddb60aa2819804230a93287c7c89538c", "kind": "equivalent", "version": "9.6.13", "label": "9.6.13", "title": "补上对 CREATE TABLE IF NOT EXISTS ... AS EXECUTE ... 的缺失支持", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3a7d2a3381045147506d2b61b3c1fe8f087d82842dcebae5b5324a6482ed4a5f"}, "url": "/docs/compare/?release=9.6.13#9.6.13-776d87acfeabfd74", "source_url": "/docs/release/9.6.13/#id-1.11.6.16.5"}]}, {"id": "9.5.17-03c882be771d2541", "cves": [], "html": "<p>确保行级安全策略表达式中出现的子 <code>SELECT</code> 以正确的用户权限执行（Dean Rasheed）</p>\n<p>此前，如果带 RLS 策略的表是通过视图访问的，这种检查可能以调用视图的用户而非应有的视图所有者身份执行。</p>", "text": "确保行级安全策略表达式中出现的子 SELECT 以正确的用户权限执行（Dean Rasheed） 此前，如果带 RLS 策略的表是通过视图访问的，这种检查可能以调用视图的用户而非应有的视图所有者身份执行。", "title": "确保行级安全策略表达式中出现的子 SELECT 以正确的用户权限执行", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.17/#id-1.11.6.13.5", "source_hash": "7337418c2156eb7edae7daa3a43de1c3a0153210b2ef22a52c1934fce94c0dd3", "section_path": ["变更"], "commit_groups": [], "identity_text": "Ensure that sub-SELECTs appearing in row-level-security policy expressions are executed with the correct user's permissions (Dean Rasheed) Previously, if the table having the RLS policy was accessed via a view, such checks might be executed as the user calling the view, not as the view owner as they should be.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.17/changes/006", "db_id": "6e1d531bdedba2cc5761a18194d45b94", "patch_ids": [], "statement_hash": "c608576634231d1a252e598a21a46dd93063525758b135ac711ef531849e6ec7", "relations": [{"rule": 2, "type": "equivalent", "target": "39b09b82ea1b638d237ba72e602ff58e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c608576634231d1a252e598a21a46dd93063525758b135ac711ef531849e6ec7"}}, {"rule": 2, "type": "equivalent", "target": "538a53875eb204361509c8fe1afe2936", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c608576634231d1a252e598a21a46dd93063525758b135ac711ef531849e6ec7"}}, {"rule": 2, "type": "equivalent", "target": "93ee07f789c3a4a17d8bef277bec768c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c608576634231d1a252e598a21a46dd93063525758b135ac711ef531849e6ec7"}}], "version": "9.5.17", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "538a53875eb204361509c8fe1afe2936", "kind": "equivalent", "version": "11.3", "label": "11.3", "title": "确保行级安全策略表达式中的子 SELECT 以正确用户的权限执行", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c608576634231d1a252e598a21a46dd93063525758b135ac711ef531849e6ec7"}, "url": "/docs/compare/?release=11.3#11.3-dd6917b2eff5e96f", "source_url": "/docs/release/11.3/#id-1.11.6.24.5"}, {"db_id": "39b09b82ea1b638d237ba72e602ff58e", "kind": "equivalent", "version": "10.8", "label": "10.8", "title": "确保行级安全策略表达式中的子 SELECT 以正确用户的权限执行", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c608576634231d1a252e598a21a46dd93063525758b135ac711ef531849e6ec7"}, "url": "/docs/compare/?release=10.8#10.8-dd6917b2eff5e96f", "source_url": "/docs/release/10.8/#id-1.11.6.20.5"}, {"db_id": "93ee07f789c3a4a17d8bef277bec768c", "kind": "equivalent", "version": "9.6.13", "label": "9.6.13", "title": "确保行级安全策略表达式中出现的子 SELECT 以正确的用户权限执行", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c608576634231d1a252e598a21a46dd93063525758b135ac711ef531849e6ec7"}, "url": "/docs/compare/?release=9.6.13#9.6.13-03c882be771d2541", "source_url": "/docs/release/9.6.13/#id-1.11.6.16.5"}]}, {"id": "9.5.17-abeef0d12bb90bdd", "cves": [], "html": "<p>在 <code>xmloption</code> 设为 <code>content</code> 时按 SQL:2006 及后续标准的要求接受 XML 文档作为 <code>xml</code> 类型的有效值（Chapman Flack）</p>\n<p>此前 <span>PostgreSQL</span> 遵循不允许这么做的 SQL:2003 定义。但这给转储/恢复带来了严重问题：没有哪个 <code>xmloption</code> 设置能接受所有有效 XML 数据。因此切换到 2006 定义。</p>\n<p>还修改了 <span>pg_dump</span>，使其在恢复数据期间发出 <code>SET xmloption = content</code>，确保即使当前设置是 <code>document</code> 转储/恢复也能工作。</p>", "text": "在 xmloption 设为 content 时按 SQL:2006 及后续标准的要求接受 XML 文档作为 xml 类型的有效值（Chapman Flack） 此前 PostgreSQL 遵循不允许这么做的 SQL:2003 定义。但这给转储/恢复带来了严重问题：没有哪个 xmloption 设置能接受所有有效 XML 数据。因此切换到 2006 定义。 还修改了 pg_dump，使其在恢复数据期间发出 SET xmloption = content，确保即使当前设置是 document 转储/恢复也能工作。", "title": "在 xmloption 设为 content 时按 SQL:2006 及后续标准的要求接受 XML 文档作为 xml 类型的有效值", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.17/#id-1.11.6.13.5", "source_hash": "35ca9d7d07c893896f3cf5ffa3b7bf7c24c2940604e79ef6216f6d02c5406756", "section_path": ["变更"], "commit_groups": [], "identity_text": "Accept XML documents as valid values of type xml when xmloption is set to content, as required by SQL:2006 and later (Chapman Flack) Previously PostgreSQL followed the SQL:2003 definition, which doesn't allow this. But that creates a serious problem for dump/restore: there is no setting of xmloption that will accept all valid XML data. Hence, switch to the 2006 definition. pg_dump is also modified to emit SET xmloption = content while restoring data, ensuring that dump/restore works even if the prevailing setting is document.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.17/changes/007", "db_id": "635be5d8d80a61f198bc53c9ddeb3db5", "patch_ids": [], "statement_hash": "9ba2336b054e0691b8e1f138516b050e12e01729886d441ba8a6c4e164f66ded", "relations": [{"rule": 2, "type": "equivalent", "target": "2086676771c95a609d6b64562e08edb0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9ba2336b054e0691b8e1f138516b050e12e01729886d441ba8a6c4e164f66ded"}}, {"rule": 2, "type": "equivalent", "target": "301285ce4093d204e6501892fd9b5151", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9ba2336b054e0691b8e1f138516b050e12e01729886d441ba8a6c4e164f66ded"}}, {"rule": 2, "type": "equivalent", "target": "35509c0a6100cc945cd7c16a6d72baec", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9ba2336b054e0691b8e1f138516b050e12e01729886d441ba8a6c4e164f66ded"}}, {"rule": 2, "type": "equivalent", "target": "d4c9ce5a219d9263adccd0f74ac2b381", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9ba2336b054e0691b8e1f138516b050e12e01729886d441ba8a6c4e164f66ded"}}], "version": "9.5.17", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "35509c0a6100cc945cd7c16a6d72baec", "kind": "equivalent", "version": "11.3", "label": "11.3", "title": "按照 SQL:2006 及后续标准的要求，当 xmloption 设置为 content 时，接受 XML 文档作为 xml 类型的有效值", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9ba2336b054e0691b8e1f138516b050e12e01729886d441ba8a6c4e164f66ded"}, "url": "/docs/compare/?release=11.3#11.3-1189aea744777953", "source_url": "/docs/release/11.3/#id-1.11.6.24.5"}, {"db_id": "301285ce4093d204e6501892fd9b5151", "kind": "equivalent", "version": "10.8", "label": "10.8", "title": "按照 SQL:2006 及后续标准的要求，当 xmloption 设置为 content 时，接受 XML 文档作为 xml 类型的有效值", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9ba2336b054e0691b8e1f138516b050e12e01729886d441ba8a6c4e164f66ded"}, "url": "/docs/compare/?release=10.8#10.8-1189aea744777953", "source_url": "/docs/release/10.8/#id-1.11.6.20.5"}, {"db_id": "d4c9ce5a219d9263adccd0f74ac2b381", "kind": "equivalent", "version": "9.6.13", "label": "9.6.13", "title": "在 xmloption 设为 content 时按 SQL:2006 及后续标准的要求接受 XML 文档作为 xml 类型的有效值", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9ba2336b054e0691b8e1f138516b050e12e01729886d441ba8a6c4e164f66ded"}, "url": "/docs/compare/?release=9.6.13#9.6.13-abeef0d12bb90bdd", "source_url": "/docs/release/9.6.13/#id-1.11.6.16.5"}, {"db_id": "2086676771c95a609d6b64562e08edb0", "kind": "equivalent", "version": "9.4.22", "label": "9.4.22", "title": "在 xmloption 设为 content 时按 SQL:2006 及后续标准的要求接受 XML 文档作为 xml 类型的有效值", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9ba2336b054e0691b8e1f138516b050e12e01729886d441ba8a6c4e164f66ded"}, "url": "/docs/compare/?release=9.4.22#9.4.22-abeef0d12bb90bdd", "source_url": "/docs/release/9.4.22/#id-1.11.6.9.6"}]}, {"id": "9.5.17-f6b97a174960300a", "cves": [], "html": "<p>改进服务器启动时对既有共享内存段是否仍在使用的检查（Noah Misch）</p>\n<p>即使 <code>postmaster.pid</code> 文件已被移除，postmaster 现在也更可能检测到上一个 postmaster 实例仍有活动进程。</p>", "text": "改进服务器启动时对既有共享内存段是否仍在使用的检查（Noah Misch） 即使 postmaster.pid 文件已被移除，postmaster 现在也更可能检测到上一个 postmaster 实例仍有活动进程。", "title": "改进服务器启动时对既有共享内存段是否仍在使用的检查", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.17/#id-1.11.6.13.5", "source_hash": "7c89892584380210adba703ac193e0cfc6ee46019945b49703090ca09682a4b9", "section_path": ["变更"], "commit_groups": [], "identity_text": "Improve server's startup-time checks for whether a pre-existing shared memory segment is still in use (Noah Misch) The postmaster is now more likely to detect that there are still active processes from a previous postmaster incarnation, even if the postmaster.pid file has been removed.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.17/changes/008", "db_id": "4ecb1a0dfe09a23ba50f012651a2b937", "patch_ids": [], "statement_hash": "2617d85831b9da49d42b8cd73967dc50b47fe7109a983c8dbc23accdc5016185", "relations": [{"rule": 2, "type": "equivalent", "target": "3e0dc8919a53552d0431bcd9bf09c820", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2617d85831b9da49d42b8cd73967dc50b47fe7109a983c8dbc23accdc5016185"}}, {"rule": 2, "type": "equivalent", "target": "57c110b625e0623530d237e179705f69", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2617d85831b9da49d42b8cd73967dc50b47fe7109a983c8dbc23accdc5016185"}}, {"rule": 2, "type": "equivalent", "target": "59083f7943af0375b7179837075926ae", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2617d85831b9da49d42b8cd73967dc50b47fe7109a983c8dbc23accdc5016185"}}, {"rule": 2, "type": "equivalent", "target": "8e5dcdf0c92c508318fc1d50f92486b4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2617d85831b9da49d42b8cd73967dc50b47fe7109a983c8dbc23accdc5016185"}}], "version": "9.5.17", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "57c110b625e0623530d237e179705f69", "kind": "equivalent", "version": "11.3", "label": "11.3", "title": "改进服务器在启动时对预先存在的共享内存段是否仍在使用的检查", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2617d85831b9da49d42b8cd73967dc50b47fe7109a983c8dbc23accdc5016185"}, "url": "/docs/compare/?release=11.3#11.3-4923162f8d7b0ab5", "source_url": "/docs/release/11.3/#id-1.11.6.24.5"}, {"db_id": "59083f7943af0375b7179837075926ae", "kind": "equivalent", "version": "10.8", "label": "10.8", "title": "改进服务器在启动时对预先存在的共享内存段是否仍在使用的检查", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2617d85831b9da49d42b8cd73967dc50b47fe7109a983c8dbc23accdc5016185"}, "url": "/docs/compare/?release=10.8#10.8-4923162f8d7b0ab5", "source_url": "/docs/release/10.8/#id-1.11.6.20.5"}, {"db_id": "3e0dc8919a53552d0431bcd9bf09c820", "kind": "equivalent", "version": "9.6.13", "label": "9.6.13", "title": "改进服务器启动时对既有共享内存段是否仍在使用的检查", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2617d85831b9da49d42b8cd73967dc50b47fe7109a983c8dbc23accdc5016185"}, "url": "/docs/compare/?release=9.6.13#9.6.13-f6b97a174960300a", "source_url": "/docs/release/9.6.13/#id-1.11.6.16.5"}, {"db_id": "8e5dcdf0c92c508318fc1d50f92486b4", "kind": "equivalent", "version": "9.4.22", "label": "9.4.22", "title": "改进服务器启动时对既有共享内存段是否仍在使用的检查", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2617d85831b9da49d42b8cd73967dc50b47fe7109a983c8dbc23accdc5016185"}, "url": "/docs/compare/?release=9.4.22#9.4.22-f6b97a174960300a", "source_url": "/docs/release/9.4.22/#id-1.11.6.9.6"}]}, {"id": "9.5.17-f078328560ba4d63", "cves": [], "html": "<p>修复 GIN 索引 WAL 记录的不兼容（Alexander Korotkov）</p>\n<p>二月份小版本中应用的一个修复对向后兼容性不够谨慎，导致那个年代的备库服务器读取前一个小版本的主库生成的 GIN 页删除 WAL 记录时出问题。</p>", "text": "修复 GIN 索引 WAL 记录的不兼容（Alexander Korotkov） 二月份小版本中应用的一个修复对向后兼容性不够谨慎，导致那个年代的备库服务器读取前一个小版本的主库生成的 GIN 页删除 WAL 记录时出问题。", "title": "修复 GIN 索引 WAL 记录的不兼容", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.17/#id-1.11.6.13.5", "source_hash": "b2441add7e3ac25cf9a89351470831f690a009899030ab9898c431d750078379", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix incompatibility of GIN-index WAL records (Alexander Korotkov) A fix applied in February's minor releases was not sufficiently careful about backwards compatibility, leading to problems if a standby server of that vintage reads GIN page-deletion WAL records generated by a primary server of a previous minor release.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.17/changes/009", "db_id": "20969dae2aafde17057cd5669e3da33d", "patch_ids": [], "statement_hash": "c2cdb1404537cb0788718f43ed5ccc30211424d99e57630b49b5b5931540d269", "relations": [{"rule": 2, "type": "equivalent", "target": "6ade0705a01b6c115e7a5b05799e1e8a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c2cdb1404537cb0788718f43ed5ccc30211424d99e57630b49b5b5931540d269"}}, {"rule": 2, "type": "equivalent", "target": "8ac6289d89d1fbc54793e1be533234c2", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c2cdb1404537cb0788718f43ed5ccc30211424d99e57630b49b5b5931540d269"}}, {"rule": 2, "type": "equivalent", "target": "b4045e089f599f3829cddf06a819b434", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c2cdb1404537cb0788718f43ed5ccc30211424d99e57630b49b5b5931540d269"}}, {"rule": 2, "type": "equivalent", "target": "bd4626c573fc81d2806704b26461c907", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c2cdb1404537cb0788718f43ed5ccc30211424d99e57630b49b5b5931540d269"}}], "version": "9.5.17", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "8ac6289d89d1fbc54793e1be533234c2", "kind": "equivalent", "version": "11.3", "label": "11.3", "title": "修复 GIN 索引 WAL 记录的不兼容问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c2cdb1404537cb0788718f43ed5ccc30211424d99e57630b49b5b5931540d269"}, "url": "/docs/compare/?release=11.3#11.3-5e3b663f903c9160", "source_url": "/docs/release/11.3/#id-1.11.6.24.5"}, {"db_id": "b4045e089f599f3829cddf06a819b434", "kind": "equivalent", "version": "10.8", "label": "10.8", "title": "修复 GIN 索引 WAL 记录的不兼容问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c2cdb1404537cb0788718f43ed5ccc30211424d99e57630b49b5b5931540d269"}, "url": "/docs/compare/?release=10.8#10.8-5e3b663f903c9160", "source_url": "/docs/release/10.8/#id-1.11.6.20.5"}, {"db_id": "bd4626c573fc81d2806704b26461c907", "kind": "equivalent", "version": "9.6.13", "label": "9.6.13", "title": "修复 GIN 索引 WAL 记录的不兼容", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c2cdb1404537cb0788718f43ed5ccc30211424d99e57630b49b5b5931540d269"}, "url": "/docs/compare/?release=9.6.13#9.6.13-f078328560ba4d63", "source_url": "/docs/release/9.6.13/#id-1.11.6.16.5"}, {"db_id": "6ade0705a01b6c115e7a5b05799e1e8a", "kind": "equivalent", "version": "9.4.22", "label": "9.4.22", "title": "修复 GIN 索引 WAL 记录的不兼容", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c2cdb1404537cb0788718f43ed5ccc30211424d99e57630b49b5b5931540d269"}, "url": "/docs/compare/?release=9.4.22#9.4.22-f078328560ba4d63", "source_url": "/docs/release/9.4.22/#id-1.11.6.9.6"}]}, {"id": "9.5.17-29e0a55b05357c67", "cves": [], "html": "<p>在适当的情况下容忍 <code>fsync</code> 和 <code>sync_file_range</code> 调用的 <code>EINVAL</code> 和 <code>ENOSYS</code> 错误结果（Thomas Munro、James Sewell）</p>\n<p>此前对文件同步失败就 panic 的更改对于某些失败可预见且基本上意味着<span>“<span>操作不受支持</span>”</span>的情况显得过于偏执。</p>", "text": "在适当的情况下容忍 fsync 和 sync_file_range 调用的 EINVAL 和 ENOSYS 错误结果（Thomas Munro、James Sewell） 此前对文件同步失败就 panic 的更改对于某些失败可预见且基本上意味着“操作不受支持”的情况显得过于偏执。", "title": "在适当的情况下容忍 fsync 和 sync_file_range 调用的 EINVAL 和 ENOSYS 错误结果", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.17/#id-1.11.6.13.5", "source_hash": "446b5d4a4807141a9a8905234f5b5173022e035d82d641b31ecdb29f66b67cf6", "section_path": ["变更"], "commit_groups": [], "identity_text": "Tolerate EINVAL and ENOSYS error results, where appropriate, for fsync and sync_file_range calls (Thomas Munro, James Sewell) The previous change to panic on file synchronization failures turns out to have been excessively paranoid for certain cases where a failure is predictable and essentially means operation not supported.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.17/changes/010", "db_id": "5f7b4be0047845cd0dca4e2d076df426", "patch_ids": [], "statement_hash": "15019ec8507d65e8b4c5f4988b1a8f4b7c460d62b13c984eeb4cb52f0d7e5024", "relations": [{"rule": 2, "type": "equivalent", "target": "4675539e238eceda7f6eac2b399194f8", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "15019ec8507d65e8b4c5f4988b1a8f4b7c460d62b13c984eeb4cb52f0d7e5024"}}, {"rule": 2, "type": "equivalent", "target": "60a3c6f60382c295c24869812f5f21f0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "15019ec8507d65e8b4c5f4988b1a8f4b7c460d62b13c984eeb4cb52f0d7e5024"}}, {"rule": 2, "type": "equivalent", "target": "829e28a01e09bf073befb02bbb654052", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "15019ec8507d65e8b4c5f4988b1a8f4b7c460d62b13c984eeb4cb52f0d7e5024"}}, {"rule": 2, "type": "equivalent", "target": "f449147b771ac77b4c5587d05127b477", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "15019ec8507d65e8b4c5f4988b1a8f4b7c460d62b13c984eeb4cb52f0d7e5024"}}], "version": "9.5.17", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "f449147b771ac77b4c5587d05127b477", "kind": "equivalent", "version": "11.3", "label": "11.3", "title": "在适当情况下，容忍 fsync 和 sync_file_range 调用返回 EINVAL 和 ENOSYS 错误", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "15019ec8507d65e8b4c5f4988b1a8f4b7c460d62b13c984eeb4cb52f0d7e5024"}, "url": "/docs/compare/?release=11.3#11.3-9033975dde4c2264", "source_url": "/docs/release/11.3/#id-1.11.6.24.5"}, {"db_id": "4675539e238eceda7f6eac2b399194f8", "kind": "equivalent", "version": "10.8", "label": "10.8", "title": "在适当情况下，容忍 fsync 和 sync_file_range 调用返回 EINVAL 和 ENOSYS 错误", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "15019ec8507d65e8b4c5f4988b1a8f4b7c460d62b13c984eeb4cb52f0d7e5024"}, "url": "/docs/compare/?release=10.8#10.8-9033975dde4c2264", "source_url": "/docs/release/10.8/#id-1.11.6.20.5"}, {"db_id": "829e28a01e09bf073befb02bbb654052", "kind": "equivalent", "version": "9.6.13", "label": "9.6.13", "title": "在适当的情况下容忍 fsync 和 sync_file_range 调用的 EINVAL 和 ENOSYS 错误结果", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "15019ec8507d65e8b4c5f4988b1a8f4b7c460d62b13c984eeb4cb52f0d7e5024"}, "url": "/docs/compare/?release=9.6.13#9.6.13-29e0a55b05357c67", "source_url": "/docs/release/9.6.13/#id-1.11.6.16.5"}, {"db_id": "60a3c6f60382c295c24869812f5f21f0", "kind": "equivalent", "version": "9.4.22", "label": "9.4.22", "title": "在适当的情况下容忍 fsync 和 sync_file_range 调用的 EINVAL 和 ENOSYS 错误结果", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "15019ec8507d65e8b4c5f4988b1a8f4b7c460d62b13c984eeb4cb52f0d7e5024"}, "url": "/docs/compare/?release=9.4.22#9.4.22-29e0a55b05357c67", "source_url": "/docs/release/9.4.22/#id-1.11.6.9.6"}]}, {"id": "9.5.17-208a299c4634aa04", "cves": [], "html": "<p>修复 <code>FULL</code> 外连接中通向外部横向引用导致的 <span>“<span>failed to build any <em><code>N</code></em>-way joins</span>”</span> 规划器失败（Tom Lane）</p>", "text": "修复 FULL 外连接中通向外部横向引用导致的 “failed to build any N-way joins” 规划器失败（Tom Lane）", "title": "修复 FULL 外连接中通向外部横向引用导致的 “failed to build any N-way joins” 规划器失败", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.17/#id-1.11.6.13.5", "source_hash": "4666c11c4c844c640adfe6b0d4e06cf76ba79803f118b3522219496901ae54c3", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix failed to build any N-way joins planner failures with lateral references leading out of FULL outer joins (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.17/changes/011", "db_id": "0cb6b648d9303b8cf23472cad87f142c", "patch_ids": [], "statement_hash": "f2324a62e170ec26ea193fab5976a1d83ba7b4f8f17fa86e2c806cc06062430b", "relations": [{"rule": 2, "type": "equivalent", "target": "1a2c43e83a2ae578bc39dab49a27b002", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f2324a62e170ec26ea193fab5976a1d83ba7b4f8f17fa86e2c806cc06062430b"}}, {"rule": 2, "type": "equivalent", "target": "8192e4ce0a3123f59698b983babe3d1f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f2324a62e170ec26ea193fab5976a1d83ba7b4f8f17fa86e2c806cc06062430b"}}, {"rule": 2, "type": "equivalent", "target": "dd12ef759ba5ee4b6f1a7945c470ca05", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f2324a62e170ec26ea193fab5976a1d83ba7b4f8f17fa86e2c806cc06062430b"}}, {"rule": 2, "type": "equivalent", "target": "eecfb9f41a9c8fbf59fcc48f93a6f07b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f2324a62e170ec26ea193fab5976a1d83ba7b4f8f17fa86e2c806cc06062430b"}}], "version": "9.5.17", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "eecfb9f41a9c8fbf59fcc48f93a6f07b", "kind": "equivalent", "version": "11.3", "label": "11.3", "title": "修复从 FULL 外连接向外引用的横向引用导致的 “failed to build any N-way joins” 规划器失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f2324a62e170ec26ea193fab5976a1d83ba7b4f8f17fa86e2c806cc06062430b"}, "url": "/docs/compare/?release=11.3#11.3-85bd286d93302cad", "source_url": "/docs/release/11.3/#id-1.11.6.24.5"}, {"db_id": "1a2c43e83a2ae578bc39dab49a27b002", "kind": "equivalent", "version": "10.8", "label": "10.8", "title": "修复从 FULL 外连接向外引用的横向引用导致的 “failed to build any N-way joins” 规划器失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f2324a62e170ec26ea193fab5976a1d83ba7b4f8f17fa86e2c806cc06062430b"}, "url": "/docs/compare/?release=10.8#10.8-85bd286d93302cad", "source_url": "/docs/release/10.8/#id-1.11.6.20.5"}, {"db_id": "8192e4ce0a3123f59698b983babe3d1f", "kind": "equivalent", "version": "9.6.13", "label": "9.6.13", "title": "修复 FULL 外连接中通向外部横向引用导致的 “failed to build any N-way joins” 规划器失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f2324a62e170ec26ea193fab5976a1d83ba7b4f8f17fa86e2c806cc06062430b"}, "url": "/docs/compare/?release=9.6.13#9.6.13-208a299c4634aa04", "source_url": "/docs/release/9.6.13/#id-1.11.6.16.5"}, {"db_id": "dd12ef759ba5ee4b6f1a7945c470ca05", "kind": "equivalent", "version": "9.4.22", "label": "9.4.22", "title": "修复 FULL 外连接中通向外部横向引用导致的 “failed to build any N-way joins” 规划器失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f2324a62e170ec26ea193fab5976a1d83ba7b4f8f17fa86e2c806cc06062430b"}, "url": "/docs/compare/?release=9.4.22#9.4.22-208a299c4634aa04", "source_url": "/docs/release/9.4.22/#id-1.11.6.9.6"}]}, {"id": "9.5.17-f0907dba055e192c", "cves": [], "html": "<p>在执行关于让泄漏型操作符看到 <code>pg_statistic</code> 数据的规则时，检查正确用户的权限（Dean Rasheed）</p>\n<p>当底层表通过视图被访问时，在决定是否可以把泄漏型操作符应用于该表的统计数据时，考虑视图所有者的权限而不是发起查询的用户的权限。这使规划器关于哪些数据可见的规则与执行器的规则一致，避免了不必要的低劣计划。</p>", "text": "在执行关于让泄漏型操作符看到 pg_statistic 数据的规则时，检查正确用户的权限（Dean Rasheed） 当底层表通过视图被访问时，在决定是否可以把泄漏型操作符应用于该表的统计数据时，考虑视图所有者的权限而不是发起查询的用户的权限。这使规划器关于哪些数据可见的规则与执行器的规则一致，避免了不必要的低劣计划。", "title": "在执行关于让泄漏型操作符看到 pg_statistic 数据的规则时，检查正确用户的权限", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.17/#id-1.11.6.13.5", "source_hash": "f6fed8f1c7c3167e94357331d31cd2b2db1b899f826c973099a34b94839647cd", "section_path": ["变更"], "commit_groups": [], "identity_text": "Check the appropriate user's permissions when enforcing rules about letting a leaky operator see pg_statistic data (Dean Rasheed) When an underlying table is being accessed via a view, consider the privileges of the view owner while deciding whether leaky operators may be applied to the table's statistics data, rather than the privileges of the user making the query. This makes the planner's rules about what data is visible match up with the executor's, avoiding unnecessarily-poor plans.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.17/changes/012", "db_id": "c21225fa999e76d5dba772549c6fdd9d", "patch_ids": [], "statement_hash": "4ad8181965b1dd7fa6dc7fc11507351f2845cf0cd9d2626ecdd08c9b51d7c297", "relations": [{"rule": 2, "type": "equivalent", "target": "2ac62b291959e2b42bd5d570b4525b29", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4ad8181965b1dd7fa6dc7fc11507351f2845cf0cd9d2626ecdd08c9b51d7c297"}}, {"rule": 2, "type": "equivalent", "target": "82a11df8b6eb395c717e913682c85746", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4ad8181965b1dd7fa6dc7fc11507351f2845cf0cd9d2626ecdd08c9b51d7c297"}}, {"rule": 2, "type": "equivalent", "target": "8ae64947930d744dc7a28f2f3bc0f784", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4ad8181965b1dd7fa6dc7fc11507351f2845cf0cd9d2626ecdd08c9b51d7c297"}}, {"rule": 2, "type": "equivalent", "target": "bb0e3dc3b27ee2c7ae8efe94eddf109a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4ad8181965b1dd7fa6dc7fc11507351f2845cf0cd9d2626ecdd08c9b51d7c297"}}], "version": "9.5.17", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "82a11df8b6eb395c717e913682c85746", "kind": "equivalent", "version": "11.3", "label": "11.3", "title": "执行有关是否允许可能泄漏信息的操作符访问 pg_statistic 数据的规则时，检查正确用户的权限", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4ad8181965b1dd7fa6dc7fc11507351f2845cf0cd9d2626ecdd08c9b51d7c297"}, "url": "/docs/compare/?release=11.3#11.3-45a520da4a2291fd", "source_url": "/docs/release/11.3/#id-1.11.6.24.5"}, {"db_id": "2ac62b291959e2b42bd5d570b4525b29", "kind": "equivalent", "version": "10.8", "label": "10.8", "title": "执行有关是否允许可能泄漏信息的操作符访问 pg_statistic 数据的规则时，检查正确用户的权限", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4ad8181965b1dd7fa6dc7fc11507351f2845cf0cd9d2626ecdd08c9b51d7c297"}, "url": "/docs/compare/?release=10.8#10.8-45a520da4a2291fd", "source_url": "/docs/release/10.8/#id-1.11.6.20.5"}, {"db_id": "bb0e3dc3b27ee2c7ae8efe94eddf109a", "kind": "equivalent", "version": "9.6.13", "label": "9.6.13", "title": "在执行关于让泄漏型操作符看到 pg_statistic 数据的规则时，检查正确用户的权限", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4ad8181965b1dd7fa6dc7fc11507351f2845cf0cd9d2626ecdd08c9b51d7c297"}, "url": "/docs/compare/?release=9.6.13#9.6.13-f0907dba055e192c", "source_url": "/docs/release/9.6.13/#id-1.11.6.16.5"}, {"db_id": "8ae64947930d744dc7a28f2f3bc0f784", "kind": "equivalent", "version": "9.4.22", "label": "9.4.22", "title": "在执行关于让泄漏型操作符看到 pg_statistic 数据的规则时，检查正确用户的权限", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4ad8181965b1dd7fa6dc7fc11507351f2845cf0cd9d2626ecdd08c9b51d7c297"}, "url": "/docs/compare/?release=9.4.22#9.4.22-f0907dba055e192c", "source_url": "/docs/release/9.4.22/#id-1.11.6.9.6"}]}, {"id": "9.5.17-665d513f526998a0", "cves": [], "html": "<p>避免回滚创建了许多表的事务时的 O(N^2) 性能问题（Tomas Vondra）</p>", "text": "避免回滚创建了许多表的事务时的 O(N^2) 性能问题（Tomas Vondra）", "title": "避免回滚创建了许多表的事务时的 O(N^2) 性能问题", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.17/#id-1.11.6.13.5", "source_hash": "1e2022bcc56c5510ba1ab02a7e14269eaa3971e6f926200b3e15efa1160c2963", "section_path": ["变更"], "commit_groups": [], "identity_text": "Avoid O(N^2) performance issue when rolling back a transaction that created many tables (Tomas Vondra)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.17/changes/013", "db_id": "588eab874ea30b97c5da35700ce3cf02", "patch_ids": [], "statement_hash": "dd774afe58862ed690f1155b09fb61564db6fbdc63db2c267410f9d14e1abc57", "relations": [{"rule": 2, "type": "equivalent", "target": "6c30ef376fcdedb817a2c92d79c67584", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dd774afe58862ed690f1155b09fb61564db6fbdc63db2c267410f9d14e1abc57"}}, {"rule": 2, "type": "equivalent", "target": "af1c93470a8abc26cc75d84110c7f0e4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dd774afe58862ed690f1155b09fb61564db6fbdc63db2c267410f9d14e1abc57"}}, {"rule": 2, "type": "equivalent", "target": "b52433722fe51b4a45700e2bc72412e5", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dd774afe58862ed690f1155b09fb61564db6fbdc63db2c267410f9d14e1abc57"}}, {"rule": 2, "type": "equivalent", "target": "f8304c42793de38c12b35e00ae63b588", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dd774afe58862ed690f1155b09fb61564db6fbdc63db2c267410f9d14e1abc57"}}], "version": "9.5.17", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "b52433722fe51b4a45700e2bc72412e5", "kind": "equivalent", "version": "11.3", "label": "11.3", "title": "避免回滚创建了大量表的事务时发生 O(N^2) 性能问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dd774afe58862ed690f1155b09fb61564db6fbdc63db2c267410f9d14e1abc57"}, "url": "/docs/compare/?release=11.3#11.3-5bdcb5c157afa8cc", "source_url": "/docs/release/11.3/#id-1.11.6.24.5"}, {"db_id": "6c30ef376fcdedb817a2c92d79c67584", "kind": "equivalent", "version": "10.8", "label": "10.8", "title": "避免回滚创建了大量表的事务时发生 O(N^2) 性能问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dd774afe58862ed690f1155b09fb61564db6fbdc63db2c267410f9d14e1abc57"}, "url": "/docs/compare/?release=10.8#10.8-5bdcb5c157afa8cc", "source_url": "/docs/release/10.8/#id-1.11.6.20.5"}, {"db_id": "af1c93470a8abc26cc75d84110c7f0e4", "kind": "equivalent", "version": "9.6.13", "label": "9.6.13", "title": "避免回滚创建了许多表的事务时的 O(N^2) 性能问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dd774afe58862ed690f1155b09fb61564db6fbdc63db2c267410f9d14e1abc57"}, "url": "/docs/compare/?release=9.6.13#9.6.13-665d513f526998a0", "source_url": "/docs/release/9.6.13/#id-1.11.6.16.5"}, {"db_id": "f8304c42793de38c12b35e00ae63b588", "kind": "equivalent", "version": "9.4.22", "label": "9.4.22", "title": "避免回滚创建了许多表的事务时的 O(N^2) 性能问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dd774afe58862ed690f1155b09fb61564db6fbdc63db2c267410f9d14e1abc57"}, "url": "/docs/compare/?release=9.4.22#9.4.22-665d513f526998a0", "source_url": "/docs/release/9.4.22/#id-1.11.6.9.6"}]}, {"id": "9.5.17-50de979ef5d58f5a", "cves": [], "html": "<p>修复动态共享内存管理中的竞态条件（Thomas Munro）</p>\n<p>这些可能导致 <span>“<span>dsa_area could not attach to segment</span>”</span> 或 <span>“<span>cannot unpin a segment that is not pinned</span>”</span> 错误。</p>", "text": "修复动态共享内存管理中的竞态条件（Thomas Munro） 这些可能导致 “dsa_area could not attach to segment” 或 “cannot unpin a segment that is not pinned” 错误。", "title": "修复动态共享内存管理中的竞态条件", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.17/#id-1.11.6.13.5", "source_hash": "f3f306810f4c02dd9633359edbd95499e74b1409b66d3f157489d87db45ef5ad", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix race conditions in management of dynamic shared memory (Thomas Munro) These could lead to dsa_area could not attach to segment or cannot unpin a segment that is not pinned errors.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.17/changes/014", "db_id": "ac4887b5233fd51fdad71c24ae93601a", "patch_ids": [], "statement_hash": "f0e817a9a5f97725727c724745615d6ffce1f906777c18c78b43d6b725744823", "relations": [{"rule": 2, "type": "equivalent", "target": "630d5a03e93105f0f4b107ca566b54e8", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f0e817a9a5f97725727c724745615d6ffce1f906777c18c78b43d6b725744823"}}, {"rule": 2, "type": "equivalent", "target": "63fefdc37f83475bd41c2529d4f93aaa", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f0e817a9a5f97725727c724745615d6ffce1f906777c18c78b43d6b725744823"}}, {"rule": 2, "type": "equivalent", "target": "b713a0c3524da4af76af18c9b9db2a78", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f0e817a9a5f97725727c724745615d6ffce1f906777c18c78b43d6b725744823"}}, {"rule": 2, "type": "equivalent", "target": "fc58f5aef290612b3a8d9e6d974bd45b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f0e817a9a5f97725727c724745615d6ffce1f906777c18c78b43d6b725744823"}}], "version": "9.5.17", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "fc58f5aef290612b3a8d9e6d974bd45b", "kind": "equivalent", "version": "11.3", "label": "11.3", "title": "修复动态共享内存管理中的竞争条件", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f0e817a9a5f97725727c724745615d6ffce1f906777c18c78b43d6b725744823"}, "url": "/docs/compare/?release=11.3#11.3-54a3837eaceace0a", "source_url": "/docs/release/11.3/#id-1.11.6.24.5"}, {"db_id": "630d5a03e93105f0f4b107ca566b54e8", "kind": "equivalent", "version": "10.8", "label": "10.8", "title": "修复动态共享内存管理中的竞争条件", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f0e817a9a5f97725727c724745615d6ffce1f906777c18c78b43d6b725744823"}, "url": "/docs/compare/?release=10.8#10.8-54a3837eaceace0a", "source_url": "/docs/release/10.8/#id-1.11.6.20.5"}, {"db_id": "b713a0c3524da4af76af18c9b9db2a78", "kind": "equivalent", "version": "9.6.13", "label": "9.6.13", "title": "修复动态共享内存管理中的竞态条件", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f0e817a9a5f97725727c724745615d6ffce1f906777c18c78b43d6b725744823"}, "url": "/docs/compare/?release=9.6.13#9.6.13-50de979ef5d58f5a", "source_url": "/docs/release/9.6.13/#id-1.11.6.16.5"}, {"db_id": "63fefdc37f83475bd41c2529d4f93aaa", "kind": "equivalent", "version": "9.4.22", "label": "9.4.22", "title": "修复动态共享内存管理中的竞态条件", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f0e817a9a5f97725727c724745615d6ffce1f906777c18c78b43d6b725744823"}, "url": "/docs/compare/?release=9.4.22#9.4.22-50de979ef5d58f5a", "source_url": "/docs/release/9.4.22/#id-1.11.6.9.6"}]}, {"id": "9.5.17-9e8c059340aa0a9a", "cves": [], "html": "<p>修复热备 postmaster 收到 smart 关闭请求后可能不关闭的竞态条件（Tom Lane）</p>", "text": "修复热备 postmaster 收到 smart 关闭请求后可能不关闭的竞态条件（Tom Lane）", "title": "修复热备 postmaster 收到 smart 关闭请求后可能不关闭的竞态条件", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.17/#id-1.11.6.13.5", "source_hash": "266df8dd5e51edfa91f70b86e04c6e0a75e8b3185607ae7712303fe96742ec73", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix race condition in which a hot-standby postmaster could fail to shut down after receiving a smart-shutdown request (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.17/changes/015", "db_id": "409d1b88be429d1cb8a579ce0c84375a", "patch_ids": [], "statement_hash": "0f587038a9e0336073ee0b2d12bbc0afea2a94787d8a65c4080e68f1dfdb88ab", "relations": [{"rule": 2, "type": "equivalent", "target": "4210c401558dc70edeb64e47f7c9e0a4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f587038a9e0336073ee0b2d12bbc0afea2a94787d8a65c4080e68f1dfdb88ab"}}, {"rule": 2, "type": "equivalent", "target": "5906def93ef172dbb220b101673f9184", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f587038a9e0336073ee0b2d12bbc0afea2a94787d8a65c4080e68f1dfdb88ab"}}, {"rule": 2, "type": "equivalent", "target": "7607635df0027eef0b0a3dc43947171d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f587038a9e0336073ee0b2d12bbc0afea2a94787d8a65c4080e68f1dfdb88ab"}}, {"rule": 2, "type": "equivalent", "target": "e76ac9b8a7fab050e52964f6710ffe84", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f587038a9e0336073ee0b2d12bbc0afea2a94787d8a65c4080e68f1dfdb88ab"}}], "version": "9.5.17", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "7607635df0027eef0b0a3dc43947171d", "kind": "equivalent", "version": "11.3", "label": "11.3", "title": "修复热备 postmaster 收到 smart 关闭请求后可能无法关闭的竞争条件", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f587038a9e0336073ee0b2d12bbc0afea2a94787d8a65c4080e68f1dfdb88ab"}, "url": "/docs/compare/?release=11.3#11.3-78fdfc022e6a9cf8", "source_url": "/docs/release/11.3/#id-1.11.6.24.5"}, {"db_id": "4210c401558dc70edeb64e47f7c9e0a4", "kind": "equivalent", "version": "10.8", "label": "10.8", "title": "修复热备 postmaster 收到 smart 关闭请求后可能无法关闭的竞争条件", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f587038a9e0336073ee0b2d12bbc0afea2a94787d8a65c4080e68f1dfdb88ab"}, "url": "/docs/compare/?release=10.8#10.8-78fdfc022e6a9cf8", "source_url": "/docs/release/10.8/#id-1.11.6.20.5"}, {"db_id": "5906def93ef172dbb220b101673f9184", "kind": "equivalent", "version": "9.6.13", "label": "9.6.13", "title": "修复热备 postmaster 收到 smart 关闭请求后可能不关闭的竞态条件", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f587038a9e0336073ee0b2d12bbc0afea2a94787d8a65c4080e68f1dfdb88ab"}, "url": "/docs/compare/?release=9.6.13#9.6.13-9e8c059340aa0a9a", "source_url": "/docs/release/9.6.13/#id-1.11.6.16.5"}, {"db_id": "e76ac9b8a7fab050e52964f6710ffe84", "kind": "equivalent", "version": "9.4.22", "label": "9.4.22", "title": "修复热备 postmaster 收到 smart 关闭请求后可能不关闭的竞态条件", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f587038a9e0336073ee0b2d12bbc0afea2a94787d8a65c4080e68f1dfdb88ab"}, "url": "/docs/compare/?release=9.4.22#9.4.22-9e8c059340aa0a9a", "source_url": "/docs/release/9.4.22/#id-1.11.6.9.6"}]}, {"id": "9.5.17-b4c7fcd8e2c01d2b", "cves": [], "html": "<p>修复给 <code>pg_identify_object_as_address()</code> 无效输入时可能的崩溃（Álvaro Herrera）</p>", "text": "修复给 pg_identify_object_as_address() 无效输入时可能的崩溃（Álvaro Herrera）", "title": "修复给 pg_identify_object_as_address() 无效输入时可能的崩溃", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.17/#id-1.11.6.13.5", "source_hash": "c009374ae54261953c6db0e914fb9022f16511554b6640c99779aba83decb6b7", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix possible crash when pg_identify_object_as_address() is given invalid input (Álvaro Herrera)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.17/changes/016", "db_id": "96ab96aef752a4b9b7acf02295bbd682", "patch_ids": [], "statement_hash": "39fbb4b1e8c4f7e003cdb55379865351448beb4cbfdead4e37d5f47806756adf", "relations": [{"rule": 2, "type": "equivalent", "target": "59848af8f80ec3fd0cee55ef653e5bd9", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "39fbb4b1e8c4f7e003cdb55379865351448beb4cbfdead4e37d5f47806756adf"}}, {"rule": 2, "type": "equivalent", "target": "72161c17cb9ec7a261eceabc9771f1a6", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "39fbb4b1e8c4f7e003cdb55379865351448beb4cbfdead4e37d5f47806756adf"}}, {"rule": 2, "type": "equivalent", "target": "9c832569ec2852a998b291ca6dbb4cf8", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "39fbb4b1e8c4f7e003cdb55379865351448beb4cbfdead4e37d5f47806756adf"}}], "version": "9.5.17", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "59848af8f80ec3fd0cee55ef653e5bd9", "kind": "equivalent", "version": "11.3", "label": "11.3", "title": "修复 pg_identify_object_as_address() 收到无效输入时可能发生的崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "39fbb4b1e8c4f7e003cdb55379865351448beb4cbfdead4e37d5f47806756adf"}, "url": "/docs/compare/?release=11.3#11.3-fbf3fd803374216d", "source_url": "/docs/release/11.3/#id-1.11.6.24.5"}, {"db_id": "72161c17cb9ec7a261eceabc9771f1a6", "kind": "equivalent", "version": "10.8", "label": "10.8", "title": "修复 pg_identify_object_as_address() 收到无效输入时可能发生的崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "39fbb4b1e8c4f7e003cdb55379865351448beb4cbfdead4e37d5f47806756adf"}, "url": "/docs/compare/?release=10.8#10.8-fbf3fd803374216d", "source_url": "/docs/release/10.8/#id-1.11.6.20.5"}, {"db_id": "9c832569ec2852a998b291ca6dbb4cf8", "kind": "equivalent", "version": "9.6.13", "label": "9.6.13", "title": "修复给 pg_identify_object_as_address() 无效输入时可能的崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "39fbb4b1e8c4f7e003cdb55379865351448beb4cbfdead4e37d5f47806756adf"}, "url": "/docs/compare/?release=9.6.13#9.6.13-b4c7fcd8e2c01d2b", "source_url": "/docs/release/9.6.13/#id-1.11.6.16.5"}]}, {"id": "9.5.17-40b00fe0c2b0c3b7", "cves": [], "html": "<p>收紧对编码后的 SCRAM-SHA-256 和 MD5 口令的验证（Jonathan Katz）</p>\n<p>开头字符正确的口令字符串可能被误认为是已正确哈希为 SCRAM-SHA-256 或 MD5 格式的口令。这种口令会被接受但之后无法使用。</p>", "text": "收紧对编码后的 SCRAM-SHA-256 和 MD5 口令的验证（Jonathan Katz） 开头字符正确的口令字符串可能被误认为是已正确哈希为 SCRAM-SHA-256 或 MD5 格式的口令。这种口令会被接受但之后无法使用。", "title": "收紧对编码后的 SCRAM-SHA-256 和 MD5 口令的验证", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.17/#id-1.11.6.13.5", "source_hash": "db97b43558759b1f4f0ebf1e25cafdaf105be4eb49210119074a47a0aaa16db9", "section_path": ["变更"], "commit_groups": [], "identity_text": "Tighten validation of encoded SCRAM-SHA-256 and MD5 passwords (Jonathan Katz) A password string that had the right initial characters could be mistaken for one that is correctly hashed into SCRAM-SHA-256 or MD5 format. The password would be accepted but would be unusable later.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.17/changes/017", "db_id": "d5dd143586ce3867905acd5c5351068b", "patch_ids": [], "statement_hash": "0336ab8f5fb97c3129d6f26e6a17dec92a1ece6da00397f07bf9f0b576dcb722", "relations": [{"rule": 2, "type": "equivalent", "target": "065b7d60883bb6a234a85b51fd294973", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0336ab8f5fb97c3129d6f26e6a17dec92a1ece6da00397f07bf9f0b576dcb722"}}, {"rule": 2, "type": "equivalent", "target": "63fa62fd1be046c468accff4643e3276", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0336ab8f5fb97c3129d6f26e6a17dec92a1ece6da00397f07bf9f0b576dcb722"}}, {"rule": 2, "type": "equivalent", "target": "88fc7b91a4bd261e7cdca2cec81c944d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0336ab8f5fb97c3129d6f26e6a17dec92a1ece6da00397f07bf9f0b576dcb722"}}, {"rule": 2, "type": "equivalent", "target": "d0fffaf8c56845733b5b0ae89fb03fd4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0336ab8f5fb97c3129d6f26e6a17dec92a1ece6da00397f07bf9f0b576dcb722"}}], "version": "9.5.17", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "63fa62fd1be046c468accff4643e3276", "kind": "equivalent", "version": "11.3", "label": "11.3", "title": "加强对已编码的 SCRAM-SHA-256 和 MD5 密码的验证", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0336ab8f5fb97c3129d6f26e6a17dec92a1ece6da00397f07bf9f0b576dcb722"}, "url": "/docs/compare/?release=11.3#11.3-954f6844cb0eccce", "source_url": "/docs/release/11.3/#id-1.11.6.24.5"}, {"db_id": "88fc7b91a4bd261e7cdca2cec81c944d", "kind": "equivalent", "version": "10.8", "label": "10.8", "title": "加强对已编码的 SCRAM-SHA-256 和 MD5 密码的验证", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0336ab8f5fb97c3129d6f26e6a17dec92a1ece6da00397f07bf9f0b576dcb722"}, "url": "/docs/compare/?release=10.8#10.8-954f6844cb0eccce", "source_url": "/docs/release/10.8/#id-1.11.6.20.5"}, {"db_id": "065b7d60883bb6a234a85b51fd294973", "kind": "equivalent", "version": "9.6.13", "label": "9.6.13", "title": "收紧对编码后的 SCRAM-SHA-256 和 MD5 口令的验证", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0336ab8f5fb97c3129d6f26e6a17dec92a1ece6da00397f07bf9f0b576dcb722"}, "url": "/docs/compare/?release=9.6.13#9.6.13-40b00fe0c2b0c3b7", "source_url": "/docs/release/9.6.13/#id-1.11.6.16.5"}, {"db_id": "d0fffaf8c56845733b5b0ae89fb03fd4", "kind": "equivalent", "version": "9.4.22", "label": "9.4.22", "title": "收紧对编码后的 SCRAM-SHA-256 和 MD5 口令的验证", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0336ab8f5fb97c3129d6f26e6a17dec92a1ece6da00397f07bf9f0b576dcb722"}, "url": "/docs/compare/?release=9.4.22#9.4.22-40b00fe0c2b0c3b7", "source_url": "/docs/release/9.4.22/#id-1.11.6.9.6"}]}, {"id": "9.5.17-7daecba97eeaf800", "cves": [], "html": "<p>修复对隐含与数据库编码不同的编码的 <code>lc_time</code> 设置的处理（Juan José Santamaría Flecha、Tom Lane）</p>\n<p>包含非 ASCII 字符的本地化月份或日期名此前在此类区域中导致意外错误或错误输出。</p>", "text": "修复对隐含与数据库编码不同的编码的 lc_time 设置的处理（Juan José Santamaría Flecha、Tom Lane） 包含非 ASCII 字符的本地化月份或日期名此前在此类区域中导致意外错误或错误输出。", "title": "修复对隐含与数据库编码不同的编码的 lc_time 设置的处理", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.17/#id-1.11.6.13.5", "source_hash": "663495130f8a603787ac2d5a09c6d23aafbd215a1b568f48a04d4d56bd2b4856", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix handling of lc_time settings that imply an encoding different from the database's encoding (Juan José Santamaría Flecha, Tom Lane) Localized month or day names that include non-ASCII characters previously caused unexpected errors or wrong output in such locales.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.17/changes/018", "db_id": "7928a410fb9ffc83b0332e3e8235b74a", "patch_ids": [], "statement_hash": "dac2e03503b671109dd1f2fe08367d24646969cabae6dc4cade4a18283d6195c", "relations": [{"rule": 2, "type": "equivalent", "target": "6023434703ae142d685b77bcd27e729c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dac2e03503b671109dd1f2fe08367d24646969cabae6dc4cade4a18283d6195c"}}, {"rule": 2, "type": "equivalent", "target": "88a324d0d1fd64bef65047993db1b1dd", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dac2e03503b671109dd1f2fe08367d24646969cabae6dc4cade4a18283d6195c"}}, {"rule": 2, "type": "equivalent", "target": "aa42c33d3829f46203fdb823259d21f2", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dac2e03503b671109dd1f2fe08367d24646969cabae6dc4cade4a18283d6195c"}}, {"rule": 2, "type": "equivalent", "target": "fd5ae8340036928149041c1a7238147f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dac2e03503b671109dd1f2fe08367d24646969cabae6dc4cade4a18283d6195c"}}], "version": "9.5.17", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "fd5ae8340036928149041c1a7238147f", "kind": "equivalent", "version": "11.3", "label": "11.3", "title": "修复对隐含编码不同于数据库编码的 lc_time 设置的处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dac2e03503b671109dd1f2fe08367d24646969cabae6dc4cade4a18283d6195c"}, "url": "/docs/compare/?release=11.3#11.3-c71a9dbe067f738c", "source_url": "/docs/release/11.3/#id-1.11.6.24.5"}, {"db_id": "6023434703ae142d685b77bcd27e729c", "kind": "equivalent", "version": "10.8", "label": "10.8", "title": "修复对隐含编码不同于数据库编码的 lc_time 设置的处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dac2e03503b671109dd1f2fe08367d24646969cabae6dc4cade4a18283d6195c"}, "url": "/docs/compare/?release=10.8#10.8-c71a9dbe067f738c", "source_url": "/docs/release/10.8/#id-1.11.6.20.5"}, {"db_id": "aa42c33d3829f46203fdb823259d21f2", "kind": "equivalent", "version": "9.6.13", "label": "9.6.13", "title": "修复对隐含与数据库编码不同的编码的 lc_time 设置的处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dac2e03503b671109dd1f2fe08367d24646969cabae6dc4cade4a18283d6195c"}, "url": "/docs/compare/?release=9.6.13#9.6.13-7daecba97eeaf800", "source_url": "/docs/release/9.6.13/#id-1.11.6.16.5"}, {"db_id": "88a324d0d1fd64bef65047993db1b1dd", "kind": "equivalent", "version": "9.4.22", "label": "9.4.22", "title": "修复对隐含与数据库编码不同的编码的 lc_time 设置的处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dac2e03503b671109dd1f2fe08367d24646969cabae6dc4cade4a18283d6195c"}, "url": "/docs/compare/?release=9.4.22#9.4.22-7daecba97eeaf800", "source_url": "/docs/release/9.4.22/#id-1.11.6.9.6"}]}, {"id": "9.5.17-350b4ff9e25a6884", "cves": [], "html": "<p>修复涉及一元减号操作符的不正确 <code>operator_precedence_warning</code> 检查（Rikard Falkeborn）</p>", "text": "修复涉及一元减号操作符的不正确 operator_precedence_warning 检查（Rikard Falkeborn）", "title": "修复涉及一元减号操作符的不正确 operator_precedence_warning 检查", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.17/#id-1.11.6.13.5", "source_hash": "c6c046408f5edba106fddfc8586c3b912c25eb5a519785bd80d81563a0572745", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix incorrect operator_precedence_warning checks involving unary minus operators (Rikard Falkeborn)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.17/changes/019", "db_id": "97ac3fcbca00af0a2809809eed32209e", "patch_ids": [], "statement_hash": "1ddd54091b0f8566e299eebf315b21db398fe458e9c8f3d2f21fed85b43909d3", "relations": [{"rule": 2, "type": "equivalent", "target": "8048f6693e651a4e4b11ab25b96232ce", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1ddd54091b0f8566e299eebf315b21db398fe458e9c8f3d2f21fed85b43909d3"}}, {"rule": 2, "type": "equivalent", "target": "ae82d625aa676e49dc809096cbebfbb3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1ddd54091b0f8566e299eebf315b21db398fe458e9c8f3d2f21fed85b43909d3"}}, {"rule": 2, "type": "equivalent", "target": "ccc1aad313a449b492c12f6265a46a02", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1ddd54091b0f8566e299eebf315b21db398fe458e9c8f3d2f21fed85b43909d3"}}], "version": "9.5.17", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "8048f6693e651a4e4b11ab25b96232ce", "kind": "equivalent", "version": "11.3", "label": "11.3", "title": "修复涉及一元负号操作符时不正确的 operator_precedence_warning 检查", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1ddd54091b0f8566e299eebf315b21db398fe458e9c8f3d2f21fed85b43909d3"}, "url": "/docs/compare/?release=11.3#11.3-e70623a99d6fa6c4", "source_url": "/docs/release/11.3/#id-1.11.6.24.5"}, {"db_id": "ae82d625aa676e49dc809096cbebfbb3", "kind": "equivalent", "version": "10.8", "label": "10.8", "title": "修复涉及一元负号操作符时不正确的 operator_precedence_warning 检查", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1ddd54091b0f8566e299eebf315b21db398fe458e9c8f3d2f21fed85b43909d3"}, "url": "/docs/compare/?release=10.8#10.8-e70623a99d6fa6c4", "source_url": "/docs/release/10.8/#id-1.11.6.20.5"}, {"db_id": "ccc1aad313a449b492c12f6265a46a02", "kind": "equivalent", "version": "9.6.13", "label": "9.6.13", "title": "修复涉及一元减号操作符的不正确 operator_precedence_warning 检查", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1ddd54091b0f8566e299eebf315b21db398fe458e9c8f3d2f21fed85b43909d3"}, "url": "/docs/compare/?release=9.6.13#9.6.13-350b4ff9e25a6884", "source_url": "/docs/release/9.6.13/#id-1.11.6.16.5"}]}, {"id": "9.5.17-115e52ef9674b9d6", "cves": [], "html": "<p>禁止把 <code>NaN</code> 用作浮点服务器参数的值（Tom Lane）</p>", "text": "禁止把 NaN 用作浮点服务器参数的值（Tom Lane）", "title": "禁止把 NaN 用作浮点服务器参数的值", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.17/#id-1.11.6.13.5", "source_hash": "838d4e4dea8e4d50e6f64aac41e7c9385e42e8f93490e8854a1ba43c376fe140", "section_path": ["变更"], "commit_groups": [], "identity_text": "Disallow NaN as a value for floating-point server parameters (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.17/changes/020", "db_id": "202b7c0247bddc4a0cf76a64f21b4b18", "patch_ids": [], "statement_hash": "aa7dd1f41c1543364a7cec8ce5d67330cc2364ea89b8ee2f35140f012a99edd9", "relations": [{"rule": 2, "type": "equivalent", "target": "20ac9b2452da793d7a631f7e776d1b3f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "aa7dd1f41c1543364a7cec8ce5d67330cc2364ea89b8ee2f35140f012a99edd9"}}, {"rule": 2, "type": "equivalent", "target": "9b08e2a0268c251e987ab852d608c84d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "aa7dd1f41c1543364a7cec8ce5d67330cc2364ea89b8ee2f35140f012a99edd9"}}, {"rule": 2, "type": "equivalent", "target": "e0c82d233af86101f65c057934fb8841", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "aa7dd1f41c1543364a7cec8ce5d67330cc2364ea89b8ee2f35140f012a99edd9"}}, {"rule": 2, "type": "equivalent", "target": "e482db374a038b89954b3f179d353be4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "aa7dd1f41c1543364a7cec8ce5d67330cc2364ea89b8ee2f35140f012a99edd9"}}], "version": "9.5.17", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "9b08e2a0268c251e987ab852d608c84d", "kind": "equivalent", "version": "11.3", "label": "11.3", "title": "禁止将 NaN 用作浮点服务器参数的值", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "aa7dd1f41c1543364a7cec8ce5d67330cc2364ea89b8ee2f35140f012a99edd9"}, "url": "/docs/compare/?release=11.3#11.3-ca03bfca2ae91309", "source_url": "/docs/release/11.3/#id-1.11.6.24.5"}, {"db_id": "20ac9b2452da793d7a631f7e776d1b3f", "kind": "equivalent", "version": "10.8", "label": "10.8", "title": "禁止将 NaN 用作浮点服务器参数的值", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "aa7dd1f41c1543364a7cec8ce5d67330cc2364ea89b8ee2f35140f012a99edd9"}, "url": "/docs/compare/?release=10.8#10.8-ca03bfca2ae91309", "source_url": "/docs/release/10.8/#id-1.11.6.20.5"}, {"db_id": "e482db374a038b89954b3f179d353be4", "kind": "equivalent", "version": "9.6.13", "label": "9.6.13", "title": "禁止把 NaN 用作浮点服务器参数的值", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "aa7dd1f41c1543364a7cec8ce5d67330cc2364ea89b8ee2f35140f012a99edd9"}, "url": "/docs/compare/?release=9.6.13#9.6.13-115e52ef9674b9d6", "source_url": "/docs/release/9.6.13/#id-1.11.6.16.5"}, {"db_id": "e0c82d233af86101f65c057934fb8841", "kind": "equivalent", "version": "9.4.22", "label": "9.4.22", "title": "禁止把 NaN 用作浮点服务器参数的值", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "aa7dd1f41c1543364a7cec8ce5d67330cc2364ea89b8ee2f35140f012a99edd9"}, "url": "/docs/compare/?release=9.4.22#9.4.22-115e52ef9674b9d6", "source_url": "/docs/release/9.4.22/#id-1.11.6.9.6"}]}, {"id": "9.5.17-656b5b0aaf6ffe67", "cves": [], "html": "<p>重排 <code>REINDEX</code> 处理，避免对 <code>pg_class</code> 的单个索引重建时断言失败（Andres Freund、Tom Lane）</p>", "text": "重排 REINDEX 处理，避免对 pg_class 的单个索引重建时断言失败（Andres Freund、Tom Lane）", "title": "重排 REINDEX 处理，避免对 pg_class 的单个索引重建时断言失败", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.17/#id-1.11.6.13.5", "source_hash": "4751f821662aab51364d887433e28597ef8c431c07bf5cf95102409490717e84", "section_path": ["变更"], "commit_groups": [], "identity_text": "Rearrange REINDEX processing to avoid assertion failures when reindexing individual indexes of pg_class (Andres Freund, Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.17/changes/021", "db_id": "1cdb74cf37e275a6ba7b8924b8281df4", "patch_ids": [], "statement_hash": "acc873989166de02ef21c8fe9f34ee5a8cbf310d5f2df4b945da6d0cd7e5e8ec", "relations": [{"rule": 2, "type": "equivalent", "target": "0d9c14e676a080463b68aebdc8ecc69e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "acc873989166de02ef21c8fe9f34ee5a8cbf310d5f2df4b945da6d0cd7e5e8ec"}}, {"rule": 2, "type": "equivalent", "target": "63abb91462054225b6ba31e96db2124a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "acc873989166de02ef21c8fe9f34ee5a8cbf310d5f2df4b945da6d0cd7e5e8ec"}}, {"rule": 2, "type": "equivalent", "target": "7ec1d1430de8b555780666dcfc812d13", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "acc873989166de02ef21c8fe9f34ee5a8cbf310d5f2df4b945da6d0cd7e5e8ec"}}, {"rule": 2, "type": "equivalent", "target": "bc73908224b943c5f141199c1d2306a1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "acc873989166de02ef21c8fe9f34ee5a8cbf310d5f2df4b945da6d0cd7e5e8ec"}}], "version": "9.5.17", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "0d9c14e676a080463b68aebdc8ecc69e", "kind": "equivalent", "version": "11.3", "label": "11.3", "title": "重新安排 REINDEX 的处理，以避免重建 pg_class 的单个索引时发生断言失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "acc873989166de02ef21c8fe9f34ee5a8cbf310d5f2df4b945da6d0cd7e5e8ec"}, "url": "/docs/compare/?release=11.3#11.3-d08a1a8f1cd91ea2", "source_url": "/docs/release/11.3/#id-1.11.6.24.5"}, {"db_id": "bc73908224b943c5f141199c1d2306a1", "kind": "equivalent", "version": "10.8", "label": "10.8", "title": "重新安排 REINDEX 的处理，以避免重建 pg_class 的单个索引时发生断言失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "acc873989166de02ef21c8fe9f34ee5a8cbf310d5f2df4b945da6d0cd7e5e8ec"}, "url": "/docs/compare/?release=10.8#10.8-d08a1a8f1cd91ea2", "source_url": "/docs/release/10.8/#id-1.11.6.20.5"}, {"db_id": "63abb91462054225b6ba31e96db2124a", "kind": "equivalent", "version": "9.6.13", "label": "9.6.13", "title": "重排 REINDEX 处理，避免对 pg_class 的单个索引重建时断言失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "acc873989166de02ef21c8fe9f34ee5a8cbf310d5f2df4b945da6d0cd7e5e8ec"}, "url": "/docs/compare/?release=9.6.13#9.6.13-656b5b0aaf6ffe67", "source_url": "/docs/release/9.6.13/#id-1.11.6.16.5"}, {"db_id": "7ec1d1430de8b555780666dcfc812d13", "kind": "equivalent", "version": "9.4.22", "label": "9.4.22", "title": "重排 REINDEX 处理，避免对 pg_class 的单个索引重建时断言失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "acc873989166de02ef21c8fe9f34ee5a8cbf310d5f2df4b945da6d0cd7e5e8ec"}, "url": "/docs/compare/?release=9.4.22#9.4.22-656b5b0aaf6ffe67", "source_url": "/docs/release/9.4.22/#id-1.11.6.9.6"}]}, {"id": "9.5.17-8f8600b6db21c843", "cves": [], "html": "<p>修复参数化虚拟路径的规划器断言失败（Tom Lane）</p>", "text": "修复参数化虚拟路径的规划器断言失败（Tom Lane）", "title": "修复参数化虚拟路径的规划器断言失败", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.17/#id-1.11.6.13.5", "source_hash": "54fbca45bd0e063d37c2065a9cdfc94da34c2e8f883733fb53fb0698082c217e", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix planner assertion failure for parameterized dummy paths (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.17/changes/022", "db_id": "16ba931a3c5ed6caf32c69ad5aeaf913", "patch_ids": [], "statement_hash": "7d3942f88bca7cb4a0f09cf504996ab508f9abaa5a632578c2a4ec56c0bebed7", "relations": [{"rule": 2, "type": "equivalent", "target": "206722ce8af08e97ab934bf12d20a9ab", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7d3942f88bca7cb4a0f09cf504996ab508f9abaa5a632578c2a4ec56c0bebed7"}}, {"rule": 2, "type": "equivalent", "target": "763b084ad370bf768031dc9ee886a0ab", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7d3942f88bca7cb4a0f09cf504996ab508f9abaa5a632578c2a4ec56c0bebed7"}}, {"rule": 2, "type": "equivalent", "target": "95220568334a504ff69e73ababe97e46", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7d3942f88bca7cb4a0f09cf504996ab508f9abaa5a632578c2a4ec56c0bebed7"}}, {"rule": 2, "type": "equivalent", "target": "9fa7bc07d630d94e6fc53509af4a3fd4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7d3942f88bca7cb4a0f09cf504996ab508f9abaa5a632578c2a4ec56c0bebed7"}}], "version": "9.5.17", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "763b084ad370bf768031dc9ee886a0ab", "kind": "equivalent", "version": "11.3", "label": "11.3", "title": "修复参数化虚拟路径引发的规划器断言失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7d3942f88bca7cb4a0f09cf504996ab508f9abaa5a632578c2a4ec56c0bebed7"}, "url": "/docs/compare/?release=11.3#11.3-f174c25fa2ad7ddd", "source_url": "/docs/release/11.3/#id-1.11.6.24.5"}, {"db_id": "9fa7bc07d630d94e6fc53509af4a3fd4", "kind": "equivalent", "version": "10.8", "label": "10.8", "title": "修复参数化虚拟路径引发的规划器断言失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7d3942f88bca7cb4a0f09cf504996ab508f9abaa5a632578c2a4ec56c0bebed7"}, "url": "/docs/compare/?release=10.8#10.8-f174c25fa2ad7ddd", "source_url": "/docs/release/10.8/#id-1.11.6.20.5"}, {"db_id": "206722ce8af08e97ab934bf12d20a9ab", "kind": "equivalent", "version": "9.6.13", "label": "9.6.13", "title": "修复参数化虚拟路径的规划器断言失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7d3942f88bca7cb4a0f09cf504996ab508f9abaa5a632578c2a4ec56c0bebed7"}, "url": "/docs/compare/?release=9.6.13#9.6.13-8f8600b6db21c843", "source_url": "/docs/release/9.6.13/#id-1.11.6.16.5"}, {"db_id": "95220568334a504ff69e73ababe97e46", "kind": "equivalent", "version": "9.4.22", "label": "9.4.22", "title": "修复参数化虚拟路径的规划器断言失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7d3942f88bca7cb4a0f09cf504996ab508f9abaa5a632578c2a4ec56c0bebed7"}, "url": "/docs/compare/?release=9.4.22#9.4.22-8f8600b6db21c843", "source_url": "/docs/release/9.4.22/#id-1.11.6.9.6"}]}, {"id": "9.5.17-fdb886250bb1e0fd", "cves": [], "html": "<p>在 <code>SnapBuildInitialSnapshot()</code> 的结果中插入正确的测试函数（Antonin Houska）</p>\n<p>没有核心代码关心这一点，但一些扩展关心。</p>", "text": "在 SnapBuildInitialSnapshot() 的结果中插入正确的测试函数（Antonin Houska） 没有核心代码关心这一点，但一些扩展关心。", "title": "在 SnapBuildInitialSnapshot() 的结果中插入正确的测试函数", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.17/#id-1.11.6.13.5", "source_hash": "8e602d2a5808e584f84c55f2cfb9c44eb3284fadf43fb72d10004316a67d9b9b", "section_path": ["变更"], "commit_groups": [], "identity_text": "Insert correct test function in the result of SnapBuildInitialSnapshot() (Antonin Houska) No core code cares about this, but some extensions do.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.17/changes/023", "db_id": "bea9ea54569d0af1252af9a7ccc61ba8", "patch_ids": [], "statement_hash": "49a0b41fd8592ab28d81663debc0702d3c1646a27f2a1e2b71eda7bbce54e5a9", "relations": [{"rule": 2, "type": "equivalent", "target": "86bbe9772f7bbfb35b8e92312c6fdd45", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "49a0b41fd8592ab28d81663debc0702d3c1646a27f2a1e2b71eda7bbce54e5a9"}}, {"rule": 2, "type": "equivalent", "target": "8bf21069b627d06b340cb848bd0adf31", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "49a0b41fd8592ab28d81663debc0702d3c1646a27f2a1e2b71eda7bbce54e5a9"}}, {"rule": 2, "type": "equivalent", "target": "987b55c6c7ecf552eb54f83b28f3b208", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "49a0b41fd8592ab28d81663debc0702d3c1646a27f2a1e2b71eda7bbce54e5a9"}}, {"rule": 2, "type": "equivalent", "target": "a785311de6afae77f613632178cfabc3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "49a0b41fd8592ab28d81663debc0702d3c1646a27f2a1e2b71eda7bbce54e5a9"}}], "version": "9.5.17", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "987b55c6c7ecf552eb54f83b28f3b208", "kind": "equivalent", "version": "11.3", "label": "11.3", "title": "在 SnapBuildInitialSnapshot() 的结果中设置正确的测试函数", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "49a0b41fd8592ab28d81663debc0702d3c1646a27f2a1e2b71eda7bbce54e5a9"}, "url": "/docs/compare/?release=11.3#11.3-d3e4951ffe3d00a9", "source_url": "/docs/release/11.3/#id-1.11.6.24.5"}, {"db_id": "8bf21069b627d06b340cb848bd0adf31", "kind": "equivalent", "version": "10.8", "label": "10.8", "title": "在 SnapBuildInitialSnapshot() 的结果中设置正确的测试函数", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "49a0b41fd8592ab28d81663debc0702d3c1646a27f2a1e2b71eda7bbce54e5a9"}, "url": "/docs/compare/?release=10.8#10.8-d3e4951ffe3d00a9", "source_url": "/docs/release/10.8/#id-1.11.6.20.5"}, {"db_id": "a785311de6afae77f613632178cfabc3", "kind": "equivalent", "version": "9.6.13", "label": "9.6.13", "title": "在 SnapBuildInitialSnapshot() 的结果中插入正确的测试函数", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "49a0b41fd8592ab28d81663debc0702d3c1646a27f2a1e2b71eda7bbce54e5a9"}, "url": "/docs/compare/?release=9.6.13#9.6.13-fdb886250bb1e0fd", "source_url": "/docs/release/9.6.13/#id-1.11.6.16.5"}, {"db_id": "86bbe9772f7bbfb35b8e92312c6fdd45", "kind": "equivalent", "version": "9.4.22", "label": "9.4.22", "title": "在 SnapBuildInitialSnapshot() 的结果中插入正确的测试函数", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "49a0b41fd8592ab28d81663debc0702d3c1646a27f2a1e2b71eda7bbce54e5a9"}, "url": "/docs/compare/?release=9.4.22#9.4.22-fdb886250bb1e0fd", "source_url": "/docs/release/9.4.22/#id-1.11.6.9.6"}]}, {"id": "9.5.17-f65ca184b9cb865f", "cves": [], "html": "<p>修复 Windows 上间歇性的 <span>“<span>could not reattach to shared memory</span>”</span> 会话启动失败（Noah Misch）</p>\n<p>这些失败的一个此前未被识别的来源是为进程默认线程池创建线程栈。安排把这种栈分配在不同的内存区域。</p>", "text": "修复 Windows 上间歇性的 “could not reattach to shared memory” 会话启动失败（Noah Misch） 这些失败的一个此前未被识别的来源是为进程默认线程池创建线程栈。安排把这种栈分配在不同的内存区域。", "title": "修复 Windows 上间歇性的 “could not reattach to shared memory” 会话启动失败", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.17/#id-1.11.6.13.5", "source_hash": "b95b4f82cbd470893ba5c84324cf1efd0ef66b8add4c565d4ba765754063e209", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix intermittent could not reattach to shared memory session startup failures on Windows (Noah Misch) A previously unrecognized source of these failures is creation of thread stacks for a process's default thread pool. Arrange for such stacks to be allocated in a different memory region.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.17/changes/024", "db_id": "769f1cd5750d5de9bda6b5b9744bd5e7", "patch_ids": [], "statement_hash": "27daeb23cb9f84e9a9b19b7c40cdf81af98f8dd9e3a7c0363da150162f38991a", "relations": [{"rule": 2, "type": "equivalent", "target": "0271baa0447feba739fddee4f248c25c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "27daeb23cb9f84e9a9b19b7c40cdf81af98f8dd9e3a7c0363da150162f38991a"}}, {"rule": 2, "type": "equivalent", "target": "37ca840f8209b068864585b7d699cb6c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "27daeb23cb9f84e9a9b19b7c40cdf81af98f8dd9e3a7c0363da150162f38991a"}}, {"rule": 2, "type": "equivalent", "target": "662acfd1ddc55189cb802f96b14e9401", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "27daeb23cb9f84e9a9b19b7c40cdf81af98f8dd9e3a7c0363da150162f38991a"}}, {"rule": 2, "type": "equivalent", "target": "efdc17c862291077d58e9fd9e55ada6c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "27daeb23cb9f84e9a9b19b7c40cdf81af98f8dd9e3a7c0363da150162f38991a"}}], "version": "9.5.17", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "37ca840f8209b068864585b7d699cb6c", "kind": "equivalent", "version": "11.3", "label": "11.3", "title": "修复 Windows 上间歇出现的 “could not reattach to shared memory” 会话启动失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "27daeb23cb9f84e9a9b19b7c40cdf81af98f8dd9e3a7c0363da150162f38991a"}, "url": "/docs/compare/?release=11.3#11.3-2c7bdaa9af6aad3c", "source_url": "/docs/release/11.3/#id-1.11.6.24.5"}, {"db_id": "662acfd1ddc55189cb802f96b14e9401", "kind": "equivalent", "version": "10.8", "label": "10.8", "title": "修复 Windows 上间歇出现的 “could not reattach to shared memory” 会话启动失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "27daeb23cb9f84e9a9b19b7c40cdf81af98f8dd9e3a7c0363da150162f38991a"}, "url": "/docs/compare/?release=10.8#10.8-2c7bdaa9af6aad3c", "source_url": "/docs/release/10.8/#id-1.11.6.20.5"}, {"db_id": "0271baa0447feba739fddee4f248c25c", "kind": "equivalent", "version": "9.6.13", "label": "9.6.13", "title": "修复 Windows 上间歇性的 “could not reattach to shared memory” 会话启动失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "27daeb23cb9f84e9a9b19b7c40cdf81af98f8dd9e3a7c0363da150162f38991a"}, "url": "/docs/compare/?release=9.6.13#9.6.13-f65ca184b9cb865f", "source_url": "/docs/release/9.6.13/#id-1.11.6.16.5"}, {"db_id": "efdc17c862291077d58e9fd9e55ada6c", "kind": "equivalent", "version": "9.4.22", "label": "9.4.22", "title": "修复 Windows 上间歇性的 “could not reattach to shared memory” 会话启动失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "27daeb23cb9f84e9a9b19b7c40cdf81af98f8dd9e3a7c0363da150162f38991a"}, "url": "/docs/compare/?release=9.4.22#9.4.22-f65ca184b9cb865f", "source_url": "/docs/release/9.4.22/#id-1.11.6.9.6"}]}, {"id": "9.5.17-691c84a1bcf6ce11", "cves": [], "html": "<p>修复 Windows 上目录扫描中的错误检测（Konstantin Knizhnik）</p>\n<p>诸如缺少读取目录权限之类的错误没有被正确检测或报告；代码而是静默地表现为目录为空。</p>", "text": "修复 Windows 上目录扫描中的错误检测（Konstantin Knizhnik） 诸如缺少读取目录权限之类的错误没有被正确检测或报告；代码而是静默地表现为目录为空。", "title": "修复 Windows 上目录扫描中的错误检测", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.17/#id-1.11.6.13.5", "source_hash": "793922e5e8360832f4e79d888e91dda9395356e2a9725bb979609ba169580163", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix error detection in directory scanning on Windows (Konstantin Knizhnik) Errors, such as lack of permissions to read the directory, were not detected or reported correctly; instead the code silently acted as though the directory were empty.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.17/changes/025", "db_id": "2ec178c47539b29fd83d5a350b84b1e1", "patch_ids": [], "statement_hash": "04a72cd465bc452bb03b4f51a865ad37e770bb85791e82c0bc0d493032103dfe", "relations": [{"rule": 2, "type": "equivalent", "target": "6e764e0a7fe284ba94b6ff71ece31c03", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "04a72cd465bc452bb03b4f51a865ad37e770bb85791e82c0bc0d493032103dfe"}}, {"rule": 2, "type": "equivalent", "target": "75ce8d4b3d89d04e314ebf062c570aa0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "04a72cd465bc452bb03b4f51a865ad37e770bb85791e82c0bc0d493032103dfe"}}, {"rule": 2, "type": "equivalent", "target": "e4c3862436bc6b4e73ed86867da656f8", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "04a72cd465bc452bb03b4f51a865ad37e770bb85791e82c0bc0d493032103dfe"}}, {"rule": 2, "type": "equivalent", "target": "facd74d550600fed233bff7b2b0c3fe9", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "04a72cd465bc452bb03b4f51a865ad37e770bb85791e82c0bc0d493032103dfe"}}], "version": "9.5.17", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "75ce8d4b3d89d04e314ebf062c570aa0", "kind": "equivalent", "version": "11.3", "label": "11.3", "title": "修复 Windows 上目录扫描的错误检测", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "04a72cd465bc452bb03b4f51a865ad37e770bb85791e82c0bc0d493032103dfe"}, "url": "/docs/compare/?release=11.3#11.3-6f4dc5d09091fc92", "source_url": "/docs/release/11.3/#id-1.11.6.24.5"}, {"db_id": "e4c3862436bc6b4e73ed86867da656f8", "kind": "equivalent", "version": "10.8", "label": "10.8", "title": "修复 Windows 上目录扫描的错误检测", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "04a72cd465bc452bb03b4f51a865ad37e770bb85791e82c0bc0d493032103dfe"}, "url": "/docs/compare/?release=10.8#10.8-6f4dc5d09091fc92", "source_url": "/docs/release/10.8/#id-1.11.6.20.5"}, {"db_id": "facd74d550600fed233bff7b2b0c3fe9", "kind": "equivalent", "version": "9.6.13", "label": "9.6.13", "title": "修复 Windows 上目录扫描中的错误检测", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "04a72cd465bc452bb03b4f51a865ad37e770bb85791e82c0bc0d493032103dfe"}, "url": "/docs/compare/?release=9.6.13#9.6.13-691c84a1bcf6ce11", "source_url": "/docs/release/9.6.13/#id-1.11.6.16.5"}, {"db_id": "6e764e0a7fe284ba94b6ff71ece31c03", "kind": "equivalent", "version": "9.4.22", "label": "9.4.22", "title": "修复 Windows 上目录扫描中的错误检测", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "04a72cd465bc452bb03b4f51a865ad37e770bb85791e82c0bc0d493032103dfe"}, "url": "/docs/compare/?release=9.4.22#9.4.22-691c84a1bcf6ce11", "source_url": "/docs/release/9.4.22/#id-1.11.6.9.6"}]}, {"id": "9.5.17-c1e7da4d67b69bca", "cves": [], "html": "<p>修复 <span>ecpg</span> 中的语法问题（Tom Lane）</p>\n<p>一个缺失的分号导致 <span>ecpg</span> 程序中的 <code>SET <em><code>variable</code></em> = DEFAULT</code>（但不是 <code>SET <em><code>variable</code></em> TO DEFAULT</code>）被错误翻译，产生服务器会拒绝的语法无效输出。此外，在列出多个类型名的 <code>DROP TYPE</code> 或 <code>DROP DOMAIN</code> 命令中，实际上只处理了第一个类型名。</p>", "text": "修复 ecpg 中的语法问题（Tom Lane） 一个缺失的分号导致 ecpg 程序中的 SET variable = DEFAULT（但不是 SET variable TO DEFAULT）被错误翻译，产生服务器会拒绝的语法无效输出。此外，在列出多个类型名的 DROP TYPE 或 DROP DOMAIN 命令中，实际上只处理了第一个类型名。", "title": "修复 ecpg 中的语法问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.17/#id-1.11.6.13.5", "source_hash": "2221e2190a3df2a271717bf0890f7dfc8f5433bec0439085b27fe35c5b3dade2", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix grammar problems in ecpg (Tom Lane) A missing semicolon led to mistranslation of SET variable = DEFAULT (but not SET variable TO DEFAULT) in ecpg programs, producing syntactically invalid output that the server would reject. Additionally, in a DROP TYPE or DROP DOMAIN command that listed multiple type names, only the first type name was actually processed.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.17/changes/026", "db_id": "79ffe53da95be83ff64df84ddba3f04a", "patch_ids": [], "statement_hash": "941802537ef4faf94b1af5d8b45429a19a568fbfa19b69e6c8ba2a7b988cfa8e", "relations": [{"rule": 2, "type": "equivalent", "target": "14fe76d965c6109bd5dcf1cd556ab186", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "941802537ef4faf94b1af5d8b45429a19a568fbfa19b69e6c8ba2a7b988cfa8e"}}, {"rule": 2, "type": "equivalent", "target": "25c98bd39f570fd0745ebfc8014e9e74", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "941802537ef4faf94b1af5d8b45429a19a568fbfa19b69e6c8ba2a7b988cfa8e"}}, {"rule": 2, "type": "equivalent", "target": "a53dfb35a7272087867129c0a0a18144", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "941802537ef4faf94b1af5d8b45429a19a568fbfa19b69e6c8ba2a7b988cfa8e"}}, {"rule": 2, "type": "equivalent", "target": "da878acc56f1b903ec2eecfbd8608c61", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "941802537ef4faf94b1af5d8b45429a19a568fbfa19b69e6c8ba2a7b988cfa8e"}}], "version": "9.5.17", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "14fe76d965c6109bd5dcf1cd556ab186", "kind": "equivalent", "version": "11.3", "label": "11.3", "title": "修复 ecpg 中的语法问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "941802537ef4faf94b1af5d8b45429a19a568fbfa19b69e6c8ba2a7b988cfa8e"}, "url": "/docs/compare/?release=11.3#11.3-c1e7da4d67b69bca", "source_url": "/docs/release/11.3/#id-1.11.6.24.5"}, {"db_id": "da878acc56f1b903ec2eecfbd8608c61", "kind": "equivalent", "version": "10.8", "label": "10.8", "title": "修复 ecpg 中的语法问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "941802537ef4faf94b1af5d8b45429a19a568fbfa19b69e6c8ba2a7b988cfa8e"}, "url": "/docs/compare/?release=10.8#10.8-c1e7da4d67b69bca", "source_url": "/docs/release/10.8/#id-1.11.6.20.5"}, {"db_id": "25c98bd39f570fd0745ebfc8014e9e74", "kind": "equivalent", "version": "9.6.13", "label": "9.6.13", "title": "修复 ecpg 中的语法问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "941802537ef4faf94b1af5d8b45429a19a568fbfa19b69e6c8ba2a7b988cfa8e"}, "url": "/docs/compare/?release=9.6.13#9.6.13-c1e7da4d67b69bca", "source_url": "/docs/release/9.6.13/#id-1.11.6.16.5"}, {"db_id": "a53dfb35a7272087867129c0a0a18144", "kind": "equivalent", "version": "9.4.22", "label": "9.4.22", "title": "修复 ecpg 中的语法问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "941802537ef4faf94b1af5d8b45429a19a568fbfa19b69e6c8ba2a7b988cfa8e"}, "url": "/docs/compare/?release=9.4.22#9.4.22-c1e7da4d67b69bca", "source_url": "/docs/release/9.4.22/#id-1.11.6.9.6"}]}, {"id": "9.5.17-48ba3a05e703a49f", "cves": [], "html": "<p>把 <span>ecpg</span> 的 <code>CREATE TABLE AS</code> 语法与服务器的同步（Daisuke Higuchi）</p>", "text": "把 ecpg 的 CREATE TABLE AS 语法与服务器的同步（Daisuke Higuchi）", "title": "把 ecpg 的 CREATE TABLE AS 语法与服务器的同步", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.17/#id-1.11.6.13.5", "source_hash": "99a49b1057d0925a6baa16a8a8e21edcea71c495d14d684e67f92acb21d4f12c", "section_path": ["变更"], "commit_groups": [], "identity_text": "Sync ecpg's syntax for CREATE TABLE AS with the server's (Daisuke Higuchi)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.17/changes/027", "db_id": "f3cdfa49de3bdc7d61931c1702d6903d", "patch_ids": [], "statement_hash": "cfeb23591eb7d98360b46084e9a1a0b04c03f8877e3aa0bd65887495644bc7b9", "relations": [{"rule": 2, "type": "equivalent", "target": "0e195ddf7d5a9dcca5857af5861f2c6a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cfeb23591eb7d98360b46084e9a1a0b04c03f8877e3aa0bd65887495644bc7b9"}}, {"rule": 2, "type": "equivalent", "target": "3c5385d64b4c237229443c7a1652aa51", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cfeb23591eb7d98360b46084e9a1a0b04c03f8877e3aa0bd65887495644bc7b9"}}, {"rule": 2, "type": "equivalent", "target": "f8ae25d2d03b16b93910ff7ea87dc9e0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cfeb23591eb7d98360b46084e9a1a0b04c03f8877e3aa0bd65887495644bc7b9"}}], "version": "9.5.17", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "f8ae25d2d03b16b93910ff7ea87dc9e0", "kind": "equivalent", "version": "11.3", "label": "11.3", "title": "使 ecpg 的 CREATE TABLE AS 语法与服务器一致", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cfeb23591eb7d98360b46084e9a1a0b04c03f8877e3aa0bd65887495644bc7b9"}, "url": "/docs/compare/?release=11.3#11.3-bea833ac23f59bb9", "source_url": "/docs/release/11.3/#id-1.11.6.24.5"}, {"db_id": "0e195ddf7d5a9dcca5857af5861f2c6a", "kind": "equivalent", "version": "10.8", "label": "10.8", "title": "使 ecpg 的 CREATE TABLE AS 语法与服务器一致", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cfeb23591eb7d98360b46084e9a1a0b04c03f8877e3aa0bd65887495644bc7b9"}, "url": "/docs/compare/?release=10.8#10.8-bea833ac23f59bb9", "source_url": "/docs/release/10.8/#id-1.11.6.20.5"}, {"db_id": "3c5385d64b4c237229443c7a1652aa51", "kind": "equivalent", "version": "9.6.13", "label": "9.6.13", "title": "把 ecpg 的 CREATE TABLE AS 语法与服务器的同步", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cfeb23591eb7d98360b46084e9a1a0b04c03f8877e3aa0bd65887495644bc7b9"}, "url": "/docs/compare/?release=9.6.13#9.6.13-48ba3a05e703a49f", "source_url": "/docs/release/9.6.13/#id-1.11.6.16.5"}]}, {"id": "9.5.17-762b4a333d287ebe", "cves": [], "html": "<p>修复 <span>ecpg</span> 处理 include 文件名时可能的缓冲区越界（Liu Huailing、Fei Wu）</p>", "text": "修复 ecpg 处理 include 文件名时可能的缓冲区越界（Liu Huailing、Fei Wu）", "title": "修复 ecpg 处理 include 文件名时可能的缓冲区越界", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.17/#id-1.11.6.13.5", "source_hash": "229d5901fe592c11318f48082180d71c3acd64f54a9658294a46998c5db1e24a", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix possible buffer overruns in ecpg's processing of include filenames (Liu Huailing, Fei Wu)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.17/changes/028", "db_id": "8954b81ebb9585589fa23bef78819391", "patch_ids": [], "statement_hash": "491a515d22d16f483cbd23b6ed88a84e4c3e718c03c9c07534bad6e0d1752d30", "relations": [{"rule": 2, "type": "equivalent", "target": "2941fadd1a110588cc87191d329f216c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "491a515d22d16f483cbd23b6ed88a84e4c3e718c03c9c07534bad6e0d1752d30"}}, {"rule": 2, "type": "equivalent", "target": "7ad257a1239a4b72bea3133099a34bee", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "491a515d22d16f483cbd23b6ed88a84e4c3e718c03c9c07534bad6e0d1752d30"}}, {"rule": 2, "type": "equivalent", "target": "bf9dd9071e4219db7afd020b0fee9676", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "491a515d22d16f483cbd23b6ed88a84e4c3e718c03c9c07534bad6e0d1752d30"}}, {"rule": 2, "type": "equivalent", "target": "e234e4958fbc3a9e0648e71255cc22ad", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "491a515d22d16f483cbd23b6ed88a84e4c3e718c03c9c07534bad6e0d1752d30"}}], "version": "9.5.17", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "2941fadd1a110588cc87191d329f216c", "kind": "equivalent", "version": "11.3", "label": "11.3", "title": "修复 ecpg 处理包含文件名时可能发生的缓冲区越界", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "491a515d22d16f483cbd23b6ed88a84e4c3e718c03c9c07534bad6e0d1752d30"}, "url": "/docs/compare/?release=11.3#11.3-14e9b48c34ff1783", "source_url": "/docs/release/11.3/#id-1.11.6.24.5"}, {"db_id": "e234e4958fbc3a9e0648e71255cc22ad", "kind": "equivalent", "version": "10.8", "label": "10.8", "title": "修复 ecpg 处理包含文件名时可能发生的缓冲区越界", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "491a515d22d16f483cbd23b6ed88a84e4c3e718c03c9c07534bad6e0d1752d30"}, "url": "/docs/compare/?release=10.8#10.8-14e9b48c34ff1783", "source_url": "/docs/release/10.8/#id-1.11.6.20.5"}, {"db_id": "bf9dd9071e4219db7afd020b0fee9676", "kind": "equivalent", "version": "9.6.13", "label": "9.6.13", "title": "修复 ecpg 处理 include 文件名时可能的缓冲区越界", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "491a515d22d16f483cbd23b6ed88a84e4c3e718c03c9c07534bad6e0d1752d30"}, "url": "/docs/compare/?release=9.6.13#9.6.13-762b4a333d287ebe", "source_url": "/docs/release/9.6.13/#id-1.11.6.16.5"}, {"db_id": "7ad257a1239a4b72bea3133099a34bee", "kind": "equivalent", "version": "9.4.22", "label": "9.4.22", "title": "修复 ecpg 处理 include 文件名时可能的缓冲区越界", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "491a515d22d16f483cbd23b6ed88a84e4c3e718c03c9c07534bad6e0d1752d30"}, "url": "/docs/compare/?release=9.4.22#9.4.22-762b4a333d287ebe", "source_url": "/docs/release/9.4.22/#id-1.11.6.9.6"}]}, {"id": "9.5.17-2dd609f3d7d06f93", "cves": [], "html": "<p>避免 <code>lo_unlink()</code> 调用失败时 <code>contrib/vacuumlo</code> 崩溃（Tom Lane）</p>", "text": "避免 lo_unlink() 调用失败时 contrib/vacuumlo 崩溃（Tom Lane）", "title": "避免 lo_unlink() 调用失败时 contrib/vacuumlo 崩溃", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.17/#id-1.11.6.13.5", "source_hash": "0018de2a69bfa7ec0a6b9e96531d9475a67f6608ec779cd77c7901808bfb28c9", "section_path": ["变更"], "commit_groups": [], "identity_text": "Avoid crash in contrib/vacuumlo if an lo_unlink() call failed (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.17/changes/029", "db_id": "d3932dfc08ca68d56f4861aacf76bfd0", "patch_ids": [], "statement_hash": "d48c02d02f4ba4b4d7211bf18fbb12b697ebde7894668bf8897e8d81a314e5b6", "relations": [{"rule": 2, "type": "equivalent", "target": "6c4cfbe3db71d709788446649c097a87", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d48c02d02f4ba4b4d7211bf18fbb12b697ebde7894668bf8897e8d81a314e5b6"}}, {"rule": 2, "type": "equivalent", "target": "959dc79309a567e72faa1fa8b585aeed", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d48c02d02f4ba4b4d7211bf18fbb12b697ebde7894668bf8897e8d81a314e5b6"}}, {"rule": 2, "type": "equivalent", "target": "a69732f2109198a64bae91eba970a838", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d48c02d02f4ba4b4d7211bf18fbb12b697ebde7894668bf8897e8d81a314e5b6"}}, {"rule": 2, "type": "equivalent", "target": "e37020d2cb293ec7451ebd1806d95eba", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d48c02d02f4ba4b4d7211bf18fbb12b697ebde7894668bf8897e8d81a314e5b6"}}], "version": "9.5.17", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "959dc79309a567e72faa1fa8b585aeed", "kind": "equivalent", "version": "11.3", "label": "11.3", "title": "避免 lo_unlink() 调用失败时 contrib/vacuumlo 发生崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d48c02d02f4ba4b4d7211bf18fbb12b697ebde7894668bf8897e8d81a314e5b6"}, "url": "/docs/compare/?release=11.3#11.3-dd10ad9ce35f17e7", "source_url": "/docs/release/11.3/#id-1.11.6.24.5"}, {"db_id": "6c4cfbe3db71d709788446649c097a87", "kind": "equivalent", "version": "10.8", "label": "10.8", "title": "避免 lo_unlink() 调用失败时 contrib/vacuumlo 发生崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d48c02d02f4ba4b4d7211bf18fbb12b697ebde7894668bf8897e8d81a314e5b6"}, "url": "/docs/compare/?release=10.8#10.8-dd10ad9ce35f17e7", "source_url": "/docs/release/10.8/#id-1.11.6.20.5"}, {"db_id": "a69732f2109198a64bae91eba970a838", "kind": "equivalent", "version": "9.6.13", "label": "9.6.13", "title": "避免 lo_unlink() 调用失败时 contrib/vacuumlo 崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d48c02d02f4ba4b4d7211bf18fbb12b697ebde7894668bf8897e8d81a314e5b6"}, "url": "/docs/compare/?release=9.6.13#9.6.13-2dd609f3d7d06f93", "source_url": "/docs/release/9.6.13/#id-1.11.6.16.5"}, {"db_id": "e37020d2cb293ec7451ebd1806d95eba", "kind": "equivalent", "version": "9.4.22", "label": "9.4.22", "title": "避免contrib/vacuumlo在lo_unlink()调用失败时崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d48c02d02f4ba4b4d7211bf18fbb12b697ebde7894668bf8897e8d81a314e5b6"}, "url": "/docs/compare/?release=9.4.22#9.4.22-18fae14fc45b13d6", "source_url": "/docs/release/9.4.22/#id-1.11.6.9.6"}]}, {"id": "9.5.17-5e343e89c652c29d", "cves": [], "html": "<p>把我们的时区库副本与 IANA tzcode 版本 2019a 同步（Tom Lane）</p>\n<p>这更正了 <span>zic</span> 的一个小 bug——它在 <code>Africa/Casablanca</code> 时区输出错误的 2440 年转换，并增加了对 <span>zic</span> 新 <code>-r</code> 选项的支持。</p>", "text": "把我们的时区库副本与 IANA tzcode 版本 2019a 同步（Tom Lane） 这更正了 zic 的一个小 bug——它在 Africa/Casablanca 时区输出错误的 2440 年转换，并增加了对 zic 新 -r 选项的支持。", "title": "把我们的时区库副本与 IANA tzcode 版本 2019a 同步", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.17/#id-1.11.6.13.5", "source_hash": "32bead039c18520475b739370f7c6d2b9788b1b5024c2cc0ba5c87959f7b12bd", "section_path": ["变更"], "commit_groups": [], "identity_text": "Sync our copy of the timezone library with IANA tzcode release 2019a (Tom Lane) This corrects a small bug in zic that caused it to output an incorrect year-2440 transition in the Africa/Casablanca zone, and adds support for zic's new -r option.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.17/changes/030", "db_id": "a540f8e2894b3487ba1b0ee3d4b78ae1", "patch_ids": [], "statement_hash": "506577051746389a163a87f2fcc5ba09031dfba85eeff25c5ac2441164a52ae7", "relations": [{"rule": 2, "type": "equivalent", "target": "1cac0d94d4eca624002ecda4f1e6fc3d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "506577051746389a163a87f2fcc5ba09031dfba85eeff25c5ac2441164a52ae7"}}, {"rule": 2, "type": "equivalent", "target": "66914fbb953c15277cd20d87d19d93c0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "506577051746389a163a87f2fcc5ba09031dfba85eeff25c5ac2441164a52ae7"}}, {"rule": 2, "type": "equivalent", "target": "b9bd08778af7320e7124a439ad867fdc", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "506577051746389a163a87f2fcc5ba09031dfba85eeff25c5ac2441164a52ae7"}}, {"rule": 2, "type": "equivalent", "target": "f3221e5c22baa4d1a9d623ec87df9f02", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "506577051746389a163a87f2fcc5ba09031dfba85eeff25c5ac2441164a52ae7"}}], "version": "9.5.17", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "1cac0d94d4eca624002ecda4f1e6fc3d", "kind": "equivalent", "version": "11.3", "label": "11.3", "title": "将我们使用的时区库副本同步到 IANA tzcode 2019a 版", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "506577051746389a163a87f2fcc5ba09031dfba85eeff25c5ac2441164a52ae7"}, "url": "/docs/compare/?release=11.3#11.3-507a572b53ea47ed", "source_url": "/docs/release/11.3/#id-1.11.6.24.5"}, {"db_id": "66914fbb953c15277cd20d87d19d93c0", "kind": "equivalent", "version": "10.8", "label": "10.8", "title": "将我们使用的时区库副本同步到 IANA tzcode 2019a 版", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "506577051746389a163a87f2fcc5ba09031dfba85eeff25c5ac2441164a52ae7"}, "url": "/docs/compare/?release=10.8#10.8-507a572b53ea47ed", "source_url": "/docs/release/10.8/#id-1.11.6.20.5"}, {"db_id": "b9bd08778af7320e7124a439ad867fdc", "kind": "equivalent", "version": "9.6.13", "label": "9.6.13", "title": "把我们的时区库副本与 IANA tzcode 版本 2019a 同步", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "506577051746389a163a87f2fcc5ba09031dfba85eeff25c5ac2441164a52ae7"}, "url": "/docs/compare/?release=9.6.13#9.6.13-5e343e89c652c29d", "source_url": "/docs/release/9.6.13/#id-1.11.6.16.5"}, {"db_id": "f3221e5c22baa4d1a9d623ec87df9f02", "kind": "equivalent", "version": "9.4.22", "label": "9.4.22", "title": "把我们的时区库副本与 IANA tzcode 版本 2019a 同步", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "506577051746389a163a87f2fcc5ba09031dfba85eeff25c5ac2441164a52ae7"}, "url": "/docs/compare/?release=9.4.22#9.4.22-5e343e89c652c29d", "source_url": "/docs/release/9.4.22/#id-1.11.6.9.6"}]}, {"id": "9.5.17-2c829a625ebc8f26", "cves": [], "html": "<p>更新时区数据文件到 <span>tzdata</span> 版本 2019a，涉及巴勒斯坦和梅特拉卡特拉的夏令时法规变更，以及以色列的历史修正。</p>\n<p><code>Etc/UCT</code> 现在是指向 <code>Etc/UTC</code> 的向后兼容链接，而不再是生成缩写 <code>UCT</code> 的独立时区 ——如今 UCT 通常是笔误。<span>PostgreSQL</span> 仍然接受 <code>UCT</code> 作为输入时区缩写，但不会输出它。</p>", "text": "更新时区数据文件到 tzdata 版本 2019a，涉及巴勒斯坦和梅特拉卡特拉的夏令时法规变更，以及以色列的历史修正。 Etc/UCT 现在是指向 Etc/UTC 的向后兼容链接，而不再是生成缩写 UCT 的独立时区 ——如今 UCT 通常是笔误。PostgreSQL 仍然接受 UCT 作为输入时区缩写，但不会输出它。", "title": "更新时区数据文件到 tzdata 版本 2019a，涉及巴勒斯坦和梅特拉卡特拉的夏令时法规变更，以及以色列的历史修正。", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.17/#id-1.11.6.13.5", "source_hash": "7303a9d96f8ab825cddd9ca160bdb69d3fdadccb03313f2e400c7b9270fec69f", "section_path": ["变更"], "commit_groups": [], "identity_text": "Update time zone data files to tzdata release 2019a for DST law changes in Palestine and Metlakatla, plus historical corrections for Israel. Etc/UCT is now a backward-compatibility link to Etc/UTC, instead of being a separate zone that generates the abbreviation UCT, which nowadays is typically a typo. PostgreSQL will still accept UCT as an input zone abbreviation, but it won't output it.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.17/changes/031", "db_id": "f4398155d8dfdeb71ed3a4ad7ad79968", "patch_ids": [], "statement_hash": "514e67a9a1a1491e3afdd57fd4ed91ef84671240c76dc48dd506ee2f5e657631", "relations": [{"rule": 2, "type": "equivalent", "target": "027f2c56262639dcac6f914771caf3e4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "514e67a9a1a1491e3afdd57fd4ed91ef84671240c76dc48dd506ee2f5e657631"}}, {"rule": 2, "type": "equivalent", "target": "1351ea232cdf0da5060ed35675ef291b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "514e67a9a1a1491e3afdd57fd4ed91ef84671240c76dc48dd506ee2f5e657631"}}, {"rule": 2, "type": "equivalent", "target": "1bf0f111d2174e1c03544c822925f804", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "514e67a9a1a1491e3afdd57fd4ed91ef84671240c76dc48dd506ee2f5e657631"}}, {"rule": 2, "type": "equivalent", "target": "631069fad507d1e77ef53826d517469c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "514e67a9a1a1491e3afdd57fd4ed91ef84671240c76dc48dd506ee2f5e657631"}}], "version": "9.5.17", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "1351ea232cdf0da5060ed35675ef291b", "kind": "equivalent", "version": "11.3", "label": "11.3", "title": "将时区数据文件更新到 tzdata 2019a 版，以反映巴勒斯坦和梅特拉卡特拉的夏令时法规变更，并修正以色列的历史数据。", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "514e67a9a1a1491e3afdd57fd4ed91ef84671240c76dc48dd506ee2f5e657631"}, "url": "/docs/compare/?release=11.3#11.3-4d7f3428373529e9", "source_url": "/docs/release/11.3/#id-1.11.6.24.5"}, {"db_id": "027f2c56262639dcac6f914771caf3e4", "kind": "equivalent", "version": "10.8", "label": "10.8", "title": "将时区数据文件更新到 tzdata 2019a 版，以反映巴勒斯坦和梅特拉卡特拉的夏令时法规变更，并修正以色列的历史数据。", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "514e67a9a1a1491e3afdd57fd4ed91ef84671240c76dc48dd506ee2f5e657631"}, "url": "/docs/compare/?release=10.8#10.8-4d7f3428373529e9", "source_url": "/docs/release/10.8/#id-1.11.6.20.5"}, {"db_id": "631069fad507d1e77ef53826d517469c", "kind": "equivalent", "version": "9.6.13", "label": "9.6.13", "title": "更新时区数据文件到 tzdata 版本 2019a，涉及巴勒斯坦和梅特拉卡特拉的夏令时法规变更，以及以色列的历史修正。", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "514e67a9a1a1491e3afdd57fd4ed91ef84671240c76dc48dd506ee2f5e657631"}, "url": "/docs/compare/?release=9.6.13#9.6.13-2c829a625ebc8f26", "source_url": "/docs/release/9.6.13/#id-1.11.6.16.5"}, {"db_id": "1bf0f111d2174e1c03544c822925f804", "kind": "equivalent", "version": "9.4.22", "label": "9.4.22", "title": "更新时区数据文件到 tzdata 版本 2019a，涉及巴勒斯坦和梅特拉卡特拉的夏令时法规变更，以及以色列的历史修正。", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "514e67a9a1a1491e3afdd57fd4ed91ef84671240c76dc48dd506ee2f5e657631"}, "url": "/docs/compare/?release=9.4.22#9.4.22-2c829a625ebc8f26", "source_url": "/docs/release/9.4.22/#id-1.11.6.9.6"}]}]}], "stats": [{"key": "all", "label": "全部变更", "count": 31}, {"key": "feature", "label": "新功能", "count": 0}, {"key": "bugfix", "label": "BUG 修复", "count": 18}, {"key": "security", "label": "安全相关", "count": 1}, {"key": "performance", "label": "性能改进", "count": 0}, {"key": "compatibility", "label": "兼容性变化", "count": 0}, {"key": "improvement", "label": "其他改进", "count": 12}], "total": 31, "release_count": 1, "cross_major": false, "cve_count": 2, "cves": [{"id": "CVE-2017-7484", "url": "https://www.postgresql.org/support/security/CVE-2017-7484/", "fixed": {"9.2": "9.2.21", "9.3": "9.3.17", "9.4": "9.4.12", "9.5": "9.5.7", "9.6": "9.6.3"}, "score": 4.3, "title": "防止通过选择率估计器绕过行级安全策略", "vector": "AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N", "affected": {"9.2": "9.2", "9.3": "9.3", "9.4": "9.4", "9.5": "9.5", "9.6": "9.6"}, "component": "core server", "published": {"9.2": "2017-05-11", "9.3": "2017-05-11", "9.4": "2017-05-11", "9.5": "2017-05-11", "9.6": "2017-05-11"}, "introduced": {}, "cvss_version": "3.0", "description_en": "", "first_published": "2017-05-11", "fixed_version": "9.5.7"}, {"id": "CVE-2019-10130", "url": "https://www.postgresql.org/support/security/CVE-2019-10130/", "fixed": {"10": "10.8", "11": "11.3", "9.5": "9.5.17", "9.6": "9.6.13"}, "score": 3.1, "title": "防止通过选择率估计器绕过行级安全策略", "vector": "AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N", "affected": {"10": "10", "11": "11", "9.5": "9.5", "9.6": "9.6"}, "component": "core server", "published": {"10": "2019-05-09", "11": "2019-05-09", "9.5": "2019-05-09", "9.6": "2019-05-09"}, "introduced": {}, "cvss_version": "3.0", "description_en": "PostgreSQL maintains statistics for tables by sampling data available in columns; this data is consulted during the query planning process. Prior to this release, a user able to execute SQL queries with permissions to read a given column could craft a leaky operator that could read whatever data had been sampled from that column. If this happened to include values from rows that the user is forbidden to see by a row security policy, the user could effectively bypass the policy. This is fixed by only allowing a non-leakproof operator to use this data if there are no relevant row security policies for the table.\n\nThe PostgreSQL project thanks Dean Rasheed for reporting this problem.", "first_published": "2019-05-09", "fixed_version": "9.5.17"}], "cve_available": true, "remaining_cves": [], "security_regressions": [], "warnings": [], "candidate_count": 31, "already_in_source_count": 0, "duplicate_count": 0, "excluded_count": 0, "exclusions": [], "source_as_of": "2026-09-26", "security_as_of": "2026-09-26"}