{"format": 1, "mode": "release", "from_release": null, "to_release": {"date": "2017-11-09", "build": "10.1", "major": "10", "minor": 1, "manual": "10", "status": "stable", "doc_git": "", "version": "10.1", "eol_date": "2022-11-10", "date_text": "2017-11-09", "supported": false, "manual_url": "/docs/10/release-10-1.html", "source_url": "/docs/release/10.1/", "entry_count": 37, "placeholder": false, "content_hash": "30b4a940822ef5bb930f679e5c6e11c0b13809c78460764914094cc87e703bdf", "manual_build": "10.23", "source_as_of": "", "changes_count": 37, "doc_loaded_at": "2026-09-26T02:56:43.207462", "migration_html": "<p>对于运行 10.X 的用户，不需要执行导出/恢复。</p>\n<p>但是，如果使用了 BRIN 索引，请参阅下方第四条变更日志。</p>", "compatibility_count": 0, "label": "10.1", "status_label": "历史版本", "eol": "2022-11-10", "age_days": 3247, "support_days": -1420}, "groups": [{"date": "2017-11-09", "build": "10.1", "major": "10", "minor": 1, "manual": "10", "status": "stable", "doc_git": "", "version": "10.1", "eol_date": "2022-11-10", "date_text": "2017-11-09", "supported": false, "manual_url": "/docs/10/release-10-1.html", "source_url": "/docs/release/10.1/", "entry_count": 37, "placeholder": false, "content_hash": "30b4a940822ef5bb930f679e5c6e11c0b13809c78460764914094cc87e703bdf", "manual_build": "10.23", "source_as_of": "", "changes_count": 37, "doc_loaded_at": "2026-09-26T02:56:43.207462", "migration_html": "<p>对于运行 10.X 的用户，不需要执行导出/恢复。</p>\n<p>但是，如果使用了 BRIN 索引，请参阅下方第四条变更日志。</p>", "compatibility_count": 0, "label": "10.1", "status_label": "历史版本", "eol": "2022-11-10", "age_days": 3247, "support_days": -1420, "entries": [{"id": "10.1-85f253dc8097c047", "cves": ["CVE-2017-15099"], "html": "<p>确保 <code>INSERT ... ON CONFLICT DO UPDATE</code> 在所有情况下都检查表权限和 RLS 策略（Dean Rasheed）</p>\n<p><code>INSERT ... ON CONFLICT DO UPDATE</code> 的更新路径要求对仲裁索引的列拥有 <code>SELECT</code> 权限，但在通过约束名称指定仲裁对象时，没有检查该权限。此外，对于启用了行级安全的表，它没有依据表的 <code>SELECT</code> 策略检查更新后的行（无论以何种方式指定仲裁索引）。（CVE-2017-15099）</p>", "text": "确保 INSERT ... ON CONFLICT DO UPDATE 在所有情况下都检查表权限和 RLS 策略（Dean Rasheed） INSERT ... ON CONFLICT DO UPDATE 的更新路径要求对仲裁索引的列拥有 SELECT 权限，但在通过约束名称指定仲裁对象时，没有检查该权限。此外，对于启用了行级安全的表，它没有依据表的 SELECT 策略检查更新后的行（无论以何种方式指定仲裁索引）。（CVE-2017-15099）", "title": "确保 INSERT ... ON CONFLICT DO UPDATE 在所有情况下都检查表权限和 RLS 策略", "commits": [], "section": "变更", "category": "security", "source_url": "/docs/release/10.1/#id-1.11.6.27.5", "source_hash": "ddce10ea70a45ed16391e8a8fd1beb68c3ba188608d7d3480bd8c8e245c633cc", "section_path": ["变更"], "commit_groups": [["045a18888", "1f23d1cd2", "3f8089572", "87b2ebd35"]], "identity_text": "Ensure that INSERT ... ON CONFLICT DO UPDATE checks table permissions and RLS policies in all cases (Dean Rasheed) The update path of INSERT ... ON CONFLICT DO UPDATE requires SELECT permission on the columns of the arbiter index, but it failed to check for that in the case of an arbiter specified by constraint name. In addition, for a table with row level security enabled, it failed to check updated rows against the table's SELECT policies (regardless of how the arbiter index was specified). (CVE-2017-15099)", "commit_aliases": ["045a18888", "1f23d1cd2", "3f8089572", "87b2ebd35"], "source_commits": ["3f8089572"], "source_entry_id": "10.1/changes/001", "db_id": "380f4bcd3b093f63238d5eb7ca39ec32", "patch_ids": ["26e61df94f97a833578df27eb99c5f19"], "statement_hash": "bdc7b72eb6e30c77a50b455cdec45ebcf7510aef8909d086284ef0df873502c0", "relations": [{"rule": 2, "type": "equivalent", "target": "401afe0c5f64400e64b520a851b9dee3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bdc7b72eb6e30c77a50b455cdec45ebcf7510aef8909d086284ef0df873502c0"}}, {"rule": 2, "type": "equivalent", "target": "66a5de7ed1ca2500e13ee943ddddeed2", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bdc7b72eb6e30c77a50b455cdec45ebcf7510aef8909d086284ef0df873502c0"}}], "version": "10.1", "category_label": "安全相关", "also_in": [], "variants": [], "related_changes": [{"db_id": "66a5de7ed1ca2500e13ee943ddddeed2", "kind": "equivalent", "version": "9.6.6", "label": "9.6.6", "title": "确保 INSERT ... ON CONFLICT DO UPDATE 在所有情况下检查表权限和 RLS 策略", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bdc7b72eb6e30c77a50b455cdec45ebcf7510aef8909d086284ef0df873502c0"}, "url": "/docs/compare/?release=9.6.6#9.6.6-20b5933e24adcaef", "source_url": "/docs/release/9.6.6/#id-1.11.6.23.5"}, {"db_id": "401afe0c5f64400e64b520a851b9dee3", "kind": "equivalent", "version": "9.5.10", "label": "9.5.10", "title": "确保 INSERT ... ON CONFLICT DO UPDATE 在所有情况下检查表权限和 RLS 策略", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bdc7b72eb6e30c77a50b455cdec45ebcf7510aef8909d086284ef0df873502c0"}, "url": "/docs/compare/?release=9.5.10#9.5.10-20b5933e24adcaef", "source_url": "/docs/release/9.5.10/#id-1.11.6.20.5"}]}, {"id": "10.1-6347e8c17fee8c51", "cves": ["CVE-2017-15098"], "html": "<p>修复 <code>json{b}_populate_recordset()</code> 中行类型不匹配导致的崩溃（Michael Paquier，Tom Lane）</p>\n<p>这些函数直接使用 <code>FROM ... AS</code> 子句中指定的结果行类型，而不检查它是否与所提供元组值的实际行类型匹配。如果不匹配，通常会导致崩溃，但似乎也可能泄露服务器内存内容。（CVE-2017-15098）</p>", "text": "修复 json{b}_populate_recordset() 中行类型不匹配导致的崩溃（Michael Paquier，Tom Lane） 这些函数直接使用 FROM ... AS 子句中指定的结果行类型，而不检查它是否与所提供元组值的实际行类型匹配。如果不匹配，通常会导致崩溃，但似乎也可能泄露服务器内存内容。（CVE-2017-15098）", "title": "修复 json{b}_populate_recordset() 中行类型不匹配导致的崩溃", "commits": [], "section": "变更", "category": "security", "source_url": "/docs/release/10.1/#id-1.11.6.27.5", "source_hash": "51d44e4ebb39d0c56f40d5bb94c707bf6e77d596d8dd9fb36a75fbbaa0e07fa6", "section_path": ["变更"], "commit_groups": [["38e825632", "70846ee05", "b57422871", "c0c8807de", "c30f082d2", "d5fe5fb23"]], "identity_text": "Fix crash due to rowtype mismatch in json{b}_populate_recordset() (Michael Paquier, Tom Lane) These functions used the result rowtype specified in the FROM ... AS clause without checking that it matched the actual rowtype of the supplied tuple value. If it didn't, that would usually result in a crash, though disclosure of server memory contents seems possible as well. (CVE-2017-15098)", "commit_aliases": ["38e825632", "70846ee05", "b57422871", "c0c8807de", "c30f082d2", "d5fe5fb23"], "source_commits": ["c30f082d2"], "source_entry_id": "10.1/changes/002", "db_id": "37b394189e78d2a3b737d155e68d704d", "patch_ids": ["4a3c093b43225e348fa5db922e03d5ae"], "statement_hash": "a69b26be09366182ddf5eb40831198aab8c3cc1e4caed1e36f829ab7d9245ebf", "relations": [{"rule": 2, "type": "equivalent", "target": "191926bdadf659c16bd799b814e0d447", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a69b26be09366182ddf5eb40831198aab8c3cc1e4caed1e36f829ab7d9245ebf"}}, {"rule": 2, "type": "equivalent", "target": "399e2c79d4fb41c334e3d99840aff867", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a69b26be09366182ddf5eb40831198aab8c3cc1e4caed1e36f829ab7d9245ebf"}}, {"rule": 2, "type": "equivalent", "target": "b357626c41922e96515309927cc03818", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a69b26be09366182ddf5eb40831198aab8c3cc1e4caed1e36f829ab7d9245ebf"}}, {"rule": 2, "type": "equivalent", "target": "ea0d6ab24e73c65a676e3d498331a15d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a69b26be09366182ddf5eb40831198aab8c3cc1e4caed1e36f829ab7d9245ebf"}}], "version": "10.1", "category_label": "安全相关", "also_in": [], "variants": [], "related_changes": [{"db_id": "191926bdadf659c16bd799b814e0d447", "kind": "equivalent", "version": "9.6.6", "label": "9.6.6", "title": "修复 json{b}_populate_recordset() 中行类型不匹配导致的崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a69b26be09366182ddf5eb40831198aab8c3cc1e4caed1e36f829ab7d9245ebf"}, "url": "/docs/compare/?release=9.6.6#9.6.6-6347e8c17fee8c51", "source_url": "/docs/release/9.6.6/#id-1.11.6.23.5"}, {"db_id": "ea0d6ab24e73c65a676e3d498331a15d", "kind": "equivalent", "version": "9.5.10", "label": "9.5.10", "title": "修复 json{b}_populate_recordset() 中行类型不匹配导致的崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a69b26be09366182ddf5eb40831198aab8c3cc1e4caed1e36f829ab7d9245ebf"}, "url": "/docs/compare/?release=9.5.10#9.5.10-6347e8c17fee8c51", "source_url": "/docs/release/9.5.10/#id-1.11.6.20.5"}, {"db_id": "399e2c79d4fb41c334e3d99840aff867", "kind": "equivalent", "version": "9.4.15", "label": "9.4.15", "title": "修复 json{b}_populate_recordset() 中行类型不匹配导致的崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a69b26be09366182ddf5eb40831198aab8c3cc1e4caed1e36f829ab7d9245ebf"}, "url": "/docs/compare/?release=9.4.15#9.4.15-6347e8c17fee8c51", "source_url": "/docs/release/9.4.15/#id-1.11.6.16.5"}, {"db_id": "b357626c41922e96515309927cc03818", "kind": "equivalent", "version": "9.3.20", "label": "9.3.20", "title": "修复 json{b}_populate_recordset() 中行类型不匹配导致的崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a69b26be09366182ddf5eb40831198aab8c3cc1e4caed1e36f829ab7d9245ebf"}, "url": "/docs/compare/?release=9.3.20#9.3.20-6347e8c17fee8c51", "source_url": "/docs/release/9.3.20/#id-1.11.6.10.5"}]}, {"id": "10.1-72954d576ba136af", "cves": ["CVE-2017-12172"], "html": "<p>修复示例服务器启动脚本，使其在打开 <code>$PGLOG</code> 之前切换为 <code>$PGUSER</code>（Noah Misch）</p>\n<p>以前，postmaster 日志文件在仍以 root 身份运行时打开。因此，数据库所有者可以将 <code>$PGLOG</code> 设为指向其他文件的符号链接，对其他系统用户发动攻击，因为追加日志消息会破坏该文件。</p>\n<p>默认情况下，这些脚本不会安装到任何位置。使用这些脚本的用户需要手动重新复制脚本，或将相同修改应用到自行修改过的版本中。如果现有的 <code>$PGLOG</code> 文件归 root 所有，则需要先删除它或将其重命名移开，再使用修正后的脚本重启服务器。（CVE-2017-12172）</p>", "text": "修复示例服务器启动脚本，使其在打开 $PGLOG 之前切换为 $PGUSER（Noah Misch） 以前，postmaster 日志文件在仍以 root 身份运行时打开。因此，数据库所有者可以将 $PGLOG 设为指向其他文件的符号链接，对其他系统用户发动攻击，因为追加日志消息会破坏该文件。 默认情况下，这些脚本不会安装到任何位置。使用这些脚本的用户需要手动重新复制脚本，或将相同修改应用到自行修改过的版本中。如果现有的 $PGLOG 文件归 root 所有，则需要先删除它或将其重命名移开，再使用修正后的脚本重启服务器。（CVE-2017-12172）", "title": "修复示例服务器启动脚本，使其在打开 $PGLOG 之前切换为 $PGUSER", "commits": [], "section": "变更", "category": "security", "source_url": "/docs/release/10.1/#id-1.11.6.27.5", "source_hash": "b4c2399f3d2bfbb76e343172b31c0dbe0b765246b9525d42271445ed53aa4dbe", "section_path": ["变更"], "commit_groups": [["29d067051", "6b0b983f7", "b50029768", "b7d6f7507", "dfc015dcf", "ed546dd06", "eda780281"]], "identity_text": "Fix sample server-start scripts to become $PGUSER before opening $PGLOG (Noah Misch) Previously, the postmaster log file was opened while still running as root. The database owner could therefore mount an attack against another system user by making $PGLOG be a symbolic link to some other file, which would then become corrupted by appending log messages. By default, these scripts are not installed anywhere. Users who have made use of them will need to manually recopy them, or apply the same changes to their modified versions. If the existing $PGLOG file is root-owned, it will need to be removed or renamed out of the way before restarting the server with the corrected script. (CVE-2017-12172)", "commit_aliases": ["29d067051", "6b0b983f7", "b50029768", "b7d6f7507", "dfc015dcf", "ed546dd06", "eda780281"], "source_commits": ["6b0b983f7"], "source_entry_id": "10.1/changes/003", "db_id": "061da361dc80476b681c7c5d03fc708b", "patch_ids": ["faf5b0dc6841564b33e98c660c06b4a8"], "statement_hash": "a05e5494d35e22e6034cd6cf9b331d83ceac1c7dd16696fb61f89bfd812c00de", "relations": [{"rule": 2, "type": "equivalent", "target": "1841cb200c58de883289108126c8e6b6", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a05e5494d35e22e6034cd6cf9b331d83ceac1c7dd16696fb61f89bfd812c00de"}}, {"rule": 2, "type": "equivalent", "target": "58dc708b44515e2bcbaa8e8e039dbcca", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a05e5494d35e22e6034cd6cf9b331d83ceac1c7dd16696fb61f89bfd812c00de"}}, {"rule": 2, "type": "equivalent", "target": "a81505d07ebbef14783cac259f1cc534", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a05e5494d35e22e6034cd6cf9b331d83ceac1c7dd16696fb61f89bfd812c00de"}}, {"rule": 2, "type": "equivalent", "target": "a859dd3ad16413efde5ed5f881f08378", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a05e5494d35e22e6034cd6cf9b331d83ceac1c7dd16696fb61f89bfd812c00de"}}, {"rule": 2, "type": "equivalent", "target": "e16d073a3ea0513c2861cddeed4600e4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a05e5494d35e22e6034cd6cf9b331d83ceac1c7dd16696fb61f89bfd812c00de"}}], "version": "10.1", "category_label": "安全相关", "also_in": [], "variants": [], "related_changes": [{"db_id": "a859dd3ad16413efde5ed5f881f08378", "kind": "equivalent", "version": "9.6.6", "label": "9.6.6", "title": "修复示例服务器启动脚本在打开 $PGLOG 之前变成 $PGUSER", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a05e5494d35e22e6034cd6cf9b331d83ceac1c7dd16696fb61f89bfd812c00de"}, "url": "/docs/compare/?release=9.6.6#9.6.6-b695ceda5feee1ee", "source_url": "/docs/release/9.6.6/#id-1.11.6.23.5"}, {"db_id": "e16d073a3ea0513c2861cddeed4600e4", "kind": "equivalent", "version": "9.5.10", "label": "9.5.10", "title": "修复示例服务器启动脚本在打开 $PGLOG 之前变成 $PGUSER", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a05e5494d35e22e6034cd6cf9b331d83ceac1c7dd16696fb61f89bfd812c00de"}, "url": "/docs/compare/?release=9.5.10#9.5.10-b695ceda5feee1ee", "source_url": "/docs/release/9.5.10/#id-1.11.6.20.5"}, {"db_id": "1841cb200c58de883289108126c8e6b6", "kind": "equivalent", "version": "9.4.15", "label": "9.4.15", "title": "修复示例服务器启动脚本在打开 $PGLOG 之前变成 $PGUSER", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a05e5494d35e22e6034cd6cf9b331d83ceac1c7dd16696fb61f89bfd812c00de"}, "url": "/docs/compare/?release=9.4.15#9.4.15-b695ceda5feee1ee", "source_url": "/docs/release/9.4.15/#id-1.11.6.16.5"}, {"db_id": "58dc708b44515e2bcbaa8e8e039dbcca", "kind": "equivalent", "version": "9.3.20", "label": "9.3.20", "title": "修复示例服务器启动脚本在打开 $PGLOG 之前变成 $PGUSER", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a05e5494d35e22e6034cd6cf9b331d83ceac1c7dd16696fb61f89bfd812c00de"}, "url": "/docs/compare/?release=9.3.20#9.3.20-b695ceda5feee1ee", "source_url": "/docs/release/9.3.20/#id-1.11.6.10.5"}, {"db_id": "a81505d07ebbef14783cac259f1cc534", "kind": "equivalent", "version": "9.2.24", "label": "9.2.24", "title": "修复示例服务器启动脚本在打开 $PGLOG 之前变成 $PGUSER", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a05e5494d35e22e6034cd6cf9b331d83ceac1c7dd16696fb61f89bfd812c00de"}, "url": "/docs/compare/?release=9.2.24#9.2.24-b695ceda5feee1ee", "source_url": "/docs/release/9.2.24/#id-1.11.6.5.6"}]}, {"id": "10.1-041a2e7d0f5fe751", "cves": [], "html": "<p>修复 BRIN 索引摘要生成，使其正确处理并发的表扩展（Álvaro Herrera）</p>\n<p>以前，一个竞态条件可能导致索引遗漏某些表行。可能需要重建现有 BRIN 索引，以修复此问题过去造成的影响。</p>", "text": "修复 BRIN 索引摘要生成，使其正确处理并发的表扩展（Álvaro Herrera） 以前，一个竞态条件可能导致索引遗漏某些表行。可能需要重建现有 BRIN 索引，以修复此问题过去造成的影响。", "title": "修复 BRIN 索引摘要生成，使其正确处理并发的表扩展", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.1/#id-1.11.6.27.5", "source_hash": "05056c7dd1185643bac64a87a3a41a821961595b75e484f1f483883251bb7f9c", "section_path": ["变更"], "commit_groups": [["1b890562b", "b17870d75"], ["37a856567", "bd8e2b3cf", "cf0612aa2", "ec42a1dcb"]], "identity_text": "Fix BRIN index summarization to handle concurrent table extension correctly (Álvaro Herrera) Previously, a race condition allowed some table rows to be omitted from the index. It may be necessary to reindex existing BRIN indexes to recover from past occurrences of this problem.", "commit_aliases": ["1b890562b", "37a856567", "b17870d75", "bd8e2b3cf", "cf0612aa2", "ec42a1dcb"], "source_commits": ["37a856567", "b17870d75"], "source_entry_id": "10.1/changes/004", "db_id": "d21d9848fa1bd9d7a5ae1cf39c315556", "patch_ids": ["1fb8d76b321f5e02561de014dace76af", "6ea900bd30089bb00c50c0a628cc5fe0"], "statement_hash": "cfdd83034fb7a4ef3ed6e058436900c59d58fb5805ca06dcc36b12967b68fe0b", "relations": [{"rule": 2, "type": "equivalent", "target": "e2e56d22bb5f4dd25374a23426836aee", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cfdd83034fb7a4ef3ed6e058436900c59d58fb5805ca06dcc36b12967b68fe0b"}}, {"rule": 2, "type": "equivalent", "target": "fef51c07bf244be99a243ef30589e76e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cfdd83034fb7a4ef3ed6e058436900c59d58fb5805ca06dcc36b12967b68fe0b"}}], "version": "10.1", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "e2e56d22bb5f4dd25374a23426836aee", "kind": "equivalent", "version": "9.6.6", "label": "9.6.6", "title": "修复 BRIN 索引摘要正确处理并发表扩展", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cfdd83034fb7a4ef3ed6e058436900c59d58fb5805ca06dcc36b12967b68fe0b"}, "url": "/docs/compare/?release=9.6.6#9.6.6-43525fad68699c88", "source_url": "/docs/release/9.6.6/#id-1.11.6.23.5"}, {"db_id": "fef51c07bf244be99a243ef30589e76e", "kind": "equivalent", "version": "9.5.10", "label": "9.5.10", "title": "修复 BRIN 索引摘要正确处理并发表扩展", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cfdd83034fb7a4ef3ed6e058436900c59d58fb5805ca06dcc36b12967b68fe0b"}, "url": "/docs/compare/?release=9.5.10#9.5.10-43525fad68699c88", "source_url": "/docs/release/9.5.10/#id-1.11.6.20.5"}]}, {"id": "10.1-63025365118b66d9", "cves": [], "html": "<p>修复并发更新 BRIN 索引期间可能发生的失败（Tom Lane）</p>\n<p>这些竞态条件可能导致 <span>“<span>invalid index offnum</span>”</span> 或 <span>“<span>inconsistent range map</span>”</span> 等错误。</p>", "text": "修复并发更新 BRIN 索引期间可能发生的失败（Tom Lane） 这些竞态条件可能导致 “invalid index offnum” 或 “inconsistent range map” 等错误。", "title": "修复并发更新 BRIN 索引期间可能发生的失败", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.1/#id-1.11.6.27.5", "source_hash": "85e3dde21eec602ba7424134123f99b21629ca79aefeda6cae348167c1d1a05f", "section_path": ["变更"], "commit_groups": [["43276abc6", "62a16572d", "97ba7b8c8", "a43cd427e"]], "identity_text": "Fix possible failures during concurrent updates of a BRIN index (Tom Lane) These race conditions could result in errors like invalid index offnum or inconsistent range map.", "commit_aliases": ["43276abc6", "62a16572d", "97ba7b8c8", "a43cd427e"], "source_commits": ["97ba7b8c8"], "source_entry_id": "10.1/changes/005", "db_id": "7b4faca00f475c7c2c6e98dabd155d51", "patch_ids": ["6da3637b8ce4df323b534e4bdfa34e3d"], "statement_hash": "725c1bbdc816d1d29cf9d27cfffb287c3995e518ceadcdaa4ec968ba2f1d6aa8", "relations": [{"rule": 2, "type": "equivalent", "target": "08985ba0a6ef6963aa3d32a2df40e916", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "725c1bbdc816d1d29cf9d27cfffb287c3995e518ceadcdaa4ec968ba2f1d6aa8"}}, {"rule": 2, "type": "equivalent", "target": "b0bcb6ca9d897036eb61462af2c9cca3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "725c1bbdc816d1d29cf9d27cfffb287c3995e518ceadcdaa4ec968ba2f1d6aa8"}}], "version": "10.1", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "08985ba0a6ef6963aa3d32a2df40e916", "kind": "equivalent", "version": "9.6.6", "label": "9.6.6", "title": "修复 BRIN 索引并发更新期间可能的失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "725c1bbdc816d1d29cf9d27cfffb287c3995e518ceadcdaa4ec968ba2f1d6aa8"}, "url": "/docs/compare/?release=9.6.6#9.6.6-b5dc812239b20db5", "source_url": "/docs/release/9.6.6/#id-1.11.6.23.5"}, {"db_id": "b0bcb6ca9d897036eb61462af2c9cca3", "kind": "equivalent", "version": "9.5.10", "label": "9.5.10", "title": "修复 BRIN 索引并发更新期间可能的失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "725c1bbdc816d1d29cf9d27cfffb287c3995e518ceadcdaa4ec968ba2f1d6aa8"}, "url": "/docs/compare/?release=9.5.10#9.5.10-b5dc812239b20db5", "source_url": "/docs/release/9.5.10/#id-1.11.6.20.5"}]}, {"id": "10.1-e4acf0a70c512eb8", "cves": [], "html": "<p>防止逻辑复制在复制 <code>UPDATE</code> 时将未复制的列设为空值（Petr Jelinek）</p>", "text": "防止逻辑复制在复制 UPDATE 时将未复制的列设为空值（Petr Jelinek）", "title": "防止逻辑复制在复制 UPDATE 时将未复制的列设为空值", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.1/#id-1.11.6.27.5", "source_hash": "1dc3064a9e918840cf86c0d3c0488475d5874ab59bfb2eede5141f5e929e3e90", "section_path": ["变更"], "commit_groups": [["a14b52c61", "a9fce6672"]], "identity_text": "Prevent logical replication from setting non-replicated columns to nulls when replicating an UPDATE (Petr Jelinek)", "commit_aliases": ["a14b52c61", "a9fce6672"], "source_commits": ["a14b52c61"], "source_entry_id": "10.1/changes/006", "db_id": "a724ec35ef17c3a8de6e88eef282e861", "patch_ids": ["4dedf890cff532c16779afbf0e2c5b46"], "statement_hash": "43c9966ad9690e283cdad2ee828da626d69a78ac786aec43c82682ab4749ce15", "relations": [], "version": "10.1", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "10.1-d1e2adb8eab527d2", "cves": [], "html": "<p>修复逻辑复制，使其按预期触发 <code>BEFORE ROW DELETE</code> 触发器（Masahiko Sawada）</p>\n<p>以前，除非表还具有 <code>BEFORE ROW UPDATE</code> 触发器，否则不会触发。</p>", "text": "修复逻辑复制，使其按预期触发 BEFORE ROW DELETE 触发器（Masahiko Sawada） 以前，除非表还具有 BEFORE ROW UPDATE 触发器，否则不会触发。", "title": "修复逻辑复制，使其按预期触发 BEFORE ROW DELETE 触发器", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.1/#id-1.11.6.27.5", "source_hash": "5af08b59f3403c72a685a8dc49dfd3e7f57da1ef4672d2e160d2358760d3324b", "section_path": ["变更"], "commit_groups": [["360fd1a7b", "7cde649ab"]], "identity_text": "Fix logical replication to fire BEFORE ROW DELETE triggers when expected (Masahiko Sawada) Previously, that failed to happen unless the table also had a BEFORE ROW UPDATE trigger.", "commit_aliases": ["360fd1a7b", "7cde649ab"], "source_commits": ["7cde649ab"], "source_entry_id": "10.1/changes/007", "db_id": "cd949ebf4d3c44ee854ccd785a28512c", "patch_ids": ["c161b20ed3fcc2b758a752360bc92ac3"], "statement_hash": "28702bd30fb01db746b9c71a94dfb95c165284b2b2cb883b523932f3e110ec40", "relations": [], "version": "10.1", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": []}, {"id": "10.1-77c54d6b8262b88b", "cves": [], "html": "<p>修复从使用 SPI 的函数（尤其是用 PL 语言编写的任何函数）调用逻辑解码时的崩溃（Tom Lane）</p>", "text": "修复从使用 SPI 的函数（尤其是用 PL 语言编写的任何函数）调用逻辑解码时的崩溃（Tom Lane）", "title": "修复从使用 SPI 的函数（尤其是用 PL 语言编写的任何函数）调用逻辑解码时的崩溃", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.1/#id-1.11.6.27.5", "source_hash": "ee1b6440ffb78b0700bb73f4f95dfe3d1f69515224fead2ebe8247e15dc8b7ca", "section_path": ["变更"], "commit_groups": [["13d2ed921", "1518d0784", "185279da3", "485d49dbc", "bfb69b1e5"]], "identity_text": "Fix crash when logical decoding is invoked from a SPI-using function, in particular any function written in a PL language (Tom Lane)", "commit_aliases": ["13d2ed921", "1518d0784", "185279da3", "485d49dbc", "bfb69b1e5"], "source_commits": ["485d49dbc"], "source_entry_id": "10.1/changes/008", "db_id": "d7712c8f429e00f2ff58d6d97cfb681b", "patch_ids": ["03d44509215d65274758f8fb65963ab0"], "statement_hash": "5d534d90b091782b7e8e6fb63af1326c4234a870ddcc902aadfd0ba2ec12577b", "relations": [{"rule": 2, "type": "equivalent", "target": "900b590dedd3fa57b2276a470d16c59c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5d534d90b091782b7e8e6fb63af1326c4234a870ddcc902aadfd0ba2ec12577b"}}, {"rule": 2, "type": "equivalent", "target": "d9b5032f1d268347b703e11848bd7e28", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5d534d90b091782b7e8e6fb63af1326c4234a870ddcc902aadfd0ba2ec12577b"}}, {"rule": 2, "type": "equivalent", "target": "da2723bbe135add5ce39c87e8667a6ed", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5d534d90b091782b7e8e6fb63af1326c4234a870ddcc902aadfd0ba2ec12577b"}}], "version": "10.1", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "900b590dedd3fa57b2276a470d16c59c", "kind": "equivalent", "version": "9.6.6", "label": "9.6.6", "title": "修复从使用 SPI 的函数（特别是任何用 PL 语言编写的函数）调用逻辑解码时崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5d534d90b091782b7e8e6fb63af1326c4234a870ddcc902aadfd0ba2ec12577b"}, "url": "/docs/compare/?release=9.6.6#9.6.6-e11054395380bc6f", "source_url": "/docs/release/9.6.6/#id-1.11.6.23.5"}, {"db_id": "d9b5032f1d268347b703e11848bd7e28", "kind": "equivalent", "version": "9.5.10", "label": "9.5.10", "title": "修复从使用 SPI 的函数（特别是任何用 PL 语言编写的函数）调用逻辑解码时崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5d534d90b091782b7e8e6fb63af1326c4234a870ddcc902aadfd0ba2ec12577b"}, "url": "/docs/compare/?release=9.5.10#9.5.10-e11054395380bc6f", "source_url": "/docs/release/9.5.10/#id-1.11.6.20.5"}, {"db_id": "da2723bbe135add5ce39c87e8667a6ed", "kind": "equivalent", "version": "9.4.15", "label": "9.4.15", "title": "修复从使用 SPI 的函数（特别是任何用 PL 语言编写的函数）调用逻辑解码时崩溃的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5d534d90b091782b7e8e6fb63af1326c4234a870ddcc902aadfd0ba2ec12577b"}, "url": "/docs/compare/?release=9.4.15#9.4.15-1586d96c829891f2", "source_url": "/docs/release/9.4.15/#id-1.11.6.16.5"}]}, {"id": "10.1-9df38368d96b2b2f", "cves": [], "html": "<p>查找 <code>INSERT</code>/<code>UPDATE</code>/<code>DELETE</code> 的目标表时忽略 CTE，并防止将带模式限定的目标表名与触发器过渡表名匹配（Thomas Munro）</p>\n<p>这恢复了 v10 之前附加到 DML 命令的 CTE 的行为。</p>", "text": "查找 INSERT/UPDATE/DELETE 的目标表时忽略 CTE，并防止将带模式限定的目标表名与触发器过渡表名匹配（Thomas Munro） 这恢复了 v10 之前附加到 DML 命令的 CTE 的行为。", "title": "查找 INSERT/UPDATE/DELETE 的目标表时忽略 CTE，并防止将带模式限定的目标表名与触发器过渡表名匹配", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.1/#id-1.11.6.27.5", "source_hash": "5a8be276c518edcef82f362f6f3655efc1d0f95bde653bd346630dbb30ffbd60", "section_path": ["变更"], "commit_groups": [["7421f4b89", "799037099"]], "identity_text": "Ignore CTEs when looking up the target table for INSERT/UPDATE/DELETE, and prevent matching schema-qualified target table names to trigger transition table names (Thomas Munro) This restores the pre-v10 behavior for CTEs attached to DML commands.", "commit_aliases": ["7421f4b89", "799037099"], "source_commits": ["799037099"], "source_entry_id": "10.1/changes/009", "db_id": "cc6b116e8281fe47f7011d7ea25a54da", "patch_ids": ["6e4a92e13bd6c63a59b67a503a1b15dd"], "statement_hash": "1ca18158f5379c104d949bb0ed1c3f6597acdad237136359025d375ecac490d5", "relations": [], "version": "10.1", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "10.1-9324e86211adce46", "cves": [], "html": "<p>避免在聚合函数的 <code>FILTER</code> 测试不通过的行上计算其参数表达式（Tom Lane）</p>\n<p>这恢复了 v10 之前的行为（也符合 SQL 标准）。</p>", "text": "避免在聚合函数的 FILTER 测试不通过的行上计算其参数表达式（Tom Lane） 这恢复了 v10 之前的行为（也符合 SQL 标准）。", "title": "避免在聚合函数的 FILTER 测试不通过的行上计算其参数表达式", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.1/#id-1.11.6.27.5", "source_hash": "4d8c944e6de5fb92fb25f02bf1dcf6c6e9565718dc2bbf80b5323fbc4bd77594", "section_path": ["变更"], "commit_groups": [["72e9cc971", "c3dfe0fec"]], "identity_text": "Avoid evaluating an aggregate function's argument expression(s) at rows where its FILTER test fails (Tom Lane) This restores the pre-v10 (and SQL-standard) behavior.", "commit_aliases": ["72e9cc971", "c3dfe0fec"], "source_commits": ["72e9cc971"], "source_entry_id": "10.1/changes/010", "db_id": "a6c7f21a710638bc75808fc4bdb9538d", "patch_ids": ["82a780637fe67525ff9d780843584eef"], "statement_hash": "06b435652ac73812f4dd760914584787065f75faba6ca17bf99b55e703d10671", "relations": [], "version": "10.1", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "10.1-05e9704cf6a0909d", "cves": [], "html": "<p>修复多个 <code>GROUPING SETS</code> 列包含相同简单变量时查询结果不正确的问题（Tom Lane）</p>", "text": "修复多个 GROUPING SETS 列包含相同简单变量时查询结果不正确的问题（Tom Lane）", "title": "修复多个 GROUPING SETS 列包含相同简单变量时查询结果不正确的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.1/#id-1.11.6.27.5", "source_hash": "702d591792d54640558fb1d5f719c90881040b4b02a9dde75199d2cacc590b57", "section_path": ["变更"], "commit_groups": [["08f1e1f0a", "37b4e0fe9", "6a81ba1d4"]], "identity_text": "Fix incorrect query results when multiple GROUPING SETS columns contain the same simple variable (Tom Lane)", "commit_aliases": ["08f1e1f0a", "37b4e0fe9", "6a81ba1d4"], "source_commits": ["6a81ba1d4"], "source_entry_id": "10.1/changes/011", "db_id": "8e496fc9d11aa4b3960a410c2366181a", "patch_ids": ["c3fdd54c347a6b412ffb73dc5d1c5507"], "statement_hash": "daccd3681d0a273bdb75c69c5bfd491f5974666fe560bde32acf42475720718a", "relations": [{"rule": 2, "type": "equivalent", "target": "4b06ce4f978351a14779b1338f4319ff", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "daccd3681d0a273bdb75c69c5bfd491f5974666fe560bde32acf42475720718a"}}], "version": "10.1", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "4b06ce4f978351a14779b1338f4319ff", "kind": "equivalent", "version": "9.6.6", "label": "9.6.6", "title": "修复多个 GROUPING SETS 列包含同一简单变量时的错误查询结果", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "daccd3681d0a273bdb75c69c5bfd491f5974666fe560bde32acf42475720718a"}, "url": "/docs/compare/?release=9.6.6#9.6.6-40ee3ccb2107cb6e", "source_url": "/docs/release/9.6.6/#id-1.11.6.23.5"}]}, {"id": "10.1-5cd7bd3e02a26880", "cves": [], "html": "<p>修复计算 <code>SELECT</code> 目标列表中的集合返回函数时，在查询生命周期内发生的内存泄漏（Tom Lane）</p>", "text": "修复计算 SELECT 目标列表中的集合返回函数时，在查询生命周期内发生的内存泄漏（Tom Lane）", "title": "修复计算 SELECT 目标列表中的集合返回函数时，在查询生命周期内发生的内存泄漏", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.1/#id-1.11.6.27.5", "source_hash": "f140f84d210b5c543799deb47b65bee830ec149e6910e21c24364c108e373867", "section_path": ["变更"], "commit_groups": [["0c25e9652", "a1c2c430d"]], "identity_text": "Fix query-lifespan memory leakage while evaluating a set-returning function in a SELECT's target list (Tom Lane)", "commit_aliases": ["0c25e9652", "a1c2c430d"], "source_commits": ["0c25e9652"], "source_entry_id": "10.1/changes/012", "db_id": "010526e70acb0edfad74d33711b0947a", "patch_ids": ["93cf9702236b8fcf0a9f551266a7fdf5"], "statement_hash": "5fdd0a4d335c629b7c4fcbd26334ca9e32a848d2a09921e94ccbf67e7325f7c6", "relations": [], "version": "10.1", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": []}, {"id": "10.1-63370c2723d72732", "cves": [], "html": "<p>允许并行执行使用通用计划的预备语句（Amit Kapila，Kuntal Ghosh）</p>", "text": "允许并行执行使用通用计划的预备语句（Amit Kapila，Kuntal Ghosh）", "title": "允许并行执行使用通用计划的预备语句", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.1/#id-1.11.6.27.5", "source_hash": "62886a81ba2a1873099fa96af3b4eb56d0be2ef5aab463e009ceafc51bc0e05b", "section_path": ["变更"], "commit_groups": [["682ce911f", "a87c0c763"]], "identity_text": "Allow parallel execution of prepared statements with generic plans (Amit Kapila, Kuntal Ghosh)", "commit_aliases": ["682ce911f", "a87c0c763"], "source_commits": ["a87c0c763"], "source_entry_id": "10.1/changes/013", "db_id": "a2c738ea10a4898c8d6f9c244d8c8127", "patch_ids": ["90b0b39459c5899dc41e97d888678717"], "statement_hash": "6a7142346ab0d3a2a51a4ba318e26c4359d1b08f1d4c56a5e168c01e2a2dacac", "relations": [], "version": "10.1", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "10.1-1e02745daeec9df5", "cves": [], "html": "<p>修复对嵌套查询作出的不正确并行化决定（Amit Kapila，Kuntal Ghosh）</p>", "text": "修复对嵌套查询作出的不正确并行化决定（Amit Kapila，Kuntal Ghosh）", "title": "修复对嵌套查询作出的不正确并行化决定", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.1/#id-1.11.6.27.5", "source_hash": "4006b1d8100c2f5d38d3c32fbcc428b382e3e7b340293a556fcf3d088d6fca09", "section_path": ["变更"], "commit_groups": [["036b6bd50", "639c1a6bb", "965a16fa9"]], "identity_text": "Fix incorrect parallelization decisions for nested queries (Amit Kapila, Kuntal Ghosh)", "commit_aliases": ["036b6bd50", "639c1a6bb", "965a16fa9"], "source_commits": ["965a16fa9"], "source_entry_id": "10.1/changes/014", "db_id": "1efed301fe4077ac7dfb7606c4fe638c", "patch_ids": ["245bf93a547e24d8a08f2e1fdcd8698c"], "statement_hash": "d056890804a7e5090d308192b26573b4018efaf824df54bf2b41652dbff0c7e6", "relations": [{"rule": 2, "type": "equivalent", "target": "1e2cd78c3594ff86aeccadac0ff8e234", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d056890804a7e5090d308192b26573b4018efaf824df54bf2b41652dbff0c7e6"}}], "version": "10.1", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "1e2cd78c3594ff86aeccadac0ff8e234", "kind": "equivalent", "version": "9.6.6", "label": "9.6.6", "title": "修复嵌套查询的错误并行化决策", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d056890804a7e5090d308192b26573b4018efaf824df54bf2b41652dbff0c7e6"}, "url": "/docs/compare/?release=9.6.6#9.6.6-a0be300a0f7ff04f", "source_url": "/docs/release/9.6.6/#id-1.11.6.23.5"}]}, {"id": "10.1-a4ebb1bbb8e01c65", "cves": [], "html": "<p>修复并行查询处理，避免最近使用过的角色被删除时发生失败（Amit Kapila）</p>", "text": "修复并行查询处理，避免最近使用过的角色被删除时发生失败（Amit Kapila）", "title": "修复并行查询处理，避免最近使用过的角色被删除时发生失败", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.1/#id-1.11.6.27.5", "source_hash": "2b78474598f0d45ca35a4dbbb9cad6128bb477b2159a65953c0456b7fa480f75", "section_path": ["变更"], "commit_groups": [["69125c883", "846fcc851", "f74f871b8"]], "identity_text": "Fix parallel query handling to not fail when a recently-used role is dropped (Amit Kapila)", "commit_aliases": ["69125c883", "846fcc851", "f74f871b8"], "source_commits": ["69125c883"], "source_entry_id": "10.1/changes/015", "db_id": "78fefaa0b6095d499b2030e8a4711de3", "patch_ids": ["7aede8aea0878e8953972e34d1ae1e20"], "statement_hash": "15887a9513fa819ff294c6b771d6c3c3f38f1227ebe99e989704178051263aea", "relations": [{"rule": 2, "type": "equivalent", "target": "7d3c64014b1cfe7c5c584f1c155750fc", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "15887a9513fa819ff294c6b771d6c3c3f38f1227ebe99e989704178051263aea"}}], "version": "10.1", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "7d3c64014b1cfe7c5c584f1c155750fc", "kind": "equivalent", "version": "9.6.6", "label": "9.6.6", "title": "修复并行查询处理在最近使用过的角色被删除时不失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "15887a9513fa819ff294c6b771d6c3c3f38f1227ebe99e989704178051263aea"}, "url": "/docs/compare/?release=9.6.6#9.6.6-26cf7658cb4b5778", "source_url": "/docs/release/9.6.6/#id-1.11.6.23.5"}]}, {"id": "10.1-59483783212d097a", "cves": [], "html": "<p>修复并行执行位图扫描时，BitmapOr 节点下具有 BitmapAnd 计划节点所导致的崩溃（Dilip Kumar）</p>", "text": "修复并行执行位图扫描时，BitmapOr 节点下具有 BitmapAnd 计划节点所导致的崩溃（Dilip Kumar）", "title": "修复并行执行位图扫描时，BitmapOr 节点下具有 BitmapAnd 计划节点所导致的崩溃", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.1/#id-1.11.6.27.5", "source_hash": "fbfd419ec353b2836578f223bac6cbf4816b0fddfe88bcc59300a496b24baa0d", "section_path": ["变更"], "commit_groups": [["6393613b6", "a3b1c2218"]], "identity_text": "Fix crash in parallel execution of a bitmap scan having a BitmapAnd plan node below a BitmapOr node (Dilip Kumar)", "commit_aliases": ["6393613b6", "a3b1c2218"], "source_commits": ["a3b1c2218"], "source_entry_id": "10.1/changes/016", "db_id": "4a6733b2317e57b25e6604b4cbe7c648", "patch_ids": ["bfdb2d65d5ae7caf80e8adfe53375952"], "statement_hash": "d0b7c5489e6e6be09d806ac70bd435d3fe33212f7039dad20911be0939e848fe", "relations": [], "version": "10.1", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": []}, {"id": "10.1-8bffb9fa5d5c7e8e", "cves": [], "html": "<p>修复 <code>json_build_array()</code>、<code>json_build_object()</code> 及其 <code>jsonb</code> 对应函数，使其正确处理显式 <code>VARIADIC</code> 参数（Michael Paquier）</p>", "text": "修复 json_build_array()、json_build_object() 及其 jsonb 对应函数，使其正确处理显式 VARIADIC 参数（Michael Paquier）", "title": "修复 json_build_array()、json_build_object() 及其 jsonb 对应函数，使其正确处理显式 VARIADIC 参数", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.1/#id-1.11.6.27.5", "source_hash": "3f97b081c6a68e81f21f3c1a45126e3ed3cf10f4cf34605fedaa2d2e7c77fa20", "section_path": ["变更"], "commit_groups": [["06d5ba0d4", "18fc4ecf4", "3cc5f0550", "98efa5ebf", "9cb28e98b"], ["5c3a1bbb4", "5c8dcd322", "7f89fc418", "f3c6e8a27", "fb17082d7"]], "identity_text": "Fix json_build_array(), json_build_object(), and their jsonb equivalents to handle explicit VARIADIC arguments correctly (Michael Paquier)", "commit_aliases": ["06d5ba0d4", "18fc4ecf4", "3cc5f0550", "5c3a1bbb4", "5c8dcd322", "7f89fc418", "98efa5ebf", "9cb28e98b", "f3c6e8a27", "fb17082d7"], "source_commits": ["06d5ba0d4", "fb17082d7"], "source_entry_id": "10.1/changes/017", "db_id": "8dc79438cda57a198fc3c7951a656488", "patch_ids": ["452c3251f20e3971c056af89535c3cad", "b6499607a9371c60822e7540838edd0e"], "statement_hash": "1ea7cf6ee04b0b83963e0af6776cdd63066d817e174e60414cc086e0e6e0cd9d", "relations": [{"rule": 2, "type": "equivalent", "target": "0f347118ea5476d78ae7cfc6afc3de76", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1ea7cf6ee04b0b83963e0af6776cdd63066d817e174e60414cc086e0e6e0cd9d"}}, {"rule": 2, "type": "equivalent", "target": "17540cc0aa36f42db829bb39af599b7b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1ea7cf6ee04b0b83963e0af6776cdd63066d817e174e60414cc086e0e6e0cd9d"}}, {"rule": 2, "type": "equivalent", "target": "ebcfc09ce0306c1e91a3fe2d4c753e2c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1ea7cf6ee04b0b83963e0af6776cdd63066d817e174e60414cc086e0e6e0cd9d"}}], "version": "10.1", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "ebcfc09ce0306c1e91a3fe2d4c753e2c", "kind": "equivalent", "version": "9.6.6", "label": "9.6.6", "title": "修复 json_build_array()、json_build_object() 及其 jsonb 等价函数正确处理显式 VARIADIC 参数", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1ea7cf6ee04b0b83963e0af6776cdd63066d817e174e60414cc086e0e6e0cd9d"}, "url": "/docs/compare/?release=9.6.6#9.6.6-2a1f733d60fe75b9", "source_url": "/docs/release/9.6.6/#id-1.11.6.23.5"}, {"db_id": "17540cc0aa36f42db829bb39af599b7b", "kind": "equivalent", "version": "9.5.10", "label": "9.5.10", "title": "修复 json_build_array()、json_build_object() 及其 jsonb 等价函数正确处理显式 VARIADIC 参数", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1ea7cf6ee04b0b83963e0af6776cdd63066d817e174e60414cc086e0e6e0cd9d"}, "url": "/docs/compare/?release=9.5.10#9.5.10-2a1f733d60fe75b9", "source_url": "/docs/release/9.5.10/#id-1.11.6.20.5"}, {"db_id": "0f347118ea5476d78ae7cfc6afc3de76", "kind": "equivalent", "version": "9.4.15", "label": "9.4.15", "title": "修复json_build_array()、json_build_object()及其jsonb等价函数正确处理显式VARIADIC参数的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1ea7cf6ee04b0b83963e0af6776cdd63066d817e174e60414cc086e0e6e0cd9d"}, "url": "/docs/compare/?release=9.4.15#9.4.15-13e04a714b411797", "source_url": "/docs/release/9.4.15/#id-1.11.6.16.5"}]}, {"id": "10.1-52a978828cde79dc", "cves": [], "html": "<p>修复自动清理的<span>“<span>工作项</span>”</span>逻辑，防止可能的崩溃和工作项静默丢失（Álvaro Herrera）</p>", "text": "修复自动清理的“工作项”逻辑，防止可能的崩溃和工作项静默丢失（Álvaro Herrera）", "title": "修复自动清理的“工作项”逻辑，防止可能的崩溃和工作项静默丢失", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.1/#id-1.11.6.27.5", "source_hash": "66db22ef04a4a65bd3fafac7e525baf31c33405926f4c2bf9578eb0d23b8468c", "section_path": ["变更"], "commit_groups": [["52ca7572c", "be72b9c37"]], "identity_text": "Fix autovacuum's work item logic to prevent possible crashes and silent loss of work items (Álvaro Herrera)", "commit_aliases": ["52ca7572c", "be72b9c37"], "source_commits": ["52ca7572c"], "source_entry_id": "10.1/changes/018", "db_id": "0840d25df065485dfff8ce5bd44986a8", "patch_ids": ["0be24ddb1fb2d08640c787f9436827bc"], "statement_hash": "384c564b9442f1078cfc9434681c4e0f50b61f7bf6a02658497e402a6797cd79", "relations": [], "version": "10.1", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": []}, {"id": "10.1-6025f14bd0231868", "cves": [], "html": "<p>修复在视图末尾添加列时的极端情况崩溃（Tom Lane）</p>", "text": "修复在视图末尾添加列时的极端情况崩溃（Tom Lane）", "title": "修复在视图末尾添加列时的极端情况崩溃", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.1/#id-1.11.6.27.5", "source_hash": "1da22a6c02698344ad3ceb90147da69b7938ba882c7c4f0635759bde17806776", "section_path": ["变更"], "commit_groups": [["1f81c2cd5", "21daada10", "291a31c42", "a4c11c103", "d01d97c25", "d76886c2d", "e06b9e9dc"], ["66104119e", "7e5e8b36d", "80e79718d", "9d15b8b36", "acd3287e4", "d5b760ecb", "ddde3b4f3"]], "identity_text": "Fix corner-case crashes when columns have been added to the end of a view (Tom Lane)", "commit_aliases": ["1f81c2cd5", "21daada10", "291a31c42", "66104119e", "7e5e8b36d", "80e79718d", "9d15b8b36", "a4c11c103", "acd3287e4", "d01d97c25", "d5b760ecb", "d76886c2d", "ddde3b4f3", "e06b9e9dc"], "source_commits": ["291a31c42", "ddde3b4f3"], "source_entry_id": "10.1/changes/019", "db_id": "ef97718edf710920c1ada79e912a7394", "patch_ids": ["0818420c512314029d2ad685a3d80de0", "547f3fe20a349b8862eefc7c3a78db7d"], "statement_hash": "bc202eac201ec2d89727efc9ffc5da3f77abe288bd9c4cc36aebb013c0eb2adf", "relations": [{"rule": 2, "type": "equivalent", "target": "5dd9112df0daa106089cd18015b5f07c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bc202eac201ec2d89727efc9ffc5da3f77abe288bd9c4cc36aebb013c0eb2adf"}}, {"rule": 2, "type": "equivalent", "target": "89c8e733fdead3c204e3786e2b7c350d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bc202eac201ec2d89727efc9ffc5da3f77abe288bd9c4cc36aebb013c0eb2adf"}}, {"rule": 2, "type": "equivalent", "target": "8a7b9b004774c09111b17cb617d4a36d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bc202eac201ec2d89727efc9ffc5da3f77abe288bd9c4cc36aebb013c0eb2adf"}}, {"rule": 2, "type": "equivalent", "target": "8df8e065b7c9084d432bf1eb20ebef6f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bc202eac201ec2d89727efc9ffc5da3f77abe288bd9c4cc36aebb013c0eb2adf"}}, {"rule": 2, "type": "equivalent", "target": "ecb8d6ca4538276779e5fb096fe8c30a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bc202eac201ec2d89727efc9ffc5da3f77abe288bd9c4cc36aebb013c0eb2adf"}}], "version": "10.1", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "8a7b9b004774c09111b17cb617d4a36d", "kind": "equivalent", "version": "9.6.6", "label": "9.6.6", "title": "修复在视图末尾添加列后的边界崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bc202eac201ec2d89727efc9ffc5da3f77abe288bd9c4cc36aebb013c0eb2adf"}, "url": "/docs/compare/?release=9.6.6#9.6.6-98a6704c482fbe65", "source_url": "/docs/release/9.6.6/#id-1.11.6.23.5"}, {"db_id": "89c8e733fdead3c204e3786e2b7c350d", "kind": "equivalent", "version": "9.5.10", "label": "9.5.10", "title": "修复在视图末尾添加列后的边界崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bc202eac201ec2d89727efc9ffc5da3f77abe288bd9c4cc36aebb013c0eb2adf"}, "url": "/docs/compare/?release=9.5.10#9.5.10-98a6704c482fbe65", "source_url": "/docs/release/9.5.10/#id-1.11.6.20.5"}, {"db_id": "ecb8d6ca4538276779e5fb096fe8c30a", "kind": "equivalent", "version": "9.4.15", "label": "9.4.15", "title": "修复在视图末尾添加列后极端情况下崩溃的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bc202eac201ec2d89727efc9ffc5da3f77abe288bd9c4cc36aebb013c0eb2adf"}, "url": "/docs/compare/?release=9.4.15#9.4.15-a372add8964a05a5", "source_url": "/docs/release/9.4.15/#id-1.11.6.16.5"}, {"db_id": "5dd9112df0daa106089cd18015b5f07c", "kind": "equivalent", "version": "9.3.20", "label": "9.3.20", "title": "修复在视图末尾添加列后的边界崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bc202eac201ec2d89727efc9ffc5da3f77abe288bd9c4cc36aebb013c0eb2adf"}, "url": "/docs/compare/?release=9.3.20#9.3.20-98a6704c482fbe65", "source_url": "/docs/release/9.3.20/#id-1.11.6.10.5"}, {"db_id": "8df8e065b7c9084d432bf1eb20ebef6f", "kind": "equivalent", "version": "9.2.24", "label": "9.2.24", "title": "修复在视图末尾添加列后的边界崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bc202eac201ec2d89727efc9ffc5da3f77abe288bd9c4cc36aebb013c0eb2adf"}, "url": "/docs/compare/?release=9.2.24#9.2.24-98a6704c482fbe65", "source_url": "/docs/release/9.2.24/#id-1.11.6.5.6"}]}, {"id": "10.1-6c17bbc5710e4bc6", "cves": [], "html": "<p>当视图或规则包含 <code>FieldSelect</code> 或 <code>FieldStore</code> 表达式节点时，记录正确的依赖关系（Tom Lane）</p>\n<p>缺少这些依赖关系可能导致本应失败的列或数据类型 <code>DROP</code> 得以执行，从而使随后使用该视图或规则的操作出错。此补丁不会保护现有视图或规则，只保护今后创建的视图或规则。</p>", "text": "当视图或规则包含 FieldSelect 或 FieldStore 表达式节点时，记录正确的依赖关系（Tom Lane） 缺少这些依赖关系可能导致本应失败的列或数据类型 DROP 得以执行，从而使随后使用该视图或规则的操作出错。此补丁不会保护现有视图或规则，只保护今后创建的视图或规则。", "title": "当视图或规则包含 FieldSelect 或 FieldStore 表达式节点时，记录正确的依赖关系", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.1/#id-1.11.6.27.5", "source_hash": "c37f65026e4165ccde882ec9bd344a9abebdd660156803f460ed461be9ea6b93", "section_path": ["变更"], "commit_groups": [["285b850d5", "900a9fd64", "aa0518301", "d8a3be52f", "dde99de11", "df4aa6e4e", "f3ea3e3e8"], ["376ac922d", "37fb01cb0", "6784d7a1d", "8be102242", "adcfa7bd1", "be203c36a", "cf0331a54"]], "identity_text": "Record proper dependencies when a view or rule contains FieldSelect or FieldStore expression nodes (Tom Lane) Lack of these dependencies could allow a column or data type DROP to go through when it ought to fail, thereby causing later uses of the view or rule to get errors. This patch does not do anything to protect existing views/rules, only ones created in the future.", "commit_aliases": ["285b850d5", "376ac922d", "37fb01cb0", "6784d7a1d", "8be102242", "900a9fd64", "aa0518301", "adcfa7bd1", "be203c36a", "cf0331a54", "d8a3be52f", "dde99de11", "df4aa6e4e", "f3ea3e3e8"], "source_commits": ["8be102242", "df4aa6e4e"], "source_entry_id": "10.1/changes/020", "db_id": "1fb24dcf409901f8e7de3ac50cbca74d", "patch_ids": ["43caad958f962766d694e0d738dcb543", "aa750e71f0982e463095c5d8b1a06f04"], "statement_hash": "7775d77748b10aa76c0f45a180ac575974ae1a2723d9c049b532d8392ef5ce70", "relations": [{"rule": 2, "type": "equivalent", "target": "007bd13b9c4a811e28128c420f3c0bd1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7775d77748b10aa76c0f45a180ac575974ae1a2723d9c049b532d8392ef5ce70"}}, {"rule": 2, "type": "equivalent", "target": "160e5bf639315788f17597b7c9e70f34", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7775d77748b10aa76c0f45a180ac575974ae1a2723d9c049b532d8392ef5ce70"}}, {"rule": 2, "type": "equivalent", "target": "1cd6dd04f06a325fa1e38208d26fc0fc", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7775d77748b10aa76c0f45a180ac575974ae1a2723d9c049b532d8392ef5ce70"}}, {"rule": 2, "type": "equivalent", "target": "290321f4e086f8b0cff30252c554c661", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7775d77748b10aa76c0f45a180ac575974ae1a2723d9c049b532d8392ef5ce70"}}, {"rule": 2, "type": "equivalent", "target": "7e1c2a52c11eebe68320cb6819bb6842", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7775d77748b10aa76c0f45a180ac575974ae1a2723d9c049b532d8392ef5ce70"}}], "version": "10.1", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "160e5bf639315788f17597b7c9e70f34", "kind": "equivalent", "version": "9.6.6", "label": "9.6.6", "title": "在视图或规则包含 FieldSelect 或 FieldStore 表达式节点时记录正确的依赖", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7775d77748b10aa76c0f45a180ac575974ae1a2723d9c049b532d8392ef5ce70"}, "url": "/docs/compare/?release=9.6.6#9.6.6-4afb8b5079afaf49", "source_url": "/docs/release/9.6.6/#id-1.11.6.23.5"}, {"db_id": "290321f4e086f8b0cff30252c554c661", "kind": "equivalent", "version": "9.5.10", "label": "9.5.10", "title": "在视图或规则包含 FieldSelect 或 FieldStore 表达式节点时记录正确的依赖", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7775d77748b10aa76c0f45a180ac575974ae1a2723d9c049b532d8392ef5ce70"}, "url": "/docs/compare/?release=9.5.10#9.5.10-4afb8b5079afaf49", "source_url": "/docs/release/9.5.10/#id-1.11.6.20.5"}, {"db_id": "007bd13b9c4a811e28128c420f3c0bd1", "kind": "equivalent", "version": "9.4.15", "label": "9.4.15", "title": "在视图或规则包含 FieldSelect 或 FieldStore 表达式节点时记录正确的依赖", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7775d77748b10aa76c0f45a180ac575974ae1a2723d9c049b532d8392ef5ce70"}, "url": "/docs/compare/?release=9.4.15#9.4.15-4afb8b5079afaf49", "source_url": "/docs/release/9.4.15/#id-1.11.6.16.5"}, {"db_id": "7e1c2a52c11eebe68320cb6819bb6842", "kind": "equivalent", "version": "9.3.20", "label": "9.3.20", "title": "在视图或规则包含 FieldSelect 或 FieldStore 表达式节点时记录正确的依赖", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7775d77748b10aa76c0f45a180ac575974ae1a2723d9c049b532d8392ef5ce70"}, "url": "/docs/compare/?release=9.3.20#9.3.20-4afb8b5079afaf49", "source_url": "/docs/release/9.3.20/#id-1.11.6.10.5"}, {"db_id": "1cd6dd04f06a325fa1e38208d26fc0fc", "kind": "equivalent", "version": "9.2.24", "label": "9.2.24", "title": "在视图或规则包含 FieldSelect 或 FieldStore 表达式节点时记录正确的依赖", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7775d77748b10aa76c0f45a180ac575974ae1a2723d9c049b532d8392ef5ce70"}, "url": "/docs/compare/?release=9.2.24#9.2.24-4afb8b5079afaf49", "source_url": "/docs/release/9.2.24/#id-1.11.6.5.6"}]}, {"id": "10.1-b9909fcb91ea910e", "cves": [], "html": "<p>正确检测范围数据类型是否支持 hash 运算（Tom Lane）</p>\n<p>规划器错误地假定任何范围类型都可进行 hash 运算，用于哈希连接或 hash 聚合，但实际上必须检查该范围的子类型是否支持 hash。这不影响任何内置范围类型，因为它们都可进行 hash 运算。</p>", "text": "正确检测范围数据类型是否支持 hash 运算（Tom Lane） 规划器错误地假定任何范围类型都可进行 hash 运算，用于哈希连接或 hash 聚合，但实际上必须检查该范围的子类型是否支持 hash。这不影响任何内置范围类型，因为它们都可进行 hash 运算。", "title": "正确检测范围数据类型是否支持 hash 运算", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.1/#id-1.11.6.27.5", "source_hash": "d908165a449a7a8790dd8bd6f01980cd613238972618bb1beaa83a524093f02c", "section_path": ["变更"], "commit_groups": [["0270ad1f7", "36ea99c84", "63fbc51e3", "7a5f8de55", "7c70a129e", "b1752c3a7", "d1ced6114"]], "identity_text": "Correctly detect hashability of range data types (Tom Lane) The planner mistakenly assumed that any range type could be hashed for use in hash joins or hash aggregation, but actually it must check whether the range's subtype has hash support. This does not affect any of the built-in range types, since they're all hashable anyway.", "commit_aliases": ["0270ad1f7", "36ea99c84", "63fbc51e3", "7a5f8de55", "7c70a129e", "b1752c3a7", "d1ced6114"], "source_commits": ["7a5f8de55"], "source_entry_id": "10.1/changes/021", "db_id": "7d936341e4451a5527c1deda00cdb8e5", "patch_ids": ["3cb1f91a88d92abe9dda7feaad6bfc34"], "statement_hash": "f0b606e4b09094861042b0ffff48bff8657aed6e11d3bf9e6b011dd299ca085f", "relations": [{"rule": 2, "type": "equivalent", "target": "1f0ededa100214388e94db4ee785cdd1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f0b606e4b09094861042b0ffff48bff8657aed6e11d3bf9e6b011dd299ca085f"}}, {"rule": 2, "type": "equivalent", "target": "29fb35dd9919703bc165f056b889dd49", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f0b606e4b09094861042b0ffff48bff8657aed6e11d3bf9e6b011dd299ca085f"}}, {"rule": 2, "type": "equivalent", "target": "402b5b239a6a0c7dee3485212563f74e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f0b606e4b09094861042b0ffff48bff8657aed6e11d3bf9e6b011dd299ca085f"}}, {"rule": 2, "type": "equivalent", "target": "879a1f89d800c2786255bd2ed0d83cfb", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f0b606e4b09094861042b0ffff48bff8657aed6e11d3bf9e6b011dd299ca085f"}}, {"rule": 2, "type": "equivalent", "target": "c320085ab5e747c8994f3bccf936161f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f0b606e4b09094861042b0ffff48bff8657aed6e11d3bf9e6b011dd299ca085f"}}], "version": "10.1", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "c320085ab5e747c8994f3bccf936161f", "kind": "equivalent", "version": "9.6.6", "label": "9.6.6", "title": "正确检测范围数据类型的可哈希性", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f0b606e4b09094861042b0ffff48bff8657aed6e11d3bf9e6b011dd299ca085f"}, "url": "/docs/compare/?release=9.6.6#9.6.6-4c6bea1fab68c8a1", "source_url": "/docs/release/9.6.6/#id-1.11.6.23.5"}, {"db_id": "29fb35dd9919703bc165f056b889dd49", "kind": "equivalent", "version": "9.5.10", "label": "9.5.10", "title": "正确检测范围数据类型的可哈希性", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f0b606e4b09094861042b0ffff48bff8657aed6e11d3bf9e6b011dd299ca085f"}, "url": "/docs/compare/?release=9.5.10#9.5.10-4c6bea1fab68c8a1", "source_url": "/docs/release/9.5.10/#id-1.11.6.20.5"}, {"db_id": "1f0ededa100214388e94db4ee785cdd1", "kind": "equivalent", "version": "9.4.15", "label": "9.4.15", "title": "正确检测范围数据类型的可哈希性", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f0b606e4b09094861042b0ffff48bff8657aed6e11d3bf9e6b011dd299ca085f"}, "url": "/docs/compare/?release=9.4.15#9.4.15-4c6bea1fab68c8a1", "source_url": "/docs/release/9.4.15/#id-1.11.6.16.5"}, {"db_id": "402b5b239a6a0c7dee3485212563f74e", "kind": "equivalent", "version": "9.3.20", "label": "9.3.20", "title": "正确检测范围数据类型的可哈希性", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f0b606e4b09094861042b0ffff48bff8657aed6e11d3bf9e6b011dd299ca085f"}, "url": "/docs/compare/?release=9.3.20#9.3.20-4c6bea1fab68c8a1", "source_url": "/docs/release/9.3.20/#id-1.11.6.10.5"}, {"db_id": "879a1f89d800c2786255bd2ed0d83cfb", "kind": "equivalent", "version": "9.2.24", "label": "9.2.24", "title": "正确检测范围数据类型的可哈希性", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f0b606e4b09094861042b0ffff48bff8657aed6e11d3bf9e6b011dd299ca085f"}, "url": "/docs/compare/?release=9.2.24#9.2.24-4c6bea1fab68c8a1", "source_url": "/docs/release/9.2.24/#id-1.11.6.5.6"}]}, {"id": "10.1-5e2ee70c0548552d", "cves": [], "html": "<p>检查函数依赖统计信息时，正确忽略 <code>RelabelType</code> 表达式节点（David Rowley）</p>\n<p>例如，这使 <code>varchar</code> 列上的扩展统计信息能够得到正确使用。</p>", "text": "检查函数依赖统计信息时，正确忽略 RelabelType 表达式节点（David Rowley） 例如，这使 varchar 列上的扩展统计信息能够得到正确使用。", "title": "检查函数依赖统计信息时，正确忽略 RelabelType 表达式节点", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.1/#id-1.11.6.27.5", "source_hash": "2d65886d70385b28f61269a0edf1838067ec04f2468fe3adce1fe608648f4820", "section_path": ["变更"], "commit_groups": [["a01a3d931", "e9ef11ac8"]], "identity_text": "Correctly ignore RelabelType expression nodes when examining functional-dependency statistics (David Rowley) This allows, e.g., extended statistics on varchar columns to be used properly.", "commit_aliases": ["a01a3d931", "e9ef11ac8"], "source_commits": ["a01a3d931"], "source_entry_id": "10.1/changes/022", "db_id": "78d71db085e0771bf3b90d2599cf2058", "patch_ids": ["0741570aeb9cbef76273daf07bd848fa"], "statement_hash": "9909512eee498c1b94815c8750f4d867be108c8c033b604f03b79fd9cec761c1", "relations": [], "version": "10.1", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "10.1-d9f5a029224f1cd7", "cves": [], "html": "<p>防止有序集聚合之间共享转换状态（David Rowley）</p>\n<p>这会使内置有序集聚合崩溃，用户编写的聚合很可能也会如此。v11 及更高版本将提供安全处理此类情况的措施，但在已发布分支中，仅禁用这项优化。</p>", "text": "防止有序集聚合之间共享转换状态（David Rowley） 这会使内置有序集聚合崩溃，用户编写的聚合很可能也会如此。v11 及更高版本将提供安全处理此类情况的措施，但在已发布分支中，仅禁用这项优化。", "title": "防止有序集聚合之间共享转换状态", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.1/#id-1.11.6.27.5", "source_hash": "8eae5281e5c33c67600e2149a56eb86f495ef67ed825cfcbeb7dddc7b7d75e45", "section_path": ["变更"], "commit_groups": [["52328727b", "604723d29", "96cfc7e19"]], "identity_text": "Prevent sharing transition states between ordered-set aggregates (David Rowley) This causes a crash with the built-in ordered-set aggregates, and probably with user-written ones as well. v11 and later will include provisions for dealing with such cases safely, but in released branches, just disable the optimization.", "commit_aliases": ["52328727b", "604723d29", "96cfc7e19"], "source_commits": ["604723d29"], "source_entry_id": "10.1/changes/023", "db_id": "092e6001cb9a8aa9620c94ad14d364c7", "patch_ids": ["3a0261b8a0ec470a7ca58ff93ca9be1a"], "statement_hash": "0ae8a96a2138ea108fc1473043ff0d43e3cdb4e1a57297037e75b2bce354af6d", "relations": [{"rule": 2, "type": "equivalent", "target": "f3f87a093accaa73052ce9f861e27076", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0ae8a96a2138ea108fc1473043ff0d43e3cdb4e1a57297037e75b2bce354af6d"}}], "version": "10.1", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "f3f87a093accaa73052ce9f861e27076", "kind": "equivalent", "version": "9.6.6", "label": "9.6.6", "title": "防止有序集聚合之间共享转换状态", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0ae8a96a2138ea108fc1473043ff0d43e3cdb4e1a57297037e75b2bce354af6d"}, "url": "/docs/compare/?release=9.6.6#9.6.6-d9f5a029224f1cd7", "source_url": "/docs/release/9.6.6/#id-1.11.6.23.5"}]}, {"id": "10.1-3ad8b766a3681086", "cves": [], "html": "<p>防止在先前发生 <code>statement_timeout</code> 后忽略 <code>idle_in_transaction_session_timeout</code>（Lukas Fittl）</p>", "text": "防止在先前发生 statement_timeout 后忽略 idle_in_transaction_session_timeout（Lukas Fittl）", "title": "防止在先前发生 statement_timeout 后忽略 idle_in_transaction_session_timeout", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.1/#id-1.11.6.27.5", "source_hash": "48eded5d1ba615f48cf26150c294889815bc3caa940a5bf7cbedc579c3806592", "section_path": ["变更"], "commit_groups": [["0da46d75e", "61ace8fe7", "f67661665"]], "identity_text": "Prevent idle_in_transaction_session_timeout from being ignored when a statement_timeout occurred earlier (Lukas Fittl)", "commit_aliases": ["0da46d75e", "61ace8fe7", "f67661665"], "source_commits": ["61ace8fe7"], "source_entry_id": "10.1/changes/024", "db_id": "f7d9555b105297a9173d9a3b77e6a376", "patch_ids": ["796c84666c010271f57cc1a4d2a03f90"], "statement_hash": "ec39841585f2537053b662802fdd93ddef2bb612927f51113af166f8e5e428f2", "relations": [{"rule": 2, "type": "equivalent", "target": "548e8d4c4601d14a738a0815679be008", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ec39841585f2537053b662802fdd93ddef2bb612927f51113af166f8e5e428f2"}}], "version": "10.1", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "548e8d4c4601d14a738a0815679be008", "kind": "equivalent", "version": "9.6.6", "label": "9.6.6", "title": "防止先前发生过 statement_timeout 时 idle_in_transaction_session_timeout 被忽略", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ec39841585f2537053b662802fdd93ddef2bb612927f51113af166f8e5e428f2"}, "url": "/docs/compare/?release=9.6.6#9.6.6-6ec27f8a764b2077", "source_url": "/docs/release/9.6.6/#id-1.11.6.23.5"}]}, {"id": "10.1-1aee059b986c876c", "cves": [], "html": "<p>修复 XID 回卷导致 <code>NOTIFY</code> 消息以低概率丢失的问题（Marko Tiikkaja，Tom Lane）</p>\n<p>如果一个会话在超过 20 亿个事务期间不执行查询，只监听通知，它就会开始遗漏某些来自并发提交事务的通知。</p>", "text": "修复 XID 回卷导致 NOTIFY 消息以低概率丢失的问题（Marko Tiikkaja，Tom Lane） 如果一个会话在超过 20 亿个事务期间不执行查询，只监听通知，它就会开始遗漏某些来自并发提交事务的通知。", "title": "修复 XID 回卷导致 NOTIFY 消息以低概率丢失的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.1/#id-1.11.6.27.5", "source_hash": "aebdc01b035402e40fa8a78fcebc180c7587f0efb030232058dd287d9febae83", "section_path": ["变更"], "commit_groups": [["0e84f7075", "118e99c3d", "36c687a22", "525b09ada", "69bc245d9", "7573d122f", "f4cdf781a"]], "identity_text": "Fix low-probability loss of NOTIFY messages due to XID wraparound (Marko Tiikkaja, Tom Lane) If a session executed no queries, but merely listened for notifications, for more than 2 billion transactions, it started to miss some notifications from concurrently-committing transactions.", "commit_aliases": ["0e84f7075", "118e99c3d", "36c687a22", "525b09ada", "69bc245d9", "7573d122f", "f4cdf781a"], "source_commits": ["f4cdf781a"], "source_entry_id": "10.1/changes/025", "db_id": "4b506c21e755bed67a575660d8226d50", "patch_ids": ["be9068f47a71a297e562c26c721f762a"], "statement_hash": "754f0a11ae061b425afa23f87b58cd950497aa5342bd49183f136207b584ef33", "relations": [{"rule": 2, "type": "equivalent", "target": "05363bfd016c01f9ff8549467d914e00", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "754f0a11ae061b425afa23f87b58cd950497aa5342bd49183f136207b584ef33"}}, {"rule": 2, "type": "equivalent", "target": "6e8a2efa855582392f8aa8b4b0e0a368", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "754f0a11ae061b425afa23f87b58cd950497aa5342bd49183f136207b584ef33"}}, {"rule": 2, "type": "equivalent", "target": "89fcaef7b09acb5d6956f7d490688e6c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "754f0a11ae061b425afa23f87b58cd950497aa5342bd49183f136207b584ef33"}}, {"rule": 2, "type": "equivalent", "target": "b1531f77e7bfc7c36f8dcd1febcf51d1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "754f0a11ae061b425afa23f87b58cd950497aa5342bd49183f136207b584ef33"}}, {"rule": 2, "type": "equivalent", "target": "bd64297a2b9915f0c99497279540ff3d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "754f0a11ae061b425afa23f87b58cd950497aa5342bd49183f136207b584ef33"}}], "version": "10.1", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "05363bfd016c01f9ff8549467d914e00", "kind": "equivalent", "version": "9.6.6", "label": "9.6.6", "title": "修复因 XID 回卷导致的低概率 NOTIFY 消息丢失", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "754f0a11ae061b425afa23f87b58cd950497aa5342bd49183f136207b584ef33"}, "url": "/docs/compare/?release=9.6.6#9.6.6-8ad2c3361ed421f1", "source_url": "/docs/release/9.6.6/#id-1.11.6.23.5"}, {"db_id": "b1531f77e7bfc7c36f8dcd1febcf51d1", "kind": "equivalent", "version": "9.5.10", "label": "9.5.10", "title": "修复因 XID 回卷导致的低概率 NOTIFY 消息丢失", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "754f0a11ae061b425afa23f87b58cd950497aa5342bd49183f136207b584ef33"}, "url": "/docs/compare/?release=9.5.10#9.5.10-8ad2c3361ed421f1", "source_url": "/docs/release/9.5.10/#id-1.11.6.20.5"}, {"db_id": "89fcaef7b09acb5d6956f7d490688e6c", "kind": "equivalent", "version": "9.4.15", "label": "9.4.15", "title": "修复因 XID 回卷导致的低概率 NOTIFY 消息丢失", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "754f0a11ae061b425afa23f87b58cd950497aa5342bd49183f136207b584ef33"}, "url": "/docs/compare/?release=9.4.15#9.4.15-8ad2c3361ed421f1", "source_url": "/docs/release/9.4.15/#id-1.11.6.16.5"}, {"db_id": "bd64297a2b9915f0c99497279540ff3d", "kind": "equivalent", "version": "9.3.20", "label": "9.3.20", "title": "修复因 XID 回卷导致的低概率 NOTIFY 消息丢失", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "754f0a11ae061b425afa23f87b58cd950497aa5342bd49183f136207b584ef33"}, "url": "/docs/compare/?release=9.3.20#9.3.20-8ad2c3361ed421f1", "source_url": "/docs/release/9.3.20/#id-1.11.6.10.5"}, {"db_id": "6e8a2efa855582392f8aa8b4b0e0a368", "kind": "equivalent", "version": "9.2.24", "label": "9.2.24", "title": "修复因 XID 回卷导致的低概率 NOTIFY 消息丢失", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "754f0a11ae061b425afa23f87b58cd950497aa5342bd49183f136207b584ef33"}, "url": "/docs/compare/?release=9.2.24#9.2.24-8ad2c3361ed421f1", "source_url": "/docs/release/9.2.24/#id-1.11.6.5.6"}]}, {"id": "10.1-07f29f043abf7783", "cves": [], "html": "<p>降低批量复制文件期间的数据刷盘请求频率，以避免 macOS 上的性能问题，尤其是其新的 APFS 文件系统（Tom Lane）</p>", "text": "降低批量复制文件期间的数据刷盘请求频率，以避免 macOS 上的性能问题，尤其是其新的 APFS 文件系统（Tom Lane）", "title": "降低批量复制文件期间的数据刷盘请求频率，以避免 macOS 上的性能问题，尤其是其新的 APFS 文件系统", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.1/#id-1.11.6.27.5", "source_hash": "2f3959f0e28e72c851eb281f0a9bc109d4a5ed2c05098982bf12093ef11309a7", "section_path": ["变更"], "commit_groups": [["13a8924ec", "643c27e36", "c3723317d"]], "identity_text": "Reduce the frequency of data flush requests during bulk file copies to avoid performance problems on macOS, particularly with its new APFS file system (Tom Lane)", "commit_aliases": ["13a8924ec", "643c27e36", "c3723317d"], "source_commits": ["c3723317d"], "source_entry_id": "10.1/changes/026", "db_id": "f4829dad9a01faefb9645777c6032660", "patch_ids": ["eb74e4e1130a40a200af4e84c09ba5de"], "statement_hash": "8196320450dbb8e30d8bfec61d3c92c38a7b4a1b5997ab726901f9d2f08c34fd", "relations": [{"rule": 2, "type": "equivalent", "target": "7af6a10c699a0e7429de09f3bc986c2b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8196320450dbb8e30d8bfec61d3c92c38a7b4a1b5997ab726901f9d2f08c34fd"}}], "version": "10.1", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "7af6a10c699a0e7429de09f3bc986c2b", "kind": "equivalent", "version": "9.6.6", "label": "9.6.6", "title": "减少批量文件复制期间数据刷写请求的频率，以避免 macOS（特别是其新的 APFS 文件系统）上的性能问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8196320450dbb8e30d8bfec61d3c92c38a7b4a1b5997ab726901f9d2f08c34fd"}, "url": "/docs/compare/?release=9.6.6#9.6.6-b19632398a9c8992", "source_url": "/docs/release/9.6.6/#id-1.11.6.23.5"}]}, {"id": "10.1-935b3469e9870d66", "cves": [], "html": "<p>允许在事务隔离级别为 <code>REPEATABLE READ</code> 或更高时使用 <code>COPY</code> 的 <code>FREEZE</code> 选项（Noah Misch）</p>\n<p>之前的一项缺陷修复意外破坏了这种用法。</p>", "text": "允许在事务隔离级别为 REPEATABLE READ 或更高时使用 COPY 的 FREEZE 选项（Noah Misch） 之前的一项缺陷修复意外破坏了这种用法。", "title": "允许在事务隔离级别为 REPEATABLE READ 或更高时使用 COPY 的 FREEZE 选项", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.1/#id-1.11.6.27.5", "source_hash": "9dbf36d8e886bfad4cb832ad7f860380bceb5e12a7a28579921f705bee024abc", "section_path": ["变更"], "commit_groups": [["1cac62dac", "2168f37c4", "2a2e2e85e", "7932891ab", "bab3a714b"]], "identity_text": "Allow COPY's FREEZE option to work when the transaction isolation level is REPEATABLE READ or higher (Noah Misch) This case was unintentionally broken by a previous bug fix.", "commit_aliases": ["1cac62dac", "2168f37c4", "2a2e2e85e", "7932891ab", "bab3a714b"], "source_commits": ["2168f37c4"], "source_entry_id": "10.1/changes/027", "db_id": "e1adadf3a7387c490ac8d6d40225524d", "patch_ids": ["db2c47411cf4e4de0423ef6ee990c879"], "statement_hash": "8c830e72f0a41855906c9743651b44272397678a246d067b0e85f51a046cd8e0", "relations": [{"rule": 2, "type": "equivalent", "target": "4e0fe875dc1a2ae9bddc4bfe63ee0c51", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8c830e72f0a41855906c9743651b44272397678a246d067b0e85f51a046cd8e0"}}, {"rule": 2, "type": "equivalent", "target": "a1eff8bc8516f95566bc09b3bdf0a4cd", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8c830e72f0a41855906c9743651b44272397678a246d067b0e85f51a046cd8e0"}}, {"rule": 2, "type": "equivalent", "target": "a42f98563f1d49a9c7113c9b2b1e6cb8", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8c830e72f0a41855906c9743651b44272397678a246d067b0e85f51a046cd8e0"}}], "version": "10.1", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "4e0fe875dc1a2ae9bddc4bfe63ee0c51", "kind": "equivalent", "version": "9.6.6", "label": "9.6.6", "title": "允许 COPY 的 FREEZE 选项在事务隔离级别为 REPEATABLE READ 或更高时工作", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8c830e72f0a41855906c9743651b44272397678a246d067b0e85f51a046cd8e0"}, "url": "/docs/compare/?release=9.6.6#9.6.6-3e66f13583a01dae", "source_url": "/docs/release/9.6.6/#id-1.11.6.23.5"}, {"db_id": "a42f98563f1d49a9c7113c9b2b1e6cb8", "kind": "equivalent", "version": "9.5.10", "label": "9.5.10", "title": "允许 COPY 的 FREEZE 选项在事务隔离级别为 REPEATABLE READ 或更高时工作", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8c830e72f0a41855906c9743651b44272397678a246d067b0e85f51a046cd8e0"}, "url": "/docs/compare/?release=9.5.10#9.5.10-3e66f13583a01dae", "source_url": "/docs/release/9.5.10/#id-1.11.6.20.5"}, {"db_id": "a1eff8bc8516f95566bc09b3bdf0a4cd", "kind": "equivalent", "version": "9.4.15", "label": "9.4.15", "title": "允许 COPY 的 FREEZE 选项在事务隔离级别为 REPEATABLE READ 或更高时工作", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8c830e72f0a41855906c9743651b44272397678a246d067b0e85f51a046cd8e0"}, "url": "/docs/compare/?release=9.4.15#9.4.15-3e66f13583a01dae", "source_url": "/docs/release/9.4.15/#id-1.11.6.16.5"}]}, {"id": "10.1-47ed056a18d7f9fb", "cves": [], "html": "<p>修复 <code>AggGetAggref()</code>，使其向转换计算已合并的聚合的最终函数返回正确的 <code>Aggref</code> 节点（Tom Lane）</p>", "text": "修复 AggGetAggref()，使其向转换计算已合并的聚合的最终函数返回正确的 Aggref 节点（Tom Lane）", "title": "修复 AggGetAggref()，使其向转换计算已合并的聚合的最终函数返回正确的 Aggref 节点", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.1/#id-1.11.6.27.5", "source_hash": "025b2fc6dcd987dc8285f0bf71b4d5da7946a4991f7519a7901b588f752dc6eb", "section_path": ["变更"], "commit_groups": [["305cf1fd7", "aa1e9b3a4", "d48bf6a94"]], "identity_text": "Fix AggGetAggref() to return the correct Aggref nodes to aggregate final functions whose transition calculations have been merged (Tom Lane)", "commit_aliases": ["305cf1fd7", "aa1e9b3a4", "d48bf6a94"], "source_commits": ["d48bf6a94"], "source_entry_id": "10.1/changes/028", "db_id": "835077c83cb93420ccfeb28d256fd384", "patch_ids": ["d86f17ce6e6bc120604661c361a512d9"], "statement_hash": "a43286ab51ce1343b2ba1489982072c7634f4e6f92b660606391bc32f7327365", "relations": [{"rule": 2, "type": "equivalent", "target": "c3dfddcd5c7540d3f582ca685e38f004", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a43286ab51ce1343b2ba1489982072c7634f4e6f92b660606391bc32f7327365"}}], "version": "10.1", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "c3dfddcd5c7540d3f582ca685e38f004", "kind": "equivalent", "version": "9.6.6", "label": "9.6.6", "title": "修复 AggGetAggref() 为转换计算已被合并的聚合最终函数返回正确的 Aggref 节点", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a43286ab51ce1343b2ba1489982072c7634f4e6f92b660606391bc32f7327365"}, "url": "/docs/compare/?release=9.6.6#9.6.6-2172315197f324ab", "source_url": "/docs/release/9.6.6/#id-1.11.6.23.5"}]}, {"id": "10.1-4762a81ec02d570e", "cves": [], "html": "<p>修复 <span>pg_dump</span> 和 <span>psql</span> 中某些新查询的模式限定不充分的问题（Vitaly Burovoy，Tom Lane，Noah Misch）</p>", "text": "修复 pg_dump 和 psql 中某些新查询的模式限定不充分的问题（Vitaly Burovoy，Tom Lane，Noah Misch）", "title": "修复 pg_dump 和 psql 中某些新查询的模式限定不充分的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.1/#id-1.11.6.27.5", "source_hash": "9917f5fe2f83a384277a291120ba80ede5b48bac69d4f7cf3e4079db54a5fb9b", "section_path": ["变更"], "commit_groups": [["080351466", "9cf2b854a"], ["51f4d3ed7", "f4e13963c"]], "identity_text": "Fix insufficient schema-qualification in some new queries in pg_dump and psql (Vitaly Burovoy, Tom Lane, Noah Misch)", "commit_aliases": ["080351466", "51f4d3ed7", "9cf2b854a", "f4e13963c"], "source_commits": ["9cf2b854a", "f4e13963c"], "source_entry_id": "10.1/changes/029", "db_id": "6eb740afc858bc5d9c5df5cfc9851752", "patch_ids": ["633751fe97d52768890660501ddc1915", "f0ff18ebdcb58a4336c169a0e0f39143"], "statement_hash": "db43d231a806c0b241b32dfdffc9293e50fdf7b7eda0e5ecf4564a360b42b5a3", "relations": [], "version": "10.1", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": []}, {"id": "10.1-72254b8a69eda1c1", "cves": [], "html": "<p>避免在 <span>psql</span> 的 <code>\\d</code> 查询中使用 <code>@&gt;</code> 操作符（Tom Lane）</p>\n<p>这避免了安装 <span>parray_gin</span> 扩展时出现问题，因为该扩展定义了一个冲突的操作符。</p>", "text": "避免在 psql 的 \\d 查询中使用 @> 操作符（Tom Lane） 这避免了安装 parray_gin 扩展时出现问题，因为该扩展定义了一个冲突的操作符。", "title": "避免在 psql 的 \\d 查询中使用 @> 操作符", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.1/#id-1.11.6.27.5", "source_hash": "fd575ffde644ab070543ee9f9f83919339ab6f2006d44101309199d8d27b9566", "section_path": ["变更"], "commit_groups": [["471d55859", "852e3224e"]], "identity_text": "Avoid use of @> operator in psql's queries for \\d (Tom Lane) This prevents problems when the parray_gin extension is installed, since that defines a conflicting operator.", "commit_aliases": ["471d55859", "852e3224e"], "source_commits": ["852e3224e"], "source_entry_id": "10.1/changes/030", "db_id": "08334a06ae172c9242235d2f51bc42d7", "patch_ids": ["6065c87888129cfedc0c1e6338e2693b"], "statement_hash": "38706f9e89fb24c179e7c08a66858eb1e2489e66424bbd9295c5186dae2b8e74", "relations": [], "version": "10.1", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "10.1-bb6413704e422371", "cves": [], "html": "<p>修复 <span>pg_basebackup</span> 的表空间路径匹配，使其在比较前先规范化两条路径（Michael Paquier）</p>\n<p>这在 Windows 上尤其有用。</p>", "text": "修复 pg_basebackup 的表空间路径匹配，使其在比较前先规范化两条路径（Michael Paquier） 这在 Windows 上尤其有用。", "title": "修复 pg_basebackup 的表空间路径匹配，使其在比较前先规范化两条路径", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.1/#id-1.11.6.27.5", "source_hash": "54ac83cb8a873bbf0f0e56b2b229c2a20e5d1a78687dad63aaa01fe9a6c33773", "section_path": ["变更"], "commit_groups": [["067a2259f", "3064f0e25", "4ba0ffaae", "dd12b5307"]], "identity_text": "Fix pg_basebackup's matching of tablespace paths to canonicalize both paths before comparing (Michael Paquier) This is particularly helpful on Windows.", "commit_aliases": ["067a2259f", "3064f0e25", "4ba0ffaae", "dd12b5307"], "source_commits": ["dd12b5307"], "source_entry_id": "10.1/changes/031", "db_id": "997f624922337f5d4a85a2fb9d4a0891", "patch_ids": ["aab8c1b920fd4b11afdaf0b6056291dd"], "statement_hash": "05133eb0e9c7259378c49cda408c3e752eb8377fe2baf017ba74ae43ffd96017", "relations": [{"rule": 2, "type": "equivalent", "target": "06da3821bc1aeeb6ec454dd8a41f92ee", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "05133eb0e9c7259378c49cda408c3e752eb8377fe2baf017ba74ae43ffd96017"}}, {"rule": 2, "type": "equivalent", "target": "07f287a6847514888fd4b882d3cec52f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "05133eb0e9c7259378c49cda408c3e752eb8377fe2baf017ba74ae43ffd96017"}}], "version": "10.1", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "06da3821bc1aeeb6ec454dd8a41f92ee", "kind": "equivalent", "version": "9.6.6", "label": "9.6.6", "title": "修复 pg_basebackup 对表空间路径的匹配，在比较前规范化两个路径", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "05133eb0e9c7259378c49cda408c3e752eb8377fe2baf017ba74ae43ffd96017"}, "url": "/docs/compare/?release=9.6.6#9.6.6-d716a4bfbb73d6aa", "source_url": "/docs/release/9.6.6/#id-1.11.6.23.5"}, {"db_id": "07f287a6847514888fd4b882d3cec52f", "kind": "equivalent", "version": "9.5.10", "label": "9.5.10", "title": "修复 pg_basebackup 对表空间路径的匹配，在比较前规范化两个路径", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "05133eb0e9c7259378c49cda408c3e752eb8377fe2baf017ba74ae43ffd96017"}, "url": "/docs/compare/?release=9.5.10#9.5.10-d716a4bfbb73d6aa", "source_url": "/docs/release/9.5.10/#id-1.11.6.20.5"}]}, {"id": "10.1-449b9268fdb746a8", "cves": [], "html": "<p>修复 <span>libpq</span>，使其不再要求用户主目录存在（Tom Lane）</p>\n<p>在 v10 中，尝试读取 <code>~/.pgpass</code> 时找不到主目录被视为严重错误，但实际上应只视为找不到该文件。v10 和以前的发布分支在读取 <code>~/.pg_service.conf</code> 时都犯了同样的错误，不过这个问题不太明显，因为只有指定服务名时才会查找该文件。</p>", "text": "修复 libpq，使其不再要求用户主目录存在（Tom Lane） 在 v10 中，尝试读取 ~/.pgpass 时找不到主目录被视为严重错误，但实际上应只视为找不到该文件。v10 和以前的发布分支在读取 ~/.pg_service.conf 时都犯了同样的错误，不过这个问题不太明显，因为只有指定服务名时才会查找该文件。", "title": "修复 libpq，使其不再要求用户主目录存在", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.1/#id-1.11.6.27.5", "source_hash": "67f744067885b4b79cedc112b7a44a4cc2296f1a1489cc5fa3a9995e78f3112a", "section_path": ["变更"], "commit_groups": [["51e9fffba", "6dd7a1207", "7dc66a2f6", "9f7afb25b", "caeae886e", "db6986f47", "ee02c1c89"]], "identity_text": "Fix libpq to not require user's home directory to exist (Tom Lane) In v10, failure to find the home directory while trying to read ~/.pgpass was treated as a hard error, but it should just cause that file to not be found. Both v10 and previous release branches made the same mistake when reading ~/.pg_service.conf, though this was less obvious since that file is not sought unless a service name is specified.", "commit_aliases": ["51e9fffba", "6dd7a1207", "7dc66a2f6", "9f7afb25b", "caeae886e", "db6986f47", "ee02c1c89"], "source_commits": ["51e9fffba"], "source_entry_id": "10.1/changes/032", "db_id": "b0cb3ef81cd549c25017579634b98ae7", "patch_ids": ["dc46810bde6fcb42e254713bdb866d73"], "statement_hash": "ef4d1a424bbe09876057233a76fc1698ea9ec3d219478a9f56f6e6eebd2ed467", "relations": [{"rule": 2, "type": "equivalent", "target": "006b88f929e042ebc8300b75f7f27246", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ef4d1a424bbe09876057233a76fc1698ea9ec3d219478a9f56f6e6eebd2ed467"}}, {"rule": 2, "type": "equivalent", "target": "102daed46570ca19e49b298bfa3ba3e2", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ef4d1a424bbe09876057233a76fc1698ea9ec3d219478a9f56f6e6eebd2ed467"}}, {"rule": 2, "type": "equivalent", "target": "7ec2fb78308cd9103547c1a0c812b9b1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ef4d1a424bbe09876057233a76fc1698ea9ec3d219478a9f56f6e6eebd2ed467"}}, {"rule": 2, "type": "equivalent", "target": "b71d6a1a44ecb249aeffd4cc931c9999", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ef4d1a424bbe09876057233a76fc1698ea9ec3d219478a9f56f6e6eebd2ed467"}}, {"rule": 2, "type": "equivalent", "target": "d518c7c5ea325860a92385a76d35cbc7", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ef4d1a424bbe09876057233a76fc1698ea9ec3d219478a9f56f6e6eebd2ed467"}}], "version": "10.1", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "d518c7c5ea325860a92385a76d35cbc7", "kind": "equivalent", "version": "9.6.6", "label": "9.6.6", "title": "修复 libpq 不要求用户的主目录存在", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ef4d1a424bbe09876057233a76fc1698ea9ec3d219478a9f56f6e6eebd2ed467"}, "url": "/docs/compare/?release=9.6.6#9.6.6-0236bfb2ebeacc2e", "source_url": "/docs/release/9.6.6/#id-1.11.6.23.5"}, {"db_id": "7ec2fb78308cd9103547c1a0c812b9b1", "kind": "equivalent", "version": "9.5.10", "label": "9.5.10", "title": "修复 libpq 不要求用户的主目录存在", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ef4d1a424bbe09876057233a76fc1698ea9ec3d219478a9f56f6e6eebd2ed467"}, "url": "/docs/compare/?release=9.5.10#9.5.10-0236bfb2ebeacc2e", "source_url": "/docs/release/9.5.10/#id-1.11.6.20.5"}, {"db_id": "006b88f929e042ebc8300b75f7f27246", "kind": "equivalent", "version": "9.4.15", "label": "9.4.15", "title": "修复 libpq 不要求用户的主目录存在", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ef4d1a424bbe09876057233a76fc1698ea9ec3d219478a9f56f6e6eebd2ed467"}, "url": "/docs/compare/?release=9.4.15#9.4.15-0236bfb2ebeacc2e", "source_url": "/docs/release/9.4.15/#id-1.11.6.16.5"}, {"db_id": "102daed46570ca19e49b298bfa3ba3e2", "kind": "equivalent", "version": "9.3.20", "label": "9.3.20", "title": "修复 libpq 不要求用户的主目录存在", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ef4d1a424bbe09876057233a76fc1698ea9ec3d219478a9f56f6e6eebd2ed467"}, "url": "/docs/compare/?release=9.3.20#9.3.20-0236bfb2ebeacc2e", "source_url": "/docs/release/9.3.20/#id-1.11.6.10.5"}, {"db_id": "b71d6a1a44ecb249aeffd4cc931c9999", "kind": "equivalent", "version": "9.2.24", "label": "9.2.24", "title": "修复 libpq 不要求用户的主目录存在", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ef4d1a424bbe09876057233a76fc1698ea9ec3d219478a9f56f6e6eebd2ed467"}, "url": "/docs/compare/?release=9.2.24#9.2.24-0236bfb2ebeacc2e", "source_url": "/docs/release/9.2.24/#id-1.11.6.5.6"}]}, {"id": "10.1-a919728bd56964f1", "cves": [], "html": "<p>在 ecpglib 中，根据是否设置了 <code>standard_conforming_strings</code> 正确处理字符串字面量中的反斜杠（Tsunakawa Takayuki）</p>", "text": "在 ecpglib 中，根据是否设置了 standard_conforming_strings 正确处理字符串字面量中的反斜杠（Tsunakawa Takayuki）", "title": "在 ecpglib 中，根据是否设置了 standard_conforming_strings 正确处理字符串字面量中的反斜杠", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.1/#id-1.11.6.27.5", "source_hash": "d9c3480ea0e784979f2f7a55b4b879545fe2396034632ca0f31b9c57b72b4907", "section_path": ["变更"], "commit_groups": [["0af98a95c", "41753604b", "65ba1b5c2", "9b01a21fc", "c6a396888"]], "identity_text": "In ecpglib, correctly handle backslashes in string literals depending on whether standard_conforming_strings is set (Tsunakawa Takayuki)", "commit_aliases": ["0af98a95c", "41753604b", "65ba1b5c2", "9b01a21fc", "c6a396888"], "source_commits": ["65ba1b5c2"], "source_entry_id": "10.1/changes/033", "db_id": "168a74663d229ad0ce14364661bc495c", "patch_ids": ["b18cb144764135dfced143e27b6f24f1"], "statement_hash": "75d74e83fd6e41320843a7950c077aa0de97e7ed9aad29725e94eb10a0a6f2cf", "relations": [{"rule": 2, "type": "equivalent", "target": "547d8af011856c3b80ac12cae523ff61", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "75d74e83fd6e41320843a7950c077aa0de97e7ed9aad29725e94eb10a0a6f2cf"}}, {"rule": 2, "type": "equivalent", "target": "6804ac8e13b0fe3eff142d76f3855b8f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "75d74e83fd6e41320843a7950c077aa0de97e7ed9aad29725e94eb10a0a6f2cf"}}, {"rule": 2, "type": "equivalent", "target": "c5d4d801e5662c99d1d1b7036d903d07", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "75d74e83fd6e41320843a7950c077aa0de97e7ed9aad29725e94eb10a0a6f2cf"}}], "version": "10.1", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "c5d4d801e5662c99d1d1b7036d903d07", "kind": "equivalent", "version": "9.6.6", "label": "9.6.6", "title": "在 ecpglib 中，根据是否设置了 standard_conforming_strings 正确处理字符串字面量中的反斜线", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "75d74e83fd6e41320843a7950c077aa0de97e7ed9aad29725e94eb10a0a6f2cf"}, "url": "/docs/compare/?release=9.6.6#9.6.6-d028e19e0f776652", "source_url": "/docs/release/9.6.6/#id-1.11.6.23.5"}, {"db_id": "547d8af011856c3b80ac12cae523ff61", "kind": "equivalent", "version": "9.5.10", "label": "9.5.10", "title": "在 ecpglib 中，根据是否设置了 standard_conforming_strings 正确处理字符串字面量中的反斜线", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "75d74e83fd6e41320843a7950c077aa0de97e7ed9aad29725e94eb10a0a6f2cf"}, "url": "/docs/compare/?release=9.5.10#9.5.10-d028e19e0f776652", "source_url": "/docs/release/9.5.10/#id-1.11.6.20.5"}, {"db_id": "6804ac8e13b0fe3eff142d76f3855b8f", "kind": "equivalent", "version": "9.4.15", "label": "9.4.15", "title": "ecpglib 中根据是否设置了standard_conforming_strings正确处理字符串字面量中的反斜线", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "75d74e83fd6e41320843a7950c077aa0de97e7ed9aad29725e94eb10a0a6f2cf"}, "url": "/docs/compare/?release=9.4.15#9.4.15-80d6ed6dcfaeea54", "source_url": "/docs/release/9.4.15/#id-1.11.6.16.5"}]}, {"id": "10.1-b06ac02040269efa", "cves": [], "html": "<p>使 ecpglib 的 Informix 兼容模式按预期忽略整数输入字符串中的小数位（Gao Zengqi，Michael Meskes）</p>", "text": "使 ecpglib 的 Informix 兼容模式按预期忽略整数输入字符串中的小数位（Gao Zengqi，Michael Meskes）", "title": "使 ecpglib 的 Informix 兼容模式按预期忽略整数输入字符串中的小数位", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.1/#id-1.11.6.27.5", "source_hash": "305d30fa725fe9b55de6bef791cb3e5e7922aca6a8b362fb9bbe7d497f6ba74c", "section_path": ["变更"], "commit_groups": [["049dab009", "6976a4f05", "7a35507ac", "ad24e7bc2", "b6d95939e", "ee46980a7"], ["18647e21d", "63d6b97fd", "d2e6bd13a", "d64a4d368", "e0ec1cbff", "e4381c039"], ["6cf68e223", "7164991ca", "90d61bd1d", "946f16518", "c63568b06", "deb429b51"]], "identity_text": "Make ecpglib's Informix-compatibility mode ignore fractional digits in integer input strings, as expected (Gao Zengqi, Michael Meskes)", "commit_aliases": ["049dab009", "18647e21d", "63d6b97fd", "6976a4f05", "6cf68e223", "7164991ca", "7a35507ac", "90d61bd1d", "946f16518", "ad24e7bc2", "b6d95939e", "c63568b06", "d2e6bd13a", "d64a4d368", "deb429b51", "e0ec1cbff", "e4381c039", "ee46980a7"], "source_commits": ["c63568b06", "e4381c039", "ee46980a7"], "source_entry_id": "10.1/changes/034", "db_id": "a5569d283bfc07fbb4c56ca6b143f8ca", "patch_ids": ["91c95dc8d27bca6f22516ca5054052af", "bb60e29c74db36cc53968651d3c7d6c3", "c27d244d7bb5d1d7db2872f5040c57f8"], "statement_hash": "da5c23f1166bd60b7e38bb6b7bdd69493fbaa86814ea539935938b6f19b5c03f", "relations": [{"rule": 2, "type": "equivalent", "target": "2cc74143087d0baf26e69f81883a4d7c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "da5c23f1166bd60b7e38bb6b7bdd69493fbaa86814ea539935938b6f19b5c03f"}}, {"rule": 2, "type": "equivalent", "target": "327951f097966e1bf73354a3b969072e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "da5c23f1166bd60b7e38bb6b7bdd69493fbaa86814ea539935938b6f19b5c03f"}}, {"rule": 2, "type": "equivalent", "target": "3c9edd46a25977cbd2b2b1fb160b7dae", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "da5c23f1166bd60b7e38bb6b7bdd69493fbaa86814ea539935938b6f19b5c03f"}}, {"rule": 2, "type": "equivalent", "target": "89c449856b27a1bc18eeb794c6cebedb", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "da5c23f1166bd60b7e38bb6b7bdd69493fbaa86814ea539935938b6f19b5c03f"}}], "version": "10.1", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "2cc74143087d0baf26e69f81883a4d7c", "kind": "equivalent", "version": "9.6.6", "label": "9.6.6", "title": "让 ecpglib 的 Informix 兼容模式按预期忽略整数输入串中的小数位", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "da5c23f1166bd60b7e38bb6b7bdd69493fbaa86814ea539935938b6f19b5c03f"}, "url": "/docs/compare/?release=9.6.6#9.6.6-2d2b0633ea1998b2", "source_url": "/docs/release/9.6.6/#id-1.11.6.23.5"}, {"db_id": "327951f097966e1bf73354a3b969072e", "kind": "equivalent", "version": "9.5.10", "label": "9.5.10", "title": "让 ecpglib 的 Informix 兼容模式按预期忽略整数输入串中的小数位", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "da5c23f1166bd60b7e38bb6b7bdd69493fbaa86814ea539935938b6f19b5c03f"}, "url": "/docs/compare/?release=9.5.10#9.5.10-2d2b0633ea1998b2", "source_url": "/docs/release/9.5.10/#id-1.11.6.20.5"}, {"db_id": "3c9edd46a25977cbd2b2b1fb160b7dae", "kind": "equivalent", "version": "9.4.15", "label": "9.4.15", "title": "使 ecpglib 的 Informix 兼容模式按预期忽略整数输入字符串中的小数位", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "da5c23f1166bd60b7e38bb6b7bdd69493fbaa86814ea539935938b6f19b5c03f"}, "url": "/docs/compare/?release=9.4.15#9.4.15-b06ac02040269efa", "source_url": "/docs/release/9.4.15/#id-1.11.6.16.5"}, {"db_id": "89c449856b27a1bc18eeb794c6cebedb", "kind": "equivalent", "version": "9.3.20", "label": "9.3.20", "title": "让 ecpglib 的 Informix 兼容模式按预期忽略整数输入串中的小数位", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "da5c23f1166bd60b7e38bb6b7bdd69493fbaa86814ea539935938b6f19b5c03f"}, "url": "/docs/compare/?release=9.3.20#9.3.20-2d2b0633ea1998b2", "source_url": "/docs/release/9.3.20/#id-1.11.6.10.5"}]}, {"id": "10.1-e596ff90508119e9", "cves": [], "html": "<p>修复类似 <code>check</code> 的 Make 目标缺少 temp-install 前置依赖的问题（Noah Misch）</p>\n<p>某些本应像 <code>make check</code> 一样工作的非默认测试过程，未能确保临时安装是最新的。</p>", "text": "修复类似 check 的 Make 目标缺少 temp-install 前置依赖的问题（Noah Misch） 某些本应像 make check 一样工作的非默认测试过程，未能确保临时安装是最新的。", "title": "修复类似 check 的 Make 目标缺少 temp-install 前置依赖的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.1/#id-1.11.6.27.5", "source_hash": "1247afe4e6aefd13de4025183cc930f93d4812c5d185e6305725a619bcd6e2b0", "section_path": ["变更"], "commit_groups": [["014c5cd87", "937f67800", "971983f42", "c66b438db"]], "identity_text": "Fix missing temp-install prerequisites for check-like Make targets (Noah Misch) Some non-default test procedures that are meant to work like make check failed to ensure that the temporary installation was up to date.", "commit_aliases": ["014c5cd87", "937f67800", "971983f42", "c66b438db"], "source_commits": ["937f67800"], "source_entry_id": "10.1/changes/035", "db_id": "727e420b2bbb58ff1295e9371b8cabad", "patch_ids": ["80daef1d8a28f94e4ceba86bbba95017"], "statement_hash": "adf838e56daaf91faf158a31e7924ee6c6bc92c87aae15962a3221ba62bc38df", "relations": [{"rule": 2, "type": "equivalent", "target": "084cff448678bc1c1f7c2bc0199d2688", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "adf838e56daaf91faf158a31e7924ee6c6bc92c87aae15962a3221ba62bc38df"}}, {"rule": 2, "type": "equivalent", "target": "c85a49c083768d9a7a41e16279df58c0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "adf838e56daaf91faf158a31e7924ee6c6bc92c87aae15962a3221ba62bc38df"}}], "version": "10.1", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "c85a49c083768d9a7a41e16279df58c0", "kind": "equivalent", "version": "9.6.6", "label": "9.6.6", "title": "修复类 check Make 目标缺失的临时安装先决条件", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "adf838e56daaf91faf158a31e7924ee6c6bc92c87aae15962a3221ba62bc38df"}, "url": "/docs/compare/?release=9.6.6#9.6.6-ba7c4b9dd7e33df1", "source_url": "/docs/release/9.6.6/#id-1.11.6.23.5"}, {"db_id": "084cff448678bc1c1f7c2bc0199d2688", "kind": "equivalent", "version": "9.5.10", "label": "9.5.10", "title": "修复类 check Make 目标缺失的临时安装先决条件", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "adf838e56daaf91faf158a31e7924ee6c6bc92c87aae15962a3221ba62bc38df"}, "url": "/docs/compare/?release=9.5.10#9.5.10-ba7c4b9dd7e33df1", "source_url": "/docs/release/9.5.10/#id-1.11.6.20.5"}]}, {"id": "10.1-4014adbaf08d9687", "cves": [], "html": "<p>将时区数据文件更新到 <span>tzdata</span> 2017c 版，以反映斐济、纳米比亚、北塞浦路斯、苏丹、汤加和特克斯 &amp; 凯科斯群岛的夏令时法规变更，并修正阿拉斯加、阿皮亚、缅甸、加尔各答、底特律、爱尔兰、纳米比亚和帕果帕果的历史数据。</p>", "text": "将时区数据文件更新到 tzdata 2017c 版，以反映斐济、纳米比亚、北塞浦路斯、苏丹、汤加和特克斯 & 凯科斯群岛的夏令时法规变更，并修正阿拉斯加、阿皮亚、缅甸、加尔各答、底特律、爱尔兰、纳米比亚和帕果帕果的历史数据。", "title": "将时区数据文件更新到 tzdata 2017c 版，以反映斐济、纳米比亚、北塞浦路斯、苏丹、汤加和特克斯 & 凯科斯群岛的夏令时法规变更，并修正阿拉斯加、阿皮亚、缅甸、加尔各答、底特律、爱尔兰、纳米比亚和帕果帕果的历史数据。", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.1/#id-1.11.6.27.5", "source_hash": "123414d2acdb473157c7432d2eddfe86a638ad27676dd816aa6deea2fae9cc45", "section_path": ["变更"], "commit_groups": [["0cde56247", "1e57d85cd", "7e8d84c36", "8df4ce1ea", "ba67fac85", "da82bb1d8", "fae550e52"]], "identity_text": "Update time zone data files to tzdata release 2017c for DST law changes in Fiji, Namibia, Northern Cyprus, Sudan, Tonga, and Turks & Caicos Islands, plus historical corrections for Alaska, Apia, Burma, Calcutta, Detroit, Ireland, Namibia, and Pago Pago.", "commit_aliases": ["0cde56247", "1e57d85cd", "7e8d84c36", "8df4ce1ea", "ba67fac85", "da82bb1d8", "fae550e52"], "source_commits": ["0cde56247"], "source_entry_id": "10.1/changes/036", "db_id": "ecc97112734f3476d067fd7dbbf430da", "patch_ids": ["5992538a115bfbc20003d680fd0fcbe6"], "statement_hash": "3243bb08f79e29c95895ca9e1b7d57c80b961cfd148b11214ab2ca70959afea8", "relations": [{"rule": 2, "type": "equivalent", "target": "293143bd1bebf2fa099b043849086024", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3243bb08f79e29c95895ca9e1b7d57c80b961cfd148b11214ab2ca70959afea8"}}, {"rule": 2, "type": "equivalent", "target": "41fa2b66666f8560149b4e828a789f52", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3243bb08f79e29c95895ca9e1b7d57c80b961cfd148b11214ab2ca70959afea8"}}, {"rule": 2, "type": "equivalent", "target": "5063230b1a3750ce6e2d9f3ced8caedc", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3243bb08f79e29c95895ca9e1b7d57c80b961cfd148b11214ab2ca70959afea8"}}, {"rule": 2, "type": "equivalent", "target": "85588d39e9c7e704df909e151fc0201f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3243bb08f79e29c95895ca9e1b7d57c80b961cfd148b11214ab2ca70959afea8"}}, {"rule": 2, "type": "equivalent", "target": "cc4690a822d3cdb953a0494112d06b92", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3243bb08f79e29c95895ca9e1b7d57c80b961cfd148b11214ab2ca70959afea8"}}], "version": "10.1", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "293143bd1bebf2fa099b043849086024", "kind": "equivalent", "version": "9.6.6", "label": "9.6.6", "title": "更新时区数据文件到 tzdata 版本 2017c，涉及斐济、纳米比亚、北塞浦路斯、苏丹、汤加以及特克斯和凯科斯群岛的夏令时法规变更，加上阿拉斯加、阿皮亚、缅甸、加尔各答、底特律、爱尔兰、纳米比亚和帕果帕果的历史修正。", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3243bb08f79e29c95895ca9e1b7d57c80b961cfd148b11214ab2ca70959afea8"}, "url": "/docs/compare/?release=9.6.6#9.6.6-c140c362332e493c", "source_url": "/docs/release/9.6.6/#id-1.11.6.23.5"}, {"db_id": "85588d39e9c7e704df909e151fc0201f", "kind": "equivalent", "version": "9.5.10", "label": "9.5.10", "title": "更新时区数据文件到 tzdata 版本 2017c，涉及斐济、纳米比亚、北塞浦路斯、苏丹、汤加以及特克斯和凯科斯群岛的夏令时法规变更，加上阿拉斯加、阿皮亚、缅甸、加尔各答、底特律、爱尔兰、纳米比亚和帕果帕果的历史修正。", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3243bb08f79e29c95895ca9e1b7d57c80b961cfd148b11214ab2ca70959afea8"}, "url": "/docs/compare/?release=9.5.10#9.5.10-c140c362332e493c", "source_url": "/docs/release/9.5.10/#id-1.11.6.20.5"}, {"db_id": "5063230b1a3750ce6e2d9f3ced8caedc", "kind": "equivalent", "version": "9.4.15", "label": "9.4.15", "title": "将时区数据文件更新到tzdata发行版 2017c，以反映斐济、纳米比亚、北塞浦路斯、苏丹、汤加以及特克斯和凯科斯群岛的夏令时法规变更，以及阿拉斯加、阿皮亚、缅甸、加尔各答、底特律、爱尔兰、纳米比亚和帕果帕果的历史修正。", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3243bb08f79e29c95895ca9e1b7d57c80b961cfd148b11214ab2ca70959afea8"}, "url": "/docs/compare/?release=9.4.15#9.4.15-3732889a8bc3ae53", "source_url": "/docs/release/9.4.15/#id-1.11.6.16.5"}, {"db_id": "41fa2b66666f8560149b4e828a789f52", "kind": "equivalent", "version": "9.3.20", "label": "9.3.20", "title": "更新时区数据文件到 tzdata 版本 2017c，涉及斐济、纳米比亚、北塞浦路斯、苏丹、汤加以及特克斯和凯科斯群岛的夏令时法规变更，加上阿拉斯加、阿皮亚、缅甸、加尔各答、底特律、爱尔兰、纳米比亚和帕果帕果的历史修正。", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3243bb08f79e29c95895ca9e1b7d57c80b961cfd148b11214ab2ca70959afea8"}, "url": "/docs/compare/?release=9.3.20#9.3.20-c140c362332e493c", "source_url": "/docs/release/9.3.20/#id-1.11.6.10.5"}, {"db_id": "cc4690a822d3cdb953a0494112d06b92", "kind": "equivalent", "version": "9.2.24", "label": "9.2.24", "title": "更新时区数据文件到 tzdata 版本 2017c，涉及斐济、纳米比亚、北塞浦路斯、苏丹、汤加以及特克斯和凯科斯群岛的夏令时法规变更，加上阿拉斯加、阿皮亚、缅甸、加尔各答、底特律、爱尔兰、纳米比亚和帕果帕果的历史修正。", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3243bb08f79e29c95895ca9e1b7d57c80b961cfd148b11214ab2ca70959afea8"}, "url": "/docs/compare/?release=9.2.24#9.2.24-c140c362332e493c", "source_url": "/docs/release/9.2.24/#id-1.11.6.5.6"}]}, {"id": "10.1-0a2d10fe33e8129a", "cves": [], "html": "<p>在文档中，恢复使用大写字符串作为 HTML 锚点（Peter Eisentraut）</p>\n<p>由于工具链变更，10.0 用户手册的页内锚点使用了小写字符串，导致某些指向我们网站文档的外部链接失效。现在恢复了以前使用大写字符串的惯例。</p>", "text": "在文档中，恢复使用大写字符串作为 HTML 锚点（Peter Eisentraut） 由于工具链变更，10.0 用户手册的页内锚点使用了小写字符串，导致某些指向我们网站文档的外部链接失效。现在恢复了以前使用大写字符串的惯例。", "title": "在文档中，恢复使用大写字符串作为 HTML 锚点", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.1/#id-1.11.6.27.5", "source_hash": "af1868a5561ca2f70518d6934a262d8ddd4ff461866f556a9c50df52ac00fe98", "section_path": ["变更"], "commit_groups": [["49df45acd", "5159626af"]], "identity_text": "In the documentation, restore HTML anchors to being upper-case strings (Peter Eisentraut) Due to a toolchain change, the 10.0 user manual had lower-case strings for intrapage anchors, thus breaking some external links into our website documentation. Return to our previous convention of using upper-case strings.", "commit_aliases": ["49df45acd", "5159626af"], "source_commits": ["5159626af"], "source_entry_id": "10.1/changes/037", "db_id": "3bdb5b38e329a540388a0f3ce9cd5550", "patch_ids": ["38a343728d12701045fa813547701de2"], "statement_hash": "491b996e369145d1761ac648940102f4555bc26be027f02479959d959254faf8", "relations": [], "version": "10.1", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": []}]}], "stats": [{"key": "all", "label": "全部变更", "count": 37}, {"key": "feature", "label": "新功能", "count": 0}, {"key": "bugfix", "label": "BUG 修复", "count": 18}, {"key": "security", "label": "安全相关", "count": 3}, {"key": "performance", "label": "性能改进", "count": 0}, {"key": "compatibility", "label": "兼容性变化", "count": 0}, {"key": "improvement", "label": "其他改进", "count": 16}], "total": 37, "release_count": 1, "cross_major": false, "cve_count": 3, "cves": [{"id": "CVE-2017-12172", "url": "https://www.postgresql.org/support/security/CVE-2017-12172/", "fixed": {"10": "10.1", "9.2": "9.2.24", "9.3": "9.3.20", "9.4": "9.4.15", "9.5": "9.5.10", "9.6": "9.6.6"}, "score": 8.4, "title": "修复示例服务器启动脚本，使其在打开 $PGLOG 之前切换为 $PGUSER", "vector": "AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:H", "affected": {"10": "10", "9.2": "9.2", "9.3": "9.3", "9.4": "9.4", "9.5": "9.5", "9.6": "9.6"}, "component": "contrib module", "published": {"10": "2017-11-09", "9.2": "2017-11-09", "9.3": "2017-11-09", "9.4": "2017-11-09", "9.5": "2017-11-09", "9.6": "2017-11-09"}, "introduced": {}, "cvss_version": "3.0", "description_en": "", "first_published": "2017-11-09", "fixed_version": "10.1"}, {"id": "CVE-2017-15098", "url": "https://www.postgresql.org/support/security/CVE-2017-15098/", "fixed": {"10": "10.1", "9.3": "9.3.20", "9.4": "9.4.15", "9.5": "9.5.10", "9.6": "9.6.6"}, "score": 4.3, "title": "修复 json{b}_populate_recordset() 中行类型不匹配导致的崩溃", "vector": "AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N", "affected": {"10": "10", "9.3": "9.3", "9.4": "9.4", "9.5": "9.5", "9.6": "9.6"}, "component": "core server", "published": {"10": "2017-11-09", "9.3": "2017-11-09", "9.4": "2017-11-09", "9.5": "2017-11-09", "9.6": "2017-11-09"}, "introduced": {}, "cvss_version": "3.0", "description_en": "", "first_published": "2017-11-09", "fixed_version": "10.1"}, {"id": "CVE-2017-15099", "url": "https://www.postgresql.org/support/security/CVE-2017-15099/", "fixed": {"10": "10.1", "9.5": "9.5.10", "9.6": "9.6.6"}, "score": 3.1, "title": "确保 INSERT ... ON CONFLICT DO UPDATE 在所有情况下都检查表权限和 RLS 策略", "vector": "AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N", "affected": {"10": "10", "9.5": "9.5", "9.6": "9.6"}, "component": "core server", "published": {"10": "2017-11-09", "9.5": "2017-11-09", "9.6": "2017-11-09"}, "introduced": {}, "cvss_version": "3.0", "description_en": "", "first_published": "2017-11-09", "fixed_version": "10.1"}], "cve_available": true, "remaining_cves": [], "security_regressions": [], "warnings": [], "candidate_count": 37, "already_in_source_count": 0, "duplicate_count": 0, "excluded_count": 0, "exclusions": [], "source_as_of": "2026-09-26", "security_as_of": "2026-09-26"}