{"format": 1, "mode": "release", "from_release": null, "to_release": {"date": "2018-02-08", "build": "9.3.21", "major": "9.3", "minor": 21, "manual": "9.3", "status": "stable", "doc_git": "", "version": "9.3.21", "eol_date": "2018-11-08", "date_text": "2018-02-08", "supported": false, "manual_url": "/docs/9.3/release-9-3-21.html", "source_url": "/docs/release/9.3.21/", "entry_count": 24, "placeholder": false, "content_hash": "24d1fc56a5f70262b9f01565885d7b32569ddda22f133c88209ba36169fbd52a", "manual_build": "9.3.25", "source_as_of": "", "changes_count": 24, "doc_loaded_at": "2026-09-26T02:56:46.133805", "migration_html": "<p>对于运行 9.3.X 的用户，不需要进行转储/恢复。</p>\n<p>不过，如果你是从早于 9.3.18 的版本升级，请参见<a href=\"/docs/9.3/release-9-3-18.html\" title=\"E.8. 版本 9.3.18\">第 E.8 节</a>。</p>", "compatibility_count": 0, "label": "9.3.21", "status_label": "历史版本", "eol": "2018-11-08", "age_days": 3156, "support_days": -2883}, "groups": [{"date": "2018-02-08", "build": "9.3.21", "major": "9.3", "minor": 21, "manual": "9.3", "status": "stable", "doc_git": "", "version": "9.3.21", "eol_date": "2018-11-08", "date_text": "2018-02-08", "supported": false, "manual_url": "/docs/9.3/release-9-3-21.html", "source_url": "/docs/release/9.3.21/", "entry_count": 24, "placeholder": false, "content_hash": "24d1fc56a5f70262b9f01565885d7b32569ddda22f133c88209ba36169fbd52a", "manual_build": "9.3.25", "source_as_of": "", "changes_count": 24, "doc_loaded_at": "2026-09-26T02:56:46.133805", "migration_html": "<p>对于运行 9.3.X 的用户，不需要进行转储/恢复。</p>\n<p>不过，如果你是从早于 9.3.18 的版本升级，请参见<a href=\"/docs/9.3/release-9-3-18.html\" title=\"E.8. 版本 9.3.18\">第 E.8 节</a>。</p>", "compatibility_count": 0, "label": "9.3.21", "status_label": "历史版本", "eol": "2018-11-08", "age_days": 3156, "support_days": -2883, "entries": [{"id": "9.3.21-107a7027695be69a", "cves": ["CVE-2018-1053"], "html": "<p>确保 <span>pg_upgrade</span> 创建的所有临时文件对其他用户不可读（Tom Lane、Noah Misch）</p>\n<p><span>pg_upgrade</span> 通常将其临时文件限制为只有调用用户可读写。但如果用户的 <code>umask</code> 设置允许，包含 <code>pg_dumpall -g</code> 输出的临时文件会是组可读或全局可读，甚至可写。在多用户机器的典型用法中，<code>umask</code> 和/或工作目录的权限会足够严格以防止问题；但可能有人在 <span>pg_upgrade</span> 的这一疏漏允许向不友好者泄露数据库密码的场景下使用它。（CVE-2018-1053）</p>", "text": "确保 pg_upgrade 创建的所有临时文件对其他用户不可读（Tom Lane、Noah Misch） pg_upgrade 通常将其临时文件限制为只有调用用户可读写。但如果用户的 umask 设置允许，包含 pg_dumpall -g 输出的临时文件会是组可读或全局可读，甚至可写。在多用户机器的典型用法中，umask 和/或工作目录的权限会足够严格以防止问题；但可能有人在 pg_upgrade 的这一疏漏允许向不友好者泄露数据库密码的场景下使用它。（CVE-2018-1053）", "title": "确保 pg_upgrade 创建的所有临时文件对其他用户不可读", "commits": [], "section": "变更", "category": "security", "source_url": "/docs/release/9.3.21/#id-1.11.6.9.5", "source_hash": "021daaebd3ce7bf335e347579188952bd5a5f24eb03e913409c3a6c9379d3d69", "section_path": ["变更"], "commit_groups": [], "identity_text": "Ensure that all temporary files made by pg_upgrade are non-world-readable (Tom Lane, Noah Misch) pg_upgrade normally restricts its temporary files to be readable and writable only by the calling user. But the temporary file containing pg_dumpall -g output would be group- or world-readable, or even writable, if the user's umask setting allows. In typical usage on multi-user machines, the umask and/or the working directory's permissions would be tight enough to prevent problems; but there may be people using pg_upgrade in scenarios where this oversight would permit disclosure of database passwords to unfriendly eyes. (CVE-2018-1053)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.21/changes/001", "db_id": "83f37cc5a00730f2f6efdc8b47a82ae5", "patch_ids": [], "statement_hash": "6dd22481d519ada003cf3022956ebe0c3ac5fbe8a27e2352c0e114ad33528372", "relations": [{"rule": 2, "type": "equivalent", "target": "3e27a2a85656b964f66c860c70248836", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6dd22481d519ada003cf3022956ebe0c3ac5fbe8a27e2352c0e114ad33528372"}}, {"rule": 2, "type": "equivalent", "target": "502a24d61bdbdddb5ce51397266ec1e3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6dd22481d519ada003cf3022956ebe0c3ac5fbe8a27e2352c0e114ad33528372"}}, {"rule": 2, "type": "equivalent", "target": "a787a63eb7d46a13fb49da1d7154952c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6dd22481d519ada003cf3022956ebe0c3ac5fbe8a27e2352c0e114ad33528372"}}, {"rule": 2, "type": "equivalent", "target": "fa6f83f05c1fadac3a27a2a9b3013242", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6dd22481d519ada003cf3022956ebe0c3ac5fbe8a27e2352c0e114ad33528372"}}], "version": "9.3.21", "category_label": "安全相关", "also_in": [], "variants": [], "related_changes": [{"db_id": "fa6f83f05c1fadac3a27a2a9b3013242", "kind": "equivalent", "version": "10.2", "label": "10.2", "title": "确保 pg_upgrade 创建的所有临时文件都不会允许所有用户读取", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6dd22481d519ada003cf3022956ebe0c3ac5fbe8a27e2352c0e114ad33528372"}, "url": "/docs/compare/?release=10.2#10.2-ea7c7e256e617d2a", "source_url": "/docs/release/10.2/#id-1.11.6.26.5"}, {"db_id": "502a24d61bdbdddb5ce51397266ec1e3", "kind": "equivalent", "version": "9.6.7", "label": "9.6.7", "title": "确保 pg_upgrade 创建的所有临时文件对其他用户不可读", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6dd22481d519ada003cf3022956ebe0c3ac5fbe8a27e2352c0e114ad33528372"}, "url": "/docs/compare/?release=9.6.7#9.6.7-107a7027695be69a", "source_url": "/docs/release/9.6.7/#id-1.11.6.22.5"}, {"db_id": "3e27a2a85656b964f66c860c70248836", "kind": "equivalent", "version": "9.5.11", "label": "9.5.11", "title": "确保 pg_upgrade 创建的所有临时文件对其他用户不可读", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6dd22481d519ada003cf3022956ebe0c3ac5fbe8a27e2352c0e114ad33528372"}, "url": "/docs/compare/?release=9.5.11#9.5.11-107a7027695be69a", "source_url": "/docs/release/9.5.11/#id-1.11.6.19.5"}, {"db_id": "a787a63eb7d46a13fb49da1d7154952c", "kind": "equivalent", "version": "9.4.16", "label": "9.4.16", "title": "确保 pg_upgrade 创建的所有临时文件对其他用户不可读", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6dd22481d519ada003cf3022956ebe0c3ac5fbe8a27e2352c0e114ad33528372"}, "url": "/docs/compare/?release=9.4.16#9.4.16-107a7027695be69a", "source_url": "/docs/release/9.4.16/#id-1.11.6.15.5"}]}, {"id": "9.3.21-ee9c4dbe720c9a4a", "cves": [], "html": "<p>修复对在键共享锁定下被更新的元组的清理（Andres Freund、Álvaro Herrera）</p>\n<p>某些情况下，<code>VACUUM</code> 即使这些元组现在已经死亡也不会移除它们，导致各种数据损坏场景。</p>", "text": "修复对在键共享锁定下被更新的元组的清理（Andres Freund、Álvaro Herrera） 某些情况下，VACUUM 即使这些元组现在已经死亡也不会移除它们，导致各种数据损坏场景。", "title": "修复对在键共享锁定下被更新的元组的清理", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.3.21/#id-1.11.6.9.5", "source_hash": "73e84b6632cf99773637b29c40021b5b5d75a976b2e4acd3679a9f2e20abf97a", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix vacuuming of tuples that were updated while key-share locked (Andres Freund, Álvaro Herrera) In some cases VACUUM would fail to remove such tuples even though they are now dead, leading to assorted data corruption scenarios.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.21/changes/002", "db_id": "f216ffc4af1e2efa4c6cbec02cfda9a9", "patch_ids": [], "statement_hash": "c8ad791f7bf84f5505a2365b8e22d4c29e36943486f64cccbe995c52c6650bb4", "relations": [{"rule": 2, "type": "equivalent", "target": "2a6b2f9569c99147470015ad187b73cd", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c8ad791f7bf84f5505a2365b8e22d4c29e36943486f64cccbe995c52c6650bb4"}}, {"rule": 2, "type": "equivalent", "target": "578e6835f4779011e8832306cd6043a0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c8ad791f7bf84f5505a2365b8e22d4c29e36943486f64cccbe995c52c6650bb4"}}, {"rule": 2, "type": "equivalent", "target": "7131bc8c16e7a2bcdc9804fe19434a5a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c8ad791f7bf84f5505a2365b8e22d4c29e36943486f64cccbe995c52c6650bb4"}}, {"rule": 2, "type": "equivalent", "target": "f46cd1a709ac4d44c8b5ef458c63bb01", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c8ad791f7bf84f5505a2365b8e22d4c29e36943486f64cccbe995c52c6650bb4"}}], "version": "9.3.21", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "2a6b2f9569c99147470015ad187b73cd", "kind": "equivalent", "version": "10.2", "label": "10.2", "title": "修复对持有键共享锁期间被更新的元组的清理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c8ad791f7bf84f5505a2365b8e22d4c29e36943486f64cccbe995c52c6650bb4"}, "url": "/docs/compare/?release=10.2#10.2-c27385d0da6e0f24", "source_url": "/docs/release/10.2/#id-1.11.6.26.5"}, {"db_id": "578e6835f4779011e8832306cd6043a0", "kind": "equivalent", "version": "9.6.7", "label": "9.6.7", "title": "修复对在键共享锁定下被更新的元组的清理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c8ad791f7bf84f5505a2365b8e22d4c29e36943486f64cccbe995c52c6650bb4"}, "url": "/docs/compare/?release=9.6.7#9.6.7-ee9c4dbe720c9a4a", "source_url": "/docs/release/9.6.7/#id-1.11.6.22.5"}, {"db_id": "7131bc8c16e7a2bcdc9804fe19434a5a", "kind": "equivalent", "version": "9.5.11", "label": "9.5.11", "title": "修复对在键共享锁定下被更新的元组的清理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c8ad791f7bf84f5505a2365b8e22d4c29e36943486f64cccbe995c52c6650bb4"}, "url": "/docs/compare/?release=9.5.11#9.5.11-ee9c4dbe720c9a4a", "source_url": "/docs/release/9.5.11/#id-1.11.6.19.5"}, {"db_id": "f46cd1a709ac4d44c8b5ef458c63bb01", "kind": "equivalent", "version": "9.4.16", "label": "9.4.16", "title": "修复对在键共享锁定下被更新的元组的清理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c8ad791f7bf84f5505a2365b8e22d4c29e36943486f64cccbe995c52c6650bb4"}, "url": "/docs/compare/?release=9.4.16#9.4.16-ee9c4dbe720c9a4a", "source_url": "/docs/release/9.4.16/#id-1.11.6.15.5"}]}, {"id": "9.3.21-558ce9ee604e2cc5", "cves": [], "html": "<p>修复某些 LSN 获取中不充分的缓冲区锁定（Jacob Champion、Asim Praveen、Ashwin Agrawal）</p>\n<p>这些错误可能导致并发负载下的行为异常。潜在后果尚未完全弄清。</p>", "text": "修复某些 LSN 获取中不充分的缓冲区锁定（Jacob Champion、Asim Praveen、Ashwin Agrawal） 这些错误可能导致并发负载下的行为异常。潜在后果尚未完全弄清。", "title": "修复某些 LSN 获取中不充分的缓冲区锁定", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.3.21/#id-1.11.6.9.5", "source_hash": "b9f784f1e9e7fd807d5f1e94730ee26a9a2f4a0e38f26aed7cd5704a9ab074b2", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix inadequate buffer locking in some LSN fetches (Jacob Champion, Asim Praveen, Ashwin Agrawal) These errors could result in misbehavior under concurrent load. The potential consequences have not been characterized fully.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.21/changes/003", "db_id": "cbe59a3d9acef7ea5d799d47bce471b6", "patch_ids": [], "statement_hash": "2fdf21253cff1d6e2b11e41b8b952086c87381ddcf2bf60a738711cf34c146e5", "relations": [{"rule": 2, "type": "equivalent", "target": "2d24e732ff8f4bf60445f8ca110160ff", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2fdf21253cff1d6e2b11e41b8b952086c87381ddcf2bf60a738711cf34c146e5"}}, {"rule": 2, "type": "equivalent", "target": "7bb15c94de58df30ec8b8a47c835f471", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2fdf21253cff1d6e2b11e41b8b952086c87381ddcf2bf60a738711cf34c146e5"}}, {"rule": 2, "type": "equivalent", "target": "82385f5d32d884d22eed0db877d748be", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2fdf21253cff1d6e2b11e41b8b952086c87381ddcf2bf60a738711cf34c146e5"}}, {"rule": 2, "type": "equivalent", "target": "c6fdf4a4bb76269450a22fb6669dce9e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2fdf21253cff1d6e2b11e41b8b952086c87381ddcf2bf60a738711cf34c146e5"}}], "version": "9.3.21", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "82385f5d32d884d22eed0db877d748be", "kind": "equivalent", "version": "10.2", "label": "10.2", "title": "修复某些 LSN 读取操作中缓冲区加锁不充分的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2fdf21253cff1d6e2b11e41b8b952086c87381ddcf2bf60a738711cf34c146e5"}, "url": "/docs/compare/?release=10.2#10.2-6f93932d3958da2d", "source_url": "/docs/release/10.2/#id-1.11.6.26.5"}, {"db_id": "2d24e732ff8f4bf60445f8ca110160ff", "kind": "equivalent", "version": "9.6.7", "label": "9.6.7", "title": "修复某些 LSN 获取中不充分的缓冲区锁定", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2fdf21253cff1d6e2b11e41b8b952086c87381ddcf2bf60a738711cf34c146e5"}, "url": "/docs/compare/?release=9.6.7#9.6.7-558ce9ee604e2cc5", "source_url": "/docs/release/9.6.7/#id-1.11.6.22.5"}, {"db_id": "c6fdf4a4bb76269450a22fb6669dce9e", "kind": "equivalent", "version": "9.5.11", "label": "9.5.11", "title": "修复某些 LSN 获取中不充分的缓冲区锁定", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2fdf21253cff1d6e2b11e41b8b952086c87381ddcf2bf60a738711cf34c146e5"}, "url": "/docs/compare/?release=9.5.11#9.5.11-558ce9ee604e2cc5", "source_url": "/docs/release/9.5.11/#id-1.11.6.19.5"}, {"db_id": "7bb15c94de58df30ec8b8a47c835f471", "kind": "equivalent", "version": "9.4.16", "label": "9.4.16", "title": "修复某些 LSN 获取中不充分的缓冲区锁定", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2fdf21253cff1d6e2b11e41b8b952086c87381ddcf2bf60a738711cf34c146e5"}, "url": "/docs/compare/?release=9.4.16#9.4.16-558ce9ee604e2cc5", "source_url": "/docs/release/9.4.16/#id-1.11.6.15.5"}]}, {"id": "9.3.21-29df6a5b1845e899", "cves": [], "html": "<p>避免与 <code>ALTER TABLE NO INHERIT</code> 并发地从树中移除某个子表时对继承树的查询不必要的失败（Tom Lane）</p>", "text": "避免与 ALTER TABLE NO INHERIT 并发地从树中移除某个子表时对继承树的查询不必要的失败（Tom Lane）", "title": "避免与 ALTER TABLE NO INHERIT 并发地从树中移除某个子表时对继承树的查询不必要的失败", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.3.21/#id-1.11.6.9.5", "source_hash": "f7cdd7b383b17a3cf012a58f7581f08db56919aab250fe8e8d3e4d7f77611fb1", "section_path": ["变更"], "commit_groups": [], "identity_text": "Avoid unnecessary failure in a query on an inheritance tree that occurs concurrently with some child table being removed from the tree by ALTER TABLE NO INHERIT (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.21/changes/004", "db_id": "0cc55490249e34237083218340c88c0c", "patch_ids": [], "statement_hash": "cc654b379a0c8eec41d04ee7d796df284eb42e201413f8cb411fbbbf252c6725", "relations": [{"rule": 2, "type": "equivalent", "target": "12a200b06d9b476c5a0186fd8e184492", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cc654b379a0c8eec41d04ee7d796df284eb42e201413f8cb411fbbbf252c6725"}}, {"rule": 2, "type": "equivalent", "target": "1ae9a2ace3d085bedb8f5883b1a43fd9", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cc654b379a0c8eec41d04ee7d796df284eb42e201413f8cb411fbbbf252c6725"}}, {"rule": 2, "type": "equivalent", "target": "af9fa0cdaebba6178e8ef3cee771b2d0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cc654b379a0c8eec41d04ee7d796df284eb42e201413f8cb411fbbbf252c6725"}}, {"rule": 2, "type": "equivalent", "target": "df486aeeee65140082a7b3c49b8ffdb2", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cc654b379a0c8eec41d04ee7d796df284eb42e201413f8cb411fbbbf252c6725"}}], "version": "9.3.21", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "12a200b06d9b476c5a0186fd8e184492", "kind": "equivalent", "version": "10.2", "label": "10.2", "title": "避免在查询继承树的同时，某个子表被 ALTER TABLE NO INHERIT 从树中移除时发生不必要的失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cc654b379a0c8eec41d04ee7d796df284eb42e201413f8cb411fbbbf252c6725"}, "url": "/docs/compare/?release=10.2#10.2-99172f192afeae3a", "source_url": "/docs/release/10.2/#id-1.11.6.26.5"}, {"db_id": "af9fa0cdaebba6178e8ef3cee771b2d0", "kind": "equivalent", "version": "9.6.7", "label": "9.6.7", "title": "避免与 ALTER TABLE NO INHERIT 并发地从树中移除某个子表时对继承树的查询不必要的失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cc654b379a0c8eec41d04ee7d796df284eb42e201413f8cb411fbbbf252c6725"}, "url": "/docs/compare/?release=9.6.7#9.6.7-29df6a5b1845e899", "source_url": "/docs/release/9.6.7/#id-1.11.6.22.5"}, {"db_id": "df486aeeee65140082a7b3c49b8ffdb2", "kind": "equivalent", "version": "9.5.11", "label": "9.5.11", "title": "避免与 ALTER TABLE NO INHERIT 并发地从树中移除某个子表时对继承树的查询不必要的失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cc654b379a0c8eec41d04ee7d796df284eb42e201413f8cb411fbbbf252c6725"}, "url": "/docs/compare/?release=9.5.11#9.5.11-29df6a5b1845e899", "source_url": "/docs/release/9.5.11/#id-1.11.6.19.5"}, {"db_id": "1ae9a2ace3d085bedb8f5883b1a43fd9", "kind": "equivalent", "version": "9.4.16", "label": "9.4.16", "title": "避免与 ALTER TABLE NO INHERIT 并发地从树中移除某个子表时对继承树的查询不必要的失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cc654b379a0c8eec41d04ee7d796df284eb42e201413f8cb411fbbbf252c6725"}, "url": "/docs/compare/?release=9.4.16#9.4.16-29df6a5b1845e899", "source_url": "/docs/release/9.4.16/#id-1.11.6.15.5"}]}, {"id": "9.3.21-346c838211b82c44", "cves": [], "html": "<p>修复 <code>LATERAL</code> 子查询内 <code>VALUES</code> 内相关子 <code>SELECT</code> 的失败（Tom Lane）</p>", "text": "修复 LATERAL 子查询内 VALUES 内相关子 SELECT 的失败（Tom Lane）", "title": "修复 LATERAL 子查询内 VALUES 内相关子 SELECT 的失败", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.3.21/#id-1.11.6.9.5", "source_hash": "aaf87391ba4793ce3343e4b693af384dae1d7fef1fdc8585c58e64af130356ba", "section_path": ["变更"], "commit_groups": [], "identity_text": "Repair failure with correlated sub-SELECT inside VALUES inside a LATERAL subquery (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.21/changes/005", "db_id": "24e4a244bb80527b6b2f75d88c341130", "patch_ids": [], "statement_hash": "7e2bf5803eece4b3b275459218bd07eda11a84298021b5808f5fec7c2c6a7d9c", "relations": [{"rule": 2, "type": "equivalent", "target": "08317401be83c287ffb1e92b829f98c8", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7e2bf5803eece4b3b275459218bd07eda11a84298021b5808f5fec7c2c6a7d9c"}}, {"rule": 2, "type": "equivalent", "target": "3cdb2c132ad40c77431e35911ee4b48b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7e2bf5803eece4b3b275459218bd07eda11a84298021b5808f5fec7c2c6a7d9c"}}, {"rule": 2, "type": "equivalent", "target": "65fc85b0b47fabd240409d5f2054d96d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7e2bf5803eece4b3b275459218bd07eda11a84298021b5808f5fec7c2c6a7d9c"}}, {"rule": 2, "type": "equivalent", "target": "8c72ac6b2fba11c344919a4d10bf6d22", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7e2bf5803eece4b3b275459218bd07eda11a84298021b5808f5fec7c2c6a7d9c"}}], "version": "9.3.21", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "65fc85b0b47fabd240409d5f2054d96d", "kind": "equivalent", "version": "10.2", "label": "10.2", "title": "修复 LATERAL 子查询中 VALUES 内的相关子 SELECT 导致的失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7e2bf5803eece4b3b275459218bd07eda11a84298021b5808f5fec7c2c6a7d9c"}, "url": "/docs/compare/?release=10.2#10.2-24d5a5b6f05ef5ed", "source_url": "/docs/release/10.2/#id-1.11.6.26.5"}, {"db_id": "8c72ac6b2fba11c344919a4d10bf6d22", "kind": "equivalent", "version": "9.6.7", "label": "9.6.7", "title": "修复 LATERAL 子查询内 VALUES 内相关子 SELECT 的失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7e2bf5803eece4b3b275459218bd07eda11a84298021b5808f5fec7c2c6a7d9c"}, "url": "/docs/compare/?release=9.6.7#9.6.7-346c838211b82c44", "source_url": "/docs/release/9.6.7/#id-1.11.6.22.5"}, {"db_id": "3cdb2c132ad40c77431e35911ee4b48b", "kind": "equivalent", "version": "9.5.11", "label": "9.5.11", "title": "修复 LATERAL 子查询内 VALUES 内相关子 SELECT 的失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7e2bf5803eece4b3b275459218bd07eda11a84298021b5808f5fec7c2c6a7d9c"}, "url": "/docs/compare/?release=9.5.11#9.5.11-346c838211b82c44", "source_url": "/docs/release/9.5.11/#id-1.11.6.19.5"}, {"db_id": "08317401be83c287ffb1e92b829f98c8", "kind": "equivalent", "version": "9.4.16", "label": "9.4.16", "title": "修复 LATERAL 子查询内 VALUES 内相关子 SELECT 的失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7e2bf5803eece4b3b275459218bd07eda11a84298021b5808f5fec7c2c6a7d9c"}, "url": "/docs/compare/?release=9.4.16#9.4.16-346c838211b82c44", "source_url": "/docs/release/9.4.16/#id-1.11.6.15.5"}]}, {"id": "9.3.21-a8a70f044e1c683a", "cves": [], "html": "<p>修复横向子查询内嵌套 <code>UNION ALL</code> 的某些情况下 <span>“<span>could not devise a query plan for the given query</span>”</span> 规划器失败（Tom Lane）</p>", "text": "修复横向子查询内嵌套 UNION ALL 的某些情况下 “could not devise a query plan for the given query” 规划器失败（Tom Lane）", "title": "修复横向子查询内嵌套 UNION ALL 的某些情况下 “could not devise a query plan for the given query” 规划器失败", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.3.21/#id-1.11.6.9.5", "source_hash": "095a42ddbde897f61eaf240d65d3391c5618373a0a78213b468c27f2f76ec9ee", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix could not devise a query plan for the given query planner failure for some cases involving nested UNION ALL inside a lateral subquery (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.21/changes/006", "db_id": "9f7497c7d9ffed7fc37192d093b636fe", "patch_ids": [], "statement_hash": "2aa1c52310e2be0f968414a985940c6922ea17ebbcd5d5d0d2dcc1c8836c237c", "relations": [{"rule": 2, "type": "equivalent", "target": "11be3b46e5562e568dcf3eb498fbd102", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2aa1c52310e2be0f968414a985940c6922ea17ebbcd5d5d0d2dcc1c8836c237c"}}, {"rule": 2, "type": "equivalent", "target": "67468e944bb781e37724ba62e3ac6fd3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2aa1c52310e2be0f968414a985940c6922ea17ebbcd5d5d0d2dcc1c8836c237c"}}, {"rule": 2, "type": "equivalent", "target": "dbfdbb67dd1039ecbc3a40ba6a034d26", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2aa1c52310e2be0f968414a985940c6922ea17ebbcd5d5d0d2dcc1c8836c237c"}}, {"rule": 2, "type": "equivalent", "target": "f942ad4f0a998777c3ce08593d956283", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2aa1c52310e2be0f968414a985940c6922ea17ebbcd5d5d0d2dcc1c8836c237c"}}], "version": "9.3.21", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "f942ad4f0a998777c3ce08593d956283", "kind": "equivalent", "version": "10.2", "label": "10.2", "title": "修复横向子查询内部存在嵌套 UNION ALL 的某些情况下，规划器报告 “could not devise a query plan for the given query” 的失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2aa1c52310e2be0f968414a985940c6922ea17ebbcd5d5d0d2dcc1c8836c237c"}, "url": "/docs/compare/?release=10.2#10.2-b14470686a94e455", "source_url": "/docs/release/10.2/#id-1.11.6.26.5"}, {"db_id": "67468e944bb781e37724ba62e3ac6fd3", "kind": "equivalent", "version": "9.6.7", "label": "9.6.7", "title": "修复横向子查询内嵌套 UNION ALL 的某些情况下 “could not devise a query plan for the given query” 规划器失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2aa1c52310e2be0f968414a985940c6922ea17ebbcd5d5d0d2dcc1c8836c237c"}, "url": "/docs/compare/?release=9.6.7#9.6.7-a8a70f044e1c683a", "source_url": "/docs/release/9.6.7/#id-1.11.6.22.5"}, {"db_id": "dbfdbb67dd1039ecbc3a40ba6a034d26", "kind": "equivalent", "version": "9.5.11", "label": "9.5.11", "title": "修复横向子查询内嵌套 UNION ALL 的某些情况下 “could not devise a query plan for the given query” 规划器失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2aa1c52310e2be0f968414a985940c6922ea17ebbcd5d5d0d2dcc1c8836c237c"}, "url": "/docs/compare/?release=9.5.11#9.5.11-a8a70f044e1c683a", "source_url": "/docs/release/9.5.11/#id-1.11.6.19.5"}, {"db_id": "11be3b46e5562e568dcf3eb498fbd102", "kind": "equivalent", "version": "9.4.16", "label": "9.4.16", "title": "修复横向子查询内嵌套 UNION ALL 的某些情况下 “could not devise a query plan for the given query” 规划器失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2aa1c52310e2be0f968414a985940c6922ea17ebbcd5d5d0d2dcc1c8836c237c"}, "url": "/docs/compare/?release=9.4.16#9.4.16-a8a70f044e1c683a", "source_url": "/docs/release/9.4.16/#id-1.11.6.15.5"}]}, {"id": "9.3.21-c564b31f07d13743", "cves": [], "html": "<p>修复 <code>has_sequence_privilege()</code> 像其他权限测试函数一样支持 <code>WITH GRANT OPTION</code> 测试（Joe Conway）</p>", "text": "修复 has_sequence_privilege() 像其他权限测试函数一样支持 WITH GRANT OPTION 测试（Joe Conway）", "title": "修复 has_sequence_privilege() 像其他权限测试函数一样支持 WITH GRANT OPTION 测试", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.3.21/#id-1.11.6.9.5", "source_hash": "760d23ba674ebbeb5aa90325012effe535cf9132707eb6b37ea5d1c66955e25e", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix has_sequence_privilege() to support WITH GRANT OPTION tests, as other privilege-testing functions do (Joe Conway)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.21/changes/007", "db_id": "76649b2fb466f9acb38720b8976c353c", "patch_ids": [], "statement_hash": "e6672d1a2b9d70a56e2d8c49b5acab5d3704e50288d8fe01fd77755af7704d6e", "relations": [{"rule": 2, "type": "equivalent", "target": "619783ed3e2208495d597662446253c1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e6672d1a2b9d70a56e2d8c49b5acab5d3704e50288d8fe01fd77755af7704d6e"}}, {"rule": 2, "type": "equivalent", "target": "a1d669f5e670a3c8cead313057939aed", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e6672d1a2b9d70a56e2d8c49b5acab5d3704e50288d8fe01fd77755af7704d6e"}}, {"rule": 2, "type": "equivalent", "target": "a8aabc64f8411c7c77b294c05f462251", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e6672d1a2b9d70a56e2d8c49b5acab5d3704e50288d8fe01fd77755af7704d6e"}}, {"rule": 2, "type": "equivalent", "target": "e3220e245c3534dd19fe43e00fa92707", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e6672d1a2b9d70a56e2d8c49b5acab5d3704e50288d8fe01fd77755af7704d6e"}}], "version": "9.3.21", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "e3220e245c3534dd19fe43e00fa92707", "kind": "equivalent", "version": "10.2", "label": "10.2", "title": "修复 has_sequence_privilege()，使其与其他权限测试函数一样支持 WITH GRANT OPTION 测试", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e6672d1a2b9d70a56e2d8c49b5acab5d3704e50288d8fe01fd77755af7704d6e"}, "url": "/docs/compare/?release=10.2#10.2-212465228d89f18d", "source_url": "/docs/release/10.2/#id-1.11.6.26.5"}, {"db_id": "a8aabc64f8411c7c77b294c05f462251", "kind": "equivalent", "version": "9.6.7", "label": "9.6.7", "title": "修复 has_sequence_privilege() 像其他权限测试函数一样支持 WITH GRANT OPTION 测试", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e6672d1a2b9d70a56e2d8c49b5acab5d3704e50288d8fe01fd77755af7704d6e"}, "url": "/docs/compare/?release=9.6.7#9.6.7-c564b31f07d13743", "source_url": "/docs/release/9.6.7/#id-1.11.6.22.5"}, {"db_id": "a1d669f5e670a3c8cead313057939aed", "kind": "equivalent", "version": "9.5.11", "label": "9.5.11", "title": "修复 has_sequence_privilege() 像其他权限测试函数一样支持 WITH GRANT OPTION 测试", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e6672d1a2b9d70a56e2d8c49b5acab5d3704e50288d8fe01fd77755af7704d6e"}, "url": "/docs/compare/?release=9.5.11#9.5.11-c564b31f07d13743", "source_url": "/docs/release/9.5.11/#id-1.11.6.19.5"}, {"db_id": "619783ed3e2208495d597662446253c1", "kind": "equivalent", "version": "9.4.16", "label": "9.4.16", "title": "修复 has_sequence_privilege() 像其他权限测试函数一样支持 WITH GRANT OPTION 测试", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e6672d1a2b9d70a56e2d8c49b5acab5d3704e50288d8fe01fd77755af7704d6e"}, "url": "/docs/compare/?release=9.4.16#9.4.16-c564b31f07d13743", "source_url": "/docs/release/9.4.16/#id-1.11.6.15.5"}]}, {"id": "9.3.21-2038697ff3166b24", "cves": [], "html": "<p>在使用 UTF8 编码的数据库中，忽略断言不同编码的 XML 声明（Pavel Stehule、Noah Misch）</p>\n<p>我们总是以数据库编码存储 XML 字符串，因此允许 libxml 对另一种编码的声明采取行动会给出错误结果。在 UTF8 之外的编码中，我们本来就不承诺支持非 ASCII XML 数据，因此为错误兼容保留以前的行为。这一更改只影响 <code>xpath()</code> 及相关函数；其他 XML 代码路径已经这样做了。</p>", "text": "在使用 UTF8 编码的数据库中，忽略断言不同编码的 XML 声明（Pavel Stehule、Noah Misch） 我们总是以数据库编码存储 XML 字符串，因此允许 libxml 对另一种编码的声明采取行动会给出错误结果。在 UTF8 之外的编码中，我们本来就不承诺支持非 ASCII XML 数据，因此为错误兼容保留以前的行为。这一更改只影响 xpath() 及相关函数；其他 XML 代码路径已经这样做了。", "title": "在使用 UTF8 编码的数据库中，忽略断言不同编码的 XML 声明", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.3.21/#id-1.11.6.9.5", "source_hash": "ea9024cc935f73efdd3433071a0c10c5586828f9b903698675d0d3875dd5d4c8", "section_path": ["变更"], "commit_groups": [], "identity_text": "In databases using UTF8 encoding, ignore any XML declaration that asserts a different encoding (Pavel Stehule, Noah Misch) We always store XML strings in the database encoding, so allowing libxml to act on a declaration of another encoding gave wrong results. In encodings other than UTF8, we don't promise to support non-ASCII XML data anyway, so retain the previous behavior for bug compatibility. This change affects only xpath() and related functions; other XML code paths already acted this way.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.21/changes/008", "db_id": "9f5978e04390021201aa8d533376bcb3", "patch_ids": [], "statement_hash": "ff931297cec129457b4653d64184dafec23d198c4e021cd1f4d32369c6477580", "relations": [{"rule": 2, "type": "equivalent", "target": "51c16b63b73e8952455ef010fdb6bc34", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ff931297cec129457b4653d64184dafec23d198c4e021cd1f4d32369c6477580"}}, {"rule": 2, "type": "equivalent", "target": "540a56e4e2cbaf9eb6bc42d44f971b7c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ff931297cec129457b4653d64184dafec23d198c4e021cd1f4d32369c6477580"}}, {"rule": 2, "type": "equivalent", "target": "64a65085d2bcc64e247b1378e263a15f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ff931297cec129457b4653d64184dafec23d198c4e021cd1f4d32369c6477580"}}, {"rule": 2, "type": "equivalent", "target": "703b556bb53b3308f4833abf091add00", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ff931297cec129457b4653d64184dafec23d198c4e021cd1f4d32369c6477580"}}], "version": "9.3.21", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "64a65085d2bcc64e247b1378e263a15f", "kind": "equivalent", "version": "10.2", "label": "10.2", "title": "在使用 UTF8 编码的数据库中，忽略任何声称使用其他编码的 XML 声明", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ff931297cec129457b4653d64184dafec23d198c4e021cd1f4d32369c6477580"}, "url": "/docs/compare/?release=10.2#10.2-016c58f600bdd511", "source_url": "/docs/release/10.2/#id-1.11.6.26.5"}, {"db_id": "540a56e4e2cbaf9eb6bc42d44f971b7c", "kind": "equivalent", "version": "9.6.7", "label": "9.6.7", "title": "在使用 UTF8 编码的数据库中，忽略断言不同编码的 XML 声明", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ff931297cec129457b4653d64184dafec23d198c4e021cd1f4d32369c6477580"}, "url": "/docs/compare/?release=9.6.7#9.6.7-2038697ff3166b24", "source_url": "/docs/release/9.6.7/#id-1.11.6.22.5"}, {"db_id": "703b556bb53b3308f4833abf091add00", "kind": "equivalent", "version": "9.5.11", "label": "9.5.11", "title": "在使用 UTF8 编码的数据库中，忽略断言不同编码的 XML 声明", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ff931297cec129457b4653d64184dafec23d198c4e021cd1f4d32369c6477580"}, "url": "/docs/compare/?release=9.5.11#9.5.11-2038697ff3166b24", "source_url": "/docs/release/9.5.11/#id-1.11.6.19.5"}, {"db_id": "51c16b63b73e8952455ef010fdb6bc34", "kind": "equivalent", "version": "9.4.16", "label": "9.4.16", "title": "在使用 UTF8 编码的数据库中，忽略断言不同编码的 XML 声明", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ff931297cec129457b4653d64184dafec23d198c4e021cd1f4d32369c6477580"}, "url": "/docs/compare/?release=9.4.16#9.4.16-2038697ff3166b24", "source_url": "/docs/release/9.4.16/#id-1.11.6.15.5"}]}, {"id": "9.3.21-fd3e0daf12568c15", "cves": [], "html": "<p>为与未来次版本协议的前向兼容做准备（Robert Haas、Badrul Chowdhury）</p>\n<p>到目前为止，<span>PostgreSQL</span> 服务器只是拒绝使用比 3.0 更新的协议版本的请求，因此协议版本号的主部分和次部分之间没有功能差别。允许客户端请求 3.x 版本而不失败，发回一条表明服务器只理解 3.0 的消息。这目前没有区别，但向后移植此更改应能更快引入未来的次协议升级。</p>", "text": "为与未来次版本协议的前向兼容做准备（Robert Haas、Badrul Chowdhury） 到目前为止，PostgreSQL 服务器只是拒绝使用比 3.0 更新的协议版本的请求，因此协议版本号的主部分和次部分之间没有功能差别。允许客户端请求 3.x 版本而不失败，发回一条表明服务器只理解 3.0 的消息。这目前没有区别，但向后移植此更改应能更快引入未来的次协议升级。", "title": "为与未来次版本协议的前向兼容做准备", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.3.21/#id-1.11.6.9.5", "source_hash": "a632191843cf1a6c894698424ba743faea2866623ef6f7ef17779ccc74e37ae8", "section_path": ["变更"], "commit_groups": [], "identity_text": "Provide for forward compatibility with future minor protocol versions (Robert Haas, Badrul Chowdhury) Up to now, PostgreSQL servers simply rejected requests to use protocol versions newer than 3.0, so that there was no functional difference between the major and minor parts of the protocol version number. Allow clients to request versions 3.x without failing, sending back a message showing that the server only understands 3.0. This makes no difference at the moment, but back-patching this change should allow speedier introduction of future minor protocol upgrades.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.21/changes/009", "db_id": "fc71934fa6f0e20f15e2a3d74cf2224c", "patch_ids": [], "statement_hash": "081ebb6ea2f10d0f8e9f995ca705489cb715775481b5634ab2e759b1fc27937f", "relations": [{"rule": 2, "type": "equivalent", "target": "3bca875f15d6646be2ba689accfac0d0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "081ebb6ea2f10d0f8e9f995ca705489cb715775481b5634ab2e759b1fc27937f"}}, {"rule": 2, "type": "equivalent", "target": "4b25bdea5725fec36e838fba1cc4807f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "081ebb6ea2f10d0f8e9f995ca705489cb715775481b5634ab2e759b1fc27937f"}}, {"rule": 2, "type": "equivalent", "target": "5808ced71469317610618ca1565949c6", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "081ebb6ea2f10d0f8e9f995ca705489cb715775481b5634ab2e759b1fc27937f"}}, {"rule": 2, "type": "equivalent", "target": "922f5e76b2fc8a6ef5a033bb14730ec4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "081ebb6ea2f10d0f8e9f995ca705489cb715775481b5634ab2e759b1fc27937f"}}], "version": "9.3.21", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "3bca875f15d6646be2ba689accfac0d0", "kind": "equivalent", "version": "10.2", "label": "10.2", "title": "提供对未来小版本协议的向前兼容能力", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "081ebb6ea2f10d0f8e9f995ca705489cb715775481b5634ab2e759b1fc27937f"}, "url": "/docs/compare/?release=10.2#10.2-9f3306712ba2b392", "source_url": "/docs/release/10.2/#id-1.11.6.26.5"}, {"db_id": "922f5e76b2fc8a6ef5a033bb14730ec4", "kind": "equivalent", "version": "9.6.7", "label": "9.6.7", "title": "为与未来次版本协议的前向兼容做准备", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "081ebb6ea2f10d0f8e9f995ca705489cb715775481b5634ab2e759b1fc27937f"}, "url": "/docs/compare/?release=9.6.7#9.6.7-fd3e0daf12568c15", "source_url": "/docs/release/9.6.7/#id-1.11.6.22.5"}, {"db_id": "5808ced71469317610618ca1565949c6", "kind": "equivalent", "version": "9.5.11", "label": "9.5.11", "title": "为与未来次版本协议的前向兼容做准备", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "081ebb6ea2f10d0f8e9f995ca705489cb715775481b5634ab2e759b1fc27937f"}, "url": "/docs/compare/?release=9.5.11#9.5.11-fd3e0daf12568c15", "source_url": "/docs/release/9.5.11/#id-1.11.6.19.5"}, {"db_id": "4b25bdea5725fec36e838fba1cc4807f", "kind": "equivalent", "version": "9.4.16", "label": "9.4.16", "title": "为与未来次版本协议的前向兼容做准备", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "081ebb6ea2f10d0f8e9f995ca705489cb715775481b5634ab2e759b1fc27937f"}, "url": "/docs/compare/?release=9.4.16#9.4.16-fd3e0daf12568c15", "source_url": "/docs/release/9.4.16/#id-1.11.6.15.5"}]}, {"id": "9.3.21-6b5d775673a68200", "cves": [], "html": "<p>防止规划极深层嵌套集合操作（<code>UNION</code>/<code>INTERSECT</code>/<code>EXCEPT</code>）时的栈溢出崩溃（Tom Lane）</p>", "text": "防止规划极深层嵌套集合操作（UNION/INTERSECT/EXCEPT）时的栈溢出崩溃（Tom Lane）", "title": "防止规划极深层嵌套集合操作（UNION/INTERSECT/EXCEPT）时的栈溢出崩溃", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.3.21/#id-1.11.6.9.5", "source_hash": "f3a60e65ce141907b511296cc3f9d8e16fd63c74c849e6364f71803b4721fc5f", "section_path": ["变更"], "commit_groups": [], "identity_text": "Prevent stack-overflow crashes when planning extremely deeply nested set operations (UNION/INTERSECT/EXCEPT) (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.21/changes/010", "db_id": "70e56a68f5bcb62b2cfbed2160e0f4dd", "patch_ids": [], "statement_hash": "2e5305bde5e99938d4c50d70c4ff02af420da9937f6e79fea3652a574956dc37", "relations": [{"rule": 2, "type": "equivalent", "target": "01146443770f86ec5e5ca59fa9dbf321", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2e5305bde5e99938d4c50d70c4ff02af420da9937f6e79fea3652a574956dc37"}}, {"rule": 2, "type": "equivalent", "target": "568acb1455a8e36310b0b1c93fa873e3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2e5305bde5e99938d4c50d70c4ff02af420da9937f6e79fea3652a574956dc37"}}, {"rule": 2, "type": "equivalent", "target": "c0ab81df51c3929d239015f3a85d7c4d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2e5305bde5e99938d4c50d70c4ff02af420da9937f6e79fea3652a574956dc37"}}, {"rule": 2, "type": "equivalent", "target": "c39c8bd24f5ac242f0b32c2b20b718a4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2e5305bde5e99938d4c50d70c4ff02af420da9937f6e79fea3652a574956dc37"}}], "version": "9.3.21", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "c39c8bd24f5ac242f0b32c2b20b718a4", "kind": "equivalent", "version": "10.2", "label": "10.2", "title": "防止规划嵌套极深的集合操作（UNION/INTERSECT/EXCEPT）时发生栈溢出崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2e5305bde5e99938d4c50d70c4ff02af420da9937f6e79fea3652a574956dc37"}, "url": "/docs/compare/?release=10.2#10.2-85a96a8e38055d4d", "source_url": "/docs/release/10.2/#id-1.11.6.26.5"}, {"db_id": "c0ab81df51c3929d239015f3a85d7c4d", "kind": "equivalent", "version": "9.6.7", "label": "9.6.7", "title": "防止规划极深层嵌套集合操作（UNION/INTERSECT/EXCEPT）时的栈溢出崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2e5305bde5e99938d4c50d70c4ff02af420da9937f6e79fea3652a574956dc37"}, "url": "/docs/compare/?release=9.6.7#9.6.7-6b5d775673a68200", "source_url": "/docs/release/9.6.7/#id-1.11.6.22.5"}, {"db_id": "01146443770f86ec5e5ca59fa9dbf321", "kind": "equivalent", "version": "9.5.11", "label": "9.5.11", "title": "防止规划极深层嵌套集合操作（UNION/INTERSECT/EXCEPT）时的栈溢出崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2e5305bde5e99938d4c50d70c4ff02af420da9937f6e79fea3652a574956dc37"}, "url": "/docs/compare/?release=9.5.11#9.5.11-6b5d775673a68200", "source_url": "/docs/release/9.5.11/#id-1.11.6.19.5"}, {"db_id": "568acb1455a8e36310b0b1c93fa873e3", "kind": "equivalent", "version": "9.4.16", "label": "9.4.16", "title": "防止规划极深层嵌套集合操作（UNION/INTERSECT/EXCEPT）时的栈溢出崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2e5305bde5e99938d4c50d70c4ff02af420da9937f6e79fea3652a574956dc37"}, "url": "/docs/compare/?release=9.4.16#9.4.16-6b5d775673a68200", "source_url": "/docs/release/9.4.16/#id-1.11.6.15.5"}]}, {"id": "9.3.21-3a04f8f2f657ef4f", "cves": [], "html": "<p>修复 <code>pg_hba.conf</code> 中出现的某些类型 LDAP URL 的空指针崩溃（Thomas Munro）</p>", "text": "修复 pg_hba.conf 中出现的某些类型 LDAP URL 的空指针崩溃（Thomas Munro）", "title": "修复 pg_hba.conf 中出现的某些类型 LDAP URL 的空指针崩溃", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.3.21/#id-1.11.6.9.5", "source_hash": "74022c27a629fc833d1351c27ccbd81ddae31e4000de86377fc43566c1263205", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix null-pointer crashes for some types of LDAP URLs appearing in pg_hba.conf (Thomas Munro)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.21/changes/011", "db_id": "3c9d22b3c22a6f1ca4e410e0748abf03", "patch_ids": [], "statement_hash": "4e409fb26b969875e83a5d241117f7cd7d1f1c459ac34ccbe22266ac96a40f46", "relations": [{"rule": 2, "type": "equivalent", "target": "7f352f1f8330378d049091ee91844a5b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4e409fb26b969875e83a5d241117f7cd7d1f1c459ac34ccbe22266ac96a40f46"}}, {"rule": 2, "type": "equivalent", "target": "ae63d513a9079f9c6cc772c910b8b247", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4e409fb26b969875e83a5d241117f7cd7d1f1c459ac34ccbe22266ac96a40f46"}}, {"rule": 2, "type": "equivalent", "target": "bca9bf5667364948df95ee66aa7f939d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4e409fb26b969875e83a5d241117f7cd7d1f1c459ac34ccbe22266ac96a40f46"}}, {"rule": 2, "type": "equivalent", "target": "beca6294db18ff71808c71309eef783e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4e409fb26b969875e83a5d241117f7cd7d1f1c459ac34ccbe22266ac96a40f46"}}], "version": "9.3.21", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "7f352f1f8330378d049091ee91844a5b", "kind": "equivalent", "version": "10.2", "label": "10.2", "title": "修复 pg_hba.conf 中某些类型的 LDAP URL 导致的空指针崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4e409fb26b969875e83a5d241117f7cd7d1f1c459ac34ccbe22266ac96a40f46"}, "url": "/docs/compare/?release=10.2#10.2-5f97cba345d98cab", "source_url": "/docs/release/10.2/#id-1.11.6.26.5"}, {"db_id": "ae63d513a9079f9c6cc772c910b8b247", "kind": "equivalent", "version": "9.6.7", "label": "9.6.7", "title": "修复 pg_hba.conf 中出现的某些类型 LDAP URL 的空指针崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4e409fb26b969875e83a5d241117f7cd7d1f1c459ac34ccbe22266ac96a40f46"}, "url": "/docs/compare/?release=9.6.7#9.6.7-3a04f8f2f657ef4f", "source_url": "/docs/release/9.6.7/#id-1.11.6.22.5"}, {"db_id": "beca6294db18ff71808c71309eef783e", "kind": "equivalent", "version": "9.5.11", "label": "9.5.11", "title": "修复 pg_hba.conf 中出现的某些类型 LDAP URL 的空指针崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4e409fb26b969875e83a5d241117f7cd7d1f1c459ac34ccbe22266ac96a40f46"}, "url": "/docs/compare/?release=9.5.11#9.5.11-3a04f8f2f657ef4f", "source_url": "/docs/release/9.5.11/#id-1.11.6.19.5"}, {"db_id": "bca9bf5667364948df95ee66aa7f939d", "kind": "equivalent", "version": "9.4.16", "label": "9.4.16", "title": "修复 pg_hba.conf 中出现的某些类型 LDAP URL 的空指针崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4e409fb26b969875e83a5d241117f7cd7d1f1c459ac34ccbe22266ac96a40f46"}, "url": "/docs/compare/?release=9.4.16#9.4.16-3a04f8f2f657ef4f", "source_url": "/docs/release/9.4.16/#id-1.11.6.15.5"}]}, {"id": "9.3.21-10bc6b882e840284", "cves": [], "html": "<p>修复 PL/pgSQL 文档中的 <code>INSTR()</code> 示例函数（Yugo Nagata、Tom Lane）</p>\n<p>这些函数声称与 <span>Oracle</span>® 兼容，但并不完全如此。特别是对负第三参数的解释有分歧：Oracle 认为负值表示目标子串可以开始出现的最后一个位置，而我们的函数把它当作目标可以结束的最后一个位置。此外，Oracle 对零或负第四参数抛出错误，而我们的函数返回零。</p>\n<p>示例代码已被调整以更精确地匹配 Oracle 的行为。把这段代码复制到其应用中的用户可能希望更新其副本。</p>", "text": "修复 PL/pgSQL 文档中的 INSTR() 示例函数（Yugo Nagata、Tom Lane） 这些函数声称与 Oracle® 兼容，但并不完全如此。特别是对负第三参数的解释有分歧：Oracle 认为负值表示目标子串可以开始出现的最后一个位置，而我们的函数把它当作目标可以结束的最后一个位置。此外，Oracle 对零或负第四参数抛出错误，而我们的函数返回零。 示例代码已被调整以更精确地匹配 Oracle 的行为。把这段代码复制到其应用中的用户可能希望更新其副本。", "title": "修复 PL/pgSQL 文档中的 INSTR() 示例函数", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.3.21/#id-1.11.6.9.5", "source_hash": "bb98c8dab7afd9a70dcc6ab2ecaa3069abbd7c7158b59b071b436bc1d41789f7", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix sample INSTR() functions in the PL/pgSQL documentation (Yugo Nagata, Tom Lane) These functions are stated to be Oracle compatible, but they weren't exactly. In particular, there was a discrepancy in the interpretation of a negative third parameter: Oracle thinks that a negative value indicates the last place where the target substring can begin, whereas our functions took it as the last place where the target can end. Also, Oracle throws an error for a zero or negative fourth parameter, whereas our functions returned zero. The sample code has been adjusted to match Oracle's behavior more precisely. Users who have copied this code into their applications may wish to update their copies.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.21/changes/012", "db_id": "074fbd98682930dbc3e7ac9e8e70373a", "patch_ids": [], "statement_hash": "de23639739a3c95ef29580cb3daca5a44562b6f62313f3abf54e2536496a9aba", "relations": [{"rule": 2, "type": "equivalent", "target": "4122a38677a7d168668c054735ce38bf", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "de23639739a3c95ef29580cb3daca5a44562b6f62313f3abf54e2536496a9aba"}}, {"rule": 2, "type": "equivalent", "target": "4deafbbde1d67134a3ba61a5633ecec4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "de23639739a3c95ef29580cb3daca5a44562b6f62313f3abf54e2536496a9aba"}}, {"rule": 2, "type": "equivalent", "target": "bb1989d6670ac970ea2dad251fc2a4f4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "de23639739a3c95ef29580cb3daca5a44562b6f62313f3abf54e2536496a9aba"}}, {"rule": 2, "type": "equivalent", "target": "f21202afc895bb07ec2a18d95aa85e98", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "de23639739a3c95ef29580cb3daca5a44562b6f62313f3abf54e2536496a9aba"}}], "version": "9.3.21", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "4deafbbde1d67134a3ba61a5633ecec4", "kind": "equivalent", "version": "10.2", "label": "10.2", "title": "修复 PL/pgSQL 文档中的示例 INSTR() 函数", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "de23639739a3c95ef29580cb3daca5a44562b6f62313f3abf54e2536496a9aba"}, "url": "/docs/compare/?release=10.2#10.2-0965230c18198c0d", "source_url": "/docs/release/10.2/#id-1.11.6.26.5"}, {"db_id": "bb1989d6670ac970ea2dad251fc2a4f4", "kind": "equivalent", "version": "9.6.7", "label": "9.6.7", "title": "修复 PL/pgSQL 文档中的 INSTR() 示例函数", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "de23639739a3c95ef29580cb3daca5a44562b6f62313f3abf54e2536496a9aba"}, "url": "/docs/compare/?release=9.6.7#9.6.7-10bc6b882e840284", "source_url": "/docs/release/9.6.7/#id-1.11.6.22.5"}, {"db_id": "4122a38677a7d168668c054735ce38bf", "kind": "equivalent", "version": "9.5.11", "label": "9.5.11", "title": "修复 PL/pgSQL 文档中的 INSTR() 示例函数", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "de23639739a3c95ef29580cb3daca5a44562b6f62313f3abf54e2536496a9aba"}, "url": "/docs/compare/?release=9.5.11#9.5.11-10bc6b882e840284", "source_url": "/docs/release/9.5.11/#id-1.11.6.19.5"}, {"db_id": "f21202afc895bb07ec2a18d95aa85e98", "kind": "equivalent", "version": "9.4.16", "label": "9.4.16", "title": "修复 PL/pgSQL 文档中的 INSTR() 示例函数", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "de23639739a3c95ef29580cb3daca5a44562b6f62313f3abf54e2536496a9aba"}, "url": "/docs/compare/?release=9.4.16#9.4.16-10bc6b882e840284", "source_url": "/docs/release/9.4.16/#id-1.11.6.15.5"}]}, {"id": "9.3.21-bbdffd1d51d41177", "cves": [], "html": "<p>修复 <span>pg_dump</span> 使 ACL（权限）、注释和安全标签条目在归档输出格式中可靠可识别（Tom Lane）</p>\n<p>ACL 归档条目的<span>“<span>标记</span>”</span>部分通常只是相关对象的名称。使它以对象类型开头，使 ACL 与注释和安全标签归档条目已使用的约定一致。同时修复整个数据库的注释和安全标签条目（如果存在），使其标记以 <code>DATABASE</code> 开头，从而也遵循这一约定。这防止试图通过查看标记是否以 <code>LARGE OBJECT</code> 开头来识别大对象相关条目的代码发生假匹配。那可能导致条目被错误分类为数据而非模式，在仅模式或仅数据转储中产生不希望的结果。</p>\n<p>注意，这一更改在 <code>pg_restore --list</code> 的输出中有用户可见的结果。</p>", "text": "修复 pg_dump 使 ACL（权限）、注释和安全标签条目在归档输出格式中可靠可识别（Tom Lane） ACL 归档条目的“标记”部分通常只是相关对象的名称。使它以对象类型开头，使 ACL 与注释和安全标签归档条目已使用的约定一致。同时修复整个数据库的注释和安全标签条目（如果存在），使其标记以 DATABASE 开头，从而也遵循这一约定。这防止试图通过查看标记是否以 LARGE OBJECT 开头来识别大对象相关条目的代码发生假匹配。那可能导致条目被错误分类为数据而非模式，在仅模式或仅数据转储中产生不希望的结果。 注意，这一更改在 pg_restore --list 的输出中有用户可见的结果。", "title": "修复 pg_dump 使 ACL（权限）、注释和安全标签条目在归档输出格式中可靠可识别", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.3.21/#id-1.11.6.9.5", "source_hash": "5f63c24c21e64f67c5613c4b6beeeab02124e75920f3b4131215884e6ff67966", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix pg_dump to make ACL (permissions), comment, and security label entries reliably identifiable in archive output formats (Tom Lane) The tag portion of an ACL archive entry was usually just the name of the associated object. Make it start with the object type instead, bringing ACLs into line with the convention already used for comment and security label archive entries. Also, fix the comment and security label entries for the whole database, if present, to make their tags start with DATABASE so that they also follow this convention. This prevents false matches in code that tries to identify large-object-related entries by seeing if the tag starts with LARGE OBJECT. That could have resulted in misclassifying entries as data rather than schema, with undesirable results in a schema-only or data-only dump. Note that this change has user-visible results in the output of pg_restore --list.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.21/changes/013", "db_id": "f35413a1afcd2620afa667bd34efb3af", "patch_ids": [], "statement_hash": "208a1a037b4317c83088494c3af0cafb5ec6a9a8911bd2f31dce7ca085cc4acc", "relations": [{"rule": 2, "type": "equivalent", "target": "0ca9e270193416cad270eafba608b5f8", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "208a1a037b4317c83088494c3af0cafb5ec6a9a8911bd2f31dce7ca085cc4acc"}}, {"rule": 2, "type": "equivalent", "target": "3b1f9393e931bb132457f7b3910110ac", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "208a1a037b4317c83088494c3af0cafb5ec6a9a8911bd2f31dce7ca085cc4acc"}}, {"rule": 2, "type": "equivalent", "target": "81373cee02430fe4af2cf207aa51dde5", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "208a1a037b4317c83088494c3af0cafb5ec6a9a8911bd2f31dce7ca085cc4acc"}}, {"rule": 2, "type": "equivalent", "target": "f7bf3dce4ce6e4a65a97b8e49bdff2f7", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "208a1a037b4317c83088494c3af0cafb5ec6a9a8911bd2f31dce7ca085cc4acc"}}], "version": "9.3.21", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "3b1f9393e931bb132457f7b3910110ac", "kind": "equivalent", "version": "10.2", "label": "10.2", "title": "修复 pg_dump，使归档输出格式中的 ACL（权限）、注释和安全标签条目能够被可靠识别", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "208a1a037b4317c83088494c3af0cafb5ec6a9a8911bd2f31dce7ca085cc4acc"}, "url": "/docs/compare/?release=10.2#10.2-df145085c9ee1131", "source_url": "/docs/release/10.2/#id-1.11.6.26.5"}, {"db_id": "f7bf3dce4ce6e4a65a97b8e49bdff2f7", "kind": "equivalent", "version": "9.6.7", "label": "9.6.7", "title": "修复 pg_dump 使 ACL（权限）、注释和安全标签条目在归档输出格式中可靠可识别", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "208a1a037b4317c83088494c3af0cafb5ec6a9a8911bd2f31dce7ca085cc4acc"}, "url": "/docs/compare/?release=9.6.7#9.6.7-bbdffd1d51d41177", "source_url": "/docs/release/9.6.7/#id-1.11.6.22.5"}, {"db_id": "0ca9e270193416cad270eafba608b5f8", "kind": "equivalent", "version": "9.5.11", "label": "9.5.11", "title": "修复 pg_dump 使 ACL（权限）、注释和安全标签条目在归档输出格式中可靠可识别", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "208a1a037b4317c83088494c3af0cafb5ec6a9a8911bd2f31dce7ca085cc4acc"}, "url": "/docs/compare/?release=9.5.11#9.5.11-bbdffd1d51d41177", "source_url": "/docs/release/9.5.11/#id-1.11.6.19.5"}, {"db_id": "81373cee02430fe4af2cf207aa51dde5", "kind": "equivalent", "version": "9.4.16", "label": "9.4.16", "title": "修复 pg_dump 使 ACL（权限）、注释和安全标签条目在归档输出格式中可靠可识别", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "208a1a037b4317c83088494c3af0cafb5ec6a9a8911bd2f31dce7ca085cc4acc"}, "url": "/docs/compare/?release=9.4.16#9.4.16-bbdffd1d51d41177", "source_url": "/docs/release/9.4.16/#id-1.11.6.15.5"}]}, {"id": "9.3.21-56321fffb2cf063c", "cves": [], "html": "<p>在 <span>ecpg</span> 中，检测长度不正确的指示符数组并报错（David Rader）</p>", "text": "在 ecpg 中，检测长度不正确的指示符数组并报错（David Rader）", "title": "在 ecpg 中，检测长度不正确的指示符数组并报错", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.3.21/#id-1.11.6.9.5", "source_hash": "e917bd7fe303afbf67e7b7281e4d1696c885c40b4091a2694b25e2b859c03012", "section_path": ["变更"], "commit_groups": [], "identity_text": "In ecpg, detect indicator arrays that do not have the correct length and report an error (David Rader)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.21/changes/014", "db_id": "30fd542104a3cc71e9b017949639401e", "patch_ids": [], "statement_hash": "ed91a447df7c2fcd805aae2a9f8790c8bef46440b9d8232781dfb58a4b2f8867", "relations": [{"rule": 2, "type": "equivalent", "target": "23ebd41798b308ffaef0b9ec76885108", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ed91a447df7c2fcd805aae2a9f8790c8bef46440b9d8232781dfb58a4b2f8867"}}, {"rule": 2, "type": "equivalent", "target": "2bcc6c70c126ca045982a7568dd1c2a0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ed91a447df7c2fcd805aae2a9f8790c8bef46440b9d8232781dfb58a4b2f8867"}}, {"rule": 2, "type": "equivalent", "target": "bc90c3b158d533f1785a76400861ddf8", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ed91a447df7c2fcd805aae2a9f8790c8bef46440b9d8232781dfb58a4b2f8867"}}, {"rule": 2, "type": "equivalent", "target": "ed00656fc4d0e1c664f2d46f7e9fdb9e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ed91a447df7c2fcd805aae2a9f8790c8bef46440b9d8232781dfb58a4b2f8867"}}], "version": "9.3.21", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "23ebd41798b308ffaef0b9ec76885108", "kind": "equivalent", "version": "10.2", "label": "10.2", "title": "在 ecpg 中检测长度不正确的指示器数组并报告错误", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ed91a447df7c2fcd805aae2a9f8790c8bef46440b9d8232781dfb58a4b2f8867"}, "url": "/docs/compare/?release=10.2#10.2-582b4dd4528f6d14", "source_url": "/docs/release/10.2/#id-1.11.6.26.5"}, {"db_id": "bc90c3b158d533f1785a76400861ddf8", "kind": "equivalent", "version": "9.6.7", "label": "9.6.7", "title": "在 ecpg 中，检测长度不正确的指示符数组并报错", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ed91a447df7c2fcd805aae2a9f8790c8bef46440b9d8232781dfb58a4b2f8867"}, "url": "/docs/compare/?release=9.6.7#9.6.7-56321fffb2cf063c", "source_url": "/docs/release/9.6.7/#id-1.11.6.22.5"}, {"db_id": "ed00656fc4d0e1c664f2d46f7e9fdb9e", "kind": "equivalent", "version": "9.5.11", "label": "9.5.11", "title": "在 ecpg 中，检测长度不正确的指示符数组并报错", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ed91a447df7c2fcd805aae2a9f8790c8bef46440b9d8232781dfb58a4b2f8867"}, "url": "/docs/compare/?release=9.5.11#9.5.11-56321fffb2cf063c", "source_url": "/docs/release/9.5.11/#id-1.11.6.19.5"}, {"db_id": "2bcc6c70c126ca045982a7568dd1c2a0", "kind": "equivalent", "version": "9.4.16", "label": "9.4.16", "title": "在 ecpg 中，检测长度不正确的指示符数组并报错", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ed91a447df7c2fcd805aae2a9f8790c8bef46440b9d8232781dfb58a4b2f8867"}, "url": "/docs/compare/?release=9.4.16#9.4.16-56321fffb2cf063c", "source_url": "/docs/release/9.4.16/#id-1.11.6.15.5"}]}, {"id": "9.3.21-28176ee2b29ae77d", "cves": [], "html": "<p>避免 <code>contrib/hstore</code> 中因对相同源和目标指针使用 <code>memcpy()</code> 而触发 libc 断言（Tomas Vondra）</p>", "text": "避免 contrib/hstore 中因对相同源和目标指针使用 memcpy() 而触发 libc 断言（Tomas Vondra）", "title": "避免 contrib/hstore 中因对相同源和目标指针使用 memcpy() 而触发 libc 断言", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.3.21/#id-1.11.6.9.5", "source_hash": "c07c74b6e93ba4c7b7491cfda10f2f8a916a197f2293510199127ad5eecf54a2", "section_path": ["变更"], "commit_groups": [], "identity_text": "Avoid triggering a libc assertion in contrib/hstore, due to use of memcpy() with equal source and destination pointers (Tomas Vondra)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.21/changes/015", "db_id": "d68235d9ea6153b9d5bc746fb9791109", "patch_ids": [], "statement_hash": "29789468601050b00a6e506d7e56051e705a1b5a2a3b8bcb2eb52d17d32f636c", "relations": [{"rule": 2, "type": "equivalent", "target": "068ae2b3cbc44395747b26db4b128abe", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "29789468601050b00a6e506d7e56051e705a1b5a2a3b8bcb2eb52d17d32f636c"}}, {"rule": 2, "type": "equivalent", "target": "13456404b4843af4eaef72200207a161", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "29789468601050b00a6e506d7e56051e705a1b5a2a3b8bcb2eb52d17d32f636c"}}, {"rule": 2, "type": "equivalent", "target": "3bb0cb2aa359ceb514aa7d79f835ee81", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "29789468601050b00a6e506d7e56051e705a1b5a2a3b8bcb2eb52d17d32f636c"}}, {"rule": 2, "type": "equivalent", "target": "e4436dc9c2b9e496bac1a86048edd39b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "29789468601050b00a6e506d7e56051e705a1b5a2a3b8bcb2eb52d17d32f636c"}}], "version": "9.3.21", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "13456404b4843af4eaef72200207a161", "kind": "equivalent", "version": "10.2", "label": "10.2", "title": "避免 contrib/hstore 使用源指针与目标指针相同的 memcpy() 调用而触发 libc 断言", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "29789468601050b00a6e506d7e56051e705a1b5a2a3b8bcb2eb52d17d32f636c"}, "url": "/docs/compare/?release=10.2#10.2-11f49ed08e3f0038", "source_url": "/docs/release/10.2/#id-1.11.6.26.5"}, {"db_id": "068ae2b3cbc44395747b26db4b128abe", "kind": "equivalent", "version": "9.6.7", "label": "9.6.7", "title": "避免 contrib/hstore 中因对相同源和目标指针使用 memcpy() 而触发 libc 断言", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "29789468601050b00a6e506d7e56051e705a1b5a2a3b8bcb2eb52d17d32f636c"}, "url": "/docs/compare/?release=9.6.7#9.6.7-28176ee2b29ae77d", "source_url": "/docs/release/9.6.7/#id-1.11.6.22.5"}, {"db_id": "3bb0cb2aa359ceb514aa7d79f835ee81", "kind": "equivalent", "version": "9.5.11", "label": "9.5.11", "title": "避免 contrib/hstore 中因对相同源和目标指针使用 memcpy() 而触发 libc 断言", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "29789468601050b00a6e506d7e56051e705a1b5a2a3b8bcb2eb52d17d32f636c"}, "url": "/docs/compare/?release=9.5.11#9.5.11-28176ee2b29ae77d", "source_url": "/docs/release/9.5.11/#id-1.11.6.19.5"}, {"db_id": "e4436dc9c2b9e496bac1a86048edd39b", "kind": "equivalent", "version": "9.4.16", "label": "9.4.16", "title": "避免 contrib/hstore 中因对相同源和目标指针使用 memcpy() 而触发 libc 断言", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "29789468601050b00a6e506d7e56051e705a1b5a2a3b8bcb2eb52d17d32f636c"}, "url": "/docs/compare/?release=9.4.16#9.4.16-28176ee2b29ae77d", "source_url": "/docs/release/9.4.16/#id-1.11.6.15.5"}]}, {"id": "9.3.21-46a1c69d76bee770", "cves": [], "html": "<p>提供在 macOS 上自动启动 Postgres 的现代示例（Tom Lane）</p>\n<p><code>contrib/start-scripts/osx</code> 中的脚本使用已被弃用十多年的基础设施，并且在过去几年的 macOS 版本中已完全不能工作。添加了包含使用较新 <span>launchd</span> 基础设施的脚本的新子目录 <code>contrib/start-scripts/macos</code>。</p>", "text": "提供在 macOS 上自动启动 Postgres 的现代示例（Tom Lane） contrib/start-scripts/osx 中的脚本使用已被弃用十多年的基础设施，并且在过去几年的 macOS 版本中已完全不能工作。添加了包含使用较新 launchd 基础设施的脚本的新子目录 contrib/start-scripts/macos。", "title": "提供在 macOS 上自动启动 Postgres 的现代示例", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.3.21/#id-1.11.6.9.5", "source_hash": "4bf30ef67c502cce1f2ec63e802b358ad46dedc0cbc0a6ab7f623320e9932818", "section_path": ["变更"], "commit_groups": [], "identity_text": "Provide modern examples of how to auto-start Postgres on macOS (Tom Lane) The scripts in contrib/start-scripts/osx use infrastructure that's been deprecated for over a decade, and which no longer works at all in macOS releases of the last couple of years. Add a new subdirectory contrib/start-scripts/macos containing scripts that use the newer launchd infrastructure.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.21/changes/016", "db_id": "bb7559029434b895fcfddb50d9d1ece6", "patch_ids": [], "statement_hash": "e99512b72b91312511653d4652583a17ade6b802743b3c40fcb8bfaca59d10b8", "relations": [{"rule": 2, "type": "equivalent", "target": "0fdc2e226045f15715881ba8537fe99e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e99512b72b91312511653d4652583a17ade6b802743b3c40fcb8bfaca59d10b8"}}, {"rule": 2, "type": "equivalent", "target": "24dc5e73850a35319c0666b533a1aa3a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e99512b72b91312511653d4652583a17ade6b802743b3c40fcb8bfaca59d10b8"}}, {"rule": 2, "type": "equivalent", "target": "a157895cacd9516d8a3e9d6a31ee8b63", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e99512b72b91312511653d4652583a17ade6b802743b3c40fcb8bfaca59d10b8"}}, {"rule": 2, "type": "equivalent", "target": "f05d3a9513c452c22d1e9a2c91061922", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e99512b72b91312511653d4652583a17ade6b802743b3c40fcb8bfaca59d10b8"}}], "version": "9.3.21", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "0fdc2e226045f15715881ba8537fe99e", "kind": "equivalent", "version": "10.2", "label": "10.2", "title": "提供在 macOS 上自动启动 Postgres 的新式示例", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e99512b72b91312511653d4652583a17ade6b802743b3c40fcb8bfaca59d10b8"}, "url": "/docs/compare/?release=10.2#10.2-7faa20fe42e341cf", "source_url": "/docs/release/10.2/#id-1.11.6.26.5"}, {"db_id": "24dc5e73850a35319c0666b533a1aa3a", "kind": "equivalent", "version": "9.6.7", "label": "9.6.7", "title": "提供在 macOS 上自动启动 Postgres 的现代示例", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e99512b72b91312511653d4652583a17ade6b802743b3c40fcb8bfaca59d10b8"}, "url": "/docs/compare/?release=9.6.7#9.6.7-46a1c69d76bee770", "source_url": "/docs/release/9.6.7/#id-1.11.6.22.5"}, {"db_id": "f05d3a9513c452c22d1e9a2c91061922", "kind": "equivalent", "version": "9.5.11", "label": "9.5.11", "title": "提供在 macOS 上自动启动 Postgres 的现代示例", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e99512b72b91312511653d4652583a17ade6b802743b3c40fcb8bfaca59d10b8"}, "url": "/docs/compare/?release=9.5.11#9.5.11-46a1c69d76bee770", "source_url": "/docs/release/9.5.11/#id-1.11.6.19.5"}, {"db_id": "a157895cacd9516d8a3e9d6a31ee8b63", "kind": "equivalent", "version": "9.4.16", "label": "9.4.16", "title": "提供在 macOS 上自动启动 Postgres 的现代示例", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e99512b72b91312511653d4652583a17ade6b802743b3c40fcb8bfaca59d10b8"}, "url": "/docs/compare/?release=9.4.16#9.4.16-46a1c69d76bee770", "source_url": "/docs/release/9.4.16/#id-1.11.6.15.5"}]}, {"id": "9.3.21-753f99569205dc0f", "cves": [], "html": "<p>修复 Windows 上为 OpenSSL 错误选择配置特定的库（Andrew Dunstan）</p>", "text": "修复 Windows 上为 OpenSSL 错误选择配置特定的库（Andrew Dunstan）", "title": "修复 Windows 上为 OpenSSL 错误选择配置特定的库", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.3.21/#id-1.11.6.9.5", "source_hash": "91975b8135e316b95a058f972d6ee5bfcf59c0caf51c44af7a2259f4d129db7a", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix incorrect selection of configuration-specific libraries for OpenSSL on Windows (Andrew Dunstan)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.21/changes/017", "db_id": "1821ace7637e06949219db456023ab75", "patch_ids": [], "statement_hash": "1ea908d647320216739f789ef04442d13d52aa2ea310bed5173281be2efd9399", "relations": [{"rule": 2, "type": "equivalent", "target": "03fbe5da453e704a9f7b2c31d5f56b09", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1ea908d647320216739f789ef04442d13d52aa2ea310bed5173281be2efd9399"}}, {"rule": 2, "type": "equivalent", "target": "11e979639d15d29074555e35b178314a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1ea908d647320216739f789ef04442d13d52aa2ea310bed5173281be2efd9399"}}, {"rule": 2, "type": "equivalent", "target": "35c027c555fdb7b27909b2417b5e53f7", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1ea908d647320216739f789ef04442d13d52aa2ea310bed5173281be2efd9399"}}, {"rule": 2, "type": "equivalent", "target": "b6f28f745dffb36a98c91b630a747ea6", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1ea908d647320216739f789ef04442d13d52aa2ea310bed5173281be2efd9399"}}], "version": "9.3.21", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "03fbe5da453e704a9f7b2c31d5f56b09", "kind": "equivalent", "version": "10.2", "label": "10.2", "title": "修复 Windows 上 OpenSSL 特定配置库选择不正确的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1ea908d647320216739f789ef04442d13d52aa2ea310bed5173281be2efd9399"}, "url": "/docs/compare/?release=10.2#10.2-b25125f573955426", "source_url": "/docs/release/10.2/#id-1.11.6.26.5"}, {"db_id": "11e979639d15d29074555e35b178314a", "kind": "equivalent", "version": "9.6.7", "label": "9.6.7", "title": "修复 Windows 上为 OpenSSL 错误选择配置特定的库", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1ea908d647320216739f789ef04442d13d52aa2ea310bed5173281be2efd9399"}, "url": "/docs/compare/?release=9.6.7#9.6.7-753f99569205dc0f", "source_url": "/docs/release/9.6.7/#id-1.11.6.22.5"}, {"db_id": "35c027c555fdb7b27909b2417b5e53f7", "kind": "equivalent", "version": "9.5.11", "label": "9.5.11", "title": "修复 Windows 上为 OpenSSL 错误选择配置特定的库", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1ea908d647320216739f789ef04442d13d52aa2ea310bed5173281be2efd9399"}, "url": "/docs/compare/?release=9.5.11#9.5.11-753f99569205dc0f", "source_url": "/docs/release/9.5.11/#id-1.11.6.19.5"}, {"db_id": "b6f28f745dffb36a98c91b630a747ea6", "kind": "equivalent", "version": "9.4.16", "label": "9.4.16", "title": "修复 Windows 上为 OpenSSL 错误选择配置特定的库", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1ea908d647320216739f789ef04442d13d52aa2ea310bed5173281be2efd9399"}, "url": "/docs/compare/?release=9.4.16#9.4.16-753f99569205dc0f", "source_url": "/docs/release/9.4.16/#id-1.11.6.15.5"}]}, {"id": "9.3.21-d7da701af98363d5", "cves": [], "html": "<p>支持链接到 MinGW 构建的 libperl 版本（Noah Misch）</p>\n<p>这允许用一些常见的 Windows Perl 发行版构建 PL/Perl。</p>", "text": "支持链接到 MinGW 构建的 libperl 版本（Noah Misch） 这允许用一些常见的 Windows Perl 发行版构建 PL/Perl。", "title": "支持链接到 MinGW 构建的 libperl 版本", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.3.21/#id-1.11.6.9.5", "source_hash": "f9faec3d53575a886ab2c42a250402cde6332d4a5207bef51b7f173c048fc8b6", "section_path": ["变更"], "commit_groups": [], "identity_text": "Support linking to MinGW-built versions of libperl (Noah Misch) This allows building PL/Perl with some common Perl distributions for Windows.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.21/changes/018", "db_id": "27c3ee1b4261beeaa64885e79865a075", "patch_ids": [], "statement_hash": "214e3ac903ee3de3b960092db729643de8ac6fbd795d40971fddd79038f8bc92", "relations": [{"rule": 2, "type": "equivalent", "target": "039685f6945228e7540d88a1d1dae4c3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "214e3ac903ee3de3b960092db729643de8ac6fbd795d40971fddd79038f8bc92"}}, {"rule": 2, "type": "equivalent", "target": "049293f62d03819db6748a8f3a024190", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "214e3ac903ee3de3b960092db729643de8ac6fbd795d40971fddd79038f8bc92"}}, {"rule": 2, "type": "equivalent", "target": "227e18bb740b98a43e3c0590d886e950", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "214e3ac903ee3de3b960092db729643de8ac6fbd795d40971fddd79038f8bc92"}}, {"rule": 2, "type": "equivalent", "target": "7fbe36a96fb9befdcfc79ef52fa232c8", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "214e3ac903ee3de3b960092db729643de8ac6fbd795d40971fddd79038f8bc92"}}], "version": "9.3.21", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "227e18bb740b98a43e3c0590d886e950", "kind": "equivalent", "version": "10.2", "label": "10.2", "title": "支持链接到使用 MinGW 构建的 libperl 版本", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "214e3ac903ee3de3b960092db729643de8ac6fbd795d40971fddd79038f8bc92"}, "url": "/docs/compare/?release=10.2#10.2-4df2e1da054d8867", "source_url": "/docs/release/10.2/#id-1.11.6.26.5"}, {"db_id": "7fbe36a96fb9befdcfc79ef52fa232c8", "kind": "equivalent", "version": "9.6.7", "label": "9.6.7", "title": "支持链接到 MinGW 构建的 libperl 版本", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "214e3ac903ee3de3b960092db729643de8ac6fbd795d40971fddd79038f8bc92"}, "url": "/docs/compare/?release=9.6.7#9.6.7-d7da701af98363d5", "source_url": "/docs/release/9.6.7/#id-1.11.6.22.5"}, {"db_id": "049293f62d03819db6748a8f3a024190", "kind": "equivalent", "version": "9.5.11", "label": "9.5.11", "title": "支持链接到 MinGW 构建的 libperl 版本", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "214e3ac903ee3de3b960092db729643de8ac6fbd795d40971fddd79038f8bc92"}, "url": "/docs/compare/?release=9.5.11#9.5.11-d7da701af98363d5", "source_url": "/docs/release/9.5.11/#id-1.11.6.19.5"}, {"db_id": "039685f6945228e7540d88a1d1dae4c3", "kind": "equivalent", "version": "9.4.16", "label": "9.4.16", "title": "支持链接到 MinGW 构建的 libperl 版本", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "214e3ac903ee3de3b960092db729643de8ac6fbd795d40971fddd79038f8bc92"}, "url": "/docs/compare/?release=9.4.16#9.4.16-d7da701af98363d5", "source_url": "/docs/release/9.4.16/#id-1.11.6.15.5"}]}, {"id": "9.3.21-d07f5a0bbe4513a3", "cves": [], "html": "<p>修复 MSVC 构建测试 32 位 libperl 是否需要 <code>-D_USE_32BIT_TIME_T</code>（Noah Misch）</p>\n<p>可用的 Perl 发行版在这点上不一致，且没有报告它的可靠手段，因此求助于对所使用的库实际行为的构建时测试。</p>", "text": "修复 MSVC 构建测试 32 位 libperl 是否需要 -D_USE_32BIT_TIME_T（Noah Misch） 可用的 Perl 发行版在这点上不一致，且没有报告它的可靠手段，因此求助于对所使用的库实际行为的构建时测试。", "title": "修复 MSVC 构建测试 32 位 libperl 是否需要 -D_USE_32BIT_TIME_T", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.3.21/#id-1.11.6.9.5", "source_hash": "02431a2bcbc5c56e281b3e121553e71733c5f4fb6318ca0f196d651cea4e44ad", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix MSVC build to test whether 32-bit libperl needs -D_USE_32BIT_TIME_T (Noah Misch) Available Perl distributions are inconsistent about what they expect, and lack any reliable means of reporting it, so resort to a build-time test on what the library being used actually does.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.21/changes/019", "db_id": "f4b0040686d69756f3ebb2c84af1d349", "patch_ids": [], "statement_hash": "0144077964ae151b8e72c535635da4e71ec263df554af7bd8f8ce7339fa45327", "relations": [{"rule": 2, "type": "equivalent", "target": "1a22595b7cd68b734f8a5a7551f89247", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0144077964ae151b8e72c535635da4e71ec263df554af7bd8f8ce7339fa45327"}}, {"rule": 2, "type": "equivalent", "target": "28df853935fd6bd79efc4f4325c6c920", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0144077964ae151b8e72c535635da4e71ec263df554af7bd8f8ce7339fa45327"}}, {"rule": 2, "type": "equivalent", "target": "4f10b5d5ac6eea55b9df82af9a09d0e7", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0144077964ae151b8e72c535635da4e71ec263df554af7bd8f8ce7339fa45327"}}, {"rule": 2, "type": "equivalent", "target": "9036a968392bb422875a906ff6485fee", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0144077964ae151b8e72c535635da4e71ec263df554af7bd8f8ce7339fa45327"}}], "version": "9.3.21", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "4f10b5d5ac6eea55b9df82af9a09d0e7", "kind": "equivalent", "version": "10.2", "label": "10.2", "title": "修复 MSVC 构建，测试 32 位 libperl 是否需要 -D_USE_32BIT_TIME_T", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0144077964ae151b8e72c535635da4e71ec263df554af7bd8f8ce7339fa45327"}, "url": "/docs/compare/?release=10.2#10.2-904cfc565d6f8982", "source_url": "/docs/release/10.2/#id-1.11.6.26.5"}, {"db_id": "1a22595b7cd68b734f8a5a7551f89247", "kind": "equivalent", "version": "9.6.7", "label": "9.6.7", "title": "修复 MSVC 构建测试 32 位 libperl 是否需要 -D_USE_32BIT_TIME_T", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0144077964ae151b8e72c535635da4e71ec263df554af7bd8f8ce7339fa45327"}, "url": "/docs/compare/?release=9.6.7#9.6.7-d07f5a0bbe4513a3", "source_url": "/docs/release/9.6.7/#id-1.11.6.22.5"}, {"db_id": "9036a968392bb422875a906ff6485fee", "kind": "equivalent", "version": "9.5.11", "label": "9.5.11", "title": "修复 MSVC 构建测试 32 位 libperl 是否需要 -D_USE_32BIT_TIME_T", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0144077964ae151b8e72c535635da4e71ec263df554af7bd8f8ce7339fa45327"}, "url": "/docs/compare/?release=9.5.11#9.5.11-d07f5a0bbe4513a3", "source_url": "/docs/release/9.5.11/#id-1.11.6.19.5"}, {"db_id": "28df853935fd6bd79efc4f4325c6c920", "kind": "equivalent", "version": "9.4.16", "label": "9.4.16", "title": "修复 MSVC 构建测试 32 位 libperl 是否需要 -D_USE_32BIT_TIME_T", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0144077964ae151b8e72c535635da4e71ec263df554af7bd8f8ce7339fa45327"}, "url": "/docs/compare/?release=9.4.16#9.4.16-d07f5a0bbe4513a3", "source_url": "/docs/release/9.4.16/#id-1.11.6.15.5"}]}, {"id": "9.3.21-e11937edc11472ae", "cves": [], "html": "<p>在 Windows 上，在 postmaster 启动更早阶段安装崩溃转储处理器（Takayuki Tsunakawa）</p>\n<p>这可以允许为一些以前不产生转储的早期启动失败收集核心转储。</p>", "text": "在 Windows 上，在 postmaster 启动更早阶段安装崩溃转储处理器（Takayuki Tsunakawa） 这可以允许为一些以前不产生转储的早期启动失败收集核心转储。", "title": "在 Windows 上，在 postmaster 启动更早阶段安装崩溃转储处理器", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.3.21/#id-1.11.6.9.5", "source_hash": "ce105f3523581cbd2f792b698f8af1cfa3729182b3a38f3161d31b5acc76aca3", "section_path": ["变更"], "commit_groups": [], "identity_text": "On Windows, install the crash dump handler earlier in postmaster startup (Takayuki Tsunakawa) This may allow collection of a core dump for some early-startup failures that did not produce a dump before.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.21/changes/020", "db_id": "0f385e3a2a82eed547dcc4fabbcf8d25", "patch_ids": [], "statement_hash": "9d690b43ddeaf0923b8a4df4179413defe61d92e6f3553f0a0d216ff5bb49823", "relations": [{"rule": 2, "type": "equivalent", "target": "001d2b44e15d4d920614bd624a7b8300", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9d690b43ddeaf0923b8a4df4179413defe61d92e6f3553f0a0d216ff5bb49823"}}, {"rule": 2, "type": "equivalent", "target": "65514a44c9c68979d1f15a1eba134f81", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9d690b43ddeaf0923b8a4df4179413defe61d92e6f3553f0a0d216ff5bb49823"}}, {"rule": 2, "type": "equivalent", "target": "adff4c7ba3dce256d567d3d96ba5193a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9d690b43ddeaf0923b8a4df4179413defe61d92e6f3553f0a0d216ff5bb49823"}}, {"rule": 2, "type": "equivalent", "target": "b52e37a6f1f6b19e88494b484af71ed9", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9d690b43ddeaf0923b8a4df4179413defe61d92e6f3553f0a0d216ff5bb49823"}}], "version": "9.3.21", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "001d2b44e15d4d920614bd624a7b8300", "kind": "equivalent", "version": "10.2", "label": "10.2", "title": "在 Windows 上，在 postmaster 启动期间更早安装崩溃转储处理程序", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9d690b43ddeaf0923b8a4df4179413defe61d92e6f3553f0a0d216ff5bb49823"}, "url": "/docs/compare/?release=10.2#10.2-e678f47afd2a17a1", "source_url": "/docs/release/10.2/#id-1.11.6.26.5"}, {"db_id": "adff4c7ba3dce256d567d3d96ba5193a", "kind": "equivalent", "version": "9.6.7", "label": "9.6.7", "title": "在 Windows 上，在 postmaster 启动更早阶段安装崩溃转储处理器", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9d690b43ddeaf0923b8a4df4179413defe61d92e6f3553f0a0d216ff5bb49823"}, "url": "/docs/compare/?release=9.6.7#9.6.7-e11937edc11472ae", "source_url": "/docs/release/9.6.7/#id-1.11.6.22.5"}, {"db_id": "b52e37a6f1f6b19e88494b484af71ed9", "kind": "equivalent", "version": "9.5.11", "label": "9.5.11", "title": "在 Windows 上，在 postmaster 启动更早阶段安装崩溃转储处理器", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9d690b43ddeaf0923b8a4df4179413defe61d92e6f3553f0a0d216ff5bb49823"}, "url": "/docs/compare/?release=9.5.11#9.5.11-e11937edc11472ae", "source_url": "/docs/release/9.5.11/#id-1.11.6.19.5"}, {"db_id": "65514a44c9c68979d1f15a1eba134f81", "kind": "equivalent", "version": "9.4.16", "label": "9.4.16", "title": "在 Windows 上，在 postmaster 启动更早阶段安装崩溃转储处理器", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9d690b43ddeaf0923b8a4df4179413defe61d92e6f3553f0a0d216ff5bb49823"}, "url": "/docs/compare/?release=9.4.16#9.4.16-e11937edc11472ae", "source_url": "/docs/release/9.4.16/#id-1.11.6.15.5"}]}, {"id": "9.3.21-3f30c1aaf733e938", "cves": [], "html": "<p>在 Windows 上，避免 postmaster 启动极早期发出消息时与编码转换相关的崩溃（Takayuki Tsunakawa）</p>", "text": "在 Windows 上，避免 postmaster 启动极早期发出消息时与编码转换相关的崩溃（Takayuki Tsunakawa）", "title": "在 Windows 上，避免 postmaster 启动极早期发出消息时与编码转换相关的崩溃", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.3.21/#id-1.11.6.9.5", "source_hash": "3febb714b92e36f6c9ed4feaeced8a12f0e74783d3f1a0809f930d4d05f4f883", "section_path": ["变更"], "commit_groups": [], "identity_text": "On Windows, avoid encoding-conversion-related crashes when emitting messages very early in postmaster startup (Takayuki Tsunakawa)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.21/changes/021", "db_id": "f1804d79b68ca97f970ea754ca5a5e38", "patch_ids": [], "statement_hash": "190592ac5ae8f15ffceec4270edb7e145088448fa4d1c40af56ebf90d5745e89", "relations": [{"rule": 2, "type": "equivalent", "target": "2649af25929b0e8b46307c46840fa986", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "190592ac5ae8f15ffceec4270edb7e145088448fa4d1c40af56ebf90d5745e89"}}, {"rule": 2, "type": "equivalent", "target": "3acbfa7fb5bd1041b24a68cd293fd1fe", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "190592ac5ae8f15ffceec4270edb7e145088448fa4d1c40af56ebf90d5745e89"}}, {"rule": 2, "type": "equivalent", "target": "b8c7d687fe34c827987df0ddbfd57bfc", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "190592ac5ae8f15ffceec4270edb7e145088448fa4d1c40af56ebf90d5745e89"}}, {"rule": 2, "type": "equivalent", "target": "f7f1ccca62f5a4c6b703f051f441b902", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "190592ac5ae8f15ffceec4270edb7e145088448fa4d1c40af56ebf90d5745e89"}}], "version": "9.3.21", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "2649af25929b0e8b46307c46840fa986", "kind": "equivalent", "version": "10.2", "label": "10.2", "title": "在 Windows 上，避免 postmaster 启动的极早阶段输出消息时发生与编码转换有关的崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "190592ac5ae8f15ffceec4270edb7e145088448fa4d1c40af56ebf90d5745e89"}, "url": "/docs/compare/?release=10.2#10.2-29606fd5ce0529c6", "source_url": "/docs/release/10.2/#id-1.11.6.26.5"}, {"db_id": "b8c7d687fe34c827987df0ddbfd57bfc", "kind": "equivalent", "version": "9.6.7", "label": "9.6.7", "title": "在 Windows 上，避免 postmaster 启动极早期发出消息时与编码转换相关的崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "190592ac5ae8f15ffceec4270edb7e145088448fa4d1c40af56ebf90d5745e89"}, "url": "/docs/compare/?release=9.6.7#9.6.7-3f30c1aaf733e938", "source_url": "/docs/release/9.6.7/#id-1.11.6.22.5"}, {"db_id": "3acbfa7fb5bd1041b24a68cd293fd1fe", "kind": "equivalent", "version": "9.5.11", "label": "9.5.11", "title": "在 Windows 上，避免 postmaster 启动极早期发出消息时与编码转换相关的崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "190592ac5ae8f15ffceec4270edb7e145088448fa4d1c40af56ebf90d5745e89"}, "url": "/docs/compare/?release=9.5.11#9.5.11-3f30c1aaf733e938", "source_url": "/docs/release/9.5.11/#id-1.11.6.19.5"}, {"db_id": "f7f1ccca62f5a4c6b703f051f441b902", "kind": "equivalent", "version": "9.4.16", "label": "9.4.16", "title": "在 Windows 上，避免 postmaster 启动极早期发出消息时与编码转换相关的崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "190592ac5ae8f15ffceec4270edb7e145088448fa4d1c40af56ebf90d5745e89"}, "url": "/docs/compare/?release=9.4.16#9.4.16-3f30c1aaf733e938", "source_url": "/docs/release/9.4.16/#id-1.11.6.15.5"}]}, {"id": "9.3.21-d01b38f4513b7edd", "cves": [], "html": "<p>把我们现有的 Motorola 68K 自旋锁代码也用于 OpenBSD 而不只是 NetBSD（David Carlier）</p>", "text": "把我们现有的 Motorola 68K 自旋锁代码也用于 OpenBSD 而不只是 NetBSD（David Carlier）", "title": "把我们现有的 Motorola 68K 自旋锁代码也用于 OpenBSD 而不只是 NetBSD", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.3.21/#id-1.11.6.9.5", "source_hash": "6657bb175f4ea208475c428c6020c41e61cf688b8bf34a3029eaaf52aa6c3d33", "section_path": ["变更"], "commit_groups": [], "identity_text": "Use our existing Motorola 68K spinlock code on OpenBSD as well as NetBSD (David Carlier)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.21/changes/022", "db_id": "47c8164f89a81b8d4eb4b24ddf579ad5", "patch_ids": [], "statement_hash": "c20caac556ee970db5ae07ee8c0a7b8691e4e47a807be85bc948c5c9c7997200", "relations": [{"rule": 2, "type": "equivalent", "target": "2aaebb6e760e502605973f17c8ba4806", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c20caac556ee970db5ae07ee8c0a7b8691e4e47a807be85bc948c5c9c7997200"}}, {"rule": 2, "type": "equivalent", "target": "9b9ca2ad753ce490361c99a2856541f1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c20caac556ee970db5ae07ee8c0a7b8691e4e47a807be85bc948c5c9c7997200"}}, {"rule": 2, "type": "equivalent", "target": "caaff26961c06d094ce0f189421e2ec3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c20caac556ee970db5ae07ee8c0a7b8691e4e47a807be85bc948c5c9c7997200"}}, {"rule": 2, "type": "equivalent", "target": "dae1c877f244be94962949c6c6134b4e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c20caac556ee970db5ae07ee8c0a7b8691e4e47a807be85bc948c5c9c7997200"}}], "version": "9.3.21", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "dae1c877f244be94962949c6c6134b4e", "kind": "equivalent", "version": "10.2", "label": "10.2", "title": "将现有 Motorola 68K 自旋锁代码用于 OpenBSD 和 NetBSD", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c20caac556ee970db5ae07ee8c0a7b8691e4e47a807be85bc948c5c9c7997200"}, "url": "/docs/compare/?release=10.2#10.2-91d281520dbaf037", "source_url": "/docs/release/10.2/#id-1.11.6.26.5"}, {"db_id": "2aaebb6e760e502605973f17c8ba4806", "kind": "equivalent", "version": "9.6.7", "label": "9.6.7", "title": "把我们现有的 Motorola 68K 自旋锁代码也用于 OpenBSD 而不只是 NetBSD", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c20caac556ee970db5ae07ee8c0a7b8691e4e47a807be85bc948c5c9c7997200"}, "url": "/docs/compare/?release=9.6.7#9.6.7-d01b38f4513b7edd", "source_url": "/docs/release/9.6.7/#id-1.11.6.22.5"}, {"db_id": "9b9ca2ad753ce490361c99a2856541f1", "kind": "equivalent", "version": "9.5.11", "label": "9.5.11", "title": "把我们现有的 Motorola 68K 自旋锁代码也用于 OpenBSD 而不只是 NetBSD", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c20caac556ee970db5ae07ee8c0a7b8691e4e47a807be85bc948c5c9c7997200"}, "url": "/docs/compare/?release=9.5.11#9.5.11-d01b38f4513b7edd", "source_url": "/docs/release/9.5.11/#id-1.11.6.19.5"}, {"db_id": "caaff26961c06d094ce0f189421e2ec3", "kind": "equivalent", "version": "9.4.16", "label": "9.4.16", "title": "在 OpenBSD 上也使用现有的 Motorola 68K 自旋锁代码，与 NetBSD 一样", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c20caac556ee970db5ae07ee8c0a7b8691e4e47a807be85bc948c5c9c7997200"}, "url": "/docs/compare/?release=9.4.16#9.4.16-b01cca277aa11b90", "source_url": "/docs/release/9.4.16/#id-1.11.6.15.5"}]}, {"id": "9.3.21-0440d449c8227e15", "cves": [], "html": "<p>为 Motorola 88K 添加自旋锁支持（David Carlier）</p>", "text": "为 Motorola 88K 添加自旋锁支持（David Carlier）", "title": "为 Motorola 88K 添加自旋锁支持", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.3.21/#id-1.11.6.9.5", "source_hash": "f3fd1dbc61144f8442662aafb353ae37db22211908a10b4bdba6251b73f71615", "section_path": ["变更"], "commit_groups": [], "identity_text": "Add support for spinlocks on Motorola 88K (David Carlier)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.21/changes/023", "db_id": "bfa9a28cc40a79a97ae78a5019724377", "patch_ids": [], "statement_hash": "5f134771cb25ac5515e65273a619914280b19de080ffe2ae8d9daae52a9aff0a", "relations": [{"rule": 2, "type": "equivalent", "target": "0cd70096e5dd4b175a9d088a39c8b3b3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5f134771cb25ac5515e65273a619914280b19de080ffe2ae8d9daae52a9aff0a"}}, {"rule": 2, "type": "equivalent", "target": "592b0e3550c45d12fa249c7f3a184a35", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5f134771cb25ac5515e65273a619914280b19de080ffe2ae8d9daae52a9aff0a"}}, {"rule": 2, "type": "equivalent", "target": "8e5a1db0a07f57f25b8c7ad53e78bfb3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5f134771cb25ac5515e65273a619914280b19de080ffe2ae8d9daae52a9aff0a"}}, {"rule": 2, "type": "equivalent", "target": "cc385b4c4d8fce475f44782ab00544e5", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5f134771cb25ac5515e65273a619914280b19de080ffe2ae8d9daae52a9aff0a"}}], "version": "9.3.21", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "592b0e3550c45d12fa249c7f3a184a35", "kind": "equivalent", "version": "10.2", "label": "10.2", "title": "增加对 Motorola 88K 上自旋锁的支持", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5f134771cb25ac5515e65273a619914280b19de080ffe2ae8d9daae52a9aff0a"}, "url": "/docs/compare/?release=10.2#10.2-351bcb54b8105d69", "source_url": "/docs/release/10.2/#id-1.11.6.26.5"}, {"db_id": "cc385b4c4d8fce475f44782ab00544e5", "kind": "equivalent", "version": "9.6.7", "label": "9.6.7", "title": "为 Motorola 88K 添加自旋锁支持", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5f134771cb25ac5515e65273a619914280b19de080ffe2ae8d9daae52a9aff0a"}, "url": "/docs/compare/?release=9.6.7#9.6.7-0440d449c8227e15", "source_url": "/docs/release/9.6.7/#id-1.11.6.22.5"}, {"db_id": "8e5a1db0a07f57f25b8c7ad53e78bfb3", "kind": "equivalent", "version": "9.5.11", "label": "9.5.11", "title": "为 Motorola 88K 添加自旋锁支持", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5f134771cb25ac5515e65273a619914280b19de080ffe2ae8d9daae52a9aff0a"}, "url": "/docs/compare/?release=9.5.11#9.5.11-0440d449c8227e15", "source_url": "/docs/release/9.5.11/#id-1.11.6.19.5"}, {"db_id": "0cd70096e5dd4b175a9d088a39c8b3b3", "kind": "equivalent", "version": "9.4.16", "label": "9.4.16", "title": "新增对 Motorola 88K 自旋锁的支持", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5f134771cb25ac5515e65273a619914280b19de080ffe2ae8d9daae52a9aff0a"}, "url": "/docs/compare/?release=9.4.16#9.4.16-b124e3c286a80d8b", "source_url": "/docs/release/9.4.16/#id-1.11.6.15.5"}]}, {"id": "9.3.21-9e69976827ae2bed", "cves": [], "html": "<p>更新时区数据文件到 <span>tzdata</span> 版本 2018c，涉及巴西以及圣多美和普林西比的夏令时法规变更，加上玻利维亚、日本和南苏丹的历史修正。<code>US/Pacific-New</code> 时区已被移除（它本来只是 <code>America/Los_Angeles</code> 的别名）。</p>", "text": "更新时区数据文件到 tzdata 版本 2018c，涉及巴西以及圣多美和普林西比的夏令时法规变更，加上玻利维亚、日本和南苏丹的历史修正。US/Pacific-New 时区已被移除（它本来只是 America/Los_Angeles 的别名）。", "title": "更新时区数据文件到 tzdata 版本 2018c，涉及巴西以及圣多美和普林西比的夏令时法规变更，加上玻利维亚、日本和南苏丹的历史修正。US/Pacific-New 时区已被移除（它本来只是 America/Los_Angeles 的别名）。", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.3.21/#id-1.11.6.9.5", "source_hash": "1433d781ba7b3786fac50812a2d08c464f18c515f70b422e4724a11cdd21dee5", "section_path": ["变更"], "commit_groups": [], "identity_text": "Update time zone data files to tzdata release 2018c for DST law changes in Brazil, Sao Tome and Principe, plus historical corrections for Bolivia, Japan, and South Sudan. The US/Pacific-New zone has been removed (it was only an alias for America/Los_Angeles anyway).", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.21/changes/024", "db_id": "f9d5a9c145d7ccd1631d90c6f64f72da", "patch_ids": [], "statement_hash": "a9794a54502ba2eddd355ac36658530cbf5c51ebaf339249b1dbb9b3fe754dd9", "relations": [{"rule": 2, "type": "equivalent", "target": "44697021345d02256c38845c2989b023", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a9794a54502ba2eddd355ac36658530cbf5c51ebaf339249b1dbb9b3fe754dd9"}}, {"rule": 2, "type": "equivalent", "target": "64f0bacd61bdbcb4e7b5df04e7613b9e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a9794a54502ba2eddd355ac36658530cbf5c51ebaf339249b1dbb9b3fe754dd9"}}, {"rule": 2, "type": "equivalent", "target": "685247e6871674bcf06f3eb8ac95fc7f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a9794a54502ba2eddd355ac36658530cbf5c51ebaf339249b1dbb9b3fe754dd9"}}, {"rule": 2, "type": "equivalent", "target": "96a6cd7de5daa3706770e0012b49d3e4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a9794a54502ba2eddd355ac36658530cbf5c51ebaf339249b1dbb9b3fe754dd9"}}], "version": "9.3.21", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "96a6cd7de5daa3706770e0012b49d3e4", "kind": "equivalent", "version": "10.2", "label": "10.2", "title": "将时区数据文件更新到 tzdata 2018c 版，以反映巴西、圣多美和普林西比的夏令时法规变更，并修正玻利维亚、日本和南苏丹的历史数据。已移除 US/Pacific-New 时区（它本来就只是 America/Los_Angeles 的别名）。", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a9794a54502ba2eddd355ac36658530cbf5c51ebaf339249b1dbb9b3fe754dd9"}, "url": "/docs/compare/?release=10.2#10.2-5afbe12bf27bc0d9", "source_url": "/docs/release/10.2/#id-1.11.6.26.5"}, {"db_id": "64f0bacd61bdbcb4e7b5df04e7613b9e", "kind": "equivalent", "version": "9.6.7", "label": "9.6.7", "title": "更新时区数据文件到 tzdata 版本 2018c，涉及巴西以及圣多美和普林西比的夏令时法规变更，加上玻利维亚、日本和南苏丹的历史修正。US/Pacific-New 时区已被移除（它本来只是 America/Los_Angeles 的别名）。", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a9794a54502ba2eddd355ac36658530cbf5c51ebaf339249b1dbb9b3fe754dd9"}, "url": "/docs/compare/?release=9.6.7#9.6.7-9e69976827ae2bed", "source_url": "/docs/release/9.6.7/#id-1.11.6.22.5"}, {"db_id": "44697021345d02256c38845c2989b023", "kind": "equivalent", "version": "9.5.11", "label": "9.5.11", "title": "更新时区数据文件到 tzdata 版本 2018c，涉及巴西以及圣多美和普林西比的夏令时法规变更，加上玻利维亚、日本和南苏丹的历史修正。US/Pacific-New 时区已被移除（它本来只是 America/Los_Angeles 的别名）。", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a9794a54502ba2eddd355ac36658530cbf5c51ebaf339249b1dbb9b3fe754dd9"}, "url": "/docs/compare/?release=9.5.11#9.5.11-9e69976827ae2bed", "source_url": "/docs/release/9.5.11/#id-1.11.6.19.5"}, {"db_id": "685247e6871674bcf06f3eb8ac95fc7f", "kind": "equivalent", "version": "9.4.16", "label": "9.4.16", "title": "将时区数据文件更新到tzdata发行版 2018c，以反映巴西、圣多美和普林西比的夏令时法规变更，以及玻利维亚、日本和南苏丹的历史修正。US/Pacific-New时区已被移除（它本来就只是America/Los_Angeles的别名）。", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a9794a54502ba2eddd355ac36658530cbf5c51ebaf339249b1dbb9b3fe754dd9"}, "url": "/docs/compare/?release=9.4.16#9.4.16-07b3b80c1a586529", "source_url": "/docs/release/9.4.16/#id-1.11.6.15.5"}]}]}], "stats": [{"key": "all", "label": "全部变更", "count": 24}, {"key": "feature", "label": "新功能", "count": 0}, {"key": "bugfix", "label": "BUG 修复", "count": 13}, {"key": "security", "label": "安全相关", "count": 1}, {"key": "performance", "label": "性能改进", "count": 0}, {"key": "compatibility", "label": "兼容性变化", "count": 0}, {"key": "improvement", "label": "其他改进", "count": 10}], "total": 24, "release_count": 1, "cross_major": false, "cve_count": 1, "cves": [{"id": "CVE-2018-1053", "url": "https://www.postgresql.org/support/security/CVE-2018-1053/", "fixed": {"10": "10.2", "9.3": "9.3.21", "9.4": "9.4.16", "9.5": "9.5.11", "9.6": "9.6.7"}, "score": 6.7, "title": "确保 pg_upgrade 创建的所有临时文件对其他用户不可读", "vector": "AV:L/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:H", "affected": {"10": "10", "9.3": "9.3", "9.4": "9.4", "9.5": "9.5", "9.6": "9.6"}, "component": "client", "published": {"10": "2018-02-08", "9.3": "2018-02-08", "9.4": "2018-02-08", "9.5": "2018-02-08", "9.6": "2018-02-08"}, "introduced": {}, "cvss_version": "3.0", "description_en": "", "first_published": "2018-02-08", "fixed_version": "9.3.21"}], "cve_available": true, "remaining_cves": [], "security_regressions": [], "warnings": [], "candidate_count": 24, "already_in_source_count": 0, "duplicate_count": 0, "excluded_count": 0, "exclusions": [], "source_as_of": "2026-09-26", "security_as_of": "2026-09-26"}