{"format": 1, "mode": "release", "from_release": null, "to_release": {"date": "2022-08-11", "build": "14.5", "major": "14", "minor": 5, "manual": "14", "status": "stable", "doc_git": "", "version": "14.5", "eol_date": "2026-11-12", "date_text": "2022-08-11", "supported": true, "manual_url": "/docs/14/release-14-5.html", "source_url": "/docs/release/14.5/", "entry_count": 39, "placeholder": false, "content_hash": "81285920c5c99f22e0b80cc1ecd7eb3a3e49d03d01cc64e5051ac1f408844b5f", "manual_build": "14.24", "source_as_of": "", "changes_count": 39, "doc_loaded_at": "2026-09-25T02:22:44.760693", "migration_html": "<p>A dump/restore is not required for those running 14.X.</p>\n<p>However, if you are upgrading from a version earlier than 14.4, see <a href=\"/docs/14/release-14-4.html\" title=\"E.21. Release 14.4\">Section E.21</a>.</p>", "compatibility_count": 0, "label": "14.5", "status_label": "Supported", "eol": "2026-11-12", "age_days": 1510, "support_days": 44}, "groups": [{"date": "2022-08-11", "build": "14.5", "major": "14", "minor": 5, "manual": "14", "status": "stable", "doc_git": "", "version": "14.5", "eol_date": "2026-11-12", "date_text": "2022-08-11", "supported": true, "manual_url": "/docs/14/release-14-5.html", "source_url": "/docs/release/14.5/", "entry_count": 39, "placeholder": false, "content_hash": "81285920c5c99f22e0b80cc1ecd7eb3a3e49d03d01cc64e5051ac1f408844b5f", "manual_build": "14.24", "source_as_of": "", "changes_count": 39, "doc_loaded_at": "2026-09-25T02:22:44.760693", "migration_html": "<p>A dump/restore is not required for those running 14.X.</p>\n<p>However, if you are upgrading from a version earlier than 14.4, see <a href=\"/docs/14/release-14-4.html\" title=\"E.21. Release 14.4\">Section E.21</a>.</p>", "compatibility_count": 0, "label": "14.5", "status_label": "Supported", "eol": "2026-11-12", "age_days": 1510, "support_days": 44, "entries": [{"id": "14.5-f18192a896faf696", "cves": ["CVE-2022-2625"], "html": "<p>Do not let extension scripts replace objects not already belonging to the extension (Tom Lane) <a href=\"https://postgr.es/c/5721da7e4\">§</a></p>\n<p>This change prevents extension scripts from doing <code>CREATE OR REPLACE</code> if there is an existing object that does not belong to the extension. It also prevents <code>CREATE IF NOT EXISTS</code> 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.</p>\n<p>The <span>PostgreSQL</span> Project thanks Sven Klemm for reporting this problem. (CVE-2022-2625)</p>", "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)", "title": "Do not let extension scripts replace objects not already belonging to the extension", "commits": ["5721da7e4"], "section": "Changes", "category": "security", "source_url": "/docs/release/14.5/#id-1.11.6.25.5", "source_hash": "60af99099da87de8ee9c22ded142ea31df2a5aad0285b3b48f17af6ef173fef3", "section_path": ["Changes"], "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": ["5721da7e4"], "source_entry_id": "14.5/changes/001", "db_id": "5cc72a133ee09029810fac6600d4b24c", "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": "b431c16c94c765fe7a47a48d80578e21", "evidence": {"same_day": true, "patch_ids": ["5ac755dea0e0bf61092444d6a146fda2"], "statement_hash": "71d2ca220b7344a70209e20f13c75fe18a9fdf233fd64998b19c24d0f13c627f"}}, {"rule": 2, "type": "equivalent", "target": "c172e40466de8e721efbf40aee21831e", "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": "14.5", "category_label": "Security", "also_in": [], "variants": [], "related_changes": [{"db_id": "b431c16c94c765fe7a47a48d80578e21", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "Do not let extension scripts replace objects not already belonging to the extension", "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": "c172e40466de8e721efbf40aee21831e", "kind": "equivalent", "version": "12.12", "label": "12.12", "title": "Do not let extension scripts replace objects not already belonging to the extension", "evidence": {"same_day": true, "patch_ids": ["5ac755dea0e0bf61092444d6a146fda2"], "statement_hash": "71d2ca220b7344a70209e20f13c75fe18a9fdf233fd64998b19c24d0f13c627f"}, "url": "/docs/compare/?release=12.12#12.12-adff0755b5cd079c", "source_url": "/docs/release/12.12/#id-1.11.6.16.5"}, {"db_id": "e5ea8ff09e47c80a81863d7cb6ceb15f", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "Do not let extension scripts replace objects not already belonging to the extension", "evidence": {"same_day": true, "patch_ids": ["5ac755dea0e0bf61092444d6a146fda2"], "statement_hash": "71d2ca220b7344a70209e20f13c75fe18a9fdf233fd64998b19c24d0f13c627f"}, "url": "/docs/compare/?release=11.17#11.17-60692122e849e639", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "1bc57e31ad8079f1fc2d7babc99cbeab", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "Do not let extension scripts replace objects not already belonging to the extension", "evidence": {"same_day": true, "patch_ids": ["5ac755dea0e0bf61092444d6a146fda2"], "statement_hash": "71d2ca220b7344a70209e20f13c75fe18a9fdf233fd64998b19c24d0f13c627f"}, "url": "/docs/compare/?release=10.22#10.22-60692122e849e639", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "14.5-f59f2e7e9b9053ca", "cves": [], "html": "<p>Fix replay of <code>CREATE DATABASE</code> WAL records on standby servers (Kyotaro Horiguchi, Asim R Praveen, Paul Guo) <a href=\"https://postgr.es/c/a3aacb7cb\">§</a> <a href=\"https://postgr.es/c/4d8d85740\">§</a> <a href=\"https://postgr.es/c/e90c4fc88\">§</a> <a href=\"https://postgr.es/c/9d5c96d9b\">§</a></p>\n<p>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.</p>", "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.", "title": "Fix replay of CREATE DATABASE WAL records on standby servers", "commits": ["4d8d85740", "9d5c96d9b", "a3aacb7cb", "e90c4fc88"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.5/#id-1.11.6.25.5", "source_hash": "ead3e94789b7769f9089250ea7396293cd9de81ac1b18d16c9a07d11b5283181", "section_path": ["Changes"], "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": ["4d8d85740", "9d5c96d9b", "a3aacb7cb", "e90c4fc88"], "source_entry_id": "14.5/changes/002", "db_id": "a68c5b8e8a3c41c6a3b3d9fe35ade173", "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": "643224c00c9a794bf9220e700169829c", "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": "cff4a80ea9148414435ffb96229c53f1", "evidence": {"same_day": true, "patch_ids": ["67c24764acf117f28dd2885f53bfe7a8", "9e9b75cc37dbf306fd2682d8081334a8", "bcca38a3322d16d58b2643aa3e2a3ddc", "d2d0c00a6d60eaa9b4b72b2dbb4f4f64"], "statement_hash": "79e7818cc212e9ba7b8f2a2b662296d9e7df77137d8e728d89d02be23027f34a"}}], "version": "14.5", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "9ec3497a794ad6e3797d72db3748eb70", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "Fix replay of CREATE DATABASE WAL records on standby servers", "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": "643224c00c9a794bf9220e700169829c", "kind": "equivalent", "version": "12.12", "label": "12.12", "title": "Fix replay of CREATE DATABASE WAL records on standby servers", "evidence": {"same_day": true, "patch_ids": ["67c24764acf117f28dd2885f53bfe7a8", "9e9b75cc37dbf306fd2682d8081334a8", "bcca38a3322d16d58b2643aa3e2a3ddc", "d2d0c00a6d60eaa9b4b72b2dbb4f4f64"], "statement_hash": "79e7818cc212e9ba7b8f2a2b662296d9e7df77137d8e728d89d02be23027f34a"}, "url": "/docs/compare/?release=12.12#12.12-faf7fdbb3c2c55ed", "source_url": "/docs/release/12.12/#id-1.11.6.16.5"}, {"db_id": "cff4a80ea9148414435ffb96229c53f1", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "Fix replay of CREATE DATABASE WAL records on standby servers", "evidence": {"same_day": true, "patch_ids": ["67c24764acf117f28dd2885f53bfe7a8", "9e9b75cc37dbf306fd2682d8081334a8", "bcca38a3322d16d58b2643aa3e2a3ddc", "d2d0c00a6d60eaa9b4b72b2dbb4f4f64"], "statement_hash": "79e7818cc212e9ba7b8f2a2b662296d9e7df77137d8e728d89d02be23027f34a"}, "url": "/docs/compare/?release=11.17#11.17-5e43c5b09988930d", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "41355a70a70310682ef92e85180635ec", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "Fix replay of CREATE DATABASE WAL records on standby servers", "evidence": {"same_day": true, "patch_ids": ["67c24764acf117f28dd2885f53bfe7a8", "9e9b75cc37dbf306fd2682d8081334a8", "bcca38a3322d16d58b2643aa3e2a3ddc", "d2d0c00a6d60eaa9b4b72b2dbb4f4f64"], "statement_hash": "79e7818cc212e9ba7b8f2a2b662296d9e7df77137d8e728d89d02be23027f34a"}, "url": "/docs/compare/?release=10.22#10.22-5e43c5b09988930d", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "14.5-4096adfa7dd3b128", "cves": [], "html": "<p>Support <span>“<span>in place</span>”</span> tablespaces (Thomas Munro, Michael Paquier, Álvaro Herrera) <a href=\"https://postgr.es/c/961cab0a5\">§</a> <a href=\"https://postgr.es/c/fee0165fc\">§</a> <a href=\"https://postgr.es/c/5ad478c9d\">§</a></p>\n<p>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 <code>CREATE DATABASE</code> replay fix, which transiently creates a missing tablespace as an <span>“<span>in place</span>”</span> tablespace.</p>", "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.", "title": "Support “in place” tablespaces", "commits": ["5ad478c9d", "961cab0a5", "fee0165fc"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.5/#id-1.11.6.25.5", "source_hash": "56a3b75b1d19f5bfce2b1df95c1fa2d14254ea629ff169452a97204ac36d2ded", "section_path": ["Changes"], "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": ["5ad478c9d", "961cab0a5", "fee0165fc"], "source_entry_id": "14.5/changes/003", "db_id": "bd3fb7ed1c2770554ef89d333d5e6b59", "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": "f54da3459be0f27a92f793d82fd341ac", "evidence": {"same_day": true, "patch_ids": ["6dd2ec1c1461766b6b7b68e369b697b5", "9a47b38e6a121e4f5489db212add8cc4", "f62e645077e0c53f6b565fcab5a49ecb"], "statement_hash": "6003333a161cd84ac11c80d5f7b960fa0202762a2a8349a189c8f3e1166167fd"}}], "version": "14.5", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "01e4b9297c3a93c90a009cf670df6c14", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "Support “in place” tablespaces", "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": "f54da3459be0f27a92f793d82fd341ac", "kind": "equivalent", "version": "12.12", "label": "12.12", "title": "Support “in place” tablespaces", "evidence": {"same_day": true, "patch_ids": ["6dd2ec1c1461766b6b7b68e369b697b5", "9a47b38e6a121e4f5489db212add8cc4", "f62e645077e0c53f6b565fcab5a49ecb"], "statement_hash": "6003333a161cd84ac11c80d5f7b960fa0202762a2a8349a189c8f3e1166167fd"}, "url": "/docs/compare/?release=12.12#12.12-a4a829e24d2ea5a8", "source_url": "/docs/release/12.12/#id-1.11.6.16.5"}, {"db_id": "911f5ce3fe13712a9399d8014d081e1e", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "Support “in place” tablespaces", "evidence": {"same_day": true, "patch_ids": ["6dd2ec1c1461766b6b7b68e369b697b5", "9a47b38e6a121e4f5489db212add8cc4", "f62e645077e0c53f6b565fcab5a49ecb"], "statement_hash": "6003333a161cd84ac11c80d5f7b960fa0202762a2a8349a189c8f3e1166167fd"}, "url": "/docs/compare/?release=11.17#11.17-a2110a5c1f8e5260", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "35f09cdfa143b4fcdaa2eef2dde2781f", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "Support “in place” tablespaces", "evidence": {"same_day": true, "patch_ids": ["6dd2ec1c1461766b6b7b68e369b697b5", "9a47b38e6a121e4f5489db212add8cc4", "f62e645077e0c53f6b565fcab5a49ecb"], "statement_hash": "6003333a161cd84ac11c80d5f7b960fa0202762a2a8349a189c8f3e1166167fd"}, "url": "/docs/compare/?release=10.22#10.22-a2110a5c1f8e5260", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "14.5-5abd146c9f585b45", "cves": ["CVE-2022-1552"], "html": "<p>Fix permissions checks in <code>CREATE INDEX</code> (Nathan Bossart, Noah Misch) <a href=\"https://postgr.es/c/ace997386\">§</a></p>\n<p>The fix for CVE-2022-1552 caused <code>CREATE INDEX</code> 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 <span>pg_dump</span> issues <code>CREATE INDEX</code> before re-granting permissions.</p>", "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.", "title": "Fix permissions checks in CREATE INDEX", "commits": ["ace997386"], "section": "Changes", "category": "security", "source_url": "/docs/release/14.5/#id-1.11.6.25.5", "source_hash": "afb24cb0be6abe3d019fed189cecf7b88105eef469d360ee53ce7a16a99a5b18", "section_path": ["Changes"], "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": ["ace997386"], "source_entry_id": "14.5/changes/004", "db_id": "527e8d3eb6107c7d3e7e8fec3119c82b", "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": "0f403a44e9dcbe40ce68eed84c188100", "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": "7d79c462d1af3fb092a2495ab47d1373", "evidence": {"same_day": true, "patch_ids": ["d042b17477385d57d11ba398ea4bfe94"], "statement_hash": "014bdd1dd28325cf621ad5d93998f204ddf5a870d07567dbb5219f4002ce98f4"}}], "version": "14.5", "category_label": "Security", "also_in": [], "variants": [], "related_changes": [{"db_id": "01c721912fc27b54fd3a6b940db4ac15", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "Fix permissions checks in 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": "0f403a44e9dcbe40ce68eed84c188100", "kind": "equivalent", "version": "12.12", "label": "12.12", "title": "Fix permissions checks in CREATE INDEX", "evidence": {"same_day": true, "patch_ids": ["d042b17477385d57d11ba398ea4bfe94"], "statement_hash": "014bdd1dd28325cf621ad5d93998f204ddf5a870d07567dbb5219f4002ce98f4"}, "url": "/docs/compare/?release=12.12#12.12-721312cec0694544", "source_url": "/docs/release/12.12/#id-1.11.6.16.5"}, {"db_id": "118ff882709c268da1c2b345cf7ce2ba", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "Fix permissions checks in CREATE INDEX", "evidence": {"same_day": true, "patch_ids": ["d042b17477385d57d11ba398ea4bfe94"], "statement_hash": "014bdd1dd28325cf621ad5d93998f204ddf5a870d07567dbb5219f4002ce98f4"}, "url": "/docs/compare/?release=11.17#11.17-6f35dc207f3b6600", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "7d79c462d1af3fb092a2495ab47d1373", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "Fix permissions checks in CREATE INDEX", "evidence": {"same_day": true, "patch_ids": ["d042b17477385d57d11ba398ea4bfe94"], "statement_hash": "014bdd1dd28325cf621ad5d93998f204ddf5a870d07567dbb5219f4002ce98f4"}, "url": "/docs/compare/?release=10.22#10.22-6f35dc207f3b6600", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "14.5-6299df3b2671ffd7", "cves": [], "html": "<p>In extended query protocol, force an immediate commit after <code>CREATE DATABASE</code> and other commands that can't run in a transaction block (Tom Lane) <a href=\"https://postgr.es/c/3e1297a63\">§</a></p>\n<p>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.</p>", "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.", "title": "In extended query protocol, force an immediate commit after CREATE DATABASE and other commands that can't run in a transaction block", "commits": ["3e1297a63"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.5/#id-1.11.6.25.5", "source_hash": "00dcb0d092c23be67735f1734f2ef2c351048f2c6c3379b03a51e44986368be9", "section_path": ["Changes"], "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": ["3e1297a63"], "source_entry_id": "14.5/changes/005", "db_id": "aae22367a46507293a2ab76dc07b2c3b", "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": "578696be03ae87fd68253ee936f8c363", "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": "14.5", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "4af3dc652b50b6978c359e74e63aadaa", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "In extended query protocol, force an immediate commit after CREATE DATABASE and other commands that can't run in a transaction block", "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": "578696be03ae87fd68253ee936f8c363", "kind": "equivalent", "version": "12.12", "label": "12.12", "title": "In extended query protocol, force an immediate commit after CREATE DATABASE and other commands that can't run in a transaction block", "evidence": {"same_day": true, "patch_ids": ["4dac3f6876215d155f86606aa647fa4a"], "statement_hash": "314dc34edd16eebf72ddf946885d18f40d7a398a77934415fa181cb5794b8a4a"}, "url": "/docs/compare/?release=12.12#12.12-f92ccb5d57e77590", "source_url": "/docs/release/12.12/#id-1.11.6.16.5"}, {"db_id": "ef15108a860a4a2448d9a2acbde6575f", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "In extended query protocol, force an immediate commit after CREATE DATABASE and other commands that can't run in a transaction block", "evidence": {"same_day": true, "patch_ids": ["4dac3f6876215d155f86606aa647fa4a"], "statement_hash": "314dc34edd16eebf72ddf946885d18f40d7a398a77934415fa181cb5794b8a4a"}, "url": "/docs/compare/?release=11.17#11.17-f016fb423a6578ad", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "13b2307b207f1489a1fc214c029e4fc6", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "In extended query protocol, force an immediate commit after CREATE DATABASE and other commands that can't run in a transaction block", "evidence": {"same_day": true, "patch_ids": ["4dac3f6876215d155f86606aa647fa4a"], "statement_hash": "314dc34edd16eebf72ddf946885d18f40d7a398a77934415fa181cb5794b8a4a"}, "url": "/docs/compare/?release=10.22#10.22-f016fb423a6578ad", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "14.5-ffb98ecffd437e46", "cves": [], "html": "<p>Fix race condition when checking transaction visibility (Simon Riggs) <a href=\"https://postgr.es/c/e24615a00\">§</a></p>\n<p><code>TransactionIdIsInProgress</code> could report <code>false</code> 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.</p>", "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.", "title": "Fix race condition when checking transaction visibility", "commits": ["e24615a00"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.5/#id-1.11.6.25.5", "source_hash": "09fa0fad9c9028c8da813f8bc8ad0d437304863466cbea0c33bd84d06eef5906", "section_path": ["Changes"], "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": ["e24615a00"], "source_entry_id": "14.5/changes/006", "db_id": "90e12e9509e59b75a0b573a68ea4be56", "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": "1651d89b440815a12c75b7db2ff9264d", "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": "d383bf0907b08623c14847af3fe07a01", "evidence": {"same_day": true, "patch_ids": ["0d5b4a68c99dcdf6a13e334738808a9e"], "statement_hash": "97188b532084c9a9d8f4741e3145a023ccb2d2d6185fea5959832be097aab1b4"}}], "version": "14.5", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "0ec6eede55a5fc0d32b068162e1014c1", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "Fix race condition when checking transaction visibility", "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": "1651d89b440815a12c75b7db2ff9264d", "kind": "equivalent", "version": "12.12", "label": "12.12", "title": "Fix race condition when checking transaction visibility", "evidence": {"same_day": true, "patch_ids": ["0d5b4a68c99dcdf6a13e334738808a9e"], "statement_hash": "97188b532084c9a9d8f4741e3145a023ccb2d2d6185fea5959832be097aab1b4"}, "url": "/docs/compare/?release=12.12#12.12-7f14f41ac810e52a", "source_url": "/docs/release/12.12/#id-1.11.6.16.5"}, {"db_id": "d383bf0907b08623c14847af3fe07a01", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "Fix race condition when checking transaction visibility", "evidence": {"same_day": true, "patch_ids": ["0d5b4a68c99dcdf6a13e334738808a9e"], "statement_hash": "97188b532084c9a9d8f4741e3145a023ccb2d2d6185fea5959832be097aab1b4"}, "url": "/docs/compare/?release=11.17#11.17-13019122283db9e7", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "2c55cc6e79fc4d352a19d3700876a00c", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "Fix race condition when checking transaction visibility", "evidence": {"same_day": true, "patch_ids": ["0d5b4a68c99dcdf6a13e334738808a9e"], "statement_hash": "97188b532084c9a9d8f4741e3145a023ccb2d2d6185fea5959832be097aab1b4"}, "url": "/docs/compare/?release=10.22#10.22-13019122283db9e7", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "14.5-57a99c5366d6d3f7", "cves": [], "html": "<p>Fix incorrect plans when sorting by an expression that contains a non-top-level set-returning function (Richard Guo, Tom Lane) <a href=\"https://postgr.es/c/445b9020c\">§</a> <a href=\"https://postgr.es/c/1a9ac8492\">§</a></p>", "text": "Fix incorrect plans when sorting by an expression that contains a non-top-level set-returning function (Richard Guo, Tom Lane) § §", "title": "Fix incorrect plans when sorting by an expression that contains a non-top-level set-returning function", "commits": ["1a9ac8492", "445b9020c"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.5/#id-1.11.6.25.5", "source_hash": "c5c372f030b6a121b8db163540f394f8c3015a769eba17ca39c6182481fef6bc", "section_path": ["Changes"], "commit_groups": [["11e7d626c", "1a9ac8492", "8d38ccafc", "cc1164799"], ["14168d57b", "1aa8dad41", "445b9020c", "da4ed7588"]], "identity_text": "Fix incorrect plans when sorting by an expression that contains a non-top-level set-returning function (Richard Guo, Tom Lane)", "commit_aliases": ["11e7d626c", "14168d57b", "1a9ac8492", "1aa8dad41", "445b9020c", "8d38ccafc", "cc1164799", "da4ed7588"], "source_commits": ["1a9ac8492", "445b9020c"], "source_entry_id": "14.5/changes/007", "db_id": "b35c3d20344124da198983ca1187c855", "patch_ids": ["313de991f3f2eb3aa97d09b1849746b2", "bf26454a53934a989be49f5fd10c077a"], "statement_hash": "3c49ce606afcb695e98babb1587bca6a81ec3019fd0b552856afff60ea519dfa", "relations": [{"rule": 2, "type": "equivalent", "target": "a8f02eedd1ab668d95a3405873810da0", "evidence": {"same_day": true, "patch_ids": ["313de991f3f2eb3aa97d09b1849746b2", "bf26454a53934a989be49f5fd10c077a"], "statement_hash": "3c49ce606afcb695e98babb1587bca6a81ec3019fd0b552856afff60ea519dfa"}}], "version": "14.5", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "a8f02eedd1ab668d95a3405873810da0", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "Fix incorrect plans when sorting by an expression that contains a non-top-level set-returning function", "evidence": {"same_day": true, "patch_ids": ["313de991f3f2eb3aa97d09b1849746b2", "bf26454a53934a989be49f5fd10c077a"], "statement_hash": "3c49ce606afcb695e98babb1587bca6a81ec3019fd0b552856afff60ea519dfa"}, "url": "/docs/compare/?release=13.8#13.8-940f169c9aba5d0f", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}]}, {"id": "14.5-8cef8d1a7c47f759", "cves": [], "html": "<p>Fix incorrect permissions-checking code for extended statistics (Richard Guo) <a href=\"https://postgr.es/c/7c6ce0475\">§</a></p>\n<p>If there are extended statistics on a table that the user has only partial <code>SELECT</code> permissions on, some queries would fail with <span>“<span>unrecognized node type</span>”</span> errors.</p>", "text": "Fix incorrect permissions-checking code for extended statistics (Richard Guo) § If there are extended statistics on a table that the user has only partial SELECT permissions on, some queries would fail with “unrecognized node type” errors.", "title": "Fix incorrect permissions-checking code for extended statistics", "commits": ["7c6ce0475"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.5/#id-1.11.6.25.5", "source_hash": "97dae89161cc3650a27e8b1adbcab045068f592a74c9f0edc22c5ec5930eaa95", "section_path": ["Changes"], "commit_groups": [["7394028be", "7c6ce0475", "e5fc38ac3"]], "identity_text": "Fix incorrect permissions-checking code for extended statistics (Richard Guo) If there are extended statistics on a table that the user has only partial SELECT permissions on, some queries would fail with unrecognized node type errors.", "commit_aliases": ["7394028be", "7c6ce0475", "e5fc38ac3"], "source_commits": ["7c6ce0475"], "source_entry_id": "14.5/changes/008", "db_id": "63ad56f38e6a042b30d066152d5326a3", "patch_ids": ["ab2fdd25b2da09bf4d9f86c2f1b36a1b"], "statement_hash": "3479cdbab4ed9ff0e6df626ee5f57c3341f162fab5c59257fb6bdf65b2b41a24", "relations": [], "version": "14.5", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.5-9581f224095bc6d0", "cves": [], "html": "<p>Fix extended statistics machinery to handle MCV-type statistics on boolean-valued expressions (Tom Lane) <a href=\"https://postgr.es/c/3fe2fc6bb\">§</a></p>\n<p>Statistics collection worked fine, but a query containing such an expression in <code>WHERE</code> would fail with <span>“<span>unknown clause type</span>”</span>.</p>", "text": "Fix extended statistics machinery to handle MCV-type statistics on boolean-valued expressions (Tom Lane) § Statistics collection worked fine, but a query containing such an expression in WHERE would fail with “unknown clause type”.", "title": "Fix extended statistics machinery to handle MCV-type statistics on boolean-valued expressions", "commits": ["3fe2fc6bb"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.5/#id-1.11.6.25.5", "source_hash": "b6877c46adc62637ce7b6dd64bffec774b798c4a8ef927cf0c37a7b6e38cf136", "section_path": ["Changes"], "commit_groups": [["3fe2fc6bb", "43f76fb19", "e33ae53dd"]], "identity_text": "Fix extended statistics machinery to handle MCV-type statistics on boolean-valued expressions (Tom Lane) Statistics collection worked fine, but a query containing such an expression in WHERE would fail with unknown clause type.", "commit_aliases": ["3fe2fc6bb", "43f76fb19", "e33ae53dd"], "source_commits": ["3fe2fc6bb"], "source_entry_id": "14.5/changes/009", "db_id": "b7c7faca90443a7499ca0687f7473d05", "patch_ids": ["b55a25801039d20aac998d6a365dc2ec"], "statement_hash": "d742c88b5b7ede2190cb34693ae59a2dd0085e0184e404575115fb08c3c74c41", "relations": [], "version": "14.5", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.5-e6913c0af7bca10d", "cves": [], "html": "<p>Avoid planner core dump with <code><em><code>constant</code></em> = ANY(<em><code>array</code></em>)</code> clauses when there are MCV-type extended statistics on the <em><code>array</code></em> variable (Tom Lane) <a href=\"https://postgr.es/c/ea6c91696\">§</a> <a href=\"https://postgr.es/c/b9243cada\">§</a></p>", "text": "Avoid planner core dump with constant = ANY(array) clauses when there are MCV-type extended statistics on the array variable (Tom Lane) § §", "title": "Avoid planner core dump with constant = ANY(array) clauses when there are MCV-type extended statistics on the array variable", "commits": ["b9243cada", "ea6c91696"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.5/#id-1.11.6.25.5", "source_hash": "c6b9dd45172916248b807a4e77e45f2ce6a52a2d183048c83fdf2016b3c46aca", "section_path": ["Changes"], "commit_groups": [["476f9d533", "4c81a50e5", "6303df08f", "b9243cada"], ["94da73281", "b6d147bcb", "c102d1106", "ea6c91696"]], "identity_text": "Avoid planner core dump with constant = ANY(array) clauses when there are MCV-type extended statistics on the array variable (Tom Lane)", "commit_aliases": ["476f9d533", "4c81a50e5", "6303df08f", "94da73281", "b6d147bcb", "b9243cada", "c102d1106", "ea6c91696"], "source_commits": ["b9243cada", "ea6c91696"], "source_entry_id": "14.5/changes/010", "db_id": "a75fa201599661de6f20d257a766128a", "patch_ids": ["7cea001860671396153b5a818ffeb027", "b467abaadeb9f8f2c3fab4567b9ee599"], "statement_hash": "8402e5e7215f39a715462809fd4985728770ad8a58049b9ffbe2f48ee15b75f7", "relations": [{"rule": 2, "type": "equivalent", "target": "1b735131685abe72acf3582628a581e6", "evidence": {"same_day": true, "patch_ids": ["7cea001860671396153b5a818ffeb027", "b467abaadeb9f8f2c3fab4567b9ee599"], "statement_hash": "8402e5e7215f39a715462809fd4985728770ad8a58049b9ffbe2f48ee15b75f7"}}], "version": "14.5", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "1b735131685abe72acf3582628a581e6", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "Avoid planner core dump with constant = ANY(array) clauses when there are MCV-type extended statistics on the array variable", "evidence": {"same_day": true, "patch_ids": ["7cea001860671396153b5a818ffeb027", "b467abaadeb9f8f2c3fab4567b9ee599"], "statement_hash": "8402e5e7215f39a715462809fd4985728770ad8a58049b9ffbe2f48ee15b75f7"}, "url": "/docs/compare/?release=13.8#13.8-70fbbf3452d1c7a1", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}]}, {"id": "14.5-3011899c689b6e94", "cves": [], "html": "<p>Fix <code>ALTER TABLE ... ENABLE/DISABLE TRIGGER</code> to handle recursion correctly for triggers on partitioned tables (Álvaro Herrera, Amit Langote) <a href=\"https://postgr.es/c/731d514ae\">§</a> <a href=\"https://postgr.es/c/6d9481cd0\">§</a></p>\n<p>In certain cases, a <span>“<span>trigger does not exist</span>”</span> failure would occur because the command would try to adjust the trigger on a child partition that doesn't have it.</p>", "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.", "title": "Fix ALTER TABLE ... ENABLE/DISABLE TRIGGER to handle recursion correctly for triggers on partitioned tables", "commits": ["6d9481cd0", "731d514ae"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.5/#id-1.11.6.25.5", "source_hash": "a0addba47c48407d5b81493c6457648407f8ee8a1e25bf1b9886faa699e555fa", "section_path": ["Changes"], "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": ["6d9481cd0", "731d514ae"], "source_entry_id": "14.5/changes/011", "db_id": "faaee224f65007488a807f2a7bf38ef3", "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": "bcf61d66120f95715cb98660b331cea7", "evidence": {"same_day": true, "patch_ids": ["39076a15459c2caebb81674e5f419414", "402b78ae7db53d9c9bce8f503bc7fbf1"], "statement_hash": "4c50215e18cf01f9408632bd107c68d3569f77acdf8c2a5253295e5517664e59"}}], "version": "14.5", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "049217effaf19616f9ce44e224370b1f", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "Fix ALTER TABLE ... ENABLE/DISABLE TRIGGER to handle recursion correctly for triggers on partitioned tables", "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": "bcf61d66120f95715cb98660b331cea7", "kind": "equivalent", "version": "12.12", "label": "12.12", "title": "Fix ALTER TABLE ... ENABLE/DISABLE TRIGGER to handle recursion correctly for triggers on partitioned tables", "evidence": {"same_day": true, "patch_ids": ["39076a15459c2caebb81674e5f419414", "402b78ae7db53d9c9bce8f503bc7fbf1"], "statement_hash": "4c50215e18cf01f9408632bd107c68d3569f77acdf8c2a5253295e5517664e59"}, "url": "/docs/compare/?release=12.12#12.12-f60aa4735ab171f5", "source_url": "/docs/release/12.12/#id-1.11.6.16.5"}, {"db_id": "73eecc7fffb3f0fe25fa654bc70daa66", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "Fix ALTER TABLE ... ENABLE/DISABLE TRIGGER to handle recursion correctly for triggers on partitioned tables", "evidence": {"same_day": true, "patch_ids": ["39076a15459c2caebb81674e5f419414", "402b78ae7db53d9c9bce8f503bc7fbf1"], "statement_hash": "4c50215e18cf01f9408632bd107c68d3569f77acdf8c2a5253295e5517664e59"}, "url": "/docs/compare/?release=11.17#11.17-4298bd75cb3859ce", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}]}, {"id": "14.5-d20139ccf6eba292", "cves": [], "html": "<p>Allow cancellation of <code>ANALYZE</code> while it is computing extended statistics (Tom Lane, Justin Pryzby) <a href=\"https://postgr.es/c/af72b0889\">§</a></p>\n<p>In some scenarios with high statistics targets, it was possible to spend many seconds in an un-cancellable sort operation.</p>", "text": "Allow cancellation of ANALYZE while it is computing extended statistics (Tom Lane, Justin Pryzby) § In some scenarios with high statistics targets, it was possible to spend many seconds in an un-cancellable sort operation.", "title": "Allow cancellation of ANALYZE while it is computing extended statistics", "commits": ["af72b0889"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.5/#id-1.11.6.25.5", "source_hash": "e34644ba02f6a84ee671936bf855ce3e703462007a38894475929bbaecb8730b", "section_path": ["Changes"], "commit_groups": [["12c99c884", "af72b0889", "e64cdab00"]], "identity_text": "Allow cancellation of ANALYZE while it is computing extended statistics (Tom Lane, Justin Pryzby) In some scenarios with high statistics targets, it was possible to spend many seconds in an un-cancellable sort operation.", "commit_aliases": ["12c99c884", "af72b0889", "e64cdab00"], "source_commits": ["af72b0889"], "source_entry_id": "14.5/changes/012", "db_id": "b1854c24f80c7fac7856a2b5ffa05448", "patch_ids": ["8a629bc1f177f80af3eaf75f8a05dc98"], "statement_hash": "57cb18623fa1c63f55b77f896becb997c081e5bc98c83b7ffa988ed94a8ec723", "relations": [], "version": "14.5", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.5-dbdac5d94e69f085", "cves": [], "html": "<p>Improve syntax error messages for type <code>jsonpath</code> (Andrew Dunstan) <a href=\"https://postgr.es/c/7fd43684f\">§</a></p>", "text": "Improve syntax error messages for type jsonpath (Andrew Dunstan) §", "title": "Improve syntax error messages for type jsonpath", "commits": ["7fd43684f"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.5/#id-1.11.6.25.5", "source_hash": "7198c823d8152216dd3268838e0c3a430c8f4596dfb785c8fa571b72b2de169f", "section_path": ["Changes"], "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": ["7fd43684f"], "source_entry_id": "14.5/changes/013", "db_id": "d9b00ac9ed3371ea052b7d74d983fc09", "patch_ids": ["246e7618dbe664676a37e85e8046bdfa"], "statement_hash": "aa134f5fd7a64854c4a6c6365f937abf03f1fe81d8a0c6b34e623b385c422ebf", "relations": [{"rule": 2, "type": "equivalent", "target": "afc2112fad76a51e6120a0bacbeb5e62", "evidence": {"same_day": true, "patch_ids": ["246e7618dbe664676a37e85e8046bdfa"], "statement_hash": "aa134f5fd7a64854c4a6c6365f937abf03f1fe81d8a0c6b34e623b385c422ebf"}}, {"rule": 2, "type": "equivalent", "target": "bd25a1f57acfd51ca471c3dd40ab58e5", "evidence": {"same_day": true, "patch_ids": ["246e7618dbe664676a37e85e8046bdfa"], "statement_hash": "aa134f5fd7a64854c4a6c6365f937abf03f1fe81d8a0c6b34e623b385c422ebf"}}], "version": "14.5", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "bd25a1f57acfd51ca471c3dd40ab58e5", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "Improve syntax error messages for type 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"}, {"db_id": "afc2112fad76a51e6120a0bacbeb5e62", "kind": "equivalent", "version": "12.12", "label": "12.12", "title": "Improve syntax error messages for type jsonpath", "evidence": {"same_day": true, "patch_ids": ["246e7618dbe664676a37e85e8046bdfa"], "statement_hash": "aa134f5fd7a64854c4a6c6365f937abf03f1fe81d8a0c6b34e623b385c422ebf"}, "url": "/docs/compare/?release=12.12#12.12-63408f2218a0c7cf", "source_url": "/docs/release/12.12/#id-1.11.6.16.5"}]}, {"id": "14.5-68a9180a8ecaa546", "cves": [], "html": "<p>Ensure that <code>pg_stop_backup()</code> cleans up session state properly (Fujii Masao) <a href=\"https://postgr.es/c/be2e842c8\">§</a></p>\n<p>This omission could lead to assertion failures or crashes later in the session.</p>", "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.", "title": "Ensure that pg_stop_backup() cleans up session state properly", "commits": ["be2e842c8"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.5/#id-1.11.6.25.5", "source_hash": "b674db9aca0a301e1d7300a33f71dc49d484fcce98e8c05c4f4c8a253f20e966", "section_path": ["Changes"], "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": ["be2e842c8"], "source_entry_id": "14.5/changes/014", "db_id": "95eca7a5de12345180e860348dbd3a67", "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": "36286ff75feb888e74c5a788207055ea", "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": "14.5", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "ee29fc1fb2ef022bc12947255f93c1a9", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "Ensure that pg_stop_backup() cleans up session state properly", "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": "36286ff75feb888e74c5a788207055ea", "kind": "equivalent", "version": "12.12", "label": "12.12", "title": "Ensure that pg_stop_backup() cleans up session state properly", "evidence": {"same_day": true, "patch_ids": ["b1fd45476180e9386f2944c616c5e77e"], "statement_hash": "6071f35f5437c2f499563ec0517c84f3343e00a5328cb7c3dc148db770cf172d"}, "url": "/docs/compare/?release=12.12#12.12-402dd572027e535e", "source_url": "/docs/release/12.12/#id-1.11.6.16.5"}, {"db_id": "166ebfc51c7d67be124cffd57c5cb1ba", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "Ensure that pg_stop_backup() cleans up session state properly", "evidence": {"same_day": true, "patch_ids": ["b1fd45476180e9386f2944c616c5e77e"], "statement_hash": "6071f35f5437c2f499563ec0517c84f3343e00a5328cb7c3dc148db770cf172d"}, "url": "/docs/compare/?release=11.17#11.17-e9fab219628128c3", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "1ee18796d0497001f194db9ce35adf3a", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "Ensure that pg_stop_backup() cleans up session state properly", "evidence": {"same_day": true, "patch_ids": ["b1fd45476180e9386f2944c616c5e77e"], "statement_hash": "6071f35f5437c2f499563ec0517c84f3343e00a5328cb7c3dc148db770cf172d"}, "url": "/docs/compare/?release=10.22#10.22-e9fab219628128c3", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "14.5-136bb6cf4c1584b7", "cves": [], "html": "<p>Fix <code>trim_array()</code> to handle a zero-dimensional array argument sanely (Martin Kalcher) <a href=\"https://postgr.es/c/e71d4254f\">§</a></p>", "text": "Fix trim_array() to handle a zero-dimensional array argument sanely (Martin Kalcher) §", "title": "Fix trim_array() to handle a zero-dimensional array argument sanely", "commits": ["e71d4254f"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.5/#id-1.11.6.25.5", "source_hash": "c3f72c9d618cc750dd2aff217d03acbc593f0ce8cfee77ae0718cacc821cb6af", "section_path": ["Changes"], "commit_groups": [["4ddfbd2a8", "d386b75df", "e71d4254f"]], "identity_text": "Fix trim_array() to handle a zero-dimensional array argument sanely (Martin Kalcher)", "commit_aliases": ["4ddfbd2a8", "d386b75df", "e71d4254f"], "source_commits": ["e71d4254f"], "source_entry_id": "14.5/changes/015", "db_id": "e60b75f367466931501a34e5850bae7a", "patch_ids": ["080c8f201f6ce2630ac91fe31946db7a"], "statement_hash": "76cf7d310cdcf4930e245cd1843fb516e0d16d21828a5ea19072d9f933b31445", "relations": [], "version": "14.5", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.5-496ff7d4a0e969a8", "cves": [], "html": "<p>Fix join alias matching in <code>FOR [KEY] UPDATE/SHARE</code> clauses (Dean Rasheed) <a href=\"https://postgr.es/c/8d8464445\">§</a></p>\n<p>In corner cases, a misleading error could be reported.</p>", "text": "Fix join alias matching in FOR [KEY] UPDATE/SHARE clauses (Dean Rasheed) § In corner cases, a misleading error could be reported.", "title": "Fix join alias matching in FOR [KEY] UPDATE/SHARE clauses", "commits": ["8d8464445"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.5/#id-1.11.6.25.5", "source_hash": "7986127b03cfbd78eae80b4cf48cf2fa58b548737b845a7a1989ea6d03d6828c", "section_path": ["Changes"], "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": ["8d8464445"], "source_entry_id": "14.5/changes/016", "db_id": "3fb394ab9724fd0074303e8db8a069af", "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": "5204ac019fa0bddb8a827b6d68df2f7d", "evidence": {"same_day": true, "patch_ids": ["0ec3a3c4fef6257945d9b21ba4aada4d"], "statement_hash": "58d609514e55505ba2ea42ca37f04edbd8949a5eb8a8ea5ba984628c7c343844"}}, {"rule": 2, "type": "equivalent", "target": "d816ce82d3cee8b9bb5c0cde21bd1679", "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": "14.5", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "5204ac019fa0bddb8a827b6d68df2f7d", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "Fix join alias matching in FOR [KEY] UPDATE/SHARE clauses", "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": "d816ce82d3cee8b9bb5c0cde21bd1679", "kind": "equivalent", "version": "12.12", "label": "12.12", "title": "Fix join alias matching in FOR [KEY] UPDATE/SHARE clauses", "evidence": {"same_day": true, "patch_ids": ["0ec3a3c4fef6257945d9b21ba4aada4d"], "statement_hash": "58d609514e55505ba2ea42ca37f04edbd8949a5eb8a8ea5ba984628c7c343844"}, "url": "/docs/compare/?release=12.12#12.12-2ef373d2e5ce3d43", "source_url": "/docs/release/12.12/#id-1.11.6.16.5"}, {"db_id": "33a0ffa96161ff679efee8f3682926bf", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "Fix join alias matching in FOR [KEY] UPDATE/SHARE clauses", "evidence": {"same_day": true, "patch_ids": ["0ec3a3c4fef6257945d9b21ba4aada4d"], "statement_hash": "58d609514e55505ba2ea42ca37f04edbd8949a5eb8a8ea5ba984628c7c343844"}, "url": "/docs/compare/?release=11.17#11.17-2b8eb45b268d292a", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "f2258166bf086da2829dcf83fb8f4237", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "Fix join alias matching in FOR [KEY] UPDATE/SHARE clauses", "evidence": {"same_day": true, "patch_ids": ["0ec3a3c4fef6257945d9b21ba4aada4d"], "statement_hash": "58d609514e55505ba2ea42ca37f04edbd8949a5eb8a8ea5ba984628c7c343844"}, "url": "/docs/compare/?release=10.22#10.22-2b8eb45b268d292a", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "14.5-9746a0c962f430c5", "cves": [], "html": "<p>Reject <code>ROW()</code> expressions and functions in <code>FROM</code> that have too many columns (Tom Lane) <a href=\"https://postgr.es/c/8df167baa\">§</a> <a href=\"https://postgr.es/c/d947a8bd5\">§</a></p>\n<p>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.</p>", "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.", "title": "Reject ROW() expressions and functions in FROM that have too many columns", "commits": ["8df167baa", "d947a8bd5"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.5/#id-1.11.6.25.5", "source_hash": "5c5156e780fc142504c6016d871087f1f0b2bc08dea3702bf60433fcfbbadea2", "section_path": ["Changes"], "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": ["8df167baa", "d947a8bd5"], "source_entry_id": "14.5/changes/017", "db_id": "a574a843205170775323459850e52fae", "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": "97260449d3cc34ebc0034c6974c57408", "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": "14.5", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "37645836470f6582296291ad73bcb20b", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "Reject ROW() expressions and functions in FROM that have too many columns", "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": "97260449d3cc34ebc0034c6974c57408", "kind": "equivalent", "version": "12.12", "label": "12.12", "title": "Reject ROW() expressions and functions in FROM that have too many columns", "evidence": {"same_day": true, "patch_ids": ["9055e615d9a8d6d26806e22905ca5034", "9acf44510603fce6c93af6cb53e31aaa"], "statement_hash": "cd2a6593748135ac928288235121b47949547cd1d1b7aafd71504995117bed62"}, "url": "/docs/compare/?release=12.12#12.12-7368d1c80903a4e0", "source_url": "/docs/release/12.12/#id-1.11.6.16.5"}, {"db_id": "e8bbd129286519ebb12fe4b5d30e4295", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "Reject ROW() expressions and functions in FROM that have too many columns", "evidence": {"same_day": true, "patch_ids": ["9055e615d9a8d6d26806e22905ca5034", "9acf44510603fce6c93af6cb53e31aaa"], "statement_hash": "cd2a6593748135ac928288235121b47949547cd1d1b7aafd71504995117bed62"}, "url": "/docs/compare/?release=11.17#11.17-25491a17baf7b51c", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "16f5d9da2b9f413365c825f2e4283c9d", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "Reject ROW() expressions and functions in FROM that have too many columns", "evidence": {"same_day": true, "patch_ids": ["9055e615d9a8d6d26806e22905ca5034", "9acf44510603fce6c93af6cb53e31aaa"], "statement_hash": "cd2a6593748135ac928288235121b47949547cd1d1b7aafd71504995117bed62"}, "url": "/docs/compare/?release=10.22#10.22-25491a17baf7b51c", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "14.5-ff5ce1883e1902b4", "cves": [], "html": "<p>Fix dumping of a view using a function in <code>FROM</code> that returns a composite type, when column(s) of the composite type have been dropped since the view was made (Tom Lane) <a href=\"https://postgr.es/c/da9a28fd5\">§</a></p>\n<p>This oversight could lead to dump/reload or <span>pg_upgrade</span> failures, as the dumped view would have too many column aliases for the function.</p>", "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.", "title": "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", "commits": ["da9a28fd5"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.5/#id-1.11.6.25.5", "source_hash": "0fefa2a992d73a284527f8d471ed3972fe087ed5631080844031cdde77f95cd8", "section_path": ["Changes"], "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": ["da9a28fd5"], "source_entry_id": "14.5/changes/018", "db_id": "e2dcc3bf7286d828d7ba3b5cfd3c8f7d", "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": "a3c3f143ea00efd8aee5476c01cff24b", "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"}}], "version": "14.5", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "d297883d1dccd1466d1a4375490782d2", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "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", "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": "a3c3f143ea00efd8aee5476c01cff24b", "kind": "equivalent", "version": "12.12", "label": "12.12", "title": "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", "evidence": {"same_day": true, "patch_ids": ["23656715f1aaeed2e828604f3d8b7601"], "statement_hash": "cda8527744e38b5c9686e7a8611aa75bc84e00fc2d86ca67e43bec0b2e566eb0"}, "url": "/docs/compare/?release=12.12#12.12-a47b71c4eb5c319c", "source_url": "/docs/release/12.12/#id-1.11.6.16.5"}, {"db_id": "b0a7546bd95b932d12119d39edea4cb7", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "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", "evidence": {"same_day": true, "patch_ids": ["23656715f1aaeed2e828604f3d8b7601"], "statement_hash": "cda8527744e38b5c9686e7a8611aa75bc84e00fc2d86ca67e43bec0b2e566eb0"}, "url": "/docs/compare/?release=11.17#11.17-76c1d7725b19f3e4", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "866cc719eec09451454e7a881d0656bb", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "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", "evidence": {"same_day": true, "patch_ids": ["23656715f1aaeed2e828604f3d8b7601"], "statement_hash": "cda8527744e38b5c9686e7a8611aa75bc84e00fc2d86ca67e43bec0b2e566eb0"}, "url": "/docs/compare/?release=10.22#10.22-76c1d7725b19f3e4", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "14.5-cf59c3e92047a352", "cves": [], "html": "<p>Disallow nested backup operations in logical replication walsenders (Fujii Masao) <a href=\"https://postgr.es/c/2aedf25eb\">§</a></p>", "text": "Disallow nested backup operations in logical replication walsenders (Fujii Masao) §", "title": "Disallow nested backup operations in logical replication walsenders", "commits": ["2aedf25eb"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.5/#id-1.11.6.25.5", "source_hash": "9d6cb7635a1b958b64458b9bcb9252a027f8f67a91fdd05ab951e624ce84a484", "section_path": ["Changes"], "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": ["2aedf25eb"], "source_entry_id": "14.5/changes/019", "db_id": "a2f00771074c74f91e93f347bc991aeb", "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": "c57da6ba4c012042e1b9b38ec76482b4", "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": "14.5", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "0671a83dbc975279e2adbc629f4b0881", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "Disallow nested backup operations in logical replication walsenders", "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": "c57da6ba4c012042e1b9b38ec76482b4", "kind": "equivalent", "version": "12.12", "label": "12.12", "title": "Disallow nested backup operations in logical replication walsenders", "evidence": {"same_day": true, "patch_ids": ["c6cdc4f1fb60b037ac48c606f26c9d5f"], "statement_hash": "4a48572206222346f15cb620f6279d636b79d7fbaf7dfa9a265b328528efcfcc"}, "url": "/docs/compare/?release=12.12#12.12-04862d9c1fa9861e", "source_url": "/docs/release/12.12/#id-1.11.6.16.5"}, {"db_id": "d356f4baec5c9357cb3bdd52540d035e", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "Disallow nested backup operations in logical replication walsenders", "evidence": {"same_day": true, "patch_ids": ["c6cdc4f1fb60b037ac48c606f26c9d5f"], "statement_hash": "4a48572206222346f15cb620f6279d636b79d7fbaf7dfa9a265b328528efcfcc"}, "url": "/docs/compare/?release=11.17#11.17-f3684da21b22c020", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "12f6dea62a2252aa39fd3ebfcd1693d7", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "Disallow nested backup operations in logical replication walsenders", "evidence": {"same_day": true, "patch_ids": ["c6cdc4f1fb60b037ac48c606f26c9d5f"], "statement_hash": "4a48572206222346f15cb620f6279d636b79d7fbaf7dfa9a265b328528efcfcc"}, "url": "/docs/compare/?release=10.22#10.22-f3684da21b22c020", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "14.5-4f5025ba61cf2a50", "cves": [], "html": "<p>Fix memory leak in logical replication subscribers (Hou Zhijie) <a href=\"https://postgr.es/c/3238b5c33\">§</a></p>", "text": "Fix memory leak in logical replication subscribers (Hou Zhijie) §", "title": "Fix memory leak in logical replication subscribers", "commits": ["3238b5c33"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.5/#id-1.11.6.25.5", "source_hash": "797a2e23dcfd0169d2a58dccdebf0be36789435358b8e142ccf5510fe165a3ee", "section_path": ["Changes"], "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": ["3238b5c33"], "source_entry_id": "14.5/changes/020", "db_id": "61c5b479075eae8a72f17ca3e8d955b8", "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": "7161d023732b23d6f187b47cc5774f22", "evidence": {"same_day": true, "patch_ids": ["539c7d20a0d1a39e7a676fcb986f4254"], "statement_hash": "3752db30a90495d0ebc9d920f2424cf749723996df3a8f64cf980c78dcba5b75"}}, {"rule": 2, "type": "equivalent", "target": "a343fad24b31cd090a93924efc9ed686", "evidence": {"same_day": true, "patch_ids": ["539c7d20a0d1a39e7a676fcb986f4254"], "statement_hash": "3752db30a90495d0ebc9d920f2424cf749723996df3a8f64cf980c78dcba5b75"}}], "version": "14.5", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "7161d023732b23d6f187b47cc5774f22", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "Fix memory leak in logical replication subscribers", "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": "a343fad24b31cd090a93924efc9ed686", "kind": "equivalent", "version": "12.12", "label": "12.12", "title": "Fix memory leak in logical replication subscribers", "evidence": {"same_day": true, "patch_ids": ["539c7d20a0d1a39e7a676fcb986f4254"], "statement_hash": "3752db30a90495d0ebc9d920f2424cf749723996df3a8f64cf980c78dcba5b75"}, "url": "/docs/compare/?release=12.12#12.12-7716a9d45fa08ec9", "source_url": "/docs/release/12.12/#id-1.11.6.16.5"}, {"db_id": "230b4855bf5bb9cd4aaee0a7c0084362", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "Fix memory leak in logical replication subscribers", "evidence": {"same_day": true, "patch_ids": ["539c7d20a0d1a39e7a676fcb986f4254"], "statement_hash": "3752db30a90495d0ebc9d920f2424cf749723996df3a8f64cf980c78dcba5b75"}, "url": "/docs/compare/?release=11.17#11.17-cbfefd8d80f2dd26", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "18e9aa854000311994dbee2d7fadd023", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "Fix memory leak in logical replication subscribers", "evidence": {"same_day": true, "patch_ids": ["539c7d20a0d1a39e7a676fcb986f4254"], "statement_hash": "3752db30a90495d0ebc9d920f2424cf749723996df3a8f64cf980c78dcba5b75"}, "url": "/docs/compare/?release=10.22#10.22-cbfefd8d80f2dd26", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "14.5-45a45afd89888d85", "cves": [], "html": "<p>Fix logical replication's checking of replica identity when the target table is partitioned (Shi Yu, Hou Zhijie) <a href=\"https://postgr.es/c/52d5ea9ad\">§</a> <a href=\"https://postgr.es/c/f0022a77d\">§</a></p>\n<p>The replica identity columns have to be re-identified for the child partition.</p>", "text": "Fix logical replication's checking of replica identity when the target table is partitioned (Shi Yu, Hou Zhijie) § § The replica identity columns have to be re-identified for the child partition.", "title": "Fix logical replication's checking of replica identity when the target table is partitioned", "commits": ["52d5ea9ad", "f0022a77d"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.5/#id-1.11.6.25.5", "source_hash": "2a675b9635006ebc77bf9da82253b982acb397543e89e47d0e3e17dca1e8c1db", "section_path": ["Changes"], "commit_groups": [["26b3455af", "52d5ea9ad", "5f113d60e"], ["419c72715", "75bfe7434", "f0022a77d"]], "identity_text": "Fix logical replication's checking of replica identity when the target table is partitioned (Shi Yu, Hou Zhijie) The replica identity columns have to be re-identified for the child partition.", "commit_aliases": ["26b3455af", "419c72715", "52d5ea9ad", "5f113d60e", "75bfe7434", "f0022a77d"], "source_commits": ["52d5ea9ad", "f0022a77d"], "source_entry_id": "14.5/changes/021", "db_id": "6b04ed5bfc402ce7b54b88180913805a", "patch_ids": ["b9d2f47ec0afee00da393e1ec09d24e1", "d513d8b74384109ba49eca778824ff23"], "statement_hash": "22dcdfd80dcb21a70117360ce904746a9e95e481d842031f4d9ca5d5f8be33ac", "relations": [{"rule": 2, "type": "equivalent", "target": "f3c63e718eb3a547e233cb579028539a", "evidence": {"same_day": true, "patch_ids": ["b9d2f47ec0afee00da393e1ec09d24e1", "d513d8b74384109ba49eca778824ff23"], "statement_hash": "22dcdfd80dcb21a70117360ce904746a9e95e481d842031f4d9ca5d5f8be33ac"}}], "version": "14.5", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "f3c63e718eb3a547e233cb579028539a", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "Fix logical replication's checking of replica identity when the target table is partitioned", "evidence": {"same_day": true, "patch_ids": ["b9d2f47ec0afee00da393e1ec09d24e1", "d513d8b74384109ba49eca778824ff23"], "statement_hash": "22dcdfd80dcb21a70117360ce904746a9e95e481d842031f4d9ca5d5f8be33ac"}, "url": "/docs/compare/?release=13.8#13.8-24eba2504179aff7", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}]}, {"id": "14.5-fa667a1e30f5584c", "cves": [], "html": "<p>Fix failures to update cached schema data in a logical replication subscriber after a schema change on the publisher (Shi Yu, Hou Zhijie) <a href=\"https://postgr.es/c/0980adfd4\">§</a> <a href=\"https://postgr.es/c/d457cb4e8\">§</a></p>", "text": "Fix failures to update cached schema data in a logical replication subscriber after a schema change on the publisher (Shi Yu, Hou Zhijie) § §", "title": "Fix failures to update cached schema data in a logical replication subscriber after a schema change on the publisher", "commits": ["0980adfd4", "d457cb4e8"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.5/#id-1.11.6.25.5", "source_hash": "76f2506f4241e819014b9299c029fa78ef401b7a8ab67bea55b59ab3701d51eb", "section_path": ["Changes"], "commit_groups": [["0980adfd4", "1f9a7738e", "b7658c24c"], ["16f5a8da7", "5a97b1325", "d457cb4e8"]], "identity_text": "Fix failures to update cached schema data in a logical replication subscriber after a schema change on the publisher (Shi Yu, Hou Zhijie)", "commit_aliases": ["0980adfd4", "16f5a8da7", "1f9a7738e", "5a97b1325", "b7658c24c", "d457cb4e8"], "source_commits": ["0980adfd4", "d457cb4e8"], "source_entry_id": "14.5/changes/022", "db_id": "e2f32b0612035fecd442d60a0afe6d58", "patch_ids": ["856cdf9e48f597159b5a0864c283ebc0", "91022437f378be590a1aa568383269d9"], "statement_hash": "c5f11d08bced2a611bfdb640ac158fdc552db888b7f9565f00036a353ef60bac", "relations": [{"rule": 2, "type": "equivalent", "target": "912f1793aec64568ef2518d0859f36ae", "evidence": {"same_day": true, "patch_ids": ["856cdf9e48f597159b5a0864c283ebc0", "91022437f378be590a1aa568383269d9"], "statement_hash": "c5f11d08bced2a611bfdb640ac158fdc552db888b7f9565f00036a353ef60bac"}}], "version": "14.5", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "912f1793aec64568ef2518d0859f36ae", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "Fix failures to update cached schema data in a logical replication subscriber after a schema change on the publisher", "evidence": {"same_day": true, "patch_ids": ["856cdf9e48f597159b5a0864c283ebc0", "91022437f378be590a1aa568383269d9"], "statement_hash": "c5f11d08bced2a611bfdb640ac158fdc552db888b7f9565f00036a353ef60bac"}, "url": "/docs/compare/?release=13.8#13.8-c647584ddb132a84", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}]}, {"id": "14.5-1f1c70c64441db39", "cves": [], "html": "<p>Fix WAL consistency checking logic to correctly handle <code>BRIN_EVACUATE_PAGE</code> flags (Haiyang Wang) <a href=\"https://postgr.es/c/541f41d4f\">§</a> <a href=\"https://postgr.es/c/f4beef1c2\">§</a></p>", "text": "Fix WAL consistency checking logic to correctly handle BRIN_EVACUATE_PAGE flags (Haiyang Wang) § §", "title": "Fix WAL consistency checking logic to correctly handle BRIN_EVACUATE_PAGE flags", "commits": ["541f41d4f", "f4beef1c2"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.5/#id-1.11.6.25.5", "source_hash": "2a8c3d2ca049d98300143976b1d72ca006755ddd259e94c1e4855f65bdbeacb6", "section_path": ["Changes"], "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": ["541f41d4f", "f4beef1c2"], "source_entry_id": "14.5/changes/023", "db_id": "006dc3e2f88197a8275eacece6f5eff7", "patch_ids": ["6e1204eb4e4b20bae4ccd2300e272190", "ebc6efc5e79da6b5a7a015a03df883f6"], "statement_hash": "b4025f14ae731dbf7543188469e7c09a49273c244b9191d47c861b6dbddefbcd", "relations": [{"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": "60d4a502230125b09080142abc21046f", "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": "14.5", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "698d996a37cf6215fdde9bdb4fa969c4", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "Fix WAL consistency checking logic to correctly handle BRIN_EVACUATE_PAGE flags", "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": "60d4a502230125b09080142abc21046f", "kind": "equivalent", "version": "12.12", "label": "12.12", "title": "Fix WAL consistency checking logic to correctly handle BRIN_EVACUATE_PAGE flags", "evidence": {"same_day": true, "patch_ids": ["6e1204eb4e4b20bae4ccd2300e272190", "ebc6efc5e79da6b5a7a015a03df883f6"], "statement_hash": "b4025f14ae731dbf7543188469e7c09a49273c244b9191d47c861b6dbddefbcd"}, "url": "/docs/compare/?release=12.12#12.12-3c70bdcb838e7cd3", "source_url": "/docs/release/12.12/#id-1.11.6.16.5"}, {"db_id": "51ceeddec4d387eab995ec6128f4876a", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "Fix WAL consistency checking logic to correctly handle BRIN_EVACUATE_PAGE flags", "evidence": {"same_day": true, "patch_ids": ["6e1204eb4e4b20bae4ccd2300e272190", "ebc6efc5e79da6b5a7a015a03df883f6"], "statement_hash": "b4025f14ae731dbf7543188469e7c09a49273c244b9191d47c861b6dbddefbcd"}, "url": "/docs/compare/?release=11.17#11.17-6cfe5bda3bc06034", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "2720f3de7331929eee8670b9d5b83131", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "Fix WAL consistency checking logic to correctly handle BRIN_EVACUATE_PAGE flags", "evidence": {"same_day": true, "patch_ids": ["6e1204eb4e4b20bae4ccd2300e272190", "ebc6efc5e79da6b5a7a015a03df883f6"], "statement_hash": "b4025f14ae731dbf7543188469e7c09a49273c244b9191d47c861b6dbddefbcd"}, "url": "/docs/compare/?release=10.22#10.22-6cfe5bda3bc06034", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "14.5-c1cf7e181dfe5824", "cves": [], "html": "<p>Fix erroneous assertion checks in shared hashtable management (Thomas Munro) <a href=\"https://postgr.es/c/5e7608e81\">§</a></p>", "text": "Fix erroneous assertion checks in shared hashtable management (Thomas Munro) §", "title": "Fix erroneous assertion checks in shared hashtable management", "commits": ["5e7608e81"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.5/#id-1.11.6.25.5", "source_hash": "910c665638f385284c5d617f7c0037ac1e0e5b2b359ca90e96cc38acc5f3dfb9", "section_path": ["Changes"], "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": ["5e7608e81"], "source_entry_id": "14.5/changes/024", "db_id": "8c2b3266b36bfc38f3a68b530b103ccd", "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": "bd1f5175935214421f392fe00d34300c", "evidence": {"same_day": true, "patch_ids": ["bb4de33b3d83d4e3d8554acd4082734d"], "statement_hash": "b30bb46ecf1383660549a7273a4d736b860f47944d3b879cfe1ce9476ec6f674"}}], "version": "14.5", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "4b8e56a817dba1a8e89b8c85fa676440", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "Fix erroneous assertion checks in shared hashtable management", "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": "bd1f5175935214421f392fe00d34300c", "kind": "equivalent", "version": "12.12", "label": "12.12", "title": "Fix erroneous assertion checks in shared hashtable management", "evidence": {"same_day": true, "patch_ids": ["bb4de33b3d83d4e3d8554acd4082734d"], "statement_hash": "b30bb46ecf1383660549a7273a4d736b860f47944d3b879cfe1ce9476ec6f674"}, "url": "/docs/compare/?release=12.12#12.12-1630b65f549a89ab", "source_url": "/docs/release/12.12/#id-1.11.6.16.5"}, {"db_id": "53e2c0f64c6a1e0b8a484cf8159e16f9", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "Fix erroneous assertion checks in shared hashtable management", "evidence": {"same_day": true, "patch_ids": ["bb4de33b3d83d4e3d8554acd4082734d"], "statement_hash": "b30bb46ecf1383660549a7273a4d736b860f47944d3b879cfe1ce9476ec6f674"}, "url": "/docs/compare/?release=11.17#11.17-0b4b863cc5f8a688", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}]}, {"id": "14.5-de06d103380d3eb5", "cves": [], "html": "<p>Avoid assertion failure when <code>min_dynamic_shared_memory</code> is set to a non-default value (Thomas Munro) <a href=\"https://postgr.es/c/99504ff82\">§</a></p>", "text": "Avoid assertion failure when min_dynamic_shared_memory is set to a non-default value (Thomas Munro) §", "title": "Avoid assertion failure when min_dynamic_shared_memory is set to a non-default value", "commits": ["99504ff82"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.5/#id-1.11.6.25.5", "source_hash": "3d18df1c4879360a8a746a53e0daf2dbc909a59bd146cee1635fe5ef97b8de0e", "section_path": ["Changes"], "commit_groups": [["7201cd186", "99504ff82"]], "identity_text": "Avoid assertion failure when min_dynamic_shared_memory is set to a non-default value (Thomas Munro)", "commit_aliases": ["7201cd186", "99504ff82"], "source_commits": ["99504ff82"], "source_entry_id": "14.5/changes/025", "db_id": "53064ef0a032f251504f87894e9db224", "patch_ids": ["636d41480fc924dbd0da96fb9b130b0d"], "statement_hash": "f4afe8c7121b567fa8143815c0752f77a581159a1a7f1ecddb88fc95a03b8669", "relations": [], "version": "14.5", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.5-dd202d7cba3beb9b", "cves": [], "html": "<p>Arrange to clean up after commit-time errors within <code>SPI_commit()</code>, rather than expecting callers to do that (Peter Eisentraut, Tom Lane) <a href=\"https://postgr.es/c/604651880\">§</a> <a href=\"https://postgr.es/c/8657946d3\">§</a></p>\n<p>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 <code>COMMIT</code> but a failure occurred (such as a deferred constraint check). To improve matters, redefine <code>SPI_commit()</code> as starting a new transaction, so that it becomes equivalent to <code>SPI_commit_and_chain()</code> except that you get default transaction characteristics instead of preserving the prior transaction's characteristics. To make this somewhat transparent API-wise, redefine <code>SPI_start_transaction()</code> as a no-op. All known callers of <code>SPI_commit()</code> immediately call <code>SPI_start_transaction()</code>, so they will not notice any change. Similar remarks apply to <code>SPI_rollback()</code>.</p>\n<p>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.</p>", "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.", "title": "Arrange to clean up after commit-time errors within SPI_commit(), rather than expecting callers to do that", "commits": ["604651880", "8657946d3"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.5/#id-1.11.6.25.5", "source_hash": "4e0452d61683387bdf25de03ac7e1af6f6905d81e370570448e6564fb5017c4c", "section_path": ["Changes"], "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": ["604651880", "8657946d3"], "source_entry_id": "14.5/changes/026", "db_id": "ecc8451032d4a13317ad11b635d6ad8e", "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": "64ccc747dc6132c2023e21bf601a3dcb", "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": "14.5", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "f54e497fe75e4fb33cae3f16e790301d", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "Arrange to clean up after commit-time errors within SPI_commit(), rather than expecting callers to do that", "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": "64ccc747dc6132c2023e21bf601a3dcb", "kind": "equivalent", "version": "12.12", "label": "12.12", "title": "Arrange to clean up after commit-time errors within SPI_commit(), rather than expecting callers to do that", "evidence": {"same_day": true, "patch_ids": ["8cd48dcc426d6d1641d9d50ec1e5dded", "d63e3f0c4d521046d55f61fcc7d5a995"], "statement_hash": "064fc46ac8d2c682921224db741428e9e0aa63a1501bd5e3048ce36f06b03faf"}, "url": "/docs/compare/?release=12.12#12.12-a333e7979fea0ee2", "source_url": "/docs/release/12.12/#id-1.11.6.16.5"}, {"db_id": "455644e2a0145c42f0c9333e4fd01322", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "Arrange to clean up after commit-time errors within SPI_commit(), rather than expecting callers to do that", "evidence": {"same_day": true, "patch_ids": ["8cd48dcc426d6d1641d9d50ec1e5dded", "d63e3f0c4d521046d55f61fcc7d5a995"], "statement_hash": "064fc46ac8d2c682921224db741428e9e0aa63a1501bd5e3048ce36f06b03faf"}, "url": "/docs/compare/?release=11.17#11.17-a0c606fa81df5c4a", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}]}, {"id": "14.5-65a49b7693311347", "cves": [], "html": "<p>Improve <span>libpq</span>'s handling of idle states in pipeline mode (Álvaro Herrera, Kyotaro Horiguchi) <a href=\"https://postgr.es/c/7c1f42612\">§</a> <a href=\"https://postgr.es/c/9e038d690\">§</a></p>\n<p>This fixes <span>“<span>message type 0x33 arrived from server while idle</span>”</span> warnings, as well as possible loss of end-of-query NULL results from <code>PQgetResult()</code>.</p>", "text": "Improve libpq's handling of idle states in pipeline mode (Álvaro Herrera, Kyotaro Horiguchi) § § This fixes “message type 0x33 arrived from server while idle” warnings, as well as possible loss of end-of-query NULL results from PQgetResult().", "title": "Improve libpq's handling of idle states in pipeline mode", "commits": ["7c1f42612", "9e038d690"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.5/#id-1.11.6.25.5", "source_hash": "e0d0db2885ad2618eae708bc9df6abef8c996978f5a0709bace60bb8fc3d99c7", "section_path": ["Changes"], "commit_groups": [["054325c5e", "7c1f42612", "93cf9233c"], ["9e038d690", "e1df03b80", "e69093070"]], "identity_text": "Improve libpq's handling of idle states in pipeline mode (Álvaro Herrera, Kyotaro Horiguchi) This fixes message type 0x33 arrived from server while idle warnings, as well as possible loss of end-of-query NULL results from PQgetResult().", "commit_aliases": ["054325c5e", "7c1f42612", "93cf9233c", "9e038d690", "e1df03b80", "e69093070"], "source_commits": ["7c1f42612", "9e038d690"], "source_entry_id": "14.5/changes/027", "db_id": "ed7d65dc543a9eedc67d12868f753bb1", "patch_ids": ["8187f464871335762105e45093e7c65c", "dc33ff30893fca1d0598e881df4c9ad6"], "statement_hash": "b8b2e495f80366f242cbca9dcef26d556ba5450807e0159ea5c246fc5d790373", "relations": [], "version": "14.5", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.5-59a6aea7b2cf8b46", "cves": [], "html": "<p>Avoid core dump in <span>ecpglib</span> with unexpected orders of operations (Tom Lane) <a href=\"https://postgr.es/c/7bc21ed8c\">§</a></p>\n<p>Certain operations such as <code>EXEC SQL PREPARE</code> would crash (rather than reporting an error as expected) if called before establishing any database connection.</p>", "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.", "title": "Avoid core dump in ecpglib with unexpected orders of operations", "commits": ["7bc21ed8c"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.5/#id-1.11.6.25.5", "source_hash": "61e84a929c8602ae8da8e1516bc8af7c717964aaf498f10b5f8c95735e8eacf2", "section_path": ["Changes"], "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": ["7bc21ed8c"], "source_entry_id": "14.5/changes/028", "db_id": "bf47fe3fa00dba835ff2e0ce92875c8d", "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": "c0070ab4e6821970d0db2c353e4bca26", "evidence": {"same_day": true, "patch_ids": ["b22949fbbbc95a4107f2140a4938f37b"], "statement_hash": "a77f722f3b45a1b5f9e88a264b597caf55b6c905630eabeb55c329c8408697ad"}}], "version": "14.5", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "6ea9982419018b8fcaf4be1e5fd73962", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "Avoid core dump in ecpglib with unexpected orders of operations", "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": "c0070ab4e6821970d0db2c353e4bca26", "kind": "equivalent", "version": "12.12", "label": "12.12", "title": "Avoid core dump in ecpglib with unexpected orders of operations", "evidence": {"same_day": true, "patch_ids": ["b22949fbbbc95a4107f2140a4938f37b"], "statement_hash": "a77f722f3b45a1b5f9e88a264b597caf55b6c905630eabeb55c329c8408697ad"}, "url": "/docs/compare/?release=12.12#12.12-f252734d71b69247", "source_url": "/docs/release/12.12/#id-1.11.6.16.5"}, {"db_id": "4b62a77fa0872f24e03578b164c35171", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "Avoid core dump in ecpglib with unexpected orders of operations", "evidence": {"same_day": true, "patch_ids": ["b22949fbbbc95a4107f2140a4938f37b"], "statement_hash": "a77f722f3b45a1b5f9e88a264b597caf55b6c905630eabeb55c329c8408697ad"}, "url": "/docs/compare/?release=11.17#11.17-8a2e551e5487b68d", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "162c4017014882b40f5127341fe8a315", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "Avoid core dump in ecpglib with unexpected orders of operations", "evidence": {"same_day": true, "patch_ids": ["b22949fbbbc95a4107f2140a4938f37b"], "statement_hash": "a77f722f3b45a1b5f9e88a264b597caf55b6c905630eabeb55c329c8408697ad"}, "url": "/docs/compare/?release=10.22#10.22-8a2e551e5487b68d", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "14.5-2e6cd6755629651a", "cves": [], "html": "<p>In <span>ecpglib</span>, avoid redundant <code>newlocale()</code> calls (Noah Misch) <a href=\"https://postgr.es/c/5b94e2bd4\">§</a> <a href=\"https://postgr.es/c/463a841d7\">§</a></p>\n<p>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.</p>", "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.", "title": "In ecpglib, avoid redundant newlocale() calls", "commits": ["463a841d7", "5b94e2bd4"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.5/#id-1.11.6.25.5", "source_hash": "2419e26c3b726c5dc849845b725819e5d4001357ebfb233577b2bd7902ec99db", "section_path": ["Changes"], "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": ["463a841d7", "5b94e2bd4"], "source_entry_id": "14.5/changes/029", "db_id": "47946dd7c3b3ec8642a88a11e10e2ec2", "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": "629606c1eade321373cade72312a2bdb", "evidence": {"same_day": true, "patch_ids": ["4fbdda9712dcf12c5767702d0bb6bcca", "736a7e2d332c231e6239ad95ff829713"], "statement_hash": "efd9ae1c9c31d6f8c977b248d2a79b8babb63b96e0fd6ad4c3edb4bd221f4957"}}, {"rule": 2, "type": "equivalent", "target": "b78c9e20bd7c102d32e23b23513c5e4b", "evidence": {"same_day": true, "patch_ids": ["4fbdda9712dcf12c5767702d0bb6bcca", "736a7e2d332c231e6239ad95ff829713"], "statement_hash": "efd9ae1c9c31d6f8c977b248d2a79b8babb63b96e0fd6ad4c3edb4bd221f4957"}}], "version": "14.5", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "2327feff43ef28a431cbd88343c54217", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "In ecpglib, avoid redundant newlocale() calls", "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": "b78c9e20bd7c102d32e23b23513c5e4b", "kind": "equivalent", "version": "12.12", "label": "12.12", "title": "In ecpglib, avoid redundant newlocale() calls", "evidence": {"same_day": true, "patch_ids": ["4fbdda9712dcf12c5767702d0bb6bcca", "736a7e2d332c231e6239ad95ff829713"], "statement_hash": "efd9ae1c9c31d6f8c977b248d2a79b8babb63b96e0fd6ad4c3edb4bd221f4957"}, "url": "/docs/compare/?release=12.12#12.12-f21655e3bfc5a5b4", "source_url": "/docs/release/12.12/#id-1.11.6.16.5"}, {"db_id": "126fcc988590ce34debe9efd9d3e0c9e", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "In ecpglib, avoid redundant newlocale() calls", "evidence": {"same_day": true, "patch_ids": ["4fbdda9712dcf12c5767702d0bb6bcca", "736a7e2d332c231e6239ad95ff829713"], "statement_hash": "efd9ae1c9c31d6f8c977b248d2a79b8babb63b96e0fd6ad4c3edb4bd221f4957"}, "url": "/docs/compare/?release=11.17#11.17-a51dac66fbee920e", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "629606c1eade321373cade72312a2bdb", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "In ecpglib, avoid redundant newlocale() calls", "evidence": {"same_day": true, "patch_ids": ["4fbdda9712dcf12c5767702d0bb6bcca", "736a7e2d332c231e6239ad95ff829713"], "statement_hash": "efd9ae1c9c31d6f8c977b248d2a79b8babb63b96e0fd6ad4c3edb4bd221f4957"}, "url": "/docs/compare/?release=10.22#10.22-a51dac66fbee920e", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "14.5-f90b4abebb399737", "cves": [], "html": "<p>In <span>psql</span>'s <code>\\watch</code> command, echo a newline after cancellation with control-C (Pavel Stehule) <a href=\"https://postgr.es/c/ab7fef0ac\">§</a></p>\n<p>This prevents libedit (and possibly also libreadline) from becoming confused about which column the cursor is in.</p>", "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.", "title": "In psql's \\watch command, echo a newline after cancellation with control-C", "commits": ["ab7fef0ac"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.5/#id-1.11.6.25.5", "source_hash": "2952a6e8c2e2c3c61fa9c86025b1b7aa87898e238a32503562adeb46b9d4f55a", "section_path": ["Changes"], "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": ["ab7fef0ac"], "source_entry_id": "14.5/changes/030", "db_id": "1cd9fa8920774d0a5c399f3631b6d8d5", "patch_ids": ["f4597a7fe73f219571c869d939d59d5f"], "statement_hash": "6da98e60977a7bf56505b1cd758ac213477664dc14b057c74665fbcc6d5b5edc", "relations": [{"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": "77c3114e5f396f10ef9cc7e388e4cc9d", "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": "14.5", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "3ec75a25d9045ca44f4f8485a65a6f83", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "In psql's \\watch command, echo a newline after cancellation with 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": "77c3114e5f396f10ef9cc7e388e4cc9d", "kind": "equivalent", "version": "12.12", "label": "12.12", "title": "In psql's \\watch command, echo a newline after cancellation with control-C", "evidence": {"same_day": true, "patch_ids": ["f4597a7fe73f219571c869d939d59d5f"], "statement_hash": "6da98e60977a7bf56505b1cd758ac213477664dc14b057c74665fbcc6d5b5edc"}, "url": "/docs/compare/?release=12.12#12.12-0b7e198cdeff2405", "source_url": "/docs/release/12.12/#id-1.11.6.16.5"}, {"db_id": "c87c80c89ba5bfdfd5473508e0528b58", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "In psql's \\watch command, echo a newline after cancellation with control-C", "evidence": {"same_day": true, "patch_ids": ["f4597a7fe73f219571c869d939d59d5f"], "statement_hash": "6da98e60977a7bf56505b1cd758ac213477664dc14b057c74665fbcc6d5b5edc"}, "url": "/docs/compare/?release=11.17#11.17-eae520b56d3e9ef2", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "2e80c2a540fd723d13803b390fff3ebf", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "In psql's \\watch command, echo a newline after cancellation with control-C", "evidence": {"same_day": true, "patch_ids": ["f4597a7fe73f219571c869d939d59d5f"], "statement_hash": "6da98e60977a7bf56505b1cd758ac213477664dc14b057c74665fbcc6d5b5edc"}, "url": "/docs/compare/?release=10.22#10.22-eae520b56d3e9ef2", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "14.5-91ef2d49c2923303", "cves": [], "html": "<p>Fix <span>pg_upgrade</span> to detect non-upgradable usages of functions taking <code>anyarray</code> (Justin Pryzby) <a href=\"https://postgr.es/c/175e60a5e\">§</a> <a href=\"https://postgr.es/c/9783413cb\">§</a></p>\n<p>Version 14 changed some built-in functions to take type <code>anycompatiblearray</code> instead of <code>anyarray</code>. While this is mostly transparent, user-defined aggregates and operators built atop these functions have to be declared with exactly matching types. The presence of an object referencing the old signature will cause <span>pg_upgrade</span> to fail, so change it to detect and report such cases before beginning the upgrade.</p>", "text": "Fix pg_upgrade to detect non-upgradable usages of functions taking anyarray (Justin Pryzby) § § Version 14 changed some built-in functions to take type anycompatiblearray instead of anyarray. While this is mostly transparent, user-defined aggregates and operators built atop these functions have to be declared with exactly matching types. The presence of an object referencing the old signature will cause pg_upgrade to fail, so change it to detect and report such cases before beginning the upgrade.", "title": "Fix pg_upgrade to detect non-upgradable usages of functions taking anyarray", "commits": ["175e60a5e", "9783413cb"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.5/#id-1.11.6.25.5", "source_hash": "a20da7871fd51ffa707e811ac5c3810ce2f7b2d8fd54df0cb81cee54d6f69f72", "section_path": ["Changes"], "commit_groups": [["08385ed26", "9783413cb", "c7e21e966"], ["09878cdd4", "175e60a5e", "c069f4278"]], "identity_text": "Fix pg_upgrade to detect non-upgradable usages of functions taking anyarray (Justin Pryzby) Version 14 changed some built-in functions to take type anycompatiblearray instead of anyarray. While this is mostly transparent, user-defined aggregates and operators built atop these functions have to be declared with exactly matching types. The presence of an object referencing the old signature will cause pg_upgrade to fail, so change it to detect and report such cases before beginning the upgrade.", "commit_aliases": ["08385ed26", "09878cdd4", "175e60a5e", "9783413cb", "c069f4278", "c7e21e966"], "source_commits": ["175e60a5e", "9783413cb"], "source_entry_id": "14.5/changes/031", "db_id": "f866cccff377458da5f776eacd2085f0", "patch_ids": ["920093bf8c7d8bdb705a3e892d269ba8", "9af3c0c58fee900e68fc814e78491403"], "statement_hash": "d29c3564c67a53115f722f924d5aefc57f944d8275617775c9c798e4bc527830", "relations": [], "version": "14.5", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.5-e0b8d13f9e3f3158", "cves": [], "html": "<p>Fix possible report of wrong error condition after <code>clone()</code> failure in <span>pg_upgrade</span> with <code>--clone</code> option (Justin Pryzby) <a href=\"https://postgr.es/c/523926dea\">§</a></p>", "text": "Fix possible report of wrong error condition after clone() failure in pg_upgrade with --clone option (Justin Pryzby) §", "title": "Fix possible report of wrong error condition after clone() failure in pg_upgrade with --clone option", "commits": ["523926dea"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.5/#id-1.11.6.25.5", "source_hash": "02ee48ae38b5b14b3d22e835dcf5dca8b95b58652c9773f7f27c041d57f6f9ed", "section_path": ["Changes"], "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": ["523926dea"], "source_entry_id": "14.5/changes/032", "db_id": "f050dcdd32ca5164b4d58b0863c273b7", "patch_ids": ["b3164c3e439fbae8c0835030bac4aee6"], "statement_hash": "bb1569d604080205f82cbdc45a055ced6ef696c4e758932480cd4bebb6afe0cf", "relations": [{"rule": 2, "type": "equivalent", "target": "35070f06ad11c436074f097a94e47ae6", "evidence": {"same_day": true, "patch_ids": ["b3164c3e439fbae8c0835030bac4aee6"], "statement_hash": "bb1569d604080205f82cbdc45a055ced6ef696c4e758932480cd4bebb6afe0cf"}}, {"rule": 2, "type": "equivalent", "target": "9ed109f5866c13e2bd13ccfb18663496", "evidence": {"same_day": true, "patch_ids": ["b3164c3e439fbae8c0835030bac4aee6"], "statement_hash": "bb1569d604080205f82cbdc45a055ced6ef696c4e758932480cd4bebb6afe0cf"}}], "version": "14.5", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "9ed109f5866c13e2bd13ccfb18663496", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "Fix possible report of wrong error condition after clone() failure in pg_upgrade with --clone option", "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"}, {"db_id": "35070f06ad11c436074f097a94e47ae6", "kind": "equivalent", "version": "12.12", "label": "12.12", "title": "Fix possible report of wrong error condition after clone() failure in pg_upgrade with --clone option", "evidence": {"same_day": true, "patch_ids": ["b3164c3e439fbae8c0835030bac4aee6"], "statement_hash": "bb1569d604080205f82cbdc45a055ced6ef696c4e758932480cd4bebb6afe0cf"}, "url": "/docs/compare/?release=12.12#12.12-5cf7343636b1341e", "source_url": "/docs/release/12.12/#id-1.11.6.16.5"}]}, {"id": "14.5-f77a82bc2052a471", "cves": [], "html": "<p>Fix <code>contrib/pg_stat_statements</code> to avoid problems with very large query-text files on 32-bit platforms (Tom Lane) <a href=\"https://postgr.es/c/17fd203b4\">§</a></p>", "text": "Fix contrib/pg_stat_statements to avoid problems with very large query-text files on 32-bit platforms (Tom Lane) §", "title": "Fix contrib/pg_stat_statements to avoid problems with very large query-text files on 32-bit platforms", "commits": ["17fd203b4"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.5/#id-1.11.6.25.5", "source_hash": "ac345f72f2284e9e6a425e30ea4309caecc898475c55209533dd393f48c839d6", "section_path": ["Changes"], "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": ["17fd203b4"], "source_entry_id": "14.5/changes/033", "db_id": "303caeec8188b6bd2c981e1a87ea5e11", "patch_ids": ["5c561562338652fbd2978b8c7fd4af58"], "statement_hash": "1ef60a8a11d4a5203df51974ca2623291b1050625268229225f346ef344e9387", "relations": [{"rule": 2, "type": "equivalent", "target": "66a0865c69ac09b3e786222e1b449439", "evidence": {"same_day": true, "patch_ids": ["5c561562338652fbd2978b8c7fd4af58"], "statement_hash": "1ef60a8a11d4a5203df51974ca2623291b1050625268229225f346ef344e9387"}}, {"rule": 2, "type": "equivalent", "target": "85f65ff2a50a2d1600932e5cfd8a1beb", "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": "14.5", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "fb0f351216d9052c86c02e598f998b3a", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "Fix contrib/pg_stat_statements to avoid problems with very large query-text files on 32-bit platforms", "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": "85f65ff2a50a2d1600932e5cfd8a1beb", "kind": "equivalent", "version": "12.12", "label": "12.12", "title": "Fix contrib/pg_stat_statements to avoid problems with very large query-text files on 32-bit platforms", "evidence": {"same_day": true, "patch_ids": ["5c561562338652fbd2978b8c7fd4af58"], "statement_hash": "1ef60a8a11d4a5203df51974ca2623291b1050625268229225f346ef344e9387"}, "url": "/docs/compare/?release=12.12#12.12-8f07e2c58c575e2b", "source_url": "/docs/release/12.12/#id-1.11.6.16.5"}, {"db_id": "66a0865c69ac09b3e786222e1b449439", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "Fix contrib/pg_stat_statements to avoid problems with very large query-text files on 32-bit platforms", "evidence": {"same_day": true, "patch_ids": ["5c561562338652fbd2978b8c7fd4af58"], "statement_hash": "1ef60a8a11d4a5203df51974ca2623291b1050625268229225f346ef344e9387"}, "url": "/docs/compare/?release=11.17#11.17-636c46366cd5d6b4", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "9b7517499af13b5440e8c01109aa927c", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "Fix contrib/pg_stat_statements to avoid problems with very large query-text files on 32-bit platforms", "evidence": {"same_day": true, "patch_ids": ["5c561562338652fbd2978b8c7fd4af58"], "statement_hash": "1ef60a8a11d4a5203df51974ca2623291b1050625268229225f346ef344e9387"}, "url": "/docs/compare/?release=10.22#10.22-636c46366cd5d6b4", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "14.5-786fb4fb6663e36c", "cves": [], "html": "<p>In <code>contrib/postgres_fdw</code>, prevent batch insertion when there are <code>WITH CHECK OPTION</code> constraints (Etsuro Fujita) <a href=\"https://postgr.es/c/4a9bc2e0f\">§</a></p>\n<p>Such constraints cannot be checked properly if more than one row is inserted at a time.</p>", "text": "In contrib/postgres_fdw, prevent batch insertion when there are WITH CHECK OPTION constraints (Etsuro Fujita) § Such constraints cannot be checked properly if more than one row is inserted at a time.", "title": "In contrib/postgres_fdw, prevent batch insertion when there are WITH CHECK OPTION constraints", "commits": ["4a9bc2e0f"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.5/#id-1.11.6.25.5", "source_hash": "7ae60a1b66455e16ef4329d0a5f4a68dffc0c739a38ac332325ba12e1906c3b7", "section_path": ["Changes"], "commit_groups": [["1d49db259", "4a9bc2e0f", "82593b9a3"]], "identity_text": "In contrib/postgres_fdw, prevent batch insertion when there are WITH CHECK OPTION constraints (Etsuro Fujita) Such constraints cannot be checked properly if more than one row is inserted at a time.", "commit_aliases": ["1d49db259", "4a9bc2e0f", "82593b9a3"], "source_commits": ["4a9bc2e0f"], "source_entry_id": "14.5/changes/034", "db_id": "28b463539095c439a8e2a1b8fbface01", "patch_ids": ["ec926ff294980ad5b6baff53e9e77931"], "statement_hash": "76267d237d4f4c6e865870ad179e7bec3f6ed1ef4ab2d8af59016e62d338d3bf", "relations": [], "version": "14.5", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.5-53e0fbd417b732dd", "cves": [], "html": "<p>Fix <code>contrib/postgres_fdw</code> to detect failure to send an asynchronous data fetch query (Fujii Masao) <a href=\"https://postgr.es/c/169d50ba3\">§</a></p>", "text": "Fix contrib/postgres_fdw to detect failure to send an asynchronous data fetch query (Fujii Masao) §", "title": "Fix contrib/postgres_fdw to detect failure to send an asynchronous data fetch query", "commits": ["169d50ba3"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.5/#id-1.11.6.25.5", "source_hash": "8c96172830d2b1bcb15b75cd331de25f6f790b00ff8e23d3b5c5c5b1ad2d4152", "section_path": ["Changes"], "commit_groups": [["169d50ba3", "44ccdce51", "63a8c689b"]], "identity_text": "Fix contrib/postgres_fdw to detect failure to send an asynchronous data fetch query (Fujii Masao)", "commit_aliases": ["169d50ba3", "44ccdce51", "63a8c689b"], "source_commits": ["169d50ba3"], "source_entry_id": "14.5/changes/035", "db_id": "0a8457b3e890f619816a5a7cf0306148", "patch_ids": ["55c5a082b60172c4201bcf088632a5bf"], "statement_hash": "32b46aeb835c55c635054d6bcedd0625c81907644cb7e363ba2c6ed4b74d7859", "relations": [], "version": "14.5", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.5-cb8d828de3b9aa9f", "cves": [], "html": "<p>Ensure that <code>contrib/postgres_fdw</code> sends constants of <code>regconfig</code> and other <code>reg*</code> types with proper schema qualification (Tom Lane) <a href=\"https://postgr.es/c/810bcbd38\">§</a></p>", "text": "Ensure that contrib/postgres_fdw sends constants of regconfig and other reg* types with proper schema qualification (Tom Lane) §", "title": "Ensure that contrib/postgres_fdw sends constants of regconfig and other reg* types with proper schema qualification", "commits": ["810bcbd38"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.5/#id-1.11.6.25.5", "source_hash": "80be734d29ddadc064321fd5179cf0256a72d005a65a2a6f093521b85e458c71", "section_path": ["Changes"], "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": ["810bcbd38"], "source_entry_id": "14.5/changes/036", "db_id": "6adc0427b7464aefbcb655f09795c2d2", "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": "7b530e4e7e18bd058a4722c9e7fd15dc", "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": "14.5", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "e1ebe9437fc12b259db81db67a8d4827", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "Ensure that contrib/postgres_fdw sends constants of regconfig and other reg* types with proper schema qualification", "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": "7b530e4e7e18bd058a4722c9e7fd15dc", "kind": "equivalent", "version": "12.12", "label": "12.12", "title": "Ensure that contrib/postgres_fdw sends constants of regconfig and other reg* types with proper schema qualification", "evidence": {"same_day": true, "patch_ids": ["21f81f5bc08ec2d5686f38f7a66216ed"], "statement_hash": "b4dc81d857a92201f8ac7a0923077edd18f6698c8e0dbd55622de6cd4d3ff7e6"}, "url": "/docs/compare/?release=12.12#12.12-de1d1400d5da71bd", "source_url": "/docs/release/12.12/#id-1.11.6.16.5"}, {"db_id": "ddfcd82cd175f9f0ba7d1d0241d9ca3d", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "Ensure that contrib/postgres_fdw sends constants of regconfig and other reg* types with proper schema qualification", "evidence": {"same_day": true, "patch_ids": ["21f81f5bc08ec2d5686f38f7a66216ed"], "statement_hash": "b4dc81d857a92201f8ac7a0923077edd18f6698c8e0dbd55622de6cd4d3ff7e6"}, "url": "/docs/compare/?release=11.17#11.17-ab6f971bf7eac50a", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "690b3202e83468041107a8ad2d6248e9", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "Ensure that contrib/postgres_fdw sends constants of regconfig and other reg* types with proper schema qualification", "evidence": {"same_day": true, "patch_ids": ["21f81f5bc08ec2d5686f38f7a66216ed"], "statement_hash": "b4dc81d857a92201f8ac7a0923077edd18f6698c8e0dbd55622de6cd4d3ff7e6"}, "url": "/docs/compare/?release=10.22#10.22-ab6f971bf7eac50a", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "14.5-486a06a36a28b58c", "cves": [], "html": "<p>Block signals while allocating dynamic shared memory on Linux (Thomas Munro) <a href=\"https://postgr.es/c/2019e6ecf\">§</a> <a href=\"https://postgr.es/c/838364559\">§</a> <a href=\"https://postgr.es/c/c412c60b9\">§</a></p>\n<p>This avoids problems when a signal interrupts <code>posix_fallocate()</code>.</p>", "text": "Block signals while allocating dynamic shared memory on Linux (Thomas Munro) § § § This avoids problems when a signal interrupts posix_fallocate().", "title": "Block signals while allocating dynamic shared memory on Linux", "commits": ["2019e6ecf", "838364559", "c412c60b9"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.5/#id-1.11.6.25.5", "source_hash": "f3d9c9ebd62f44413bf9017169c96234241332187c823fcf09230413b7c0af6a", "section_path": ["Changes"], "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": ["2019e6ecf", "838364559", "c412c60b9"], "source_entry_id": "14.5/changes/037", "db_id": "f465e7b9eee4c20b7dc15059e82e7bf5", "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": "d9cf16774ac8b4ce263dac4c514ad2cc", "evidence": {"same_day": true, "patch_ids": ["27c113054ce78927aea125152d07b023", "65aee4baddf14094bab39b3ab3f6d1a7", "c73e77e1c735ed8cf9792e592b38a0eb"], "statement_hash": "6024752fb37c56e747f0456782e2907a19f3daa6ecac46b12b2666cdf202fe6d"}}], "version": "14.5", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "7b5d93cf118621bca636647d4c979f09", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "Block signals while allocating dynamic shared memory on 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": "d9cf16774ac8b4ce263dac4c514ad2cc", "kind": "equivalent", "version": "12.12", "label": "12.12", "title": "Block signals while allocating dynamic shared memory on Linux", "evidence": {"same_day": true, "patch_ids": ["27c113054ce78927aea125152d07b023", "65aee4baddf14094bab39b3ab3f6d1a7", "c73e77e1c735ed8cf9792e592b38a0eb"], "statement_hash": "6024752fb37c56e747f0456782e2907a19f3daa6ecac46b12b2666cdf202fe6d"}, "url": "/docs/compare/?release=12.12#12.12-100e4196985d61b2", "source_url": "/docs/release/12.12/#id-1.11.6.16.5"}, {"db_id": "d47859a52fb602df27bc6125672e22a0", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "Block signals while allocating dynamic shared memory on Linux", "evidence": {"same_day": true, "patch_ids": ["27c113054ce78927aea125152d07b023", "65aee4baddf14094bab39b3ab3f6d1a7", "c73e77e1c735ed8cf9792e592b38a0eb"], "statement_hash": "6024752fb37c56e747f0456782e2907a19f3daa6ecac46b12b2666cdf202fe6d"}, "url": "/docs/compare/?release=11.17#11.17-a9554bacf115ebc4", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "a8aeebdeb154860772f3fa0e205185cc", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "Block signals while allocating dynamic shared memory on Linux", "evidence": {"same_day": true, "patch_ids": ["27c113054ce78927aea125152d07b023", "65aee4baddf14094bab39b3ab3f6d1a7", "c73e77e1c735ed8cf9792e592b38a0eb"], "statement_hash": "6024752fb37c56e747f0456782e2907a19f3daa6ecac46b12b2666cdf202fe6d"}, "url": "/docs/compare/?release=10.22#10.22-a9554bacf115ebc4", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "14.5-483fd7ae50842d2c", "cves": [], "html": "<p>Detect unexpected <code>EEXIST</code> error from <code>shm_open()</code> (Thomas Munro) <a href=\"https://postgr.es/c/fb81a93a6\">§</a></p>\n<p>This avoids a possible crash on Solaris.</p>", "text": "Detect unexpected EEXIST error from shm_open() (Thomas Munro) § This avoids a possible crash on Solaris.", "title": "Detect unexpected EEXIST error from shm_open()", "commits": ["fb81a93a6"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.5/#id-1.11.6.25.5", "source_hash": "967c91ed41cfc13970366dbeb2db1b1ca31240b6d6b5e5411fa320e6c42ad439", "section_path": ["Changes"], "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": ["fb81a93a6"], "source_entry_id": "14.5/changes/038", "db_id": "97bdbf15334583735fd7dc1372ebdb9a", "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": "30bcec4311a48a371f1114302b77ad59", "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": "14.5", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "2458f2e040419b87029c81371ffebe57", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "Detect unexpected EEXIST error from shm_open()", "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": "30bcec4311a48a371f1114302b77ad59", "kind": "equivalent", "version": "12.12", "label": "12.12", "title": "Detect unexpected EEXIST error from shm_open()", "evidence": {"same_day": true, "patch_ids": ["3ab9804588596690ab1389eefcd01b41"], "statement_hash": "c2e34a862a51659b92e09e36a09517651a4af5a13fbcf91b0c2919546f91afcb"}, "url": "/docs/compare/?release=12.12#12.12-fefc17491abe11f6", "source_url": "/docs/release/12.12/#id-1.11.6.16.5"}, {"db_id": "2023604b3df6700bb9152bf411313297", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "Detect unexpected EEXIST error from shm_open()", "evidence": {"same_day": true, "patch_ids": ["3ab9804588596690ab1389eefcd01b41"], "statement_hash": "c2e34a862a51659b92e09e36a09517651a4af5a13fbcf91b0c2919546f91afcb"}, "url": "/docs/compare/?release=11.17#11.17-4b3c720c3c316beb", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "cada2ef1980e0dc609cb18ae8547fc0e", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "Detect unexpected EEXIST error from shm_open()", "evidence": {"same_day": true, "patch_ids": ["3ab9804588596690ab1389eefcd01b41"], "statement_hash": "c2e34a862a51659b92e09e36a09517651a4af5a13fbcf91b0c2919546f91afcb"}, "url": "/docs/compare/?release=10.22#10.22-4b3c720c3c316beb", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "14.5-bb5e489afdfee862", "cves": [], "html": "<p>Avoid using <code>signalfd()</code> on <span>illumos</span> systems (Thomas Munro) <a href=\"https://postgr.es/c/e086b5538\">§</a></p>\n<p>This appears to trigger hangs and kernel panics, so avoid the function until a fix is available.</p>", "text": "Avoid using signalfd() on illumos systems (Thomas Munro) § This appears to trigger hangs and kernel panics, so avoid the function until a fix is available.", "title": "Avoid using signalfd() on illumos systems", "commits": ["e086b5538"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.5/#id-1.11.6.25.5", "source_hash": "2d720c86c9b094bb20a1a16fb67cf5941cb8ef5db57796261762eaf1afe2d816", "section_path": ["Changes"], "commit_groups": [["3ab4fc5dc", "e086b5538"]], "identity_text": "Avoid using signalfd() on illumos systems (Thomas Munro) This appears to trigger hangs and kernel panics, so avoid the function until a fix is available.", "commit_aliases": ["3ab4fc5dc", "e086b5538"], "source_commits": ["e086b5538"], "source_entry_id": "14.5/changes/039", "db_id": "d71138b173a0afef6e9f32d270098bd0", "patch_ids": ["03564a7bd965932a8e7a7f34c17e1c82"], "statement_hash": "48cb83b0d7539aba449edb8da368b840b7ce4555d86c363614be89c4d4970421", "relations": [], "version": "14.5", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": []}]}], "stats": [{"key": "all", "label": "All changes", "count": 39}, {"key": "feature", "label": "Features", "count": 0}, {"key": "bugfix", "label": "Bug fixes", "count": 18}, {"key": "security", "label": "Security", "count": 2}, {"key": "performance", "label": "Performance", "count": 0}, {"key": "compatibility", "label": "Compatibility", "count": 0}, {"key": "improvement", "label": "Improvements", "count": 19}], "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": "Fix permissions checks in 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": "14.3"}, {"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": "Do not let extension scripts replace objects not already belonging to the extension", "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": "14.5"}], "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"}