{"format": 1, "mode": "release", "from_release": null, "to_release": {"date": "2022-08-11", "build": "12.12", "major": "12", "minor": 12, "manual": "12", "status": "stable", "doc_git": "", "version": "12.12", "eol_date": "2024-11-21", "date_text": "2022-08-11", "supported": false, "manual_url": "/docs/12/release-12-12.html", "source_url": "/docs/release/12.12/", "entry_count": 39, "placeholder": false, "content_hash": "c8dfe5a86b6a2715be6c29ca57e850806b59dea46ba025c54cf041db00f751d7", "manual_build": "12.22", "source_as_of": "", "changes_count": 39, "doc_loaded_at": "2026-09-26T02:56:41.471523", "migration_html": "<p>对于运行 12.X 的用户，不需要执行导出/恢复。</p>\n<p>但是，如果是从早于 12.10 的版本升级，请参见<a href=\"/docs/12/release-12-10.html\" title=\"E.13. 发布版本 12.10\">第 E.13 节</a>。</p>", "compatibility_count": 0, "label": "12.12", "status_label": "历史版本", "eol": "2024-11-21", "age_days": 1511, "support_days": -678}, "groups": [{"date": "2022-08-11", "build": "12.12", "major": "12", "minor": 12, "manual": "12", "status": "stable", "doc_git": "", "version": "12.12", "eol_date": "2024-11-21", "date_text": "2022-08-11", "supported": false, "manual_url": "/docs/12/release-12-12.html", "source_url": "/docs/release/12.12/", "entry_count": 39, "placeholder": false, "content_hash": "c8dfe5a86b6a2715be6c29ca57e850806b59dea46ba025c54cf041db00f751d7", "manual_build": "12.22", "source_as_of": "", "changes_count": 39, "doc_loaded_at": "2026-09-26T02:56:41.471523", "migration_html": "<p>对于运行 12.X 的用户，不需要执行导出/恢复。</p>\n<p>但是，如果是从早于 12.10 的版本升级，请参见<a href=\"/docs/12/release-12-10.html\" title=\"E.13. 发布版本 12.10\">第 E.13 节</a>。</p>", "compatibility_count": 0, "label": "12.12", "status_label": "历史版本", "eol": "2024-11-21", "age_days": 1511, "support_days": -678, "entries": [{"id": "12.12-adff0755b5cd079c", "cves": ["CVE-2022-2625"], "html": "<p>不允许扩展脚本替换不属于该扩展的已有对象（Tom Lane）<a href=\"https://postgr.es/c/5579726bd\">§</a></p>\n<p>此更改防止扩展脚本在存在不属于该扩展的现有对象时执行 <code>CREATE OR REPLACE</code>。在相同情况下，也防止执行 <code>CREATE IF NOT EXISTS</code>。这防止了一种木马攻击形式，即恶意数据库用户可以成为扩展对象的所有者，然后修改它以危害其他用户对该对象的未来使用。作为附带的好处，它还降低了意外替换非预期对象的风险。</p>\n<p><span>PostgreSQL</span> 项目感谢 Sven Klemm 报告此问题。（CVE-2022-2625）</p>", "text": "不允许扩展脚本替换不属于该扩展的已有对象（Tom Lane）§ 此更改防止扩展脚本在存在不属于该扩展的现有对象时执行 CREATE OR REPLACE。在相同情况下，也防止执行 CREATE IF NOT EXISTS。这防止了一种木马攻击形式，即恶意数据库用户可以成为扩展对象的所有者，然后修改它以危害其他用户对该对象的未来使用。作为附带的好处，它还降低了意外替换非预期对象的风险。 PostgreSQL 项目感谢 Sven Klemm 报告此问题。（CVE-2022-2625）", "title": "不允许扩展脚本替换不属于该扩展的已有对象", "commits": ["5579726bd"], "section": "变更", "category": "security", "source_url": "/docs/release/12.12/#id-1.11.6.16.5", "source_hash": "152979580670b4d024afdead88f4087c2b1ea4a84295a1148878a0616bf9adc3", "section_path": ["变更"], "commit_groups": [["5579726bd", "5721da7e4", "5919bb5a5", "7e92f78ab", "b9b21acc7", "cc7e0feba", "f52d2fbd8"]], "identity_text": "Do not let extension scripts replace objects not already belonging to the extension (Tom Lane) This change prevents extension scripts from doing CREATE OR REPLACE if there is an existing object that does not belong to the extension. It also prevents CREATE IF NOT EXISTS in the same situation. This prevents a form of trojan-horse attack in which a hostile database user could become the owner of an extension object and then modify it to compromise future uses of the object by other users. As a side benefit, it also reduces the risk of accidentally replacing objects one did not mean to. The PostgreSQL Project thanks Sven Klemm for reporting this problem. (CVE-2022-2625)", "commit_aliases": ["5579726bd", "5721da7e4", "5919bb5a5", "7e92f78ab", "b9b21acc7", "cc7e0feba", "f52d2fbd8"], "source_commits": ["5579726bd"], "source_entry_id": "12.12/changes/001", "db_id": "c172e40466de8e721efbf40aee21831e", "patch_ids": ["5ac755dea0e0bf61092444d6a146fda2"], "statement_hash": "71d2ca220b7344a70209e20f13c75fe18a9fdf233fd64998b19c24d0f13c627f", "relations": [{"rule": 2, "type": "equivalent", "target": "1bc57e31ad8079f1fc2d7babc99cbeab", "evidence": {"same_day": true, "patch_ids": ["5ac755dea0e0bf61092444d6a146fda2"], "statement_hash": "71d2ca220b7344a70209e20f13c75fe18a9fdf233fd64998b19c24d0f13c627f"}}, {"rule": 2, "type": "equivalent", "target": "5cc72a133ee09029810fac6600d4b24c", "evidence": {"same_day": true, "patch_ids": ["5ac755dea0e0bf61092444d6a146fda2"], "statement_hash": "71d2ca220b7344a70209e20f13c75fe18a9fdf233fd64998b19c24d0f13c627f"}}, {"rule": 2, "type": "equivalent", "target": "b431c16c94c765fe7a47a48d80578e21", "evidence": {"same_day": true, "patch_ids": ["5ac755dea0e0bf61092444d6a146fda2"], "statement_hash": "71d2ca220b7344a70209e20f13c75fe18a9fdf233fd64998b19c24d0f13c627f"}}, {"rule": 2, "type": "equivalent", "target": "e5ea8ff09e47c80a81863d7cb6ceb15f", "evidence": {"same_day": true, "patch_ids": ["5ac755dea0e0bf61092444d6a146fda2"], "statement_hash": "71d2ca220b7344a70209e20f13c75fe18a9fdf233fd64998b19c24d0f13c627f"}}], "version": "12.12", "category_label": "安全相关", "also_in": [], "variants": [], "related_changes": [{"db_id": "5cc72a133ee09029810fac6600d4b24c", "kind": "equivalent", "version": "14.5", "label": "14.5", "title": "不允许扩展脚本替换不属于该扩展的已有对象", "evidence": {"same_day": true, "patch_ids": ["5ac755dea0e0bf61092444d6a146fda2"], "statement_hash": "71d2ca220b7344a70209e20f13c75fe18a9fdf233fd64998b19c24d0f13c627f"}, "url": "/docs/compare/?release=14.5#14.5-f18192a896faf696", "source_url": "/docs/release/14.5/#ZH-AUTO-RELEASE-14-SECT2-36"}, {"db_id": "b431c16c94c765fe7a47a48d80578e21", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "不允许扩展脚本替换不属于该扩展的已有对象", "evidence": {"same_day": true, "patch_ids": ["5ac755dea0e0bf61092444d6a146fda2"], "statement_hash": "71d2ca220b7344a70209e20f13c75fe18a9fdf233fd64998b19c24d0f13c627f"}, "url": "/docs/compare/?release=13.8#13.8-d7fa2ab8d0b929c9", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "e5ea8ff09e47c80a81863d7cb6ceb15f", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "不允许扩展脚本替换不属于该扩展的已有对象", "evidence": {"same_day": true, "patch_ids": ["5ac755dea0e0bf61092444d6a146fda2"], "statement_hash": "71d2ca220b7344a70209e20f13c75fe18a9fdf233fd64998b19c24d0f13c627f"}, "url": "/docs/compare/?release=11.17#11.17-bf326130ed8e047c", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "1bc57e31ad8079f1fc2d7babc99cbeab", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "不允许扩展脚本替换不属于该扩展的已有对象", "evidence": {"same_day": true, "patch_ids": ["5ac755dea0e0bf61092444d6a146fda2"], "statement_hash": "71d2ca220b7344a70209e20f13c75fe18a9fdf233fd64998b19c24d0f13c627f"}, "url": "/docs/compare/?release=10.22#10.22-bf326130ed8e047c", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "12.12-faf7fdbb3c2c55ed", "cves": [], "html": "<p>修复在备库上重放 <code>CREATE DATABASE</code> WAL 记录的问题（Kyotaro Horiguchi，Asim R Praveen，Paul Guo）<a href=\"https://postgr.es/c/6d20f8c5a\">§</a> <a href=\"https://postgr.es/c/658e5d534\">§</a> <a href=\"https://postgr.es/c/4349a7615\">§</a> <a href=\"https://postgr.es/c/782e5631e\">§</a></p>\n<p>备库在重放数据库创建 WAL 记录时可能遇到缺失的表空间目录。在此补丁之前，备库在这种情况下会恢复失败；然而，此类目录可能是合法缺失的。创建表空间（作为普通目录），然后在重放达到一致状态后检查它是否已被删除。</p>", "text": "修复在备库上重放 CREATE DATABASE WAL 记录的问题（Kyotaro Horiguchi，Asim R Praveen，Paul Guo）§ § § § 备库在重放数据库创建 WAL 记录时可能遇到缺失的表空间目录。在此补丁之前，备库在这种情况下会恢复失败；然而，此类目录可能是合法缺失的。创建表空间（作为普通目录），然后在重放达到一致状态后检查它是否已被删除。", "title": "修复在备库上重放 CREATE DATABASE WAL 记录的问题", "commits": ["4349a7615", "658e5d534", "6d20f8c5a", "782e5631e"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.12/#id-1.11.6.16.5", "source_hash": "fffe66f5da847b36d7e1386f403eae0bb2afaf8da103e90948591b87078d513e", "section_path": ["变更"], "commit_groups": [["084318c33", "5a10c262f", "6d20f8c5a", "8348413db", "9a7e26b9c", "9e4f914b5", "a3aacb7cb"], ["2eb3f167f", "3f9c20536", "4349a7615", "b76e136ce", "b998196bb", "c308003d2", "e90c4fc88"], ["4d8d85740", "59be1c942", "658e5d534", "6ffaf75a8", "798d64488", "7cfe688de", "fcd72cf29"], ["6390bc740", "6c1c9f88a", "772e6383d", "782e5631e", "8c5d9ccca", "9d5c96d9b", "ad0e08394"]], "identity_text": "Fix replay of CREATE DATABASE WAL records on standby servers (Kyotaro Horiguchi, Asim R Praveen, Paul Guo) Standby servers may encounter missing tablespace directories when replaying database-creation WAL records. Prior to this patch, a standby would fail to recover in such a case; however, such directories could be legitimately missing. Create the tablespace (as a plain directory), then check that it has been dropped again once replay reaches a consistent state.", "commit_aliases": ["084318c33", "2eb3f167f", "3f9c20536", "4349a7615", "4d8d85740", "59be1c942", "5a10c262f", "6390bc740", "658e5d534", "6c1c9f88a", "6d20f8c5a", "6ffaf75a8", "772e6383d", "782e5631e", "798d64488", "7cfe688de", "8348413db", "8c5d9ccca", "9a7e26b9c", "9d5c96d9b", "9e4f914b5", "a3aacb7cb", "ad0e08394", "b76e136ce", "b998196bb", "c308003d2", "e90c4fc88", "fcd72cf29"], "source_commits": ["4349a7615", "658e5d534", "6d20f8c5a", "782e5631e"], "source_entry_id": "12.12/changes/002", "db_id": "643224c00c9a794bf9220e700169829c", "patch_ids": ["67c24764acf117f28dd2885f53bfe7a8", "9e9b75cc37dbf306fd2682d8081334a8", "bcca38a3322d16d58b2643aa3e2a3ddc", "d2d0c00a6d60eaa9b4b72b2dbb4f4f64"], "statement_hash": "79e7818cc212e9ba7b8f2a2b662296d9e7df77137d8e728d89d02be23027f34a", "relations": [{"rule": 2, "type": "equivalent", "target": "41355a70a70310682ef92e85180635ec", "evidence": {"same_day": true, "patch_ids": ["67c24764acf117f28dd2885f53bfe7a8", "9e9b75cc37dbf306fd2682d8081334a8", "bcca38a3322d16d58b2643aa3e2a3ddc", "d2d0c00a6d60eaa9b4b72b2dbb4f4f64"], "statement_hash": "79e7818cc212e9ba7b8f2a2b662296d9e7df77137d8e728d89d02be23027f34a"}}, {"rule": 2, "type": "equivalent", "target": "9ec3497a794ad6e3797d72db3748eb70", "evidence": {"same_day": true, "patch_ids": ["67c24764acf117f28dd2885f53bfe7a8", "9e9b75cc37dbf306fd2682d8081334a8", "bcca38a3322d16d58b2643aa3e2a3ddc", "d2d0c00a6d60eaa9b4b72b2dbb4f4f64"], "statement_hash": "79e7818cc212e9ba7b8f2a2b662296d9e7df77137d8e728d89d02be23027f34a"}}, {"rule": 2, "type": "equivalent", "target": "a68c5b8e8a3c41c6a3b3d9fe35ade173", "evidence": {"same_day": true, "patch_ids": ["67c24764acf117f28dd2885f53bfe7a8", "9e9b75cc37dbf306fd2682d8081334a8", "bcca38a3322d16d58b2643aa3e2a3ddc", "d2d0c00a6d60eaa9b4b72b2dbb4f4f64"], "statement_hash": "79e7818cc212e9ba7b8f2a2b662296d9e7df77137d8e728d89d02be23027f34a"}}, {"rule": 2, "type": "equivalent", "target": "cff4a80ea9148414435ffb96229c53f1", "evidence": {"same_day": true, "patch_ids": ["67c24764acf117f28dd2885f53bfe7a8", "9e9b75cc37dbf306fd2682d8081334a8", "bcca38a3322d16d58b2643aa3e2a3ddc", "d2d0c00a6d60eaa9b4b72b2dbb4f4f64"], "statement_hash": "79e7818cc212e9ba7b8f2a2b662296d9e7df77137d8e728d89d02be23027f34a"}}], "version": "12.12", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "a68c5b8e8a3c41c6a3b3d9fe35ade173", "kind": "equivalent", "version": "14.5", "label": "14.5", "title": "修复在备库上重放 CREATE DATABASE WAL 记录的问题", "evidence": {"same_day": true, "patch_ids": ["67c24764acf117f28dd2885f53bfe7a8", "9e9b75cc37dbf306fd2682d8081334a8", "bcca38a3322d16d58b2643aa3e2a3ddc", "d2d0c00a6d60eaa9b4b72b2dbb4f4f64"], "statement_hash": "79e7818cc212e9ba7b8f2a2b662296d9e7df77137d8e728d89d02be23027f34a"}, "url": "/docs/compare/?release=14.5#14.5-f59f2e7e9b9053ca", "source_url": "/docs/release/14.5/#ZH-AUTO-RELEASE-14-SECT2-36"}, {"db_id": "9ec3497a794ad6e3797d72db3748eb70", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "修复在备库上重放 CREATE DATABASE WAL 记录的问题", "evidence": {"same_day": true, "patch_ids": ["67c24764acf117f28dd2885f53bfe7a8", "9e9b75cc37dbf306fd2682d8081334a8", "bcca38a3322d16d58b2643aa3e2a3ddc", "d2d0c00a6d60eaa9b4b72b2dbb4f4f64"], "statement_hash": "79e7818cc212e9ba7b8f2a2b662296d9e7df77137d8e728d89d02be23027f34a"}, "url": "/docs/compare/?release=13.8#13.8-2d0699645b62e662", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "cff4a80ea9148414435ffb96229c53f1", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "修复在备库上重放 CREATE DATABASE WAL 记录的问题", "evidence": {"same_day": true, "patch_ids": ["67c24764acf117f28dd2885f53bfe7a8", "9e9b75cc37dbf306fd2682d8081334a8", "bcca38a3322d16d58b2643aa3e2a3ddc", "d2d0c00a6d60eaa9b4b72b2dbb4f4f64"], "statement_hash": "79e7818cc212e9ba7b8f2a2b662296d9e7df77137d8e728d89d02be23027f34a"}, "url": "/docs/compare/?release=11.17#11.17-bb29fbeb0cde6e2f", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "41355a70a70310682ef92e85180635ec", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "修复在备库上重放 CREATE DATABASE WAL 记录的问题", "evidence": {"same_day": true, "patch_ids": ["67c24764acf117f28dd2885f53bfe7a8", "9e9b75cc37dbf306fd2682d8081334a8", "bcca38a3322d16d58b2643aa3e2a3ddc", "d2d0c00a6d60eaa9b4b72b2dbb4f4f64"], "statement_hash": "79e7818cc212e9ba7b8f2a2b662296d9e7df77137d8e728d89d02be23027f34a"}, "url": "/docs/compare/?release=10.22#10.22-bb29fbeb0cde6e2f", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "12.12-a4a829e24d2ea5a8", "cves": [], "html": "<p>支持<span>“<span>原位</span>”</span>表空间（Thomas Munro，Michael Paquier，Álvaro Herrera）<a href=\"https://postgr.es/c/ca347f543\">§</a></p>\n<p>通常，PostgreSQL 表空间是指向其他文件系统中某个目录的符号链接。此更改允许表空间直接就是一个普通目录。虽然这对将表分布到不同文件系统上没有帮助，但对测试来说是一种方便的设置。此外，为支持 <code>CREATE DATABASE</code> 的重放修复，这一能力是必需的；该修复会将缺失的表空间临时创建为<span>“<span>原位</span>”</span>表空间。</p>", "text": "支持“原位”表空间（Thomas Munro，Michael Paquier，Álvaro Herrera）§ 通常，PostgreSQL 表空间是指向其他文件系统中某个目录的符号链接。此更改允许表空间直接就是一个普通目录。虽然这对将表分布到不同文件系统上没有帮助，但对测试来说是一种方便的设置。此外，为支持 CREATE DATABASE 的重放修复，这一能力是必需的；该修复会将缺失的表空间临时创建为“原位”表空间。", "title": "支持“原位”表空间", "commits": ["ca347f543"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.12/#id-1.11.6.16.5", "source_hash": "b701fbd3dd7e3d98bb5167ecab306dbb3e1ea17036c2767d7967fd9818db01d7", "section_path": ["变更"], "commit_groups": [["16e7a8fd8", "258c89641", "7bdbbb873", "961cab0a5", "ca347f543"], ["4fc6b6eef", "5ad478c9d", "fc4e5af30"], ["6d306ab73", "9d3444dcc", "fee0165fc"]], "identity_text": "Support in place tablespaces (Thomas Munro, Michael Paquier, Álvaro Herrera) Normally a Postgres tablespace is a symbolic link to a directory on some other filesystem. This change allows it to just be a plain directory. While this has no use for separating tables onto different filesystems, it is a convenient setup for testing. Moreover, it is necessary to support the CREATE DATABASE replay fix, which transiently creates a missing tablespace as an in place tablespace.", "commit_aliases": ["16e7a8fd8", "258c89641", "4fc6b6eef", "5ad478c9d", "6d306ab73", "7bdbbb873", "961cab0a5", "9d3444dcc", "ca347f543", "fc4e5af30", "fee0165fc"], "source_commits": ["4fc6b6eef", "9d3444dcc", "ca347f543"], "source_entry_id": "12.12/changes/003", "db_id": "f54da3459be0f27a92f793d82fd341ac", "patch_ids": ["6dd2ec1c1461766b6b7b68e369b697b5", "9a47b38e6a121e4f5489db212add8cc4", "f62e645077e0c53f6b565fcab5a49ecb"], "statement_hash": "6003333a161cd84ac11c80d5f7b960fa0202762a2a8349a189c8f3e1166167fd", "relations": [{"rule": 2, "type": "equivalent", "target": "01e4b9297c3a93c90a009cf670df6c14", "evidence": {"same_day": true, "patch_ids": ["6dd2ec1c1461766b6b7b68e369b697b5", "9a47b38e6a121e4f5489db212add8cc4", "f62e645077e0c53f6b565fcab5a49ecb"], "statement_hash": "6003333a161cd84ac11c80d5f7b960fa0202762a2a8349a189c8f3e1166167fd"}}, {"rule": 2, "type": "equivalent", "target": "35f09cdfa143b4fcdaa2eef2dde2781f", "evidence": {"same_day": true, "patch_ids": ["6dd2ec1c1461766b6b7b68e369b697b5", "9a47b38e6a121e4f5489db212add8cc4", "f62e645077e0c53f6b565fcab5a49ecb"], "statement_hash": "6003333a161cd84ac11c80d5f7b960fa0202762a2a8349a189c8f3e1166167fd"}}, {"rule": 2, "type": "equivalent", "target": "911f5ce3fe13712a9399d8014d081e1e", "evidence": {"same_day": true, "patch_ids": ["6dd2ec1c1461766b6b7b68e369b697b5", "9a47b38e6a121e4f5489db212add8cc4", "f62e645077e0c53f6b565fcab5a49ecb"], "statement_hash": "6003333a161cd84ac11c80d5f7b960fa0202762a2a8349a189c8f3e1166167fd"}}, {"rule": 2, "type": "equivalent", "target": "bd3fb7ed1c2770554ef89d333d5e6b59", "evidence": {"same_day": true, "patch_ids": ["6dd2ec1c1461766b6b7b68e369b697b5", "9a47b38e6a121e4f5489db212add8cc4", "f62e645077e0c53f6b565fcab5a49ecb"], "statement_hash": "6003333a161cd84ac11c80d5f7b960fa0202762a2a8349a189c8f3e1166167fd"}}], "version": "12.12", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "bd3fb7ed1c2770554ef89d333d5e6b59", "kind": "equivalent", "version": "14.5", "label": "14.5", "title": "支持“原位”表空间", "evidence": {"same_day": true, "patch_ids": ["6dd2ec1c1461766b6b7b68e369b697b5", "9a47b38e6a121e4f5489db212add8cc4", "f62e645077e0c53f6b565fcab5a49ecb"], "statement_hash": "6003333a161cd84ac11c80d5f7b960fa0202762a2a8349a189c8f3e1166167fd"}, "url": "/docs/compare/?release=14.5#14.5-4096adfa7dd3b128", "source_url": "/docs/release/14.5/#ZH-AUTO-RELEASE-14-SECT2-36"}, {"db_id": "01e4b9297c3a93c90a009cf670df6c14", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "支持“原位”表空间", "evidence": {"same_day": true, "patch_ids": ["6dd2ec1c1461766b6b7b68e369b697b5", "9a47b38e6a121e4f5489db212add8cc4", "f62e645077e0c53f6b565fcab5a49ecb"], "statement_hash": "6003333a161cd84ac11c80d5f7b960fa0202762a2a8349a189c8f3e1166167fd"}, "url": "/docs/compare/?release=13.8#13.8-2bf1d1c636b2fed4", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "911f5ce3fe13712a9399d8014d081e1e", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "支持“原位”表空间", "evidence": {"same_day": true, "patch_ids": ["6dd2ec1c1461766b6b7b68e369b697b5", "9a47b38e6a121e4f5489db212add8cc4", "f62e645077e0c53f6b565fcab5a49ecb"], "statement_hash": "6003333a161cd84ac11c80d5f7b960fa0202762a2a8349a189c8f3e1166167fd"}, "url": "/docs/compare/?release=11.17#11.17-e7d5684f838ddb1e", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "35f09cdfa143b4fcdaa2eef2dde2781f", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "支持“原位”表空间", "evidence": {"same_day": true, "patch_ids": ["6dd2ec1c1461766b6b7b68e369b697b5", "9a47b38e6a121e4f5489db212add8cc4", "f62e645077e0c53f6b565fcab5a49ecb"], "statement_hash": "6003333a161cd84ac11c80d5f7b960fa0202762a2a8349a189c8f3e1166167fd"}, "url": "/docs/compare/?release=10.22#10.22-e7d5684f838ddb1e", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "12.12-721312cec0694544", "cves": ["CVE-2022-1552"], "html": "<p>修复 <code>CREATE INDEX</code> 中的权限检查（Nathan Bossart，Noah Misch）<a href=\"https://postgr.es/c/93731d549\">§</a></p>\n<p>CVE-2022-1552 的修复导致 <code>CREATE INDEX</code> 在查找操作符类和其他对象时应用表所有者的权限，而之前使用的是调用用户的权限。这破坏了导出/恢复场景，因为 <span>pg_dump</span> 在重新授予权限之前发出 <code>CREATE INDEX</code>。</p>", "text": "修复 CREATE INDEX 中的权限检查（Nathan Bossart，Noah Misch）§ CVE-2022-1552 的修复导致 CREATE INDEX 在查找操作符类和其他对象时应用表所有者的权限，而之前使用的是调用用户的权限。这破坏了导出/恢复场景，因为 pg_dump 在重新授予权限之前发出 CREATE INDEX。", "title": "修复 CREATE INDEX 中的权限检查", "commits": ["93731d549"], "section": "变更", "category": "security", "source_url": "/docs/release/12.12/#id-1.11.6.16.5", "source_hash": "ae7ea068c7263cbc1aaf767d488c622dc624201adae3327a90dca91b038b2d97", "section_path": ["变更"], "commit_groups": [["00377b9a0", "6d49cc286", "8782ce49e", "88b39e614", "93731d549", "ace997386"]], "identity_text": "Fix permissions checks in CREATE INDEX (Nathan Bossart, Noah Misch) The fix for CVE-2022-1552 caused CREATE INDEX to apply the table owner's permissions while performing lookups of operator classes and other objects, where formerly the calling user's permissions were used. This broke dump/restore scenarios, because pg_dump issues CREATE INDEX before re-granting permissions.", "commit_aliases": ["00377b9a0", "6d49cc286", "8782ce49e", "88b39e614", "93731d549", "ace997386"], "source_commits": ["93731d549"], "source_entry_id": "12.12/changes/004", "db_id": "0f403a44e9dcbe40ce68eed84c188100", "patch_ids": ["d042b17477385d57d11ba398ea4bfe94"], "statement_hash": "014bdd1dd28325cf621ad5d93998f204ddf5a870d07567dbb5219f4002ce98f4", "relations": [{"rule": 2, "type": "equivalent", "target": "01c721912fc27b54fd3a6b940db4ac15", "evidence": {"same_day": true, "patch_ids": ["d042b17477385d57d11ba398ea4bfe94"], "statement_hash": "014bdd1dd28325cf621ad5d93998f204ddf5a870d07567dbb5219f4002ce98f4"}}, {"rule": 2, "type": "equivalent", "target": "118ff882709c268da1c2b345cf7ce2ba", "evidence": {"same_day": true, "patch_ids": ["d042b17477385d57d11ba398ea4bfe94"], "statement_hash": "014bdd1dd28325cf621ad5d93998f204ddf5a870d07567dbb5219f4002ce98f4"}}, {"rule": 2, "type": "equivalent", "target": "527e8d3eb6107c7d3e7e8fec3119c82b", "evidence": {"same_day": true, "patch_ids": ["d042b17477385d57d11ba398ea4bfe94"], "statement_hash": "014bdd1dd28325cf621ad5d93998f204ddf5a870d07567dbb5219f4002ce98f4"}}, {"rule": 2, "type": "equivalent", "target": "7d79c462d1af3fb092a2495ab47d1373", "evidence": {"same_day": true, "patch_ids": ["d042b17477385d57d11ba398ea4bfe94"], "statement_hash": "014bdd1dd28325cf621ad5d93998f204ddf5a870d07567dbb5219f4002ce98f4"}}], "version": "12.12", "category_label": "安全相关", "also_in": [], "variants": [], "related_changes": [{"db_id": "527e8d3eb6107c7d3e7e8fec3119c82b", "kind": "equivalent", "version": "14.5", "label": "14.5", "title": "修复 CREATE INDEX 中的权限检查", "evidence": {"same_day": true, "patch_ids": ["d042b17477385d57d11ba398ea4bfe94"], "statement_hash": "014bdd1dd28325cf621ad5d93998f204ddf5a870d07567dbb5219f4002ce98f4"}, "url": "/docs/compare/?release=14.5#14.5-5abd146c9f585b45", "source_url": "/docs/release/14.5/#ZH-AUTO-RELEASE-14-SECT2-36"}, {"db_id": "01c721912fc27b54fd3a6b940db4ac15", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "修复 CREATE INDEX 中的权限检查", "evidence": {"same_day": true, "patch_ids": ["d042b17477385d57d11ba398ea4bfe94"], "statement_hash": "014bdd1dd28325cf621ad5d93998f204ddf5a870d07567dbb5219f4002ce98f4"}, "url": "/docs/compare/?release=13.8#13.8-47bf1f9c7f7a3b12", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "118ff882709c268da1c2b345cf7ce2ba", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "修复 CREATE INDEX 中的权限检查", "evidence": {"same_day": true, "patch_ids": ["d042b17477385d57d11ba398ea4bfe94"], "statement_hash": "014bdd1dd28325cf621ad5d93998f204ddf5a870d07567dbb5219f4002ce98f4"}, "url": "/docs/compare/?release=11.17#11.17-1163c89b695c334d", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "7d79c462d1af3fb092a2495ab47d1373", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "修复 CREATE INDEX 中的权限检查", "evidence": {"same_day": true, "patch_ids": ["d042b17477385d57d11ba398ea4bfe94"], "statement_hash": "014bdd1dd28325cf621ad5d93998f204ddf5a870d07567dbb5219f4002ce98f4"}, "url": "/docs/compare/?release=10.22#10.22-1163c89b695c334d", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "12.12-f92ccb5d57e77590", "cves": [], "html": "<p>在扩展查询协议中，在 <code>CREATE DATABASE</code> 和其他不能在事务块中运行的命令之后强制立即提交（Tom Lane）<a href=\"https://postgr.es/c/968b89257\">§</a></p>\n<p>如果客户端在此类命令之后没有立即发送 Sync 消息，而是发送了另一个命令，那么该命令中的任何失败都将导致回滚前面的命令，通常会在磁盘上留下不一致的状态（如缺失或多余的数据库目录）。用于防止这种情况的机制在简单查询消息中的多个命令中有效，但在一系列扩展协议消息中无效。为了防止不一致而不破坏当前可行的使用场景，在此类命令之后强制执行隐式提交。</p>", "text": "在扩展查询协议中，在 CREATE DATABASE 和其他不能在事务块中运行的命令之后强制立即提交（Tom Lane）§ 如果客户端在此类命令之后没有立即发送 Sync 消息，而是发送了另一个命令，那么该命令中的任何失败都将导致回滚前面的命令，通常会在磁盘上留下不一致的状态（如缺失或多余的数据库目录）。用于防止这种情况的机制在简单查询消息中的多个命令中有效，但在一系列扩展协议消息中无效。为了防止不一致而不破坏当前可行的使用场景，在此类命令之后强制执行隐式提交。", "title": "在扩展查询协议中，在 CREATE DATABASE 和其他不能在事务块中运行的命令之后强制立即提交", "commits": ["968b89257"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.12/#id-1.11.6.16.5", "source_hash": "371de135c00dbf61e4667505017ecf66c3282eca0eb3f7bd1ed824975b2e2fa1", "section_path": ["变更"], "commit_groups": [["3e1297a63", "6c193c2ac", "964f42aa2", "968b89257", "9e3e1ac45", "a0c632c1d", "f92944137"]], "identity_text": "In extended query protocol, force an immediate commit after CREATE DATABASE and other commands that can't run in a transaction block (Tom Lane) If the client does not send a Sync message immediately after such a command, but instead sends another command, any failure in that command would lead to rolling back the preceding command, typically leaving inconsistent state on-disk (such as a missing or extra database directory). The mechanisms intended to prevent that situation turn out to work for multiple commands in a simple-Query message, but not for a series of extended-protocol messages. To prevent inconsistency without breaking use-cases that work today, force an implicit commit after such commands.", "commit_aliases": ["3e1297a63", "6c193c2ac", "964f42aa2", "968b89257", "9e3e1ac45", "a0c632c1d", "f92944137"], "source_commits": ["968b89257"], "source_entry_id": "12.12/changes/005", "db_id": "578696be03ae87fd68253ee936f8c363", "patch_ids": ["4dac3f6876215d155f86606aa647fa4a"], "statement_hash": "314dc34edd16eebf72ddf946885d18f40d7a398a77934415fa181cb5794b8a4a", "relations": [{"rule": 2, "type": "equivalent", "target": "13b2307b207f1489a1fc214c029e4fc6", "evidence": {"same_day": true, "patch_ids": ["4dac3f6876215d155f86606aa647fa4a"], "statement_hash": "314dc34edd16eebf72ddf946885d18f40d7a398a77934415fa181cb5794b8a4a"}}, {"rule": 2, "type": "equivalent", "target": "4af3dc652b50b6978c359e74e63aadaa", "evidence": {"same_day": true, "patch_ids": ["4dac3f6876215d155f86606aa647fa4a"], "statement_hash": "314dc34edd16eebf72ddf946885d18f40d7a398a77934415fa181cb5794b8a4a"}}, {"rule": 2, "type": "equivalent", "target": "aae22367a46507293a2ab76dc07b2c3b", "evidence": {"same_day": true, "patch_ids": ["4dac3f6876215d155f86606aa647fa4a"], "statement_hash": "314dc34edd16eebf72ddf946885d18f40d7a398a77934415fa181cb5794b8a4a"}}, {"rule": 2, "type": "equivalent", "target": "ef15108a860a4a2448d9a2acbde6575f", "evidence": {"same_day": true, "patch_ids": ["4dac3f6876215d155f86606aa647fa4a"], "statement_hash": "314dc34edd16eebf72ddf946885d18f40d7a398a77934415fa181cb5794b8a4a"}}], "version": "12.12", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "aae22367a46507293a2ab76dc07b2c3b", "kind": "equivalent", "version": "14.5", "label": "14.5", "title": "在扩展查询协议中，在 CREATE DATABASE 和其他不能在事务块中运行的命令之后强制立即提交", "evidence": {"same_day": true, "patch_ids": ["4dac3f6876215d155f86606aa647fa4a"], "statement_hash": "314dc34edd16eebf72ddf946885d18f40d7a398a77934415fa181cb5794b8a4a"}, "url": "/docs/compare/?release=14.5#14.5-6299df3b2671ffd7", "source_url": "/docs/release/14.5/#ZH-AUTO-RELEASE-14-SECT2-36"}, {"db_id": "4af3dc652b50b6978c359e74e63aadaa", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "在扩展查询协议中，在 CREATE DATABASE 和其他不能在事务块中运行的命令之后强制立即提交", "evidence": {"same_day": true, "patch_ids": ["4dac3f6876215d155f86606aa647fa4a"], "statement_hash": "314dc34edd16eebf72ddf946885d18f40d7a398a77934415fa181cb5794b8a4a"}, "url": "/docs/compare/?release=13.8#13.8-2c88f5ee118337b1", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "ef15108a860a4a2448d9a2acbde6575f", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "在扩展查询协议中，在 CREATE DATABASE 和其他不能在事务块中运行的命令之后强制立即提交", "evidence": {"same_day": true, "patch_ids": ["4dac3f6876215d155f86606aa647fa4a"], "statement_hash": "314dc34edd16eebf72ddf946885d18f40d7a398a77934415fa181cb5794b8a4a"}, "url": "/docs/compare/?release=11.17#11.17-e03569ec8da47158", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "13b2307b207f1489a1fc214c029e4fc6", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "在扩展查询协议中，在 CREATE DATABASE 和其他不能在事务块中运行的命令之后强制立即提交", "evidence": {"same_day": true, "patch_ids": ["4dac3f6876215d155f86606aa647fa4a"], "statement_hash": "314dc34edd16eebf72ddf946885d18f40d7a398a77934415fa181cb5794b8a4a"}, "url": "/docs/compare/?release=10.22#10.22-e03569ec8da47158", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "12.12-7f14f41ac810e52a", "cves": [], "html": "<p>修复检查事务可见性时的竞态条件（Simon Riggs）<a href=\"https://postgr.es/c/af530898e\">§</a></p>\n<p><code>TransactionIdIsInProgress</code> 可能在目标事务被认为可见之前就报告 <code>false</code>，导致各种异常行为。竞态条件窗口通常非常窄，但使用同步复制会使其大幅扩大，因为等待同步副本的过程发生在该窗口中。</p>", "text": "修复检查事务可见性时的竞态条件（Simon Riggs）§ TransactionIdIsInProgress 可能在目标事务被认为可见之前就报告 false，导致各种异常行为。竞态条件窗口通常非常窄，但使用同步复制会使其大幅扩大，因为等待同步副本的过程发生在该窗口中。", "title": "修复检查事务可见性时的竞态条件", "commits": ["af530898e"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.12/#id-1.11.6.16.5", "source_hash": "2ebe6387d592361669d7c88d8602f292cf0cf13ac085f47168bfccaea3043624", "section_path": ["变更"], "commit_groups": [["4822b4627", "7ba325fd7", "adf6d5dfb", "af530898e", "b49889f3c", "e24615a00"]], "identity_text": "Fix race condition when checking transaction visibility (Simon Riggs) TransactionIdIsInProgress could report false before the subject transaction is considered visible, leading to various misbehaviors. The race condition window is normally very narrow, but use of synchronous replication makes it much wider, because the wait for a synchronous replica happens in that window.", "commit_aliases": ["4822b4627", "7ba325fd7", "adf6d5dfb", "af530898e", "b49889f3c", "e24615a00"], "source_commits": ["af530898e"], "source_entry_id": "12.12/changes/006", "db_id": "1651d89b440815a12c75b7db2ff9264d", "patch_ids": ["0d5b4a68c99dcdf6a13e334738808a9e"], "statement_hash": "97188b532084c9a9d8f4741e3145a023ccb2d2d6185fea5959832be097aab1b4", "relations": [{"rule": 2, "type": "equivalent", "target": "0ec6eede55a5fc0d32b068162e1014c1", "evidence": {"same_day": true, "patch_ids": ["0d5b4a68c99dcdf6a13e334738808a9e"], "statement_hash": "97188b532084c9a9d8f4741e3145a023ccb2d2d6185fea5959832be097aab1b4"}}, {"rule": 2, "type": "equivalent", "target": "2c55cc6e79fc4d352a19d3700876a00c", "evidence": {"same_day": true, "patch_ids": ["0d5b4a68c99dcdf6a13e334738808a9e"], "statement_hash": "97188b532084c9a9d8f4741e3145a023ccb2d2d6185fea5959832be097aab1b4"}}, {"rule": 2, "type": "equivalent", "target": "90e12e9509e59b75a0b573a68ea4be56", "evidence": {"same_day": true, "patch_ids": ["0d5b4a68c99dcdf6a13e334738808a9e"], "statement_hash": "97188b532084c9a9d8f4741e3145a023ccb2d2d6185fea5959832be097aab1b4"}}, {"rule": 2, "type": "equivalent", "target": "d383bf0907b08623c14847af3fe07a01", "evidence": {"same_day": true, "patch_ids": ["0d5b4a68c99dcdf6a13e334738808a9e"], "statement_hash": "97188b532084c9a9d8f4741e3145a023ccb2d2d6185fea5959832be097aab1b4"}}], "version": "12.12", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "90e12e9509e59b75a0b573a68ea4be56", "kind": "equivalent", "version": "14.5", "label": "14.5", "title": "修复检查事务可见性时的竞态条件", "evidence": {"same_day": true, "patch_ids": ["0d5b4a68c99dcdf6a13e334738808a9e"], "statement_hash": "97188b532084c9a9d8f4741e3145a023ccb2d2d6185fea5959832be097aab1b4"}, "url": "/docs/compare/?release=14.5#14.5-ffb98ecffd437e46", "source_url": "/docs/release/14.5/#ZH-AUTO-RELEASE-14-SECT2-36"}, {"db_id": "0ec6eede55a5fc0d32b068162e1014c1", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "修复检查事务可见性时的竞态条件", "evidence": {"same_day": true, "patch_ids": ["0d5b4a68c99dcdf6a13e334738808a9e"], "statement_hash": "97188b532084c9a9d8f4741e3145a023ccb2d2d6185fea5959832be097aab1b4"}, "url": "/docs/compare/?release=13.8#13.8-e5e70065393e5fc1", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "d383bf0907b08623c14847af3fe07a01", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "修复检查事务可见性时的竞态条件", "evidence": {"same_day": true, "patch_ids": ["0d5b4a68c99dcdf6a13e334738808a9e"], "statement_hash": "97188b532084c9a9d8f4741e3145a023ccb2d2d6185fea5959832be097aab1b4"}, "url": "/docs/compare/?release=11.17#11.17-de0995a53770d4f1", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "2c55cc6e79fc4d352a19d3700876a00c", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "修复检查事务可见性时的竞态条件", "evidence": {"same_day": true, "patch_ids": ["0d5b4a68c99dcdf6a13e334738808a9e"], "statement_hash": "97188b532084c9a9d8f4741e3145a023ccb2d2d6185fea5959832be097aab1b4"}, "url": "/docs/compare/?release=10.22#10.22-de0995a53770d4f1", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "12.12-77cd15dba68234b7", "cves": [], "html": "<p>修复当<span>“<span>整行变量</span>”</span>引用返回复合类型域的函数结果时的查询问题（Tom Lane）<a href=\"https://postgr.es/c/d3ef5c3ef\">§</a></p>", "text": "修复当“整行变量”引用返回复合类型域的函数结果时的查询问题（Tom Lane）§", "title": "修复当“整行变量”引用返回复合类型域的函数结果时的查询问题", "commits": ["d3ef5c3ef"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.12/#id-1.11.6.16.5", "source_hash": "5dcaa20ac40327145a8f0dc882bfd2e0fab46254aa4a646f30a339d5d6c59887", "section_path": ["变更"], "commit_groups": [["1218780cc", "199aac8b2", "254cd7f31", "77c1d92cb", "d3ef5c3ef"]], "identity_text": "Fix queries in which a whole-row variable references the result of a function that returns a domain over composite type (Tom Lane)", "commit_aliases": ["1218780cc", "199aac8b2", "254cd7f31", "77c1d92cb", "d3ef5c3ef"], "source_commits": ["d3ef5c3ef"], "source_entry_id": "12.12/changes/007", "db_id": "3eceed07396e504740e2f516b576d5a4", "patch_ids": ["51d7b41fce0d47c9c4ae18945c7aec6b"], "statement_hash": "f5ea095d9134daf52abae195e003fdf71711430459badb1005c1400f3fdb9e2b", "relations": [{"rule": 2, "type": "equivalent", "target": "0a6d4e2e5dc07a3bcb6eca8cf6ddadc0", "evidence": {"same_day": false, "patch_ids": ["51d7b41fce0d47c9c4ae18945c7aec6b"], "statement_hash": "f5ea095d9134daf52abae195e003fdf71711430459badb1005c1400f3fdb9e2b"}}, {"rule": 2, "type": "equivalent", "target": "2715d5d7fa23e626decd1a6f9533ba78", "evidence": {"same_day": true, "patch_ids": ["51d7b41fce0d47c9c4ae18945c7aec6b"], "statement_hash": "f5ea095d9134daf52abae195e003fdf71711430459badb1005c1400f3fdb9e2b"}}, {"rule": 2, "type": "equivalent", "target": "dba584dfbf44825e073ad5b5c532f321", "evidence": {"same_day": true, "patch_ids": ["51d7b41fce0d47c9c4ae18945c7aec6b"], "statement_hash": "f5ea095d9134daf52abae195e003fdf71711430459badb1005c1400f3fdb9e2b"}}], "version": "12.12", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "0a6d4e2e5dc07a3bcb6eca8cf6ddadc0", "kind": "equivalent", "version": "14.4", "label": "14.4", "title": "修复当“整行变量”引用返回复合类型域的函数结果时的查询问题", "evidence": {"same_day": false, "patch_ids": ["51d7b41fce0d47c9c4ae18945c7aec6b"], "statement_hash": "f5ea095d9134daf52abae195e003fdf71711430459badb1005c1400f3fdb9e2b"}, "url": "/docs/compare/?release=14.4#14.4-0c9e3885001069b1", "source_url": "/docs/release/14.4/#ZH-AUTO-RELEASE-14-SECT2-38"}, {"db_id": "2715d5d7fa23e626decd1a6f9533ba78", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "修复当“整行变量”引用返回复合类型域的函数结果时的查询问题", "evidence": {"same_day": true, "patch_ids": ["51d7b41fce0d47c9c4ae18945c7aec6b"], "statement_hash": "f5ea095d9134daf52abae195e003fdf71711430459badb1005c1400f3fdb9e2b"}, "url": "/docs/compare/?release=13.8#13.8-50726d68310ba0be", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "dba584dfbf44825e073ad5b5c532f321", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "修复当“整行变量”引用返回复合类型域的函数结果时的查询问题", "evidence": {"same_day": true, "patch_ids": ["51d7b41fce0d47c9c4ae18945c7aec6b"], "statement_hash": "f5ea095d9134daf52abae195e003fdf71711430459badb1005c1400f3fdb9e2b"}, "url": "/docs/compare/?release=11.17#11.17-9bf5353da85cd5cb", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}]}, {"id": "12.12-2e869022f4df7d4e", "cves": [], "html": "<p>修复在提升引用了 <code>GROUPING</code> 函数的子 <code>SELECT</code> 时出现的 <span>“<span>variable not found in subplan target list</span>”</span> 规划器错误（Richard Guo）<a href=\"https://postgr.es/c/301b91c56\">§</a></p>", "text": "修复在提升引用了 GROUPING 函数的子 SELECT 时出现的 “variable not found in subplan target list” 规划器错误（Richard Guo）§", "title": "修复在提升引用了 GROUPING 函数的子 SELECT 时出现的 “variable not found in subplan target list” 规划器错误", "commits": ["301b91c56"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.12/#id-1.11.6.16.5", "source_hash": "748089334ac7f0caf16262650eb5bc988299d0cc32c30e5e3deed5c193fe4e29", "section_path": ["变更"], "commit_groups": [["301b91c56", "79b58c6f6", "7f7f1750d", "ac51c9fba", "b53442f6f", "b7579b25c"]], "identity_text": "Fix variable not found in subplan target list planner error when pulling up a sub-SELECT that's referenced in a GROUPING function (Richard Guo)", "commit_aliases": ["301b91c56", "79b58c6f6", "7f7f1750d", "ac51c9fba", "b53442f6f", "b7579b25c"], "source_commits": ["301b91c56"], "source_entry_id": "12.12/changes/008", "db_id": "ec1b7d59eeee7e177e1970ec8f3e0194", "patch_ids": ["f7c8eddb4b46334cd940960efb577a92"], "statement_hash": "f1870dc18c9de1f38427ef2d0e6c7ad5f678a1caa5959ecdf490795627ba8a12", "relations": [{"rule": 2, "type": "equivalent", "target": "270df56feaedbbacf9dd5f5ae3d67663", "evidence": {"same_day": false, "patch_ids": ["f7c8eddb4b46334cd940960efb577a92"], "statement_hash": "f1870dc18c9de1f38427ef2d0e6c7ad5f678a1caa5959ecdf490795627ba8a12"}}, {"rule": 2, "type": "equivalent", "target": "3e1fc0407079adc134fb84e2cd2fd098", "evidence": {"same_day": true, "patch_ids": ["f7c8eddb4b46334cd940960efb577a92"], "statement_hash": "f1870dc18c9de1f38427ef2d0e6c7ad5f678a1caa5959ecdf490795627ba8a12"}}, {"rule": 2, "type": "equivalent", "target": "3ebf1da3c1bec8887c59e66653e663dc", "evidence": {"same_day": true, "patch_ids": ["f7c8eddb4b46334cd940960efb577a92"], "statement_hash": "f1870dc18c9de1f38427ef2d0e6c7ad5f678a1caa5959ecdf490795627ba8a12"}}, {"rule": 2, "type": "equivalent", "target": "5d2b06adbdf7fdd32a87835d06909207", "evidence": {"same_day": true, "patch_ids": ["f7c8eddb4b46334cd940960efb577a92"], "statement_hash": "f1870dc18c9de1f38427ef2d0e6c7ad5f678a1caa5959ecdf490795627ba8a12"}}], "version": "12.12", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "270df56feaedbbacf9dd5f5ae3d67663", "kind": "equivalent", "version": "14.4", "label": "14.4", "title": "修复在提升引用了 GROUPING 函数的子 SELECT 时出现的 “variable not found in subplan target list” 规划器错误", "evidence": {"same_day": false, "patch_ids": ["f7c8eddb4b46334cd940960efb577a92"], "statement_hash": "f1870dc18c9de1f38427ef2d0e6c7ad5f678a1caa5959ecdf490795627ba8a12"}, "url": "/docs/compare/?release=14.4#14.4-b447fc5799dd6dff", "source_url": "/docs/release/14.4/#ZH-AUTO-RELEASE-14-SECT2-38"}, {"db_id": "3e1fc0407079adc134fb84e2cd2fd098", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "修复在提升引用了 GROUPING 函数的子 SELECT 时出现的 “variable not found in subplan target list” 规划器错误", "evidence": {"same_day": true, "patch_ids": ["f7c8eddb4b46334cd940960efb577a92"], "statement_hash": "f1870dc18c9de1f38427ef2d0e6c7ad5f678a1caa5959ecdf490795627ba8a12"}, "url": "/docs/compare/?release=13.8#13.8-7963cc2b0388fba8", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "3ebf1da3c1bec8887c59e66653e663dc", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "修复在提升引用了 GROUPING 函数的子 SELECT 时出现的 “variable not found in subplan target list” 规划器错误", "evidence": {"same_day": true, "patch_ids": ["f7c8eddb4b46334cd940960efb577a92"], "statement_hash": "f1870dc18c9de1f38427ef2d0e6c7ad5f678a1caa5959ecdf490795627ba8a12"}, "url": "/docs/compare/?release=11.17#11.17-b829ec8b66f1c595", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "5d2b06adbdf7fdd32a87835d06909207", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "修复在提升引用了 GROUPING 函数的子 SELECT 时出现的 “variable not found in subplan target list” 规划器错误", "evidence": {"same_day": true, "patch_ids": ["f7c8eddb4b46334cd940960efb577a92"], "statement_hash": "f1870dc18c9de1f38427ef2d0e6c7ad5f678a1caa5959ecdf490795627ba8a12"}, "url": "/docs/compare/?release=10.22#10.22-b829ec8b66f1c595", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "12.12-f60aa4735ab171f5", "cves": [], "html": "<p>修复 <code>ALTER TABLE ... ENABLE/DISABLE TRIGGER</code> 对分区表上的触发器正确处理递归（Álvaro Herrera，Amit Langote）<a href=\"https://postgr.es/c/6e7b37264\">§</a> <a href=\"https://postgr.es/c/4ad4c1f41\">§</a></p>\n<p>在某些情况下，由于命令会尝试调整没有该触发器的子分区上的触发器，会出现 <span>“<span>trigger does not exist</span>”</span> 错误。</p>", "text": "修复 ALTER TABLE ... ENABLE/DISABLE TRIGGER 对分区表上的触发器正确处理递归（Álvaro Herrera，Amit Langote）§ § 在某些情况下，由于命令会尝试调整没有该触发器的子分区上的触发器，会出现 “trigger does not exist” 错误。", "title": "修复 ALTER TABLE ... ENABLE/DISABLE TRIGGER 对分区表上的触发器正确处理递归", "commits": ["4ad4c1f41", "6e7b37264"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.12/#id-1.11.6.16.5", "source_hash": "50a4ce7b2d0297cef68a574610a9bf7b380f03320c087192c80ae39d2e3e1b51", "section_path": ["变更"], "commit_groups": [["4ad4c1f41", "6d9481cd0", "90a4b6413", "91130dd31", "aa242501a", "d2a74621e"], ["6e7b37264", "731d514ae", "ab8556630", "ce8e06652", "e78fd9084", "ec0925c22"]], "identity_text": "Fix ALTER TABLE ... ENABLE/DISABLE TRIGGER to handle recursion correctly for triggers on partitioned tables (Álvaro Herrera, Amit Langote) In certain cases, a trigger does not exist failure would occur because the command would try to adjust the trigger on a child partition that doesn't have it.", "commit_aliases": ["4ad4c1f41", "6d9481cd0", "6e7b37264", "731d514ae", "90a4b6413", "91130dd31", "aa242501a", "ab8556630", "ce8e06652", "d2a74621e", "e78fd9084", "ec0925c22"], "source_commits": ["4ad4c1f41", "6e7b37264"], "source_entry_id": "12.12/changes/009", "db_id": "bcf61d66120f95715cb98660b331cea7", "patch_ids": ["39076a15459c2caebb81674e5f419414", "402b78ae7db53d9c9bce8f503bc7fbf1"], "statement_hash": "4c50215e18cf01f9408632bd107c68d3569f77acdf8c2a5253295e5517664e59", "relations": [{"rule": 2, "type": "equivalent", "target": "049217effaf19616f9ce44e224370b1f", "evidence": {"same_day": true, "patch_ids": ["39076a15459c2caebb81674e5f419414", "402b78ae7db53d9c9bce8f503bc7fbf1"], "statement_hash": "4c50215e18cf01f9408632bd107c68d3569f77acdf8c2a5253295e5517664e59"}}, {"rule": 2, "type": "equivalent", "target": "73eecc7fffb3f0fe25fa654bc70daa66", "evidence": {"same_day": true, "patch_ids": ["39076a15459c2caebb81674e5f419414", "402b78ae7db53d9c9bce8f503bc7fbf1"], "statement_hash": "4c50215e18cf01f9408632bd107c68d3569f77acdf8c2a5253295e5517664e59"}}, {"rule": 2, "type": "equivalent", "target": "faaee224f65007488a807f2a7bf38ef3", "evidence": {"same_day": true, "patch_ids": ["39076a15459c2caebb81674e5f419414", "402b78ae7db53d9c9bce8f503bc7fbf1"], "statement_hash": "4c50215e18cf01f9408632bd107c68d3569f77acdf8c2a5253295e5517664e59"}}], "version": "12.12", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "faaee224f65007488a807f2a7bf38ef3", "kind": "equivalent", "version": "14.5", "label": "14.5", "title": "修复 ALTER TABLE ... ENABLE/DISABLE TRIGGER 对分区表上的触发器正确处理递归", "evidence": {"same_day": true, "patch_ids": ["39076a15459c2caebb81674e5f419414", "402b78ae7db53d9c9bce8f503bc7fbf1"], "statement_hash": "4c50215e18cf01f9408632bd107c68d3569f77acdf8c2a5253295e5517664e59"}, "url": "/docs/compare/?release=14.5#14.5-3011899c689b6e94", "source_url": "/docs/release/14.5/#ZH-AUTO-RELEASE-14-SECT2-36"}, {"db_id": "049217effaf19616f9ce44e224370b1f", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "修复 ALTER TABLE ... ENABLE/DISABLE TRIGGER 对分区表上的触发器正确处理递归", "evidence": {"same_day": true, "patch_ids": ["39076a15459c2caebb81674e5f419414", "402b78ae7db53d9c9bce8f503bc7fbf1"], "statement_hash": "4c50215e18cf01f9408632bd107c68d3569f77acdf8c2a5253295e5517664e59"}, "url": "/docs/compare/?release=13.8#13.8-8ce78c2bde44ee24", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "73eecc7fffb3f0fe25fa654bc70daa66", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "修复 ALTER TABLE ... ENABLE/DISABLE TRIGGER 对分区表上的触发器正确处理递归", "evidence": {"same_day": true, "patch_ids": ["39076a15459c2caebb81674e5f419414", "402b78ae7db53d9c9bce8f503bc7fbf1"], "statement_hash": "4c50215e18cf01f9408632bd107c68d3569f77acdf8c2a5253295e5517664e59"}, "url": "/docs/compare/?release=11.17#11.17-cf82473ae7bbe72d", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}]}, {"id": "12.12-63408f2218a0c7cf", "cves": [], "html": "<p>改进 <code>jsonpath</code> 类型的语法错误消息（Andrew Dunstan）<a href=\"https://postgr.es/c/2cf875a4b\">§</a></p>", "text": "改进 jsonpath 类型的语法错误消息（Andrew Dunstan）§", "title": "改进 jsonpath 类型的语法错误消息", "commits": ["2cf875a4b"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.12/#id-1.11.6.16.5", "source_hash": "a1bba026120d00b655143d94647ce7768162e8eb28c50db8075fc431ac8f22da", "section_path": ["变更"], "commit_groups": [["03cefe814", "2cf875a4b", "7d9bf589b", "7fd43684f", "89a39d4a4"]], "identity_text": "Improve syntax error messages for type jsonpath (Andrew Dunstan)", "commit_aliases": ["03cefe814", "2cf875a4b", "7d9bf589b", "7fd43684f", "89a39d4a4"], "source_commits": ["2cf875a4b"], "source_entry_id": "12.12/changes/010", "db_id": "afc2112fad76a51e6120a0bacbeb5e62", "patch_ids": ["246e7618dbe664676a37e85e8046bdfa"], "statement_hash": "aa134f5fd7a64854c4a6c6365f937abf03f1fe81d8a0c6b34e623b385c422ebf", "relations": [{"rule": 2, "type": "equivalent", "target": "bd25a1f57acfd51ca471c3dd40ab58e5", "evidence": {"same_day": true, "patch_ids": ["246e7618dbe664676a37e85e8046bdfa"], "statement_hash": "aa134f5fd7a64854c4a6c6365f937abf03f1fe81d8a0c6b34e623b385c422ebf"}}, {"rule": 2, "type": "equivalent", "target": "d9b00ac9ed3371ea052b7d74d983fc09", "evidence": {"same_day": true, "patch_ids": ["246e7618dbe664676a37e85e8046bdfa"], "statement_hash": "aa134f5fd7a64854c4a6c6365f937abf03f1fe81d8a0c6b34e623b385c422ebf"}}], "version": "12.12", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "d9b00ac9ed3371ea052b7d74d983fc09", "kind": "equivalent", "version": "14.5", "label": "14.5", "title": "改进 jsonpath 类型的语法错误消息", "evidence": {"same_day": true, "patch_ids": ["246e7618dbe664676a37e85e8046bdfa"], "statement_hash": "aa134f5fd7a64854c4a6c6365f937abf03f1fe81d8a0c6b34e623b385c422ebf"}, "url": "/docs/compare/?release=14.5#14.5-dbdac5d94e69f085", "source_url": "/docs/release/14.5/#ZH-AUTO-RELEASE-14-SECT2-36"}, {"db_id": "bd25a1f57acfd51ca471c3dd40ab58e5", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "改进 jsonpath 类型的语法错误消息", "evidence": {"same_day": true, "patch_ids": ["246e7618dbe664676a37e85e8046bdfa"], "statement_hash": "aa134f5fd7a64854c4a6c6365f937abf03f1fe81d8a0c6b34e623b385c422ebf"}, "url": "/docs/compare/?release=13.8#13.8-3e51d21b9220252e", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}]}, {"id": "12.12-eaf89439508f29ec", "cves": [], "html": "<p>防止 <code>pg_stat_get_subscription()</code> 可能返回包含垃圾值的额外行（Kuntal Ghosh）<a href=\"https://postgr.es/c/435251b85\">§</a></p>", "text": "防止 pg_stat_get_subscription() 可能返回包含垃圾值的额外行（Kuntal Ghosh）§", "title": "防止 pg_stat_get_subscription() 可能返回包含垃圾值的额外行", "commits": ["435251b85"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.12/#id-1.11.6.16.5", "source_hash": "cdf6b5ada4a9a38f77c59dcf6aebb7ad6398772990385ef9e0d073d1a5d9a7f9", "section_path": ["变更"], "commit_groups": [["435251b85", "5c3b5f7db", "a36196972", "bf4717b09", "d628ce048", "fb646cbd5"]], "identity_text": "Prevent pg_stat_get_subscription() from possibly returning an extra row containing garbage values (Kuntal Ghosh)", "commit_aliases": ["435251b85", "5c3b5f7db", "a36196972", "bf4717b09", "d628ce048", "fb646cbd5"], "source_commits": ["435251b85"], "source_entry_id": "12.12/changes/011", "db_id": "7c00cba5230e85d84e5a09d3f2a16a2e", "patch_ids": ["e58ac21a56bb415ac5bda28ffa577be5"], "statement_hash": "c8ac2dca4ec0a441436c658d4756f19dab9db63cba92ce282c8bc6dbbd20dc7a", "relations": [{"rule": 2, "type": "equivalent", "target": "13961e1bd87dbb0b588679dda60fb184", "evidence": {"same_day": true, "patch_ids": ["e58ac21a56bb415ac5bda28ffa577be5"], "statement_hash": "c8ac2dca4ec0a441436c658d4756f19dab9db63cba92ce282c8bc6dbbd20dc7a"}}, {"rule": 2, "type": "equivalent", "target": "47db1e2fecdbb9f828ab575fa0c54020", "evidence": {"same_day": true, "patch_ids": ["e58ac21a56bb415ac5bda28ffa577be5"], "statement_hash": "c8ac2dca4ec0a441436c658d4756f19dab9db63cba92ce282c8bc6dbbd20dc7a"}}, {"rule": 2, "type": "equivalent", "target": "adc075e5952807492ebed310fbea961d", "evidence": {"same_day": true, "patch_ids": ["e58ac21a56bb415ac5bda28ffa577be5"], "statement_hash": "c8ac2dca4ec0a441436c658d4756f19dab9db63cba92ce282c8bc6dbbd20dc7a"}}, {"rule": 2, "type": "equivalent", "target": "ee8923fb2ef35829290a311870639d99", "evidence": {"same_day": false, "patch_ids": ["e58ac21a56bb415ac5bda28ffa577be5"], "statement_hash": "c8ac2dca4ec0a441436c658d4756f19dab9db63cba92ce282c8bc6dbbd20dc7a"}}], "version": "12.12", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "ee8923fb2ef35829290a311870639d99", "kind": "equivalent", "version": "14.4", "label": "14.4", "title": "防止 pg_stat_get_subscription() 可能返回包含垃圾值的额外行", "evidence": {"same_day": false, "patch_ids": ["e58ac21a56bb415ac5bda28ffa577be5"], "statement_hash": "c8ac2dca4ec0a441436c658d4756f19dab9db63cba92ce282c8bc6dbbd20dc7a"}, "url": "/docs/compare/?release=14.4#14.4-5c87f8885e89afb5", "source_url": "/docs/release/14.4/#ZH-AUTO-RELEASE-14-SECT2-38"}, {"db_id": "adc075e5952807492ebed310fbea961d", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "防止 pg_stat_get_subscription() 可能返回包含垃圾值的额外行", "evidence": {"same_day": true, "patch_ids": ["e58ac21a56bb415ac5bda28ffa577be5"], "statement_hash": "c8ac2dca4ec0a441436c658d4756f19dab9db63cba92ce282c8bc6dbbd20dc7a"}, "url": "/docs/compare/?release=13.8#13.8-5f2bac0ad7f1eb8f", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "13961e1bd87dbb0b588679dda60fb184", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "防止 pg_stat_get_subscription() 可能返回包含垃圾值的额外行", "evidence": {"same_day": true, "patch_ids": ["e58ac21a56bb415ac5bda28ffa577be5"], "statement_hash": "c8ac2dca4ec0a441436c658d4756f19dab9db63cba92ce282c8bc6dbbd20dc7a"}, "url": "/docs/compare/?release=11.17#11.17-6d1f65c8a47054c7", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "47db1e2fecdbb9f828ab575fa0c54020", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "防止 pg_stat_get_subscription() 可能返回包含垃圾值的额外行", "evidence": {"same_day": true, "patch_ids": ["e58ac21a56bb415ac5bda28ffa577be5"], "statement_hash": "c8ac2dca4ec0a441436c658d4756f19dab9db63cba92ce282c8bc6dbbd20dc7a"}, "url": "/docs/compare/?release=10.22#10.22-6d1f65c8a47054c7", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "12.12-402dd572027e535e", "cves": [], "html": "<p>确保 <code>pg_stop_backup()</code> 正确清理会话状态（Fujii Masao）<a href=\"https://postgr.es/c/f0eb83f81\">§</a></p>\n<p>此遗漏可能导致会话后续出现断言失败或崩溃。</p>", "text": "确保 pg_stop_backup() 正确清理会话状态（Fujii Masao）§ 此遗漏可能导致会话后续出现断言失败或崩溃。", "title": "确保 pg_stop_backup() 正确清理会话状态", "commits": ["f0eb83f81"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.12/#id-1.11.6.16.5", "source_hash": "a2b7cd39e6980ef98c90079e3cd59a86cee402b2bee1448b120d39d01b1581b0", "section_path": ["变更"], "commit_groups": [["0829cc43e", "162ade612", "2497d2b77", "80c3ea918", "b24b2be11", "be2e842c8", "f0eb83f81"]], "identity_text": "Ensure that pg_stop_backup() cleans up session state properly (Fujii Masao) This omission could lead to assertion failures or crashes later in the session.", "commit_aliases": ["0829cc43e", "162ade612", "2497d2b77", "80c3ea918", "b24b2be11", "be2e842c8", "f0eb83f81"], "source_commits": ["f0eb83f81"], "source_entry_id": "12.12/changes/012", "db_id": "36286ff75feb888e74c5a788207055ea", "patch_ids": ["b1fd45476180e9386f2944c616c5e77e"], "statement_hash": "6071f35f5437c2f499563ec0517c84f3343e00a5328cb7c3dc148db770cf172d", "relations": [{"rule": 2, "type": "equivalent", "target": "166ebfc51c7d67be124cffd57c5cb1ba", "evidence": {"same_day": true, "patch_ids": ["b1fd45476180e9386f2944c616c5e77e"], "statement_hash": "6071f35f5437c2f499563ec0517c84f3343e00a5328cb7c3dc148db770cf172d"}}, {"rule": 2, "type": "equivalent", "target": "1ee18796d0497001f194db9ce35adf3a", "evidence": {"same_day": true, "patch_ids": ["b1fd45476180e9386f2944c616c5e77e"], "statement_hash": "6071f35f5437c2f499563ec0517c84f3343e00a5328cb7c3dc148db770cf172d"}}, {"rule": 2, "type": "equivalent", "target": "95eca7a5de12345180e860348dbd3a67", "evidence": {"same_day": true, "patch_ids": ["b1fd45476180e9386f2944c616c5e77e"], "statement_hash": "6071f35f5437c2f499563ec0517c84f3343e00a5328cb7c3dc148db770cf172d"}}, {"rule": 2, "type": "equivalent", "target": "ee29fc1fb2ef022bc12947255f93c1a9", "evidence": {"same_day": true, "patch_ids": ["b1fd45476180e9386f2944c616c5e77e"], "statement_hash": "6071f35f5437c2f499563ec0517c84f3343e00a5328cb7c3dc148db770cf172d"}}], "version": "12.12", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "95eca7a5de12345180e860348dbd3a67", "kind": "equivalent", "version": "14.5", "label": "14.5", "title": "确保 pg_stop_backup() 正确清理会话状态", "evidence": {"same_day": true, "patch_ids": ["b1fd45476180e9386f2944c616c5e77e"], "statement_hash": "6071f35f5437c2f499563ec0517c84f3343e00a5328cb7c3dc148db770cf172d"}, "url": "/docs/compare/?release=14.5#14.5-68a9180a8ecaa546", "source_url": "/docs/release/14.5/#ZH-AUTO-RELEASE-14-SECT2-36"}, {"db_id": "ee29fc1fb2ef022bc12947255f93c1a9", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "确保 pg_stop_backup() 正确清理会话状态", "evidence": {"same_day": true, "patch_ids": ["b1fd45476180e9386f2944c616c5e77e"], "statement_hash": "6071f35f5437c2f499563ec0517c84f3343e00a5328cb7c3dc148db770cf172d"}, "url": "/docs/compare/?release=13.8#13.8-543f0b09cbac1e90", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "166ebfc51c7d67be124cffd57c5cb1ba", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "确保 pg_stop_backup() 正确清理会话状态", "evidence": {"same_day": true, "patch_ids": ["b1fd45476180e9386f2944c616c5e77e"], "statement_hash": "6071f35f5437c2f499563ec0517c84f3343e00a5328cb7c3dc148db770cf172d"}, "url": "/docs/compare/?release=11.17#11.17-08d1609b3c37d4ab", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "1ee18796d0497001f194db9ce35adf3a", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "确保 pg_stop_backup() 正确清理会话状态", "evidence": {"same_day": true, "patch_ids": ["b1fd45476180e9386f2944c616c5e77e"], "statement_hash": "6071f35f5437c2f499563ec0517c84f3343e00a5328cb7c3dc148db770cf172d"}, "url": "/docs/compare/?release=10.22#10.22-08d1609b3c37d4ab", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "12.12-2ef373d2e5ce3d43", "cves": [], "html": "<p>修复 <code>FOR [KEY] UPDATE/SHARE</code> 子句中的连接别名匹配（Dean Rasheed）<a href=\"https://postgr.es/c/f9c655d64\">§</a></p>\n<p>在某些边界情况下，可能报告误导性的错误。</p>", "text": "修复 FOR [KEY] UPDATE/SHARE 子句中的连接别名匹配（Dean Rasheed）§ 在某些边界情况下，可能报告误导性的错误。", "title": "修复 FOR [KEY] UPDATE/SHARE 子句中的连接别名匹配", "commits": ["f9c655d64"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.12/#id-1.11.6.16.5", "source_hash": "8a38c5144f425ebd05adeed1fe0a0e6ccc3f7fe379cd3213f8eac50d2c1b8b59", "section_path": ["变更"], "commit_groups": [["8ace122d4", "8d367a44d", "8d8464445", "e88b1f1e2", "ea9e59d70", "f890223bc", "f9c655d64"]], "identity_text": "Fix join alias matching in FOR [KEY] UPDATE/SHARE clauses (Dean Rasheed) In corner cases, a misleading error could be reported.", "commit_aliases": ["8ace122d4", "8d367a44d", "8d8464445", "e88b1f1e2", "ea9e59d70", "f890223bc", "f9c655d64"], "source_commits": ["f9c655d64"], "source_entry_id": "12.12/changes/013", "db_id": "d816ce82d3cee8b9bb5c0cde21bd1679", "patch_ids": ["0ec3a3c4fef6257945d9b21ba4aada4d"], "statement_hash": "58d609514e55505ba2ea42ca37f04edbd8949a5eb8a8ea5ba984628c7c343844", "relations": [{"rule": 2, "type": "equivalent", "target": "33a0ffa96161ff679efee8f3682926bf", "evidence": {"same_day": true, "patch_ids": ["0ec3a3c4fef6257945d9b21ba4aada4d"], "statement_hash": "58d609514e55505ba2ea42ca37f04edbd8949a5eb8a8ea5ba984628c7c343844"}}, {"rule": 2, "type": "equivalent", "target": "3fb394ab9724fd0074303e8db8a069af", "evidence": {"same_day": true, "patch_ids": ["0ec3a3c4fef6257945d9b21ba4aada4d"], "statement_hash": "58d609514e55505ba2ea42ca37f04edbd8949a5eb8a8ea5ba984628c7c343844"}}, {"rule": 2, "type": "equivalent", "target": "5204ac019fa0bddb8a827b6d68df2f7d", "evidence": {"same_day": true, "patch_ids": ["0ec3a3c4fef6257945d9b21ba4aada4d"], "statement_hash": "58d609514e55505ba2ea42ca37f04edbd8949a5eb8a8ea5ba984628c7c343844"}}, {"rule": 2, "type": "equivalent", "target": "f2258166bf086da2829dcf83fb8f4237", "evidence": {"same_day": true, "patch_ids": ["0ec3a3c4fef6257945d9b21ba4aada4d"], "statement_hash": "58d609514e55505ba2ea42ca37f04edbd8949a5eb8a8ea5ba984628c7c343844"}}], "version": "12.12", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "3fb394ab9724fd0074303e8db8a069af", "kind": "equivalent", "version": "14.5", "label": "14.5", "title": "修复 FOR [KEY] UPDATE/SHARE 子句中的连接别名匹配", "evidence": {"same_day": true, "patch_ids": ["0ec3a3c4fef6257945d9b21ba4aada4d"], "statement_hash": "58d609514e55505ba2ea42ca37f04edbd8949a5eb8a8ea5ba984628c7c343844"}, "url": "/docs/compare/?release=14.5#14.5-496ff7d4a0e969a8", "source_url": "/docs/release/14.5/#ZH-AUTO-RELEASE-14-SECT2-36"}, {"db_id": "5204ac019fa0bddb8a827b6d68df2f7d", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "修复 FOR [KEY] UPDATE/SHARE 子句中的连接别名匹配", "evidence": {"same_day": true, "patch_ids": ["0ec3a3c4fef6257945d9b21ba4aada4d"], "statement_hash": "58d609514e55505ba2ea42ca37f04edbd8949a5eb8a8ea5ba984628c7c343844"}, "url": "/docs/compare/?release=13.8#13.8-eba370b4b92cab65", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "33a0ffa96161ff679efee8f3682926bf", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "修复 FOR [KEY] UPDATE/SHARE 子句中的连接别名匹配", "evidence": {"same_day": true, "patch_ids": ["0ec3a3c4fef6257945d9b21ba4aada4d"], "statement_hash": "58d609514e55505ba2ea42ca37f04edbd8949a5eb8a8ea5ba984628c7c343844"}, "url": "/docs/compare/?release=11.17#11.17-619de24b25ee8688", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "f2258166bf086da2829dcf83fb8f4237", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "修复 FOR [KEY] UPDATE/SHARE 子句中的连接别名匹配", "evidence": {"same_day": true, "patch_ids": ["0ec3a3c4fef6257945d9b21ba4aada4d"], "statement_hash": "58d609514e55505ba2ea42ca37f04edbd8949a5eb8a8ea5ba984628c7c343844"}, "url": "/docs/compare/?release=10.22#10.22-619de24b25ee8688", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "12.12-f5822aa16dc340c9", "cves": [], "html": "<p>避免在 <code>XMLTABLE</code> 或 <code>JSON_TABLE</code> 结构上附加了过多列别名时崩溃（Álvaro Herrera）<a href=\"https://postgr.es/c/ade17703d\">§</a> <a href=\"https://postgr.es/c/0ebd20e20\">§</a></p>", "text": "避免在 XMLTABLE 或 JSON_TABLE 结构上附加了过多列别名时崩溃（Álvaro Herrera）§ §", "title": "避免在 XMLTABLE 或 JSON_TABLE 结构上附加了过多列别名时崩溃", "commits": ["0ebd20e20", "ade17703d"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.12/#id-1.11.6.16.5", "source_hash": "d7ccae2f7ff6571b9762eebe57761e83c5041c2f2d860c0921f9f636979084c5", "section_path": ["变更"], "commit_groups": [["0ebd20e20", "29d111518", "50bf3157a", "5139db556", "62221ef18", "e8b93c6e2"], ["0fbf01120", "16cb7db34", "80656f00f", "94edb85d2", "ade17703d", "ba83de8ad"]], "identity_text": "Avoid crashing if too many column aliases are attached to an XMLTABLE or JSON_TABLE construct (Álvaro Herrera)", "commit_aliases": ["0ebd20e20", "0fbf01120", "16cb7db34", "29d111518", "50bf3157a", "5139db556", "62221ef18", "80656f00f", "94edb85d2", "ade17703d", "ba83de8ad", "e8b93c6e2"], "source_commits": ["0ebd20e20", "ade17703d"], "source_entry_id": "12.12/changes/014", "db_id": "efba4d4a3a277da0ffb24f2a779b5b08", "patch_ids": ["2ac708542e6368e258ee1ef8bfca944d", "44fd0c3f9c64e92e37a4866f26b2dd11"], "statement_hash": "60cf2317bf09c52bd685e4c9c121b4c1daa64d3ed73ad8ed3a9eb5c85ac4ed69", "relations": [{"rule": 2, "type": "equivalent", "target": "4d5a074b371db69dfe09c7a179298842", "evidence": {"same_day": false, "patch_ids": ["2ac708542e6368e258ee1ef8bfca944d", "44fd0c3f9c64e92e37a4866f26b2dd11"], "statement_hash": "60cf2317bf09c52bd685e4c9c121b4c1daa64d3ed73ad8ed3a9eb5c85ac4ed69"}}, {"rule": 2, "type": "equivalent", "target": "5f220cf6c0dca4f9694ee12ef7134b0e", "evidence": {"same_day": true, "patch_ids": ["2ac708542e6368e258ee1ef8bfca944d", "44fd0c3f9c64e92e37a4866f26b2dd11"], "statement_hash": "60cf2317bf09c52bd685e4c9c121b4c1daa64d3ed73ad8ed3a9eb5c85ac4ed69"}}, {"rule": 2, "type": "equivalent", "target": "c04873471898c42aaf3cefd843d371c1", "evidence": {"same_day": true, "patch_ids": ["2ac708542e6368e258ee1ef8bfca944d", "44fd0c3f9c64e92e37a4866f26b2dd11"], "statement_hash": "60cf2317bf09c52bd685e4c9c121b4c1daa64d3ed73ad8ed3a9eb5c85ac4ed69"}}, {"rule": 2, "type": "equivalent", "target": "d33f457fb8ef4b93dc2dab4d95d5445d", "evidence": {"same_day": true, "patch_ids": ["2ac708542e6368e258ee1ef8bfca944d", "44fd0c3f9c64e92e37a4866f26b2dd11"], "statement_hash": "60cf2317bf09c52bd685e4c9c121b4c1daa64d3ed73ad8ed3a9eb5c85ac4ed69"}}], "version": "12.12", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "4d5a074b371db69dfe09c7a179298842", "kind": "equivalent", "version": "14.4", "label": "14.4", "title": "避免在 XMLTABLE 或 JSON_TABLE 结构上附加了过多列别名时崩溃", "evidence": {"same_day": false, "patch_ids": ["2ac708542e6368e258ee1ef8bfca944d", "44fd0c3f9c64e92e37a4866f26b2dd11"], "statement_hash": "60cf2317bf09c52bd685e4c9c121b4c1daa64d3ed73ad8ed3a9eb5c85ac4ed69"}, "url": "/docs/compare/?release=14.4#14.4-346917e4213a38e1", "source_url": "/docs/release/14.4/#ZH-AUTO-RELEASE-14-SECT2-38"}, {"db_id": "d33f457fb8ef4b93dc2dab4d95d5445d", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "避免在 XMLTABLE 或 JSON_TABLE 结构上附加了过多列别名时崩溃", "evidence": {"same_day": true, "patch_ids": ["2ac708542e6368e258ee1ef8bfca944d", "44fd0c3f9c64e92e37a4866f26b2dd11"], "statement_hash": "60cf2317bf09c52bd685e4c9c121b4c1daa64d3ed73ad8ed3a9eb5c85ac4ed69"}, "url": "/docs/compare/?release=13.8#13.8-edfc478a291046f5", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "5f220cf6c0dca4f9694ee12ef7134b0e", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "避免在 XMLTABLE 或 JSON_TABLE 结构上附加了过多列别名时崩溃", "evidence": {"same_day": true, "patch_ids": ["2ac708542e6368e258ee1ef8bfca944d", "44fd0c3f9c64e92e37a4866f26b2dd11"], "statement_hash": "60cf2317bf09c52bd685e4c9c121b4c1daa64d3ed73ad8ed3a9eb5c85ac4ed69"}, "url": "/docs/compare/?release=11.17#11.17-873a7fa4124917b0", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "c04873471898c42aaf3cefd843d371c1", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "避免在 XMLTABLE 或 JSON_TABLE 结构上附加了过多列别名时崩溃", "evidence": {"same_day": true, "patch_ids": ["2ac708542e6368e258ee1ef8bfca944d", "44fd0c3f9c64e92e37a4866f26b2dd11"], "statement_hash": "60cf2317bf09c52bd685e4c9c121b4c1daa64d3ed73ad8ed3a9eb5c85ac4ed69"}, "url": "/docs/compare/?release=10.22#10.22-873a7fa4124917b0", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "12.12-7368d1c80903a4e0", "cves": [], "html": "<p>拒绝 <code>FROM</code> 中列数过多的 <code>ROW()</code> 表达式和函数（Tom Lane）<a href=\"https://postgr.es/c/d79f00e82\">§</a> <a href=\"https://postgr.es/c/5d280bc89\">§</a></p>\n<p>超过约 1600 列的情况不受支持，且在执行时始终会失败。然而，一些较早的代码在查询超过 32K 列时可能被驱动到断言失败或崩溃。增加一个解析时检查以防止此问题。</p>", "text": "拒绝 FROM 中列数过多的 ROW() 表达式和函数（Tom Lane）§ § 超过约 1600 列的情况不受支持，且在执行时始终会失败。然而，一些较早的代码在查询超过 32K 列时可能被驱动到断言失败或崩溃。增加一个解析时检查以防止此问题。", "title": "拒绝 FROM 中列数过多的 ROW() 表达式和函数", "commits": ["5d280bc89", "d79f00e82"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.12/#id-1.11.6.16.5", "source_hash": "a24cfc56396d0ecbf7f7279fc9e39b0f373281bea64c7e3712b52ca6ca76819c", "section_path": ["变更"], "commit_groups": [["331f8b851", "51d8b52fc", "5d280bc89", "83f1793d6", "adc3ae6eb", "d54fc7e67", "d947a8bd5"], ["8dea18372", "8df167baa", "ba2002d02", "d79f00e82", "e6a48014d", "e6e804aa2", "fd96d14d9"]], "identity_text": "Reject ROW() expressions and functions in FROM that have too many columns (Tom Lane) Cases with more than about 1600 columns are unsupported, and have always failed at execution. However, it emerges that some earlier code could be driven to assertion failures or crashes by queries with more than 32K columns. Add a parse-time check to prevent that.", "commit_aliases": ["331f8b851", "51d8b52fc", "5d280bc89", "83f1793d6", "8dea18372", "8df167baa", "adc3ae6eb", "ba2002d02", "d54fc7e67", "d79f00e82", "d947a8bd5", "e6a48014d", "e6e804aa2", "fd96d14d9"], "source_commits": ["5d280bc89", "d79f00e82"], "source_entry_id": "12.12/changes/015", "db_id": "97260449d3cc34ebc0034c6974c57408", "patch_ids": ["9055e615d9a8d6d26806e22905ca5034", "9acf44510603fce6c93af6cb53e31aaa"], "statement_hash": "cd2a6593748135ac928288235121b47949547cd1d1b7aafd71504995117bed62", "relations": [{"rule": 2, "type": "equivalent", "target": "16f5d9da2b9f413365c825f2e4283c9d", "evidence": {"same_day": true, "patch_ids": ["9055e615d9a8d6d26806e22905ca5034", "9acf44510603fce6c93af6cb53e31aaa"], "statement_hash": "cd2a6593748135ac928288235121b47949547cd1d1b7aafd71504995117bed62"}}, {"rule": 2, "type": "equivalent", "target": "37645836470f6582296291ad73bcb20b", "evidence": {"same_day": true, "patch_ids": ["9055e615d9a8d6d26806e22905ca5034", "9acf44510603fce6c93af6cb53e31aaa"], "statement_hash": "cd2a6593748135ac928288235121b47949547cd1d1b7aafd71504995117bed62"}}, {"rule": 2, "type": "equivalent", "target": "a574a843205170775323459850e52fae", "evidence": {"same_day": true, "patch_ids": ["9055e615d9a8d6d26806e22905ca5034", "9acf44510603fce6c93af6cb53e31aaa"], "statement_hash": "cd2a6593748135ac928288235121b47949547cd1d1b7aafd71504995117bed62"}}, {"rule": 2, "type": "equivalent", "target": "e8bbd129286519ebb12fe4b5d30e4295", "evidence": {"same_day": true, "patch_ids": ["9055e615d9a8d6d26806e22905ca5034", "9acf44510603fce6c93af6cb53e31aaa"], "statement_hash": "cd2a6593748135ac928288235121b47949547cd1d1b7aafd71504995117bed62"}}], "version": "12.12", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "a574a843205170775323459850e52fae", "kind": "equivalent", "version": "14.5", "label": "14.5", "title": "拒绝 FROM 中列数过多的 ROW() 表达式和函数", "evidence": {"same_day": true, "patch_ids": ["9055e615d9a8d6d26806e22905ca5034", "9acf44510603fce6c93af6cb53e31aaa"], "statement_hash": "cd2a6593748135ac928288235121b47949547cd1d1b7aafd71504995117bed62"}, "url": "/docs/compare/?release=14.5#14.5-9746a0c962f430c5", "source_url": "/docs/release/14.5/#ZH-AUTO-RELEASE-14-SECT2-36"}, {"db_id": "37645836470f6582296291ad73bcb20b", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "拒绝 FROM 中列数过多的 ROW() 表达式和函数", "evidence": {"same_day": true, "patch_ids": ["9055e615d9a8d6d26806e22905ca5034", "9acf44510603fce6c93af6cb53e31aaa"], "statement_hash": "cd2a6593748135ac928288235121b47949547cd1d1b7aafd71504995117bed62"}, "url": "/docs/compare/?release=13.8#13.8-793d7ac117a02eb4", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "e8bbd129286519ebb12fe4b5d30e4295", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "拒绝 FROM 中列数过多的 ROW() 表达式和函数", "evidence": {"same_day": true, "patch_ids": ["9055e615d9a8d6d26806e22905ca5034", "9acf44510603fce6c93af6cb53e31aaa"], "statement_hash": "cd2a6593748135ac928288235121b47949547cd1d1b7aafd71504995117bed62"}, "url": "/docs/compare/?release=11.17#11.17-bda3ed8d3015dbbd", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "16f5d9da2b9f413365c825f2e4283c9d", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "拒绝 FROM 中列数过多的 ROW() 表达式和函数", "evidence": {"same_day": true, "patch_ids": ["9055e615d9a8d6d26806e22905ca5034", "9acf44510603fce6c93af6cb53e31aaa"], "statement_hash": "cd2a6593748135ac928288235121b47949547cd1d1b7aafd71504995117bed62"}, "url": "/docs/compare/?release=10.22#10.22-bda3ed8d3015dbbd", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "12.12-909f700f4b83a01d", "cves": [], "html": "<p>在反编译视图或规则时，如果 <code>SELECT</code> 输出列的 <code>AS \"?column?\"</code> 别名子句可能在其他地方被引用，则显示它（Tom Lane）<a href=\"https://postgr.es/c/bb2c04676\">§</a></p>\n<p>之前，这个自动生成的别名总是被隐藏的；但在某些边界情况下，这样做会导致视图或规则定义无法恢复。</p>", "text": "在反编译视图或规则时，如果 SELECT 输出列的 AS \"?column?\" 别名子句可能在其他地方被引用，则显示它（Tom Lane）§ 之前，这个自动生成的别名总是被隐藏的；但在某些边界情况下，这样做会导致视图或规则定义无法恢复。", "title": "在反编译视图或规则时，如果 SELECT 输出列的 AS \"?column?\" 别名子句可能在其他地方被引用，则显示它", "commits": ["bb2c04676"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.12/#id-1.11.6.16.5", "source_hash": "f7c679622c9fd73d07fa463f5cba233de09246b9e8ef791c4bcc15319f869e17", "section_path": ["变更"], "commit_groups": [["6f7eec119", "7686403b4", "bb2c04676", "c7461fc25", "f3b8d7244", "fefd54631"]], "identity_text": "When decompiling a view or rule, show a SELECT output column's AS \"?column?\" alias clause if it could be referenced elsewhere (Tom Lane) Previously, this auto-generated alias was always hidden; but there are corner cases where doing so results in a non-restorable view or rule definition.", "commit_aliases": ["6f7eec119", "7686403b4", "bb2c04676", "c7461fc25", "f3b8d7244", "fefd54631"], "source_commits": ["bb2c04676"], "source_entry_id": "12.12/changes/016", "db_id": "dd2ef8e063083bac893b2d5f38044e18", "patch_ids": ["1330204c6ba1f59852f0fe7be53a07c9"], "statement_hash": "698afc18b0e28e6841ddb506f80ea53d77327f2a19c53ccfa4455ff6a7131218", "relations": [{"rule": 2, "type": "equivalent", "target": "313e40dc9d395a6dbf2528f584379a47", "evidence": {"same_day": true, "patch_ids": ["1330204c6ba1f59852f0fe7be53a07c9"], "statement_hash": "698afc18b0e28e6841ddb506f80ea53d77327f2a19c53ccfa4455ff6a7131218"}}, {"rule": 2, "type": "equivalent", "target": "5fa002a97fa01b1f94b24f6eb31db8a6", "evidence": {"same_day": true, "patch_ids": ["1330204c6ba1f59852f0fe7be53a07c9"], "statement_hash": "698afc18b0e28e6841ddb506f80ea53d77327f2a19c53ccfa4455ff6a7131218"}}, {"rule": 2, "type": "equivalent", "target": "a731a211dd4dbfbec7e91c436caa320b", "evidence": {"same_day": true, "patch_ids": ["1330204c6ba1f59852f0fe7be53a07c9"], "statement_hash": "698afc18b0e28e6841ddb506f80ea53d77327f2a19c53ccfa4455ff6a7131218"}}, {"rule": 2, "type": "equivalent", "target": "af308fd0f2827f58ef71882b372ca7ef", "evidence": {"same_day": false, "patch_ids": ["1330204c6ba1f59852f0fe7be53a07c9"], "statement_hash": "698afc18b0e28e6841ddb506f80ea53d77327f2a19c53ccfa4455ff6a7131218"}}], "version": "12.12", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "af308fd0f2827f58ef71882b372ca7ef", "kind": "equivalent", "version": "14.4", "label": "14.4", "title": "在反编译视图或规则时，如果 SELECT 输出列的 AS \"?column?\" 别名子句可能在其他地方被引用，则显示它", "evidence": {"same_day": false, "patch_ids": ["1330204c6ba1f59852f0fe7be53a07c9"], "statement_hash": "698afc18b0e28e6841ddb506f80ea53d77327f2a19c53ccfa4455ff6a7131218"}, "url": "/docs/compare/?release=14.4#14.4-7b6276b49463a2f2", "source_url": "/docs/release/14.4/#ZH-AUTO-RELEASE-14-SECT2-38"}, {"db_id": "313e40dc9d395a6dbf2528f584379a47", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "在反编译视图或规则时，如果 SELECT 输出列的 AS \"?column?\" 别名子句可能在其他地方被引用，则显示它", "evidence": {"same_day": true, "patch_ids": ["1330204c6ba1f59852f0fe7be53a07c9"], "statement_hash": "698afc18b0e28e6841ddb506f80ea53d77327f2a19c53ccfa4455ff6a7131218"}, "url": "/docs/compare/?release=13.8#13.8-591b12862d3feb2f", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "a731a211dd4dbfbec7e91c436caa320b", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "在反编译视图或规则时，如果 SELECT 输出列的 AS \"?column?\" 别名子句可能在其他地方被引用，则显示它", "evidence": {"same_day": true, "patch_ids": ["1330204c6ba1f59852f0fe7be53a07c9"], "statement_hash": "698afc18b0e28e6841ddb506f80ea53d77327f2a19c53ccfa4455ff6a7131218"}, "url": "/docs/compare/?release=11.17#11.17-ddfdd7f7ec552d81", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "5fa002a97fa01b1f94b24f6eb31db8a6", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "在反编译视图或规则时，如果 SELECT 输出列的 AS \"?column?\" 别名子句可能在其他地方被引用，则显示它", "evidence": {"same_day": true, "patch_ids": ["1330204c6ba1f59852f0fe7be53a07c9"], "statement_hash": "698afc18b0e28e6841ddb506f80ea53d77327f2a19c53ccfa4455ff6a7131218"}, "url": "/docs/compare/?release=10.22#10.22-ddfdd7f7ec552d81", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "12.12-a47b71c4eb5c319c", "cves": [], "html": "<p>修复使用 <code>FROM</code> 中返回复合类型的函数的视图的导出问题，当视图创建后复合类型的列已被删除时（Tom Lane）<a href=\"https://postgr.es/c/b243092a6\">§</a></p>\n<p>此疏忽可能导致导出/恢复或 <span>pg_upgrade</span> 失败，因为导出的视图会有过多的函数列别名。</p>", "text": "修复使用 FROM 中返回复合类型的函数的视图的导出问题，当视图创建后复合类型的列已被删除时（Tom Lane）§ 此疏忽可能导致导出/恢复或 pg_upgrade 失败，因为导出的视图会有过多的函数列别名。", "title": "修复使用 FROM 中返回复合类型的函数的视图的导出问题，当视图创建后复合类型的列已被删除时", "commits": ["b243092a6"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.12/#id-1.11.6.16.5", "source_hash": "7464b0099306499c89d9e176910945b847de0532f1c1c7d9ef5173f2513eb7b7", "section_path": ["变更"], "commit_groups": [["1078742af", "5b5d43513", "6bceacfe8", "b243092a6", "b9654cece", "c1d1e8469", "da9a28fd5"]], "identity_text": "Fix dumping of a view using a function in FROM that returns a composite type, when column(s) of the composite type have been dropped since the view was made (Tom Lane) This oversight could lead to dump/reload or pg_upgrade failures, as the dumped view would have too many column aliases for the function.", "commit_aliases": ["1078742af", "5b5d43513", "6bceacfe8", "b243092a6", "b9654cece", "c1d1e8469", "da9a28fd5"], "source_commits": ["b243092a6"], "source_entry_id": "12.12/changes/017", "db_id": "a3c3f143ea00efd8aee5476c01cff24b", "patch_ids": ["23656715f1aaeed2e828604f3d8b7601"], "statement_hash": "cda8527744e38b5c9686e7a8611aa75bc84e00fc2d86ca67e43bec0b2e566eb0", "relations": [{"rule": 2, "type": "equivalent", "target": "866cc719eec09451454e7a881d0656bb", "evidence": {"same_day": true, "patch_ids": ["23656715f1aaeed2e828604f3d8b7601"], "statement_hash": "cda8527744e38b5c9686e7a8611aa75bc84e00fc2d86ca67e43bec0b2e566eb0"}}, {"rule": 2, "type": "equivalent", "target": "b0a7546bd95b932d12119d39edea4cb7", "evidence": {"same_day": true, "patch_ids": ["23656715f1aaeed2e828604f3d8b7601"], "statement_hash": "cda8527744e38b5c9686e7a8611aa75bc84e00fc2d86ca67e43bec0b2e566eb0"}}, {"rule": 2, "type": "equivalent", "target": "d297883d1dccd1466d1a4375490782d2", "evidence": {"same_day": true, "patch_ids": ["23656715f1aaeed2e828604f3d8b7601"], "statement_hash": "cda8527744e38b5c9686e7a8611aa75bc84e00fc2d86ca67e43bec0b2e566eb0"}}, {"rule": 2, "type": "equivalent", "target": "e2dcc3bf7286d828d7ba3b5cfd3c8f7d", "evidence": {"same_day": true, "patch_ids": ["23656715f1aaeed2e828604f3d8b7601"], "statement_hash": "cda8527744e38b5c9686e7a8611aa75bc84e00fc2d86ca67e43bec0b2e566eb0"}}], "version": "12.12", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "e2dcc3bf7286d828d7ba3b5cfd3c8f7d", "kind": "equivalent", "version": "14.5", "label": "14.5", "title": "修复使用 FROM 中返回复合类型的函数的视图的导出问题，当视图创建后复合类型的列已被删除时", "evidence": {"same_day": true, "patch_ids": ["23656715f1aaeed2e828604f3d8b7601"], "statement_hash": "cda8527744e38b5c9686e7a8611aa75bc84e00fc2d86ca67e43bec0b2e566eb0"}, "url": "/docs/compare/?release=14.5#14.5-ff5ce1883e1902b4", "source_url": "/docs/release/14.5/#ZH-AUTO-RELEASE-14-SECT2-36"}, {"db_id": "d297883d1dccd1466d1a4375490782d2", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "修复使用 FROM 中返回复合类型的函数的视图的导出问题，当视图创建后复合类型的列已被删除时", "evidence": {"same_day": true, "patch_ids": ["23656715f1aaeed2e828604f3d8b7601"], "statement_hash": "cda8527744e38b5c9686e7a8611aa75bc84e00fc2d86ca67e43bec0b2e566eb0"}, "url": "/docs/compare/?release=13.8#13.8-48cc646037c6175f", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "b0a7546bd95b932d12119d39edea4cb7", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "修复使用 FROM 中返回复合类型的函数的视图的导出问题，当视图创建后复合类型的列已被删除时", "evidence": {"same_day": true, "patch_ids": ["23656715f1aaeed2e828604f3d8b7601"], "statement_hash": "cda8527744e38b5c9686e7a8611aa75bc84e00fc2d86ca67e43bec0b2e566eb0"}, "url": "/docs/compare/?release=11.17#11.17-3e0aa695f39794ea", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "866cc719eec09451454e7a881d0656bb", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "修复使用 FROM 中返回复合类型的函数的视图的导出问题，当视图创建后复合类型的列已被删除时", "evidence": {"same_day": true, "patch_ids": ["23656715f1aaeed2e828604f3d8b7601"], "statement_hash": "cda8527744e38b5c9686e7a8611aa75bc84e00fc2d86ca67e43bec0b2e566eb0"}, "url": "/docs/compare/?release=10.22#10.22-3e0aa695f39794ea", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "12.12-1993477aa68aad89", "cves": [], "html": "<p>向事件触发器报告隐式创建的操作符族（Masahiko Sawada）<a href=\"https://postgr.es/c/4492e73a6\">§</a></p>\n<p>如果 <code>CREATE OPERATOR CLASS</code> 导致隐式创建了一个操作符族，该对象不会被报告给应当捕获此类事件的事件触发器。</p>", "text": "向事件触发器报告隐式创建的操作符族（Masahiko Sawada）§ 如果 CREATE OPERATOR CLASS 导致隐式创建了一个操作符族，该对象不会被报告给应当捕获此类事件的事件触发器。", "title": "向事件触发器报告隐式创建的操作符族", "commits": ["4492e73a6"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.12/#id-1.11.6.16.5", "source_hash": "38b44ef40f37e791a452e9793f9a4cdbd70ed3ecb495b9f1c52e8e24cbfd1bf5", "section_path": ["变更"], "commit_groups": [["3753a169e", "4492e73a6", "58b088a9b", "602986191", "6c6ea6ea8", "70f70d7d3"], ["8c47622bb"]], "identity_text": "Report implicitly-created operator families to event triggers (Masahiko Sawada) If CREATE OPERATOR CLASS results in the implicit creation of an operator family, that object was not reported to event triggers that should capture such events.", "commit_aliases": ["3753a169e", "4492e73a6", "58b088a9b", "602986191", "6c6ea6ea8", "70f70d7d3", "8c47622bb"], "source_commits": ["4492e73a6", "8c47622bb"], "source_entry_id": "12.12/changes/018", "db_id": "e11e5b616cec639c8c1fe7eba0182f7c", "patch_ids": ["2717938e6d6fe60de2ee5994194e0458", "3d58b6474ece3ddc52926cfd9a5b773c"], "statement_hash": "7da9c81bf12ed53f61ed3a0723f31f3eef01eadbd463e36910c444b713d2746f", "relations": [{"rule": 2, "type": "equivalent", "target": "244cc3a1a6c6ca75296e8aa7208e62b8", "evidence": {"same_day": true, "patch_ids": ["2717938e6d6fe60de2ee5994194e0458", "3d58b6474ece3ddc52926cfd9a5b773c"], "statement_hash": "7da9c81bf12ed53f61ed3a0723f31f3eef01eadbd463e36910c444b713d2746f"}}, {"rule": 2, "type": "equivalent", "target": "86b4c8fa3b0570ecc99ae9e64dcc575e", "evidence": {"same_day": true, "patch_ids": ["2717938e6d6fe60de2ee5994194e0458", "3d58b6474ece3ddc52926cfd9a5b773c"], "statement_hash": "7da9c81bf12ed53f61ed3a0723f31f3eef01eadbd463e36910c444b713d2746f"}}, {"rule": 2, "type": "equivalent", "target": "a1d71cc4675ee08f791262f34e2e2451", "evidence": {"same_day": false, "patch_ids": ["2717938e6d6fe60de2ee5994194e0458", "3d58b6474ece3ddc52926cfd9a5b773c"], "statement_hash": "7da9c81bf12ed53f61ed3a0723f31f3eef01eadbd463e36910c444b713d2746f"}}, {"rule": 2, "type": "equivalent", "target": "e31c503f99be7439dbfc4f021f076a6c", "evidence": {"same_day": true, "patch_ids": ["2717938e6d6fe60de2ee5994194e0458", "3d58b6474ece3ddc52926cfd9a5b773c"], "statement_hash": "7da9c81bf12ed53f61ed3a0723f31f3eef01eadbd463e36910c444b713d2746f"}}], "version": "12.12", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "a1d71cc4675ee08f791262f34e2e2451", "kind": "equivalent", "version": "14.4", "label": "14.4", "title": "向事件触发器报告隐式创建的操作符族", "evidence": {"same_day": false, "patch_ids": ["2717938e6d6fe60de2ee5994194e0458", "3d58b6474ece3ddc52926cfd9a5b773c"], "statement_hash": "7da9c81bf12ed53f61ed3a0723f31f3eef01eadbd463e36910c444b713d2746f"}, "url": "/docs/compare/?release=14.4#14.4-31e77f02a0e7ba60", "source_url": "/docs/release/14.4/#ZH-AUTO-RELEASE-14-SECT2-38"}, {"db_id": "86b4c8fa3b0570ecc99ae9e64dcc575e", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "向事件触发器报告隐式创建的操作符族", "evidence": {"same_day": true, "patch_ids": ["2717938e6d6fe60de2ee5994194e0458", "3d58b6474ece3ddc52926cfd9a5b773c"], "statement_hash": "7da9c81bf12ed53f61ed3a0723f31f3eef01eadbd463e36910c444b713d2746f"}, "url": "/docs/compare/?release=13.8#13.8-2f2d7a63f5f28497", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "244cc3a1a6c6ca75296e8aa7208e62b8", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "向事件触发器报告隐式创建的操作符族", "evidence": {"same_day": true, "patch_ids": ["2717938e6d6fe60de2ee5994194e0458", "3d58b6474ece3ddc52926cfd9a5b773c"], "statement_hash": "7da9c81bf12ed53f61ed3a0723f31f3eef01eadbd463e36910c444b713d2746f"}, "url": "/docs/compare/?release=11.17#11.17-a744e931b667137e", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "e31c503f99be7439dbfc4f021f076a6c", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "向事件触发器报告隐式创建的操作符族", "evidence": {"same_day": true, "patch_ids": ["2717938e6d6fe60de2ee5994194e0458", "3d58b6474ece3ddc52926cfd9a5b773c"], "statement_hash": "7da9c81bf12ed53f61ed3a0723f31f3eef01eadbd463e36910c444b713d2746f"}, "url": "/docs/compare/?release=10.22#10.22-a744e931b667137e", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "12.12-6977f097afc70d21", "cves": [], "html": "<p>修复在备库提升期间有重启点正在运行时的控制文件更新（Kyotaro Horiguchi）<a href=\"https://postgr.es/c/7e59b1219\">§</a></p>\n<p>之前，当重启点完成时，它可能会错误地更新控制文件中的最后检查点字段，如果服务器在下一次正常检查点完成之前崩溃，可能导致 PANIC 和重启失败。</p>", "text": "修复在备库提升期间有重启点正在运行时的控制文件更新（Kyotaro Horiguchi）§ 之前，当重启点完成时，它可能会错误地更新控制文件中的最后检查点字段，如果服务器在下一次正常检查点完成之前崩溃，可能导致 PANIC 和重启失败。", "title": "修复在备库提升期间有重启点正在运行时的控制文件更新", "commits": ["7e59b1219"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.12/#id-1.11.6.16.5", "source_hash": "ee1d3d7bfacadde452eda4e51f8c72774cf9cac090559e83a43a848d829c115b", "section_path": ["变更"], "commit_groups": [["2e9559b30", "4525151d4", "60e956eb8", "6dced63b4", "7e59b1219"]], "identity_text": "Fix control file updates made when a restartpoint is running during promotion of a standby server (Kyotaro Horiguchi) Previously, when the restartpoint completed it could incorrectly update the last-checkpoint fields of the control file, potentially leading to PANIC and failure to restart if the server crashes before the next normal checkpoint completes.", "commit_aliases": ["2e9559b30", "4525151d4", "60e956eb8", "6dced63b4", "7e59b1219"], "source_commits": ["7e59b1219"], "source_entry_id": "12.12/changes/019", "db_id": "29658bdf45a44c7a8384338f4c04a789", "patch_ids": ["15e7a9569ab88f0979df49c823ee4496"], "statement_hash": "8f92c46925e34c83015ec4c77b2411f7c9193b725a4f89c39940a157d63a54d2", "relations": [{"rule": 2, "type": "equivalent", "target": "47af627fcd6b43b17a606802a2d03900", "evidence": {"same_day": false, "patch_ids": ["15e7a9569ab88f0979df49c823ee4496"], "statement_hash": "8f92c46925e34c83015ec4c77b2411f7c9193b725a4f89c39940a157d63a54d2"}}, {"rule": 2, "type": "equivalent", "target": "6970a8cf5cd0499de93d3c894c47ec70", "evidence": {"same_day": true, "patch_ids": ["15e7a9569ab88f0979df49c823ee4496"], "statement_hash": "8f92c46925e34c83015ec4c77b2411f7c9193b725a4f89c39940a157d63a54d2"}}, {"rule": 2, "type": "equivalent", "target": "8db46d882c5d61b149607c464f64490b", "evidence": {"same_day": true, "patch_ids": ["15e7a9569ab88f0979df49c823ee4496"], "statement_hash": "8f92c46925e34c83015ec4c77b2411f7c9193b725a4f89c39940a157d63a54d2"}}, {"rule": 2, "type": "equivalent", "target": "a363c71cf596a090f1c6be889f284e5a", "evidence": {"same_day": true, "patch_ids": ["15e7a9569ab88f0979df49c823ee4496"], "statement_hash": "8f92c46925e34c83015ec4c77b2411f7c9193b725a4f89c39940a157d63a54d2"}}], "version": "12.12", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "47af627fcd6b43b17a606802a2d03900", "kind": "equivalent", "version": "14.4", "label": "14.4", "title": "修复在备库提升期间有重启点正在运行时的控制文件更新", "evidence": {"same_day": false, "patch_ids": ["15e7a9569ab88f0979df49c823ee4496"], "statement_hash": "8f92c46925e34c83015ec4c77b2411f7c9193b725a4f89c39940a157d63a54d2"}, "url": "/docs/compare/?release=14.4#14.4-2545ec133605503f", "source_url": "/docs/release/14.4/#ZH-AUTO-RELEASE-14-SECT2-38"}, {"db_id": "6970a8cf5cd0499de93d3c894c47ec70", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "修复在备库提升期间有重启点正在运行时的控制文件更新", "evidence": {"same_day": true, "patch_ids": ["15e7a9569ab88f0979df49c823ee4496"], "statement_hash": "8f92c46925e34c83015ec4c77b2411f7c9193b725a4f89c39940a157d63a54d2"}, "url": "/docs/compare/?release=13.8#13.8-7e3a060c80ffe05c", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "8db46d882c5d61b149607c464f64490b", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "修复在备库提升期间有重启点正在运行时的控制文件更新", "evidence": {"same_day": true, "patch_ids": ["15e7a9569ab88f0979df49c823ee4496"], "statement_hash": "8f92c46925e34c83015ec4c77b2411f7c9193b725a4f89c39940a157d63a54d2"}, "url": "/docs/compare/?release=11.17#11.17-8b70f9a872430145", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "a363c71cf596a090f1c6be889f284e5a", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "修复在备库提升期间有重启点正在运行时的控制文件更新", "evidence": {"same_day": true, "patch_ids": ["15e7a9569ab88f0979df49c823ee4496"], "statement_hash": "8f92c46925e34c83015ec4c77b2411f7c9193b725a4f89c39940a157d63a54d2"}, "url": "/docs/compare/?release=10.22#10.22-8b70f9a872430145", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "12.12-070db65928599a8d", "cves": [], "html": "<p>防止在逻辑复制大事务期间触发备库的 <code>wal_receiver_timeout</code>（Wang Wei，Amit Kapila）<a href=\"https://postgr.es/c/f832b5007\">§</a></p>\n<p>如果主库上的一个大事务没有向备库发送数据（可能是因为它修改的表都没有被发布），备库可能会超时。通过确保在这种情况下定期发送保活消息来修复此问题。</p>", "text": "防止在逻辑复制大事务期间触发备库的 wal_receiver_timeout（Wang Wei，Amit Kapila）§ 如果主库上的一个大事务没有向备库发送数据（可能是因为它修改的表都没有被发布），备库可能会超时。通过确保在这种情况下定期发送保活消息来修复此问题。", "title": "防止在逻辑复制大事务期间触发备库的 wal_receiver_timeout", "commits": ["f832b5007"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.12/#id-1.11.6.16.5", "source_hash": "67a5fc9bd8749b4be9445bee91eae326bb97f45c1a611d141e4d5a99a25191cd", "section_path": ["变更"], "commit_groups": [["55558df23", "87c1dd246", "a4015ec03", "d6da71fa8", "f832b5007", "f95d53ede"]], "identity_text": "Prevent triggering of standby's wal_receiver_timeout during logical replication of large transactions (Wang Wei, Amit Kapila) If a large transaction on the primary server sends no data to the standby (perhaps because no table it changes is published), it was possible for the standby to timeout. Fix that by ensuring we send keepalive messages periodically in such situations.", "commit_aliases": ["55558df23", "87c1dd246", "a4015ec03", "d6da71fa8", "f832b5007", "f95d53ede"], "source_commits": ["f832b5007"], "source_entry_id": "12.12/changes/020", "db_id": "e32cbd7f4170feb0afdf981793dfbf64", "patch_ids": ["1530f34ec3d691ea5f0eba6d7f9745c3"], "statement_hash": "1ad1be7c02ac4530f5478b1ded4c37634a417269bf0902f1753841c0bfe4074b", "relations": [{"rule": 2, "type": "equivalent", "target": "16e9b2df9d407d45a26371aa78b3ac1b", "evidence": {"same_day": true, "patch_ids": ["1530f34ec3d691ea5f0eba6d7f9745c3"], "statement_hash": "1ad1be7c02ac4530f5478b1ded4c37634a417269bf0902f1753841c0bfe4074b"}}, {"rule": 2, "type": "equivalent", "target": "417ccfe7dbce14777e9a783cedac8ada", "evidence": {"same_day": true, "patch_ids": ["1530f34ec3d691ea5f0eba6d7f9745c3"], "statement_hash": "1ad1be7c02ac4530f5478b1ded4c37634a417269bf0902f1753841c0bfe4074b"}}, {"rule": 2, "type": "equivalent", "target": "42acb28481bd6af31cd3abb574751c5a", "evidence": {"same_day": false, "patch_ids": ["1530f34ec3d691ea5f0eba6d7f9745c3"], "statement_hash": "1ad1be7c02ac4530f5478b1ded4c37634a417269bf0902f1753841c0bfe4074b"}}, {"rule": 2, "type": "equivalent", "target": "cae95cd54c53ad287f2bb5a5f356bdd0", "evidence": {"same_day": true, "patch_ids": ["1530f34ec3d691ea5f0eba6d7f9745c3"], "statement_hash": "1ad1be7c02ac4530f5478b1ded4c37634a417269bf0902f1753841c0bfe4074b"}}], "version": "12.12", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "42acb28481bd6af31cd3abb574751c5a", "kind": "equivalent", "version": "14.4", "label": "14.4", "title": "防止在逻辑复制大事务期间触发备库的 wal_receiver_timeout", "evidence": {"same_day": false, "patch_ids": ["1530f34ec3d691ea5f0eba6d7f9745c3"], "statement_hash": "1ad1be7c02ac4530f5478b1ded4c37634a417269bf0902f1753841c0bfe4074b"}, "url": "/docs/compare/?release=14.4#14.4-29f8835cbd99b475", "source_url": "/docs/release/14.4/#ZH-AUTO-RELEASE-14-SECT2-38"}, {"db_id": "cae95cd54c53ad287f2bb5a5f356bdd0", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "防止在逻辑复制大事务期间触发备库的 wal_receiver_timeout", "evidence": {"same_day": true, "patch_ids": ["1530f34ec3d691ea5f0eba6d7f9745c3"], "statement_hash": "1ad1be7c02ac4530f5478b1ded4c37634a417269bf0902f1753841c0bfe4074b"}, "url": "/docs/compare/?release=13.8#13.8-5bed5c6f59c21a5c", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "417ccfe7dbce14777e9a783cedac8ada", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "防止在逻辑复制大事务期间触发备库的 wal_receiver_timeout", "evidence": {"same_day": true, "patch_ids": ["1530f34ec3d691ea5f0eba6d7f9745c3"], "statement_hash": "1ad1be7c02ac4530f5478b1ded4c37634a417269bf0902f1753841c0bfe4074b"}, "url": "/docs/compare/?release=11.17#11.17-24f34859df6a5c60", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "16e9b2df9d407d45a26371aa78b3ac1b", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "防止在逻辑复制大事务期间触发备库的 wal_receiver_timeout", "evidence": {"same_day": true, "patch_ids": ["1530f34ec3d691ea5f0eba6d7f9745c3"], "statement_hash": "1ad1be7c02ac4530f5478b1ded4c37634a417269bf0902f1753841c0bfe4074b"}, "url": "/docs/compare/?release=10.22#10.22-24f34859df6a5c60", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "12.12-04862d9c1fa9861e", "cves": [], "html": "<p>不允许在逻辑复制 walsender 中执行嵌套备份操作（Fujii Masao）<a href=\"https://postgr.es/c/9fa00e312\">§</a></p>", "text": "不允许在逻辑复制 walsender 中执行嵌套备份操作（Fujii Masao）§", "title": "不允许在逻辑复制 walsender 中执行嵌套备份操作", "commits": ["9fa00e312"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.12/#id-1.11.6.16.5", "source_hash": "00d6ec9df27af8169777dca6254886ebc36343b9835448be24ac1c966a287622", "section_path": ["变更"], "commit_groups": [["286793b98", "2aedf25eb", "5630f39b3", "87e504487", "9fa00e312", "dd831afc4", "ee7964776"]], "identity_text": "Disallow nested backup operations in logical replication walsenders (Fujii Masao)", "commit_aliases": ["286793b98", "2aedf25eb", "5630f39b3", "87e504487", "9fa00e312", "dd831afc4", "ee7964776"], "source_commits": ["9fa00e312"], "source_entry_id": "12.12/changes/021", "db_id": "c57da6ba4c012042e1b9b38ec76482b4", "patch_ids": ["c6cdc4f1fb60b037ac48c606f26c9d5f"], "statement_hash": "4a48572206222346f15cb620f6279d636b79d7fbaf7dfa9a265b328528efcfcc", "relations": [{"rule": 2, "type": "equivalent", "target": "0671a83dbc975279e2adbc629f4b0881", "evidence": {"same_day": true, "patch_ids": ["c6cdc4f1fb60b037ac48c606f26c9d5f"], "statement_hash": "4a48572206222346f15cb620f6279d636b79d7fbaf7dfa9a265b328528efcfcc"}}, {"rule": 2, "type": "equivalent", "target": "12f6dea62a2252aa39fd3ebfcd1693d7", "evidence": {"same_day": true, "patch_ids": ["c6cdc4f1fb60b037ac48c606f26c9d5f"], "statement_hash": "4a48572206222346f15cb620f6279d636b79d7fbaf7dfa9a265b328528efcfcc"}}, {"rule": 2, "type": "equivalent", "target": "a2f00771074c74f91e93f347bc991aeb", "evidence": {"same_day": true, "patch_ids": ["c6cdc4f1fb60b037ac48c606f26c9d5f"], "statement_hash": "4a48572206222346f15cb620f6279d636b79d7fbaf7dfa9a265b328528efcfcc"}}, {"rule": 2, "type": "equivalent", "target": "d356f4baec5c9357cb3bdd52540d035e", "evidence": {"same_day": true, "patch_ids": ["c6cdc4f1fb60b037ac48c606f26c9d5f"], "statement_hash": "4a48572206222346f15cb620f6279d636b79d7fbaf7dfa9a265b328528efcfcc"}}], "version": "12.12", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "a2f00771074c74f91e93f347bc991aeb", "kind": "equivalent", "version": "14.5", "label": "14.5", "title": "不允许在逻辑复制 walsender 中执行嵌套备份操作", "evidence": {"same_day": true, "patch_ids": ["c6cdc4f1fb60b037ac48c606f26c9d5f"], "statement_hash": "4a48572206222346f15cb620f6279d636b79d7fbaf7dfa9a265b328528efcfcc"}, "url": "/docs/compare/?release=14.5#14.5-cf59c3e92047a352", "source_url": "/docs/release/14.5/#ZH-AUTO-RELEASE-14-SECT2-36"}, {"db_id": "0671a83dbc975279e2adbc629f4b0881", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "不允许在逻辑复制 walsender 中执行嵌套备份操作", "evidence": {"same_day": true, "patch_ids": ["c6cdc4f1fb60b037ac48c606f26c9d5f"], "statement_hash": "4a48572206222346f15cb620f6279d636b79d7fbaf7dfa9a265b328528efcfcc"}, "url": "/docs/compare/?release=13.8#13.8-efb4d7b81adf76b1", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "d356f4baec5c9357cb3bdd52540d035e", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "不允许在逻辑复制 walsender 中执行嵌套备份操作", "evidence": {"same_day": true, "patch_ids": ["c6cdc4f1fb60b037ac48c606f26c9d5f"], "statement_hash": "4a48572206222346f15cb620f6279d636b79d7fbaf7dfa9a265b328528efcfcc"}, "url": "/docs/compare/?release=11.17#11.17-34f2aae635548050", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "12f6dea62a2252aa39fd3ebfcd1693d7", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "不允许在逻辑复制 walsender 中执行嵌套备份操作", "evidence": {"same_day": true, "patch_ids": ["c6cdc4f1fb60b037ac48c606f26c9d5f"], "statement_hash": "4a48572206222346f15cb620f6279d636b79d7fbaf7dfa9a265b328528efcfcc"}, "url": "/docs/compare/?release=10.22#10.22-34f2aae635548050", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "12.12-7716a9d45fa08ec9", "cves": [], "html": "<p>修复逻辑复制订阅者中的内存泄漏（Hou Zhijie）<a href=\"https://postgr.es/c/9e0d9a24e\">§</a></p>", "text": "修复逻辑复制订阅者中的内存泄漏（Hou Zhijie）§", "title": "修复逻辑复制订阅者中的内存泄漏", "commits": ["9e0d9a24e"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.12/#id-1.11.6.16.5", "source_hash": "f81d91b3ff5a20874a738fa80ee32429201e10abad7eab52d7a8bf77ac9ea2a9", "section_path": ["变更"], "commit_groups": [["3238b5c33", "3a6ef0cdf", "9e0d9a24e", "ac0e2d387", "d873b5a5a", "ed2a7a6bf"]], "identity_text": "Fix memory leak in logical replication subscribers (Hou Zhijie)", "commit_aliases": ["3238b5c33", "3a6ef0cdf", "9e0d9a24e", "ac0e2d387", "d873b5a5a", "ed2a7a6bf"], "source_commits": ["9e0d9a24e"], "source_entry_id": "12.12/changes/022", "db_id": "a343fad24b31cd090a93924efc9ed686", "patch_ids": ["539c7d20a0d1a39e7a676fcb986f4254"], "statement_hash": "3752db30a90495d0ebc9d920f2424cf749723996df3a8f64cf980c78dcba5b75", "relations": [{"rule": 2, "type": "equivalent", "target": "18e9aa854000311994dbee2d7fadd023", "evidence": {"same_day": true, "patch_ids": ["539c7d20a0d1a39e7a676fcb986f4254"], "statement_hash": "3752db30a90495d0ebc9d920f2424cf749723996df3a8f64cf980c78dcba5b75"}}, {"rule": 2, "type": "equivalent", "target": "230b4855bf5bb9cd4aaee0a7c0084362", "evidence": {"same_day": true, "patch_ids": ["539c7d20a0d1a39e7a676fcb986f4254"], "statement_hash": "3752db30a90495d0ebc9d920f2424cf749723996df3a8f64cf980c78dcba5b75"}}, {"rule": 2, "type": "equivalent", "target": "61c5b479075eae8a72f17ca3e8d955b8", "evidence": {"same_day": true, "patch_ids": ["539c7d20a0d1a39e7a676fcb986f4254"], "statement_hash": "3752db30a90495d0ebc9d920f2424cf749723996df3a8f64cf980c78dcba5b75"}}, {"rule": 2, "type": "equivalent", "target": "7161d023732b23d6f187b47cc5774f22", "evidence": {"same_day": true, "patch_ids": ["539c7d20a0d1a39e7a676fcb986f4254"], "statement_hash": "3752db30a90495d0ebc9d920f2424cf749723996df3a8f64cf980c78dcba5b75"}}], "version": "12.12", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "61c5b479075eae8a72f17ca3e8d955b8", "kind": "equivalent", "version": "14.5", "label": "14.5", "title": "修复逻辑复制订阅者中的内存泄漏", "evidence": {"same_day": true, "patch_ids": ["539c7d20a0d1a39e7a676fcb986f4254"], "statement_hash": "3752db30a90495d0ebc9d920f2424cf749723996df3a8f64cf980c78dcba5b75"}, "url": "/docs/compare/?release=14.5#14.5-4f5025ba61cf2a50", "source_url": "/docs/release/14.5/#ZH-AUTO-RELEASE-14-SECT2-36"}, {"db_id": "7161d023732b23d6f187b47cc5774f22", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "修复逻辑复制订阅者中的内存泄漏", "evidence": {"same_day": true, "patch_ids": ["539c7d20a0d1a39e7a676fcb986f4254"], "statement_hash": "3752db30a90495d0ebc9d920f2424cf749723996df3a8f64cf980c78dcba5b75"}, "url": "/docs/compare/?release=13.8#13.8-4d5fbe36cf684b64", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "230b4855bf5bb9cd4aaee0a7c0084362", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "修复逻辑复制订阅者中的内存泄漏", "evidence": {"same_day": true, "patch_ids": ["539c7d20a0d1a39e7a676fcb986f4254"], "statement_hash": "3752db30a90495d0ebc9d920f2424cf749723996df3a8f64cf980c78dcba5b75"}, "url": "/docs/compare/?release=11.17#11.17-d40e79c74a2907a7", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "18e9aa854000311994dbee2d7fadd023", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "修复逻辑复制订阅者中的内存泄漏", "evidence": {"same_day": true, "patch_ids": ["539c7d20a0d1a39e7a676fcb986f4254"], "statement_hash": "3752db30a90495d0ebc9d920f2424cf749723996df3a8f64cf980c78dcba5b75"}, "url": "/docs/compare/?release=10.22#10.22-d40e79c74a2907a7", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "12.12-24c0b218ae896606", "cves": [], "html": "<p>防止在读取无效时区缩写文件时发生打开文件泄漏（Kyotaro Horiguchi）<a href=\"https://postgr.es/c/a3faebd6a\">§</a></p>\n<p>这种情况可能导致无害的警告消息。</p>", "text": "防止在读取无效时区缩写文件时发生打开文件泄漏（Kyotaro Horiguchi）§ 这种情况可能导致无害的警告消息。", "title": "防止在读取无效时区缩写文件时发生打开文件泄漏", "commits": ["a3faebd6a"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.12/#id-1.11.6.16.5", "source_hash": "2f223c8fc892511f87fe3759eb9b72c884e72cd2a5525458ca7380c6d3964698", "section_path": ["变更"], "commit_groups": [["16c80e7d0", "2114910ca", "a3faebd6a", "ae758e603", "c47a55852", "c73748b68"]], "identity_text": "Prevent open-file leak when reading an invalid timezone abbreviation file (Kyotaro Horiguchi) Such cases could result in harmless warning messages.", "commit_aliases": ["16c80e7d0", "2114910ca", "a3faebd6a", "ae758e603", "c47a55852", "c73748b68"], "source_commits": ["a3faebd6a"], "source_entry_id": "12.12/changes/023", "db_id": "b7388343276b32b204401ea9ae9de70d", "patch_ids": ["57dfc389692272f52882320d3c9d4b97"], "statement_hash": "8acbf40b5c103e45ccc79db3b1cec33fd7db4ecacae9bb90726dba78e007aa9c", "relations": [{"rule": 2, "type": "equivalent", "target": "07fe7bdcc314b8b8e7591f75c3ce07cc", "evidence": {"same_day": false, "patch_ids": ["57dfc389692272f52882320d3c9d4b97"], "statement_hash": "8acbf40b5c103e45ccc79db3b1cec33fd7db4ecacae9bb90726dba78e007aa9c"}}, {"rule": 2, "type": "equivalent", "target": "4a5d6351b37425bd4223c246effcb4d7", "evidence": {"same_day": true, "patch_ids": ["57dfc389692272f52882320d3c9d4b97"], "statement_hash": "8acbf40b5c103e45ccc79db3b1cec33fd7db4ecacae9bb90726dba78e007aa9c"}}, {"rule": 2, "type": "equivalent", "target": "6dc1762a69b1b8e6998d39ff7acd3719", "evidence": {"same_day": true, "patch_ids": ["57dfc389692272f52882320d3c9d4b97"], "statement_hash": "8acbf40b5c103e45ccc79db3b1cec33fd7db4ecacae9bb90726dba78e007aa9c"}}, {"rule": 2, "type": "equivalent", "target": "df4c23579a74f79ac4c7191ad0cfbae9", "evidence": {"same_day": true, "patch_ids": ["57dfc389692272f52882320d3c9d4b97"], "statement_hash": "8acbf40b5c103e45ccc79db3b1cec33fd7db4ecacae9bb90726dba78e007aa9c"}}], "version": "12.12", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "07fe7bdcc314b8b8e7591f75c3ce07cc", "kind": "equivalent", "version": "14.4", "label": "14.4", "title": "防止在读取无效时区缩写文件时发生打开文件泄漏", "evidence": {"same_day": false, "patch_ids": ["57dfc389692272f52882320d3c9d4b97"], "statement_hash": "8acbf40b5c103e45ccc79db3b1cec33fd7db4ecacae9bb90726dba78e007aa9c"}, "url": "/docs/compare/?release=14.4#14.4-96fb7c4d60448fe6", "source_url": "/docs/release/14.4/#ZH-AUTO-RELEASE-14-SECT2-38"}, {"db_id": "df4c23579a74f79ac4c7191ad0cfbae9", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "防止在读取无效时区缩写文件时发生打开文件泄漏", "evidence": {"same_day": true, "patch_ids": ["57dfc389692272f52882320d3c9d4b97"], "statement_hash": "8acbf40b5c103e45ccc79db3b1cec33fd7db4ecacae9bb90726dba78e007aa9c"}, "url": "/docs/compare/?release=13.8#13.8-a253150b44167651", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "6dc1762a69b1b8e6998d39ff7acd3719", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "防止在读取无效时区缩写文件时发生打开文件泄漏", "evidence": {"same_day": true, "patch_ids": ["57dfc389692272f52882320d3c9d4b97"], "statement_hash": "8acbf40b5c103e45ccc79db3b1cec33fd7db4ecacae9bb90726dba78e007aa9c"}, "url": "/docs/compare/?release=11.17#11.17-3e4d8caec3834ae0", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "4a5d6351b37425bd4223c246effcb4d7", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "防止在读取无效时区缩写文件时发生打开文件泄漏", "evidence": {"same_day": true, "patch_ids": ["57dfc389692272f52882320d3c9d4b97"], "statement_hash": "8acbf40b5c103e45ccc79db3b1cec33fd7db4ecacae9bb90726dba78e007aa9c"}, "url": "/docs/compare/?release=10.22#10.22-3e4d8caec3834ae0", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "12.12-d713a6e5e495d81e", "cves": [], "html": "<p>允许自定义服务器参数具有为 NULL 的简短描述（Steve Chavez）<a href=\"https://postgr.es/c/ae236bf66\">§</a></p>\n<p>之前，虽然扩展可以选择创建这样的设置，但某些代码路径在处理它们时会崩溃。</p>", "text": "允许自定义服务器参数具有为 NULL 的简短描述（Steve Chavez）§ 之前，虽然扩展可以选择创建这样的设置，但某些代码路径在处理它们时会崩溃。", "title": "允许自定义服务器参数具有为 NULL 的简短描述", "commits": ["ae236bf66"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.12/#id-1.11.6.16.5", "source_hash": "7ff4eff2c75fa1a4bdff4b6877fe8f6ccbdc41fac710b3e55b9737fcb27b2dd9", "section_path": ["变更"], "commit_groups": [["1b40ceea2", "1e6802990", "ae236bf66", "c3db8a2e2", "f1431f3bf", "fe441a031"]], "identity_text": "Allow custom server parameters to have short descriptions that are NULL (Steve Chavez) Previously, although extensions could choose to create such settings, some code paths would crash while processing them.", "commit_aliases": ["1b40ceea2", "1e6802990", "ae236bf66", "c3db8a2e2", "f1431f3bf", "fe441a031"], "source_commits": ["ae236bf66"], "source_entry_id": "12.12/changes/024", "db_id": "9e01c5e70ead8eb482ef06763d8ff745", "patch_ids": ["6f26a07a5ff6fe0e3ef6fd8d4dc369e5"], "statement_hash": "3abd4e5d08992e04bc25a61695c3927530baa406649e9a4b5f10ba890db2d2fc", "relations": [{"rule": 2, "type": "equivalent", "target": "15787b38474cabde4ed787ee0ea849e4", "evidence": {"same_day": false, "patch_ids": ["6f26a07a5ff6fe0e3ef6fd8d4dc369e5"], "statement_hash": "3abd4e5d08992e04bc25a61695c3927530baa406649e9a4b5f10ba890db2d2fc"}}, {"rule": 2, "type": "equivalent", "target": "83a9a8613f0fb6f9c9bec05ab27e6874", "evidence": {"same_day": true, "patch_ids": ["6f26a07a5ff6fe0e3ef6fd8d4dc369e5"], "statement_hash": "3abd4e5d08992e04bc25a61695c3927530baa406649e9a4b5f10ba890db2d2fc"}}, {"rule": 2, "type": "equivalent", "target": "85ebfd35c671e894717fdd49e5994567", "evidence": {"same_day": true, "patch_ids": ["6f26a07a5ff6fe0e3ef6fd8d4dc369e5"], "statement_hash": "3abd4e5d08992e04bc25a61695c3927530baa406649e9a4b5f10ba890db2d2fc"}}, {"rule": 2, "type": "equivalent", "target": "b8560733dbf9efd6e6cc1b34c6135d92", "evidence": {"same_day": true, "patch_ids": ["6f26a07a5ff6fe0e3ef6fd8d4dc369e5"], "statement_hash": "3abd4e5d08992e04bc25a61695c3927530baa406649e9a4b5f10ba890db2d2fc"}}], "version": "12.12", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "15787b38474cabde4ed787ee0ea849e4", "kind": "equivalent", "version": "14.4", "label": "14.4", "title": "允许自定义服务器参数具有为 NULL 的简短描述", "evidence": {"same_day": false, "patch_ids": ["6f26a07a5ff6fe0e3ef6fd8d4dc369e5"], "statement_hash": "3abd4e5d08992e04bc25a61695c3927530baa406649e9a4b5f10ba890db2d2fc"}, "url": "/docs/compare/?release=14.4#14.4-8b84ff7b68f6eea0", "source_url": "/docs/release/14.4/#ZH-AUTO-RELEASE-14-SECT2-38"}, {"db_id": "b8560733dbf9efd6e6cc1b34c6135d92", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "允许自定义服务器参数具有为 NULL 的简短描述", "evidence": {"same_day": true, "patch_ids": ["6f26a07a5ff6fe0e3ef6fd8d4dc369e5"], "statement_hash": "3abd4e5d08992e04bc25a61695c3927530baa406649e9a4b5f10ba890db2d2fc"}, "url": "/docs/compare/?release=13.8#13.8-e9902cfd52652d6c", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "85ebfd35c671e894717fdd49e5994567", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "允许自定义服务器参数具有为 NULL 的简短描述", "evidence": {"same_day": true, "patch_ids": ["6f26a07a5ff6fe0e3ef6fd8d4dc369e5"], "statement_hash": "3abd4e5d08992e04bc25a61695c3927530baa406649e9a4b5f10ba890db2d2fc"}, "url": "/docs/compare/?release=11.17#11.17-351b14796093201c", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "83a9a8613f0fb6f9c9bec05ab27e6874", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "允许自定义服务器参数具有为 NULL 的简短描述", "evidence": {"same_day": true, "patch_ids": ["6f26a07a5ff6fe0e3ef6fd8d4dc369e5"], "statement_hash": "3abd4e5d08992e04bc25a61695c3927530baa406649e9a4b5f10ba890db2d2fc"}, "url": "/docs/compare/?release=10.22#10.22-351b14796093201c", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "12.12-3c70bdcb838e7cd3", "cves": [], "html": "<p>修复 WAL 一致性检查逻辑以正确处理 <code>BRIN_EVACUATE_PAGE</code> 标志（Haiyang Wang）<a href=\"https://postgr.es/c/49b85e481\">§</a> <a href=\"https://postgr.es/c/3aafd5da7\">§</a></p>", "text": "修复 WAL 一致性检查逻辑以正确处理 BRIN_EVACUATE_PAGE 标志（Haiyang Wang）§ §", "title": "修复 WAL 一致性检查逻辑以正确处理 BRIN_EVACUATE_PAGE 标志", "commits": ["3aafd5da7", "49b85e481"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.12/#id-1.11.6.16.5", "source_hash": "6fa46853ca091a380b130a9ce1730da7f8a04cfd0f641eae29741f7f7463b9d3", "section_path": ["变更"], "commit_groups": [["1626590f2", "3aafd5da7", "61904503b", "8e5874964", "9c3006000", "afe58c8b7", "f4beef1c2"], ["2cff30259", "39e45d3ce", "49b85e481", "541f41d4f", "de31e6f81", "e44dae07f", "e797c7a6f"]], "identity_text": "Fix WAL consistency checking logic to correctly handle BRIN_EVACUATE_PAGE flags (Haiyang Wang)", "commit_aliases": ["1626590f2", "2cff30259", "39e45d3ce", "3aafd5da7", "49b85e481", "541f41d4f", "61904503b", "8e5874964", "9c3006000", "afe58c8b7", "de31e6f81", "e44dae07f", "e797c7a6f", "f4beef1c2"], "source_commits": ["3aafd5da7", "49b85e481"], "source_entry_id": "12.12/changes/025", "db_id": "60d4a502230125b09080142abc21046f", "patch_ids": ["6e1204eb4e4b20bae4ccd2300e272190", "ebc6efc5e79da6b5a7a015a03df883f6"], "statement_hash": "b4025f14ae731dbf7543188469e7c09a49273c244b9191d47c861b6dbddefbcd", "relations": [{"rule": 2, "type": "equivalent", "target": "006dc3e2f88197a8275eacece6f5eff7", "evidence": {"same_day": true, "patch_ids": ["6e1204eb4e4b20bae4ccd2300e272190", "ebc6efc5e79da6b5a7a015a03df883f6"], "statement_hash": "b4025f14ae731dbf7543188469e7c09a49273c244b9191d47c861b6dbddefbcd"}}, {"rule": 2, "type": "equivalent", "target": "2720f3de7331929eee8670b9d5b83131", "evidence": {"same_day": true, "patch_ids": ["6e1204eb4e4b20bae4ccd2300e272190", "ebc6efc5e79da6b5a7a015a03df883f6"], "statement_hash": "b4025f14ae731dbf7543188469e7c09a49273c244b9191d47c861b6dbddefbcd"}}, {"rule": 2, "type": "equivalent", "target": "51ceeddec4d387eab995ec6128f4876a", "evidence": {"same_day": true, "patch_ids": ["6e1204eb4e4b20bae4ccd2300e272190", "ebc6efc5e79da6b5a7a015a03df883f6"], "statement_hash": "b4025f14ae731dbf7543188469e7c09a49273c244b9191d47c861b6dbddefbcd"}}, {"rule": 2, "type": "equivalent", "target": "698d996a37cf6215fdde9bdb4fa969c4", "evidence": {"same_day": true, "patch_ids": ["6e1204eb4e4b20bae4ccd2300e272190", "ebc6efc5e79da6b5a7a015a03df883f6"], "statement_hash": "b4025f14ae731dbf7543188469e7c09a49273c244b9191d47c861b6dbddefbcd"}}], "version": "12.12", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "006dc3e2f88197a8275eacece6f5eff7", "kind": "equivalent", "version": "14.5", "label": "14.5", "title": "修复 WAL 一致性检查逻辑以正确处理 BRIN_EVACUATE_PAGE 标志", "evidence": {"same_day": true, "patch_ids": ["6e1204eb4e4b20bae4ccd2300e272190", "ebc6efc5e79da6b5a7a015a03df883f6"], "statement_hash": "b4025f14ae731dbf7543188469e7c09a49273c244b9191d47c861b6dbddefbcd"}, "url": "/docs/compare/?release=14.5#14.5-1f1c70c64441db39", "source_url": "/docs/release/14.5/#ZH-AUTO-RELEASE-14-SECT2-36"}, {"db_id": "698d996a37cf6215fdde9bdb4fa969c4", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "修复 WAL 一致性检查逻辑以正确处理 BRIN_EVACUATE_PAGE 标志", "evidence": {"same_day": true, "patch_ids": ["6e1204eb4e4b20bae4ccd2300e272190", "ebc6efc5e79da6b5a7a015a03df883f6"], "statement_hash": "b4025f14ae731dbf7543188469e7c09a49273c244b9191d47c861b6dbddefbcd"}, "url": "/docs/compare/?release=13.8#13.8-fb091486c9f74f65", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "51ceeddec4d387eab995ec6128f4876a", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "修复 WAL 一致性检查逻辑以正确处理 BRIN_EVACUATE_PAGE 标志", "evidence": {"same_day": true, "patch_ids": ["6e1204eb4e4b20bae4ccd2300e272190", "ebc6efc5e79da6b5a7a015a03df883f6"], "statement_hash": "b4025f14ae731dbf7543188469e7c09a49273c244b9191d47c861b6dbddefbcd"}, "url": "/docs/compare/?release=11.17#11.17-caa1010b4eb8f5a9", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "2720f3de7331929eee8670b9d5b83131", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "修复 WAL 一致性检查逻辑以正确处理 BRIN_EVACUATE_PAGE 标志", "evidence": {"same_day": true, "patch_ids": ["6e1204eb4e4b20bae4ccd2300e272190", "ebc6efc5e79da6b5a7a015a03df883f6"], "statement_hash": "b4025f14ae731dbf7543188469e7c09a49273c244b9191d47c861b6dbddefbcd"}, "url": "/docs/compare/?release=10.22#10.22-caa1010b4eb8f5a9", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "12.12-1630b65f549a89ab", "cves": [], "html": "<p>修复共享 hash 表管理中的错误断言检查（Thomas Munro）<a href=\"https://postgr.es/c/4f88dbac2\">§</a></p>", "text": "修复共享 hash 表管理中的错误断言检查（Thomas Munro）§", "title": "修复共享 hash 表管理中的错误断言检查", "commits": ["4f88dbac2"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.12/#id-1.11.6.16.5", "source_hash": "e5a95e30def775bc8b356cef8f4e45148a40ac845e4423f68ebe225c10745db3", "section_path": ["变更"], "commit_groups": [["4f88dbac2", "53df1e28d", "5e7608e81", "7cdd0c2d7", "cd26139a3", "eed959a45"]], "identity_text": "Fix erroneous assertion checks in shared hashtable management (Thomas Munro)", "commit_aliases": ["4f88dbac2", "53df1e28d", "5e7608e81", "7cdd0c2d7", "cd26139a3", "eed959a45"], "source_commits": ["4f88dbac2"], "source_entry_id": "12.12/changes/026", "db_id": "bd1f5175935214421f392fe00d34300c", "patch_ids": ["bb4de33b3d83d4e3d8554acd4082734d"], "statement_hash": "b30bb46ecf1383660549a7273a4d736b860f47944d3b879cfe1ce9476ec6f674", "relations": [{"rule": 2, "type": "equivalent", "target": "4b8e56a817dba1a8e89b8c85fa676440", "evidence": {"same_day": true, "patch_ids": ["bb4de33b3d83d4e3d8554acd4082734d"], "statement_hash": "b30bb46ecf1383660549a7273a4d736b860f47944d3b879cfe1ce9476ec6f674"}}, {"rule": 2, "type": "equivalent", "target": "53e2c0f64c6a1e0b8a484cf8159e16f9", "evidence": {"same_day": true, "patch_ids": ["bb4de33b3d83d4e3d8554acd4082734d"], "statement_hash": "b30bb46ecf1383660549a7273a4d736b860f47944d3b879cfe1ce9476ec6f674"}}, {"rule": 2, "type": "equivalent", "target": "8c2b3266b36bfc38f3a68b530b103ccd", "evidence": {"same_day": true, "patch_ids": ["bb4de33b3d83d4e3d8554acd4082734d"], "statement_hash": "b30bb46ecf1383660549a7273a4d736b860f47944d3b879cfe1ce9476ec6f674"}}], "version": "12.12", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "8c2b3266b36bfc38f3a68b530b103ccd", "kind": "equivalent", "version": "14.5", "label": "14.5", "title": "修复共享 hash 表管理中的错误断言检查", "evidence": {"same_day": true, "patch_ids": ["bb4de33b3d83d4e3d8554acd4082734d"], "statement_hash": "b30bb46ecf1383660549a7273a4d736b860f47944d3b879cfe1ce9476ec6f674"}, "url": "/docs/compare/?release=14.5#14.5-c1cf7e181dfe5824", "source_url": "/docs/release/14.5/#ZH-AUTO-RELEASE-14-SECT2-36"}, {"db_id": "4b8e56a817dba1a8e89b8c85fa676440", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "修复共享 hash 表管理中的错误断言检查", "evidence": {"same_day": true, "patch_ids": ["bb4de33b3d83d4e3d8554acd4082734d"], "statement_hash": "b30bb46ecf1383660549a7273a4d736b860f47944d3b879cfe1ce9476ec6f674"}, "url": "/docs/compare/?release=13.8#13.8-ac4fa795705798e0", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "53e2c0f64c6a1e0b8a484cf8159e16f9", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "修复共享 hash 表管理中的错误断言检查", "evidence": {"same_day": true, "patch_ids": ["bb4de33b3d83d4e3d8554acd4082734d"], "statement_hash": "b30bb46ecf1383660549a7273a4d736b860f47944d3b879cfe1ce9476ec6f674"}, "url": "/docs/compare/?release=11.17#11.17-f97ce44109c92295", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}]}, {"id": "12.12-a333e7979fea0ee2", "cves": [], "html": "<p>安排在 <code>SPI_commit()</code> 中的提交时错误后进行清理，而不是期望调用者来做（Peter Eisentraut，Tom Lane）<a href=\"https://postgr.es/c/293f5c5f4\">§</a> <a href=\"https://postgr.es/c/9af9e2094\">§</a></p>\n<p>正确的清理很复杂，需要使用底层设施，因此已知的调用者没有一个做对了也不足为奇。这导致当 PL 过程执行 <code>COMMIT</code> 但发生失败（如延迟约束检查）时出现异常行为。为了改善情况，将 <code>SPI_commit()</code> 重新定义为启动一个新事务，使其等价于 <code>SPI_commit_and_chain()</code>，只是获得默认事务特性而不是保留先前事务的特性。为了使此更改在 API 层面具有一定透明性，将 <code>SPI_start_transaction()</code> 重新定义为空操作。所有已知的 <code>SPI_commit()</code> 调用者都会立即调用 <code>SPI_start_transaction()</code>，因此它们不会注意到任何变化。类似的说明适用于 <code>SPI_rollback()</code>。</p>\n<p>另外修复了 PL/Python，它完全遗漏了对此类错误的任何处理，导致跳出 Python 解释器。据报告这会导致 Python 3.11 崩溃。较旧的 Python 版本会泄漏一些内存，但似乎在其他方面没有问题。</p>", "text": "安排在 SPI_commit() 中的提交时错误后进行清理，而不是期望调用者来做（Peter Eisentraut，Tom Lane）§ § 正确的清理很复杂，需要使用底层设施，因此已知的调用者没有一个做对了也不足为奇。这导致当 PL 过程执行 COMMIT 但发生失败（如延迟约束检查）时出现异常行为。为了改善情况，将 SPI_commit() 重新定义为启动一个新事务，使其等价于 SPI_commit_and_chain()，只是获得默认事务特性而不是保留先前事务的特性。为了使此更改在 API 层面具有一定透明性，将 SPI_start_transaction() 重新定义为空操作。所有已知的 SPI_commit() 调用者都会立即调用 SPI_start_transaction()，因此它们不会注意到任何变化。类似的说明适用于 SPI_rollback()。 另外修复了 PL/Python，它完全遗漏了对此类错误的任何处理，导致跳出 Python 解释器。据报告这会导致 Python 3.11 崩溃。较旧的 Python 版本会泄漏一些内存，但似乎在其他方面没有问题。", "title": "安排在 SPI_commit() 中的提交时错误后进行清理，而不是期望调用者来做", "commits": ["293f5c5f4", "9af9e2094"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.12/#id-1.11.6.16.5", "source_hash": "cf9543e94819c29f452b2007e19740a56719aaa0260d1832e56a5e17ca294bd2", "section_path": ["变更"], "commit_groups": [["293f5c5f4", "2f6b8c287", "604651880", "cfc86f987"], ["6d61aef5d", "8657946d3", "9af9e2094", "b2c8d5661"]], "identity_text": "Arrange to clean up after commit-time errors within SPI_commit(), rather than expecting callers to do that (Peter Eisentraut, Tom Lane) Proper cleanup is complicated and requires use of low-level facilities, so it's not surprising that no known caller got it right. This led to misbehaviors when a PL procedure issued COMMIT but a failure occurred (such as a deferred constraint check). To improve matters, redefine SPI_commit() as starting a new transaction, so that it becomes equivalent to SPI_commit_and_chain() except that you get default transaction characteristics instead of preserving the prior transaction's characteristics. To make this somewhat transparent API-wise, redefine SPI_start_transaction() as a no-op. All known callers of SPI_commit() immediately call SPI_start_transaction(), so they will not notice any change. Similar remarks apply to SPI_rollback(). Also fix PL/Python, which omitted any handling of such errors at all, resulting in jumping out of the Python interpreter. This is reported to crash Python 3.11. Older Python releases leak some memory but seem okay with it otherwise.", "commit_aliases": ["293f5c5f4", "2f6b8c287", "604651880", "6d61aef5d", "8657946d3", "9af9e2094", "b2c8d5661", "cfc86f987"], "source_commits": ["293f5c5f4", "9af9e2094"], "source_entry_id": "12.12/changes/027", "db_id": "64ccc747dc6132c2023e21bf601a3dcb", "patch_ids": ["8cd48dcc426d6d1641d9d50ec1e5dded", "d63e3f0c4d521046d55f61fcc7d5a995"], "statement_hash": "064fc46ac8d2c682921224db741428e9e0aa63a1501bd5e3048ce36f06b03faf", "relations": [{"rule": 2, "type": "equivalent", "target": "455644e2a0145c42f0c9333e4fd01322", "evidence": {"same_day": true, "patch_ids": ["8cd48dcc426d6d1641d9d50ec1e5dded", "d63e3f0c4d521046d55f61fcc7d5a995"], "statement_hash": "064fc46ac8d2c682921224db741428e9e0aa63a1501bd5e3048ce36f06b03faf"}}, {"rule": 2, "type": "equivalent", "target": "ecc8451032d4a13317ad11b635d6ad8e", "evidence": {"same_day": true, "patch_ids": ["8cd48dcc426d6d1641d9d50ec1e5dded", "d63e3f0c4d521046d55f61fcc7d5a995"], "statement_hash": "064fc46ac8d2c682921224db741428e9e0aa63a1501bd5e3048ce36f06b03faf"}}, {"rule": 2, "type": "equivalent", "target": "f54e497fe75e4fb33cae3f16e790301d", "evidence": {"same_day": true, "patch_ids": ["8cd48dcc426d6d1641d9d50ec1e5dded", "d63e3f0c4d521046d55f61fcc7d5a995"], "statement_hash": "064fc46ac8d2c682921224db741428e9e0aa63a1501bd5e3048ce36f06b03faf"}}], "version": "12.12", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "ecc8451032d4a13317ad11b635d6ad8e", "kind": "equivalent", "version": "14.5", "label": "14.5", "title": "安排在 SPI_commit() 中的提交时错误后进行清理，而不是期望调用者来做", "evidence": {"same_day": true, "patch_ids": ["8cd48dcc426d6d1641d9d50ec1e5dded", "d63e3f0c4d521046d55f61fcc7d5a995"], "statement_hash": "064fc46ac8d2c682921224db741428e9e0aa63a1501bd5e3048ce36f06b03faf"}, "url": "/docs/compare/?release=14.5#14.5-dd202d7cba3beb9b", "source_url": "/docs/release/14.5/#ZH-AUTO-RELEASE-14-SECT2-36"}, {"db_id": "f54e497fe75e4fb33cae3f16e790301d", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "安排在 SPI_commit() 中的提交时错误后进行清理，而不是期望调用者来做", "evidence": {"same_day": true, "patch_ids": ["8cd48dcc426d6d1641d9d50ec1e5dded", "d63e3f0c4d521046d55f61fcc7d5a995"], "statement_hash": "064fc46ac8d2c682921224db741428e9e0aa63a1501bd5e3048ce36f06b03faf"}, "url": "/docs/compare/?release=13.8#13.8-8e85ba9504c8f1c4", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "455644e2a0145c42f0c9333e4fd01322", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "安排在 SPI_commit() 中的提交时错误后进行清理，而不是期望调用者来做", "evidence": {"same_day": true, "patch_ids": ["8cd48dcc426d6d1641d9d50ec1e5dded", "d63e3f0c4d521046d55f61fcc7d5a995"], "statement_hash": "064fc46ac8d2c682921224db741428e9e0aa63a1501bd5e3048ce36f06b03faf"}, "url": "/docs/compare/?release=11.17#11.17-eee4e6dea329b6a4", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}]}, {"id": "12.12-e39963543620ce56", "cves": [], "html": "<p>移除 <span>libpq</span> 中不恰当的 SSL 密钥文件所有权检查（Tom Lane）<a href=\"https://postgr.es/c/01ab9fb7d\">§</a></p>\n<p>在之前的小版本中，我们将服务器对 SSL 私钥文件的权限检查规则复制到了 libpq 中。但我们不应该同时复制服务器的文件所有权检查。虽然在正常使用场景下这没有问题，但对于以 root 身份运行的客户端可能会导致意外的失败，在其他情况下也可能如此。</p>", "text": "移除 libpq 中不恰当的 SSL 密钥文件所有权检查（Tom Lane）§ 在之前的小版本中，我们将服务器对 SSL 私钥文件的权限检查规则复制到了 libpq 中。但我们不应该同时复制服务器的文件所有权检查。虽然在正常使用场景下这没有问题，但对于以 root 身份运行的客户端可能会导致意外的失败，在其他情况下也可能如此。", "title": "移除 libpq 中不恰当的 SSL 密钥文件所有权检查", "commits": ["01ab9fb7d"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.12/#id-1.11.6.16.5", "source_hash": "5c22af6fd086d4f0b51401c86fcd21f5acb3ac68bef0c9b4541c87d1899a0f62", "section_path": ["变更"], "commit_groups": [["01ab9fb7d", "2b65de7fc", "9e3dbc6fd", "a44bc8b8f", "b4be4a082", "ef54a6576"]], "identity_text": "Remove misguided SSL key file ownership check in libpq (Tom Lane) In the previous minor releases, we copied the server's permission checking rules for SSL private key files into libpq. But we should not have also copied the server's file-ownership check. While that works in normal use-cases, it can result in an unexpected failure for clients running as root, and perhaps in other cases.", "commit_aliases": ["01ab9fb7d", "2b65de7fc", "9e3dbc6fd", "a44bc8b8f", "b4be4a082", "ef54a6576"], "source_commits": ["01ab9fb7d"], "source_entry_id": "12.12/changes/028", "db_id": "808ddcf7300d73cfc75141bd60205968", "patch_ids": ["d8dd8878b155405be50eb1d29fe2e356"], "statement_hash": "e3197a87e285933376cb8fce81898e45702089915329ddeeb22e41d441233a23", "relations": [{"rule": 2, "type": "equivalent", "target": "6dca87110e704a26bb818967b4bcc868", "evidence": {"same_day": true, "patch_ids": ["d8dd8878b155405be50eb1d29fe2e356"], "statement_hash": "e3197a87e285933376cb8fce81898e45702089915329ddeeb22e41d441233a23"}}, {"rule": 2, "type": "equivalent", "target": "87ec4dfcaa656b77e208e62fae117396", "evidence": {"same_day": false, "patch_ids": ["d8dd8878b155405be50eb1d29fe2e356"], "statement_hash": "e3197a87e285933376cb8fce81898e45702089915329ddeeb22e41d441233a23"}}, {"rule": 2, "type": "equivalent", "target": "c32010b470a422cb9cab4ab6ba21e2e3", "evidence": {"same_day": true, "patch_ids": ["d8dd8878b155405be50eb1d29fe2e356"], "statement_hash": "e3197a87e285933376cb8fce81898e45702089915329ddeeb22e41d441233a23"}}, {"rule": 2, "type": "equivalent", "target": "e0fda3fa1fd5bd65ff3880d496bda2dd", "evidence": {"same_day": true, "patch_ids": ["d8dd8878b155405be50eb1d29fe2e356"], "statement_hash": "e3197a87e285933376cb8fce81898e45702089915329ddeeb22e41d441233a23"}}], "version": "12.12", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "87ec4dfcaa656b77e208e62fae117396", "kind": "equivalent", "version": "14.4", "label": "14.4", "title": "移除 libpq 中不恰当的 SSL 密钥文件所有权检查", "evidence": {"same_day": false, "patch_ids": ["d8dd8878b155405be50eb1d29fe2e356"], "statement_hash": "e3197a87e285933376cb8fce81898e45702089915329ddeeb22e41d441233a23"}, "url": "/docs/compare/?release=14.4#14.4-5b6e2d7df84f87be", "source_url": "/docs/release/14.4/#ZH-AUTO-RELEASE-14-SECT2-38"}, {"db_id": "c32010b470a422cb9cab4ab6ba21e2e3", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "移除 libpq 中不恰当的 SSL 密钥文件所有权检查", "evidence": {"same_day": true, "patch_ids": ["d8dd8878b155405be50eb1d29fe2e356"], "statement_hash": "e3197a87e285933376cb8fce81898e45702089915329ddeeb22e41d441233a23"}, "url": "/docs/compare/?release=13.8#13.8-a41827c9671df1a0", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "e0fda3fa1fd5bd65ff3880d496bda2dd", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "移除 libpq 中不恰当的 SSL 密钥文件所有权检查", "evidence": {"same_day": true, "patch_ids": ["d8dd8878b155405be50eb1d29fe2e356"], "statement_hash": "e3197a87e285933376cb8fce81898e45702089915329ddeeb22e41d441233a23"}, "url": "/docs/compare/?release=11.17#11.17-1000bd0b722464b9", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "6dca87110e704a26bb818967b4bcc868", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "移除 libpq 中不恰当的 SSL 密钥文件所有权检查", "evidence": {"same_day": true, "patch_ids": ["d8dd8878b155405be50eb1d29fe2e356"], "statement_hash": "e3197a87e285933376cb8fce81898e45702089915329ddeeb22e41d441233a23"}, "url": "/docs/compare/?release=10.22#10.22-1000bd0b722464b9", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "12.12-f9009fa3cb561e5a", "cves": [], "html": "<p>确保 <span>ecpg</span> 合理地报告服务器连接丢失（Tom Lane）<a href=\"https://postgr.es/c/02026cadb\">§</a></p>\n<p>对 libpq 生成的错误结果（例如连接丢失报告）的错误处理，会导致打印 <span>“<span>(null)</span>”</span> 而非有用的错误消息；在更早的版本中则会导致崩溃。</p>", "text": "确保 ecpg 合理地报告服务器连接丢失（Tom Lane）§ 对 libpq 生成的错误结果（例如连接丢失报告）的错误处理，会导致打印 “(null)” 而非有用的错误消息；在更早的版本中则会导致崩溃。", "title": "确保 ecpg 合理地报告服务器连接丢失", "commits": ["02026cadb"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.12/#id-1.11.6.16.5", "source_hash": "42d8c93bfb4ac08a71a1f6aa8256eabdb7f954d1af37567e530bae429a85ae13", "section_path": ["变更"], "commit_groups": [["02026cadb", "16d68007c", "6d157e7cb", "89254606b", "a5dbca460", "d82ed5b2f"]], "identity_text": "Ensure ecpg reports server connection loss sanely (Tom Lane) Misprocessing of a libpq-generated error result, such as a report of lost connection, would lead to printing (null) instead of a useful error message; or in older releases it would lead to a crash.", "commit_aliases": ["02026cadb", "16d68007c", "6d157e7cb", "89254606b", "a5dbca460", "d82ed5b2f"], "source_commits": ["02026cadb"], "source_entry_id": "12.12/changes/029", "db_id": "9a2d1904fd7c6edbed2eaa066e2fb9af", "patch_ids": ["0dc2b7824381eab04941b47efcdc409f"], "statement_hash": "c0763bbed91862aacac198cb8923b83f789153dcaf96668d2229bcbaa849f038", "relations": [{"rule": 2, "type": "equivalent", "target": "7f35c3853013434255cd2f579c928965", "evidence": {"same_day": false, "patch_ids": ["0dc2b7824381eab04941b47efcdc409f"], "statement_hash": "c0763bbed91862aacac198cb8923b83f789153dcaf96668d2229bcbaa849f038"}}, {"rule": 2, "type": "equivalent", "target": "b69ca81749a3d3c124f2d922b0c164e3", "evidence": {"same_day": true, "patch_ids": ["0dc2b7824381eab04941b47efcdc409f"], "statement_hash": "c0763bbed91862aacac198cb8923b83f789153dcaf96668d2229bcbaa849f038"}}, {"rule": 2, "type": "equivalent", "target": "d1e3be98acf75dfcc864e82ac2600966", "evidence": {"same_day": true, "patch_ids": ["0dc2b7824381eab04941b47efcdc409f"], "statement_hash": "c0763bbed91862aacac198cb8923b83f789153dcaf96668d2229bcbaa849f038"}}, {"rule": 2, "type": "equivalent", "target": "d49bae63b2f43da94a73cff71067eb58", "evidence": {"same_day": true, "patch_ids": ["0dc2b7824381eab04941b47efcdc409f"], "statement_hash": "c0763bbed91862aacac198cb8923b83f789153dcaf96668d2229bcbaa849f038"}}], "version": "12.12", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "7f35c3853013434255cd2f579c928965", "kind": "equivalent", "version": "14.4", "label": "14.4", "title": "确保 ecpg 合理地报告服务器连接丢失", "evidence": {"same_day": false, "patch_ids": ["0dc2b7824381eab04941b47efcdc409f"], "statement_hash": "c0763bbed91862aacac198cb8923b83f789153dcaf96668d2229bcbaa849f038"}, "url": "/docs/compare/?release=14.4#14.4-7581c8cc53ace1e3", "source_url": "/docs/release/14.4/#ZH-AUTO-RELEASE-14-SECT2-38"}, {"db_id": "d1e3be98acf75dfcc864e82ac2600966", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "确保 ecpg 合理地报告服务器连接丢失", "evidence": {"same_day": true, "patch_ids": ["0dc2b7824381eab04941b47efcdc409f"], "statement_hash": "c0763bbed91862aacac198cb8923b83f789153dcaf96668d2229bcbaa849f038"}, "url": "/docs/compare/?release=13.8#13.8-fa3bfe6b812ffde2", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "d49bae63b2f43da94a73cff71067eb58", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "确保 ecpg 合理地报告服务器连接丢失", "evidence": {"same_day": true, "patch_ids": ["0dc2b7824381eab04941b47efcdc409f"], "statement_hash": "c0763bbed91862aacac198cb8923b83f789153dcaf96668d2229bcbaa849f038"}, "url": "/docs/compare/?release=11.17#11.17-f9f3b5ee3385c287", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "b69ca81749a3d3c124f2d922b0c164e3", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "确保 ecpg 合理地报告服务器连接丢失", "evidence": {"same_day": true, "patch_ids": ["0dc2b7824381eab04941b47efcdc409f"], "statement_hash": "c0763bbed91862aacac198cb8923b83f789153dcaf96668d2229bcbaa849f038"}, "url": "/docs/compare/?release=10.22#10.22-f9f3b5ee3385c287", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "12.12-f252734d71b69247", "cves": [], "html": "<p>避免 <span>ecpglib</span> 在意外的操作顺序下出现核心转储（Tom Lane）<a href=\"https://postgr.es/c/9a3aab0f2\">§</a></p>\n<p>某些操作如 <code>EXEC SQL PREPARE</code> 在建立任何数据库连接之前调用时会崩溃（而不是按预期报告错误）。</p>", "text": "避免 ecpglib 在意外的操作顺序下出现核心转储（Tom Lane）§ 某些操作如 EXEC SQL PREPARE 在建立任何数据库连接之前调用时会崩溃（而不是按预期报告错误）。", "title": "避免 ecpglib 在意外的操作顺序下出现核心转储", "commits": ["9a3aab0f2"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.12/#id-1.11.6.16.5", "source_hash": "c598bf241503c09eaa84f3c87114bcfc4ba7e9a99634fdd6d2be5e8899eb6de9", "section_path": ["变更"], "commit_groups": [["12b8fb34a", "7bc21ed8c", "86258f083", "9a3aab0f2", "ba412c905", "f7797747f"]], "identity_text": "Avoid core dump in ecpglib with unexpected orders of operations (Tom Lane) Certain operations such as EXEC SQL PREPARE would crash (rather than reporting an error as expected) if called before establishing any database connection.", "commit_aliases": ["12b8fb34a", "7bc21ed8c", "86258f083", "9a3aab0f2", "ba412c905", "f7797747f"], "source_commits": ["9a3aab0f2"], "source_entry_id": "12.12/changes/030", "db_id": "c0070ab4e6821970d0db2c353e4bca26", "patch_ids": ["b22949fbbbc95a4107f2140a4938f37b"], "statement_hash": "a77f722f3b45a1b5f9e88a264b597caf55b6c905630eabeb55c329c8408697ad", "relations": [{"rule": 2, "type": "equivalent", "target": "162c4017014882b40f5127341fe8a315", "evidence": {"same_day": true, "patch_ids": ["b22949fbbbc95a4107f2140a4938f37b"], "statement_hash": "a77f722f3b45a1b5f9e88a264b597caf55b6c905630eabeb55c329c8408697ad"}}, {"rule": 2, "type": "equivalent", "target": "4b62a77fa0872f24e03578b164c35171", "evidence": {"same_day": true, "patch_ids": ["b22949fbbbc95a4107f2140a4938f37b"], "statement_hash": "a77f722f3b45a1b5f9e88a264b597caf55b6c905630eabeb55c329c8408697ad"}}, {"rule": 2, "type": "equivalent", "target": "6ea9982419018b8fcaf4be1e5fd73962", "evidence": {"same_day": true, "patch_ids": ["b22949fbbbc95a4107f2140a4938f37b"], "statement_hash": "a77f722f3b45a1b5f9e88a264b597caf55b6c905630eabeb55c329c8408697ad"}}, {"rule": 2, "type": "equivalent", "target": "bf47fe3fa00dba835ff2e0ce92875c8d", "evidence": {"same_day": true, "patch_ids": ["b22949fbbbc95a4107f2140a4938f37b"], "statement_hash": "a77f722f3b45a1b5f9e88a264b597caf55b6c905630eabeb55c329c8408697ad"}}], "version": "12.12", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "bf47fe3fa00dba835ff2e0ce92875c8d", "kind": "equivalent", "version": "14.5", "label": "14.5", "title": "避免 ecpglib 在意外的操作顺序下出现核心转储", "evidence": {"same_day": true, "patch_ids": ["b22949fbbbc95a4107f2140a4938f37b"], "statement_hash": "a77f722f3b45a1b5f9e88a264b597caf55b6c905630eabeb55c329c8408697ad"}, "url": "/docs/compare/?release=14.5#14.5-59a6aea7b2cf8b46", "source_url": "/docs/release/14.5/#ZH-AUTO-RELEASE-14-SECT2-36"}, {"db_id": "6ea9982419018b8fcaf4be1e5fd73962", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "避免 ecpglib 在意外的操作顺序下出现核心转储", "evidence": {"same_day": true, "patch_ids": ["b22949fbbbc95a4107f2140a4938f37b"], "statement_hash": "a77f722f3b45a1b5f9e88a264b597caf55b6c905630eabeb55c329c8408697ad"}, "url": "/docs/compare/?release=13.8#13.8-87dd65095e83efc8", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "4b62a77fa0872f24e03578b164c35171", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "避免 ecpglib 在意外的操作顺序下出现核心转储", "evidence": {"same_day": true, "patch_ids": ["b22949fbbbc95a4107f2140a4938f37b"], "statement_hash": "a77f722f3b45a1b5f9e88a264b597caf55b6c905630eabeb55c329c8408697ad"}, "url": "/docs/compare/?release=11.17#11.17-0129d6e860912466", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "162c4017014882b40f5127341fe8a315", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "避免 ecpglib 在意外的操作顺序下出现核心转储", "evidence": {"same_day": true, "patch_ids": ["b22949fbbbc95a4107f2140a4938f37b"], "statement_hash": "a77f722f3b45a1b5f9e88a264b597caf55b6c905630eabeb55c329c8408697ad"}, "url": "/docs/compare/?release=10.22#10.22-0129d6e860912466", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "12.12-f21655e3bfc5a5b4", "cves": [], "html": "<p>在 <span>ecpglib</span> 中，避免冗余的 <code>newlocale()</code> 调用（Noah Misch）<a href=\"https://postgr.es/c/5e0b8f3f4\">§</a> <a href=\"https://postgr.es/c/a4240139f\">§</a></p>\n<p>在首次连接时每个进程分配一次 C 区域设置对象，而不是每次查询都创建和释放区域设置对象。这缓解了 AIX 上 libc 的内存泄漏问题，并且可能在所有平台上提供一些性能改善。</p>", "text": "在 ecpglib 中，避免冗余的 newlocale() 调用（Noah Misch）§ § 在首次连接时每个进程分配一次 C 区域设置对象，而不是每次查询都创建和释放区域设置对象。这缓解了 AIX 上 libc 的内存泄漏问题，并且可能在所有平台上提供一些性能改善。", "title": "在 ecpglib 中，避免冗余的 newlocale() 调用", "commits": ["5e0b8f3f4", "a4240139f"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.12/#id-1.11.6.16.5", "source_hash": "12a90971fe2fbd54e6a4de041c18790b91f1f6c4a3515006ee6047fac90e6626", "section_path": ["变更"], "commit_groups": [["12b2a2369", "5633836ef", "5b94e2bd4", "5e0b8f3f4", "7a28f7cb0", "b4d7e92bd", "d68b731a1"], ["1cad30e3b", "463a841d7", "8533eb181", "97b005f3f", "a4240139f", "e2bc24283", "f5e4d64bb"]], "identity_text": "In ecpglib, avoid redundant newlocale() calls (Noah Misch) Allocate a C locale object once per process when first connecting, rather than creating and freeing locale objects once per query. This mitigates a libc memory leak on AIX, and may offer some performance benefit everywhere.", "commit_aliases": ["12b2a2369", "1cad30e3b", "463a841d7", "5633836ef", "5b94e2bd4", "5e0b8f3f4", "7a28f7cb0", "8533eb181", "97b005f3f", "a4240139f", "b4d7e92bd", "d68b731a1", "e2bc24283", "f5e4d64bb"], "source_commits": ["5e0b8f3f4", "a4240139f"], "source_entry_id": "12.12/changes/031", "db_id": "b78c9e20bd7c102d32e23b23513c5e4b", "patch_ids": ["4fbdda9712dcf12c5767702d0bb6bcca", "736a7e2d332c231e6239ad95ff829713"], "statement_hash": "efd9ae1c9c31d6f8c977b248d2a79b8babb63b96e0fd6ad4c3edb4bd221f4957", "relations": [{"rule": 2, "type": "equivalent", "target": "126fcc988590ce34debe9efd9d3e0c9e", "evidence": {"same_day": true, "patch_ids": ["4fbdda9712dcf12c5767702d0bb6bcca", "736a7e2d332c231e6239ad95ff829713"], "statement_hash": "efd9ae1c9c31d6f8c977b248d2a79b8babb63b96e0fd6ad4c3edb4bd221f4957"}}, {"rule": 2, "type": "equivalent", "target": "2327feff43ef28a431cbd88343c54217", "evidence": {"same_day": true, "patch_ids": ["4fbdda9712dcf12c5767702d0bb6bcca", "736a7e2d332c231e6239ad95ff829713"], "statement_hash": "efd9ae1c9c31d6f8c977b248d2a79b8babb63b96e0fd6ad4c3edb4bd221f4957"}}, {"rule": 2, "type": "equivalent", "target": "47946dd7c3b3ec8642a88a11e10e2ec2", "evidence": {"same_day": true, "patch_ids": ["4fbdda9712dcf12c5767702d0bb6bcca", "736a7e2d332c231e6239ad95ff829713"], "statement_hash": "efd9ae1c9c31d6f8c977b248d2a79b8babb63b96e0fd6ad4c3edb4bd221f4957"}}, {"rule": 2, "type": "equivalent", "target": "629606c1eade321373cade72312a2bdb", "evidence": {"same_day": true, "patch_ids": ["4fbdda9712dcf12c5767702d0bb6bcca", "736a7e2d332c231e6239ad95ff829713"], "statement_hash": "efd9ae1c9c31d6f8c977b248d2a79b8babb63b96e0fd6ad4c3edb4bd221f4957"}}], "version": "12.12", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "47946dd7c3b3ec8642a88a11e10e2ec2", "kind": "equivalent", "version": "14.5", "label": "14.5", "title": "在 ecpglib 中，避免冗余的 newlocale() 调用", "evidence": {"same_day": true, "patch_ids": ["4fbdda9712dcf12c5767702d0bb6bcca", "736a7e2d332c231e6239ad95ff829713"], "statement_hash": "efd9ae1c9c31d6f8c977b248d2a79b8babb63b96e0fd6ad4c3edb4bd221f4957"}, "url": "/docs/compare/?release=14.5#14.5-2e6cd6755629651a", "source_url": "/docs/release/14.5/#ZH-AUTO-RELEASE-14-SECT2-36"}, {"db_id": "2327feff43ef28a431cbd88343c54217", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "在 ecpglib 中，避免冗余的 newlocale() 调用", "evidence": {"same_day": true, "patch_ids": ["4fbdda9712dcf12c5767702d0bb6bcca", "736a7e2d332c231e6239ad95ff829713"], "statement_hash": "efd9ae1c9c31d6f8c977b248d2a79b8babb63b96e0fd6ad4c3edb4bd221f4957"}, "url": "/docs/compare/?release=13.8#13.8-c91d0b4c7c0b155c", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "126fcc988590ce34debe9efd9d3e0c9e", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "在 ecpglib 中，避免冗余的 newlocale() 调用", "evidence": {"same_day": true, "patch_ids": ["4fbdda9712dcf12c5767702d0bb6bcca", "736a7e2d332c231e6239ad95ff829713"], "statement_hash": "efd9ae1c9c31d6f8c977b248d2a79b8babb63b96e0fd6ad4c3edb4bd221f4957"}, "url": "/docs/compare/?release=11.17#11.17-d91b900feeeb17f7", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "629606c1eade321373cade72312a2bdb", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "在 ecpglib 中，避免冗余的 newlocale() 调用", "evidence": {"same_day": true, "patch_ids": ["4fbdda9712dcf12c5767702d0bb6bcca", "736a7e2d332c231e6239ad95ff829713"], "statement_hash": "efd9ae1c9c31d6f8c977b248d2a79b8babb63b96e0fd6ad4c3edb4bd221f4957"}, "url": "/docs/compare/?release=10.22#10.22-d91b900feeeb17f7", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "12.12-0b7e198cdeff2405", "cves": [], "html": "<p>在 <span>psql</span> 的 <code>\\watch</code> 命令中，使用 control-C 取消后回显换行符（Pavel Stehule）<a href=\"https://postgr.es/c/09224a35c\">§</a></p>\n<p>这防止 libedit（也可能是 libreadline）对光标所在列的位置产生混乱。</p>", "text": "在 psql 的 \\watch 命令中，使用 control-C 取消后回显换行符（Pavel Stehule）§ 这防止 libedit（也可能是 libreadline）对光标所在列的位置产生混乱。", "title": "在 psql 的 \\watch 命令中，使用 control-C 取消后回显换行符", "commits": ["09224a35c"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.12/#id-1.11.6.16.5", "source_hash": "1f86e9517db2dfa0843f6d881772b6bff824e3206ee1a2b78a32246126c76612", "section_path": ["变更"], "commit_groups": [["09224a35c", "21267b647", "21ed12b14", "31b485f88", "7c5953b7b", "ab7fef0ac", "e5b5b4448"]], "identity_text": "In psql's \\watch command, echo a newline after cancellation with control-C (Pavel Stehule) This prevents libedit (and possibly also libreadline) from becoming confused about which column the cursor is in.", "commit_aliases": ["09224a35c", "21267b647", "21ed12b14", "31b485f88", "7c5953b7b", "ab7fef0ac", "e5b5b4448"], "source_commits": ["09224a35c"], "source_entry_id": "12.12/changes/032", "db_id": "77c3114e5f396f10ef9cc7e388e4cc9d", "patch_ids": ["f4597a7fe73f219571c869d939d59d5f"], "statement_hash": "6da98e60977a7bf56505b1cd758ac213477664dc14b057c74665fbcc6d5b5edc", "relations": [{"rule": 2, "type": "equivalent", "target": "1cd9fa8920774d0a5c399f3631b6d8d5", "evidence": {"same_day": true, "patch_ids": ["f4597a7fe73f219571c869d939d59d5f"], "statement_hash": "6da98e60977a7bf56505b1cd758ac213477664dc14b057c74665fbcc6d5b5edc"}}, {"rule": 2, "type": "equivalent", "target": "2e80c2a540fd723d13803b390fff3ebf", "evidence": {"same_day": true, "patch_ids": ["f4597a7fe73f219571c869d939d59d5f"], "statement_hash": "6da98e60977a7bf56505b1cd758ac213477664dc14b057c74665fbcc6d5b5edc"}}, {"rule": 2, "type": "equivalent", "target": "3ec75a25d9045ca44f4f8485a65a6f83", "evidence": {"same_day": true, "patch_ids": ["f4597a7fe73f219571c869d939d59d5f"], "statement_hash": "6da98e60977a7bf56505b1cd758ac213477664dc14b057c74665fbcc6d5b5edc"}}, {"rule": 2, "type": "equivalent", "target": "c87c80c89ba5bfdfd5473508e0528b58", "evidence": {"same_day": true, "patch_ids": ["f4597a7fe73f219571c869d939d59d5f"], "statement_hash": "6da98e60977a7bf56505b1cd758ac213477664dc14b057c74665fbcc6d5b5edc"}}], "version": "12.12", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "1cd9fa8920774d0a5c399f3631b6d8d5", "kind": "equivalent", "version": "14.5", "label": "14.5", "title": "在 psql 的 \\watch 命令中，使用 control-C 取消后回显换行符", "evidence": {"same_day": true, "patch_ids": ["f4597a7fe73f219571c869d939d59d5f"], "statement_hash": "6da98e60977a7bf56505b1cd758ac213477664dc14b057c74665fbcc6d5b5edc"}, "url": "/docs/compare/?release=14.5#14.5-f90b4abebb399737", "source_url": "/docs/release/14.5/#ZH-AUTO-RELEASE-14-SECT2-36"}, {"db_id": "3ec75a25d9045ca44f4f8485a65a6f83", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "在 psql 的 \\watch 命令中，使用 control-C 取消后回显换行符", "evidence": {"same_day": true, "patch_ids": ["f4597a7fe73f219571c869d939d59d5f"], "statement_hash": "6da98e60977a7bf56505b1cd758ac213477664dc14b057c74665fbcc6d5b5edc"}, "url": "/docs/compare/?release=13.8#13.8-9f00b52f499b73e6", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "c87c80c89ba5bfdfd5473508e0528b58", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "在 psql 的 \\watch 命令中，使用 control-C 取消后回显换行符", "evidence": {"same_day": true, "patch_ids": ["f4597a7fe73f219571c869d939d59d5f"], "statement_hash": "6da98e60977a7bf56505b1cd758ac213477664dc14b057c74665fbcc6d5b5edc"}, "url": "/docs/compare/?release=11.17#11.17-e0c1ae085e4dc0ca", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "2e80c2a540fd723d13803b390fff3ebf", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "在 psql 的 \\watch 命令中，使用 control-C 取消后回显换行符", "evidence": {"same_day": true, "patch_ids": ["f4597a7fe73f219571c869d939d59d5f"], "statement_hash": "6da98e60977a7bf56505b1cd758ac213477664dc14b057c74665fbcc6d5b5edc"}, "url": "/docs/compare/?release=10.22#10.22-e0c1ae085e4dc0ca", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "12.12-5cf7343636b1341e", "cves": [], "html": "<p>修复在 <span>pg_upgrade</span> 使用 <code>--clone</code> 选项时 <code>clone()</code> 失败后可能报告错误的错误条件（Justin Pryzby）<a href=\"https://postgr.es/c/24872bbf9\">§</a></p>", "text": "修复在 pg_upgrade 使用 --clone 选项时 clone() 失败后可能报告错误的错误条件（Justin Pryzby）§", "title": "修复在 pg_upgrade 使用 --clone 选项时 clone() 失败后可能报告错误的错误条件", "commits": ["24872bbf9"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.12/#id-1.11.6.16.5", "source_hash": "3c02fa70a7adbea40f450cd60ab78e7c0388e26cc5324e1a7dea30ad6b2a56c5", "section_path": ["变更"], "commit_groups": [["07abcd9ab", "24872bbf9", "523926dea", "8b1ec7d29", "aadaaeff4"]], "identity_text": "Fix possible report of wrong error condition after clone() failure in pg_upgrade with --clone option (Justin Pryzby)", "commit_aliases": ["07abcd9ab", "24872bbf9", "523926dea", "8b1ec7d29", "aadaaeff4"], "source_commits": ["24872bbf9"], "source_entry_id": "12.12/changes/033", "db_id": "35070f06ad11c436074f097a94e47ae6", "patch_ids": ["b3164c3e439fbae8c0835030bac4aee6"], "statement_hash": "bb1569d604080205f82cbdc45a055ced6ef696c4e758932480cd4bebb6afe0cf", "relations": [{"rule": 2, "type": "equivalent", "target": "9ed109f5866c13e2bd13ccfb18663496", "evidence": {"same_day": true, "patch_ids": ["b3164c3e439fbae8c0835030bac4aee6"], "statement_hash": "bb1569d604080205f82cbdc45a055ced6ef696c4e758932480cd4bebb6afe0cf"}}, {"rule": 2, "type": "equivalent", "target": "f050dcdd32ca5164b4d58b0863c273b7", "evidence": {"same_day": true, "patch_ids": ["b3164c3e439fbae8c0835030bac4aee6"], "statement_hash": "bb1569d604080205f82cbdc45a055ced6ef696c4e758932480cd4bebb6afe0cf"}}], "version": "12.12", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "f050dcdd32ca5164b4d58b0863c273b7", "kind": "equivalent", "version": "14.5", "label": "14.5", "title": "修复在 pg_upgrade 使用 --clone 选项时 clone() 失败后可能报告错误的错误条件", "evidence": {"same_day": true, "patch_ids": ["b3164c3e439fbae8c0835030bac4aee6"], "statement_hash": "bb1569d604080205f82cbdc45a055ced6ef696c4e758932480cd4bebb6afe0cf"}, "url": "/docs/compare/?release=14.5#14.5-e0b8d13f9e3f3158", "source_url": "/docs/release/14.5/#ZH-AUTO-RELEASE-14-SECT2-36"}, {"db_id": "9ed109f5866c13e2bd13ccfb18663496", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "修复在 pg_upgrade 使用 --clone 选项时 clone() 失败后可能报告错误的错误条件", "evidence": {"same_day": true, "patch_ids": ["b3164c3e439fbae8c0835030bac4aee6"], "statement_hash": "bb1569d604080205f82cbdc45a055ced6ef696c4e758932480cd4bebb6afe0cf"}, "url": "/docs/compare/?release=13.8#13.8-dab2fc37f0fc7081", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}]}, {"id": "12.12-8f07e2c58c575e2b", "cves": [], "html": "<p>修复 <code>contrib/pg_stat_statements</code> 以避免在 32 位平台上处理非常大的查询文本文件时出现问题（Tom Lane）<a href=\"https://postgr.es/c/6608a4305\">§</a></p>", "text": "修复 contrib/pg_stat_statements 以避免在 32 位平台上处理非常大的查询文本文件时出现问题（Tom Lane）§", "title": "修复 contrib/pg_stat_statements 以避免在 32 位平台上处理非常大的查询文本文件时出现问题", "commits": ["6608a4305"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.12/#id-1.11.6.16.5", "source_hash": "01ebbaf3c21df0184dec88422e77506fcdf134584f1aa9a426152c750e0b9a4c", "section_path": ["变更"], "commit_groups": [["06f6a07ba", "17fd203b4", "6608a4305", "6b67db10c", "82ebc70d1", "c67c2e2a2", "dd414bf4e"]], "identity_text": "Fix contrib/pg_stat_statements to avoid problems with very large query-text files on 32-bit platforms (Tom Lane)", "commit_aliases": ["06f6a07ba", "17fd203b4", "6608a4305", "6b67db10c", "82ebc70d1", "c67c2e2a2", "dd414bf4e"], "source_commits": ["6608a4305"], "source_entry_id": "12.12/changes/034", "db_id": "85f65ff2a50a2d1600932e5cfd8a1beb", "patch_ids": ["5c561562338652fbd2978b8c7fd4af58"], "statement_hash": "1ef60a8a11d4a5203df51974ca2623291b1050625268229225f346ef344e9387", "relations": [{"rule": 2, "type": "equivalent", "target": "303caeec8188b6bd2c981e1a87ea5e11", "evidence": {"same_day": true, "patch_ids": ["5c561562338652fbd2978b8c7fd4af58"], "statement_hash": "1ef60a8a11d4a5203df51974ca2623291b1050625268229225f346ef344e9387"}}, {"rule": 2, "type": "equivalent", "target": "66a0865c69ac09b3e786222e1b449439", "evidence": {"same_day": true, "patch_ids": ["5c561562338652fbd2978b8c7fd4af58"], "statement_hash": "1ef60a8a11d4a5203df51974ca2623291b1050625268229225f346ef344e9387"}}, {"rule": 2, "type": "equivalent", "target": "9b7517499af13b5440e8c01109aa927c", "evidence": {"same_day": true, "patch_ids": ["5c561562338652fbd2978b8c7fd4af58"], "statement_hash": "1ef60a8a11d4a5203df51974ca2623291b1050625268229225f346ef344e9387"}}, {"rule": 2, "type": "equivalent", "target": "fb0f351216d9052c86c02e598f998b3a", "evidence": {"same_day": true, "patch_ids": ["5c561562338652fbd2978b8c7fd4af58"], "statement_hash": "1ef60a8a11d4a5203df51974ca2623291b1050625268229225f346ef344e9387"}}], "version": "12.12", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "303caeec8188b6bd2c981e1a87ea5e11", "kind": "equivalent", "version": "14.5", "label": "14.5", "title": "修复 contrib/pg_stat_statements 以避免在 32 位平台上处理非常大的查询文本文件时出现问题", "evidence": {"same_day": true, "patch_ids": ["5c561562338652fbd2978b8c7fd4af58"], "statement_hash": "1ef60a8a11d4a5203df51974ca2623291b1050625268229225f346ef344e9387"}, "url": "/docs/compare/?release=14.5#14.5-f77a82bc2052a471", "source_url": "/docs/release/14.5/#ZH-AUTO-RELEASE-14-SECT2-36"}, {"db_id": "fb0f351216d9052c86c02e598f998b3a", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "修复 contrib/pg_stat_statements 以避免在 32 位平台上处理非常大的查询文本文件时出现问题", "evidence": {"same_day": true, "patch_ids": ["5c561562338652fbd2978b8c7fd4af58"], "statement_hash": "1ef60a8a11d4a5203df51974ca2623291b1050625268229225f346ef344e9387"}, "url": "/docs/compare/?release=13.8#13.8-b51c1305ae7216c3", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "66a0865c69ac09b3e786222e1b449439", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "修复 contrib/pg_stat_statements 以避免在 32 位平台上处理非常大的查询文本文件时出现问题", "evidence": {"same_day": true, "patch_ids": ["5c561562338652fbd2978b8c7fd4af58"], "statement_hash": "1ef60a8a11d4a5203df51974ca2623291b1050625268229225f346ef344e9387"}, "url": "/docs/compare/?release=11.17#11.17-1722e544c614dd52", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "9b7517499af13b5440e8c01109aa927c", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "修复 contrib/pg_stat_statements 以避免在 32 位平台上处理非常大的查询文本文件时出现问题", "evidence": {"same_day": true, "patch_ids": ["5c561562338652fbd2978b8c7fd4af58"], "statement_hash": "1ef60a8a11d4a5203df51974ca2623291b1050625268229225f346ef344e9387"}, "url": "/docs/compare/?release=10.22#10.22-1722e544c614dd52", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "12.12-de1d1400d5da71bd", "cves": [], "html": "<p>确保 <code>contrib/postgres_fdw</code> 在发送 <code>regconfig</code> 和其他 <code>reg*</code> 类型的常量时使用正确的模式限定（Tom Lane）<a href=\"https://postgr.es/c/288e499ba\">§</a></p>", "text": "确保 contrib/postgres_fdw 在发送 regconfig 和其他 reg* 类型的常量时使用正确的模式限定（Tom Lane）§", "title": "确保 contrib/postgres_fdw 在发送 regconfig 和其他 reg* 类型的常量时使用正确的模式限定", "commits": ["288e499ba"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.12/#id-1.11.6.16.5", "source_hash": "ff9306af99e3f36f9926c532b105ac196b6b222988ddd643c8c524a218f900a5", "section_path": ["变更"], "commit_groups": [["0a7ccee8f", "26c9e1bd8", "288e499ba", "6230bd7df", "810bcbd38", "94bcb48ab", "b8032f481"]], "identity_text": "Ensure that contrib/postgres_fdw sends constants of regconfig and other reg* types with proper schema qualification (Tom Lane)", "commit_aliases": ["0a7ccee8f", "26c9e1bd8", "288e499ba", "6230bd7df", "810bcbd38", "94bcb48ab", "b8032f481"], "source_commits": ["288e499ba"], "source_entry_id": "12.12/changes/035", "db_id": "7b530e4e7e18bd058a4722c9e7fd15dc", "patch_ids": ["21f81f5bc08ec2d5686f38f7a66216ed"], "statement_hash": "b4dc81d857a92201f8ac7a0923077edd18f6698c8e0dbd55622de6cd4d3ff7e6", "relations": [{"rule": 2, "type": "equivalent", "target": "690b3202e83468041107a8ad2d6248e9", "evidence": {"same_day": true, "patch_ids": ["21f81f5bc08ec2d5686f38f7a66216ed"], "statement_hash": "b4dc81d857a92201f8ac7a0923077edd18f6698c8e0dbd55622de6cd4d3ff7e6"}}, {"rule": 2, "type": "equivalent", "target": "6adc0427b7464aefbcb655f09795c2d2", "evidence": {"same_day": true, "patch_ids": ["21f81f5bc08ec2d5686f38f7a66216ed"], "statement_hash": "b4dc81d857a92201f8ac7a0923077edd18f6698c8e0dbd55622de6cd4d3ff7e6"}}, {"rule": 2, "type": "equivalent", "target": "ddfcd82cd175f9f0ba7d1d0241d9ca3d", "evidence": {"same_day": true, "patch_ids": ["21f81f5bc08ec2d5686f38f7a66216ed"], "statement_hash": "b4dc81d857a92201f8ac7a0923077edd18f6698c8e0dbd55622de6cd4d3ff7e6"}}, {"rule": 2, "type": "equivalent", "target": "e1ebe9437fc12b259db81db67a8d4827", "evidence": {"same_day": true, "patch_ids": ["21f81f5bc08ec2d5686f38f7a66216ed"], "statement_hash": "b4dc81d857a92201f8ac7a0923077edd18f6698c8e0dbd55622de6cd4d3ff7e6"}}], "version": "12.12", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "6adc0427b7464aefbcb655f09795c2d2", "kind": "equivalent", "version": "14.5", "label": "14.5", "title": "确保 contrib/postgres_fdw 在发送 regconfig 和其他 reg* 类型的常量时使用正确的模式限定", "evidence": {"same_day": true, "patch_ids": ["21f81f5bc08ec2d5686f38f7a66216ed"], "statement_hash": "b4dc81d857a92201f8ac7a0923077edd18f6698c8e0dbd55622de6cd4d3ff7e6"}, "url": "/docs/compare/?release=14.5#14.5-cb8d828de3b9aa9f", "source_url": "/docs/release/14.5/#ZH-AUTO-RELEASE-14-SECT2-36"}, {"db_id": "e1ebe9437fc12b259db81db67a8d4827", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "确保 contrib/postgres_fdw 在发送 regconfig 和其他 reg* 类型的常量时使用正确的模式限定", "evidence": {"same_day": true, "patch_ids": ["21f81f5bc08ec2d5686f38f7a66216ed"], "statement_hash": "b4dc81d857a92201f8ac7a0923077edd18f6698c8e0dbd55622de6cd4d3ff7e6"}, "url": "/docs/compare/?release=13.8#13.8-1d25140f0463a84a", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "ddfcd82cd175f9f0ba7d1d0241d9ca3d", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "确保 contrib/postgres_fdw 在发送 regconfig 和其他 reg* 类型的常量时使用正确的模式限定", "evidence": {"same_day": true, "patch_ids": ["21f81f5bc08ec2d5686f38f7a66216ed"], "statement_hash": "b4dc81d857a92201f8ac7a0923077edd18f6698c8e0dbd55622de6cd4d3ff7e6"}, "url": "/docs/compare/?release=11.17#11.17-42f75baf2d42f02e", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "690b3202e83468041107a8ad2d6248e9", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "确保 contrib/postgres_fdw 在发送 regconfig 和其他 reg* 类型的常量时使用正确的模式限定", "evidence": {"same_day": true, "patch_ids": ["21f81f5bc08ec2d5686f38f7a66216ed"], "statement_hash": "b4dc81d857a92201f8ac7a0923077edd18f6698c8e0dbd55622de6cd4d3ff7e6"}, "url": "/docs/compare/?release=10.22#10.22-42f75baf2d42f02e", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "12.12-100e4196985d61b2", "cves": [], "html": "<p>在 Linux 上分配动态共享内存时阻塞信号（Thomas Munro）<a href=\"https://postgr.es/c/ff78bf796\">§</a> <a href=\"https://postgr.es/c/a05f40ef8\">§</a> <a href=\"https://postgr.es/c/1661c40b9\">§</a></p>\n<p>这避免了信号中断 <code>posix_fallocate()</code> 时的问题。</p>", "text": "在 Linux 上分配动态共享内存时阻塞信号（Thomas Munro）§ § § 这避免了信号中断 posix_fallocate() 时的问题。", "title": "在 Linux 上分配动态共享内存时阻塞信号", "commits": ["1661c40b9", "a05f40ef8", "ff78bf796"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.12/#id-1.11.6.16.5", "source_hash": "95b0efa8c419d718d84494db1b7f65df13d35059a65535aa5d103f58b8d143ca", "section_path": ["变更"], "commit_groups": [["1661c40b9", "3b8d23a3e", "3f2344d4a", "91377a455", "c412c60b9", "c75b6b454", "d3b0884c0"], ["17aa39da5", "74a9ee034", "80845b7c0", "838364559", "a05f40ef8", "a715c2004", "e26024bea"], ["2019e6ecf", "39683c69a", "4518c798b", "53cfe403c", "c4a617ea1", "e73fe6e82", "ff78bf796"]], "identity_text": "Block signals while allocating dynamic shared memory on Linux (Thomas Munro) This avoids problems when a signal interrupts posix_fallocate().", "commit_aliases": ["1661c40b9", "17aa39da5", "2019e6ecf", "39683c69a", "3b8d23a3e", "3f2344d4a", "4518c798b", "53cfe403c", "74a9ee034", "80845b7c0", "838364559", "91377a455", "a05f40ef8", "a715c2004", "c412c60b9", "c4a617ea1", "c75b6b454", "d3b0884c0", "e26024bea", "e73fe6e82", "ff78bf796"], "source_commits": ["1661c40b9", "a05f40ef8", "ff78bf796"], "source_entry_id": "12.12/changes/036", "db_id": "d9cf16774ac8b4ce263dac4c514ad2cc", "patch_ids": ["27c113054ce78927aea125152d07b023", "65aee4baddf14094bab39b3ab3f6d1a7", "c73e77e1c735ed8cf9792e592b38a0eb"], "statement_hash": "6024752fb37c56e747f0456782e2907a19f3daa6ecac46b12b2666cdf202fe6d", "relations": [{"rule": 2, "type": "equivalent", "target": "7b5d93cf118621bca636647d4c979f09", "evidence": {"same_day": true, "patch_ids": ["27c113054ce78927aea125152d07b023", "65aee4baddf14094bab39b3ab3f6d1a7", "c73e77e1c735ed8cf9792e592b38a0eb"], "statement_hash": "6024752fb37c56e747f0456782e2907a19f3daa6ecac46b12b2666cdf202fe6d"}}, {"rule": 2, "type": "equivalent", "target": "a8aeebdeb154860772f3fa0e205185cc", "evidence": {"same_day": true, "patch_ids": ["27c113054ce78927aea125152d07b023", "65aee4baddf14094bab39b3ab3f6d1a7", "c73e77e1c735ed8cf9792e592b38a0eb"], "statement_hash": "6024752fb37c56e747f0456782e2907a19f3daa6ecac46b12b2666cdf202fe6d"}}, {"rule": 2, "type": "equivalent", "target": "d47859a52fb602df27bc6125672e22a0", "evidence": {"same_day": true, "patch_ids": ["27c113054ce78927aea125152d07b023", "65aee4baddf14094bab39b3ab3f6d1a7", "c73e77e1c735ed8cf9792e592b38a0eb"], "statement_hash": "6024752fb37c56e747f0456782e2907a19f3daa6ecac46b12b2666cdf202fe6d"}}, {"rule": 2, "type": "equivalent", "target": "f465e7b9eee4c20b7dc15059e82e7bf5", "evidence": {"same_day": true, "patch_ids": ["27c113054ce78927aea125152d07b023", "65aee4baddf14094bab39b3ab3f6d1a7", "c73e77e1c735ed8cf9792e592b38a0eb"], "statement_hash": "6024752fb37c56e747f0456782e2907a19f3daa6ecac46b12b2666cdf202fe6d"}}], "version": "12.12", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "f465e7b9eee4c20b7dc15059e82e7bf5", "kind": "equivalent", "version": "14.5", "label": "14.5", "title": "在 Linux 上分配动态共享内存时阻塞信号", "evidence": {"same_day": true, "patch_ids": ["27c113054ce78927aea125152d07b023", "65aee4baddf14094bab39b3ab3f6d1a7", "c73e77e1c735ed8cf9792e592b38a0eb"], "statement_hash": "6024752fb37c56e747f0456782e2907a19f3daa6ecac46b12b2666cdf202fe6d"}, "url": "/docs/compare/?release=14.5#14.5-486a06a36a28b58c", "source_url": "/docs/release/14.5/#ZH-AUTO-RELEASE-14-SECT2-36"}, {"db_id": "7b5d93cf118621bca636647d4c979f09", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "在 Linux 上分配动态共享内存时阻塞信号", "evidence": {"same_day": true, "patch_ids": ["27c113054ce78927aea125152d07b023", "65aee4baddf14094bab39b3ab3f6d1a7", "c73e77e1c735ed8cf9792e592b38a0eb"], "statement_hash": "6024752fb37c56e747f0456782e2907a19f3daa6ecac46b12b2666cdf202fe6d"}, "url": "/docs/compare/?release=13.8#13.8-a39389c8e03803a2", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "d47859a52fb602df27bc6125672e22a0", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "在 Linux 上分配动态共享内存时阻塞信号", "evidence": {"same_day": true, "patch_ids": ["27c113054ce78927aea125152d07b023", "65aee4baddf14094bab39b3ab3f6d1a7", "c73e77e1c735ed8cf9792e592b38a0eb"], "statement_hash": "6024752fb37c56e747f0456782e2907a19f3daa6ecac46b12b2666cdf202fe6d"}, "url": "/docs/compare/?release=11.17#11.17-0f515653d771eb06", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "a8aeebdeb154860772f3fa0e205185cc", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "在 Linux 上分配动态共享内存时阻塞信号", "evidence": {"same_day": true, "patch_ids": ["27c113054ce78927aea125152d07b023", "65aee4baddf14094bab39b3ab3f6d1a7", "c73e77e1c735ed8cf9792e592b38a0eb"], "statement_hash": "6024752fb37c56e747f0456782e2907a19f3daa6ecac46b12b2666cdf202fe6d"}, "url": "/docs/compare/?release=10.22#10.22-0f515653d771eb06", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "12.12-fefc17491abe11f6", "cves": [], "html": "<p>检测 <code>shm_open()</code> 的意外 <code>EEXIST</code> 错误（Thomas Munro）<a href=\"https://postgr.es/c/f7b69b1e3\">§</a></p>\n<p>这避免了在 Solaris 上可能发生的崩溃。</p>", "text": "检测 shm_open() 的意外 EEXIST 错误（Thomas Munro）§ 这避免了在 Solaris 上可能发生的崩溃。", "title": "检测 shm_open() 的意外 EEXIST 错误", "commits": ["f7b69b1e3"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.12/#id-1.11.6.16.5", "source_hash": "3547cabf227a0f93f80f27c4b3e34e4f651fcb8f000b338e8923ab887c061198", "section_path": ["变更"], "commit_groups": [["22b9afaf5", "389869af5", "b436047dc", "f7b69b1e3", "facfd0467", "fb81a93a6", "fef8c7a0c"]], "identity_text": "Detect unexpected EEXIST error from shm_open() (Thomas Munro) This avoids a possible crash on Solaris.", "commit_aliases": ["22b9afaf5", "389869af5", "b436047dc", "f7b69b1e3", "facfd0467", "fb81a93a6", "fef8c7a0c"], "source_commits": ["f7b69b1e3"], "source_entry_id": "12.12/changes/037", "db_id": "30bcec4311a48a371f1114302b77ad59", "patch_ids": ["3ab9804588596690ab1389eefcd01b41"], "statement_hash": "c2e34a862a51659b92e09e36a09517651a4af5a13fbcf91b0c2919546f91afcb", "relations": [{"rule": 2, "type": "equivalent", "target": "2023604b3df6700bb9152bf411313297", "evidence": {"same_day": true, "patch_ids": ["3ab9804588596690ab1389eefcd01b41"], "statement_hash": "c2e34a862a51659b92e09e36a09517651a4af5a13fbcf91b0c2919546f91afcb"}}, {"rule": 2, "type": "equivalent", "target": "2458f2e040419b87029c81371ffebe57", "evidence": {"same_day": true, "patch_ids": ["3ab9804588596690ab1389eefcd01b41"], "statement_hash": "c2e34a862a51659b92e09e36a09517651a4af5a13fbcf91b0c2919546f91afcb"}}, {"rule": 2, "type": "equivalent", "target": "97bdbf15334583735fd7dc1372ebdb9a", "evidence": {"same_day": true, "patch_ids": ["3ab9804588596690ab1389eefcd01b41"], "statement_hash": "c2e34a862a51659b92e09e36a09517651a4af5a13fbcf91b0c2919546f91afcb"}}, {"rule": 2, "type": "equivalent", "target": "cada2ef1980e0dc609cb18ae8547fc0e", "evidence": {"same_day": true, "patch_ids": ["3ab9804588596690ab1389eefcd01b41"], "statement_hash": "c2e34a862a51659b92e09e36a09517651a4af5a13fbcf91b0c2919546f91afcb"}}], "version": "12.12", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "97bdbf15334583735fd7dc1372ebdb9a", "kind": "equivalent", "version": "14.5", "label": "14.5", "title": "检测 shm_open() 的意外 EEXIST 错误", "evidence": {"same_day": true, "patch_ids": ["3ab9804588596690ab1389eefcd01b41"], "statement_hash": "c2e34a862a51659b92e09e36a09517651a4af5a13fbcf91b0c2919546f91afcb"}, "url": "/docs/compare/?release=14.5#14.5-483fd7ae50842d2c", "source_url": "/docs/release/14.5/#ZH-AUTO-RELEASE-14-SECT2-36"}, {"db_id": "2458f2e040419b87029c81371ffebe57", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "检测 shm_open() 的意外 EEXIST 错误", "evidence": {"same_day": true, "patch_ids": ["3ab9804588596690ab1389eefcd01b41"], "statement_hash": "c2e34a862a51659b92e09e36a09517651a4af5a13fbcf91b0c2919546f91afcb"}, "url": "/docs/compare/?release=13.8#13.8-3815d1ca3beee396", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "2023604b3df6700bb9152bf411313297", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "检测 shm_open() 的意外 EEXIST 错误", "evidence": {"same_day": true, "patch_ids": ["3ab9804588596690ab1389eefcd01b41"], "statement_hash": "c2e34a862a51659b92e09e36a09517651a4af5a13fbcf91b0c2919546f91afcb"}, "url": "/docs/compare/?release=11.17#11.17-6a9471f7a9f7e765", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "cada2ef1980e0dc609cb18ae8547fc0e", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "检测 shm_open() 的意外 EEXIST 错误", "evidence": {"same_day": true, "patch_ids": ["3ab9804588596690ab1389eefcd01b41"], "statement_hash": "c2e34a862a51659b92e09e36a09517651a4af5a13fbcf91b0c2919546f91afcb"}, "url": "/docs/compare/?release=10.22#10.22-6a9471f7a9f7e765", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "12.12-c41e42afc5fdf78b", "cves": [], "html": "<p>调整 PL/Perl 测试用例使其能在 Perl 5.36 下工作（Dagfinn Ilmari Mannsåker）<a href=\"https://postgr.es/c/c08538734\">§</a></p>", "text": "调整 PL/Perl 测试用例使其能在 Perl 5.36 下工作（Dagfinn Ilmari Mannsåker）§", "title": "调整 PL/Perl 测试用例使其能在 Perl 5.36 下工作", "commits": ["c08538734"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.12/#id-1.11.6.16.5", "source_hash": "bc405fbf9f5238edb8d43aba1b78934ce4f5040b5ec6a2a486b5d620559aeeb9", "section_path": ["变更"], "commit_groups": [["1072e4c45", "6f9ea6cf3", "9fdeae848", "a3b685fdd", "b5265196e", "b53780e1b", "c08538734", "d4c161842", "d5e1d5ed9", "eb39610f8", "eeac7dd9f"]], "identity_text": "Adjust PL/Perl test case so it will work under Perl 5.36 (Dagfinn Ilmari Mannsåker)", "commit_aliases": ["1072e4c45", "6f9ea6cf3", "9fdeae848", "a3b685fdd", "b5265196e", "b53780e1b", "c08538734", "d4c161842", "d5e1d5ed9", "eb39610f8", "eeac7dd9f"], "source_commits": ["c08538734"], "source_entry_id": "12.12/changes/038", "db_id": "47d1163a6615975f3b84a168cbb7925e", "patch_ids": ["2804187c844a2be6a8ae446d5125e0a3"], "statement_hash": "34d38786996b7e7e66b48d84f1727292009455d3373ac1627b25a2120a844ace", "relations": [{"rule": 2, "type": "equivalent", "target": "64b9516f2fe9689f5aa6a0bc772d95fa", "evidence": {"same_day": false, "patch_ids": ["2804187c844a2be6a8ae446d5125e0a3"], "statement_hash": "34d38786996b7e7e66b48d84f1727292009455d3373ac1627b25a2120a844ace"}}, {"rule": 2, "type": "equivalent", "target": "bcfadd2e923bb787399f120459ed0831", "evidence": {"same_day": true, "patch_ids": ["2804187c844a2be6a8ae446d5125e0a3"], "statement_hash": "34d38786996b7e7e66b48d84f1727292009455d3373ac1627b25a2120a844ace"}}, {"rule": 2, "type": "equivalent", "target": "cc6e49273f37e92a8f11c42c0dceafce", "evidence": {"same_day": true, "patch_ids": ["2804187c844a2be6a8ae446d5125e0a3"], "statement_hash": "34d38786996b7e7e66b48d84f1727292009455d3373ac1627b25a2120a844ace"}}, {"rule": 2, "type": "equivalent", "target": "dc9d8077d31346ea833fcdc740b65306", "evidence": {"same_day": true, "patch_ids": ["2804187c844a2be6a8ae446d5125e0a3"], "statement_hash": "34d38786996b7e7e66b48d84f1727292009455d3373ac1627b25a2120a844ace"}}], "version": "12.12", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "64b9516f2fe9689f5aa6a0bc772d95fa", "kind": "equivalent", "version": "14.4", "label": "14.4", "title": "调整 PL/Perl 测试用例使其能在 Perl 5.36 下工作", "evidence": {"same_day": false, "patch_ids": ["2804187c844a2be6a8ae446d5125e0a3"], "statement_hash": "34d38786996b7e7e66b48d84f1727292009455d3373ac1627b25a2120a844ace"}, "url": "/docs/compare/?release=14.4#14.4-2da4ec6f6035d837", "source_url": "/docs/release/14.4/#ZH-AUTO-RELEASE-14-SECT2-38"}, {"db_id": "cc6e49273f37e92a8f11c42c0dceafce", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "调整 PL/Perl 测试用例使其能在 Perl 5.36 下工作", "evidence": {"same_day": true, "patch_ids": ["2804187c844a2be6a8ae446d5125e0a3"], "statement_hash": "34d38786996b7e7e66b48d84f1727292009455d3373ac1627b25a2120a844ace"}, "url": "/docs/compare/?release=13.8#13.8-a579a743a3bd2184", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "dc9d8077d31346ea833fcdc740b65306", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "调整 PL/Perl 测试用例使其能在 Perl 5.36 下工作", "evidence": {"same_day": true, "patch_ids": ["2804187c844a2be6a8ae446d5125e0a3"], "statement_hash": "34d38786996b7e7e66b48d84f1727292009455d3373ac1627b25a2120a844ace"}, "url": "/docs/compare/?release=11.17#11.17-2c7d2c84f84f180b", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "bcfadd2e923bb787399f120459ed0831", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "调整 PL/Perl 测试用例使其能在 Perl 5.36 下工作", "evidence": {"same_day": true, "patch_ids": ["2804187c844a2be6a8ae446d5125e0a3"], "statement_hash": "34d38786996b7e7e66b48d84f1727292009455d3373ac1627b25a2120a844ace"}, "url": "/docs/compare/?release=10.22#10.22-2c7d2c84f84f180b", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "12.12-6b525fcf72baa25d", "cves": [], "html": "<p>避免在构建 <span>PostgreSQL</span> 时，当存在多个 <span>OpenLDAP</span> 安装时错误地使用过时的 <span>libldap_r</span> 库（Tom Lane）<a href=\"https://postgr.es/c/8ed13fb93\">§</a></p>", "text": "避免在构建 PostgreSQL 时，当存在多个 OpenLDAP 安装时错误地使用过时的 libldap_r 库（Tom Lane）§", "title": "避免在构建 PostgreSQL 时，当存在多个 OpenLDAP 安装时错误地使用过时的 libldap_r 库", "commits": ["8ed13fb93"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.12/#id-1.11.6.16.5", "source_hash": "f4e976cbead3dc6f93a1b3769fd3295876b9f768487c7cae1636588f02e57e6c", "section_path": ["变更"], "commit_groups": [["12736e7dc", "36d76da81", "8ed13fb93", "af9b96767", "aff45c879", "c61f36d99"]], "identity_text": "Avoid incorrectly using an out-of-date libldap_r library when multiple OpenLDAP installations are present while building PostgreSQL (Tom Lane)", "commit_aliases": ["12736e7dc", "36d76da81", "8ed13fb93", "af9b96767", "aff45c879", "c61f36d99"], "source_commits": ["8ed13fb93"], "source_entry_id": "12.12/changes/039", "db_id": "996cc9ec86c642d266926eadc263addb", "patch_ids": ["88f4aa1042a3ce9789841eb94e25f7e1"], "statement_hash": "020e08f1a9d4fe1667360a127e6c77087983492a390e21ca9f2cd7c3222ff290", "relations": [{"rule": 2, "type": "equivalent", "target": "3e14d39949f688e375f392927caf9175", "evidence": {"same_day": true, "patch_ids": ["88f4aa1042a3ce9789841eb94e25f7e1"], "statement_hash": "020e08f1a9d4fe1667360a127e6c77087983492a390e21ca9f2cd7c3222ff290"}}, {"rule": 2, "type": "equivalent", "target": "502938bb3d9e079af311ef7d9e687ebd", "evidence": {"same_day": true, "patch_ids": ["88f4aa1042a3ce9789841eb94e25f7e1"], "statement_hash": "020e08f1a9d4fe1667360a127e6c77087983492a390e21ca9f2cd7c3222ff290"}}, {"rule": 2, "type": "equivalent", "target": "7f99accadfbc1312c99d86def5380258", "evidence": {"same_day": true, "patch_ids": ["88f4aa1042a3ce9789841eb94e25f7e1"], "statement_hash": "020e08f1a9d4fe1667360a127e6c77087983492a390e21ca9f2cd7c3222ff290"}}, {"rule": 2, "type": "equivalent", "target": "82a710a75821d2587b33f9bba342afcc", "evidence": {"same_day": false, "patch_ids": ["88f4aa1042a3ce9789841eb94e25f7e1"], "statement_hash": "020e08f1a9d4fe1667360a127e6c77087983492a390e21ca9f2cd7c3222ff290"}}], "version": "12.12", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "82a710a75821d2587b33f9bba342afcc", "kind": "equivalent", "version": "14.4", "label": "14.4", "title": "避免在构建 PostgreSQL 时，当存在多个 OpenLDAP 安装时错误地使用过时的 libldap_r 库", "evidence": {"same_day": false, "patch_ids": ["88f4aa1042a3ce9789841eb94e25f7e1"], "statement_hash": "020e08f1a9d4fe1667360a127e6c77087983492a390e21ca9f2cd7c3222ff290"}, "url": "/docs/compare/?release=14.4#14.4-f29ee6319361f0d0", "source_url": "/docs/release/14.4/#ZH-AUTO-RELEASE-14-SECT2-38"}, {"db_id": "3e14d39949f688e375f392927caf9175", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "避免在构建 PostgreSQL 时，当存在多个 OpenLDAP 安装时错误地使用过时的 libldap_r 库", "evidence": {"same_day": true, "patch_ids": ["88f4aa1042a3ce9789841eb94e25f7e1"], "statement_hash": "020e08f1a9d4fe1667360a127e6c77087983492a390e21ca9f2cd7c3222ff290"}, "url": "/docs/compare/?release=13.8#13.8-cf362bf167ab3f6f", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "502938bb3d9e079af311ef7d9e687ebd", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "避免在构建 PostgreSQL 时，当存在多个 OpenLDAP 安装时错误地使用过时的 libldap_r 库", "evidence": {"same_day": true, "patch_ids": ["88f4aa1042a3ce9789841eb94e25f7e1"], "statement_hash": "020e08f1a9d4fe1667360a127e6c77087983492a390e21ca9f2cd7c3222ff290"}, "url": "/docs/compare/?release=11.17#11.17-741cff0da269647c", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "7f99accadfbc1312c99d86def5380258", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "避免在构建 PostgreSQL 时，当存在多个 OpenLDAP 安装时错误地使用过时的 libldap_r 库", "evidence": {"same_day": true, "patch_ids": ["88f4aa1042a3ce9789841eb94e25f7e1"], "statement_hash": "020e08f1a9d4fe1667360a127e6c77087983492a390e21ca9f2cd7c3222ff290"}, "url": "/docs/compare/?release=10.22#10.22-741cff0da269647c", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}]}], "stats": [{"key": "all", "label": "全部变更", "count": 39}, {"key": "feature", "label": "新功能", "count": 0}, {"key": "bugfix", "label": "BUG 修复", "count": 15}, {"key": "security", "label": "安全相关", "count": 2}, {"key": "performance", "label": "性能改进", "count": 0}, {"key": "compatibility", "label": "兼容性变化", "count": 0}, {"key": "improvement", "label": "其他改进", "count": 22}], "total": 39, "release_count": 1, "cross_major": false, "cve_count": 2, "cves": [{"id": "CVE-2022-1552", "url": "https://www.postgresql.org/support/security/CVE-2022-1552/", "fixed": {"10": "10.21", "11": "11.16", "12": "12.11", "13": "13.7", "14": "14.3"}, "score": 8.8, "title": "修复 CREATE INDEX 中的权限检查", "vector": "AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "affected": {"10": "10", "11": "11", "12": "12", "13": "13", "14": "14"}, "component": "core server", "published": {"10": "2022-05-12", "11": "2022-05-12", "12": "2022-05-12", "13": "2022-05-12", "14": "2022-05-12"}, "introduced": {}, "cvss_version": "3.0", "description_en": "Autovacuum, REINDEX , CREATE INDEX , REFRESH MATERIALIZED VIEW , CLUSTER , and pg_amcheck made incomplete efforts to operate safely when a privileged user is maintaining another user's objects. Those commands activated relevant protections too late or not at all. An attacker having permission to create non-temp objects in at least one schema could execute arbitrary SQL functions under a superuser identity.\n\nWhile promptly updating PostgreSQL is the best remediation for most users, a user unable to do that can work around the vulnerability by disabling autovacuum, not manually running the above commands, and not restoring from output of the pg_dump command. Performance may degrade quickly under this workaround. VACUUM is safe, and all commands are fine when a trusted user owns the target object.\n\nThe PostgreSQL project thanks Alexander Lakhin for reporting this problem.", "first_published": "2022-05-12", "fixed_version": "12.11"}, {"id": "CVE-2022-2625", "url": "https://www.postgresql.org/support/security/CVE-2022-2625/", "fixed": {"10": "10.22", "11": "11.17", "12": "12.12", "13": "13.8", "14": "14.5"}, "score": 7.1, "title": "不允许扩展脚本替换不属于该扩展的已有对象", "vector": "AV:N/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:H", "affected": {"10": "10", "11": "11", "12": "12", "13": "13", "14": "14"}, "component": "core server", "published": {"10": "2022-08-11", "11": "2022-08-11", "12": "2022-08-11", "13": "2022-08-11", "14": "2022-08-11"}, "introduced": {}, "cvss_version": "3.0", "description_en": "Some extensions use CREATE OR REPLACE or CREATE IF NOT EXISTS commands. Some don't adhere to the documented rule to target only objects known to be extension members already. An attack requires permission to create non-temporary objects in at least one schema, ability to lure or wait for an administrator to create or update an affected extension in that schema, and ability to lure or wait for a victim to use the object targeted in CREATE OR REPLACE or CREATE IF NOT EXISTS . Given all three prerequisites, the attacker can run arbitrary code as the victim role, which may be a superuser. Known-affected extensions include both PostgreSQL-bundled and non-bundled extensions. PostgreSQL is blocking this attack in the core server, so there's no need to modify individual extensions.\n\nThe PostgreSQL project thanks Sven Klemm for reporting this problem.", "first_published": "2022-08-11", "fixed_version": "12.12"}], "cve_available": true, "remaining_cves": [], "security_regressions": [], "warnings": [], "candidate_count": 39, "already_in_source_count": 0, "duplicate_count": 0, "excluded_count": 0, "exclusions": [], "source_as_of": "2026-09-26", "security_as_of": "2026-09-26"}