{"format": 1, "mode": "release", "from_release": null, "to_release": {"date": "2018-05-10", "build": "10.4", "major": "10", "minor": 4, "manual": "10", "status": "stable", "doc_git": "", "version": "10.4", "eol_date": "2022-11-10", "date_text": "2018-05-10", "supported": false, "manual_url": "/docs/10/release-10-4.html", "source_url": "/docs/release/10.4/", "entry_count": 53, "placeholder": false, "content_hash": "2b1c8a4cefc78f95204f39da8631a1f6604234f17ee8036ce3d936bf433a94db", "manual_build": "10.23", "source_as_of": "", "changes_count": 53, "doc_loaded_at": "2026-09-26T02:56:43.207462", "migration_html": "<p>对于运行 10.X 的用户，不需要执行导出/恢复。</p>\n<p>但是，如果使用了 <code>adminpack</code> 扩展，应按照下方第一条变更日志更新它。</p>\n<p>此外，如果下方第二和第三条变更日志提到的函数标记错误影响到您，应采取措施纠正数据库目录。</p>\n<p>此外，如果是从早于 10.3 的版本升级，请参见<a href=\"/docs/10/release-10-3.html\" title=\"E.21. 发布版本 10.3\">第 E.21 节</a>。</p>", "compatibility_count": 0, "label": "10.4", "status_label": "历史版本", "eol": "2022-11-10", "age_days": 3065, "support_days": -1420}, "groups": [{"date": "2018-05-10", "build": "10.4", "major": "10", "minor": 4, "manual": "10", "status": "stable", "doc_git": "", "version": "10.4", "eol_date": "2022-11-10", "date_text": "2018-05-10", "supported": false, "manual_url": "/docs/10/release-10-4.html", "source_url": "/docs/release/10.4/", "entry_count": 53, "placeholder": false, "content_hash": "2b1c8a4cefc78f95204f39da8631a1f6604234f17ee8036ce3d936bf433a94db", "manual_build": "10.23", "source_as_of": "", "changes_count": 53, "doc_loaded_at": "2026-09-26T02:56:43.207462", "migration_html": "<p>对于运行 10.X 的用户，不需要执行导出/恢复。</p>\n<p>但是，如果使用了 <code>adminpack</code> 扩展，应按照下方第一条变更日志更新它。</p>\n<p>此外，如果下方第二和第三条变更日志提到的函数标记错误影响到您，应采取措施纠正数据库目录。</p>\n<p>此外，如果是从早于 10.3 的版本升级，请参见<a href=\"/docs/10/release-10-3.html\" title=\"E.21. 发布版本 10.3\">第 E.21 节</a>。</p>", "compatibility_count": 0, "label": "10.4", "status_label": "历史版本", "eol": "2022-11-10", "age_days": 3065, "support_days": -1420, "entries": [{"id": "10.4-81081225d1986dcc", "cves": ["CVE-2018-1115"], "html": "<p>撤销 <code>contrib/adminpack</code> 的 <code>pg_logfile_rotate()</code> 函数的公共执行权限（Stephen Frost）</p>\n<p><code>pg_logfile_rotate()</code> 是核心函数 <code>pg_rotate_logfile()</code> 的一个已弃用包装函数。后者改为依靠 SQL 权限进行访问控制，而不再使用硬编码的超级用户检查时，本应同时更新 <code>pg_logfile_rotate()</code>，但这一点被遗漏了。因此，如果安装了 <code>adminpack</code>，任何用户都可以请求轮转日志文件，造成一个较轻微的安全问题。</p>\n<p>安装此更新后，管理员应在每个安装了 <code>adminpack</code> 的数据库中执行 <code>ALTER EXTENSION adminpack UPDATE</code>，以更新 <code>adminpack</code>。（CVE-2018-1115）</p>", "text": "撤销 contrib/adminpack 的 pg_logfile_rotate() 函数的公共执行权限（Stephen Frost） pg_logfile_rotate() 是核心函数 pg_rotate_logfile() 的一个已弃用包装函数。后者改为依靠 SQL 权限进行访问控制，而不再使用硬编码的超级用户检查时，本应同时更新 pg_logfile_rotate()，但这一点被遗漏了。因此，如果安装了 adminpack，任何用户都可以请求轮转日志文件，造成一个较轻微的安全问题。 安装此更新后，管理员应在每个安装了 adminpack 的数据库中执行 ALTER EXTENSION adminpack UPDATE，以更新 adminpack。（CVE-2018-1115）", "title": "撤销 contrib/adminpack 的 pg_logfile_rotate() 函数的公共执行权限", "commits": [], "section": "变更", "category": "security", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "6b74734093902121ed92834625bef2c3df8e4b18dc6ad0a053273c6f7adb4da7", "section_path": ["变更"], "commit_groups": [["20f01fc45", "53b79ab4f", "7b347409f"]], "identity_text": "Remove public execute privilege from contrib/adminpack's pg_logfile_rotate() function (Stephen Frost) pg_logfile_rotate() is a deprecated wrapper for the core function pg_rotate_logfile(). When that function was changed to rely on SQL privileges for access control rather than a hard-coded superuser check, pg_logfile_rotate() should have been updated as well, but the need for this was missed. Hence, if adminpack is installed, any user could request a logfile rotation, creating a minor security issue. After installing this update, administrators should update adminpack by performing ALTER EXTENSION adminpack UPDATE in each database in which adminpack is installed. (CVE-2018-1115)", "commit_aliases": ["20f01fc45", "53b79ab4f", "7b347409f"], "source_commits": ["20f01fc45"], "source_entry_id": "10.4/changes/001", "db_id": "80ebe5c1773e98378ec6eead218154c5", "patch_ids": ["6a056ccaef6d578da7ff2890c0facc7b"], "statement_hash": "712f4f58dc3ea1094b64a653a1d9e436db51f07641cfcdbe625ac9aea5d16df5", "relations": [{"rule": 2, "type": "equivalent", "target": "3b614dbfc79d425c587fd768b20b393d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "712f4f58dc3ea1094b64a653a1d9e436db51f07641cfcdbe625ac9aea5d16df5"}}], "version": "10.4", "category_label": "安全相关", "also_in": [], "variants": [], "related_changes": [{"db_id": "3b614dbfc79d425c587fd768b20b393d", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "移除 contrib/adminpack 的 pg_logfile_rotate() 函数上的公共执行权限", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "712f4f58dc3ea1094b64a653a1d9e436db51f07641cfcdbe625ac9aea5d16df5"}, "url": "/docs/compare/?release=9.6.9#9.6.9-18cff896ffec1935", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}]}, {"id": "10.4-d2ec23ec103b9769", "cves": [], "html": "<p>修复若干内置函数不正确的易变性标记（Thomas Munro，Tom Lane）</p>\n<p>函数 <code>query_to_xml</code>、<code>cursor_to_xml</code>、<code>cursor_to_xmlschema</code>、<code>query_to_xmlschema</code> 和 <code>query_to_xml_and_xmlschema</code> 应标记为易变，因为它们执行用户提供的查询，而这些查询可能包含易变操作。以前未作此标记，存在查询优化不正确的风险。通过纠正初始目录数据，新安装已修复此问题，但现有安装仍包含不正确的标记。这些函数的实际使用似乎风险很小，但如果遇到问题，可以手动更新这些函数的 <code>pg_proc</code> 条目，例如 <code>ALTER FUNCTION pg_catalog.query_to_xml(text, boolean, boolean, text) VOLATILE</code>。（注意，必须在安装中的每个数据库内执行。）另一种方法是使用 <span>pg_upgrade</span> 将数据库升级到包含已纠正初始数据的版本。</p>", "text": "修复若干内置函数不正确的易变性标记（Thomas Munro，Tom Lane） 函数 query_to_xml、cursor_to_xml、cursor_to_xmlschema、query_to_xmlschema 和 query_to_xml_and_xmlschema 应标记为易变，因为它们执行用户提供的查询，而这些查询可能包含易变操作。以前未作此标记，存在查询优化不正确的风险。通过纠正初始目录数据，新安装已修复此问题，但现有安装仍包含不正确的标记。这些函数的实际使用似乎风险很小，但如果遇到问题，可以手动更新这些函数的 pg_proc 条目，例如 ALTER FUNCTION pg_catalog.query_to_xml(text, boolean, boolean, text) VOLATILE。（注意，必须在安装中的每个数据库内执行。）另一种方法是使用 pg_upgrade 将数据库升级到包含已纠正初始数据的版本。", "title": "修复若干内置函数不正确的易变性标记", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "013b61fc65364bd8d44d569e773abae8e5570bec5d7ebe38b2b5688b68327092", "section_path": ["变更"], "commit_groups": [["11002f8af", "283262cd9", "485857d44", "91d82317d", "b7537ffb1", "ea83c7e66"]], "identity_text": "Fix incorrect volatility markings on a few built-in functions (Thomas Munro, Tom Lane) The functions query_to_xml, cursor_to_xml, cursor_to_xmlschema, query_to_xmlschema, and query_to_xml_and_xmlschema should be marked volatile because they execute user-supplied queries that might contain volatile operations. They were not, leading to a risk of incorrect query optimization. This has been repaired for new installations by correcting the initial catalog data, but existing installations will continue to contain the incorrect markings. Practical use of these functions seems to pose little hazard, but in case of trouble, it can be fixed by manually updating these functions' pg_proc entries, for example ALTER FUNCTION pg_catalog.query_to_xml(text, boolean, boolean, text) VOLATILE. (Note that that will need to be done in each database of the installation.) Another option is to pg_upgrade the database to a version containing the corrected initial data.", "commit_aliases": ["11002f8af", "283262cd9", "485857d44", "91d82317d", "b7537ffb1", "ea83c7e66"], "source_commits": ["283262cd9"], "source_entry_id": "10.4/changes/002", "db_id": "4dbf8dadd96c167df439302bf984d30d", "patch_ids": ["803b6d012c731531667f61834b5cd4e4"], "statement_hash": "a848020ace21692d8bfea310bd5099e26e664b6b63f997e2f6b10411bf84f83f", "relations": [{"rule": 2, "type": "equivalent", "target": "090b34a702ec6a2ca8c64febbfa28ccf", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a848020ace21692d8bfea310bd5099e26e664b6b63f997e2f6b10411bf84f83f", "ambiguous_patch_ids": ["803b6d012c731531667f61834b5cd4e4"]}}, {"rule": 2, "type": "equivalent", "target": "4e64c4d279195ebda2ab22e8ffc64993", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a848020ace21692d8bfea310bd5099e26e664b6b63f997e2f6b10411bf84f83f", "ambiguous_patch_ids": ["803b6d012c731531667f61834b5cd4e4"]}}, {"rule": 2, "type": "equivalent", "target": "5b3b555d5cbf741c78a2ffd945e5a415", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a848020ace21692d8bfea310bd5099e26e664b6b63f997e2f6b10411bf84f83f", "ambiguous_patch_ids": ["803b6d012c731531667f61834b5cd4e4"]}}, {"rule": 2, "type": "equivalent", "target": "a6ba23544bda9d746f0fa25a72cecaf6", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a848020ace21692d8bfea310bd5099e26e664b6b63f997e2f6b10411bf84f83f", "ambiguous_patch_ids": ["803b6d012c731531667f61834b5cd4e4"]}}, {"rule": 2, "type": "related", "target": "a8ee70e2cea4b27b449669d787034969", "evidence": {"same_day": true, "patch_ids": ["803b6d012c731531667f61834b5cd4e4"], "ambiguous_patch_ids": ["803b6d012c731531667f61834b5cd4e4"]}}], "version": "10.4", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "a8ee70e2cea4b27b449669d787034969", "kind": "related", "version": "10.4", "label": "10.4", "title": "修复若干内置函数不正确的并行安全性标记", "evidence": {"same_day": true, "patch_ids": ["803b6d012c731531667f61834b5cd4e4"], "ambiguous_patch_ids": ["803b6d012c731531667f61834b5cd4e4"]}, "url": "/docs/compare/?release=10.4#10.4-7cbc83d3c9a86e33", "source_url": "/docs/release/10.4/#id-1.11.6.24.5"}, {"db_id": "a6ba23544bda9d746f0fa25a72cecaf6", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "修复少数内建函数上不正确的易变性标记", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a848020ace21692d8bfea310bd5099e26e664b6b63f997e2f6b10411bf84f83f", "ambiguous_patch_ids": ["803b6d012c731531667f61834b5cd4e4"]}, "url": "/docs/compare/?release=9.6.9#9.6.9-6a75d650dd5360e4", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "5b3b555d5cbf741c78a2ffd945e5a415", "kind": "equivalent", "version": "9.5.13", "label": "9.5.13", "title": "修复少数内建函数上不正确的易变性标记", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a848020ace21692d8bfea310bd5099e26e664b6b63f997e2f6b10411bf84f83f", "ambiguous_patch_ids": ["803b6d012c731531667f61834b5cd4e4"]}, "url": "/docs/compare/?release=9.5.13#9.5.13-6a75d650dd5360e4", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5"}, {"db_id": "4e64c4d279195ebda2ab22e8ffc64993", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "修复少数内建函数上不正确的易变性标记", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a848020ace21692d8bfea310bd5099e26e664b6b63f997e2f6b10411bf84f83f", "ambiguous_patch_ids": ["803b6d012c731531667f61834b5cd4e4"]}, "url": "/docs/compare/?release=9.4.18#9.4.18-6a75d650dd5360e4", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "090b34a702ec6a2ca8c64febbfa28ccf", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "修复少数内建函数上不正确的易变性标记", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a848020ace21692d8bfea310bd5099e26e664b6b63f997e2f6b10411bf84f83f", "ambiguous_patch_ids": ["803b6d012c731531667f61834b5cd4e4"]}, "url": "/docs/compare/?release=9.3.23#9.3.23-6a75d650dd5360e4", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "10.4-7cbc83d3c9a86e33", "cves": [], "html": "<p>修复若干内置函数不正确的并行安全性标记（Thomas Munro，Tom Lane）</p>\n<p>函数 <code>brin_summarize_new_values</code>、<code>brin_summarize_range</code>、<code>brin_desummarize_range</code>、<code>gin_clean_pending_list</code>、<code>cursor_to_xml</code>、<code>cursor_to_xmlschema</code>、<code>ts_rewrite</code>、<code>ts_stat</code>、<code>binary_upgrade_create_empty_extension</code> 和 <code>pg_import_system_collations</code> 应标记为并行不安全；其中一些直接修改数据库，另一些执行可能修改数据库的用户查询。以前，它们却被标记为并行受限，存在发生意外查询错误的风险。通过纠正初始目录数据，新安装已修复此问题，但现有安装仍包含不正确的标记。除非开启 <code>force_parallel_mode</code>，这些函数的实际使用似乎风险很小。如果遇到问题，可以手动更新这些函数的 <code>pg_proc</code> 条目，例如 <code>ALTER FUNCTION pg_catalog.brin_summarize_new_values(regclass) PARALLEL UNSAFE</code>。（注意，必须在安装中的每个数据库内执行。）另一种方法是使用 <span>pg_upgrade</span> 将数据库升级到包含已纠正初始数据的版本。</p>", "text": "修复若干内置函数不正确的并行安全性标记（Thomas Munro，Tom Lane） 函数 brin_summarize_new_values、brin_summarize_range、brin_desummarize_range、gin_clean_pending_list、cursor_to_xml、cursor_to_xmlschema、ts_rewrite、ts_stat、binary_upgrade_create_empty_extension 和 pg_import_system_collations 应标记为并行不安全；其中一些直接修改数据库，另一些执行可能修改数据库的用户查询。以前，它们却被标记为并行受限，存在发生意外查询错误的风险。通过纠正初始目录数据，新安装已修复此问题，但现有安装仍包含不正确的标记。除非开启 force_parallel_mode，这些函数的实际使用似乎风险很小。如果遇到问题，可以手动更新这些函数的 pg_proc 条目，例如 ALTER FUNCTION pg_catalog.brin_summarize_new_values(regclass) PARALLEL UNSAFE。（注意，必须在安装中的每个数据库内执行。）另一种方法是使用 pg_upgrade 将数据库升级到包含已纠正初始数据的版本。", "title": "修复若干内置函数不正确的并行安全性标记", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "059b199e2f7c8e806ad579f611244c670ea22b2843d7fddbe66e6417317a51b8", "section_path": ["变更"], "commit_groups": [["11002f8af", "283262cd9", "485857d44", "91d82317d", "b7537ffb1", "ea83c7e66"]], "identity_text": "Fix incorrect parallel-safety markings on a few built-in functions (Thomas Munro, Tom Lane) The functions brin_summarize_new_values, brin_summarize_range, brin_desummarize_range, gin_clean_pending_list, cursor_to_xml, cursor_to_xmlschema, ts_rewrite, ts_stat, binary_upgrade_create_empty_extension, and pg_import_system_collations should be marked parallel-unsafe; some because they perform database modifications directly, and others because they execute user-supplied queries that might do so. They were marked parallel-restricted instead, leading to a risk of unexpected query errors. This has been repaired for new installations by correcting the initial catalog data, but existing installations will continue to contain the incorrect markings. Practical use of these functions seems to pose little hazard unless force_parallel_mode is turned on. In case of trouble, it can be fixed by manually updating these functions' pg_proc entries, for example ALTER FUNCTION pg_catalog.brin_summarize_new_values(regclass) PARALLEL UNSAFE. (Note that that will need to be done in each database of the installation.) Another option is to pg_upgrade the database to a version containing the corrected initial data.", "commit_aliases": ["11002f8af", "283262cd9", "485857d44", "91d82317d", "b7537ffb1", "ea83c7e66"], "source_commits": ["283262cd9"], "source_entry_id": "10.4/changes/003", "db_id": "a8ee70e2cea4b27b449669d787034969", "patch_ids": ["803b6d012c731531667f61834b5cd4e4"], "statement_hash": "9b476fe77f2a3a70a90e81d0a15a55093c1e9218e17bde338e014f7ceb4b8d7b", "relations": [{"rule": 2, "type": "related", "target": "4dbf8dadd96c167df439302bf984d30d", "evidence": {"same_day": true, "patch_ids": ["803b6d012c731531667f61834b5cd4e4"], "ambiguous_patch_ids": ["803b6d012c731531667f61834b5cd4e4"]}}], "version": "10.4", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "4dbf8dadd96c167df439302bf984d30d", "kind": "related", "version": "10.4", "label": "10.4", "title": "修复若干内置函数不正确的易变性标记", "evidence": {"same_day": true, "patch_ids": ["803b6d012c731531667f61834b5cd4e4"], "ambiguous_patch_ids": ["803b6d012c731531667f61834b5cd4e4"]}, "url": "/docs/compare/?release=10.4#10.4-d2ec23ec103b9769", "source_url": "/docs/release/10.4/#id-1.11.6.24.5"}]}, {"id": "10.4-742655577058431a", "cves": [], "html": "<p>避免复用与已死亡但尚未清理的 TOAST 条目匹配的 TOAST 值 OID（Pavan Deolasee）</p>\n<p>一旦 OID 计数器发生回卷，就可能为 TOAST 值分配一个与同一 TOAST 表中先前删除条目相同的 OID。如果该条目尚未被清理，这会导致 <span>“<span>unexpected chunk number 0 (expected 1) for toast value <em><code>nnnnn</code></em></span>”</span> 错误，并持续到 <code>VACUUM</code> 移除死亡条目为止。修复方法是在创建新 TOAST 条目时不选择此类 OID。</p>", "text": "避免复用与已死亡但尚未清理的 TOAST 条目匹配的 TOAST 值 OID（Pavan Deolasee） 一旦 OID 计数器发生回卷，就可能为 TOAST 值分配一个与同一 TOAST 表中先前删除条目相同的 OID。如果该条目尚未被清理，这会导致 “unexpected chunk number 0 (expected 1) for toast value nnnnn” 错误，并持续到 VACUUM 移除死亡条目为止。修复方法是在创建新 TOAST 条目时不选择此类 OID。", "title": "避免复用与已死亡但尚未清理的 TOAST 条目匹配的 TOAST 值 OID", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "f07ca2127e8026fab1a27477a5730f43a14a48035a3a8dd8b4ee9516b9c888c5", "section_path": ["变更"], "commit_groups": [["0408e1ed5", "3767216fb", "5a11bf970", "5b3ed6b78", "7448e7e23", "8bba10f7e"], ["060bb38d0", "08e6cda1c", "66d4b6bb8", "6943fb927", "d1e907929", "efbe36a2c"]], "identity_text": "Avoid re-using TOAST value OIDs that match dead-but-not-yet-vacuumed TOAST entries (Pavan Deolasee) Once the OID counter has wrapped around, it's possible to assign a TOAST value whose OID matches a previously deleted entry in the same TOAST table. If that entry were not yet vacuumed away, this resulted in unexpected chunk number 0 (expected 1) for toast value nnnnn errors, which would persist until the dead entry was removed by VACUUM. Fix by not selecting such OIDs when creating a new TOAST entry.", "commit_aliases": ["0408e1ed5", "060bb38d0", "08e6cda1c", "3767216fb", "5a11bf970", "5b3ed6b78", "66d4b6bb8", "6943fb927", "7448e7e23", "8bba10f7e", "d1e907929", "efbe36a2c"], "source_commits": ["08e6cda1c", "5a11bf970"], "source_entry_id": "10.4/changes/004", "db_id": "e392178093fe6d0921ffb62054aa789b", "patch_ids": ["80bcfa319e6f74f5df35c80346ae3065", "f22869d731943e0d0ff9a59c77d64f7e"], "statement_hash": "41071cbd7b24941a80f90ae00e8631a89cce2cdc34545f79240e099448269380", "relations": [{"rule": 2, "type": "equivalent", "target": "4035d185e648f4a1a98665cfb8f9342c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "41071cbd7b24941a80f90ae00e8631a89cce2cdc34545f79240e099448269380"}}, {"rule": 2, "type": "equivalent", "target": "6880622ffcd47407c39b65ab10c581e1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "41071cbd7b24941a80f90ae00e8631a89cce2cdc34545f79240e099448269380"}}, {"rule": 2, "type": "equivalent", "target": "862469b6786f98380f5d936984d0d58d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "41071cbd7b24941a80f90ae00e8631a89cce2cdc34545f79240e099448269380"}}, {"rule": 2, "type": "equivalent", "target": "87f78c7f9303d4e8f2177bdb76e23f66", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "41071cbd7b24941a80f90ae00e8631a89cce2cdc34545f79240e099448269380"}}], "version": "10.4", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "4035d185e648f4a1a98665cfb8f9342c", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "避免重用与已死但尚未清理的 TOAST 条目匹配的 TOAST 值 OID", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "41071cbd7b24941a80f90ae00e8631a89cce2cdc34545f79240e099448269380"}, "url": "/docs/compare/?release=9.6.9#9.6.9-0b36128b9f1d5314", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "6880622ffcd47407c39b65ab10c581e1", "kind": "equivalent", "version": "9.5.13", "label": "9.5.13", "title": "避免重用与已死但尚未清理的 TOAST 条目匹配的 TOAST 值 OID", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "41071cbd7b24941a80f90ae00e8631a89cce2cdc34545f79240e099448269380"}, "url": "/docs/compare/?release=9.5.13#9.5.13-0b36128b9f1d5314", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5"}, {"db_id": "87f78c7f9303d4e8f2177bdb76e23f66", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "避免重用与已死但尚未清理的 TOAST 条目匹配的 TOAST 值 OID", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "41071cbd7b24941a80f90ae00e8631a89cce2cdc34545f79240e099448269380"}, "url": "/docs/compare/?release=9.4.18#9.4.18-0b36128b9f1d5314", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "862469b6786f98380f5d936984d0d58d", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "避免重用与已死但尚未清理的 TOAST 条目匹配的 TOAST 值 OID", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "41071cbd7b24941a80f90ae00e8631a89cce2cdc34545f79240e099448269380"}, "url": "/docs/compare/?release=9.3.23#9.3.23-0b36128b9f1d5314", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "10.4-c85c72b8089801df", "cves": [], "html": "<p>向分区表执行 <code>COPY</code> 时，正确实施各个分区上的所有 <code>CHECK</code> 约束（Etsuro Fujita）</p>\n<p>以前，只会检查为整个分区表声明的约束。</p>", "text": "向分区表执行 COPY 时，正确实施各个分区上的所有 CHECK 约束（Etsuro Fujita） 以前，只会检查为整个分区表声明的约束。", "title": "向分区表执行 COPY 时，正确实施各个分区上的所有 CHECK 约束", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "a473f9d5bb0593dadd6068a236984a88b24a6b85b30d36e65d1552d898567e25", "section_path": ["变更"], "commit_groups": [["29ab1e24a", "cfbecf810"]], "identity_text": "Correctly enforce any CHECK constraints on individual partitions during COPY to a partitioned table (Etsuro Fujita) Previously, only constraints declared for the partitioned table as a whole were checked.", "commit_aliases": ["29ab1e24a", "cfbecf810"], "source_commits": ["29ab1e24a"], "source_entry_id": "10.4/changes/005", "db_id": "3142e7ded6f20ed2f9a679dc072695b5", "patch_ids": ["9667d9d3873f76394e353fad4b93d263"], "statement_hash": "a0aa0730d65036cb05c237bf44a2aaf4c03ff6b57e0677f1467f89c0c41b6984", "relations": [], "version": "10.4", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "10.4-51bb79f709ba58da", "cves": [], "html": "<p>接受 <code>TRUE</code> 和 <code>FALSE</code> 作为分区边界值（Amit Langote）</p>\n<p>以前，布尔类型的分区列只接受字符串字面值。但 <span>pg_dump</span> 会将这些值输出为 <code>TRUE</code> 或 <code>FALSE</code>，从而导致转储/重载失败。</p>", "text": "接受 TRUE 和 FALSE 作为分区边界值（Amit Langote） 以前，布尔类型的分区列只接受字符串字面值。但 pg_dump 会将这些值输出为 TRUE 或 FALSE，从而导致转储/重载失败。", "title": "接受 TRUE 和 FALSE 作为分区边界值", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "c7feccfe2b8c60d6b885a9e831dd011399010a2dbf275b606fdf25f897812122", "section_path": ["变更"], "commit_groups": [["1222db999", "4df58f7ed"]], "identity_text": "Accept TRUE and FALSE as partition bound values (Amit Langote) Previously, only string-literal values were accepted for a boolean partitioning column. But then pg_dump would print such values as TRUE or FALSE, leading to dump/reload failures.", "commit_aliases": ["1222db999", "4df58f7ed"], "source_commits": ["1222db999"], "source_entry_id": "10.4/changes/006", "db_id": "5cf5feb9874ec5d78f298c76f8aeb6e4", "patch_ids": ["7867b8061066051a9891f11df3490926"], "statement_hash": "ed8020e743ec15fa28850730aabbe7ab97a20dc72eb0691ba7aa28561e585bca", "relations": [], "version": "10.4", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "10.4-2a5ed53e9f6b0a10", "cves": [], "html": "<p>修复分区键比较函数的内存管理（Álvaro Herrera，Amit Langote）</p>\n<p>使用用户定义的分区键操作符类时，此错误可能导致崩溃。</p>", "text": "修复分区键比较函数的内存管理（Álvaro Herrera，Amit Langote） 使用用户定义的分区键操作符类时，此错误可能导致崩溃。", "title": "修复分区键比较函数的内存管理", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "0d21fd2da63eb46e76b8f172b347327dfb5eb37f01b8f1908814f36ea7b2d3e9", "section_path": ["变更"], "commit_groups": [["5f11c6ec6", "a4d56f583"]], "identity_text": "Fix memory management for partition key comparison functions (Álvaro Herrera, Amit Langote) This error could lead to crashes when using user-defined operator classes for partition keys.", "commit_aliases": ["5f11c6ec6", "a4d56f583"], "source_commits": ["5f11c6ec6"], "source_entry_id": "10.4/changes/007", "db_id": "d51b31b662338778e70e011dffc01c45", "patch_ids": ["2d47e8fa48c0a1e84ce022777f143570"], "statement_hash": "e13e616a4259b584d7a9093703ebe0f1f244177898d7f8b5b7b1b773b7d4f9ef", "relations": [], "version": "10.4", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": []}, {"id": "10.4-ff60bb084aeebac8", "cves": [], "html": "<p>修复查询向分区表的多个分区插入元组，且这些分区行类型不同时可能发生的崩溃（Etsuro Fujita，Amit Langote）</p>", "text": "修复查询向分区表的多个分区插入元组，且这些分区行类型不同时可能发生的崩溃（Etsuro Fujita，Amit Langote）", "title": "修复查询向分区表的多个分区插入元组，且这些分区行类型不同时可能发生的崩溃", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "29213c821581d7933887503c1e794e644dbd5dc28d8d3eb955cc887b17bc9080", "section_path": ["变更"], "commit_groups": [["6666ee49f", "e3faddf53"]], "identity_text": "Fix possible crash when a query inserts tuples in several partitions of a partitioned table, and those partitions don't have identical row types (Etsuro Fujita, Amit Langote)", "commit_aliases": ["6666ee49f", "e3faddf53"], "source_commits": ["e3faddf53"], "source_entry_id": "10.4/changes/008", "db_id": "99bf21b68110e8f462913641709eec82", "patch_ids": ["08aa73d38a99e83eaa1a870048359d6a"], "statement_hash": "1d3412285c90b78122ab43bb6fa1ac05100efb1a1a0d6f2595c0b1216fd262ec", "relations": [], "version": "10.4", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": []}, {"id": "10.4-3a127c2a06a6d238", "cves": [], "html": "<p>更改 <code>ANALYZE</code> 更新 <code>pg_class</code>.<code>reltuples</code> 的算法（David Gould）</p>\n<p>以前，假定 <code>ANALYZE</code> 未实际扫描的页面保持原有元组密度。对于大表，<code>ANALYZE</code> 仅对很小一部分页面采样，这意味着整体元组密度估算无法发生太大变化，因此无论表内实际发生什么，<code>reltuples</code> 都会近似正比于表物理大小（<code>relpages</code>）的变化而变化。已观察到这会使 <code>reltuples</code> 远大于实际值，以至于自动清理实际上停止工作。修复方法是假定 <code>ANALYZE</code> 的样本是该表统计上无偏的样本（它本应如此），并直接将这些页面内观测到的密度外推到整个表。</p>", "text": "更改 ANALYZE 更新 pg_class.reltuples 的算法（David Gould） 以前，假定 ANALYZE 未实际扫描的页面保持原有元组密度。对于大表，ANALYZE 仅对很小一部分页面采样，这意味着整体元组密度估算无法发生太大变化，因此无论表内实际发生什么，reltuples 都会近似正比于表物理大小（relpages）的变化而变化。已观察到这会使 reltuples 远大于实际值，以至于自动清理实际上停止工作。修复方法是假定 ANALYZE 的样本是该表统计上无偏的样本（它本应如此），并直接将这些页面内观测到的密度外推到整个表。", "title": "更改 ANALYZE 更新 pg_class.reltuples 的算法", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "ab582ed68ed7af70856cc451cf021d8aa4bc6eef4a5f40d817f1ad4b80b93876", "section_path": ["变更"], "commit_groups": [["1bfb56723", "25a2ba35e", "c2c4bc628", "c9414e786", "d04900de7", "d44ce7b1a"]], "identity_text": "Change ANALYZE's algorithm for updating pg_class.reltuples (David Gould) Previously, pages not actually scanned by ANALYZE were assumed to retain their old tuple density. In a large table where ANALYZE samples only a small fraction of the pages, this meant that the overall tuple density estimate could not change very much, so that reltuples would change nearly proportionally to changes in the table's physical size (relpages) regardless of what was actually happening in the table. This has been observed to result in reltuples becoming so much larger than reality as to effectively shut off autovacuuming. To fix, assume that ANALYZE's sample is a statistically unbiased sample of the table (as it should be), and just extrapolate the density observed within those pages to the whole table.", "commit_aliases": ["1bfb56723", "25a2ba35e", "c2c4bc628", "c9414e786", "d04900de7", "d44ce7b1a"], "source_commits": ["1bfb56723"], "source_entry_id": "10.4/changes/009", "db_id": "49169d0a2a7bf9f563f7cc87052ed66c", "patch_ids": ["5323dcece858f3c09fd3ed27478da47c"], "statement_hash": "3f7486be39637dca1b6d81e43cfb528cb043b1048f4d302b41ad6f0bcf06deca", "relations": [{"rule": 2, "type": "equivalent", "target": "0d77dfa076b199c528dac488a698de1c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3f7486be39637dca1b6d81e43cfb528cb043b1048f4d302b41ad6f0bcf06deca"}}, {"rule": 2, "type": "equivalent", "target": "1e07897a13bb0d50127fcd293b5bc360", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3f7486be39637dca1b6d81e43cfb528cb043b1048f4d302b41ad6f0bcf06deca"}}, {"rule": 2, "type": "equivalent", "target": "3e963cf0d2e3a8f46e9b73a2a5a181bd", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3f7486be39637dca1b6d81e43cfb528cb043b1048f4d302b41ad6f0bcf06deca"}}, {"rule": 2, "type": "equivalent", "target": "4a1631e90e65b4c3703e7b1179d0803e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3f7486be39637dca1b6d81e43cfb528cb043b1048f4d302b41ad6f0bcf06deca"}}], "version": "10.4", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "0d77dfa076b199c528dac488a698de1c", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "更改 ANALYZE 更新 pg_class.reltuples 的算法", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3f7486be39637dca1b6d81e43cfb528cb043b1048f4d302b41ad6f0bcf06deca"}, "url": "/docs/compare/?release=9.6.9#9.6.9-3a127c2a06a6d238", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "4a1631e90e65b4c3703e7b1179d0803e", "kind": "equivalent", "version": "9.5.13", "label": "9.5.13", "title": "更改 ANALYZE 更新 pg_class.reltuples 的算法", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3f7486be39637dca1b6d81e43cfb528cb043b1048f4d302b41ad6f0bcf06deca"}, "url": "/docs/compare/?release=9.5.13#9.5.13-3a127c2a06a6d238", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5"}, {"db_id": "1e07897a13bb0d50127fcd293b5bc360", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "更改 ANALYZE 更新 pg_class.reltuples 的算法", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3f7486be39637dca1b6d81e43cfb528cb043b1048f4d302b41ad6f0bcf06deca"}, "url": "/docs/compare/?release=9.4.18#9.4.18-3a127c2a06a6d238", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "3e963cf0d2e3a8f46e9b73a2a5a181bd", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "更改 ANALYZE 更新 pg_class.reltuples 的算法", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3f7486be39637dca1b6d81e43cfb528cb043b1048f4d302b41ad6f0bcf06deca"}, "url": "/docs/compare/?release=9.3.23#9.3.23-3a127c2a06a6d238", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "10.4-33d1dd7741bbacfa", "cves": [], "html": "<p>将扩展统计对象包含在 <code>CREATE TABLE ... LIKE ... INCLUDING ALL</code> 复制的表属性集合中（David Rowley）</p>\n<p>同时添加 <code>INCLUDING STATISTICS</code> 选项，以更细致地控制是否复制这些对象。</p>", "text": "将扩展统计对象包含在 CREATE TABLE ... LIKE ... INCLUDING ALL 复制的表属性集合中（David Rowley） 同时添加 INCLUDING STATISTICS 选项，以更细致地控制是否复制这些对象。", "title": "将扩展统计对象包含在 CREATE TABLE ... LIKE ... INCLUDING ALL 复制的表属性集合中", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "66a48adcb4bf6318e0dc9c8c2ad483801376eabba3206dcaadec1aa339bc069b", "section_path": ["变更"], "commit_groups": [["5564c1181", "911e6236b"]], "identity_text": "Include extended-statistics objects in the set of table properties duplicated by CREATE TABLE ... LIKE ... INCLUDING ALL (David Rowley) Also add an INCLUDING STATISTICS option, to allow finer-grained control over whether this happens.", "commit_aliases": ["5564c1181", "911e6236b"], "source_commits": ["911e6236b"], "source_entry_id": "10.4/changes/010", "db_id": "194677f3a808568f91ed37bb11c970fd", "patch_ids": ["289e1b6f599f8666e851f608cc90b6f7"], "statement_hash": "43458dd41fd6b810eaeb70af9f6ff3bd7de2a82f962ff9f9e498233d24801387", "relations": [], "version": "10.4", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "10.4-cb538c0c79c8832c", "cves": [], "html": "<p>修复带有 <code>bigint</code> 标识列的 <code>CREATE TABLE ... LIKE</code>（Peter Eisentraut）</p>\n<p>在 <code>long</code> 为 32 位的平台上（包括 64 位 Windows 和大多数 32 位机器），复制的序列参数会被截断为 32 位。</p>", "text": "修复带有 bigint 标识列的 CREATE TABLE ... LIKE（Peter Eisentraut） 在 long 为 32 位的平台上（包括 64 位 Windows 和大多数 32 位机器），复制的序列参数会被截断为 32 位。", "title": "修复带有 bigint 标识列的 CREATE TABLE ... LIKE", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "3d7db3ca85c04e570331126aab284d52d4b1a7196f50f3ea85b5e11593f47518", "section_path": ["变更"], "commit_groups": [["377b5ac48", "c32f44c4a"]], "identity_text": "Fix CREATE TABLE ... LIKE with bigint identity columns (Peter Eisentraut) On platforms where long is 32 bits (which includes 64-bit Windows as well as most 32-bit machines), copied sequence parameters would be truncated to 32 bits.", "commit_aliases": ["377b5ac48", "c32f44c4a"], "source_commits": ["c32f44c4a"], "source_entry_id": "10.4/changes/011", "db_id": "d558ba637b37345625f83d9b11f2de9a", "patch_ids": ["6ffbb4ff89a5ba3233d415a67f643f42"], "statement_hash": "4f1e35217a6b7ac1c1cccc7ac533b955ce805513a16be87dda28486eb14360c4", "relations": [], "version": "10.4", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": []}, {"id": "10.4-c040306fa7cd2be2", "cves": [], "html": "<p>避免在 <code>SERIALIZABLE</code> 或 <code>REPEATABLE READ</code> 事务隔离级别下并发运行 <code>CREATE INDEX CONCURRENTLY</code> 命令时发生死锁（Tom Lane）</p>", "text": "避免在 SERIALIZABLE 或 REPEATABLE READ 事务隔离级别下并发运行 CREATE INDEX CONCURRENTLY 命令时发生死锁（Tom Lane）", "title": "避免在 SERIALIZABLE 或 REPEATABLE READ 事务隔离级别下并发运行 CREATE INDEX CONCURRENTLY 命令时发生死锁", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "691f98ec8d154c24c7fae645a93cc84b63d6d7bdd4571f124375594474de50ea", "section_path": ["变更"], "commit_groups": [["1dec82068", "69e3a548e", "7490ce725", "82acf3eb7", "94a898f69"]], "identity_text": "Avoid deadlocks in concurrent CREATE INDEX CONCURRENTLY commands that are run under SERIALIZABLE or REPEATABLE READ transaction isolation (Tom Lane)", "commit_aliases": ["1dec82068", "69e3a548e", "7490ce725", "82acf3eb7", "94a898f69"], "source_commits": ["94a898f69"], "source_entry_id": "10.4/changes/012", "db_id": "aad884265a80122f34b9b9684b3f4cfe", "patch_ids": ["1df24e8843beb655110c1ceca922eb53"], "statement_hash": "21ba85c192f8e7aef47763976074fb88ac7afbb31e5ab0c0ab8477104ce277fe", "relations": [{"rule": 2, "type": "equivalent", "target": "191769a0661f7d949b324009d138f340", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "21ba85c192f8e7aef47763976074fb88ac7afbb31e5ab0c0ab8477104ce277fe"}}, {"rule": 2, "type": "equivalent", "target": "1dd46aade8b4ab20cf5381f9a17a609c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "21ba85c192f8e7aef47763976074fb88ac7afbb31e5ab0c0ab8477104ce277fe"}}, {"rule": 2, "type": "equivalent", "target": "9d82a4f873bce505f63f2ef3c5270503", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "21ba85c192f8e7aef47763976074fb88ac7afbb31e5ab0c0ab8477104ce277fe"}}], "version": "10.4", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "9d82a4f873bce505f63f2ef3c5270503", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "避免在 SERIALIZABLE 或 REPEATABLE READ 事务隔离下运行的并发 CREATE INDEX CONCURRENTLY 命令中的死锁", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "21ba85c192f8e7aef47763976074fb88ac7afbb31e5ab0c0ab8477104ce277fe"}, "url": "/docs/compare/?release=9.6.9#9.6.9-dd9b5607563ed577", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "191769a0661f7d949b324009d138f340", "kind": "equivalent", "version": "9.5.13", "label": "9.5.13", "title": "避免在 SERIALIZABLE 或 REPEATABLE READ 事务隔离下运行的并发 CREATE INDEX CONCURRENTLY 命令中的死锁", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "21ba85c192f8e7aef47763976074fb88ac7afbb31e5ab0c0ab8477104ce277fe"}, "url": "/docs/compare/?release=9.5.13#9.5.13-dd9b5607563ed577", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5"}, {"db_id": "1dd46aade8b4ab20cf5381f9a17a609c", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "避免在 SERIALIZABLE 或 REPEATABLE READ 事务隔离下运行的并发 CREATE INDEX CONCURRENTLY 命令中的死锁", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "21ba85c192f8e7aef47763976074fb88ac7afbb31e5ab0c0ab8477104ce277fe"}, "url": "/docs/compare/?release=9.4.18#9.4.18-dd9b5607563ed577", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}]}, {"id": "10.4-2d8a203a604e9b37", "cves": [], "html": "<p>修复 <code>REFRESH MATERIALIZED VIEW CONCURRENTLY</code> 可能执行缓慢的问题（Thomas Munro）</p>", "text": "修复 REFRESH MATERIALIZED VIEW CONCURRENTLY 可能执行缓慢的问题（Thomas Munro）", "title": "修复 REFRESH MATERIALIZED VIEW CONCURRENTLY 可能执行缓慢的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "7954e71f56db9d726e5932a8e07933a3d575cc067d76fbf3dbd05b686b66c90b", "section_path": ["变更"], "commit_groups": [["1568156d8", "6fbd5cce2", "b6ba94ec4", "c553e4a50", "ebcf34d46"]], "identity_text": "Fix possible slow execution of REFRESH MATERIALIZED VIEW CONCURRENTLY (Thomas Munro)", "commit_aliases": ["1568156d8", "6fbd5cce2", "b6ba94ec4", "c553e4a50", "ebcf34d46"], "source_commits": ["1568156d8"], "source_entry_id": "10.4/changes/013", "db_id": "ce75059760758e482fd277227a78929c", "patch_ids": ["5c5155149946c4a19c3187976ab648ad"], "statement_hash": "dd5714dcd06b3a893294d447b1244e8640ae9eee7666c845027c8465fa82db83", "relations": [{"rule": 2, "type": "equivalent", "target": "2276c457fca4b0de608c590235198202", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dd5714dcd06b3a893294d447b1244e8640ae9eee7666c845027c8465fa82db83"}}, {"rule": 2, "type": "equivalent", "target": "23bedbfaa5c8a44d40d533c53085aadd", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dd5714dcd06b3a893294d447b1244e8640ae9eee7666c845027c8465fa82db83"}}, {"rule": 2, "type": "equivalent", "target": "e720684aa44612421ccfa3003345c1d7", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dd5714dcd06b3a893294d447b1244e8640ae9eee7666c845027c8465fa82db83"}}], "version": "10.4", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "23bedbfaa5c8a44d40d533c53085aadd", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "修复 REFRESH MATERIALIZED VIEW CONCURRENTLY 可能缓慢的执行", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dd5714dcd06b3a893294d447b1244e8640ae9eee7666c845027c8465fa82db83"}, "url": "/docs/compare/?release=9.6.9#9.6.9-060f3ef203288487", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "e720684aa44612421ccfa3003345c1d7", "kind": "equivalent", "version": "9.5.13", "label": "9.5.13", "title": "修复 REFRESH MATERIALIZED VIEW CONCURRENTLY 可能缓慢的执行", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dd5714dcd06b3a893294d447b1244e8640ae9eee7666c845027c8465fa82db83"}, "url": "/docs/compare/?release=9.5.13#9.5.13-060f3ef203288487", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5"}, {"db_id": "2276c457fca4b0de608c590235198202", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "修复 REFRESH MATERIALIZED VIEW CONCURRENTLY 可能缓慢的执行", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dd5714dcd06b3a893294d447b1244e8640ae9eee7666c845027c8465fa82db83"}, "url": "/docs/compare/?release=9.4.18#9.4.18-060f3ef203288487", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}]}, {"id": "10.4-ecf79f0d3bec4228", "cves": [], "html": "<p>修复 <code>UPDATE/DELETE ... WHERE CURRENT OF</code>，使其在所引用游标使用仅索引扫描计划时不会失败（Yugo Nagata，Tom Lane）</p>", "text": "修复 UPDATE/DELETE ... WHERE CURRENT OF，使其在所引用游标使用仅索引扫描计划时不会失败（Yugo Nagata，Tom Lane）", "title": "修复 UPDATE/DELETE ... WHERE CURRENT OF，使其在所引用游标使用仅索引扫描计划时不会失败", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "3d12414526203c306635fb0b65ea2a6424484dc506669342de8224ea7e30e05f", "section_path": ["变更"], "commit_groups": [["0a0721f84", "12d18b487", "5b77c11da", "7de7ddb27", "8f5ac4404", "ee7bf0fd9"]], "identity_text": "Fix UPDATE/DELETE ... WHERE CURRENT OF to not fail when the referenced cursor uses an index-only-scan plan (Yugo Nagata, Tom Lane)", "commit_aliases": ["0a0721f84", "12d18b487", "5b77c11da", "7de7ddb27", "8f5ac4404", "ee7bf0fd9"], "source_commits": ["ee7bf0fd9"], "source_entry_id": "10.4/changes/014", "db_id": "276437aae600160130d6f092ec25aebd", "patch_ids": ["78ce9c5f1a3ef5e1808077f6ab982bde"], "statement_hash": "ea5abd72e1126fd333dcb5f251416bf100dfecbe0c24e2f2a25ddd2ee8738356", "relations": [{"rule": 2, "type": "equivalent", "target": "2a0ab3053bfdfc51b055b43959af1610", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ea5abd72e1126fd333dcb5f251416bf100dfecbe0c24e2f2a25ddd2ee8738356"}}, {"rule": 2, "type": "equivalent", "target": "4740d9f31fd4c12b6d5a04c40c8195be", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ea5abd72e1126fd333dcb5f251416bf100dfecbe0c24e2f2a25ddd2ee8738356"}}, {"rule": 2, "type": "equivalent", "target": "97bb10cc9f08896474b1fbb4124b5dea", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ea5abd72e1126fd333dcb5f251416bf100dfecbe0c24e2f2a25ddd2ee8738356"}}, {"rule": 2, "type": "equivalent", "target": "a676ae183019c3faf5d5c6e70ec82251", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ea5abd72e1126fd333dcb5f251416bf100dfecbe0c24e2f2a25ddd2ee8738356"}}], "version": "10.4", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "a676ae183019c3faf5d5c6e70ec82251", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "修复 UPDATE/DELETE ... WHERE CURRENT OF 在所引用游标使用仅索引扫描计划时不失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ea5abd72e1126fd333dcb5f251416bf100dfecbe0c24e2f2a25ddd2ee8738356"}, "url": "/docs/compare/?release=9.6.9#9.6.9-c5317df56ae6d1b1", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "4740d9f31fd4c12b6d5a04c40c8195be", "kind": "equivalent", "version": "9.5.13", "label": "9.5.13", "title": "修复 UPDATE/DELETE ... WHERE CURRENT OF 在所引用游标使用仅索引扫描计划时不失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ea5abd72e1126fd333dcb5f251416bf100dfecbe0c24e2f2a25ddd2ee8738356"}, "url": "/docs/compare/?release=9.5.13#9.5.13-c5317df56ae6d1b1", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5"}, {"db_id": "97bb10cc9f08896474b1fbb4124b5dea", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "修复 UPDATE/DELETE ... WHERE CURRENT OF 在所引用游标使用仅索引扫描计划时不失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ea5abd72e1126fd333dcb5f251416bf100dfecbe0c24e2f2a25ddd2ee8738356"}, "url": "/docs/compare/?release=9.4.18#9.4.18-c5317df56ae6d1b1", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "2a0ab3053bfdfc51b055b43959af1610", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "修复 UPDATE/DELETE ... WHERE CURRENT OF 在所引用游标使用仅索引扫描计划时不失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ea5abd72e1126fd333dcb5f251416bf100dfecbe0c24e2f2a25ddd2ee8738356"}, "url": "/docs/compare/?release=9.3.23#9.3.23-c5317df56ae6d1b1", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "10.4-d414e65c7514963d", "cves": [], "html": "<p>修复对下推到参数化路径的连接子句的不正确规划（Andrew Gierth，Tom Lane）</p>\n<p>此错误可能将本应为普通<span>“<span>过滤</span>”</span>条件的条件错误归类为外连接的<span>“<span>连接过滤</span>”</span>条件，导致连接输出不正确。</p>", "text": "修复对下推到参数化路径的连接子句的不正确规划（Andrew Gierth，Tom Lane） 此错误可能将本应为普通“过滤”条件的条件错误归类为外连接的“连接过滤”条件，导致连接输出不正确。", "title": "修复对下推到参数化路径的连接子句的不正确规划", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "def47e36009954abad3d966522be5964fedbe7248350b22ae488e2b81c30e5bb", "section_path": ["变更"], "commit_groups": [["0c141fcaa", "68fab04f7", "a347d5210", "e1d4398c0", "e4e43a16b", "e5d83995e"], ["306d6e59f"], ["58fec9526", "64ad85860", "80e12a621", "8b6294c7a", "9680c120e", "c792c7db4"]], "identity_text": "Fix incorrect planning of join clauses pushed into parameterized paths (Andrew Gierth, Tom Lane) This error could result in misclassifying a condition as a join filter for an outer join when it should be a plain filter condition, leading to incorrect join output.", "commit_aliases": ["0c141fcaa", "306d6e59f", "58fec9526", "64ad85860", "68fab04f7", "80e12a621", "8b6294c7a", "9680c120e", "a347d5210", "c792c7db4", "e1d4398c0", "e4e43a16b", "e5d83995e"], "source_commits": ["306d6e59f", "68fab04f7", "8b6294c7a"], "source_entry_id": "10.4/changes/015", "db_id": "06975570bb43368f9da3f3e6e63f9b5b", "patch_ids": ["888a5601317ad504d59eaeee4efcfba1", "ab7bbdd393e8339654afa30b4b191ef3", "b314ba5a764db1a77dabd23c1561b6e5"], "statement_hash": "b2d3d92abe45b4bc5c4c2e763a9089f60d7d13c908a2a9bacc483ebf0261889e", "relations": [{"rule": 2, "type": "equivalent", "target": "09ec2b803f67c9b215ef0d191cc745b9", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b2d3d92abe45b4bc5c4c2e763a9089f60d7d13c908a2a9bacc483ebf0261889e"}}, {"rule": 2, "type": "equivalent", "target": "385cc7ec3e8ca84a5532528a2053d355", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b2d3d92abe45b4bc5c4c2e763a9089f60d7d13c908a2a9bacc483ebf0261889e"}}, {"rule": 2, "type": "equivalent", "target": "c3f441037d6fc540343df997ba5757c6", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b2d3d92abe45b4bc5c4c2e763a9089f60d7d13c908a2a9bacc483ebf0261889e"}}, {"rule": 2, "type": "equivalent", "target": "f76c4e3fcb04e1fb3730b3de25bf89fd", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b2d3d92abe45b4bc5c4c2e763a9089f60d7d13c908a2a9bacc483ebf0261889e"}}], "version": "10.4", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "385cc7ec3e8ca84a5532528a2053d355", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "修复下推到参数化路径的连接子句的错误规划", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b2d3d92abe45b4bc5c4c2e763a9089f60d7d13c908a2a9bacc483ebf0261889e"}, "url": "/docs/compare/?release=9.6.9#9.6.9-7699b7c857aee911", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "f76c4e3fcb04e1fb3730b3de25bf89fd", "kind": "equivalent", "version": "9.5.13", "label": "9.5.13", "title": "修复下推到参数化路径的连接子句的错误规划", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b2d3d92abe45b4bc5c4c2e763a9089f60d7d13c908a2a9bacc483ebf0261889e"}, "url": "/docs/compare/?release=9.5.13#9.5.13-7699b7c857aee911", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5"}, {"db_id": "c3f441037d6fc540343df997ba5757c6", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "修复下推到参数化路径的连接子句的错误规划", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b2d3d92abe45b4bc5c4c2e763a9089f60d7d13c908a2a9bacc483ebf0261889e"}, "url": "/docs/compare/?release=9.4.18#9.4.18-7699b7c857aee911", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "09ec2b803f67c9b215ef0d191cc745b9", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "修复下推到参数化路径的连接子句的错误规划", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b2d3d92abe45b4bc5c4c2e763a9089f60d7d13c908a2a9bacc483ebf0261889e"}, "url": "/docs/compare/?release=9.3.23#9.3.23-7699b7c857aee911", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "10.4-2b5194ec207c26bd", "cves": [], "html": "<p>修复同一表列出现在多个索引列中，且只有部分索引列使用能够返回列值的操作符类时，可能错误生成仅索引扫描计划的问题（Kyotaro Horiguchi）</p>", "text": "修复同一表列出现在多个索引列中，且只有部分索引列使用能够返回列值的操作符类时，可能错误生成仅索引扫描计划的问题（Kyotaro Horiguchi）", "title": "修复同一表列出现在多个索引列中，且只有部分索引列使用能够返回列值的操作符类时，可能错误生成仅索引扫描计划的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "9b7b1244f57e604bce03083833696e7538c40f04ade8fe0beff8feae648cfd62", "section_path": ["变更"], "commit_groups": [["147b59971", "3f26be83e", "b5febc1d1", "be55bfc93"]], "identity_text": "Fix possibly incorrect generation of an index-only-scan plan when the same table column appears in multiple index columns, and only some of those index columns use operator classes that can return the column value (Kyotaro Horiguchi)", "commit_aliases": ["147b59971", "3f26be83e", "b5febc1d1", "be55bfc93"], "source_commits": ["147b59971"], "source_entry_id": "10.4/changes/016", "db_id": "5e50f2ba78c090789c3986ee7584e581", "patch_ids": ["c761d23ef8867f9737453beaac8da2e1"], "statement_hash": "8faf64f27dbbac5471cc14d45186c67d0150608739e241b36785cc3599bc1b1b", "relations": [{"rule": 2, "type": "equivalent", "target": "02264aa09149ae35fed8d78b05f44669", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8faf64f27dbbac5471cc14d45186c67d0150608739e241b36785cc3599bc1b1b"}}, {"rule": 2, "type": "equivalent", "target": "335bf823501c9efe11167e9cb9942f02", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8faf64f27dbbac5471cc14d45186c67d0150608739e241b36785cc3599bc1b1b"}}], "version": "10.4", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "335bf823501c9efe11167e9cb9942f02", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "修复同一表列出现在多个索引列中，且只有部分索引列使用能返回该列值的操作符类时，仅索引扫描计划可能不正确的生成", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8faf64f27dbbac5471cc14d45186c67d0150608739e241b36785cc3599bc1b1b"}, "url": "/docs/compare/?release=9.6.9#9.6.9-38369a47b6180e9f", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "02264aa09149ae35fed8d78b05f44669", "kind": "equivalent", "version": "9.5.13", "label": "9.5.13", "title": "修复同一表列出现在多个索引列中，且只有部分索引列使用能返回该列值的操作符类时，仅索引扫描计划可能不正确的生成", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8faf64f27dbbac5471cc14d45186c67d0150608739e241b36785cc3599bc1b1b"}, "url": "/docs/compare/?release=9.5.13#9.5.13-38369a47b6180e9f", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5"}]}, {"id": "10.4-10267cbcef4716ea", "cves": [], "html": "<p>修复对 <code>CHECK</code> 约束的不正确优化，此类约束的顶层 <code>AND</code>/<code>OR</code> 条件包含可证明为 NULL 的子句（Tom Lane，Dean Rasheed）</p>\n<p>例如，这可能使约束排除机制从查询中排除本不应被排除的子表。</p>", "text": "修复对 CHECK 约束的不正确优化，此类约束的顶层 AND/OR 条件包含可证明为 NULL 的子句（Tom Lane，Dean Rasheed） 例如，这可能使约束排除机制从查询中排除本不应被排除的子表。", "title": "修复对 CHECK 约束的不正确优化，此类约束的顶层 AND/OR 条件包含可证明为 NULL 的子句", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "5d1ec154901768e9c63d72fcb97a2eff9cf25e76e08c93d073a277e4b75e1743", "section_path": ["变更"], "commit_groups": [["106d58805", "4a4e2442a", "925581d89", "976e5844e", "e2ed3c4a3", "e556fb137"]], "identity_text": "Fix misoptimization of CHECK constraints having provably-NULL subclauses of top-level AND/OR conditions (Tom Lane, Dean Rasheed) This could, for example, allow constraint exclusion to exclude a child table that should not be excluded from a query.", "commit_aliases": ["106d58805", "4a4e2442a", "925581d89", "976e5844e", "e2ed3c4a3", "e556fb137"], "source_commits": ["e2ed3c4a3"], "source_entry_id": "10.4/changes/017", "db_id": "93aed99951085f5f712fdcc5e8e7b204", "patch_ids": ["0e11974f1dc9eb4726463568149ca6ae"], "statement_hash": "6d749968e0afa0cfaf9eed8c508bebbf93e3915e6de338de79618220b40171e8", "relations": [{"rule": 2, "type": "equivalent", "target": "751864888c8d30783ddb1f606d0926b7", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6d749968e0afa0cfaf9eed8c508bebbf93e3915e6de338de79618220b40171e8"}}, {"rule": 2, "type": "equivalent", "target": "882de0e68f70dccc590c805899ce41b4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6d749968e0afa0cfaf9eed8c508bebbf93e3915e6de338de79618220b40171e8"}}, {"rule": 2, "type": "equivalent", "target": "e895843a75a8dc275aec770e0af95c62", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6d749968e0afa0cfaf9eed8c508bebbf93e3915e6de338de79618220b40171e8"}}, {"rule": 2, "type": "equivalent", "target": "f3056884eb9a381bf3016240f199c28f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6d749968e0afa0cfaf9eed8c508bebbf93e3915e6de338de79618220b40171e8"}}], "version": "10.4", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "f3056884eb9a381bf3016240f199c28f", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "修复对顶层 AND/OR 条件带有可证明为 NULL 子子句的 CHECK 约束的错误优化", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6d749968e0afa0cfaf9eed8c508bebbf93e3915e6de338de79618220b40171e8"}, "url": "/docs/compare/?release=9.6.9#9.6.9-861e51c1f3a53a2d", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "751864888c8d30783ddb1f606d0926b7", "kind": "equivalent", "version": "9.5.13", "label": "9.5.13", "title": "修复对顶层 AND/OR 条件带有可证明为 NULL 子子句的 CHECK 约束的错误优化", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6d749968e0afa0cfaf9eed8c508bebbf93e3915e6de338de79618220b40171e8"}, "url": "/docs/compare/?release=9.5.13#9.5.13-861e51c1f3a53a2d", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5"}, {"db_id": "e895843a75a8dc275aec770e0af95c62", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "修复对顶层 AND/OR 条件带有可证明为 NULL 子子句的 CHECK 约束的错误优化", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6d749968e0afa0cfaf9eed8c508bebbf93e3915e6de338de79618220b40171e8"}, "url": "/docs/compare/?release=9.4.18#9.4.18-861e51c1f3a53a2d", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "882de0e68f70dccc590c805899ce41b4", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "修复对顶层 AND/OR 条件带有可证明为 NULL 子子句的 CHECK 约束的错误优化", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6d749968e0afa0cfaf9eed8c508bebbf93e3915e6de338de79618220b40171e8"}, "url": "/docs/compare/?release=9.3.23#9.3.23-861e51c1f3a53a2d", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "10.4-ee5391bea53ea3a7", "cves": [], "html": "<p>防止查询具有多个 <code>GROUPING SETS</code> 且没有任何一个可以通过排序实现时规划器崩溃（Andrew Gierth）</p>", "text": "防止查询具有多个 GROUPING SETS 且没有任何一个可以通过排序实现时规划器崩溃（Andrew Gierth）", "title": "防止查询具有多个 GROUPING SETS 且没有任何一个可以通过排序实现时规划器崩溃", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "f5fe361d6ae23aea23847e8ac60ca0c13bac63ce171db1c3c00d920d91d3e20a", "section_path": ["变更"], "commit_groups": [["cf21c4649", "d2d79887e"]], "identity_text": "Prevent planner crash when a query has multiple GROUPING SETS, none of which can be implemented by sorting (Andrew Gierth)", "commit_aliases": ["cf21c4649", "d2d79887e"], "source_commits": ["cf21c4649"], "source_entry_id": "10.4/changes/018", "db_id": "2c663a2cc0478045d5349111117004ac", "patch_ids": ["aca717029a267371c59c236bd3312f5c"], "statement_hash": "c1587c350f9df87537c95a09d0799cf58040a7a3076b5494ccde45a67d875508", "relations": [], "version": "10.4", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": []}, {"id": "10.4-9cfa72218bb4511f", "cves": [], "html": "<p>修复某些 <code>GROUPING SETS</code> 用法中因重复释放导致的执行器崩溃（Peter Geoghegan）</p>", "text": "修复某些 GROUPING SETS 用法中因重复释放导致的执行器崩溃（Peter Geoghegan）", "title": "修复某些 GROUPING SETS 用法中因重复释放导致的执行器崩溃", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "eca943b5c1fc23e680ab62e63abb266ef0687d5f83473e295a71cc2400b76e81", "section_path": ["变更"], "commit_groups": [["90decdba3", "c2d4eb1b1", "c98f218fb", "e4ff71158"]], "identity_text": "Fix executor crash due to double free in some GROUPING SETS usages (Peter Geoghegan)", "commit_aliases": ["90decdba3", "c2d4eb1b1", "c98f218fb", "e4ff71158"], "source_commits": ["c98f218fb"], "source_entry_id": "10.4/changes/019", "db_id": "96c9ca643452e8d317b11b5de5e77054", "patch_ids": ["936db855f3bab83d9fb1f139db3a963e"], "statement_hash": "f4179e2dfec8305f9f81f2dafc55175cd75c4dd78697070f1511b2d0a4e4de7f", "relations": [], "version": "10.4", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": []}, {"id": "10.4-1454c3e81fef8e17", "cves": [], "html": "<p>修复对过渡表执行自连接时的不正确执行（Thomas Munro）</p>", "text": "修复对过渡表执行自连接时的不正确执行（Thomas Munro）", "title": "修复对过渡表执行自连接时的不正确执行", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "673d02061dca0d0459864c1ac1653c5073b6fe57813e21cae8d04044ff101a20", "section_path": ["变更"], "commit_groups": [["b9dac4a6e", "e98a4de7d"]], "identity_text": "Fix misexecution of self-joins on transition tables (Thomas Munro)", "commit_aliases": ["b9dac4a6e", "e98a4de7d"], "source_commits": ["b9dac4a6e"], "source_entry_id": "10.4/changes/020", "db_id": "15a5cfefc984af5adaa843ae8d9fc07c", "patch_ids": ["5a8ec9775d7b44eb8fa925decc400034"], "statement_hash": "ebd1d85f5738df86e2ace98d2b060d333bd8864c30c81ec3c0a5a1d7b3a60ccf", "relations": [], "version": "10.4", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": []}, {"id": "10.4-089465fcf3239ebc", "cves": [], "html": "<p>避免添加表重写事件触发器与可能调用此类触发器的命令并发进行时发生崩溃（Álvaro Herrera，Andrew Gierth，Tom Lane）</p>", "text": "避免添加表重写事件触发器与可能调用此类触发器的命令并发进行时发生崩溃（Álvaro Herrera，Andrew Gierth，Tom Lane）", "title": "避免添加表重写事件触发器与可能调用此类触发器的命令并发进行时发生崩溃", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "fc799c55d28293d9fc23bb58fafc5d2ca168766c492c435af6cadf4eb485b74b", "section_path": ["变更"], "commit_groups": [["168df1b84", "b1b71f165", "c76d0eed2", "fab4ecacc"]], "identity_text": "Avoid crash if a table rewrite event trigger is added concurrently with a command that could call such a trigger (Álvaro Herrera, Andrew Gierth, Tom Lane)", "commit_aliases": ["168df1b84", "b1b71f165", "c76d0eed2", "fab4ecacc"], "source_commits": ["fab4ecacc"], "source_entry_id": "10.4/changes/021", "db_id": "54bc88655b4d449b3ded2bcec026a3b0", "patch_ids": ["5561754879b3df8b8cbe37c2b5dbec86"], "statement_hash": "03f74730007f0bec49a7ddf89cc7e53d382284442baa9869c8e49b7e9a2f20ae", "relations": [{"rule": 2, "type": "equivalent", "target": "48f75aca2470d1ed3c33a2c14b6be9da", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "03f74730007f0bec49a7ddf89cc7e53d382284442baa9869c8e49b7e9a2f20ae"}}, {"rule": 2, "type": "equivalent", "target": "808fd84d59264eecac5e89ba65c97b92", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "03f74730007f0bec49a7ddf89cc7e53d382284442baa9869c8e49b7e9a2f20ae"}}], "version": "10.4", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "48f75aca2470d1ed3c33a2c14b6be9da", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "避免可能与能调用此类触发器的命令并发添加表重写事件触发器时崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "03f74730007f0bec49a7ddf89cc7e53d382284442baa9869c8e49b7e9a2f20ae"}, "url": "/docs/compare/?release=9.6.9#9.6.9-37a61afc2518360d", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "808fd84d59264eecac5e89ba65c97b92", "kind": "equivalent", "version": "9.5.13", "label": "9.5.13", "title": "避免可能与能调用此类触发器的命令并发添加表重写事件触发器时崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "03f74730007f0bec49a7ddf89cc7e53d382284442baa9869c8e49b7e9a2f20ae"}, "url": "/docs/compare/?release=9.5.13#9.5.13-37a61afc2518360d", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5"}]}, {"id": "10.4-0dd380e6c0f6895d", "cves": [], "html": "<p>避免提交预备事务时出现查询取消或会话终止中断而发生失败（Stas Kelvich）</p>", "text": "避免提交预备事务时出现查询取消或会话终止中断而发生失败（Stas Kelvich）", "title": "避免提交预备事务时出现查询取消或会话终止中断而发生失败", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "62fc34ae70cb2ad37a6fe682ce14547e7e574564e421da3fdfde1d8c35eb319f", "section_path": ["变更"], "commit_groups": [["540e7a6e5", "6bd659f19", "8f9be261f", "d3fc427f4", "d9b3bc552", "ee492e3de"]], "identity_text": "Avoid failure if a query-cancel or session-termination interrupt occurs while committing a prepared transaction (Stas Kelvich)", "commit_aliases": ["540e7a6e5", "6bd659f19", "8f9be261f", "d3fc427f4", "d9b3bc552", "ee492e3de"], "source_commits": ["ee492e3de"], "source_entry_id": "10.4/changes/022", "db_id": "ca27f93498d8f85bc983e8f7cce04b4e", "patch_ids": ["8a71f2a773678185211dd85e0a816ea5"], "statement_hash": "26732acdda4921b6f838a4333718ce3c83af57120659d19116cb1f6c71a643c6", "relations": [{"rule": 2, "type": "equivalent", "target": "012d886d228aff5bad6e972250232db0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "26732acdda4921b6f838a4333718ce3c83af57120659d19116cb1f6c71a643c6"}}, {"rule": 2, "type": "equivalent", "target": "5628c69795113451c28bba4883f0f9de", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "26732acdda4921b6f838a4333718ce3c83af57120659d19116cb1f6c71a643c6"}}, {"rule": 2, "type": "equivalent", "target": "cff7a0484624c247e29a0c6b706c2f13", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "26732acdda4921b6f838a4333718ce3c83af57120659d19116cb1f6c71a643c6"}}, {"rule": 2, "type": "equivalent", "target": "d849870dcc8a1165e36e3e5ce10a3b6d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "26732acdda4921b6f838a4333718ce3c83af57120659d19116cb1f6c71a643c6"}}], "version": "10.4", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "d849870dcc8a1165e36e3e5ce10a3b6d", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "避免提交预备事务时发生查询取消或会话终止中断时失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "26732acdda4921b6f838a4333718ce3c83af57120659d19116cb1f6c71a643c6"}, "url": "/docs/compare/?release=9.6.9#9.6.9-ebc0e8f0d2aa1fb7", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "012d886d228aff5bad6e972250232db0", "kind": "equivalent", "version": "9.5.13", "label": "9.5.13", "title": "避免提交预备事务时发生查询取消或会话终止中断时失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "26732acdda4921b6f838a4333718ce3c83af57120659d19116cb1f6c71a643c6"}, "url": "/docs/compare/?release=9.5.13#9.5.13-ebc0e8f0d2aa1fb7", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5"}, {"db_id": "cff7a0484624c247e29a0c6b706c2f13", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "避免提交预备事务时发生查询取消或会话终止中断时失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "26732acdda4921b6f838a4333718ce3c83af57120659d19116cb1f6c71a643c6"}, "url": "/docs/compare/?release=9.4.18#9.4.18-ebc0e8f0d2aa1fb7", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "5628c69795113451c28bba4883f0f9de", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "避免提交预备事务时发生查询取消或会话终止中断时失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "26732acdda4921b6f838a4333718ce3c83af57120659d19116cb1f6c71a643c6"}, "url": "/docs/compare/?release=9.3.23#9.3.23-ebc0e8f0d2aa1fb7", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "10.4-690ae29023177979", "cves": [], "html": "<p>修复重复执行的哈希连接中持续整个查询生命周期的内存泄漏（Tom Lane）</p>", "text": "修复重复执行的哈希连接中持续整个查询生命周期的内存泄漏（Tom Lane）", "title": "修复重复执行的哈希连接中持续整个查询生命周期的内存泄漏", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "ccd18928e29728c814961d5f7bac070dcaf63a10cb68eb352385f0fef4ef07fa", "section_path": ["变更"], "commit_groups": [["2709549ec", "5149dc934", "574386ddc", "9e17bdb8a", "bdc7f686d", "c17a58967"]], "identity_text": "Fix query-lifespan memory leakage in repeatedly executed hash joins (Tom Lane)", "commit_aliases": ["2709549ec", "5149dc934", "574386ddc", "9e17bdb8a", "bdc7f686d", "c17a58967"], "source_commits": ["bdc7f686d"], "source_entry_id": "10.4/changes/023", "db_id": "37e110dbf8a28646a158b4bd829b0115", "patch_ids": ["57b9b44ced3e8312c9b9155e4d394474"], "statement_hash": "0f4a9b752cfbda9ec6ff503ebc96756625ad75ca12c51d4ecbc5a3387e7a0647", "relations": [{"rule": 2, "type": "equivalent", "target": "0df67385cc5c95a9daf22ff35d53e649", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f4a9b752cfbda9ec6ff503ebc96756625ad75ca12c51d4ecbc5a3387e7a0647"}}, {"rule": 2, "type": "equivalent", "target": "4f09861cbb7f6d11a0d870c50652e1a6", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f4a9b752cfbda9ec6ff503ebc96756625ad75ca12c51d4ecbc5a3387e7a0647"}}, {"rule": 2, "type": "equivalent", "target": "71c7a2b03e210421a27cd8b7e75a48fc", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f4a9b752cfbda9ec6ff503ebc96756625ad75ca12c51d4ecbc5a3387e7a0647"}}, {"rule": 2, "type": "equivalent", "target": "9e4930edcd94bb3585db04e3f475fb38", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f4a9b752cfbda9ec6ff503ebc96756625ad75ca12c51d4ecbc5a3387e7a0647"}}], "version": "10.4", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "71c7a2b03e210421a27cd8b7e75a48fc", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "修复重复执行的哈希连接中的查询生命周期内存泄漏", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f4a9b752cfbda9ec6ff503ebc96756625ad75ca12c51d4ecbc5a3387e7a0647"}, "url": "/docs/compare/?release=9.6.9#9.6.9-b95c0f061da572ed", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "0df67385cc5c95a9daf22ff35d53e649", "kind": "equivalent", "version": "9.5.13", "label": "9.5.13", "title": "修复重复执行的哈希连接中的查询生命周期内存泄漏", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f4a9b752cfbda9ec6ff503ebc96756625ad75ca12c51d4ecbc5a3387e7a0647"}, "url": "/docs/compare/?release=9.5.13#9.5.13-b95c0f061da572ed", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5"}, {"db_id": "4f09861cbb7f6d11a0d870c50652e1a6", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "修复重复执行的哈希连接中的查询生命周期内存泄漏", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f4a9b752cfbda9ec6ff503ebc96756625ad75ca12c51d4ecbc5a3387e7a0647"}, "url": "/docs/compare/?release=9.4.18#9.4.18-b95c0f061da572ed", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "9e4930edcd94bb3585db04e3f475fb38", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "修复重复执行的哈希连接中的查询生命周期内存泄漏", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f4a9b752cfbda9ec6ff503ebc96756625ad75ca12c51d4ecbc5a3387e7a0647"}, "url": "/docs/compare/?release=9.3.23#9.3.23-b95c0f061da572ed", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "10.4-8239156608033f58", "cves": [], "html": "<p>修复可见性映射缓冲区固定可能泄漏或重复释放的问题（Amit Kapila）</p>", "text": "修复可见性映射缓冲区固定可能泄漏或重复释放的问题（Amit Kapila）", "title": "修复可见性映射缓冲区固定可能泄漏或重复释放的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "1e3d7cdc3ddbc90d3203c865101ce97c1d32e9875ffd80668c01e2efe26903d4", "section_path": ["变更"], "commit_groups": [["0b1d1a038", "76ec45756", "96d2df840"]], "identity_text": "Fix possible leak or double free of visibility map buffer pins (Amit Kapila)", "commit_aliases": ["0b1d1a038", "76ec45756", "96d2df840"], "source_commits": ["76ec45756"], "source_entry_id": "10.4/changes/024", "db_id": "20a33648aac76ececec461e92d30ddd2", "patch_ids": ["d4407fedf486297b7a96d7a9e17a2afd"], "statement_hash": "d986de5693d65fb975708e8752deb458d5ddde3b65760ce863b7321a3b14c008", "relations": [{"rule": 2, "type": "equivalent", "target": "ac64c8fe93d04a833ec28069fedd286b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d986de5693d65fb975708e8752deb458d5ddde3b65760ce863b7321a3b14c008"}}], "version": "10.4", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "ac64c8fe93d04a833ec28069fedd286b", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "修复可见性映射缓冲区 pin 可能的泄漏或双重释放", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d986de5693d65fb975708e8752deb458d5ddde3b65760ce863b7321a3b14c008"}, "url": "/docs/compare/?release=9.6.9#9.6.9-2ff37c1575b88f6c", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}]}, {"id": "10.4-a3c147ed36cddcd6", "cves": [], "html": "<p>避免错误地将页标记为全可见（Dan Wood，Pavan Deolasee，Álvaro Herrera）</p>\n<p>某些元组被锁定（但未删除）时，可能出现此问题。虽然查询仍能正常运行，但清理通常会忽略这些页，长期后果是这些元组永远不会被冻结。在近期版本中，这最终会导致 <span>“<span>found multixact <em><code>nnnnn</code></em> from before relminmxid <em><code>nnnnn</code></em></span>”</span> 等错误。</p>", "text": "避免错误地将页标记为全可见（Dan Wood，Pavan Deolasee，Álvaro Herrera） 某些元组被锁定（但未删除）时，可能出现此问题。虽然查询仍能正常运行，但清理通常会忽略这些页，长期后果是这些元组永远不会被冻结。在近期版本中，这最终会导致 “found multixact nnnnn from before relminmxid nnnnn” 等错误。", "title": "避免错误地将页标记为全可见", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "7ace8e387b3ab98f864aee4251e40ac8818fca446504ca00b6f162d4aa9a056e", "section_path": ["变更"], "commit_groups": [["3a11485a5", "d2599ecfc", "e1d634758"]], "identity_text": "Avoid spuriously marking pages as all-visible (Dan Wood, Pavan Deolasee, Álvaro Herrera) This could happen if some tuples were locked (but not deleted). While queries would still function correctly, vacuum would normally ignore such pages, with the long-term effect that the tuples were never frozen. In recent releases this would eventually result in errors such as found multixact nnnnn from before relminmxid nnnnn.", "commit_aliases": ["3a11485a5", "d2599ecfc", "e1d634758"], "source_commits": ["e1d634758"], "source_entry_id": "10.4/changes/025", "db_id": "1d3b6cece276e3df26ef170aa10e1859", "patch_ids": ["584a0a4893fa7a75bee0efe2aad2a8c0"], "statement_hash": "fca671a395fba358138ebd33a829783c11a8a8e7abac639f86535c692ce667f9", "relations": [{"rule": 2, "type": "equivalent", "target": "e4779bd0f848729c290922e037e56984", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fca671a395fba358138ebd33a829783c11a8a8e7abac639f86535c692ce667f9"}}], "version": "10.4", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "e4779bd0f848729c290922e037e56984", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "避免虚假地把页标记为全可见", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fca671a395fba358138ebd33a829783c11a8a8e7abac639f86535c692ce667f9"}, "url": "/docs/compare/?release=9.6.9#9.6.9-e783f0ae3b11b056", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}]}, {"id": "10.4-562b21be795965b3", "cves": [], "html": "<p>修复 <code>heap_prepare_freeze_tuple</code> 中过于严格的合理性检查（Álvaro Herrera）</p>\n<p>这可能导致通过 <span>pg_upgrade</span> 从 9.2 或更早版本升级的数据库出现不正确的 <span>“<span>cannot freeze committed xmax</span>”</span> 失败。</p>", "text": "修复 heap_prepare_freeze_tuple 中过于严格的合理性检查（Álvaro Herrera） 这可能导致通过 pg_upgrade 从 9.2 或更早版本升级的数据库出现不正确的 “cannot freeze committed xmax” 失败。", "title": "修复 heap_prepare_freeze_tuple 中过于严格的合理性检查", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "fbca40a4fb8da5317b9219df920bda94fb10fc6748d88dba8ebc360819b5f707", "section_path": ["变更"], "commit_groups": [["0ddaaa4cf", "3ee23834e", "477ad05e1", "491bbc36e", "650f3863f", "aad956ada"]], "identity_text": "Fix overly strict sanity check in heap_prepare_freeze_tuple (Álvaro Herrera) This could result in incorrect cannot freeze committed xmax failures in databases that have been pg_upgrade'd from 9.2 or earlier.", "commit_aliases": ["0ddaaa4cf", "3ee23834e", "477ad05e1", "491bbc36e", "650f3863f", "aad956ada"], "source_commits": ["aad956ada"], "source_entry_id": "10.4/changes/026", "db_id": "398a20d1a113f4524097788e53a7290d", "patch_ids": ["f48373906a2952201874cd74711ef8ee"], "statement_hash": "7ed39eef1e57cd7e00a373aac583d30ed3c0bf86f233c1d555ddc4cf3ba152dc", "relations": [{"rule": 2, "type": "equivalent", "target": "2abcc7387b054f346a1363b3f6a58d27", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7ed39eef1e57cd7e00a373aac583d30ed3c0bf86f233c1d555ddc4cf3ba152dc"}}, {"rule": 2, "type": "equivalent", "target": "79e214f56277346dcf9d8f861f30a6de", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7ed39eef1e57cd7e00a373aac583d30ed3c0bf86f233c1d555ddc4cf3ba152dc"}}, {"rule": 2, "type": "equivalent", "target": "eb8fd9fe9ea505f2e72c7ec81b50306c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7ed39eef1e57cd7e00a373aac583d30ed3c0bf86f233c1d555ddc4cf3ba152dc"}}, {"rule": 2, "type": "equivalent", "target": "f6753ab33de390a304692dce8a7a98aa", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7ed39eef1e57cd7e00a373aac583d30ed3c0bf86f233c1d555ddc4cf3ba152dc"}}], "version": "10.4", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "79e214f56277346dcf9d8f861f30a6de", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "修复 heap_prepare_freeze_tuple 中过于严格的健全性检查", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7ed39eef1e57cd7e00a373aac583d30ed3c0bf86f233c1d555ddc4cf3ba152dc"}, "url": "/docs/compare/?release=9.6.9#9.6.9-01e022d21e09f7b1", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "f6753ab33de390a304692dce8a7a98aa", "kind": "equivalent", "version": "9.5.13", "label": "9.5.13", "title": "修复 heap_prepare_freeze_tuple 中过于严格的健全性检查", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7ed39eef1e57cd7e00a373aac583d30ed3c0bf86f233c1d555ddc4cf3ba152dc"}, "url": "/docs/compare/?release=9.5.13#9.5.13-01e022d21e09f7b1", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5"}, {"db_id": "2abcc7387b054f346a1363b3f6a58d27", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "修复 heap_prepare_freeze_tuple 中过于严格的健全性检查", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7ed39eef1e57cd7e00a373aac583d30ed3c0bf86f233c1d555ddc4cf3ba152dc"}, "url": "/docs/compare/?release=9.4.18#9.4.18-01e022d21e09f7b1", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "eb8fd9fe9ea505f2e72c7ec81b50306c", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "修复 heap_prepare_freeze_tuple 中过于严格的健全性检查", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7ed39eef1e57cd7e00a373aac583d30ed3c0bf86f233c1d555ddc4cf3ba152dc"}, "url": "/docs/compare/?release=9.3.23#9.3.23-01e022d21e09f7b1", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "10.4-c5987c818497c034", "cves": [], "html": "<p>防止用 C 编写的更新前行触发器返回<span>“<span>旧</span>”</span>元组时解引用悬空指针（Rushabh Lathia）</p>", "text": "防止用 C 编写的更新前行触发器返回“旧”元组时解引用悬空指针（Rushabh Lathia）", "title": "防止用 C 编写的更新前行触发器返回“旧”元组时解引用悬空指针", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "89c3d75c786ed55ca553708856e49b33fa30afe0b811dcd86e9d6542d30c837e", "section_path": ["变更"], "commit_groups": [["06f47297e", "25b692568", "2ee44e10d", "5ccb77586", "9bc33ef5e", "b45f821e2"]], "identity_text": "Prevent dangling-pointer dereference when a C-coded before-update row trigger returns the old tuple (Rushabh Lathia)", "commit_aliases": ["06f47297e", "25b692568", "2ee44e10d", "5ccb77586", "9bc33ef5e", "b45f821e2"], "source_commits": ["b45f821e2"], "source_entry_id": "10.4/changes/027", "db_id": "682362add12a729c5489dda7142bb171", "patch_ids": ["d8b22bb1093d874a7a622e749525e5c3"], "statement_hash": "1581e97b63de5ec4cf403ff5eb79d5d42e75c8a4a73e4fea04cec1547ec53db5", "relations": [{"rule": 2, "type": "equivalent", "target": "42acf6090644d3f87227ffaf6b8764ed", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1581e97b63de5ec4cf403ff5eb79d5d42e75c8a4a73e4fea04cec1547ec53db5"}}, {"rule": 2, "type": "equivalent", "target": "88113e2fb8b0f955ded947c1de92d902", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1581e97b63de5ec4cf403ff5eb79d5d42e75c8a4a73e4fea04cec1547ec53db5"}}, {"rule": 2, "type": "equivalent", "target": "c6793ae4b983258e6c3bf3db3f4a11c5", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1581e97b63de5ec4cf403ff5eb79d5d42e75c8a4a73e4fea04cec1547ec53db5"}}, {"rule": 2, "type": "equivalent", "target": "e75cd9e0f10d48299c3554b88d509da4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1581e97b63de5ec4cf403ff5eb79d5d42e75c8a4a73e4fea04cec1547ec53db5"}}], "version": "10.4", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "e75cd9e0f10d48299c3554b88d509da4", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "防止 C 编写的 before-update 行触发器返回“旧”元组时的悬空指针解引用", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1581e97b63de5ec4cf403ff5eb79d5d42e75c8a4a73e4fea04cec1547ec53db5"}, "url": "/docs/compare/?release=9.6.9#9.6.9-7ab83d10d1038ffa", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "42acf6090644d3f87227ffaf6b8764ed", "kind": "equivalent", "version": "9.5.13", "label": "9.5.13", "title": "防止 C 编写的 before-update 行触发器返回“旧”元组时的悬空指针解引用", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1581e97b63de5ec4cf403ff5eb79d5d42e75c8a4a73e4fea04cec1547ec53db5"}, "url": "/docs/compare/?release=9.5.13#9.5.13-7ab83d10d1038ffa", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5"}, {"db_id": "88113e2fb8b0f955ded947c1de92d902", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "防止 C 编写的 before-update 行触发器返回“旧”元组时的悬空指针解引用", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1581e97b63de5ec4cf403ff5eb79d5d42e75c8a4a73e4fea04cec1547ec53db5"}, "url": "/docs/compare/?release=9.4.18#9.4.18-7ab83d10d1038ffa", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "c6793ae4b983258e6c3bf3db3f4a11c5", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "防止 C 编写的 before-update 行触发器返回“旧”元组时的悬空指针解引用", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1581e97b63de5ec4cf403ff5eb79d5d42e75c8a4a73e4fea04cec1547ec53db5"}, "url": "/docs/compare/?release=9.3.23#9.3.23-7ab83d10d1038ffa", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "10.4-2c4a4a22bed483b7", "cves": [], "html": "<p>减少自动清理工作进程调度期间的加锁（Jeff Janes）</p>\n<p>对于有大量表的数据库，以前的行为会大幅降低工作进程原本可以达到的并发度。</p>", "text": "减少自动清理工作进程调度期间的加锁（Jeff Janes） 对于有大量表的数据库，以前的行为会大幅降低工作进程原本可以达到的并发度。", "title": "减少自动清理工作进程调度期间的加锁", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "3387455cccb0c66de0a2f5bb8bb12f0af5c66558a7843d04caa83d7164d7ef33", "section_path": ["变更"], "commit_groups": [["231329a17", "38f7831d7", "4460964ae", "4b0e71705", "5328b6135", "95f08d32d"]], "identity_text": "Reduce locking during autovacuum worker scheduling (Jeff Janes) The previous behavior caused drastic loss of potential worker concurrency in databases with many tables.", "commit_aliases": ["231329a17", "38f7831d7", "4460964ae", "4b0e71705", "5328b6135", "95f08d32d"], "source_commits": ["4460964ae"], "source_entry_id": "10.4/changes/028", "db_id": "c2fe5d0b1b1ea315c42bb0cbb189e2e2", "patch_ids": ["9b43380243e3f0d020834e1da7d560e2"], "statement_hash": "14de4f415f73c95f0c21dc7a5a2f4dcb137aa0473d074fd71c6a8f14019a7ff4", "relations": [{"rule": 2, "type": "equivalent", "target": "3b3a523818a14c0f9504acf49b8853ed", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "14de4f415f73c95f0c21dc7a5a2f4dcb137aa0473d074fd71c6a8f14019a7ff4"}}, {"rule": 2, "type": "equivalent", "target": "69c3a93060056cf09ae728faa3c6b1ef", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "14de4f415f73c95f0c21dc7a5a2f4dcb137aa0473d074fd71c6a8f14019a7ff4"}}, {"rule": 2, "type": "equivalent", "target": "9879651e1577c9bf2b980164dc96fc99", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "14de4f415f73c95f0c21dc7a5a2f4dcb137aa0473d074fd71c6a8f14019a7ff4"}}, {"rule": 2, "type": "equivalent", "target": "cbe49277038634d0ff5d46032b18414e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "14de4f415f73c95f0c21dc7a5a2f4dcb137aa0473d074fd71c6a8f14019a7ff4"}}], "version": "10.4", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "69c3a93060056cf09ae728faa3c6b1ef", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "减少自动清理工作者调度期间的锁定", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "14de4f415f73c95f0c21dc7a5a2f4dcb137aa0473d074fd71c6a8f14019a7ff4"}, "url": "/docs/compare/?release=9.6.9#9.6.9-c5a47f74f99569cd", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "cbe49277038634d0ff5d46032b18414e", "kind": "equivalent", "version": "9.5.13", "label": "9.5.13", "title": "减少自动清理工作者调度期间的锁定", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "14de4f415f73c95f0c21dc7a5a2f4dcb137aa0473d074fd71c6a8f14019a7ff4"}, "url": "/docs/compare/?release=9.5.13#9.5.13-c5a47f74f99569cd", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5"}, {"db_id": "3b3a523818a14c0f9504acf49b8853ed", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "减少自动清理工作者调度期间的锁定", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "14de4f415f73c95f0c21dc7a5a2f4dcb137aa0473d074fd71c6a8f14019a7ff4"}, "url": "/docs/compare/?release=9.4.18#9.4.18-c5a47f74f99569cd", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "9879651e1577c9bf2b980164dc96fc99", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "减少自动清理工作者调度期间的锁定", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "14de4f415f73c95f0c21dc7a5a2f4dcb137aa0473d074fd71c6a8f14019a7ff4"}, "url": "/docs/compare/?release=9.3.23#9.3.23-c5a47f74f99569cd", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "10.4-09c9698d058905f5", "cves": [], "html": "<p>确保将 <code>pg_stat_activity</code> 数据复制到本地内存时也复制客户端主机名（Edmund Horner）</p>\n<p>以前，本应位于本地的快照包含一个指向共享内存的指针，因此任何现有会话断开连接，都可能使客户端主机名列意外改变。</p>", "text": "确保将 pg_stat_activity 数据复制到本地内存时也复制客户端主机名（Edmund Horner） 以前，本应位于本地的快照包含一个指向共享内存的指针，因此任何现有会话断开连接，都可能使客户端主机名列意外改变。", "title": "确保将 pg_stat_activity 数据复制到本地内存时也复制客户端主机名", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "ec3d644d56289ae06f6ac477f736e7c3a3c800f98581d08892c7e12e4609b38b", "section_path": ["变更"], "commit_groups": [["310d1379d", "74dc05e01", "89c2ab340", "a820b4c32", "dfc383cf3", "fd2efda5d"]], "identity_text": "Ensure client hostname is copied while copying pg_stat_activity data to local memory (Edmund Horner) Previously the supposedly-local snapshot contained a pointer into shared memory, allowing the client hostname column to change unexpectedly if any existing session disconnected.", "commit_aliases": ["310d1379d", "74dc05e01", "89c2ab340", "a820b4c32", "dfc383cf3", "fd2efda5d"], "source_commits": ["89c2ab340"], "source_entry_id": "10.4/changes/029", "db_id": "8b056c527a773e38bdf57355cb610251", "patch_ids": ["6d759f4f9909d6a7fa6c849e5d24f964"], "statement_hash": "78dc8299634ce114ccef0a29a0137833d2b717c32aef987d8972f700e819ef2d", "relations": [{"rule": 2, "type": "equivalent", "target": "5c7983b5c911e39d4fb4734b69fbec03", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "78dc8299634ce114ccef0a29a0137833d2b717c32aef987d8972f700e819ef2d"}}, {"rule": 2, "type": "equivalent", "target": "92c0710eaf0262eb5500ccb1efe0542e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "78dc8299634ce114ccef0a29a0137833d2b717c32aef987d8972f700e819ef2d"}}, {"rule": 2, "type": "equivalent", "target": "af3a25fc707a614cafcb9ff72f88cf20", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "78dc8299634ce114ccef0a29a0137833d2b717c32aef987d8972f700e819ef2d"}}, {"rule": 2, "type": "equivalent", "target": "fda974396483a47344c45c305f2cefe9", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "78dc8299634ce114ccef0a29a0137833d2b717c32aef987d8972f700e819ef2d"}}], "version": "10.4", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "5c7983b5c911e39d4fb4734b69fbec03", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "确保把 pg_stat_activity 数据复制到本地内存时复制客户端主机名", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "78dc8299634ce114ccef0a29a0137833d2b717c32aef987d8972f700e819ef2d"}, "url": "/docs/compare/?release=9.6.9#9.6.9-5e5fddc6e35501d5", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "fda974396483a47344c45c305f2cefe9", "kind": "equivalent", "version": "9.5.13", "label": "9.5.13", "title": "确保把 pg_stat_activity 数据复制到本地内存时复制客户端主机名", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "78dc8299634ce114ccef0a29a0137833d2b717c32aef987d8972f700e819ef2d"}, "url": "/docs/compare/?release=9.5.13#9.5.13-5e5fddc6e35501d5", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5"}, {"db_id": "92c0710eaf0262eb5500ccb1efe0542e", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "确保把 pg_stat_activity 数据复制到本地内存时复制客户端主机名", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "78dc8299634ce114ccef0a29a0137833d2b717c32aef987d8972f700e819ef2d"}, "url": "/docs/compare/?release=9.4.18#9.4.18-5e5fddc6e35501d5", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "af3a25fc707a614cafcb9ff72f88cf20", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "确保把 pg_stat_activity 数据复制到本地内存时复制客户端主机名", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "78dc8299634ce114ccef0a29a0137833d2b717c32aef987d8972f700e819ef2d"}, "url": "/docs/compare/?release=9.3.23#9.3.23-5e5fddc6e35501d5", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "10.4-23d7cec3fc3bb785", "cves": [], "html": "<p>正确处理辅助进程的 <code>pg_stat_activity</code> 信息（Edmund Horner）</p>\n<p>这些进程的 <code>application_name</code>、<code>client_hostname</code> 和 <code>query</code> 字段可能显示不正确的数据。</p>", "text": "正确处理辅助进程的 pg_stat_activity 信息（Edmund Horner） 这些进程的 application_name、client_hostname 和 query 字段可能显示不正确的数据。", "title": "正确处理辅助进程的 pg_stat_activity 信息", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "36727c810a10fe5d3d78fa64553351f20833555053e79f4dbeda7b90ee27ee44", "section_path": ["变更"], "commit_groups": [["811969b21", "93b3d43dc"]], "identity_text": "Handle pg_stat_activity information for auxiliary processes correctly (Edmund Horner) The application_name, client_hostname, and query fields might show incorrect data for such processes.", "commit_aliases": ["811969b21", "93b3d43dc"], "source_commits": ["93b3d43dc"], "source_entry_id": "10.4/changes/030", "db_id": "e130c4af0440ff7ef93bf71883857a40", "patch_ids": ["bae11d41151c1b600867dccde769af50"], "statement_hash": "417af5aab2a4ddb911c61c879c523b92e0487d1117c5efa3e60763f8c15f3140", "relations": [], "version": "10.4", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "10.4-a85e988c914cc62c", "cves": [], "html": "<p>修复 <code>ispell</code> 字典对多个复合词缀处理不正确的问题（Arthur Zakirov）</p>", "text": "修复 ispell 字典对多个复合词缀处理不正确的问题（Arthur Zakirov）", "title": "修复 ispell 字典对多个复合词缀处理不正确的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "aa4fd8e8ec0ae4aee4c7dc0a770d06f2d007ffcd5d3d2d50e80bc9d316cc84c2", "section_path": ["变更"], "commit_groups": [["0f439c8dd", "40132187e", "65a69dfa0", "906e44d4d", "ac8ea0f27", "f71d803c8"]], "identity_text": "Fix incorrect processing of multiple compound affixes in ispell dictionaries (Arthur Zakirov)", "commit_aliases": ["0f439c8dd", "40132187e", "65a69dfa0", "906e44d4d", "ac8ea0f27", "f71d803c8"], "source_commits": ["40132187e"], "source_entry_id": "10.4/changes/031", "db_id": "291efb69928283fba2177fa4566082b5", "patch_ids": ["1bef50b4ac3be0fef854e7a9e6323d31"], "statement_hash": "b0f8a47c5225ea0f137a489c6c2ec51fd60e9ece4f298fe13f97ecc888e51ce6", "relations": [{"rule": 2, "type": "equivalent", "target": "0f6e4e08bd85104518b0759c3a13b12f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b0f8a47c5225ea0f137a489c6c2ec51fd60e9ece4f298fe13f97ecc888e51ce6"}}, {"rule": 2, "type": "equivalent", "target": "2eeabca54ad4f767b22d9570cc8adcf2", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b0f8a47c5225ea0f137a489c6c2ec51fd60e9ece4f298fe13f97ecc888e51ce6"}}, {"rule": 2, "type": "equivalent", "target": "6130400fb1f41c260f1e042643d0507b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b0f8a47c5225ea0f137a489c6c2ec51fd60e9ece4f298fe13f97ecc888e51ce6"}}, {"rule": 2, "type": "equivalent", "target": "c39b806add06e980c2133a2ff25fa94c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b0f8a47c5225ea0f137a489c6c2ec51fd60e9ece4f298fe13f97ecc888e51ce6"}}], "version": "10.4", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "2eeabca54ad4f767b22d9570cc8adcf2", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "修复 ispell 词典中多个复合词缀的错误处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b0f8a47c5225ea0f137a489c6c2ec51fd60e9ece4f298fe13f97ecc888e51ce6"}, "url": "/docs/compare/?release=9.6.9#9.6.9-e8113010139e614e", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "0f6e4e08bd85104518b0759c3a13b12f", "kind": "equivalent", "version": "9.5.13", "label": "9.5.13", "title": "修复 ispell 词典中多个复合词缀的错误处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b0f8a47c5225ea0f137a489c6c2ec51fd60e9ece4f298fe13f97ecc888e51ce6"}, "url": "/docs/compare/?release=9.5.13#9.5.13-e8113010139e614e", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5"}, {"db_id": "c39b806add06e980c2133a2ff25fa94c", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "修复 ispell 词典中多个复合词缀的错误处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b0f8a47c5225ea0f137a489c6c2ec51fd60e9ece4f298fe13f97ecc888e51ce6"}, "url": "/docs/compare/?release=9.4.18#9.4.18-e8113010139e614e", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "6130400fb1f41c260f1e042643d0507b", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "修复 ispell 词典中多个复合词缀的错误处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b0f8a47c5225ea0f137a489c6c2ec51fd60e9ece4f298fe13f97ecc888e51ce6"}, "url": "/docs/compare/?release=9.3.23#9.3.23-e8113010139e614e", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "10.4-8f9e9e1392cd363a", "cves": [], "html": "<p>修复文本列上 SP-GiST 索引中考虑排序规则的搜索（即使用不等式操作符的索引扫描）（Tom Lane）</p>\n<p>在大多数非 C 区域设置下，这类搜索会返回错误的行集。</p>", "text": "修复文本列上 SP-GiST 索引中考虑排序规则的搜索（即使用不等式操作符的索引扫描）（Tom Lane） 在大多数非 C 区域设置下，这类搜索会返回错误的行集。", "title": "修复文本列上 SP-GiST 索引中考虑排序规则的搜索（即使用不等式操作符的索引扫描）", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "e9b2882905cc24d98df0938237bab2be74c77d158235960e5310dcff464ff904", "section_path": ["变更"], "commit_groups": [["3397c6727", "608d1f971", "93053aca5", "b15e8f71d", "cf73a5b34", "d90b2904c"]], "identity_text": "Fix collation-aware searches (that is, indexscans using inequality operators) in SP-GiST indexes on text columns (Tom Lane) Such searches would return the wrong set of rows in most non-C locales.", "commit_aliases": ["3397c6727", "608d1f971", "93053aca5", "b15e8f71d", "cf73a5b34", "d90b2904c"], "source_commits": ["3397c6727"], "source_entry_id": "10.4/changes/032", "db_id": "6c5489f304d2067655ec90f6b952d748", "patch_ids": ["d859e3898b39624607704e8268393b04"], "statement_hash": "48ab0a47cf70df52e051e183c7d5a16381f26b772924e25c3ad2da1a02c46aa1", "relations": [{"rule": 2, "type": "equivalent", "target": "02e9f30aadf663eed076639c509b35b3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "48ab0a47cf70df52e051e183c7d5a16381f26b772924e25c3ad2da1a02c46aa1"}}, {"rule": 2, "type": "equivalent", "target": "055505907ab73dcd556292fb81ea9c61", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "48ab0a47cf70df52e051e183c7d5a16381f26b772924e25c3ad2da1a02c46aa1"}}, {"rule": 2, "type": "equivalent", "target": "4806991de97b350a9da8549508ceca1c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "48ab0a47cf70df52e051e183c7d5a16381f26b772924e25c3ad2da1a02c46aa1"}}, {"rule": 2, "type": "equivalent", "target": "b4cab7f36fbf2fbcac26864909208677", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "48ab0a47cf70df52e051e183c7d5a16381f26b772924e25c3ad2da1a02c46aa1"}}], "version": "10.4", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "4806991de97b350a9da8549508ceca1c", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "修复 text 列上 SP-GiST 索引中的排序规则感知搜索（即使用不等操作符的索引扫描）", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "48ab0a47cf70df52e051e183c7d5a16381f26b772924e25c3ad2da1a02c46aa1"}, "url": "/docs/compare/?release=9.6.9#9.6.9-3448b25b62d2b1da", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "b4cab7f36fbf2fbcac26864909208677", "kind": "equivalent", "version": "9.5.13", "label": "9.5.13", "title": "修复 text 列上 SP-GiST 索引中的排序规则感知搜索（即使用不等操作符的索引扫描）", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "48ab0a47cf70df52e051e183c7d5a16381f26b772924e25c3ad2da1a02c46aa1"}, "url": "/docs/compare/?release=9.5.13#9.5.13-3448b25b62d2b1da", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5"}, {"db_id": "02e9f30aadf663eed076639c509b35b3", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "修复 text 列上 SP-GiST 索引中的排序规则感知搜索（即使用不等操作符的索引扫描）", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "48ab0a47cf70df52e051e183c7d5a16381f26b772924e25c3ad2da1a02c46aa1"}, "url": "/docs/compare/?release=9.4.18#9.4.18-3448b25b62d2b1da", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "055505907ab73dcd556292fb81ea9c61", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "修复 text 列上 SP-GiST 索引中的排序规则感知搜索（即使用不等操作符的索引扫描）", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "48ab0a47cf70df52e051e183c7d5a16381f26b772924e25c3ad2da1a02c46aa1"}, "url": "/docs/compare/?release=9.3.23#9.3.23-3448b25b62d2b1da", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "10.4-5dcb1012ad5e9acb", "cves": [], "html": "<p>防止使用遍历值的 SP-GiST 操作符类在查询生命周期内泄漏内存（Anton Dignös）</p>", "text": "防止使用遍历值的 SP-GiST 操作符类在查询生命周期内泄漏内存（Anton Dignös）", "title": "防止使用遍历值的 SP-GiST 操作符类在查询生命周期内泄漏内存", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "e9cf211fe032bdd4177ddc80c1a9a5ef3a8168e2f22d606661bc0789e43eee5c", "section_path": ["变更"], "commit_groups": [["467963c3e", "57ef2da43", "d18a88acf"]], "identity_text": "Prevent query-lifespan memory leakage with SP-GiST operator classes that use traversal values (Anton Dignös)", "commit_aliases": ["467963c3e", "57ef2da43", "d18a88acf"], "source_commits": ["d18a88acf"], "source_entry_id": "10.4/changes/033", "db_id": "e48ed71cdf50c0ea45c777f512fc0884", "patch_ids": ["282673fe0841590431955f111824c0b8"], "statement_hash": "85f7f33d33f9aa8b84dfe5452235932dde27b6f7c1c3c3bbadace1bc9ce6f3ac", "relations": [{"rule": 2, "type": "equivalent", "target": "28cd9314ae4251cc0b65883f52703f4c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "85f7f33d33f9aa8b84dfe5452235932dde27b6f7c1c3c3bbadace1bc9ce6f3ac"}}], "version": "10.4", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "28cd9314ae4251cc0b65883f52703f4c", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "防止使用遍历值的 SP-GiST 操作符类的查询生命周期内存泄漏", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "85f7f33d33f9aa8b84dfe5452235932dde27b6f7c1c3c3bbadace1bc9ce6f3ac"}, "url": "/docs/compare/?release=9.6.9#9.6.9-e228b00a4a2f4b91", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}]}, {"id": "10.4-acd47998537683c5", "cves": [], "html": "<p>在首次构建 SP-GiST 索引时正确统计索引元组数（Tomas Vondra）</p>\n<p>以前，报告的元组数与底层表相同，但对于部分索引，这个值是不正确的。</p>", "text": "在首次构建 SP-GiST 索引时正确统计索引元组数（Tomas Vondra） 以前，报告的元组数与底层表相同，但对于部分索引，这个值是不正确的。", "title": "在首次构建 SP-GiST 索引时正确统计索引元组数", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "bc513acecef831bd7fae1d405d3fef772df46496d81b3a14f2db7e98b6e1d002", "section_path": ["变更"], "commit_groups": [["46f80803a", "649f17925", "7f6f8ccd9", "bf14575c8", "db35bf507", "eee190da7"]], "identity_text": "Count the number of index tuples correctly during initial build of an SP-GiST index (Tomas Vondra) Previously, the tuple count was reported to be the same as that of the underlying table, which is wrong if the index is partial.", "commit_aliases": ["46f80803a", "649f17925", "7f6f8ccd9", "bf14575c8", "db35bf507", "eee190da7"], "source_commits": ["bf14575c8"], "source_entry_id": "10.4/changes/034", "db_id": "17ec129a297bb8205d81fbea0ba2dc46", "patch_ids": ["0e95f90ff047a90d471fc64b8fb39033"], "statement_hash": "eb26d2e14abe070a0cdd663f1654b75b4093aaba180e261e66d6db3ce75e01f0", "relations": [{"rule": 2, "type": "equivalent", "target": "2bd7aaa9f4c77b34211ebaa6805b7b9b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "eb26d2e14abe070a0cdd663f1654b75b4093aaba180e261e66d6db3ce75e01f0"}}, {"rule": 2, "type": "equivalent", "target": "87a9fe257dbbf67ae0f5420069f6a5dd", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "eb26d2e14abe070a0cdd663f1654b75b4093aaba180e261e66d6db3ce75e01f0"}}, {"rule": 2, "type": "equivalent", "target": "ac6f0f2aa60298980a4a8234b8d6ea2f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "eb26d2e14abe070a0cdd663f1654b75b4093aaba180e261e66d6db3ce75e01f0"}}, {"rule": 2, "type": "equivalent", "target": "f3cfe66abaea835caf64a0f0666a4e06", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "eb26d2e14abe070a0cdd663f1654b75b4093aaba180e261e66d6db3ce75e01f0"}}], "version": "10.4", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "87a9fe257dbbf67ae0f5420069f6a5dd", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "在 SP-GiST 索引初始构建期间正确计数索引元组数", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "eb26d2e14abe070a0cdd663f1654b75b4093aaba180e261e66d6db3ce75e01f0"}, "url": "/docs/compare/?release=9.6.9#9.6.9-e54830f8dcbbc55e", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "ac6f0f2aa60298980a4a8234b8d6ea2f", "kind": "equivalent", "version": "9.5.13", "label": "9.5.13", "title": "在 SP-GiST 索引初始构建期间正确计数索引元组数", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "eb26d2e14abe070a0cdd663f1654b75b4093aaba180e261e66d6db3ce75e01f0"}, "url": "/docs/compare/?release=9.5.13#9.5.13-e54830f8dcbbc55e", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5"}, {"db_id": "f3cfe66abaea835caf64a0f0666a4e06", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "在 SP-GiST 索引初始构建期间正确计数索引元组数", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "eb26d2e14abe070a0cdd663f1654b75b4093aaba180e261e66d6db3ce75e01f0"}, "url": "/docs/compare/?release=9.4.18#9.4.18-e54830f8dcbbc55e", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "2bd7aaa9f4c77b34211ebaa6805b7b9b", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "在 SP-GiST 索引初始构建期间正确计数索引元组数", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "eb26d2e14abe070a0cdd663f1654b75b4093aaba180e261e66d6db3ce75e01f0"}, "url": "/docs/compare/?release=9.3.23#9.3.23-e54830f8dcbbc55e", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "10.4-09b1d2652f4ed6ab", "cves": [], "html": "<p>在清理 GiST 索引时正确统计索引元组数（Andrey Borodin）</p>\n<p>以前，报告的是估算的堆元组数，这个值可能不准确，而对于部分索引则肯定不正确。</p>", "text": "在清理 GiST 索引时正确统计索引元组数（Andrey Borodin） 以前，报告的是估算的堆元组数，这个值可能不准确，而对于部分索引则肯定不正确。", "title": "在清理 GiST 索引时正确统计索引元组数", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "32546822588ffc67b8a22b0cf53f46ef5f025e6ec55ecdc504460fd6630ccc27", "section_path": ["变更"], "commit_groups": [["46d98da43", "529137cac", "6b56f0752", "81b9b5ce4", "947f06c62", "ccd650430"]], "identity_text": "Count the number of index tuples correctly during vacuuming of a GiST index (Andrey Borodin) Previously it reported the estimated number of heap tuples, which might be inaccurate, and is certainly wrong if the index is partial.", "commit_aliases": ["46d98da43", "529137cac", "6b56f0752", "81b9b5ce4", "947f06c62", "ccd650430"], "source_commits": ["ccd650430"], "source_entry_id": "10.4/changes/035", "db_id": "29e33e77b216dbbb7810840bad771441", "patch_ids": ["6e84c3dd2e185313d9c3b1dffe565f22"], "statement_hash": "b306cd9024e03b3ab020486ecf482f698c62c5c17a9780180417312d4850b015", "relations": [{"rule": 2, "type": "equivalent", "target": "a638da4d9b969dd3191b7d6887f7e419", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b306cd9024e03b3ab020486ecf482f698c62c5c17a9780180417312d4850b015"}}, {"rule": 2, "type": "equivalent", "target": "ab9bdfe958543add18823d023e5242b4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b306cd9024e03b3ab020486ecf482f698c62c5c17a9780180417312d4850b015"}}, {"rule": 2, "type": "equivalent", "target": "bccd0d9a1621ebeaa4e5af223bee719f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b306cd9024e03b3ab020486ecf482f698c62c5c17a9780180417312d4850b015"}}, {"rule": 2, "type": "equivalent", "target": "cfdf30adb94a383b4ee43f96cc2045bf", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b306cd9024e03b3ab020486ecf482f698c62c5c17a9780180417312d4850b015"}}], "version": "10.4", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "ab9bdfe958543add18823d023e5242b4", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "在 GiST 索引清理期间正确计数索引元组数", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b306cd9024e03b3ab020486ecf482f698c62c5c17a9780180417312d4850b015"}, "url": "/docs/compare/?release=9.6.9#9.6.9-4ff7dbd55c5c1335", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "bccd0d9a1621ebeaa4e5af223bee719f", "kind": "equivalent", "version": "9.5.13", "label": "9.5.13", "title": "在 GiST 索引清理期间正确计数索引元组数", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b306cd9024e03b3ab020486ecf482f698c62c5c17a9780180417312d4850b015"}, "url": "/docs/compare/?release=9.5.13#9.5.13-4ff7dbd55c5c1335", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5"}, {"db_id": "a638da4d9b969dd3191b7d6887f7e419", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "在 GiST 索引清理期间正确计数索引元组数", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b306cd9024e03b3ab020486ecf482f698c62c5c17a9780180417312d4850b015"}, "url": "/docs/compare/?release=9.4.18#9.4.18-4ff7dbd55c5c1335", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "cfdf30adb94a383b4ee43f96cc2045bf", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "在 GiST 索引清理期间正确计数索引元组数", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b306cd9024e03b3ab020486ecf482f698c62c5c17a9780180417312d4850b015"}, "url": "/docs/compare/?release=9.3.23#9.3.23-4ff7dbd55c5c1335", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "10.4-3e3d04127907dab8", "cves": [], "html": "<p>修复流复制备库卡在 WAL 续接记录上的一种边界情况（Kyotaro Horiguchi）</p>", "text": "修复流复制备库卡在 WAL 续接记录上的一种边界情况（Kyotaro Horiguchi）", "title": "修复流复制备库卡在 WAL 续接记录上的一种边界情况", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "4f542afd3fdcd0a65832b29e2288e29408b255d6a34f6a7fde254476ede1cf59", "section_path": ["变更"], "commit_groups": [["066871980", "4ea8f7d45", "7b7521d65", "c06380e97", "ca572db22"]], "identity_text": "Fix a corner case where a streaming standby gets stuck at a WAL continuation record (Kyotaro Horiguchi)", "commit_aliases": ["066871980", "4ea8f7d45", "7b7521d65", "c06380e97", "ca572db22"], "source_commits": ["ca572db22"], "source_entry_id": "10.4/changes/036", "db_id": "f3045f78276ee10683eac5528bd5a4a6", "patch_ids": ["b2c714e0f2692a55d962b66cd6ae01a3"], "statement_hash": "59351e6443dbaf7dc4c2220aa69782841d1772b68fb9a372533c7d2adb428416", "relations": [{"rule": 2, "type": "equivalent", "target": "33600bedb0d368c126b4c7b22224ab68", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "59351e6443dbaf7dc4c2220aa69782841d1772b68fb9a372533c7d2adb428416"}}, {"rule": 2, "type": "equivalent", "target": "a93f663903aa06ad4ff1792dc4f9a275", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "59351e6443dbaf7dc4c2220aa69782841d1772b68fb9a372533c7d2adb428416"}}, {"rule": 2, "type": "equivalent", "target": "c68e07e15fb54547cdd38501bb1af2c0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "59351e6443dbaf7dc4c2220aa69782841d1772b68fb9a372533c7d2adb428416"}}], "version": "10.4", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "a93f663903aa06ad4ff1792dc4f9a275", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "修复流式备库在 WAL 延续记录处卡住的一个边界情况", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "59351e6443dbaf7dc4c2220aa69782841d1772b68fb9a372533c7d2adb428416"}, "url": "/docs/compare/?release=9.6.9#9.6.9-ca01249ece0034ac", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "c68e07e15fb54547cdd38501bb1af2c0", "kind": "equivalent", "version": "9.5.13", "label": "9.5.13", "title": "修复流式备库在 WAL 延续记录处卡住的一个边界情况", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "59351e6443dbaf7dc4c2220aa69782841d1772b68fb9a372533c7d2adb428416"}, "url": "/docs/compare/?release=9.5.13#9.5.13-ca01249ece0034ac", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5"}, {"db_id": "33600bedb0d368c126b4c7b22224ab68", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "修复流式备库在 WAL 延续记录处卡住的一个边界情况", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "59351e6443dbaf7dc4c2220aa69782841d1772b68fb9a372533c7d2adb428416"}, "url": "/docs/compare/?release=9.4.18#9.4.18-ca01249ece0034ac", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}]}, {"id": "10.4-2703a0fc865c6c1c", "cves": [], "html": "<p>在逻辑解码中，避免 WAL 发送进程重启时可能重复处理 WAL 数据的问题（Craig Ringer）</p>", "text": "在逻辑解码中，避免 WAL 发送进程重启时可能重复处理 WAL 数据的问题（Craig Ringer）", "title": "在逻辑解码中，避免 WAL 发送进程重启时可能重复处理 WAL 数据的问题", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "0689e34e9d695832b44e274b2d5aac529a73112ad7892e1accb28177b3b2cd11", "section_path": ["变更"], "commit_groups": [["6d30e3a2b", "8aa75e138", "8e5c2afa9", "cee1dd1ee", "d4429d50a"]], "identity_text": "In logical decoding, avoid possible double processing of WAL data when a walsender restarts (Craig Ringer)", "commit_aliases": ["6d30e3a2b", "8aa75e138", "8e5c2afa9", "cee1dd1ee", "d4429d50a"], "source_commits": ["cee1dd1ee"], "source_entry_id": "10.4/changes/037", "db_id": "4ba8666af1d4895ce1d50bca6abee36a", "patch_ids": ["c1b46ebb1d822821d90b9d849c25d220"], "statement_hash": "79549c9f3064d99035b8cf21625e13f2f9197ede19c546433974bb00a8b90f6b", "relations": [{"rule": 2, "type": "equivalent", "target": "47bc65eec35ea4781ec3ef7802aed738", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "79549c9f3064d99035b8cf21625e13f2f9197ede19c546433974bb00a8b90f6b"}}, {"rule": 2, "type": "equivalent", "target": "4c2ba004af8104bf528e8cf48a5125a1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "79549c9f3064d99035b8cf21625e13f2f9197ede19c546433974bb00a8b90f6b"}}, {"rule": 2, "type": "equivalent", "target": "ffa981528713bc0c5dfb6ad2ed90ea75", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "79549c9f3064d99035b8cf21625e13f2f9197ede19c546433974bb00a8b90f6b"}}], "version": "10.4", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "4c2ba004af8104bf528e8cf48a5125a1", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "在逻辑解码中，避免 walsender 重启时 WAL 数据可能被双重处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "79549c9f3064d99035b8cf21625e13f2f9197ede19c546433974bb00a8b90f6b"}, "url": "/docs/compare/?release=9.6.9#9.6.9-a1e1aee845cc3721", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "47bc65eec35ea4781ec3ef7802aed738", "kind": "equivalent", "version": "9.5.13", "label": "9.5.13", "title": "在逻辑解码中，避免 walsender 重启时 WAL 数据可能被双重处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "79549c9f3064d99035b8cf21625e13f2f9197ede19c546433974bb00a8b90f6b"}, "url": "/docs/compare/?release=9.5.13#9.5.13-a1e1aee845cc3721", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5"}, {"db_id": "ffa981528713bc0c5dfb6ad2ed90ea75", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "在逻辑解码中，避免 walsender 重启时 WAL 数据可能被双重处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "79549c9f3064d99035b8cf21625e13f2f9197ede19c546433974bb00a8b90f6b"}, "url": "/docs/compare/?release=9.4.18#9.4.18-a1e1aee845cc3721", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}]}, {"id": "10.4-ea9158591d769c8f", "cves": [], "html": "<p>修复逻辑复制，使其不再假定本地和远程服务器的类型 OID 相同（Masahiko Sawada）</p>", "text": "修复逻辑复制，使其不再假定本地和远程服务器的类型 OID 相同（Masahiko Sawada）", "title": "修复逻辑复制，使其不再假定本地和远程服务器的类型 OID 相同", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "1e6c94ffb839fb02ac0f3a7f6d081a7c08db8d978dfd49b80f46f4fc1462014a", "section_path": ["变更"], "commit_groups": [["24c0a6c64", "3c3450e74"]], "identity_text": "Fix logical replication to not assume that type OIDs match between the local and remote servers (Masahiko Sawada)", "commit_aliases": ["24c0a6c64", "3c3450e74"], "source_commits": ["3c3450e74"], "source_entry_id": "10.4/changes/038", "db_id": "6c8cf3f2d26c20019396866f24d875c7", "patch_ids": ["c5bfa97f7bcf125a0a919f673a473296"], "statement_hash": "f7abef90ae00d1fee38cdf7c89efcdb7c0db5facf5489b2c7db04aba9c419c40", "relations": [], "version": "10.4", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": []}, {"id": "10.4-8b8cfa71d75f5384", "cves": [], "html": "<p>允许将 <code>scalarltsel</code> 和 <code>scalargtsel</code> 用于非核心数据类型（Tomas Vondra）</p>", "text": "允许将 scalarltsel 和 scalargtsel 用于非核心数据类型（Tomas Vondra）", "title": "允许将 scalarltsel 和 scalargtsel 用于非核心数据类型", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "90ca9f138a7286859ffa5f654feb2fd4093dde39552dd06121ee3410475e5b31", "section_path": ["变更"], "commit_groups": [["0bea99bd9", "165fa27fe", "58d9acc18", "ad3e3d731", "bfade0e51", "e2108f581"]], "identity_text": "Allow scalarltsel and scalargtsel to be used on non-core datatypes (Tomas Vondra)", "commit_aliases": ["0bea99bd9", "165fa27fe", "58d9acc18", "ad3e3d731", "bfade0e51", "e2108f581"], "source_commits": ["bfade0e51"], "source_entry_id": "10.4/changes/039", "db_id": "b1bfdd907aec89a75bf1cc9b9d040f56", "patch_ids": ["11d594f2cfd4c53b899a4cace0fa3084"], "statement_hash": "3cf7c4620528c8a92f3ef599197cc213c6a2ae988ce5537647a25de2b7d6b50e", "relations": [{"rule": 2, "type": "equivalent", "target": "2489a01a1aa072ea9c497779d2c095fa", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3cf7c4620528c8a92f3ef599197cc213c6a2ae988ce5537647a25de2b7d6b50e"}}, {"rule": 2, "type": "equivalent", "target": "2d1c9127abf9e220078ac95813fe7259", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3cf7c4620528c8a92f3ef599197cc213c6a2ae988ce5537647a25de2b7d6b50e"}}, {"rule": 2, "type": "equivalent", "target": "a8eeba970cd71720b89ea607aaf6d323", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3cf7c4620528c8a92f3ef599197cc213c6a2ae988ce5537647a25de2b7d6b50e"}}, {"rule": 2, "type": "equivalent", "target": "f282a2d1093812925f015ba800325075", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3cf7c4620528c8a92f3ef599197cc213c6a2ae988ce5537647a25de2b7d6b50e"}}], "version": "10.4", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "2489a01a1aa072ea9c497779d2c095fa", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "允许 scalarltsel 和 scalargtsel 用于非核心数据类型", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3cf7c4620528c8a92f3ef599197cc213c6a2ae988ce5537647a25de2b7d6b50e"}, "url": "/docs/compare/?release=9.6.9#9.6.9-31ed71f6b49e9c19", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "2d1c9127abf9e220078ac95813fe7259", "kind": "equivalent", "version": "9.5.13", "label": "9.5.13", "title": "允许 scalarltsel 和 scalargtsel 用于非核心数据类型", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3cf7c4620528c8a92f3ef599197cc213c6a2ae988ce5537647a25de2b7d6b50e"}, "url": "/docs/compare/?release=9.5.13#9.5.13-31ed71f6b49e9c19", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5"}, {"db_id": "f282a2d1093812925f015ba800325075", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "允许 scalarltsel 和 scalargtsel 用于非核心数据类型", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3cf7c4620528c8a92f3ef599197cc213c6a2ae988ce5537647a25de2b7d6b50e"}, "url": "/docs/compare/?release=9.4.18#9.4.18-31ed71f6b49e9c19", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "a8eeba970cd71720b89ea607aaf6d323", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "允许 scalarltsel 和 scalargtsel 用于非核心数据类型", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3cf7c4620528c8a92f3ef599197cc213c6a2ae988ce5537647a25de2b7d6b50e"}, "url": "/docs/compare/?release=9.3.23#9.3.23-31ed71f6b49e9c19", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "10.4-4e156db7f4daad1c", "cves": [], "html": "<p>减少已收集大量查询输出后收到服务器错误时 <span>libpq</span> 的内存消耗（Tom Lane）</p>\n<p>在处理错误消息之前丢弃先前的输出，而不是之后。在某些平台上，尤其是 Linux，这会影响应用程序后续的内存占用。</p>", "text": "减少已收集大量查询输出后收到服务器错误时 libpq 的内存消耗（Tom Lane） 在处理错误消息之前丢弃先前的输出，而不是之后。在某些平台上，尤其是 Linux，这会影响应用程序后续的内存占用。", "title": "减少已收集大量查询输出后收到服务器错误时 libpq 的内存消耗", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "31d9842a4f9faf41d21d46f4fedb3e479e5238dfd38bbd9b2d89d0892e866fb2", "section_path": ["变更"], "commit_groups": [["131f6a958", "2278e94ae", "3dd36aa4b", "bbec33c2d", "d014b38df", "d25c2ee9c"]], "identity_text": "Reduce libpq's memory consumption when a server error is reported after a large amount of query output has been collected (Tom Lane) Discard the previous output before, not after, processing the error message. On some platforms, notably Linux, this can make a difference in the application's subsequent memory footprint.", "commit_aliases": ["131f6a958", "2278e94ae", "3dd36aa4b", "bbec33c2d", "d014b38df", "d25c2ee9c"], "source_commits": ["d014b38df"], "source_entry_id": "10.4/changes/040", "db_id": "7fd00656eb3166d11d40b31d0a701cde", "patch_ids": ["62e721775f6a4e5cf0507ee43f53f917"], "statement_hash": "ee45378f3c6b3c086ad2ba13f134eaf2fded2d377b6f9d8bef976b79920ce308", "relations": [{"rule": 2, "type": "equivalent", "target": "2e2e30d4f45969ba61c1eae7a82d4a2f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ee45378f3c6b3c086ad2ba13f134eaf2fded2d377b6f9d8bef976b79920ce308"}}, {"rule": 2, "type": "equivalent", "target": "629f2ba7fe42a5b76da1d69efc49c42f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ee45378f3c6b3c086ad2ba13f134eaf2fded2d377b6f9d8bef976b79920ce308"}}, {"rule": 2, "type": "equivalent", "target": "653ce78a669b47808c6c21ba056c6b28", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ee45378f3c6b3c086ad2ba13f134eaf2fded2d377b6f9d8bef976b79920ce308"}}, {"rule": 2, "type": "equivalent", "target": "93194ee05134f259b2e143780f4fd441", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ee45378f3c6b3c086ad2ba13f134eaf2fded2d377b6f9d8bef976b79920ce308"}}], "version": "10.4", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "653ce78a669b47808c6c21ba056c6b28", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "减少收集了大量查询输出之后服务器报告错误时 libpq 的内存消耗", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ee45378f3c6b3c086ad2ba13f134eaf2fded2d377b6f9d8bef976b79920ce308"}, "url": "/docs/compare/?release=9.6.9#9.6.9-87cad5659cbd6302", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "629f2ba7fe42a5b76da1d69efc49c42f", "kind": "equivalent", "version": "9.5.13", "label": "9.5.13", "title": "减少收集了大量查询输出之后服务器报告错误时 libpq 的内存消耗", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ee45378f3c6b3c086ad2ba13f134eaf2fded2d377b6f9d8bef976b79920ce308"}, "url": "/docs/compare/?release=9.5.13#9.5.13-87cad5659cbd6302", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5"}, {"db_id": "93194ee05134f259b2e143780f4fd441", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "减少收集了大量查询输出之后服务器报告错误时 libpq 的内存消耗", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ee45378f3c6b3c086ad2ba13f134eaf2fded2d377b6f9d8bef976b79920ce308"}, "url": "/docs/compare/?release=9.4.18#9.4.18-87cad5659cbd6302", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "2e2e30d4f45969ba61c1eae7a82d4a2f", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "减少收集了大量查询输出之后服务器报告错误时 libpq 的内存消耗", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ee45378f3c6b3c086ad2ba13f134eaf2fded2d377b6f9d8bef976b79920ce308"}, "url": "/docs/compare/?release=9.3.23#9.3.23-87cad5659cbd6302", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "10.4-87f745f301bd2233", "cves": [], "html": "<p>修复 <span>ecpg</span> 中重复释放引发的崩溃（Patrick Krecker，Jeevan Ladhe）</p>", "text": "修复 ecpg 中重复释放引发的崩溃（Patrick Krecker，Jeevan Ladhe）", "title": "修复 ecpg 中重复释放引发的崩溃", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "1a7a579800f426d539bdde028e234cb71554a69e2e097827b5d01a120540783a", "section_path": ["变更"], "commit_groups": [["042badc37", "44a36a8d9", "95f026021", "b32fad52e", "bd7eb6fe6", "fe65f5931"], ["09f4ca92b", "837d4f739", "8559b40c5", "8e3f3ab5b", "db2fc801f", "fcc15bf38"]], "identity_text": "Fix double-free crashes in ecpg (Patrick Krecker, Jeevan Ladhe)", "commit_aliases": ["042badc37", "09f4ca92b", "44a36a8d9", "837d4f739", "8559b40c5", "8e3f3ab5b", "95f026021", "b32fad52e", "bd7eb6fe6", "db2fc801f", "fcc15bf38", "fe65f5931"], "source_commits": ["8559b40c5", "fe65f5931"], "source_entry_id": "10.4/changes/041", "db_id": "bb37def1d3ffbdb16f5423882ee284aa", "patch_ids": ["1e0f4d974967ce7a6b90aae2fac5cf6a", "83542969ebe8b8cd2c5ef25174bd1525"], "statement_hash": "6465908dd7596f242150881ffc742caee3fd0439bee866f9ee28e11ba1348214", "relations": [{"rule": 2, "type": "equivalent", "target": "159b1c65a03eae282bbd2bae744da93b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6465908dd7596f242150881ffc742caee3fd0439bee866f9ee28e11ba1348214"}}, {"rule": 2, "type": "equivalent", "target": "7c6cac4a57b4ffe489adb9d1f1a4fe93", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6465908dd7596f242150881ffc742caee3fd0439bee866f9ee28e11ba1348214"}}, {"rule": 2, "type": "equivalent", "target": "ca20789dd1f6eb8145ffe8a4f7dc0023", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6465908dd7596f242150881ffc742caee3fd0439bee866f9ee28e11ba1348214"}}, {"rule": 2, "type": "equivalent", "target": "cd90ef8d70cdc0271c0e79bedcfd2dab", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6465908dd7596f242150881ffc742caee3fd0439bee866f9ee28e11ba1348214"}}], "version": "10.4", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "ca20789dd1f6eb8145ffe8a4f7dc0023", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "修复 ecpg 中的双重释放崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6465908dd7596f242150881ffc742caee3fd0439bee866f9ee28e11ba1348214"}, "url": "/docs/compare/?release=9.6.9#9.6.9-1a219e20bfead561", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "7c6cac4a57b4ffe489adb9d1f1a4fe93", "kind": "equivalent", "version": "9.5.13", "label": "9.5.13", "title": "修复 ecpg 中的双重释放崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6465908dd7596f242150881ffc742caee3fd0439bee866f9ee28e11ba1348214"}, "url": "/docs/compare/?release=9.5.13#9.5.13-1a219e20bfead561", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5"}, {"db_id": "159b1c65a03eae282bbd2bae744da93b", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "修复 ecpg 中的双重释放崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6465908dd7596f242150881ffc742caee3fd0439bee866f9ee28e11ba1348214"}, "url": "/docs/compare/?release=9.4.18#9.4.18-1a219e20bfead561", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "cd90ef8d70cdc0271c0e79bedcfd2dab", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "修复 ecpg 中的双重释放崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6465908dd7596f242150881ffc742caee3fd0439bee866f9ee28e11ba1348214"}, "url": "/docs/compare/?release=9.3.23#9.3.23-1a219e20bfead561", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "10.4-007b42221bce78e3", "cves": [], "html": "<p>修复 <span>ecpg</span>，使其在 MSVC 构建中正确处理 <code>long long int</code> 变量（Michael Meskes，Andrew Gierth）</p>", "text": "修复 ecpg，使其在 MSVC 构建中正确处理 long long int 变量（Michael Meskes，Andrew Gierth）", "title": "修复 ecpg，使其在 MSVC 构建中正确处理 long long int 变量", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "4666a4767fde193d3a6e31f5560cde8051328917fa9c43d83f193d0e966b65d3", "section_path": ["变更"], "commit_groups": [["49f9014c8", "51057feaa", "7ee8005ce", "87b7e1e88", "f171cbe0d", "fda3e6578"]], "identity_text": "Fix ecpg to handle long long int variables correctly in MSVC builds (Michael Meskes, Andrew Gierth)", "commit_aliases": ["49f9014c8", "51057feaa", "7ee8005ce", "87b7e1e88", "f171cbe0d", "fda3e6578"], "source_commits": ["fda3e6578"], "source_entry_id": "10.4/changes/042", "db_id": "b84680c11f9ad876ed9801ec7a9e50eb", "patch_ids": ["28c30566205f56a53ca8c75fe867815a"], "statement_hash": "54b461d4af0c113d1b77ed4d9f923e7764adb7d9d1cb0f9a16b96f9b5f1dbac6", "relations": [{"rule": 2, "type": "equivalent", "target": "194d09c49132cfa28077c392a69ced5b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "54b461d4af0c113d1b77ed4d9f923e7764adb7d9d1cb0f9a16b96f9b5f1dbac6"}}, {"rule": 2, "type": "equivalent", "target": "959c04fbac5a9ce1540e3a3c941bb0d5", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "54b461d4af0c113d1b77ed4d9f923e7764adb7d9d1cb0f9a16b96f9b5f1dbac6"}}, {"rule": 2, "type": "equivalent", "target": "d18f2c181c8331b1b400398ab6b42c29", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "54b461d4af0c113d1b77ed4d9f923e7764adb7d9d1cb0f9a16b96f9b5f1dbac6"}}, {"rule": 2, "type": "equivalent", "target": "d3d056491c2eb1de16daf122bc461cb3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "54b461d4af0c113d1b77ed4d9f923e7764adb7d9d1cb0f9a16b96f9b5f1dbac6"}}], "version": "10.4", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "d18f2c181c8331b1b400398ab6b42c29", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "修复 ecpg 在 MSVC 构建中正确处理 long long int 变量", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "54b461d4af0c113d1b77ed4d9f923e7764adb7d9d1cb0f9a16b96f9b5f1dbac6"}, "url": "/docs/compare/?release=9.6.9#9.6.9-b75b0c429c64455d", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "194d09c49132cfa28077c392a69ced5b", "kind": "equivalent", "version": "9.5.13", "label": "9.5.13", "title": "修复 ecpg 在 MSVC 构建中正确处理 long long int 变量", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "54b461d4af0c113d1b77ed4d9f923e7764adb7d9d1cb0f9a16b96f9b5f1dbac6"}, "url": "/docs/compare/?release=9.5.13#9.5.13-b75b0c429c64455d", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5"}, {"db_id": "959c04fbac5a9ce1540e3a3c941bb0d5", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "修复 ecpg 在 MSVC 构建中正确处理 long long int 变量", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "54b461d4af0c113d1b77ed4d9f923e7764adb7d9d1cb0f9a16b96f9b5f1dbac6"}, "url": "/docs/compare/?release=9.4.18#9.4.18-b75b0c429c64455d", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "d3d056491c2eb1de16daf122bc461cb3", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "修复 ecpg 在 MSVC 构建中正确处理 long long int 变量", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "54b461d4af0c113d1b77ed4d9f923e7764adb7d9d1cb0f9a16b96f9b5f1dbac6"}, "url": "/docs/compare/?release=9.3.23#9.3.23-b75b0c429c64455d", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "10.4-3319cfce1d57e55a", "cves": [], "html": "<p>修复转储中列表值 GUC 变量的值引用不正确的问题（Michael Paquier，Tom Lane）</p>\n<p><span>pg_dump</span> 输出中未正确引用 <code>local_preload_libraries</code>、<code>session_preload_libraries</code>、<code>shared_preload_libraries</code> 和 <code>temp_tablespaces</code> 变量。如果这些变量的设置出现在 <code>CREATE FUNCTION ... SET</code> 或 <code>ALTER DATABASE/ROLE ... SET</code> 子句中，就会导致问题。</p>", "text": "修复转储中列表值 GUC 变量的值引用不正确的问题（Michael Paquier，Tom Lane） pg_dump 输出中未正确引用 local_preload_libraries、session_preload_libraries、shared_preload_libraries 和 temp_tablespaces 变量。如果这些变量的设置出现在 CREATE FUNCTION ... SET 或 ALTER DATABASE/ROLE ... SET 子句中，就会导致问题。", "title": "修复转储中列表值 GUC 变量的值引用不正确的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "ba81e1e504e8f148ddd8d90d16ccd22d7f567c9208b9d7179732e01cca7dc468", "section_path": ["变更"], "commit_groups": [["66e92878a", "67e02cde7", "742869946", "8132f0f38", "a35d72923", "be677bb5a"]], "identity_text": "Fix mis-quoting of values for list-valued GUC variables in dumps (Michael Paquier, Tom Lane) The local_preload_libraries, session_preload_libraries, shared_preload_libraries, and temp_tablespaces variables were not correctly quoted in pg_dump output. This would cause problems if settings for these variables appeared in CREATE FUNCTION ... SET or ALTER DATABASE/ROLE ... SET clauses.", "commit_aliases": ["66e92878a", "67e02cde7", "742869946", "8132f0f38", "a35d72923", "be677bb5a"], "source_commits": ["66e92878a"], "source_entry_id": "10.4/changes/043", "db_id": "b6b812536ccecbcc7bb8b23c8c49a53e", "patch_ids": ["b40782f49e0072299c4243c0c9ed47c0"], "statement_hash": "facaf7b5caa7d3fe8c0ba335d3cac1bd92504392178f2c9b85a0491ad2288a8a", "relations": [{"rule": 2, "type": "equivalent", "target": "064841bc3fa7e083d2bfa3086a3aed02", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "facaf7b5caa7d3fe8c0ba335d3cac1bd92504392178f2c9b85a0491ad2288a8a"}}, {"rule": 2, "type": "equivalent", "target": "749eef6a8625564b60808c33fbf43cdb", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "facaf7b5caa7d3fe8c0ba335d3cac1bd92504392178f2c9b85a0491ad2288a8a"}}, {"rule": 2, "type": "equivalent", "target": "8ad311f47bc62ac7d78638203bbff004", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "facaf7b5caa7d3fe8c0ba335d3cac1bd92504392178f2c9b85a0491ad2288a8a"}}, {"rule": 2, "type": "equivalent", "target": "de2bab69cea68ac0568fcd06178a4d74", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "facaf7b5caa7d3fe8c0ba335d3cac1bd92504392178f2c9b85a0491ad2288a8a"}}], "version": "10.4", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "749eef6a8625564b60808c33fbf43cdb", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "修复转储中列表值 GUC 变量值的错误引号", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "facaf7b5caa7d3fe8c0ba335d3cac1bd92504392178f2c9b85a0491ad2288a8a"}, "url": "/docs/compare/?release=9.6.9#9.6.9-306f32b2f38c0bb1", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "de2bab69cea68ac0568fcd06178a4d74", "kind": "equivalent", "version": "9.5.13", "label": "9.5.13", "title": "修复转储中列表值 GUC 变量值的错误引号", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "facaf7b5caa7d3fe8c0ba335d3cac1bd92504392178f2c9b85a0491ad2288a8a"}, "url": "/docs/compare/?release=9.5.13#9.5.13-306f32b2f38c0bb1", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5"}, {"db_id": "064841bc3fa7e083d2bfa3086a3aed02", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "修复转储中列表值 GUC 变量值的错误引号", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "facaf7b5caa7d3fe8c0ba335d3cac1bd92504392178f2c9b85a0491ad2288a8a"}, "url": "/docs/compare/?release=9.4.18#9.4.18-306f32b2f38c0bb1", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "8ad311f47bc62ac7d78638203bbff004", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "修复转储中列表值 GUC 变量值的错误引号", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "facaf7b5caa7d3fe8c0ba335d3cac1bd92504392178f2c9b85a0491ad2288a8a"}, "url": "/docs/compare/?release=9.3.23#9.3.23-306f32b2f38c0bb1", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "10.4-ba3b784248f753d6", "cves": [], "html": "<p>修复 <span>pg_recvlogical</span>，使其连接到 v10 之前的 <span>PostgreSQL</span> 服务器时不会失败（Michael Paquier）</p>\n<p>之前的一项修复导致 <span>pg_recvlogical</span> 无论服务器版本如何都会发出一条命令，但该命令只应向 v10 及更高版本的服务器发出。</p>", "text": "修复 pg_recvlogical，使其连接到 v10 之前的 PostgreSQL 服务器时不会失败（Michael Paquier） 之前的一项修复导致 pg_recvlogical 无论服务器版本如何都会发出一条命令，但该命令只应向 v10 及更高版本的服务器发出。", "title": "修复 pg_recvlogical，使其连接到 v10 之前的 PostgreSQL 服务器时不会失败", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "8c1d8eab1e4f699376168d4cb00944d2cdebbffaeec75a8f6f0af7f19712e4f2", "section_path": ["变更"], "commit_groups": [["24f1e9ca0", "32c247629", "6336b6dfc", "bb532859f", "c7cc9b7d4"], ["24ff0fe87", "59743deca", "8d2814f27", "af5fbb128", "e7d3a37d9"]], "identity_text": "Fix pg_recvlogical to not fail against pre-v10 PostgreSQL servers (Michael Paquier) A previous fix caused pg_recvlogical to issue a command regardless of server version, but it should only be issued to v10 and later servers.", "commit_aliases": ["24f1e9ca0", "24ff0fe87", "32c247629", "59743deca", "6336b6dfc", "8d2814f27", "af5fbb128", "bb532859f", "c7cc9b7d4", "e7d3a37d9"], "source_commits": ["c7cc9b7d4", "e7d3a37d9"], "source_entry_id": "10.4/changes/044", "db_id": "55cb57b038e68ea6b0b8d7e11a0cafc7", "patch_ids": ["b216788b6e4ae68df37d4509c9a72bda", "c93c590bec64afd672b44f00c76c057e"], "statement_hash": "c716a7e497f76a8db30692f10bb32810d56aa2cda4e87c95f139ae48ebee3369", "relations": [{"rule": 2, "type": "equivalent", "target": "0440be8fe69545fdda3d0a01868a1801", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c716a7e497f76a8db30692f10bb32810d56aa2cda4e87c95f139ae48ebee3369"}}, {"rule": 2, "type": "equivalent", "target": "b8cf863de5c67f4abba5f0e00e1a6fdd", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c716a7e497f76a8db30692f10bb32810d56aa2cda4e87c95f139ae48ebee3369"}}, {"rule": 2, "type": "equivalent", "target": "f16ab393fa01f02407f84a89b30117bb", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c716a7e497f76a8db30692f10bb32810d56aa2cda4e87c95f139ae48ebee3369"}}], "version": "10.4", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "0440be8fe69545fdda3d0a01868a1801", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "修复 pg_recvlogical 对 v10 之前的 PostgreSQL 服务器不失败的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c716a7e497f76a8db30692f10bb32810d56aa2cda4e87c95f139ae48ebee3369"}, "url": "/docs/compare/?release=9.6.9#9.6.9-f44b0512089040d4", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "f16ab393fa01f02407f84a89b30117bb", "kind": "equivalent", "version": "9.5.13", "label": "9.5.13", "title": "修复 pg_recvlogical 对 v10 之前的 PostgreSQL 服务器不失败的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c716a7e497f76a8db30692f10bb32810d56aa2cda4e87c95f139ae48ebee3369"}, "url": "/docs/compare/?release=9.5.13#9.5.13-f44b0512089040d4", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5"}, {"db_id": "b8cf863de5c67f4abba5f0e00e1a6fdd", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "修复 pg_recvlogical 对 v10 之前的 PostgreSQL 服务器不失败的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c716a7e497f76a8db30692f10bb32810d56aa2cda4e87c95f139ae48ebee3369"}, "url": "/docs/compare/?release=9.4.18#9.4.18-f44b0512089040d4", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}]}, {"id": "10.4-0dd3aff18d58835a", "cves": [], "html": "<p>确保 <span>pg_rewind</span> 在运行期间源服务器删除文件时，也删除目标服务器上的这些文件（Takayuki Tsunakawa）</p>\n<p>未执行此操作可能导致目标上的数据不一致，尤其当相关文件是 WAL 段时。</p>", "text": "确保 pg_rewind 在运行期间源服务器删除文件时，也删除目标服务器上的这些文件（Takayuki Tsunakawa） 未执行此操作可能导致目标上的数据不一致，尤其当相关文件是 WAL 段时。", "title": "确保 pg_rewind 在运行期间源服务器删除文件时，也删除目标服务器上的这些文件", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "1a7c7202e070c5c0dc096bff52c8e956e5b00cbe9d39aaa77714045689f44941", "section_path": ["变更"], "commit_groups": [["09e96b3f3", "52c32d8d8", "b33e38cb1", "f1e07d576"]], "identity_text": "Ensure that pg_rewind deletes files on the target server if they are deleted from the source server during the run (Takayuki Tsunakawa) Failure to do this could result in data inconsistency on the target, particularly if the file in question is a WAL segment.", "commit_aliases": ["09e96b3f3", "52c32d8d8", "b33e38cb1", "f1e07d576"], "source_commits": ["f1e07d576"], "source_entry_id": "10.4/changes/045", "db_id": "b3524dc578645acbd0fb38efdfced2af", "patch_ids": ["df1a69794304e41b7480e2fc1112eb4c"], "statement_hash": "47b08c66475edd72563b8c327b1a85cbdeaea10dba7f72de51d48ed24c65ad87", "relations": [{"rule": 2, "type": "equivalent", "target": "63ef77e71621c5b56849f0a0ab070f0f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "47b08c66475edd72563b8c327b1a85cbdeaea10dba7f72de51d48ed24c65ad87"}}, {"rule": 2, "type": "equivalent", "target": "f3f2b75fd8ee3ce46c63fc0ed4eb5daf", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "47b08c66475edd72563b8c327b1a85cbdeaea10dba7f72de51d48ed24c65ad87"}}], "version": "10.4", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "f3f2b75fd8ee3ce46c63fc0ed4eb5daf", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "确保 pg_rewind 删除目标服务器上在运行期间从源服务器上删除的文件", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "47b08c66475edd72563b8c327b1a85cbdeaea10dba7f72de51d48ed24c65ad87"}, "url": "/docs/compare/?release=9.6.9#9.6.9-24a048a24b3a80cd", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "63ef77e71621c5b56849f0a0ab070f0f", "kind": "equivalent", "version": "9.5.13", "label": "9.5.13", "title": "确保 pg_rewind 删除目标服务器上在运行期间从源服务器上删除的文件", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "47b08c66475edd72563b8c327b1a85cbdeaea10dba7f72de51d48ed24c65ad87"}, "url": "/docs/compare/?release=9.5.13#9.5.13-24a048a24b3a80cd", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5"}]}, {"id": "10.4-ca7acdcd97ff17b0", "cves": [], "html": "<p>修复 <span>pg_rewind</span>，使其正确处理非默认表空间中的表（Takayuki Tsunakawa）</p>", "text": "修复 pg_rewind，使其正确处理非默认表空间中的表（Takayuki Tsunakawa）", "title": "修复 pg_rewind，使其正确处理非默认表空间中的表", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "cfefde282a1b20b0a6620620da38170dfdb99d22b9ed43addd66b6729fbf9af3", "section_path": ["变更"], "commit_groups": [["2f3e2340c", "7aba4f23f", "bca696ab0", "cb5c141ed"]], "identity_text": "Fix pg_rewind to handle tables in non-default tablespaces correctly (Takayuki Tsunakawa)", "commit_aliases": ["2f3e2340c", "7aba4f23f", "bca696ab0", "cb5c141ed"], "source_commits": ["bca696ab0"], "source_entry_id": "10.4/changes/046", "db_id": "f4331bc1623a254caab99493f629b0bb", "patch_ids": ["1b44cd11c44b29eec5a0d39c84a4b6f4"], "statement_hash": "932daf9e6b2f777411f62b04968cac85e0cc105ef415a5d7903dd503256a7785", "relations": [{"rule": 2, "type": "equivalent", "target": "42143c0be482380ba7422d02bdf4b093", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "932daf9e6b2f777411f62b04968cac85e0cc105ef415a5d7903dd503256a7785"}}, {"rule": 2, "type": "equivalent", "target": "fed34683425f21d3357383e253a5687d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "932daf9e6b2f777411f62b04968cac85e0cc105ef415a5d7903dd503256a7785"}}], "version": "10.4", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "42143c0be482380ba7422d02bdf4b093", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "修复 pg_rewind 正确处理非默认表空间中的表", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "932daf9e6b2f777411f62b04968cac85e0cc105ef415a5d7903dd503256a7785"}, "url": "/docs/compare/?release=9.6.9#9.6.9-2296b3b1c66da857", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "fed34683425f21d3357383e253a5687d", "kind": "equivalent", "version": "9.5.13", "label": "9.5.13", "title": "修复 pg_rewind 正确处理非默认表空间中的表", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "932daf9e6b2f777411f62b04968cac85e0cc105ef415a5d7903dd503256a7785"}, "url": "/docs/compare/?release=9.5.13#9.5.13-2296b3b1c66da857", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5"}]}, {"id": "10.4-54f1d4fb867b1af6", "cves": [], "html": "<p>修复 <span>PL/pgSQL</span> 整数 <code>FOR</code> 循环的溢出处理（Tom Lane）</p>\n<p>以前的代码在某些非 gcc 编译器下无法检测循环变量的溢出，导致无限循环。</p>", "text": "修复 PL/pgSQL 整数 FOR 循环的溢出处理（Tom Lane） 以前的代码在某些非 gcc 编译器下无法检测循环变量的溢出，导致无限循环。", "title": "修复 PL/pgSQL 整数 FOR 循环的溢出处理", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "7afb60a92172757a00decadeabbbbff65371606e349f322087c2258a82f84966", "section_path": ["变更"], "commit_groups": [["04c76acab", "092401b14", "2dbee9f19", "5917297bf", "b3fade55c", "f1f7a85d8"]], "identity_text": "Fix overflow handling in PL/pgSQL integer FOR loops (Tom Lane) The previous coding failed to detect overflow of the loop variable on some non-gcc compilers, leading to an infinite loop.", "commit_aliases": ["04c76acab", "092401b14", "2dbee9f19", "5917297bf", "b3fade55c", "f1f7a85d8"], "source_commits": ["04c76acab"], "source_entry_id": "10.4/changes/047", "db_id": "f450345e6832e0dd2c5a1b3a45c6ac38", "patch_ids": ["d316853a9c19a216ea992347fb061fdb"], "statement_hash": "0a4ef063cc03701150ad1f4b3f3bf285a431381585df071d65872a7709d5492f", "relations": [{"rule": 2, "type": "equivalent", "target": "3cc06ac8b9c606122033c3c3c23e3aae", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0a4ef063cc03701150ad1f4b3f3bf285a431381585df071d65872a7709d5492f"}}, {"rule": 2, "type": "equivalent", "target": "96f35c267ed059265a5bd3db3e0992bf", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0a4ef063cc03701150ad1f4b3f3bf285a431381585df071d65872a7709d5492f"}}, {"rule": 2, "type": "equivalent", "target": "eb6e1fc684cee262048ebc8962c28dc9", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0a4ef063cc03701150ad1f4b3f3bf285a431381585df071d65872a7709d5492f"}}, {"rule": 2, "type": "equivalent", "target": "fe4e9cda6c02ace229e826230e1d5be7", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0a4ef063cc03701150ad1f4b3f3bf285a431381585df071d65872a7709d5492f"}}], "version": "10.4", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "3cc06ac8b9c606122033c3c3c23e3aae", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "修复 PL/pgSQL 整数 FOR 循环中的溢出处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0a4ef063cc03701150ad1f4b3f3bf285a431381585df071d65872a7709d5492f"}, "url": "/docs/compare/?release=9.6.9#9.6.9-529b2ac348c7a206", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "fe4e9cda6c02ace229e826230e1d5be7", "kind": "equivalent", "version": "9.5.13", "label": "9.5.13", "title": "修复 PL/pgSQL 整数 FOR 循环中的溢出处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0a4ef063cc03701150ad1f4b3f3bf285a431381585df071d65872a7709d5492f"}, "url": "/docs/compare/?release=9.5.13#9.5.13-529b2ac348c7a206", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5"}, {"db_id": "eb6e1fc684cee262048ebc8962c28dc9", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "修复 PL/pgSQL 整数 FOR 循环中的溢出处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0a4ef063cc03701150ad1f4b3f3bf285a431381585df071d65872a7709d5492f"}, "url": "/docs/compare/?release=9.4.18#9.4.18-529b2ac348c7a206", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "96f35c267ed059265a5bd3db3e0992bf", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "修复 PL/pgSQL 整数 FOR 循环中的溢出处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0a4ef063cc03701150ad1f4b3f3bf285a431381585df071d65872a7709d5492f"}, "url": "/docs/compare/?release=9.3.23#9.3.23-529b2ac348c7a206", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "10.4-ff8b0ae87fbcb435", "cves": [], "html": "<p>调整 <span>PL/Python</span> 回归测试，使其在 Python 3.7 下通过（Peter Eisentraut）</p>", "text": "调整 PL/Python 回归测试，使其在 Python 3.7 下通过（Peter Eisentraut）", "title": "调整 PL/Python 回归测试，使其在 Python 3.7 下通过", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "6802139133e280db5c80e8e192111854b565e21604a3259b3c7f8e102a12f07d", "section_path": ["变更"], "commit_groups": [["7d8679975", "8f1787a8f", "ab7825ead", "af9e0d5cd", "b812d6372", "e7f904715"], ["fa03769e4"]], "identity_text": "Adjust PL/Python regression tests to pass under Python 3.7 (Peter Eisentraut)", "commit_aliases": ["7d8679975", "8f1787a8f", "ab7825ead", "af9e0d5cd", "b812d6372", "e7f904715", "fa03769e4"], "source_commits": ["8f1787a8f", "fa03769e4"], "source_entry_id": "10.4/changes/048", "db_id": "f6ba738d03ea0144cae827cb325f389e", "patch_ids": ["6b3d77ee3300df0c7c0cb722487a731b", "9dccd34054aad23b6a2448526c038424"], "statement_hash": "780cda6aa19cce3f7e34d381505d0cf4d3e5d79f0f57a64b19d5c54ad437e235", "relations": [{"rule": 2, "type": "equivalent", "target": "092a5c903e18a218cb0e3d07c1ddfa58", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "780cda6aa19cce3f7e34d381505d0cf4d3e5d79f0f57a64b19d5c54ad437e235"}}, {"rule": 2, "type": "equivalent", "target": "164add571e0be8b919d0c5b3da2daead", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "780cda6aa19cce3f7e34d381505d0cf4d3e5d79f0f57a64b19d5c54ad437e235"}}, {"rule": 2, "type": "equivalent", "target": "5aab5e26643cc2e13c498816801dc7bf", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "780cda6aa19cce3f7e34d381505d0cf4d3e5d79f0f57a64b19d5c54ad437e235"}}, {"rule": 2, "type": "equivalent", "target": "b0c08871487406ad55fa03671c7c93db", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "780cda6aa19cce3f7e34d381505d0cf4d3e5d79f0f57a64b19d5c54ad437e235"}}], "version": "10.4", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "164add571e0be8b919d0c5b3da2daead", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "调整 PL/Python 回归测试在 Python 3.7 下通过", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "780cda6aa19cce3f7e34d381505d0cf4d3e5d79f0f57a64b19d5c54ad437e235"}, "url": "/docs/compare/?release=9.6.9#9.6.9-d8ae8f462ec2ac64", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "092a5c903e18a218cb0e3d07c1ddfa58", "kind": "equivalent", "version": "9.5.13", "label": "9.5.13", "title": "调整 PL/Python 回归测试在 Python 3.7 下通过", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "780cda6aa19cce3f7e34d381505d0cf4d3e5d79f0f57a64b19d5c54ad437e235"}, "url": "/docs/compare/?release=9.5.13#9.5.13-d8ae8f462ec2ac64", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5"}, {"db_id": "b0c08871487406ad55fa03671c7c93db", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "调整 PL/Python 回归测试在 Python 3.7 下通过", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "780cda6aa19cce3f7e34d381505d0cf4d3e5d79f0f57a64b19d5c54ad437e235"}, "url": "/docs/compare/?release=9.4.18#9.4.18-d8ae8f462ec2ac64", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "5aab5e26643cc2e13c498816801dc7bf", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "调整 PL/Python 回归测试在 Python 3.7 下通过", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "780cda6aa19cce3f7e34d381505d0cf4d3e5d79f0f57a64b19d5c54ad437e235"}, "url": "/docs/compare/?release=9.3.23#9.3.23-d8ae8f462ec2ac64", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "10.4-615183650081353c", "cves": [], "html": "<p>支持在使用 Python 3 和 MSVC 构建时测试 <span>PL/Python</span> 及相关模块（Andrew Dunstan）</p>", "text": "支持在使用 Python 3 和 MSVC 构建时测试 PL/Python 及相关模块（Andrew Dunstan）", "title": "支持在使用 Python 3 和 MSVC 构建时测试 PL/Python 及相关模块", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "a88c428271185801edfbe925efdb85bcd4cfa637a94510ff97eade6713a4be49", "section_path": ["变更"], "commit_groups": [["0e6114be8", "1eb24720c", "289bafdbc", "2b9bdda74", "3b17d4b9d", "a75b01c61"], ["134db37d2", "56a45646d", "966268c76", "a9fbf550b", "af39c1da7", "c1f3638d2"]], "identity_text": "Support testing PL/Python and related modules when building with Python 3 and MSVC (Andrew Dunstan)", "commit_aliases": ["0e6114be8", "134db37d2", "1eb24720c", "289bafdbc", "2b9bdda74", "3b17d4b9d", "56a45646d", "966268c76", "a75b01c61", "a9fbf550b", "af39c1da7", "c1f3638d2"], "source_commits": ["0e6114be8", "56a45646d"], "source_entry_id": "10.4/changes/049", "db_id": "67249569a8f02ab6d5b7fda603dafabe", "patch_ids": ["389b03b92212f2a96693294ed95500b0", "52d28559764fd9ceac4a8e1499687418"], "statement_hash": "5634bb83ea20c4ad2d8a041c709d9c2b0786277710bfef1dfcfa50b8db46482c", "relations": [{"rule": 2, "type": "equivalent", "target": "b861e1fba741bc04dc0960df73737ae4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5634bb83ea20c4ad2d8a041c709d9c2b0786277710bfef1dfcfa50b8db46482c"}}, {"rule": 2, "type": "equivalent", "target": "bbb1df0c4d80a4d41956812f4c8d0341", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5634bb83ea20c4ad2d8a041c709d9c2b0786277710bfef1dfcfa50b8db46482c"}}, {"rule": 2, "type": "equivalent", "target": "e0c74adb069c3d08a3e6b9c95c9f695e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5634bb83ea20c4ad2d8a041c709d9c2b0786277710bfef1dfcfa50b8db46482c"}}, {"rule": 2, "type": "equivalent", "target": "e72aa8d3414b4f61eb5f961a40796c82", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5634bb83ea20c4ad2d8a041c709d9c2b0786277710bfef1dfcfa50b8db46482c"}}], "version": "10.4", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "e0c74adb069c3d08a3e6b9c95c9f695e", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "支持用 Python 3 和 MSVC 构建时测试 PL/Python 及相关模块", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5634bb83ea20c4ad2d8a041c709d9c2b0786277710bfef1dfcfa50b8db46482c"}, "url": "/docs/compare/?release=9.6.9#9.6.9-c664b797cc26ff0d", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "e72aa8d3414b4f61eb5f961a40796c82", "kind": "equivalent", "version": "9.5.13", "label": "9.5.13", "title": "支持用 Python 3 和 MSVC 构建时测试 PL/Python 及相关模块", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5634bb83ea20c4ad2d8a041c709d9c2b0786277710bfef1dfcfa50b8db46482c"}, "url": "/docs/compare/?release=9.5.13#9.5.13-c664b797cc26ff0d", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5"}, {"db_id": "bbb1df0c4d80a4d41956812f4c8d0341", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "支持用 Python 3 和 MSVC 构建时测试 PL/Python 及相关模块", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5634bb83ea20c4ad2d8a041c709d9c2b0786277710bfef1dfcfa50b8db46482c"}, "url": "/docs/compare/?release=9.4.18#9.4.18-c664b797cc26ff0d", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "b861e1fba741bc04dc0960df73737ae4", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "支持用 Python 3 和 MSVC 构建时测试 PL/Python 及相关模块", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5634bb83ea20c4ad2d8a041c709d9c2b0786277710bfef1dfcfa50b8db46482c"}, "url": "/docs/compare/?release=9.3.23#9.3.23-c664b797cc26ff0d", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "10.4-689aafb272c7365f", "cves": [], "html": "<p>修复首次构建 <code>contrib/bloom</code> 索引时的错误（Tomas Vondra，Tom Lane）</p>\n<p>修复索引可能遗漏表的最后一个元组的问题。对于部分索引，正确统计索引元组数。</p>", "text": "修复首次构建 contrib/bloom 索引时的错误（Tomas Vondra，Tom Lane） 修复索引可能遗漏表的最后一个元组的问题。对于部分索引，正确统计索引元组数。", "title": "修复首次构建 contrib/bloom 索引时的错误", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "6044b23c680c0b0eb81feb30387d6989943466d98ae630637fa0180daedbc62f", "section_path": ["变更"], "commit_groups": [["76e2b5ae4", "c35b47286", "df9040155"]], "identity_text": "Fix errors in initial build of contrib/bloom indexes (Tomas Vondra, Tom Lane) Fix possible omission of the table's last tuple from the index. Count the number of index tuples correctly, in case it is a partial index.", "commit_aliases": ["76e2b5ae4", "c35b47286", "df9040155"], "source_commits": ["76e2b5ae4"], "source_entry_id": "10.4/changes/050", "db_id": "b313f995f2a654b488f9b627a1a12bb8", "patch_ids": ["f632874e3c7d53d2f43a2daf911f3b2a"], "statement_hash": "d31f8239fd7adb90c80f8352ee81fd414db1869f5f615a2b908608d07ea18ec8", "relations": [{"rule": 2, "type": "equivalent", "target": "7c8059a665605976c3ad67c39d56a955", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d31f8239fd7adb90c80f8352ee81fd414db1869f5f615a2b908608d07ea18ec8"}}], "version": "10.4", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "7c8059a665605976c3ad67c39d56a955", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "修复 contrib/bloom 索引初始构建中的错误", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d31f8239fd7adb90c80f8352ee81fd414db1869f5f615a2b908608d07ea18ec8"}, "url": "/docs/compare/?release=9.6.9#9.6.9-e9ff8d13f07f4606", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}]}, {"id": "10.4-d1935009b2403fa7", "cves": [], "html": "<p>重命名内部函数 <code>b64_encode</code> 和 <code>b64_decode</code>，避免与 Solaris 11.4 的内置函数冲突（Rainer Orth）</p>", "text": "重命名内部函数 b64_encode 和 b64_decode，避免与 Solaris 11.4 的内置函数冲突（Rainer Orth）", "title": "重命名内部函数 b64_encode 和 b64_decode，避免与 Solaris 11.4 的内置函数冲突", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "11729c45b68623e91028a067c62e569954ffc9eb9c8a5d9ee58824c103220714", "section_path": ["变更"], "commit_groups": [["10102c91e", "11e7700e5", "43e949086", "679df2b8d", "aac6286d8", "d07f79a9c"]], "identity_text": "Rename internal b64_encode and b64_decode functions to avoid conflict with Solaris 11.4 built-in functions (Rainer Orth)", "commit_aliases": ["10102c91e", "11e7700e5", "43e949086", "679df2b8d", "aac6286d8", "d07f79a9c"], "source_commits": ["aac6286d8"], "source_entry_id": "10.4/changes/051", "db_id": "7540f3603393aeae040a4659ba200e0c", "patch_ids": ["dc2ebd1729d896c8cde9cabde75f7a3e"], "statement_hash": "ccdc115d4c7c4a9b335673b20b16a2b15c333f987124bf1d81085fa184d5388c", "relations": [{"rule": 2, "type": "equivalent", "target": "06b9ed0200a03897f6a65af4cb9e00ea", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ccdc115d4c7c4a9b335673b20b16a2b15c333f987124bf1d81085fa184d5388c"}}, {"rule": 2, "type": "equivalent", "target": "4ad3cf7374fe1c4733020237eb54702e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ccdc115d4c7c4a9b335673b20b16a2b15c333f987124bf1d81085fa184d5388c"}}, {"rule": 2, "type": "equivalent", "target": "54f9a13e02ec87667d4e9b57e8db3799", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ccdc115d4c7c4a9b335673b20b16a2b15c333f987124bf1d81085fa184d5388c"}}, {"rule": 2, "type": "equivalent", "target": "77b02662e7b58dcfdfd84bea5cf2e418", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ccdc115d4c7c4a9b335673b20b16a2b15c333f987124bf1d81085fa184d5388c"}}], "version": "10.4", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "4ad3cf7374fe1c4733020237eb54702e", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "重命名内部 b64_encode 和 b64_decode 函数，避免与 Solaris 11.4 内置函数冲突", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ccdc115d4c7c4a9b335673b20b16a2b15c333f987124bf1d81085fa184d5388c"}, "url": "/docs/compare/?release=9.6.9#9.6.9-26eff212b40fd4df", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "06b9ed0200a03897f6a65af4cb9e00ea", "kind": "equivalent", "version": "9.5.13", "label": "9.5.13", "title": "重命名内部 b64_encode 和 b64_decode 函数，避免与 Solaris 11.4 内置函数冲突", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ccdc115d4c7c4a9b335673b20b16a2b15c333f987124bf1d81085fa184d5388c"}, "url": "/docs/compare/?release=9.5.13#9.5.13-26eff212b40fd4df", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5"}, {"db_id": "54f9a13e02ec87667d4e9b57e8db3799", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "重命名内部 b64_encode 和 b64_decode 函数，避免与 Solaris 11.4 内置函数冲突", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ccdc115d4c7c4a9b335673b20b16a2b15c333f987124bf1d81085fa184d5388c"}, "url": "/docs/compare/?release=9.4.18#9.4.18-26eff212b40fd4df", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "77b02662e7b58dcfdfd84bea5cf2e418", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "重命名内部 b64_encode 和 b64_decode 函数，避免与 Solaris 11.4 内置函数冲突", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ccdc115d4c7c4a9b335673b20b16a2b15c333f987124bf1d81085fa184d5388c"}, "url": "/docs/compare/?release=9.3.23#9.3.23-26eff212b40fd4df", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "10.4-468a46698b9cfc72", "cves": [], "html": "<p>将所用时区库同步到 IANA tzcode 2018e 版（Tom Lane）</p>\n<p>此更新修复了 <span>zic</span> 时区数据编译器，使其能够处理负的夏令时偏移量。虽然 <span>PostgreSQL</span> 项目不会立即附带此类时区数据，但 <span>zic</span> 可能用于处理直接从 IANA 获取的时区数据，因此现在更新 <span>zic</span> 是稳妥的做法。</p>", "text": "将所用时区库同步到 IANA tzcode 2018e 版（Tom Lane） 此更新修复了 zic 时区数据编译器，使其能够处理负的夏令时偏移量。虽然 PostgreSQL 项目不会立即附带此类时区数据，但 zic 可能用于处理直接从 IANA 获取的时区数据，因此现在更新 zic 是稳妥的做法。", "title": "将所用时区库同步到 IANA tzcode 2018e 版", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "3da33e6ff2a7cca34c943286e37564ef88b9924296a1df87312d1ccf42987ce5", "section_path": ["变更"], "commit_groups": [["2d123b310", "4e0e9e59b", "7a83323f2", "9469ebc71", "b45f6613e", "b49f4e69a"]], "identity_text": "Sync our copy of the timezone library with IANA tzcode release 2018e (Tom Lane) This fixes the zic timezone data compiler to cope with negative daylight-savings offsets. While the PostgreSQL project will not immediately ship such timezone data, zic might be used with timezone data obtained directly from IANA, so it seems prudent to update zic now.", "commit_aliases": ["2d123b310", "4e0e9e59b", "7a83323f2", "9469ebc71", "b45f6613e", "b49f4e69a"], "source_commits": ["b49f4e69a"], "source_entry_id": "10.4/changes/052", "db_id": "0cc1900bec6f69ad0bba2717f75f98fc", "patch_ids": ["516cee10a9cf84f423a6c41a417bd5da"], "statement_hash": "b468918eca3475825fe4c623ae5493359c6550f7d2a598bdecc14068d7d4c224", "relations": [{"rule": 2, "type": "equivalent", "target": "18a599de7bec16fd8a0238f0fda5a7f4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b468918eca3475825fe4c623ae5493359c6550f7d2a598bdecc14068d7d4c224"}}, {"rule": 2, "type": "equivalent", "target": "578af37ef74ed8fc4e94dc6d8da39545", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b468918eca3475825fe4c623ae5493359c6550f7d2a598bdecc14068d7d4c224"}}, {"rule": 2, "type": "equivalent", "target": "95f2feddf6ec11ef3108ac02a7a07d65", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b468918eca3475825fe4c623ae5493359c6550f7d2a598bdecc14068d7d4c224"}}, {"rule": 2, "type": "equivalent", "target": "ad2a1d2d86c8ebbe87d1da7a8cd6341a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b468918eca3475825fe4c623ae5493359c6550f7d2a598bdecc14068d7d4c224"}}], "version": "10.4", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "ad2a1d2d86c8ebbe87d1da7a8cd6341a", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "把我们的时区库副本与 IANA tzcode 版本 2018e 同步", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b468918eca3475825fe4c623ae5493359c6550f7d2a598bdecc14068d7d4c224"}, "url": "/docs/compare/?release=9.6.9#9.6.9-873e63e8cc1f19cc", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "578af37ef74ed8fc4e94dc6d8da39545", "kind": "equivalent", "version": "9.5.13", "label": "9.5.13", "title": "把我们的时区库副本与 IANA tzcode 版本 2018e 同步", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b468918eca3475825fe4c623ae5493359c6550f7d2a598bdecc14068d7d4c224"}, "url": "/docs/compare/?release=9.5.13#9.5.13-873e63e8cc1f19cc", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5"}, {"db_id": "18a599de7bec16fd8a0238f0fda5a7f4", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "把我们的时区库副本与 IANA tzcode 版本 2018e 同步", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b468918eca3475825fe4c623ae5493359c6550f7d2a598bdecc14068d7d4c224"}, "url": "/docs/compare/?release=9.4.18#9.4.18-873e63e8cc1f19cc", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "95f2feddf6ec11ef3108ac02a7a07d65", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "把我们的时区库副本与 IANA tzcode 版本 2018e 同步", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b468918eca3475825fe4c623ae5493359c6550f7d2a598bdecc14068d7d4c224"}, "url": "/docs/compare/?release=9.3.23#9.3.23-873e63e8cc1f19cc", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "10.4-f02439962d1fec18", "cves": [], "html": "<p>将时区数据文件更新到 <span>tzdata</span> 2018d 版，以反映巴勒斯坦和南极洲（凯西站）的夏令时法规变更，并修正葡萄牙及其殖民地、恩德伯里岛、牙买加、特克斯 &amp; 凯科斯群岛和乌拉圭的历史数据。</p>", "text": "将时区数据文件更新到 tzdata 2018d 版，以反映巴勒斯坦和南极洲（凯西站）的夏令时法规变更，并修正葡萄牙及其殖民地、恩德伯里岛、牙买加、特克斯 & 凯科斯群岛和乌拉圭的历史数据。", "title": "将时区数据文件更新到 tzdata 2018d 版，以反映巴勒斯坦和南极洲（凯西站）的夏令时法规变更，并修正葡萄牙及其殖民地、恩德伯里岛、牙买加、特克斯 & 凯科斯群岛和乌拉圭的历史数据。", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.4/#id-1.11.6.24.5", "source_hash": "1728f59816b73605d86d2b49b478729950428763ed4e222baecfb9846e921486", "section_path": ["变更"], "commit_groups": [["2acbeea48", "37c02b2b0", "783e8f56d", "adcd0c2be", "df629586e", "eaed0d230"]], "identity_text": "Update time zone data files to tzdata release 2018d for DST law changes in Palestine and Antarctica (Casey Station), plus historical corrections for Portugal and its colonies, as well as Enderbury, Jamaica, Turks & Caicos Islands, and Uruguay.", "commit_aliases": ["2acbeea48", "37c02b2b0", "783e8f56d", "adcd0c2be", "df629586e", "eaed0d230"], "source_commits": ["783e8f56d"], "source_entry_id": "10.4/changes/053", "db_id": "7dc8ddc7c7abdcbec76b5a5d16b5f3d5", "patch_ids": ["e0d2e1304634c95e03b4a9a5e2e809bb"], "statement_hash": "daaa97fbe432facdb0e4bdf124621a21c9254d2f2c8ea69c358da90ab50e9a8c", "relations": [{"rule": 2, "type": "equivalent", "target": "15e000d884ef74d4cb086fd21b0fd5a7", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "daaa97fbe432facdb0e4bdf124621a21c9254d2f2c8ea69c358da90ab50e9a8c"}}, {"rule": 2, "type": "equivalent", "target": "19c596e1b4b3f3be560f47d5d1f241f2", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "daaa97fbe432facdb0e4bdf124621a21c9254d2f2c8ea69c358da90ab50e9a8c"}}, {"rule": 2, "type": "equivalent", "target": "634fe596a9e43c164d6ac3eb53037661", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "daaa97fbe432facdb0e4bdf124621a21c9254d2f2c8ea69c358da90ab50e9a8c"}}, {"rule": 2, "type": "equivalent", "target": "daa3f8bca1c58eb91ab08201f80cebfa", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "daaa97fbe432facdb0e4bdf124621a21c9254d2f2c8ea69c358da90ab50e9a8c"}}], "version": "10.4", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "19c596e1b4b3f3be560f47d5d1f241f2", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "更新时区数据文件到 tzdata 版本 2018d，涉及巴勒斯坦和南极洲（凯西站）的夏令时法规变更，以及葡萄牙及其殖民地、恩德伯里、牙买加、特克斯和凯科斯群岛及乌拉圭的历史修正。", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "daaa97fbe432facdb0e4bdf124621a21c9254d2f2c8ea69c358da90ab50e9a8c"}, "url": "/docs/compare/?release=9.6.9#9.6.9-b89a51d15b4feea8", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "15e000d884ef74d4cb086fd21b0fd5a7", "kind": "equivalent", "version": "9.5.13", "label": "9.5.13", "title": "更新时区数据文件到 tzdata 版本 2018d，涉及巴勒斯坦和南极洲（凯西站）的夏令时法规变更，以及葡萄牙及其殖民地、恩德伯里、牙买加、特克斯和凯科斯群岛及乌拉圭的历史修正。", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "daaa97fbe432facdb0e4bdf124621a21c9254d2f2c8ea69c358da90ab50e9a8c"}, "url": "/docs/compare/?release=9.5.13#9.5.13-b89a51d15b4feea8", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5"}, {"db_id": "634fe596a9e43c164d6ac3eb53037661", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "更新时区数据文件到 tzdata 版本 2018d，涉及巴勒斯坦和南极洲（凯西站）的夏令时法规变更，以及葡萄牙及其殖民地、恩德伯里、牙买加、特克斯和凯科斯群岛及乌拉圭的历史修正。", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "daaa97fbe432facdb0e4bdf124621a21c9254d2f2c8ea69c358da90ab50e9a8c"}, "url": "/docs/compare/?release=9.4.18#9.4.18-b89a51d15b4feea8", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "daa3f8bca1c58eb91ab08201f80cebfa", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "更新时区数据文件到 tzdata 版本 2018d，涉及巴勒斯坦和南极洲（凯西站）的夏令时法规变更，以及葡萄牙及其殖民地、恩德伯里、牙买加、特克斯和凯科斯群岛及乌拉圭的历史修正。", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "daaa97fbe432facdb0e4bdf124621a21c9254d2f2c8ea69c358da90ab50e9a8c"}, "url": "/docs/compare/?release=9.3.23#9.3.23-b89a51d15b4feea8", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}]}], "stats": [{"key": "all", "label": "全部变更", "count": 53}, {"key": "feature", "label": "新功能", "count": 0}, {"key": "bugfix", "label": "BUG 修复", "count": 30}, {"key": "security", "label": "安全相关", "count": 1}, {"key": "performance", "label": "性能改进", "count": 0}, {"key": "compatibility", "label": "兼容性变化", "count": 0}, {"key": "improvement", "label": "其他改进", "count": 22}], "total": 53, "release_count": 1, "cross_major": false, "cve_count": 1, "cves": [{"id": "CVE-2018-1115", "url": "https://www.postgresql.org/support/security/CVE-2018-1115/", "fixed": {"10": "10.4", "9.6": "9.6.9"}, "score": 3.1, "title": "撤销 contrib/adminpack 的 pg_logfile_rotate() 函数的公共执行权限", "vector": "AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N", "affected": {"10": "10", "9.6": "9.6"}, "component": "contrib module", "published": {"10": "2018-05-10", "9.6": "2018-05-10"}, "introduced": {}, "cvss_version": "3.0", "description_en": "", "first_published": "2018-05-10", "fixed_version": "10.4"}], "cve_available": true, "remaining_cves": [], "security_regressions": [], "warnings": [], "candidate_count": 53, "already_in_source_count": 0, "duplicate_count": 0, "excluded_count": 0, "exclusions": [], "source_as_of": "2026-09-26", "security_as_of": "2026-09-26"}