{"format": 1, "mode": "release", "from_release": null, "to_release": {"date": "2022-02-10", "build": "14.2", "major": "14", "minor": 2, "manual": "14", "status": "stable", "doc_git": "", "version": "14.2", "eol_date": "2026-11-12", "date_text": "2022-02-10", "supported": true, "manual_url": "/docs/14/release-14-2.html", "source_url": "/docs/release/14.2/", "entry_count": 57, "placeholder": false, "content_hash": "de0e42788e04e926f6356e9fe920c1f4ddb289ace860ed85cc69d9fc95cf4f78", "manual_build": "14.24", "source_as_of": "", "changes_count": 57, "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, some bugs have been found that may have resulted in corrupted indexes, as explained in the first two changelog entries. If any of those cases apply to you, it's recommended to reindex possibly-affected indexes after updating.</p>\n<p>Also, if you are upgrading from a version earlier than 14.1, see <a href=\"/docs/14/release-14-1.html\" title=\"E.24. Release 14.1\">Section E.24</a>.</p>", "compatibility_count": 0, "label": "14.2", "status_label": "Supported", "eol": "2026-11-12", "age_days": 1692, "support_days": 44}, "groups": [{"date": "2022-02-10", "build": "14.2", "major": "14", "minor": 2, "manual": "14", "status": "stable", "doc_git": "", "version": "14.2", "eol_date": "2026-11-12", "date_text": "2022-02-10", "supported": true, "manual_url": "/docs/14/release-14-2.html", "source_url": "/docs/release/14.2/", "entry_count": 57, "placeholder": false, "content_hash": "de0e42788e04e926f6356e9fe920c1f4ddb289ace860ed85cc69d9fc95cf4f78", "manual_build": "14.24", "source_as_of": "", "changes_count": 57, "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, some bugs have been found that may have resulted in corrupted indexes, as explained in the first two changelog entries. If any of those cases apply to you, it's recommended to reindex possibly-affected indexes after updating.</p>\n<p>Also, if you are upgrading from a version earlier than 14.1, see <a href=\"/docs/14/release-14-1.html\" title=\"E.24. Release 14.1\">Section E.24</a>.</p>", "compatibility_count": 0, "label": "14.2", "status_label": "Supported", "eol": "2026-11-12", "age_days": 1692, "support_days": 44, "entries": [{"id": "14.2-223ee757c2216ddc", "cves": [], "html": "<p>Enforce standard locking protocol for TOAST table updates, to prevent problems with <code>REINDEX CONCURRENTLY</code> (Michael Paquier) <a href=\"https://postgr.es/c/64ab21f0e\">§</a></p>\n<p>If applied to a TOAST table or TOAST table's index, <code>REINDEX CONCURRENTLY</code> tended to produce a corrupted index. This happened because sessions updating TOAST entries released their <code>ROW EXCLUSIVE</code> locks immediately, rather than holding them until transaction commit as all other updates do. The fix is to make TOAST updates hold the table lock according to the normal rule. Any existing corrupted indexes can be repaired by reindexing again.</p>", "text": "Enforce standard locking protocol for TOAST table updates, to prevent problems with REINDEX CONCURRENTLY (Michael Paquier) § If applied to a TOAST table or TOAST table's index, REINDEX CONCURRENTLY tended to produce a corrupted index. This happened because sessions updating TOAST entries released their ROW EXCLUSIVE locks immediately, rather than holding them until transaction commit as all other updates do. The fix is to make TOAST updates hold the table lock according to the normal rule. Any existing corrupted indexes can be repaired by reindexing again.", "title": "Enforce standard locking protocol for TOAST table updates, to prevent problems with REINDEX CONCURRENTLY", "commits": ["64ab21f0e"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "d40bd3685074402765a68bdb3a9f2bfaa405e68d99921b12ea12e540c60eee39", "section_path": ["Changes"], "commit_groups": [["5ed74d874", "64ab21f0e", "9acea52ea", "f99870dd8"]], "identity_text": "Enforce standard locking protocol for TOAST table updates, to prevent problems with REINDEX CONCURRENTLY (Michael Paquier) If applied to a TOAST table or TOAST table's index, REINDEX CONCURRENTLY tended to produce a corrupted index. This happened because sessions updating TOAST entries released their ROW EXCLUSIVE locks immediately, rather than holding them until transaction commit as all other updates do. The fix is to make TOAST updates hold the table lock according to the normal rule. Any existing corrupted indexes can be repaired by reindexing again.", "commit_aliases": ["5ed74d874", "64ab21f0e", "9acea52ea", "f99870dd8"], "source_commits": ["64ab21f0e"], "source_entry_id": "14.2/changes/001", "db_id": "a2cf1944e29d87d757200e43ba43520d", "patch_ids": ["975d5b1b3d223d485c53807d40bb1cfc"], "statement_hash": "1297528f4c76d19c5707ad78806ba77f793bf61108569939bb6e9cf07c14512a", "relations": [{"rule": 2, "type": "equivalent", "target": "1b9e90a52ace2d1ca22ee66de14c842e", "evidence": {"same_day": true, "patch_ids": ["975d5b1b3d223d485c53807d40bb1cfc"], "statement_hash": "1297528f4c76d19c5707ad78806ba77f793bf61108569939bb6e9cf07c14512a"}}, {"rule": 2, "type": "equivalent", "target": "6877da8b3bf78a126d7c3deb77091078", "evidence": {"same_day": true, "patch_ids": ["975d5b1b3d223d485c53807d40bb1cfc"], "statement_hash": "1297528f4c76d19c5707ad78806ba77f793bf61108569939bb6e9cf07c14512a"}}], "version": "14.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "6877da8b3bf78a126d7c3deb77091078", "kind": "equivalent", "version": "13.6", "label": "13.6", "title": "Enforce standard locking protocol for TOAST table updates, to prevent problems with REINDEX CONCURRENTLY", "evidence": {"same_day": true, "patch_ids": ["975d5b1b3d223d485c53807d40bb1cfc"], "statement_hash": "1297528f4c76d19c5707ad78806ba77f793bf61108569939bb6e9cf07c14512a"}, "url": "/docs/compare/?release=13.6#13.6-e182c2620eb2e9c0", "source_url": "/docs/release/13.6/#id-1.11.6.23.5"}, {"db_id": "1b9e90a52ace2d1ca22ee66de14c842e", "kind": "equivalent", "version": "12.10", "label": "12.10", "title": "Enforce standard locking protocol for TOAST table updates, to prevent problems with REINDEX CONCURRENTLY", "evidence": {"same_day": true, "patch_ids": ["975d5b1b3d223d485c53807d40bb1cfc"], "statement_hash": "1297528f4c76d19c5707ad78806ba77f793bf61108569939bb6e9cf07c14512a"}, "url": "/docs/compare/?release=12.10#12.10-c9ebdfc0dc626009", "source_url": "/docs/release/12.10/#id-1.11.6.18.5"}]}, {"id": "14.2-75da4a127076a51e", "cves": [], "html": "<p>Fix corruption of HOT chains when a RECENTLY_DEAD tuple changes state to fully DEAD during page pruning (Andres Freund) <a href=\"https://postgr.es/c/dad1539ae\">§</a></p>\n<p>It was possible for <code>VACUUM</code> to remove a recently-dead tuple while leaving behind a redirect item that pointed to it. When the tuple's item slot is later re-used by some new tuple, that tuple would be seen as part of the pre-existing HOT chain, creating a form of index corruption. If this has happened, reindexing the table should repair the damage. However, this is an extremely low-probability scenario, so we do not recommend reindexing just on the chance that it might have happened.</p>", "text": "Fix corruption of HOT chains when a RECENTLY_DEAD tuple changes state to fully DEAD during page pruning (Andres Freund) § It was possible for VACUUM to remove a recently-dead tuple while leaving behind a redirect item that pointed to it. When the tuple's item slot is later re-used by some new tuple, that tuple would be seen as part of the pre-existing HOT chain, creating a form of index corruption. If this has happened, reindexing the table should repair the damage. However, this is an extremely low-probability scenario, so we do not recommend reindexing just on the chance that it might have happened.", "title": "Fix corruption of HOT chains when a RECENTLY_DEAD tuple changes state to fully DEAD during page pruning", "commits": ["dad1539ae"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "760bbfff5b519f8d0bb5404eed7a3a66153a887c20ce5980b4130e53e18adf0b", "section_path": ["Changes"], "commit_groups": [["18b87b201", "dad1539ae"]], "identity_text": "Fix corruption of HOT chains when a RECENTLY_DEAD tuple changes state to fully DEAD during page pruning (Andres Freund) It was possible for VACUUM to remove a recently-dead tuple while leaving behind a redirect item that pointed to it. When the tuple's item slot is later re-used by some new tuple, that tuple would be seen as part of the pre-existing HOT chain, creating a form of index corruption. If this has happened, reindexing the table should repair the damage. However, this is an extremely low-probability scenario, so we do not recommend reindexing just on the chance that it might have happened.", "commit_aliases": ["18b87b201", "dad1539ae"], "source_commits": ["dad1539ae"], "source_entry_id": "14.2/changes/002", "db_id": "6e0bd34ed4b0feb5d749db63e8d7ddbf", "patch_ids": ["03c9d1bdbaffacd1dc9aa4f1077915af"], "statement_hash": "2d0600edeb1c97e4e8db8148d57da573ed799a042f2add8f661459b8db7f6cd7", "relations": [], "version": "14.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.2-845af7d94362abbc", "cves": [], "html": "<p>Fix crash in EvalPlanQual rechecks for tables with a mix of local and foreign partitions (Etsuro Fujita) <a href=\"https://postgr.es/c/7b0cec2fa\">§</a> <a href=\"https://postgr.es/c/2a3958e4d\">§</a></p>", "text": "Fix crash in EvalPlanQual rechecks for tables with a mix of local and foreign partitions (Etsuro Fujita) § §", "title": "Fix crash in EvalPlanQual rechecks for tables with a mix of local and foreign partitions", "commits": ["2a3958e4d", "7b0cec2fa"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "ed6c7248cfaddb8c89f115b2d9a544f90457c9319918a741406ec99a7aec2983", "section_path": ["Changes"], "commit_groups": [["2a3958e4d", "7c1aead6c"], ["7b0cec2fa", "f862d5705"]], "identity_text": "Fix crash in EvalPlanQual rechecks for tables with a mix of local and foreign partitions (Etsuro Fujita)", "commit_aliases": ["2a3958e4d", "7b0cec2fa", "7c1aead6c", "f862d5705"], "source_commits": ["2a3958e4d", "7b0cec2fa"], "source_entry_id": "14.2/changes/003", "db_id": "d9db579e806ba9397b16397f770fb534", "patch_ids": ["3c6d3979ff0031be2a6d77c7d0827acc", "e49df071cccd21ef27c7fa43cc40b992"], "statement_hash": "4eca4f38151b5092c38b6fae3c8ff3e5263a78f1ec252d1c07757864064922be", "relations": [], "version": "14.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.2-b10a07662cfdd062", "cves": [], "html": "<p>Fix dangling pointer in <code>COPY TO</code> (Bharath Rupireddy) <a href=\"https://postgr.es/c/b30282fcc\">§</a></p>\n<p>This oversight could cause an incorrect error message or a crash after an error in <code>COPY</code>.</p>", "text": "Fix dangling pointer in COPY TO (Bharath Rupireddy) § This oversight could cause an incorrect error message or a crash after an error in COPY.", "title": "Fix dangling pointer in COPY TO", "commits": ["b30282fcc"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "11d072587f5e064705257650cf0e78197f6f1f4fab1ea9469e7d49ac8858eb39", "section_path": ["Changes"], "commit_groups": [["b30282fcc", "dc084d7c7"]], "identity_text": "Fix dangling pointer in COPY TO (Bharath Rupireddy) This oversight could cause an incorrect error message or a crash after an error in COPY.", "commit_aliases": ["b30282fcc", "dc084d7c7"], "source_commits": ["b30282fcc"], "source_entry_id": "14.2/changes/004", "db_id": "a982b8781f7943eb12d4c01eddf8e815", "patch_ids": ["160536182f3a8d25723bad372f5f8d09"], "statement_hash": "a9b4f4166ec78e4765e74a7571b15e1dffe5deca060893639f7278deeb891397", "relations": [], "version": "14.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.2-b4909ad3042706cb", "cves": [], "html": "<p>Avoid null-pointer crash in <code>ALTER STATISTICS</code> when the statistics object is dropped concurrently (Tomas Vondra) <a href=\"https://postgr.es/c/a192243c7\">§</a></p>", "text": "Avoid null-pointer crash in ALTER STATISTICS when the statistics object is dropped concurrently (Tomas Vondra) §", "title": "Avoid null-pointer crash in ALTER STATISTICS when the statistics object is dropped concurrently", "commits": ["a192243c7"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "3091152ab6a745a7e26d11b422f5c143a2badfdc7569644ca1ae7c83f4793193", "section_path": ["Changes"], "commit_groups": [["267ccc38b", "6d554e3fc", "a192243c7"]], "identity_text": "Avoid null-pointer crash in ALTER STATISTICS when the statistics object is dropped concurrently (Tomas Vondra)", "commit_aliases": ["267ccc38b", "6d554e3fc", "a192243c7"], "source_commits": ["a192243c7"], "source_entry_id": "14.2/changes/005", "db_id": "a1c2b3649510a32ece98440e656a1b47", "patch_ids": ["30d0ea60e68b73870dc682b2fe02f3ff"], "statement_hash": "7288f43bd74e232362cac107685adfcc604677c134ac2134faf5187e7e460e48", "relations": [{"rule": 2, "type": "equivalent", "target": "cb4a0ca81935dc898d802bd0f02757ae", "evidence": {"same_day": true, "patch_ids": ["30d0ea60e68b73870dc682b2fe02f3ff"], "statement_hash": "7288f43bd74e232362cac107685adfcc604677c134ac2134faf5187e7e460e48"}}], "version": "14.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "cb4a0ca81935dc898d802bd0f02757ae", "kind": "equivalent", "version": "13.6", "label": "13.6", "title": "Avoid null-pointer crash in ALTER STATISTICS when the statistics object is dropped concurrently", "evidence": {"same_day": true, "patch_ids": ["30d0ea60e68b73870dc682b2fe02f3ff"], "statement_hash": "7288f43bd74e232362cac107685adfcc604677c134ac2134faf5187e7e460e48"}, "url": "/docs/compare/?release=13.6#13.6-feeba8df4d192b7c", "source_url": "/docs/release/13.6/#id-1.11.6.23.5"}]}, {"id": "14.2-03f9de7f43221c0c", "cves": [], "html": "<p>Correctly handle alignment padding when extracting a range from a multirange (Alexander Korotkov) <a href=\"https://postgr.es/c/7615edd1d\">§</a></p>\n<p>This error could cause crashes when handling multiranges over variable-length data types.</p>", "text": "Correctly handle alignment padding when extracting a range from a multirange (Alexander Korotkov) § This error could cause crashes when handling multiranges over variable-length data types.", "title": "Correctly handle alignment padding when extracting a range from a multirange", "commits": ["7615edd1d"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "a754146d7a16c25d85301d2d6fdcaea078ff51488020f152682c26b1de28684f", "section_path": ["Changes"], "commit_groups": [["5cc9c8374", "7615edd1d"]], "identity_text": "Correctly handle alignment padding when extracting a range from a multirange (Alexander Korotkov) This error could cause crashes when handling multiranges over variable-length data types.", "commit_aliases": ["5cc9c8374", "7615edd1d"], "source_commits": ["7615edd1d"], "source_entry_id": "14.2/changes/006", "db_id": "8fa9880b02aec10260c075f92ba1b91d", "patch_ids": ["3f4826206ce6b6ade52c2399df5d08ef"], "statement_hash": "bc1e0562dfc7e8a74143d3085ce840b1c51cd33acb418be6e938edbcd6e0ff45", "relations": [], "version": "14.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.2-004c9e6d4f8d5053", "cves": [], "html": "<p>Fix over-optimistic use of hashing for anonymous <code>RECORD</code> data types (Tom Lane) <a href=\"https://postgr.es/c/17da9d4c2\">§</a></p>\n<p>This prevents some cases of <span>“<span>could not identify a hash function for type record</span>”</span> errors.</p>", "text": "Fix over-optimistic use of hashing for anonymous RECORD data types (Tom Lane) § This prevents some cases of “could not identify a hash function for type record” errors.", "title": "Fix over-optimistic use of hashing for anonymous RECORD data types", "commits": ["17da9d4c2"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "1da42d1ce8448c658c20868ceb343ff2ab41a4b7da496b5bd13dde0534f26b47", "section_path": ["Changes"], "commit_groups": [["17da9d4c2", "647889667"]], "identity_text": "Fix over-optimistic use of hashing for anonymous RECORD data types (Tom Lane) This prevents some cases of could not identify a hash function for type record errors.", "commit_aliases": ["17da9d4c2", "647889667"], "source_commits": ["17da9d4c2"], "source_entry_id": "14.2/changes/007", "db_id": "e86eadb42b3db435ed06128680e28cf8", "patch_ids": ["acc4b22f5fdd85c002b96a46b268819b"], "statement_hash": "dc3160cf1e3ed1c99973f05d8471604184755520aba42b73706c8d9ab7c8f831", "relations": [], "version": "14.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.2-e564b4a4844bd24c", "cves": [], "html": "<p>Fix incorrect plan creation for parallel single-child Append nodes (David Rowley) <a href=\"https://postgr.es/c/357ff6615\">§</a></p>\n<p>In some cases the Append would be simplified away when it should not be, leading to wrong query results (duplicated rows).</p>", "text": "Fix incorrect plan creation for parallel single-child Append nodes (David Rowley) § In some cases the Append would be simplified away when it should not be, leading to wrong query results (duplicated rows).", "title": "Fix incorrect plan creation for parallel single-child Append nodes", "commits": ["357ff6615"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "de46bfc83aaacd1d87b55ea01fabc889e5d0f4bffb3cecc95680f151ade3d352", "section_path": ["Changes"], "commit_groups": [["2ccd8fb29", "357ff6615", "f8807e774", "f9a74c149"]], "identity_text": "Fix incorrect plan creation for parallel single-child Append nodes (David Rowley) In some cases the Append would be simplified away when it should not be, leading to wrong query results (duplicated rows).", "commit_aliases": ["2ccd8fb29", "357ff6615", "f8807e774", "f9a74c149"], "source_commits": ["357ff6615"], "source_entry_id": "14.2/changes/008", "db_id": "265a4d6ee8cc6da24988030ae52d6e6a", "patch_ids": ["824798e0131b37f7cdb2fde9e9e5da5b"], "statement_hash": "f6ac7ccbb7067f0f58f61b7c751b88f9788f94ff69a334c5909d252b95b09478", "relations": [{"rule": 2, "type": "equivalent", "target": "ac8261ab66eaba66676192bf6d5d1eaa", "evidence": {"same_day": true, "patch_ids": ["824798e0131b37f7cdb2fde9e9e5da5b"], "statement_hash": "f6ac7ccbb7067f0f58f61b7c751b88f9788f94ff69a334c5909d252b95b09478"}}, {"rule": 2, "type": "equivalent", "target": "e1fb660586dfc4dc98f59fae8a8b5298", "evidence": {"same_day": true, "patch_ids": ["824798e0131b37f7cdb2fde9e9e5da5b"], "statement_hash": "f6ac7ccbb7067f0f58f61b7c751b88f9788f94ff69a334c5909d252b95b09478"}}], "version": "14.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "ac8261ab66eaba66676192bf6d5d1eaa", "kind": "equivalent", "version": "13.6", "label": "13.6", "title": "Fix incorrect plan creation for parallel single-child Append nodes", "evidence": {"same_day": true, "patch_ids": ["824798e0131b37f7cdb2fde9e9e5da5b"], "statement_hash": "f6ac7ccbb7067f0f58f61b7c751b88f9788f94ff69a334c5909d252b95b09478"}, "url": "/docs/compare/?release=13.6#13.6-aee2a32333ec1325", "source_url": "/docs/release/13.6/#id-1.11.6.23.5"}, {"db_id": "e1fb660586dfc4dc98f59fae8a8b5298", "kind": "equivalent", "version": "12.10", "label": "12.10", "title": "Fix incorrect plan creation for parallel single-child Append nodes", "evidence": {"same_day": true, "patch_ids": ["824798e0131b37f7cdb2fde9e9e5da5b"], "statement_hash": "f6ac7ccbb7067f0f58f61b7c751b88f9788f94ff69a334c5909d252b95b09478"}, "url": "/docs/compare/?release=12.10#12.10-c0f859c9433fbd35", "source_url": "/docs/release/12.10/#id-1.11.6.18.5"}]}, {"id": "14.2-64f3cb827fa2f009", "cves": [], "html": "<p>Fix index-only scan plans for cases where not all index columns can be returned (Tom Lane) <a href=\"https://postgr.es/c/cabea571d\">§</a> <a href=\"https://postgr.es/c/d228af79d\">§</a></p>\n<p>If an index has both returnable and non-returnable columns, and one of the non-returnable columns is an expression using a table column that appears in a returnable index column, then a query using that expression could result in an index-only scan plan that attempts to read the non-returnable column, instead of recomputing the expression from the returnable column as intended. The non-returnable column would read as NULL, resulting in wrong query results.</p>", "text": "Fix index-only scan plans for cases where not all index columns can be returned (Tom Lane) § § If an index has both returnable and non-returnable columns, and one of the non-returnable columns is an expression using a table column that appears in a returnable index column, then a query using that expression could result in an index-only scan plan that attempts to read the non-returnable column, instead of recomputing the expression from the returnable column as intended. The non-returnable column would read as NULL, resulting in wrong query results.", "title": "Fix index-only scan plans for cases where not all index columns can be returned", "commits": ["cabea571d", "d228af79d"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "3d4a0db3de5c2989d10d04892360654edb44dcc611a4c731cfae3147393d4ec8", "section_path": ["Changes"], "commit_groups": [["20d08b2c6", "7d344f004", "9a3ddeb51", "9c4f38908", "d228af79d", "ec3674521"], ["45ae42714", "4ace45677", "70a31a0e3", "cabea571d", "e3a4c7981", "f789b7732"]], "identity_text": "Fix index-only scan plans for cases where not all index columns can be returned (Tom Lane) If an index has both returnable and non-returnable columns, and one of the non-returnable columns is an expression using a table column that appears in a returnable index column, then a query using that expression could result in an index-only scan plan that attempts to read the non-returnable column, instead of recomputing the expression from the returnable column as intended. The non-returnable column would read as NULL, resulting in wrong query results.", "commit_aliases": ["20d08b2c6", "45ae42714", "4ace45677", "70a31a0e3", "7d344f004", "9a3ddeb51", "9c4f38908", "cabea571d", "d228af79d", "e3a4c7981", "ec3674521", "f789b7732"], "source_commits": ["cabea571d", "d228af79d"], "source_entry_id": "14.2/changes/009", "db_id": "0c3546786dd2c50531ab322064119a54", "patch_ids": ["6d6a4be5086626f54d18cda6266cba19", "760e4f485341b015946c41dd156f7932"], "statement_hash": "0eb73230454f43abdd194f1c7a2723c941bfef6f85f1ba751acac29a7b310f91", "relations": [{"rule": 2, "type": "equivalent", "target": "3977d734db4098da431d57a7fdc66133", "evidence": {"same_day": true, "patch_ids": ["6d6a4be5086626f54d18cda6266cba19", "760e4f485341b015946c41dd156f7932"], "statement_hash": "0eb73230454f43abdd194f1c7a2723c941bfef6f85f1ba751acac29a7b310f91"}}, {"rule": 2, "type": "equivalent", "target": "5559080180bd2f22df9d8a2f127c6c1c", "evidence": {"same_day": true, "patch_ids": ["6d6a4be5086626f54d18cda6266cba19", "760e4f485341b015946c41dd156f7932"], "statement_hash": "0eb73230454f43abdd194f1c7a2723c941bfef6f85f1ba751acac29a7b310f91"}}, {"rule": 2, "type": "equivalent", "target": "f0acdbf5115206fd7c14c5d95d3216c9", "evidence": {"same_day": true, "patch_ids": ["6d6a4be5086626f54d18cda6266cba19", "760e4f485341b015946c41dd156f7932"], "statement_hash": "0eb73230454f43abdd194f1c7a2723c941bfef6f85f1ba751acac29a7b310f91"}}, {"rule": 2, "type": "equivalent", "target": "f54ef2477e65cc077e969de79adec6bb", "evidence": {"same_day": true, "patch_ids": ["6d6a4be5086626f54d18cda6266cba19", "760e4f485341b015946c41dd156f7932"], "statement_hash": "0eb73230454f43abdd194f1c7a2723c941bfef6f85f1ba751acac29a7b310f91"}}], "version": "14.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "f0acdbf5115206fd7c14c5d95d3216c9", "kind": "equivalent", "version": "13.6", "label": "13.6", "title": "Fix index-only scan plans for cases where not all index columns can be returned", "evidence": {"same_day": true, "patch_ids": ["6d6a4be5086626f54d18cda6266cba19", "760e4f485341b015946c41dd156f7932"], "statement_hash": "0eb73230454f43abdd194f1c7a2723c941bfef6f85f1ba751acac29a7b310f91"}, "url": "/docs/compare/?release=13.6#13.6-f12e79c353bc0af5", "source_url": "/docs/release/13.6/#id-1.11.6.23.5"}, {"db_id": "5559080180bd2f22df9d8a2f127c6c1c", "kind": "equivalent", "version": "12.10", "label": "12.10", "title": "Fix index-only scan plans for cases where not all index columns can be returned", "evidence": {"same_day": true, "patch_ids": ["6d6a4be5086626f54d18cda6266cba19", "760e4f485341b015946c41dd156f7932"], "statement_hash": "0eb73230454f43abdd194f1c7a2723c941bfef6f85f1ba751acac29a7b310f91"}, "url": "/docs/compare/?release=12.10#12.10-706d6ef31fbe403c", "source_url": "/docs/release/12.10/#id-1.11.6.18.5"}, {"db_id": "f54ef2477e65cc077e969de79adec6bb", "kind": "equivalent", "version": "11.15", "label": "11.15", "title": "Fix index-only scan plans for cases where not all index columns can be returned", "evidence": {"same_day": true, "patch_ids": ["6d6a4be5086626f54d18cda6266cba19", "760e4f485341b015946c41dd156f7932"], "statement_hash": "0eb73230454f43abdd194f1c7a2723c941bfef6f85f1ba751acac29a7b310f91"}, "url": "/docs/compare/?release=11.15#11.15-8f1a465e6eee3ab9", "source_url": "/docs/release/11.15/#id-1.11.6.12.5"}, {"db_id": "3977d734db4098da431d57a7fdc66133", "kind": "equivalent", "version": "10.20", "label": "10.20", "title": "Fix index-only scan plans for cases where not all index columns can be returned", "evidence": {"same_day": true, "patch_ids": ["6d6a4be5086626f54d18cda6266cba19", "760e4f485341b015946c41dd156f7932"], "statement_hash": "0eb73230454f43abdd194f1c7a2723c941bfef6f85f1ba751acac29a7b310f91"}, "url": "/docs/compare/?release=10.20#10.20-8f1a465e6eee3ab9", "source_url": "/docs/release/10.20/#id-1.11.6.8.6"}]}, {"id": "14.2-9ccc65890d5063f5", "cves": [], "html": "<p>Fix Memoize plan nodes to handle subplans that use parameters coming from above the Memoize (David Rowley) <a href=\"https://postgr.es/c/c2dc7b9e1\">§</a></p>", "text": "Fix Memoize plan nodes to handle subplans that use parameters coming from above the Memoize (David Rowley) §", "title": "Fix Memoize plan nodes to handle subplans that use parameters coming from above the Memoize", "commits": ["c2dc7b9e1"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "5e8b8f0a4732be50dcff418b1b614ba3c0c9a30fe246c1915fe1ece3880a2c00", "section_path": ["Changes"], "commit_groups": [["411137a42", "c2dc7b9e1"]], "identity_text": "Fix Memoize plan nodes to handle subplans that use parameters coming from above the Memoize (David Rowley)", "commit_aliases": ["411137a42", "c2dc7b9e1"], "source_commits": ["c2dc7b9e1"], "source_entry_id": "14.2/changes/010", "db_id": "015e7d97c01fea21170c0792f98ea478", "patch_ids": ["c8b9586ca49b15e3105917717d351ef0"], "statement_hash": "fd98a1341f55c612daa31e30adb3173bc26bcafb245d19adabfd82f960ed25c4", "relations": [], "version": "14.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.2-01e3b77f989b69fd", "cves": [], "html": "<p>Fix Memoize plan nodes to work correctly with non-hashable join operators (David Rowley) <a href=\"https://postgr.es/c/6c32c0977\">§</a></p>", "text": "Fix Memoize plan nodes to work correctly with non-hashable join operators (David Rowley) §", "title": "Fix Memoize plan nodes to work correctly with non-hashable join operators", "commits": ["6c32c0977"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "24d42d96e44a2dc4bba6fedd3b668027a128f5ee3d712fd556be5e3a134f5bd8", "section_path": ["Changes"], "commit_groups": [["6c32c0977", "e502150f7"]], "identity_text": "Fix Memoize plan nodes to work correctly with non-hashable join operators (David Rowley)", "commit_aliases": ["6c32c0977", "e502150f7"], "source_commits": ["6c32c0977"], "source_entry_id": "14.2/changes/011", "db_id": "8cbc380f9d07fb8331510ae4daf33ba8", "patch_ids": ["18c82399191e1b3c2f8adf448e34e257"], "statement_hash": "07e01845342800c3ea53189e6081b67a7741f360b0efbf637c6097fd1afbae7f", "relations": [], "version": "14.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.2-a99150f111e767f4", "cves": [], "html": "<p>Ensure that casting to an unspecified typmod generates a RelabelType node rather than a length-coercion function call (Tom Lane) <a href=\"https://postgr.es/c/f9a8bc9f2\">§</a></p>\n<p>While the coercion function should do the right thing (nothing), this translation is undesirably inefficient.</p>", "text": "Ensure that casting to an unspecified typmod generates a RelabelType node rather than a length-coercion function call (Tom Lane) § While the coercion function should do the right thing (nothing), this translation is undesirably inefficient.", "title": "Ensure that casting to an unspecified typmod generates a RelabelType node rather than a length-coercion function call", "commits": ["f9a8bc9f2"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "f07cdbd644552147fdda8beba0319d03a81951a958b8aacdc146bf546b98f098", "section_path": ["Changes"], "commit_groups": [["1acf34586", "9c356f4b2", "c43d72b24", "da0d8a454", "e1fd61c8c", "f9a8bc9f2"]], "identity_text": "Ensure that casting to an unspecified typmod generates a RelabelType node rather than a length-coercion function call (Tom Lane) While the coercion function should do the right thing (nothing), this translation is undesirably inefficient.", "commit_aliases": ["1acf34586", "9c356f4b2", "c43d72b24", "da0d8a454", "e1fd61c8c", "f9a8bc9f2"], "source_commits": ["f9a8bc9f2"], "source_entry_id": "14.2/changes/012", "db_id": "2a7f8ea1f2220e76ca24779d0e546459", "patch_ids": ["c28e7c0bf1d5d009f2e012a5a2fdae5e"], "statement_hash": "effe54fb67849059b520165d0bc2a8ff9433d63b67c41ce681780a957c1cc37d", "relations": [{"rule": 2, "type": "equivalent", "target": "2a893e2cfd6603c7a75c0f088b5a6d60", "evidence": {"same_day": true, "patch_ids": ["c28e7c0bf1d5d009f2e012a5a2fdae5e"], "statement_hash": "effe54fb67849059b520165d0bc2a8ff9433d63b67c41ce681780a957c1cc37d"}}, {"rule": 2, "type": "equivalent", "target": "3ffca40a718620457f7a3bf9d087d63b", "evidence": {"same_day": true, "patch_ids": ["c28e7c0bf1d5d009f2e012a5a2fdae5e"], "statement_hash": "effe54fb67849059b520165d0bc2a8ff9433d63b67c41ce681780a957c1cc37d"}}, {"rule": 2, "type": "equivalent", "target": "663a5984f62f161ff7a0d4cedd3dd429", "evidence": {"same_day": true, "patch_ids": ["c28e7c0bf1d5d009f2e012a5a2fdae5e"], "statement_hash": "effe54fb67849059b520165d0bc2a8ff9433d63b67c41ce681780a957c1cc37d"}}, {"rule": 2, "type": "equivalent", "target": "67da827eb004dcc40e31b9af0ab7ece8", "evidence": {"same_day": true, "patch_ids": ["c28e7c0bf1d5d009f2e012a5a2fdae5e"], "statement_hash": "effe54fb67849059b520165d0bc2a8ff9433d63b67c41ce681780a957c1cc37d"}}], "version": "14.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "663a5984f62f161ff7a0d4cedd3dd429", "kind": "equivalent", "version": "13.6", "label": "13.6", "title": "Ensure that casting to an unspecified typmod generates a RelabelType node rather than a length-coercion function call", "evidence": {"same_day": true, "patch_ids": ["c28e7c0bf1d5d009f2e012a5a2fdae5e"], "statement_hash": "effe54fb67849059b520165d0bc2a8ff9433d63b67c41ce681780a957c1cc37d"}, "url": "/docs/compare/?release=13.6#13.6-9761aa54ac8f3c19", "source_url": "/docs/release/13.6/#id-1.11.6.23.5"}, {"db_id": "67da827eb004dcc40e31b9af0ab7ece8", "kind": "equivalent", "version": "12.10", "label": "12.10", "title": "Ensure that casting to an unspecified typmod generates a RelabelType node rather than a length-coercion function call", "evidence": {"same_day": true, "patch_ids": ["c28e7c0bf1d5d009f2e012a5a2fdae5e"], "statement_hash": "effe54fb67849059b520165d0bc2a8ff9433d63b67c41ce681780a957c1cc37d"}, "url": "/docs/compare/?release=12.10#12.10-0bc0132862b52e28", "source_url": "/docs/release/12.10/#id-1.11.6.18.5"}, {"db_id": "3ffca40a718620457f7a3bf9d087d63b", "kind": "equivalent", "version": "11.15", "label": "11.15", "title": "Ensure that casting to an unspecified typmod generates a RelabelType node rather than a length-coercion function call", "evidence": {"same_day": true, "patch_ids": ["c28e7c0bf1d5d009f2e012a5a2fdae5e"], "statement_hash": "effe54fb67849059b520165d0bc2a8ff9433d63b67c41ce681780a957c1cc37d"}, "url": "/docs/compare/?release=11.15#11.15-ea984921853198ea", "source_url": "/docs/release/11.15/#id-1.11.6.12.5"}, {"db_id": "2a893e2cfd6603c7a75c0f088b5a6d60", "kind": "equivalent", "version": "10.20", "label": "10.20", "title": "Ensure that casting to an unspecified typmod generates a RelabelType node rather than a length-coercion function call", "evidence": {"same_day": true, "patch_ids": ["c28e7c0bf1d5d009f2e012a5a2fdae5e"], "statement_hash": "effe54fb67849059b520165d0bc2a8ff9433d63b67c41ce681780a957c1cc37d"}, "url": "/docs/compare/?release=10.20#10.20-ea984921853198ea", "source_url": "/docs/release/10.20/#id-1.11.6.8.6"}]}, {"id": "14.2-6fa658bfee0e3f95", "cves": [], "html": "<p>Fix checking of <code>anycompatible</code>-family data type matches (Tom Lane) <a href=\"https://postgr.es/c/c025067f6\">§</a></p>\n<p>In some cases the parser would think that a function or operator with <code>anycompatible</code>-family polymorphic parameters matches a set of arguments that it really shouldn't match. In reported cases, that led to matching more than one operator to a call, leading to ambiguous-operator errors; but a failure later on is also possible.</p>", "text": "Fix checking of anycompatible-family data type matches (Tom Lane) § In some cases the parser would think that a function or operator with anycompatible-family polymorphic parameters matches a set of arguments that it really shouldn't match. In reported cases, that led to matching more than one operator to a call, leading to ambiguous-operator errors; but a failure later on is also possible.", "title": "Fix checking of anycompatible-family data type matches", "commits": ["c025067f6"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "e01d49a79b4186b53ae753e7fe87529fd984c925f5139d49245996a919b33dc4", "section_path": ["Changes"], "commit_groups": [["5ad70564f", "8e2e0f758", "c025067f6"]], "identity_text": "Fix checking of anycompatible-family data type matches (Tom Lane) In some cases the parser would think that a function or operator with anycompatible-family polymorphic parameters matches a set of arguments that it really shouldn't match. In reported cases, that led to matching more than one operator to a call, leading to ambiguous-operator errors; but a failure later on is also possible.", "commit_aliases": ["5ad70564f", "8e2e0f758", "c025067f6"], "source_commits": ["c025067f6"], "source_entry_id": "14.2/changes/013", "db_id": "e1111027f07b5102db1156306a34b048", "patch_ids": ["d9959906aa3103990a6449a0dda85b61"], "statement_hash": "a0af24173f65cb96b1bd0ae83731612477fa494a815bcdc2bfd08751c65a595f", "relations": [{"rule": 2, "type": "equivalent", "target": "cdfc2ed0ea6ff44d17752a1d16d5a1ce", "evidence": {"same_day": true, "patch_ids": ["d9959906aa3103990a6449a0dda85b61"], "statement_hash": "a0af24173f65cb96b1bd0ae83731612477fa494a815bcdc2bfd08751c65a595f"}}], "version": "14.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "cdfc2ed0ea6ff44d17752a1d16d5a1ce", "kind": "equivalent", "version": "13.6", "label": "13.6", "title": "Fix checking of anycompatible-family data type matches", "evidence": {"same_day": true, "patch_ids": ["d9959906aa3103990a6449a0dda85b61"], "statement_hash": "a0af24173f65cb96b1bd0ae83731612477fa494a815bcdc2bfd08751c65a595f"}, "url": "/docs/compare/?release=13.6#13.6-340060dc4575a382", "source_url": "/docs/release/13.6/#id-1.11.6.23.5"}]}, {"id": "14.2-6a2216d5121007db", "cves": [], "html": "<p>Fix WAL replay failure when database consistency is reached exactly at a WAL page boundary (Álvaro Herrera) <a href=\"https://postgr.es/c/d24dac954\">§</a></p>", "text": "Fix WAL replay failure when database consistency is reached exactly at a WAL page boundary (Álvaro Herrera) §", "title": "Fix WAL replay failure when database consistency is reached exactly at a WAL page boundary", "commits": ["d24dac954"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "883d96773d19501589efa6a370949e112c83a024967fd14f82f20b3f56d79452", "section_path": ["Changes"], "commit_groups": [["2c3fddcbb", "44bd3ed33", "72cf39d51", "9c6ab1ef3", "d24dac954", "ef41c3fd6"]], "identity_text": "Fix WAL replay failure when database consistency is reached exactly at a WAL page boundary (Álvaro Herrera)", "commit_aliases": ["2c3fddcbb", "44bd3ed33", "72cf39d51", "9c6ab1ef3", "d24dac954", "ef41c3fd6"], "source_commits": ["d24dac954"], "source_entry_id": "14.2/changes/014", "db_id": "c8ee9f05fcab261ea19e8e933fce2a56", "patch_ids": ["afd24cd07c5f5b06f4a1e758059cb944"], "statement_hash": "9316113c43ed41782a5c3b28f3ba173d4cab64df113fad082125b66f139a86a7", "relations": [{"rule": 2, "type": "equivalent", "target": "2cc14dd2cde079eb0813d98ae4efc0eb", "evidence": {"same_day": true, "patch_ids": ["afd24cd07c5f5b06f4a1e758059cb944"], "statement_hash": "9316113c43ed41782a5c3b28f3ba173d4cab64df113fad082125b66f139a86a7"}}, {"rule": 2, "type": "equivalent", "target": "835e2fdb54f88b0ae985e0cb4cae1a86", "evidence": {"same_day": true, "patch_ids": ["afd24cd07c5f5b06f4a1e758059cb944"], "statement_hash": "9316113c43ed41782a5c3b28f3ba173d4cab64df113fad082125b66f139a86a7"}}, {"rule": 2, "type": "equivalent", "target": "bd3d61ccd0723fd56757dd1d72f63e7a", "evidence": {"same_day": true, "patch_ids": ["afd24cd07c5f5b06f4a1e758059cb944"], "statement_hash": "9316113c43ed41782a5c3b28f3ba173d4cab64df113fad082125b66f139a86a7"}}, {"rule": 2, "type": "equivalent", "target": "c855dbf26945305b605c55a5904cde68", "evidence": {"same_day": true, "patch_ids": ["afd24cd07c5f5b06f4a1e758059cb944"], "statement_hash": "9316113c43ed41782a5c3b28f3ba173d4cab64df113fad082125b66f139a86a7"}}], "version": "14.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "bd3d61ccd0723fd56757dd1d72f63e7a", "kind": "equivalent", "version": "13.6", "label": "13.6", "title": "Fix WAL replay failure when database consistency is reached exactly at a WAL page boundary", "evidence": {"same_day": true, "patch_ids": ["afd24cd07c5f5b06f4a1e758059cb944"], "statement_hash": "9316113c43ed41782a5c3b28f3ba173d4cab64df113fad082125b66f139a86a7"}, "url": "/docs/compare/?release=13.6#13.6-51c48133cefb804d", "source_url": "/docs/release/13.6/#id-1.11.6.23.5"}, {"db_id": "835e2fdb54f88b0ae985e0cb4cae1a86", "kind": "equivalent", "version": "12.10", "label": "12.10", "title": "Fix WAL replay failure when database consistency is reached exactly at a WAL page boundary", "evidence": {"same_day": true, "patch_ids": ["afd24cd07c5f5b06f4a1e758059cb944"], "statement_hash": "9316113c43ed41782a5c3b28f3ba173d4cab64df113fad082125b66f139a86a7"}, "url": "/docs/compare/?release=12.10#12.10-ebcffd2b569aa583", "source_url": "/docs/release/12.10/#id-1.11.6.18.5"}, {"db_id": "c855dbf26945305b605c55a5904cde68", "kind": "equivalent", "version": "11.15", "label": "11.15", "title": "Fix WAL replay failure when database consistency is reached exactly at a WAL page boundary", "evidence": {"same_day": true, "patch_ids": ["afd24cd07c5f5b06f4a1e758059cb944"], "statement_hash": "9316113c43ed41782a5c3b28f3ba173d4cab64df113fad082125b66f139a86a7"}, "url": "/docs/compare/?release=11.15#11.15-693c4c23d73c6fbf", "source_url": "/docs/release/11.15/#id-1.11.6.12.5"}, {"db_id": "2cc14dd2cde079eb0813d98ae4efc0eb", "kind": "equivalent", "version": "10.20", "label": "10.20", "title": "Fix WAL replay failure when database consistency is reached exactly at a WAL page boundary", "evidence": {"same_day": true, "patch_ids": ["afd24cd07c5f5b06f4a1e758059cb944"], "statement_hash": "9316113c43ed41782a5c3b28f3ba173d4cab64df113fad082125b66f139a86a7"}, "url": "/docs/compare/?release=10.20#10.20-693c4c23d73c6fbf", "source_url": "/docs/release/10.20/#id-1.11.6.8.6"}]}, {"id": "14.2-937704f82a03e216", "cves": [], "html": "<p>Fix startup of a physical replica to tolerate transaction ID wraparound (Abhijit Menon-Sen, Tomas Vondra) <a href=\"https://postgr.es/c/fb2f8e534\">§</a></p>\n<p>If a replica server is started while the set of active transactions on the primary crosses a wraparound boundary (so that there are some newer transactions with smaller XIDs than older ones), the replica would fail with <span>“<span>out-of-order XID insertion in KnownAssignedXids</span>”</span>. The replica would retry, but could never get past that error.</p>", "text": "Fix startup of a physical replica to tolerate transaction ID wraparound (Abhijit Menon-Sen, Tomas Vondra) § If a replica server is started while the set of active transactions on the primary crosses a wraparound boundary (so that there are some newer transactions with smaller XIDs than older ones), the replica would fail with “out-of-order XID insertion in KnownAssignedXids”. The replica would retry, but could never get past that error.", "title": "Fix startup of a physical replica to tolerate transaction ID wraparound", "commits": ["fb2f8e534"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "ea31ac06e104ab7b9a648e46bd45ad00cece79b12e1e7e1f3e70c2eae417e9a3", "section_path": ["Changes"], "commit_groups": [["4b8af2bf8", "4ef38fbe8", "5cb88648e", "e90f258ac", "f192e1bdf", "fb2f8e534"]], "identity_text": "Fix startup of a physical replica to tolerate transaction ID wraparound (Abhijit Menon-Sen, Tomas Vondra) If a replica server is started while the set of active transactions on the primary crosses a wraparound boundary (so that there are some newer transactions with smaller XIDs than older ones), the replica would fail with out-of-order XID insertion in KnownAssignedXids. The replica would retry, but could never get past that error.", "commit_aliases": ["4b8af2bf8", "4ef38fbe8", "5cb88648e", "e90f258ac", "f192e1bdf", "fb2f8e534"], "source_commits": ["fb2f8e534"], "source_entry_id": "14.2/changes/015", "db_id": "5e19ddb281299d561bac0326a173a9e8", "patch_ids": ["21be964fe50f71e6d82659b01ea3f378"], "statement_hash": "e70f568730b7f58e3cdb9f89493055fe2b6262a942607c9523e5e685502510df", "relations": [{"rule": 2, "type": "equivalent", "target": "1c36481a930c06c7940ad0f6d5e1316f", "evidence": {"same_day": true, "patch_ids": ["21be964fe50f71e6d82659b01ea3f378"], "statement_hash": "e70f568730b7f58e3cdb9f89493055fe2b6262a942607c9523e5e685502510df"}}, {"rule": 2, "type": "equivalent", "target": "6fa4719966ba913196a04b36398afb6b", "evidence": {"same_day": true, "patch_ids": ["21be964fe50f71e6d82659b01ea3f378"], "statement_hash": "e70f568730b7f58e3cdb9f89493055fe2b6262a942607c9523e5e685502510df"}}, {"rule": 2, "type": "equivalent", "target": "dcc67cb4dbf1b8f9e7af4833c39e96b2", "evidence": {"same_day": true, "patch_ids": ["21be964fe50f71e6d82659b01ea3f378"], "statement_hash": "e70f568730b7f58e3cdb9f89493055fe2b6262a942607c9523e5e685502510df"}}, {"rule": 2, "type": "equivalent", "target": "e182eef561607dab0750d05cfbef3245", "evidence": {"same_day": true, "patch_ids": ["21be964fe50f71e6d82659b01ea3f378"], "statement_hash": "e70f568730b7f58e3cdb9f89493055fe2b6262a942607c9523e5e685502510df"}}], "version": "14.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "dcc67cb4dbf1b8f9e7af4833c39e96b2", "kind": "equivalent", "version": "13.6", "label": "13.6", "title": "Fix startup of a physical replica to tolerate transaction ID wraparound", "evidence": {"same_day": true, "patch_ids": ["21be964fe50f71e6d82659b01ea3f378"], "statement_hash": "e70f568730b7f58e3cdb9f89493055fe2b6262a942607c9523e5e685502510df"}, "url": "/docs/compare/?release=13.6#13.6-eb0a7fc4d8a6d8fc", "source_url": "/docs/release/13.6/#id-1.11.6.23.5"}, {"db_id": "e182eef561607dab0750d05cfbef3245", "kind": "equivalent", "version": "12.10", "label": "12.10", "title": "Fix startup of a physical replica to tolerate transaction ID wraparound", "evidence": {"same_day": true, "patch_ids": ["21be964fe50f71e6d82659b01ea3f378"], "statement_hash": "e70f568730b7f58e3cdb9f89493055fe2b6262a942607c9523e5e685502510df"}, "url": "/docs/compare/?release=12.10#12.10-272e53fb1458bc32", "source_url": "/docs/release/12.10/#id-1.11.6.18.5"}, {"db_id": "1c36481a930c06c7940ad0f6d5e1316f", "kind": "equivalent", "version": "11.15", "label": "11.15", "title": "Fix startup of a physical replica to tolerate transaction ID wraparound", "evidence": {"same_day": true, "patch_ids": ["21be964fe50f71e6d82659b01ea3f378"], "statement_hash": "e70f568730b7f58e3cdb9f89493055fe2b6262a942607c9523e5e685502510df"}, "url": "/docs/compare/?release=11.15#11.15-dfce00443f73b735", "source_url": "/docs/release/11.15/#id-1.11.6.12.5"}, {"db_id": "6fa4719966ba913196a04b36398afb6b", "kind": "equivalent", "version": "10.20", "label": "10.20", "title": "Fix startup of a physical replica to tolerate transaction ID wraparound", "evidence": {"same_day": true, "patch_ids": ["21be964fe50f71e6d82659b01ea3f378"], "statement_hash": "e70f568730b7f58e3cdb9f89493055fe2b6262a942607c9523e5e685502510df"}, "url": "/docs/compare/?release=10.20#10.20-dfce00443f73b735", "source_url": "/docs/release/10.20/#id-1.11.6.8.6"}]}, {"id": "14.2-27b0e32fbb24b5ce", "cves": [], "html": "<p>In logical replication, avoid double transmission of a child table's data (Hou Zhijie) <a href=\"https://postgr.es/c/614b77d65\">§</a></p>\n<p>If a publication includes both child and parent tables, and has the <code>publish_via_partition_root</code> option set, subscribers uselessly initiated synchronization on both child and parent tables. Ensure that only the parent table is synchronized in such cases.</p>", "text": "In logical replication, avoid double transmission of a child table's data (Hou Zhijie) § If a publication includes both child and parent tables, and has the publish_via_partition_root option set, subscribers uselessly initiated synchronization on both child and parent tables. Ensure that only the parent table is synchronized in such cases.", "title": "In logical replication, avoid double transmission of a child table's data", "commits": ["614b77d65"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "ea37730eea91f16ed3be3dc67c389fa48797a8c20e8335be11c2a5f17bf954e3", "section_path": ["Changes"], "commit_groups": [["3f06c00cf", "5e97905a2", "614b77d65"]], "identity_text": "In logical replication, avoid double transmission of a child table's data (Hou Zhijie) If a publication includes both child and parent tables, and has the publish_via_partition_root option set, subscribers uselessly initiated synchronization on both child and parent tables. Ensure that only the parent table is synchronized in such cases.", "commit_aliases": ["3f06c00cf", "5e97905a2", "614b77d65"], "source_commits": ["614b77d65"], "source_entry_id": "14.2/changes/016", "db_id": "a9477cf4ea60ef686900f10ee9d99ab0", "patch_ids": ["023c411fc6c9c27ee0e3ed022e27732d"], "statement_hash": "f3cd6a784be3fbab1674b461d053648a4d5c9ed1853f26fec12f67d3171ee8e0", "relations": [{"rule": 2, "type": "equivalent", "target": "3f2b16580e9d40a350b3249c6e85989d", "evidence": {"same_day": true, "patch_ids": ["023c411fc6c9c27ee0e3ed022e27732d"], "statement_hash": "f3cd6a784be3fbab1674b461d053648a4d5c9ed1853f26fec12f67d3171ee8e0"}}], "version": "14.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "3f2b16580e9d40a350b3249c6e85989d", "kind": "equivalent", "version": "13.6", "label": "13.6", "title": "In logical replication, avoid double transmission of a child table's data", "evidence": {"same_day": true, "patch_ids": ["023c411fc6c9c27ee0e3ed022e27732d"], "statement_hash": "f3cd6a784be3fbab1674b461d053648a4d5c9ed1853f26fec12f67d3171ee8e0"}, "url": "/docs/compare/?release=13.6#13.6-f2c700e2a0b72349", "source_url": "/docs/release/13.6/#id-1.11.6.23.5"}]}, {"id": "14.2-34a8b0d995370b03", "cves": [], "html": "<p>Remove lexical limitations for SQL commands issued on a logical replication connection (Tom Lane) <a href=\"https://postgr.es/c/1efcc5946\">§</a> <a href=\"https://postgr.es/c/ef9706bbc\">§</a></p>\n<p>The walsender process would fail for a SQL command containing an unquoted semicolon, or with dollar-quoted literals containing odd numbers of single or double quote marks, or when the SQL command starts with a comment. Moreover, faulty error recovery could lead to unexpected errors in later commands too.</p>", "text": "Remove lexical limitations for SQL commands issued on a logical replication connection (Tom Lane) § § The walsender process would fail for a SQL command containing an unquoted semicolon, or with dollar-quoted literals containing odd numbers of single or double quote marks, or when the SQL command starts with a comment. Moreover, faulty error recovery could lead to unexpected errors in later commands too.", "title": "Remove lexical limitations for SQL commands issued on a logical replication connection", "commits": ["1efcc5946", "ef9706bbc"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "a835bb748c757944bb9b37f146331a1e81fa2c69b7f41d4cdb87e9c889c06b35", "section_path": ["Changes"], "commit_groups": [["1efcc5946", "4ec54498c", "689f75d6e", "6aa518614", "9af6d4b5a", "d67354d87"], ["3c06ec6d1", "449a69623", "a8ce5c8d7", "c94c6612d", "daf658982", "ef9706bbc"]], "identity_text": "Remove lexical limitations for SQL commands issued on a logical replication connection (Tom Lane) The walsender process would fail for a SQL command containing an unquoted semicolon, or with dollar-quoted literals containing odd numbers of single or double quote marks, or when the SQL command starts with a comment. Moreover, faulty error recovery could lead to unexpected errors in later commands too.", "commit_aliases": ["1efcc5946", "3c06ec6d1", "449a69623", "4ec54498c", "689f75d6e", "6aa518614", "9af6d4b5a", "a8ce5c8d7", "c94c6612d", "d67354d87", "daf658982", "ef9706bbc"], "source_commits": ["1efcc5946", "ef9706bbc"], "source_entry_id": "14.2/changes/017", "db_id": "b98ea3c8a532b6d7b0e925a6b6c75cf9", "patch_ids": ["42ca0aa6a3655a1f62716d258e2406b6", "f025a3e43967cd493a53abf1ad69da60"], "statement_hash": "74357a6460815c3abf3d8c39a075609cb047397d9fea852fd18f587e9574d80b", "relations": [{"rule": 2, "type": "equivalent", "target": "702fbb9541c1100db24efa6c516ec49c", "evidence": {"same_day": true, "patch_ids": ["42ca0aa6a3655a1f62716d258e2406b6", "f025a3e43967cd493a53abf1ad69da60"], "statement_hash": "74357a6460815c3abf3d8c39a075609cb047397d9fea852fd18f587e9574d80b"}}, {"rule": 2, "type": "equivalent", "target": "a6bb3449547ab2fe12c28aba92ca29c9", "evidence": {"same_day": true, "patch_ids": ["42ca0aa6a3655a1f62716d258e2406b6", "f025a3e43967cd493a53abf1ad69da60"], "statement_hash": "74357a6460815c3abf3d8c39a075609cb047397d9fea852fd18f587e9574d80b"}}, {"rule": 2, "type": "equivalent", "target": "ded3756805bb59acbe7ce106258ed5d9", "evidence": {"same_day": true, "patch_ids": ["42ca0aa6a3655a1f62716d258e2406b6", "f025a3e43967cd493a53abf1ad69da60"], "statement_hash": "74357a6460815c3abf3d8c39a075609cb047397d9fea852fd18f587e9574d80b"}}, {"rule": 2, "type": "equivalent", "target": "f7c93b4c152223c085640674bceba58a", "evidence": {"same_day": true, "patch_ids": ["42ca0aa6a3655a1f62716d258e2406b6", "f025a3e43967cd493a53abf1ad69da60"], "statement_hash": "74357a6460815c3abf3d8c39a075609cb047397d9fea852fd18f587e9574d80b"}}], "version": "14.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "ded3756805bb59acbe7ce106258ed5d9", "kind": "equivalent", "version": "13.6", "label": "13.6", "title": "Remove lexical limitations for SQL commands issued on a logical replication connection", "evidence": {"same_day": true, "patch_ids": ["42ca0aa6a3655a1f62716d258e2406b6", "f025a3e43967cd493a53abf1ad69da60"], "statement_hash": "74357a6460815c3abf3d8c39a075609cb047397d9fea852fd18f587e9574d80b"}, "url": "/docs/compare/?release=13.6#13.6-d14d4f7b3e46838d", "source_url": "/docs/release/13.6/#id-1.11.6.23.5"}, {"db_id": "a6bb3449547ab2fe12c28aba92ca29c9", "kind": "equivalent", "version": "12.10", "label": "12.10", "title": "Remove lexical limitations for SQL commands issued on a logical replication connection", "evidence": {"same_day": true, "patch_ids": ["42ca0aa6a3655a1f62716d258e2406b6", "f025a3e43967cd493a53abf1ad69da60"], "statement_hash": "74357a6460815c3abf3d8c39a075609cb047397d9fea852fd18f587e9574d80b"}, "url": "/docs/compare/?release=12.10#12.10-b8a115690569b698", "source_url": "/docs/release/12.10/#id-1.11.6.18.5"}, {"db_id": "f7c93b4c152223c085640674bceba58a", "kind": "equivalent", "version": "11.15", "label": "11.15", "title": "Remove lexical limitations for SQL commands issued on a logical replication connection", "evidence": {"same_day": true, "patch_ids": ["42ca0aa6a3655a1f62716d258e2406b6", "f025a3e43967cd493a53abf1ad69da60"], "statement_hash": "74357a6460815c3abf3d8c39a075609cb047397d9fea852fd18f587e9574d80b"}, "url": "/docs/compare/?release=11.15#11.15-d88c279a8538bcf9", "source_url": "/docs/release/11.15/#id-1.11.6.12.5"}, {"db_id": "702fbb9541c1100db24efa6c516ec49c", "kind": "equivalent", "version": "10.20", "label": "10.20", "title": "Remove lexical limitations for SQL commands issued on a logical replication connection", "evidence": {"same_day": true, "patch_ids": ["42ca0aa6a3655a1f62716d258e2406b6", "f025a3e43967cd493a53abf1ad69da60"], "statement_hash": "74357a6460815c3abf3d8c39a075609cb047397d9fea852fd18f587e9574d80b"}, "url": "/docs/compare/?release=10.20#10.20-d88c279a8538bcf9", "source_url": "/docs/release/10.20/#id-1.11.6.8.6"}]}, {"id": "14.2-8e00436c9643c395", "cves": [], "html": "<p>Ensure that replication origin timestamp is set while replicating a <code>ROLLBACK PREPARED</code> operation (Masahiko Sawada) <a href=\"https://postgr.es/c/f2e1730ee\">§</a></p>", "text": "Ensure that replication origin timestamp is set while replicating a ROLLBACK PREPARED operation (Masahiko Sawada) §", "title": "Ensure that replication origin timestamp is set while replicating a ROLLBACK PREPARED operation", "commits": ["f2e1730ee"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "dd50de7ba2237574f1e759e9689d62b9bfd85afcc7d1e8b02413a840f8d37972", "section_path": ["Changes"], "commit_groups": [["e464cb7af", "f2e1730ee"]], "identity_text": "Ensure that replication origin timestamp is set while replicating a ROLLBACK PREPARED operation (Masahiko Sawada)", "commit_aliases": ["e464cb7af", "f2e1730ee"], "source_commits": ["f2e1730ee"], "source_entry_id": "14.2/changes/018", "db_id": "3c03239499fb924210ed4edf11efb99d", "patch_ids": ["71bb2dda30260ea0252ea1dc2167d154"], "statement_hash": "9d987bb277ea99ae4c8ef252d0cc0d197024525f6c1280637ef20aba3d1862bb", "relations": [], "version": "14.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.2-1e7e518dc5790ff5", "cves": [], "html": "<p>Fix possible loss of the commit timestamp for the last subtransaction of a transaction (Alex Kingsborough, Kyotaro Horiguchi) <a href=\"https://postgr.es/c/84db5169d\">§</a></p>", "text": "Fix possible loss of the commit timestamp for the last subtransaction of a transaction (Alex Kingsborough, Kyotaro Horiguchi) §", "title": "Fix possible loss of the commit timestamp for the last subtransaction of a transaction", "commits": ["84db5169d"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "2cec020d0ea69da7b36d9d76c745fbf433aa720c3ec2475d6f4d41c5eacee2ff", "section_path": ["Changes"], "commit_groups": [["0ffe2975c", "1c0452c48", "237d1f317", "84db5169d", "919be95c6", "b5f634116"]], "identity_text": "Fix possible loss of the commit timestamp for the last subtransaction of a transaction (Alex Kingsborough, Kyotaro Horiguchi)", "commit_aliases": ["0ffe2975c", "1c0452c48", "237d1f317", "84db5169d", "919be95c6", "b5f634116"], "source_commits": ["84db5169d"], "source_entry_id": "14.2/changes/019", "db_id": "15e4cdf07e04f4692c91156a3a5908bb", "patch_ids": ["5e29229b3a41d4f5688448cc3ff3ce9a"], "statement_hash": "e37e21c1d32b098ac1c4d96a11585890ee50dc422f49080a5e9ebc6e47f654ae", "relations": [{"rule": 2, "type": "equivalent", "target": "b8eac7e28755e73eb576db067bc4d9dc", "evidence": {"same_day": true, "patch_ids": ["5e29229b3a41d4f5688448cc3ff3ce9a"], "statement_hash": "e37e21c1d32b098ac1c4d96a11585890ee50dc422f49080a5e9ebc6e47f654ae"}}, {"rule": 2, "type": "equivalent", "target": "bbe661559a462cb4f9b5f9207041cac8", "evidence": {"same_day": true, "patch_ids": ["5e29229b3a41d4f5688448cc3ff3ce9a"], "statement_hash": "e37e21c1d32b098ac1c4d96a11585890ee50dc422f49080a5e9ebc6e47f654ae"}}, {"rule": 2, "type": "equivalent", "target": "c7e8f0b202e9f17e8eed39745cb6debd", "evidence": {"same_day": true, "patch_ids": ["5e29229b3a41d4f5688448cc3ff3ce9a"], "statement_hash": "e37e21c1d32b098ac1c4d96a11585890ee50dc422f49080a5e9ebc6e47f654ae"}}, {"rule": 2, "type": "equivalent", "target": "f7107e2d130e3710354c69e1af1dca32", "evidence": {"same_day": true, "patch_ids": ["5e29229b3a41d4f5688448cc3ff3ce9a"], "statement_hash": "e37e21c1d32b098ac1c4d96a11585890ee50dc422f49080a5e9ebc6e47f654ae"}}], "version": "14.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "bbe661559a462cb4f9b5f9207041cac8", "kind": "equivalent", "version": "13.6", "label": "13.6", "title": "Fix possible loss of the commit timestamp for the last subtransaction of a transaction", "evidence": {"same_day": true, "patch_ids": ["5e29229b3a41d4f5688448cc3ff3ce9a"], "statement_hash": "e37e21c1d32b098ac1c4d96a11585890ee50dc422f49080a5e9ebc6e47f654ae"}, "url": "/docs/compare/?release=13.6#13.6-3587c5e0af0d56c6", "source_url": "/docs/release/13.6/#id-1.11.6.23.5"}, {"db_id": "f7107e2d130e3710354c69e1af1dca32", "kind": "equivalent", "version": "12.10", "label": "12.10", "title": "Fix possible loss of the commit timestamp for the last subtransaction of a transaction", "evidence": {"same_day": true, "patch_ids": ["5e29229b3a41d4f5688448cc3ff3ce9a"], "statement_hash": "e37e21c1d32b098ac1c4d96a11585890ee50dc422f49080a5e9ebc6e47f654ae"}, "url": "/docs/compare/?release=12.10#12.10-66c96e177ff0bc30", "source_url": "/docs/release/12.10/#id-1.11.6.18.5"}, {"db_id": "b8eac7e28755e73eb576db067bc4d9dc", "kind": "equivalent", "version": "11.15", "label": "11.15", "title": "Fix possible loss of the commit timestamp for the last subtransaction of a transaction", "evidence": {"same_day": true, "patch_ids": ["5e29229b3a41d4f5688448cc3ff3ce9a"], "statement_hash": "e37e21c1d32b098ac1c4d96a11585890ee50dc422f49080a5e9ebc6e47f654ae"}, "url": "/docs/compare/?release=11.15#11.15-4916a21761edb611", "source_url": "/docs/release/11.15/#id-1.11.6.12.5"}, {"db_id": "c7e8f0b202e9f17e8eed39745cb6debd", "kind": "equivalent", "version": "10.20", "label": "10.20", "title": "Fix possible loss of the commit timestamp for the last subtransaction of a transaction", "evidence": {"same_day": true, "patch_ids": ["5e29229b3a41d4f5688448cc3ff3ce9a"], "statement_hash": "e37e21c1d32b098ac1c4d96a11585890ee50dc422f49080a5e9ebc6e47f654ae"}, "url": "/docs/compare/?release=10.20#10.20-4916a21761edb611", "source_url": "/docs/release/10.20/#id-1.11.6.8.6"}]}, {"id": "14.2-f45104475e56fc82", "cves": [], "html": "<p>Be sure to <code>fsync</code> the <code>pg_logical/mappings</code> subdirectory during checkpoints (Nathan Bossart) <a href=\"https://postgr.es/c/2b7dbe4bd\">§</a></p>\n<p>On some filesystems this oversight could lead to losing logical rewrite status files after a system crash.</p>", "text": "Be sure to fsync the pg_logical/mappings subdirectory during checkpoints (Nathan Bossart) § On some filesystems this oversight could lead to losing logical rewrite status files after a system crash.", "title": "Be sure to fsync the pg_logical/mappings subdirectory during checkpoints", "commits": ["2b7dbe4bd"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "b5ddfaba35547176aa7f2d2eca2384b10a846a934395d5bfc3cbd679043b8745", "section_path": ["Changes"], "commit_groups": [["1c6d055ba", "1fabec7d7", "2b7dbe4bd", "2c15b29f7", "f862cc09f", "fd48e5f5d"]], "identity_text": "Be sure to fsync the pg_logical/mappings subdirectory during checkpoints (Nathan Bossart) On some filesystems this oversight could lead to losing logical rewrite status files after a system crash.", "commit_aliases": ["1c6d055ba", "1fabec7d7", "2b7dbe4bd", "2c15b29f7", "f862cc09f", "fd48e5f5d"], "source_commits": ["2b7dbe4bd"], "source_entry_id": "14.2/changes/020", "db_id": "72977b01e1df094cf40fd5ba331693af", "patch_ids": ["5694260cf9b2bb223a04401f64c318f9"], "statement_hash": "1f1453bd8236e965be91e24abeb4e6f80bfbb755a93d5a93b1ba598d6872f3db", "relations": [{"rule": 2, "type": "equivalent", "target": "353fc59252a3b8ee5c068e5ae44976d5", "evidence": {"same_day": true, "patch_ids": ["5694260cf9b2bb223a04401f64c318f9"], "statement_hash": "1f1453bd8236e965be91e24abeb4e6f80bfbb755a93d5a93b1ba598d6872f3db"}}, {"rule": 2, "type": "equivalent", "target": "a9d08bee6a99170702c162e042d07eee", "evidence": {"same_day": true, "patch_ids": ["5694260cf9b2bb223a04401f64c318f9"], "statement_hash": "1f1453bd8236e965be91e24abeb4e6f80bfbb755a93d5a93b1ba598d6872f3db"}}, {"rule": 2, "type": "equivalent", "target": "aeba13b2c2363418e9446c0d419c8c28", "evidence": {"same_day": true, "patch_ids": ["5694260cf9b2bb223a04401f64c318f9"], "statement_hash": "1f1453bd8236e965be91e24abeb4e6f80bfbb755a93d5a93b1ba598d6872f3db"}}, {"rule": 2, "type": "equivalent", "target": "cd5e04f92c3bd097a11741b1a43a5ef2", "evidence": {"same_day": true, "patch_ids": ["5694260cf9b2bb223a04401f64c318f9"], "statement_hash": "1f1453bd8236e965be91e24abeb4e6f80bfbb755a93d5a93b1ba598d6872f3db"}}], "version": "14.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "aeba13b2c2363418e9446c0d419c8c28", "kind": "equivalent", "version": "13.6", "label": "13.6", "title": "Be sure to fsync the pg_logical/mappings subdirectory during checkpoints", "evidence": {"same_day": true, "patch_ids": ["5694260cf9b2bb223a04401f64c318f9"], "statement_hash": "1f1453bd8236e965be91e24abeb4e6f80bfbb755a93d5a93b1ba598d6872f3db"}, "url": "/docs/compare/?release=13.6#13.6-2f001a5bdf695b08", "source_url": "/docs/release/13.6/#id-1.11.6.23.5"}, {"db_id": "a9d08bee6a99170702c162e042d07eee", "kind": "equivalent", "version": "12.10", "label": "12.10", "title": "Be sure to fsync the pg_logical/mappings subdirectory during checkpoints", "evidence": {"same_day": true, "patch_ids": ["5694260cf9b2bb223a04401f64c318f9"], "statement_hash": "1f1453bd8236e965be91e24abeb4e6f80bfbb755a93d5a93b1ba598d6872f3db"}, "url": "/docs/compare/?release=12.10#12.10-9465ddf94b4619da", "source_url": "/docs/release/12.10/#id-1.11.6.18.5"}, {"db_id": "cd5e04f92c3bd097a11741b1a43a5ef2", "kind": "equivalent", "version": "11.15", "label": "11.15", "title": "Be sure to fsync the pg_logical/mappings subdirectory during checkpoints", "evidence": {"same_day": true, "patch_ids": ["5694260cf9b2bb223a04401f64c318f9"], "statement_hash": "1f1453bd8236e965be91e24abeb4e6f80bfbb755a93d5a93b1ba598d6872f3db"}, "url": "/docs/compare/?release=11.15#11.15-998cd045ca32cb0d", "source_url": "/docs/release/11.15/#id-1.11.6.12.5"}, {"db_id": "353fc59252a3b8ee5c068e5ae44976d5", "kind": "equivalent", "version": "10.20", "label": "10.20", "title": "Be sure to fsync the pg_logical/mappings subdirectory during checkpoints", "evidence": {"same_day": true, "patch_ids": ["5694260cf9b2bb223a04401f64c318f9"], "statement_hash": "1f1453bd8236e965be91e24abeb4e6f80bfbb755a93d5a93b1ba598d6872f3db"}, "url": "/docs/compare/?release=10.20#10.20-998cd045ca32cb0d", "source_url": "/docs/release/10.20/#id-1.11.6.8.6"}]}, {"id": "14.2-6916df499a6d9e97", "cves": [], "html": "<p>Build extended statistics for partitioned tables (Justin Pryzby) <a href=\"https://postgr.es/c/ea212bd95\">§</a></p>\n<p>A previous bug fix disabled building of extended statistics for old-style inheritance trees, but it also prevented building them for partitioned tables, which was an unnecessary restriction. This change allows <code>ANALYZE</code> to compute values for statistics objects for partitioned tables. (But note that autovacuum does not process partitioned tables as such, so you must periodically issue manual <code>ANALYZE</code> on the partitioned table if you want to maintain such statistics.)</p>", "text": "Build extended statistics for partitioned tables (Justin Pryzby) § A previous bug fix disabled building of extended statistics for old-style inheritance trees, but it also prevented building them for partitioned tables, which was an unnecessary restriction. This change allows ANALYZE to compute values for statistics objects for partitioned tables. (But note that autovacuum does not process partitioned tables as such, so you must periodically issue manual ANALYZE on the partitioned table if you want to maintain such statistics.)", "title": "Build extended statistics for partitioned tables", "commits": ["ea212bd95"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "ef4dc2cf41f53bdbc2a69240bb52817f701dac7878bd25ead3772bd1b480c479", "section_path": ["Changes"], "commit_groups": [["20b9fa308", "491182e52", "9211c2e38", "9d1bcf5dc", "d6817032d", "ea212bd95"]], "identity_text": "Build extended statistics for partitioned tables (Justin Pryzby) A previous bug fix disabled building of extended statistics for old-style inheritance trees, but it also prevented building them for partitioned tables, which was an unnecessary restriction. This change allows ANALYZE to compute values for statistics objects for partitioned tables. (But note that autovacuum does not process partitioned tables as such, so you must periodically issue manual ANALYZE on the partitioned table if you want to maintain such statistics.)", "commit_aliases": ["20b9fa308", "491182e52", "9211c2e38", "9d1bcf5dc", "d6817032d", "ea212bd95"], "source_commits": ["ea212bd95"], "source_entry_id": "14.2/changes/021", "db_id": "aae20dcb1ae1fa6bd3529412c04f97fb", "patch_ids": ["5008b2ffcd6d0349e6db2417b953c8b6"], "statement_hash": "bc97ad1640073834e349e700728976f6f6967d08c4f1f7cfd2d053aa07de91e6", "relations": [{"rule": 2, "type": "equivalent", "target": "8843b85ca94fbd9768cbf9c4db0197dd", "evidence": {"same_day": true, "patch_ids": ["5008b2ffcd6d0349e6db2417b953c8b6"], "statement_hash": "bc97ad1640073834e349e700728976f6f6967d08c4f1f7cfd2d053aa07de91e6"}}, {"rule": 2, "type": "equivalent", "target": "aa374d98da4fcd59ef0f1454458d4e48", "evidence": {"same_day": true, "patch_ids": ["5008b2ffcd6d0349e6db2417b953c8b6"], "statement_hash": "bc97ad1640073834e349e700728976f6f6967d08c4f1f7cfd2d053aa07de91e6"}}, {"rule": 2, "type": "equivalent", "target": "c4acacecb3d0ac73df4d51781c2f252b", "evidence": {"same_day": true, "patch_ids": ["5008b2ffcd6d0349e6db2417b953c8b6"], "statement_hash": "bc97ad1640073834e349e700728976f6f6967d08c4f1f7cfd2d053aa07de91e6"}}, {"rule": 2, "type": "equivalent", "target": "cc0037968bcdf035b8f620f0e0277a1a", "evidence": {"same_day": true, "patch_ids": ["5008b2ffcd6d0349e6db2417b953c8b6"], "statement_hash": "bc97ad1640073834e349e700728976f6f6967d08c4f1f7cfd2d053aa07de91e6"}}], "version": "14.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "aa374d98da4fcd59ef0f1454458d4e48", "kind": "equivalent", "version": "13.6", "label": "13.6", "title": "Build extended statistics for partitioned tables", "evidence": {"same_day": true, "patch_ids": ["5008b2ffcd6d0349e6db2417b953c8b6"], "statement_hash": "bc97ad1640073834e349e700728976f6f6967d08c4f1f7cfd2d053aa07de91e6"}, "url": "/docs/compare/?release=13.6#13.6-ab307f084403f36c", "source_url": "/docs/release/13.6/#id-1.11.6.23.5"}, {"db_id": "8843b85ca94fbd9768cbf9c4db0197dd", "kind": "equivalent", "version": "12.10", "label": "12.10", "title": "Build extended statistics for partitioned tables", "evidence": {"same_day": true, "patch_ids": ["5008b2ffcd6d0349e6db2417b953c8b6"], "statement_hash": "bc97ad1640073834e349e700728976f6f6967d08c4f1f7cfd2d053aa07de91e6"}, "url": "/docs/compare/?release=12.10#12.10-eaa41b2f9f420694", "source_url": "/docs/release/12.10/#id-1.11.6.18.5"}, {"db_id": "cc0037968bcdf035b8f620f0e0277a1a", "kind": "equivalent", "version": "11.15", "label": "11.15", "title": "Build extended statistics for partitioned tables", "evidence": {"same_day": true, "patch_ids": ["5008b2ffcd6d0349e6db2417b953c8b6"], "statement_hash": "bc97ad1640073834e349e700728976f6f6967d08c4f1f7cfd2d053aa07de91e6"}, "url": "/docs/compare/?release=11.15#11.15-c11a459e47acd026", "source_url": "/docs/release/11.15/#id-1.11.6.12.5"}, {"db_id": "c4acacecb3d0ac73df4d51781c2f252b", "kind": "equivalent", "version": "10.20", "label": "10.20", "title": "Build extended statistics for partitioned tables", "evidence": {"same_day": true, "patch_ids": ["5008b2ffcd6d0349e6db2417b953c8b6"], "statement_hash": "bc97ad1640073834e349e700728976f6f6967d08c4f1f7cfd2d053aa07de91e6"}, "url": "/docs/compare/?release=10.20#10.20-c11a459e47acd026", "source_url": "/docs/release/10.20/#id-1.11.6.8.6"}]}, {"id": "14.2-5a3b094ffe0486c4", "cves": [], "html": "<p>Ignore extended statistics for inheritance trees (Justin Pryzby) <a href=\"https://postgr.es/c/2cc007fd0\">§</a></p>\n<p>Currently, extended statistics values are only computed locally for each table, not for entire inheritance trees. However the values were mistakenly consulted when planning queries across inheritance trees, possibly resulting in worse-than-default estimates.</p>", "text": "Ignore extended statistics for inheritance trees (Justin Pryzby) § Currently, extended statistics values are only computed locally for each table, not for entire inheritance trees. However the values were mistakenly consulted when planning queries across inheritance trees, possibly resulting in worse-than-default estimates.", "title": "Ignore extended statistics for inheritance trees", "commits": ["2cc007fd0"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "76f4965225ef0646df0c32183920ec0028363f4a5c6dff15f38f0580ab6fd242", "section_path": ["Changes"], "commit_groups": [["2cc007fd0", "36c4bc6e7", "76569ad6f", "acfde7c58", "b3cac25f4", "ff0e7c7e8"]], "identity_text": "Ignore extended statistics for inheritance trees (Justin Pryzby) Currently, extended statistics values are only computed locally for each table, not for entire inheritance trees. However the values were mistakenly consulted when planning queries across inheritance trees, possibly resulting in worse-than-default estimates.", "commit_aliases": ["2cc007fd0", "36c4bc6e7", "76569ad6f", "acfde7c58", "b3cac25f4", "ff0e7c7e8"], "source_commits": ["2cc007fd0"], "source_entry_id": "14.2/changes/022", "db_id": "c91e705bc9c63403f2a68a5332385d72", "patch_ids": ["1a76dec3ba82f451e5040c344380c584"], "statement_hash": "eb32924f69c99c9546eadfceb8f59d8f321e57b348a93cb0e762d4483c0c8487", "relations": [{"rule": 2, "type": "equivalent", "target": "12dccf5a2d38874c75631fdc6e2825ff", "evidence": {"same_day": true, "patch_ids": ["1a76dec3ba82f451e5040c344380c584"], "statement_hash": "eb32924f69c99c9546eadfceb8f59d8f321e57b348a93cb0e762d4483c0c8487"}}, {"rule": 2, "type": "equivalent", "target": "2517ef9fb5b245d35d9e3ea766191afc", "evidence": {"same_day": true, "patch_ids": ["1a76dec3ba82f451e5040c344380c584"], "statement_hash": "eb32924f69c99c9546eadfceb8f59d8f321e57b348a93cb0e762d4483c0c8487"}}, {"rule": 2, "type": "equivalent", "target": "3c7141c008821c2af8e2ddc97ba7103e", "evidence": {"same_day": true, "patch_ids": ["1a76dec3ba82f451e5040c344380c584"], "statement_hash": "eb32924f69c99c9546eadfceb8f59d8f321e57b348a93cb0e762d4483c0c8487"}}, {"rule": 2, "type": "equivalent", "target": "82d4f54d56de673bd30c82b48031e6ca", "evidence": {"same_day": true, "patch_ids": ["1a76dec3ba82f451e5040c344380c584"], "statement_hash": "eb32924f69c99c9546eadfceb8f59d8f321e57b348a93cb0e762d4483c0c8487"}}], "version": "14.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "12dccf5a2d38874c75631fdc6e2825ff", "kind": "equivalent", "version": "13.6", "label": "13.6", "title": "Ignore extended statistics for inheritance trees", "evidence": {"same_day": true, "patch_ids": ["1a76dec3ba82f451e5040c344380c584"], "statement_hash": "eb32924f69c99c9546eadfceb8f59d8f321e57b348a93cb0e762d4483c0c8487"}, "url": "/docs/compare/?release=13.6#13.6-b2a884861b9489a7", "source_url": "/docs/release/13.6/#id-1.11.6.23.5"}, {"db_id": "82d4f54d56de673bd30c82b48031e6ca", "kind": "equivalent", "version": "12.10", "label": "12.10", "title": "Ignore extended statistics for inheritance trees", "evidence": {"same_day": true, "patch_ids": ["1a76dec3ba82f451e5040c344380c584"], "statement_hash": "eb32924f69c99c9546eadfceb8f59d8f321e57b348a93cb0e762d4483c0c8487"}, "url": "/docs/compare/?release=12.10#12.10-901c77d1f1fb71cb", "source_url": "/docs/release/12.10/#id-1.11.6.18.5"}, {"db_id": "2517ef9fb5b245d35d9e3ea766191afc", "kind": "equivalent", "version": "11.15", "label": "11.15", "title": "Ignore extended statistics for inheritance trees", "evidence": {"same_day": true, "patch_ids": ["1a76dec3ba82f451e5040c344380c584"], "statement_hash": "eb32924f69c99c9546eadfceb8f59d8f321e57b348a93cb0e762d4483c0c8487"}, "url": "/docs/compare/?release=11.15#11.15-04d73f260d543bc1", "source_url": "/docs/release/11.15/#id-1.11.6.12.5"}, {"db_id": "3c7141c008821c2af8e2ddc97ba7103e", "kind": "equivalent", "version": "10.20", "label": "10.20", "title": "Ignore extended statistics for inheritance trees", "evidence": {"same_day": true, "patch_ids": ["1a76dec3ba82f451e5040c344380c584"], "statement_hash": "eb32924f69c99c9546eadfceb8f59d8f321e57b348a93cb0e762d4483c0c8487"}, "url": "/docs/compare/?release=10.20#10.20-04d73f260d543bc1", "source_url": "/docs/release/10.20/#id-1.11.6.8.6"}]}, {"id": "14.2-f83d313a8c8730e4", "cves": [], "html": "<p>Disallow altering data type of a partitioned table's columns when the partitioned table's row type is used as a composite type elsewhere (Tom Lane) <a href=\"https://postgr.es/c/f285d9583\">§</a></p>\n<p>This restriction has long existed for regular tables, but through an oversight it was not checked for partitioned tables.</p>", "text": "Disallow altering data type of a partitioned table's columns when the partitioned table's row type is used as a composite type elsewhere (Tom Lane) § This restriction has long existed for regular tables, but through an oversight it was not checked for partitioned tables.", "title": "Disallow altering data type of a partitioned table's columns when the partitioned table's row type is used as a composite type elsewhere", "commits": ["f285d9583"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "24b001bc2b9b4b5c29b588be1e305c5fdcd36f28c63dc79b0191613fcd055776", "section_path": ["Changes"], "commit_groups": [["2ce113a4f", "7ead9925f", "86d4bbb56", "ccc7c3ad8", "e5b044c84", "f285d9583"]], "identity_text": "Disallow altering data type of a partitioned table's columns when the partitioned table's row type is used as a composite type elsewhere (Tom Lane) This restriction has long existed for regular tables, but through an oversight it was not checked for partitioned tables.", "commit_aliases": ["2ce113a4f", "7ead9925f", "86d4bbb56", "ccc7c3ad8", "e5b044c84", "f285d9583"], "source_commits": ["f285d9583"], "source_entry_id": "14.2/changes/023", "db_id": "ccf6e7ed9a5f4c1b19f99ae662af15b6", "patch_ids": ["2ce4ffd927395a9e57aa907362ebc53a"], "statement_hash": "1c653a8768b9c658f71d14703c8351d2367bd31bcfd0f2036f035958fcd6fb5b", "relations": [{"rule": 2, "type": "equivalent", "target": "0ca4e6b55209216d9e2fd11102432004", "evidence": {"same_day": true, "patch_ids": ["2ce4ffd927395a9e57aa907362ebc53a"], "statement_hash": "1c653a8768b9c658f71d14703c8351d2367bd31bcfd0f2036f035958fcd6fb5b"}}, {"rule": 2, "type": "equivalent", "target": "576f15cdc43846a9dd9c25bb4b9f8a1e", "evidence": {"same_day": true, "patch_ids": ["2ce4ffd927395a9e57aa907362ebc53a"], "statement_hash": "1c653a8768b9c658f71d14703c8351d2367bd31bcfd0f2036f035958fcd6fb5b"}}, {"rule": 2, "type": "equivalent", "target": "6722169d655e9575b4970f24c17404bf", "evidence": {"same_day": true, "patch_ids": ["2ce4ffd927395a9e57aa907362ebc53a"], "statement_hash": "1c653a8768b9c658f71d14703c8351d2367bd31bcfd0f2036f035958fcd6fb5b"}}, {"rule": 2, "type": "equivalent", "target": "9e3dd1393b83dffba6deb1f286edc44f", "evidence": {"same_day": true, "patch_ids": ["2ce4ffd927395a9e57aa907362ebc53a"], "statement_hash": "1c653a8768b9c658f71d14703c8351d2367bd31bcfd0f2036f035958fcd6fb5b"}}], "version": "14.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "0ca4e6b55209216d9e2fd11102432004", "kind": "equivalent", "version": "13.6", "label": "13.6", "title": "Disallow altering data type of a partitioned table's columns when the partitioned table's row type is used as a composite type elsewhere", "evidence": {"same_day": true, "patch_ids": ["2ce4ffd927395a9e57aa907362ebc53a"], "statement_hash": "1c653a8768b9c658f71d14703c8351d2367bd31bcfd0f2036f035958fcd6fb5b"}, "url": "/docs/compare/?release=13.6#13.6-37d403b13f5f9c1e", "source_url": "/docs/release/13.6/#id-1.11.6.23.5"}, {"db_id": "6722169d655e9575b4970f24c17404bf", "kind": "equivalent", "version": "12.10", "label": "12.10", "title": "Disallow altering data type of a partitioned table's columns when the partitioned table's row type is used as a composite type elsewhere", "evidence": {"same_day": true, "patch_ids": ["2ce4ffd927395a9e57aa907362ebc53a"], "statement_hash": "1c653a8768b9c658f71d14703c8351d2367bd31bcfd0f2036f035958fcd6fb5b"}, "url": "/docs/compare/?release=12.10#12.10-0251ecb7f9a85e7e", "source_url": "/docs/release/12.10/#id-1.11.6.18.5"}, {"db_id": "576f15cdc43846a9dd9c25bb4b9f8a1e", "kind": "equivalent", "version": "11.15", "label": "11.15", "title": "Disallow altering data type of a partitioned table's columns when the partitioned table's row type is used as a composite type elsewhere", "evidence": {"same_day": true, "patch_ids": ["2ce4ffd927395a9e57aa907362ebc53a"], "statement_hash": "1c653a8768b9c658f71d14703c8351d2367bd31bcfd0f2036f035958fcd6fb5b"}, "url": "/docs/compare/?release=11.15#11.15-f24e04e59734c69c", "source_url": "/docs/release/11.15/#id-1.11.6.12.5"}, {"db_id": "9e3dd1393b83dffba6deb1f286edc44f", "kind": "equivalent", "version": "10.20", "label": "10.20", "title": "Disallow altering data type of a partitioned table's columns when the partitioned table's row type is used as a composite type elsewhere", "evidence": {"same_day": true, "patch_ids": ["2ce4ffd927395a9e57aa907362ebc53a"], "statement_hash": "1c653a8768b9c658f71d14703c8351d2367bd31bcfd0f2036f035958fcd6fb5b"}, "url": "/docs/compare/?release=10.20#10.20-f24e04e59734c69c", "source_url": "/docs/release/10.20/#id-1.11.6.8.6"}]}, {"id": "14.2-28ca15028588ec39", "cves": [], "html": "<p>Disallow <code>ALTER TABLE ... DROP NOT NULL</code> for a column that is part of a replica identity index (Haiying Tang, Hou Zhijie) <a href=\"https://postgr.es/c/e415916e2\">§</a></p>\n<p>The same prohibition already existed for primary key indexes.</p>", "text": "Disallow ALTER TABLE ... DROP NOT NULL for a column that is part of a replica identity index (Haiying Tang, Hou Zhijie) § The same prohibition already existed for primary key indexes.", "title": "Disallow ALTER TABLE ... DROP NOT NULL for a column that is part of a replica identity index", "commits": ["e415916e2"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "4fffe25030a68400b21cf81d6e8eaca6b4a8853bf440af302af5e91378100676", "section_path": ["Changes"], "commit_groups": [["216156fec", "37827de43", "817c469c2", "dffe80e55", "e415916e2", "f0d43947a"]], "identity_text": "Disallow ALTER TABLE ... DROP NOT NULL for a column that is part of a replica identity index (Haiying Tang, Hou Zhijie) The same prohibition already existed for primary key indexes.", "commit_aliases": ["216156fec", "37827de43", "817c469c2", "dffe80e55", "e415916e2", "f0d43947a"], "source_commits": ["e415916e2"], "source_entry_id": "14.2/changes/024", "db_id": "9aaada45efe13dbbd5639cea722957a4", "patch_ids": ["8ce3d69167095be8298b4c35c85b0c7c"], "statement_hash": "4e81aeacf9acb2dfc15765c6e413de39aedacdcb33be099b233958cbcd628e7f", "relations": [{"rule": 2, "type": "equivalent", "target": "3c0b93cbf380e8e5e5ca43337ff71201", "evidence": {"same_day": true, "patch_ids": ["8ce3d69167095be8298b4c35c85b0c7c"], "statement_hash": "4e81aeacf9acb2dfc15765c6e413de39aedacdcb33be099b233958cbcd628e7f"}}, {"rule": 2, "type": "equivalent", "target": "5c006d06207b434b03dd553059716e71", "evidence": {"same_day": true, "patch_ids": ["8ce3d69167095be8298b4c35c85b0c7c"], "statement_hash": "4e81aeacf9acb2dfc15765c6e413de39aedacdcb33be099b233958cbcd628e7f"}}, {"rule": 2, "type": "equivalent", "target": "9eaa9fbd5ed4610197b51967455521dd", "evidence": {"same_day": true, "patch_ids": ["8ce3d69167095be8298b4c35c85b0c7c"], "statement_hash": "4e81aeacf9acb2dfc15765c6e413de39aedacdcb33be099b233958cbcd628e7f"}}, {"rule": 2, "type": "equivalent", "target": "b0bdbec7a3ec087b2cc76b8bfdf7c114", "evidence": {"same_day": true, "patch_ids": ["8ce3d69167095be8298b4c35c85b0c7c"], "statement_hash": "4e81aeacf9acb2dfc15765c6e413de39aedacdcb33be099b233958cbcd628e7f"}}], "version": "14.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "3c0b93cbf380e8e5e5ca43337ff71201", "kind": "equivalent", "version": "13.6", "label": "13.6", "title": "Disallow ALTER TABLE ... DROP NOT NULL for a column that is part of a replica identity index", "evidence": {"same_day": true, "patch_ids": ["8ce3d69167095be8298b4c35c85b0c7c"], "statement_hash": "4e81aeacf9acb2dfc15765c6e413de39aedacdcb33be099b233958cbcd628e7f"}, "url": "/docs/compare/?release=13.6#13.6-69a2c1e764625c56", "source_url": "/docs/release/13.6/#id-1.11.6.23.5"}, {"db_id": "b0bdbec7a3ec087b2cc76b8bfdf7c114", "kind": "equivalent", "version": "12.10", "label": "12.10", "title": "Disallow ALTER TABLE ... DROP NOT NULL for a column that is part of a replica identity index", "evidence": {"same_day": true, "patch_ids": ["8ce3d69167095be8298b4c35c85b0c7c"], "statement_hash": "4e81aeacf9acb2dfc15765c6e413de39aedacdcb33be099b233958cbcd628e7f"}, "url": "/docs/compare/?release=12.10#12.10-a9777f8d8c1fffe6", "source_url": "/docs/release/12.10/#id-1.11.6.18.5"}, {"db_id": "5c006d06207b434b03dd553059716e71", "kind": "equivalent", "version": "11.15", "label": "11.15", "title": "Disallow ALTER TABLE ... DROP NOT NULL for a column that is part of a replica identity index", "evidence": {"same_day": true, "patch_ids": ["8ce3d69167095be8298b4c35c85b0c7c"], "statement_hash": "4e81aeacf9acb2dfc15765c6e413de39aedacdcb33be099b233958cbcd628e7f"}, "url": "/docs/compare/?release=11.15#11.15-854865b388e47380", "source_url": "/docs/release/11.15/#id-1.11.6.12.5"}, {"db_id": "9eaa9fbd5ed4610197b51967455521dd", "kind": "equivalent", "version": "10.20", "label": "10.20", "title": "Disallow ALTER TABLE ... DROP NOT NULL for a column that is part of a replica identity index", "evidence": {"same_day": true, "patch_ids": ["8ce3d69167095be8298b4c35c85b0c7c"], "statement_hash": "4e81aeacf9acb2dfc15765c6e413de39aedacdcb33be099b233958cbcd628e7f"}, "url": "/docs/compare/?release=10.20#10.20-854865b388e47380", "source_url": "/docs/release/10.20/#id-1.11.6.8.6"}]}, {"id": "14.2-b1ab44c4c9d5582f", "cves": [], "html": "<p>Correctly update cached table state during <code>ALTER TABLE ADD PRIMARY KEY USING INDEX</code> (Hou Zhijie) <a href=\"https://postgr.es/c/3839e29c5\">§</a></p>\n<p>Concurrent sessions failed to update their opinion of whether the table has a primary key, possibly causing incorrect logical replication behavior.</p>", "text": "Correctly update cached table state during ALTER TABLE ADD PRIMARY KEY USING INDEX (Hou Zhijie) § Concurrent sessions failed to update their opinion of whether the table has a primary key, possibly causing incorrect logical replication behavior.", "title": "Correctly update cached table state during ALTER TABLE ADD PRIMARY KEY USING INDEX", "commits": ["3839e29c5"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "4c7968f969d3f0f136d9d76827dc5d7aed53afb63e84a74bbda566b33f453ce7", "section_path": ["Changes"], "commit_groups": [["26c841ed1", "31b7b4d26", "3839e29c5", "d8fbbb925", "e2d53c876"]], "identity_text": "Correctly update cached table state during ALTER TABLE ADD PRIMARY KEY USING INDEX (Hou Zhijie) Concurrent sessions failed to update their opinion of whether the table has a primary key, possibly causing incorrect logical replication behavior.", "commit_aliases": ["26c841ed1", "31b7b4d26", "3839e29c5", "d8fbbb925", "e2d53c876"], "source_commits": ["3839e29c5"], "source_entry_id": "14.2/changes/025", "db_id": "bbc70a772e850789a40a9e845536dd33", "patch_ids": ["b069ef5a8af363aeb7334bca4cb37512"], "statement_hash": "338e1b83c9b06393a63836bc0c247e2f87ad740b9490f47d26ea9fae78bd078b", "relations": [{"rule": 2, "type": "equivalent", "target": "33d2c2207378dd4911a436a62f79868f", "evidence": {"same_day": true, "patch_ids": ["b069ef5a8af363aeb7334bca4cb37512"], "statement_hash": "338e1b83c9b06393a63836bc0c247e2f87ad740b9490f47d26ea9fae78bd078b"}}, {"rule": 2, "type": "equivalent", "target": "b10597301e7b6b307a774495aec8bfa1", "evidence": {"same_day": true, "patch_ids": ["b069ef5a8af363aeb7334bca4cb37512"], "statement_hash": "338e1b83c9b06393a63836bc0c247e2f87ad740b9490f47d26ea9fae78bd078b"}}, {"rule": 2, "type": "equivalent", "target": "ee83a3c90bd5821a07aec9e927c4abe7", "evidence": {"same_day": true, "patch_ids": ["b069ef5a8af363aeb7334bca4cb37512"], "statement_hash": "338e1b83c9b06393a63836bc0c247e2f87ad740b9490f47d26ea9fae78bd078b"}}], "version": "14.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "33d2c2207378dd4911a436a62f79868f", "kind": "equivalent", "version": "13.6", "label": "13.6", "title": "Correctly update cached table state during ALTER TABLE ADD PRIMARY KEY USING INDEX", "evidence": {"same_day": true, "patch_ids": ["b069ef5a8af363aeb7334bca4cb37512"], "statement_hash": "338e1b83c9b06393a63836bc0c247e2f87ad740b9490f47d26ea9fae78bd078b"}, "url": "/docs/compare/?release=13.6#13.6-8f2f9c0ca5d41c0d", "source_url": "/docs/release/13.6/#id-1.11.6.23.5"}, {"db_id": "b10597301e7b6b307a774495aec8bfa1", "kind": "equivalent", "version": "12.10", "label": "12.10", "title": "Correctly update cached table state during ALTER TABLE ADD PRIMARY KEY USING INDEX", "evidence": {"same_day": true, "patch_ids": ["b069ef5a8af363aeb7334bca4cb37512"], "statement_hash": "338e1b83c9b06393a63836bc0c247e2f87ad740b9490f47d26ea9fae78bd078b"}, "url": "/docs/compare/?release=12.10#12.10-4e74f878cc3bdc30", "source_url": "/docs/release/12.10/#id-1.11.6.18.5"}, {"db_id": "ee83a3c90bd5821a07aec9e927c4abe7", "kind": "equivalent", "version": "11.15", "label": "11.15", "title": "Correctly update cached table state during ALTER TABLE ADD PRIMARY KEY USING INDEX", "evidence": {"same_day": true, "patch_ids": ["b069ef5a8af363aeb7334bca4cb37512"], "statement_hash": "338e1b83c9b06393a63836bc0c247e2f87ad740b9490f47d26ea9fae78bd078b"}, "url": "/docs/compare/?release=11.15#11.15-794830563c9c7e17", "source_url": "/docs/release/11.15/#id-1.11.6.12.5"}]}, {"id": "14.2-9fa55932b4079ce8", "cves": [], "html": "<p>Correctly update cached table state when switching <code>REPLICA IDENTITY</code> index (Tang Haiying, Hou Zhijie) <a href=\"https://postgr.es/c/232fd72a5\">§</a></p>\n<p>Concurrent sessions failed to update their opinion of which index is the replica identity one, possibly causing incorrect logical replication behavior.</p>", "text": "Correctly update cached table state when switching REPLICA IDENTITY index (Tang Haiying, Hou Zhijie) § Concurrent sessions failed to update their opinion of which index is the replica identity one, possibly causing incorrect logical replication behavior.", "title": "Correctly update cached table state when switching REPLICA IDENTITY index", "commits": ["232fd72a5"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "6ef4853a20c5c29c4ad5abae8cab17fc7ecb57c4fc3f24cdf52fc989d38b48fc", "section_path": ["Changes"], "commit_groups": [["232fd72a5", "2c0443c59", "354a1f8d2", "40fb634b1", "63c3eeddc", "9816e2d31"]], "identity_text": "Correctly update cached table state when switching REPLICA IDENTITY index (Tang Haiying, Hou Zhijie) Concurrent sessions failed to update their opinion of which index is the replica identity one, possibly causing incorrect logical replication behavior.", "commit_aliases": ["232fd72a5", "2c0443c59", "354a1f8d2", "40fb634b1", "63c3eeddc", "9816e2d31"], "source_commits": ["232fd72a5"], "source_entry_id": "14.2/changes/026", "db_id": "89dc1b256f0afc6b089d9df3d3e49da9", "patch_ids": ["66a4d84663fcea7f4a9b64afb656ead7"], "statement_hash": "5d8be96469fe1f59e118d33405de8d34495cdb1fce9f191f32539ec074837ea2", "relations": [{"rule": 2, "type": "equivalent", "target": "1378be9dfccb87e7b66e69689632e51a", "evidence": {"same_day": true, "patch_ids": ["66a4d84663fcea7f4a9b64afb656ead7"], "statement_hash": "5d8be96469fe1f59e118d33405de8d34495cdb1fce9f191f32539ec074837ea2"}}, {"rule": 2, "type": "equivalent", "target": "5ca4aa0bffa31b14b99d6599b93b687f", "evidence": {"same_day": true, "patch_ids": ["66a4d84663fcea7f4a9b64afb656ead7"], "statement_hash": "5d8be96469fe1f59e118d33405de8d34495cdb1fce9f191f32539ec074837ea2"}}, {"rule": 2, "type": "equivalent", "target": "89e90ea19d0ee1afb4af7e14fd35cd0e", "evidence": {"same_day": true, "patch_ids": ["66a4d84663fcea7f4a9b64afb656ead7"], "statement_hash": "5d8be96469fe1f59e118d33405de8d34495cdb1fce9f191f32539ec074837ea2"}}, {"rule": 2, "type": "equivalent", "target": "c26f7b0856872c055b742650418ff302", "evidence": {"same_day": true, "patch_ids": ["66a4d84663fcea7f4a9b64afb656ead7"], "statement_hash": "5d8be96469fe1f59e118d33405de8d34495cdb1fce9f191f32539ec074837ea2"}}], "version": "14.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "1378be9dfccb87e7b66e69689632e51a", "kind": "equivalent", "version": "13.6", "label": "13.6", "title": "Correctly update cached table state when switching REPLICA IDENTITY index", "evidence": {"same_day": true, "patch_ids": ["66a4d84663fcea7f4a9b64afb656ead7"], "statement_hash": "5d8be96469fe1f59e118d33405de8d34495cdb1fce9f191f32539ec074837ea2"}, "url": "/docs/compare/?release=13.6#13.6-d6dfcaebb507fcdb", "source_url": "/docs/release/13.6/#id-1.11.6.23.5"}, {"db_id": "c26f7b0856872c055b742650418ff302", "kind": "equivalent", "version": "12.10", "label": "12.10", "title": "Correctly update cached table state when switching REPLICA IDENTITY index", "evidence": {"same_day": true, "patch_ids": ["66a4d84663fcea7f4a9b64afb656ead7"], "statement_hash": "5d8be96469fe1f59e118d33405de8d34495cdb1fce9f191f32539ec074837ea2"}, "url": "/docs/compare/?release=12.10#12.10-a7d2fe5ed2403fce", "source_url": "/docs/release/12.10/#id-1.11.6.18.5"}, {"db_id": "89e90ea19d0ee1afb4af7e14fd35cd0e", "kind": "equivalent", "version": "11.15", "label": "11.15", "title": "Correctly update cached table state when switching REPLICA IDENTITY index", "evidence": {"same_day": true, "patch_ids": ["66a4d84663fcea7f4a9b64afb656ead7"], "statement_hash": "5d8be96469fe1f59e118d33405de8d34495cdb1fce9f191f32539ec074837ea2"}, "url": "/docs/compare/?release=11.15#11.15-71a51f7e4e03e7a5", "source_url": "/docs/release/11.15/#id-1.11.6.12.5"}, {"db_id": "5ca4aa0bffa31b14b99d6599b93b687f", "kind": "equivalent", "version": "10.20", "label": "10.20", "title": "Correctly update cached table state when switching REPLICA IDENTITY index", "evidence": {"same_day": true, "patch_ids": ["66a4d84663fcea7f4a9b64afb656ead7"], "statement_hash": "5d8be96469fe1f59e118d33405de8d34495cdb1fce9f191f32539ec074837ea2"}, "url": "/docs/compare/?release=10.20#10.20-71a51f7e4e03e7a5", "source_url": "/docs/release/10.20/#id-1.11.6.8.6"}]}, {"id": "14.2-fa31186b9e9f8ab2", "cves": [], "html": "<p>Fix failure of SP-GiST indexes when the indexed column's data type is binary-compatible with the declared input type of the operator class (Tom Lane) <a href=\"https://postgr.es/c/6d07cbc50\">§</a></p>\n<p>Such cases should work, but failed with <span>“<span>compress method must be defined when leaf type is different from input type</span>”</span>.</p>", "text": "Fix failure of SP-GiST indexes when the indexed column's data type is binary-compatible with the declared input type of the operator class (Tom Lane) § Such cases should work, but failed with “compress method must be defined when leaf type is different from input type”.", "title": "Fix failure of SP-GiST indexes when the indexed column's data type is binary-compatible with the declared input type of the operator class", "commits": ["6d07cbc50"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "1eb4452f8a1dd12a8fa8ba9e07ef8e7d06f5e338cd421859cfe83fa4a041dbe5", "section_path": ["Changes"], "commit_groups": [["6d07cbc50", "f4e7ae2b8"]], "identity_text": "Fix failure of SP-GiST indexes when the indexed column's data type is binary-compatible with the declared input type of the operator class (Tom Lane) Such cases should work, but failed with compress method must be defined when leaf type is different from input type.", "commit_aliases": ["6d07cbc50", "f4e7ae2b8"], "source_commits": ["6d07cbc50"], "source_entry_id": "14.2/changes/027", "db_id": "6b9fac743cc050ee537ef110ef6272cf", "patch_ids": ["b89a0ed7de8b2869bd26efabb9e29634"], "statement_hash": "97083442364d319f6ffbec0667cd627459c1dd6058f44614f264d8a8b8fa475c", "relations": [], "version": "14.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.2-a27219f4a40721b9", "cves": [], "html": "<p>Allow parallel vacuuming and concurrent index building to be ignored while computing oldest xmin (Masahiko Sawada) <a href=\"https://postgr.es/c/ead49ebc0\">§</a></p>\n<p>Non-parallelized instances of these operations were already ignored, but the logic did not work for parallelized cases. Holding back the xmin horizon has undesirable effects such as delaying vacuum cleanup.</p>", "text": "Allow parallel vacuuming and concurrent index building to be ignored while computing oldest xmin (Masahiko Sawada) § Non-parallelized instances of these operations were already ignored, but the logic did not work for parallelized cases. Holding back the xmin horizon has undesirable effects such as delaying vacuum cleanup.", "title": "Allow parallel vacuuming and concurrent index building to be ignored while computing oldest xmin", "commits": ["ead49ebc0"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "1332714243258b98c83c6595dcb99bff202337e06680dbffca490cc72ee716d4", "section_path": ["Changes"], "commit_groups": [["0f0cfb494", "33b6dd83e", "ead49ebc0"]], "identity_text": "Allow parallel vacuuming and concurrent index building to be ignored while computing oldest xmin (Masahiko Sawada) Non-parallelized instances of these operations were already ignored, but the logic did not work for parallelized cases. Holding back the xmin horizon has undesirable effects such as delaying vacuum cleanup.", "commit_aliases": ["0f0cfb494", "33b6dd83e", "ead49ebc0"], "source_commits": ["ead49ebc0"], "source_entry_id": "14.2/changes/028", "db_id": "bf53f775e66f84a5217eb425e780022d", "patch_ids": ["7d6c3a1dde333ea48f95d2f5916dd490"], "statement_hash": "92ee98bf387938a1d829c56c8c187d61837812d938be5b62c94f0905968cfe99", "relations": [{"rule": 2, "type": "equivalent", "target": "cf80364adfbefce8005c16b30e3e8f05", "evidence": {"same_day": true, "patch_ids": ["7d6c3a1dde333ea48f95d2f5916dd490"], "statement_hash": "92ee98bf387938a1d829c56c8c187d61837812d938be5b62c94f0905968cfe99"}}], "version": "14.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "cf80364adfbefce8005c16b30e3e8f05", "kind": "equivalent", "version": "13.6", "label": "13.6", "title": "Allow parallel vacuuming and concurrent index building to be ignored while computing oldest xmin", "evidence": {"same_day": true, "patch_ids": ["7d6c3a1dde333ea48f95d2f5916dd490"], "statement_hash": "92ee98bf387938a1d829c56c8c187d61837812d938be5b62c94f0905968cfe99"}, "url": "/docs/compare/?release=13.6#13.6-981090259f958991", "source_url": "/docs/release/13.6/#id-1.11.6.23.5"}]}, {"id": "14.2-29d7f493d475cd86", "cves": [], "html": "<p>Fix memory leak when updating expression indexes (Peter Geoghegan) <a href=\"https://postgr.es/c/41ee68a91\">§</a></p>\n<p>An <code>UPDATE</code> affecting many rows could consume significant amounts of memory.</p>", "text": "Fix memory leak when updating expression indexes (Peter Geoghegan) § An UPDATE affecting many rows could consume significant amounts of memory.", "title": "Fix memory leak when updating expression indexes", "commits": ["41ee68a91"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "b96db4d0cde1ba6c490e2b320792d83301bff26290077b3671771468b03f0f2e", "section_path": ["Changes"], "commit_groups": [["41ee68a91", "db6736c93"]], "identity_text": "Fix memory leak when updating expression indexes (Peter Geoghegan) An UPDATE affecting many rows could consume significant amounts of memory.", "commit_aliases": ["41ee68a91", "db6736c93"], "source_commits": ["41ee68a91"], "source_entry_id": "14.2/changes/029", "db_id": "680aa83bd93dc12091382b9ac452f3d8", "patch_ids": ["ce9780a6769b19c0793312539a10a571"], "statement_hash": "3093aa10585afd5112e94bddf715af3c0f27b7934c0c8d3e8c77078e0f92b1eb", "relations": [], "version": "14.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.2-098d2ff1710ec9e2", "cves": [], "html": "<p>Avoid leaking memory during <code>REASSIGN OWNED BY</code> operations that reassign ownership of many objects (Justin Pryzby) <a href=\"https://postgr.es/c/8f4b0200e\">§</a></p>", "text": "Avoid leaking memory during REASSIGN OWNED BY operations that reassign ownership of many objects (Justin Pryzby) §", "title": "Avoid leaking memory during REASSIGN OWNED BY operations that reassign ownership of many objects", "commits": ["8f4b0200e"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "89a264d8d53acaa0eb4a57349b143573f7470a732be09d08a7a7b20ae95d84fb", "section_path": ["Changes"], "commit_groups": [["5cf08b4db", "7413caabe", "82d354411", "8f4b0200e", "babe545ca", "fec187dc3"]], "identity_text": "Avoid leaking memory during REASSIGN OWNED BY operations that reassign ownership of many objects (Justin Pryzby)", "commit_aliases": ["5cf08b4db", "7413caabe", "82d354411", "8f4b0200e", "babe545ca", "fec187dc3"], "source_commits": ["8f4b0200e"], "source_entry_id": "14.2/changes/030", "db_id": "7f3d22b6629a39b9172eca6526953aef", "patch_ids": ["37389d29cbd3332b5562ed64a2d78fad"], "statement_hash": "cf5649ab73e8296f37f54dcc6c9210fd47af428027f5831aa1dbd646abaa2c7f", "relations": [{"rule": 2, "type": "equivalent", "target": "04c3a7cb22b7842a8e07d9fb7a917abf", "evidence": {"same_day": true, "patch_ids": ["37389d29cbd3332b5562ed64a2d78fad"], "statement_hash": "cf5649ab73e8296f37f54dcc6c9210fd47af428027f5831aa1dbd646abaa2c7f"}}, {"rule": 2, "type": "equivalent", "target": "35401e367b3f1e8d809c1c90d1850958", "evidence": {"same_day": true, "patch_ids": ["37389d29cbd3332b5562ed64a2d78fad"], "statement_hash": "cf5649ab73e8296f37f54dcc6c9210fd47af428027f5831aa1dbd646abaa2c7f"}}, {"rule": 2, "type": "equivalent", "target": "a71f47eb94e35b9d5bd1b645de958939", "evidence": {"same_day": true, "patch_ids": ["37389d29cbd3332b5562ed64a2d78fad"], "statement_hash": "cf5649ab73e8296f37f54dcc6c9210fd47af428027f5831aa1dbd646abaa2c7f"}}, {"rule": 2, "type": "equivalent", "target": "ebb581903026a2135d7e0b955f76b9cb", "evidence": {"same_day": true, "patch_ids": ["37389d29cbd3332b5562ed64a2d78fad"], "statement_hash": "cf5649ab73e8296f37f54dcc6c9210fd47af428027f5831aa1dbd646abaa2c7f"}}], "version": "14.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "ebb581903026a2135d7e0b955f76b9cb", "kind": "equivalent", "version": "13.6", "label": "13.6", "title": "Avoid leaking memory during REASSIGN OWNED BY operations that reassign ownership of many objects", "evidence": {"same_day": true, "patch_ids": ["37389d29cbd3332b5562ed64a2d78fad"], "statement_hash": "cf5649ab73e8296f37f54dcc6c9210fd47af428027f5831aa1dbd646abaa2c7f"}, "url": "/docs/compare/?release=13.6#13.6-d8e25c1e6729d2cb", "source_url": "/docs/release/13.6/#id-1.11.6.23.5"}, {"db_id": "35401e367b3f1e8d809c1c90d1850958", "kind": "equivalent", "version": "12.10", "label": "12.10", "title": "Avoid leaking memory during REASSIGN OWNED BY operations that reassign ownership of many objects", "evidence": {"same_day": true, "patch_ids": ["37389d29cbd3332b5562ed64a2d78fad"], "statement_hash": "cf5649ab73e8296f37f54dcc6c9210fd47af428027f5831aa1dbd646abaa2c7f"}, "url": "/docs/compare/?release=12.10#12.10-307c8b4270f1f3c5", "source_url": "/docs/release/12.10/#id-1.11.6.18.5"}, {"db_id": "04c3a7cb22b7842a8e07d9fb7a917abf", "kind": "equivalent", "version": "11.15", "label": "11.15", "title": "Avoid leaking memory during REASSIGN OWNED BY operations that reassign ownership of many objects", "evidence": {"same_day": true, "patch_ids": ["37389d29cbd3332b5562ed64a2d78fad"], "statement_hash": "cf5649ab73e8296f37f54dcc6c9210fd47af428027f5831aa1dbd646abaa2c7f"}, "url": "/docs/compare/?release=11.15#11.15-737b37fb803c3b27", "source_url": "/docs/release/11.15/#id-1.11.6.12.5"}, {"db_id": "a71f47eb94e35b9d5bd1b645de958939", "kind": "equivalent", "version": "10.20", "label": "10.20", "title": "Avoid leaking memory during REASSIGN OWNED BY operations that reassign ownership of many objects", "evidence": {"same_day": true, "patch_ids": ["37389d29cbd3332b5562ed64a2d78fad"], "statement_hash": "cf5649ab73e8296f37f54dcc6c9210fd47af428027f5831aa1dbd646abaa2c7f"}, "url": "/docs/compare/?release=10.20#10.20-737b37fb803c3b27", "source_url": "/docs/release/10.20/#id-1.11.6.8.6"}]}, {"id": "14.2-bc5ed175d640f687", "cves": [], "html": "<p>Improve performance of walsenders sending logical changes by avoiding unnecessary cache accesses (Hou Zhijie) <a href=\"https://postgr.es/c/5ddfebded\">§</a></p>", "text": "Improve performance of walsenders sending logical changes by avoiding unnecessary cache accesses (Hou Zhijie) §", "title": "Improve performance of walsenders sending logical changes by avoiding unnecessary cache accesses", "commits": ["5ddfebded"], "section": "Changes", "category": "performance", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "b99edad2d186f746e6a5adef08749dd29c7d07347ee5316e886419b9a83fe726", "section_path": ["Changes"], "commit_groups": [["3f8062bcf", "5ddfebded", "6ce16088b"]], "identity_text": "Improve performance of walsenders sending logical changes by avoiding unnecessary cache accesses (Hou Zhijie)", "commit_aliases": ["3f8062bcf", "5ddfebded", "6ce16088b"], "source_commits": ["5ddfebded"], "source_entry_id": "14.2/changes/031", "db_id": "5fb3241febc54b7fbdea35be110fe0cf", "patch_ids": ["9d30157eb5233b8c1cf4e0782f26e442"], "statement_hash": "09ad0bae47f178c25480c676d4ff03cd346887f3d62d5c9e58577e980bcdf263", "relations": [{"rule": 2, "type": "equivalent", "target": "4528c188b40734429a65e9d662abefc3", "evidence": {"same_day": true, "patch_ids": ["9d30157eb5233b8c1cf4e0782f26e442"], "statement_hash": "09ad0bae47f178c25480c676d4ff03cd346887f3d62d5c9e58577e980bcdf263"}}], "version": "14.2", "category_label": "Performance", "also_in": [], "variants": [], "related_changes": [{"db_id": "4528c188b40734429a65e9d662abefc3", "kind": "equivalent", "version": "13.6", "label": "13.6", "title": "Improve performance of walsenders sending logical changes by avoiding unnecessary cache accesses", "evidence": {"same_day": true, "patch_ids": ["9d30157eb5233b8c1cf4e0782f26e442"], "statement_hash": "09ad0bae47f178c25480c676d4ff03cd346887f3d62d5c9e58577e980bcdf263"}, "url": "/docs/compare/?release=13.6#13.6-0e29ddd86a4272b8", "source_url": "/docs/release/13.6/#id-1.11.6.23.5"}]}, {"id": "14.2-4759cdf137658e48", "cves": [], "html": "<p>Fix display of <code>cert</code> authentication method's options in <code>pg_hba_file_rules</code> view (Magnus Hagander) <a href=\"https://postgr.es/c/4afae689e\">§</a></p>\n<p>The <code>cert</code> authentication method implies <code>clientcert=verify-full</code>, but the <code>pg_hba_file_rules</code> view incorrectly reported <code>clientcert=verify-ca</code>.</p>", "text": "Fix display of cert authentication method's options in pg_hba_file_rules view (Magnus Hagander) § The cert authentication method implies clientcert=verify-full, but the pg_hba_file_rules view incorrectly reported clientcert=verify-ca.", "title": "Fix display of cert authentication method's options in pg_hba_file_rules view", "commits": ["4afae689e"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "78636d2d0f41ba61bc69b931d725a1b30c225b6b7ae99b7e18c59f9787d3c95b", "section_path": ["Changes"], "commit_groups": [["2dbb7b9b2", "4afae689e", "81596645c", "aa58f5c53"]], "identity_text": "Fix display of cert authentication method's options in pg_hba_file_rules view (Magnus Hagander) The cert authentication method implies clientcert=verify-full, but the pg_hba_file_rules view incorrectly reported clientcert=verify-ca.", "commit_aliases": ["2dbb7b9b2", "4afae689e", "81596645c", "aa58f5c53"], "source_commits": ["4afae689e"], "source_entry_id": "14.2/changes/032", "db_id": "de2a37cfaf7693a2ca35954a405e0e43", "patch_ids": ["277e49b1146ad9de62d8e20d8404efcc"], "statement_hash": "f01402e8387a41c92bfbdab95e1e6385eeec12d9e5a7a1734d02cef3311e6b72", "relations": [{"rule": 2, "type": "equivalent", "target": "0494caa8b67faac19416909df0e298bf", "evidence": {"same_day": true, "patch_ids": ["277e49b1146ad9de62d8e20d8404efcc"], "statement_hash": "f01402e8387a41c92bfbdab95e1e6385eeec12d9e5a7a1734d02cef3311e6b72"}}, {"rule": 2, "type": "equivalent", "target": "7e739464a36d8d715cf609e7ea2647b9", "evidence": {"same_day": true, "patch_ids": ["277e49b1146ad9de62d8e20d8404efcc"], "statement_hash": "f01402e8387a41c92bfbdab95e1e6385eeec12d9e5a7a1734d02cef3311e6b72"}}], "version": "14.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "0494caa8b67faac19416909df0e298bf", "kind": "equivalent", "version": "13.6", "label": "13.6", "title": "Fix display of cert authentication method's options in pg_hba_file_rules view", "evidence": {"same_day": true, "patch_ids": ["277e49b1146ad9de62d8e20d8404efcc"], "statement_hash": "f01402e8387a41c92bfbdab95e1e6385eeec12d9e5a7a1734d02cef3311e6b72"}, "url": "/docs/compare/?release=13.6#13.6-145e50957d691dec", "source_url": "/docs/release/13.6/#id-1.11.6.23.5"}, {"db_id": "7e739464a36d8d715cf609e7ea2647b9", "kind": "equivalent", "version": "12.10", "label": "12.10", "title": "Fix display of cert authentication method's options in pg_hba_file_rules view", "evidence": {"same_day": true, "patch_ids": ["277e49b1146ad9de62d8e20d8404efcc"], "statement_hash": "f01402e8387a41c92bfbdab95e1e6385eeec12d9e5a7a1734d02cef3311e6b72"}, "url": "/docs/compare/?release=12.10#12.10-9cc0c57318742d27", "source_url": "/docs/release/12.10/#id-1.11.6.18.5"}]}, {"id": "14.2-14158083fdab0181", "cves": [], "html": "<p>Ensure that the session targeted by <code>pg_log_backend_memory_contexts()</code> sends its results only to the server's log (Fujii Masao) <a href=\"https://postgr.es/c/6e7ee55e7\">§</a></p>\n<p>Previously, a sufficiently high setting of <code>client_min_messages</code> could result in the log message also being sent to the connected client. Since that client hadn't requested it, that would be surprising (and possibly a wire protocol violation).</p>", "text": "Ensure that the session targeted by pg_log_backend_memory_contexts() sends its results only to the server's log (Fujii Masao) § Previously, a sufficiently high setting of client_min_messages could result in the log message also being sent to the connected client. Since that client hadn't requested it, that would be surprising (and possibly a wire protocol violation).", "title": "Ensure that the session targeted by pg_log_backend_memory_contexts() sends its results only to the server's log", "commits": ["6e7ee55e7"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "04091c7d2bba22d11bad786844348e38031dc88033051235324873537d43e438", "section_path": ["Changes"], "commit_groups": [["108505d76", "6e7ee55e7"]], "identity_text": "Ensure that the session targeted by pg_log_backend_memory_contexts() sends its results only to the server's log (Fujii Masao) Previously, a sufficiently high setting of client_min_messages could result in the log message also being sent to the connected client. Since that client hadn't requested it, that would be surprising (and possibly a wire protocol violation).", "commit_aliases": ["108505d76", "6e7ee55e7"], "source_commits": ["6e7ee55e7"], "source_entry_id": "14.2/changes/033", "db_id": "83f383cf029492283e462e9f80a87b76", "patch_ids": ["1c47257b01c6994d916b08b3f5d0cfa1"], "statement_hash": "b9a39704669bf18d14425b5c8d77143e5e29c2a67bd33bbe6e833f9e1a34de26", "relations": [], "version": "14.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.2-02b98708eeb2cb49", "cves": [], "html": "<p>Fix display of whole-row variables appearing in <code>INSERT ... VALUES</code> rules (Tom Lane) <a href=\"https://postgr.es/c/4aee39ddb\">§</a></p>\n<p>A whole-row variable would be printed as <span>“<span>var.*</span>”</span>, but that allows it to be expanded to individual columns when the rule is reloaded, resulting in different semantics. Attach an explicit cast to prevent that, as we do elsewhere.</p>", "text": "Fix display of whole-row variables appearing in INSERT ... VALUES rules (Tom Lane) § A whole-row variable would be printed as “var.*”, but that allows it to be expanded to individual columns when the rule is reloaded, resulting in different semantics. Attach an explicit cast to prevent that, as we do elsewhere.", "title": "Fix display of whole-row variables appearing in INSERT ... VALUES rules", "commits": ["4aee39ddb"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "af2895ef2ba33ae5798fdcaf9306c948f7756d5aecc9010aec87f9f4593dbe70", "section_path": ["Changes"], "commit_groups": [["3433a1fc7", "3a1bfe256", "43c217512", "45a3cefad", "4aee39ddb", "ca14c4184"]], "identity_text": "Fix display of whole-row variables appearing in INSERT ... VALUES rules (Tom Lane) A whole-row variable would be printed as var.*, but that allows it to be expanded to individual columns when the rule is reloaded, resulting in different semantics. Attach an explicit cast to prevent that, as we do elsewhere.", "commit_aliases": ["3433a1fc7", "3a1bfe256", "43c217512", "45a3cefad", "4aee39ddb", "ca14c4184"], "source_commits": ["4aee39ddb"], "source_entry_id": "14.2/changes/034", "db_id": "06ea6dd217acc1044df7252b3c6403d8", "patch_ids": ["10016c48c392ca321ec7b0ec029262f0"], "statement_hash": "051f78aa8f1b46e7fd1cb6cabb206923a29fae04d79d5064034cd5ebb5a5e739", "relations": [{"rule": 2, "type": "equivalent", "target": "030ecea9b763ff7e1be818ec5f1af00a", "evidence": {"same_day": true, "patch_ids": ["10016c48c392ca321ec7b0ec029262f0"], "statement_hash": "051f78aa8f1b46e7fd1cb6cabb206923a29fae04d79d5064034cd5ebb5a5e739"}}, {"rule": 2, "type": "equivalent", "target": "8e41418d131a080ea708bdb94388136b", "evidence": {"same_day": true, "patch_ids": ["10016c48c392ca321ec7b0ec029262f0"], "statement_hash": "051f78aa8f1b46e7fd1cb6cabb206923a29fae04d79d5064034cd5ebb5a5e739"}}, {"rule": 2, "type": "equivalent", "target": "92aa437edd4a51d207d7c4fffd579af6", "evidence": {"same_day": true, "patch_ids": ["10016c48c392ca321ec7b0ec029262f0"], "statement_hash": "051f78aa8f1b46e7fd1cb6cabb206923a29fae04d79d5064034cd5ebb5a5e739"}}, {"rule": 2, "type": "equivalent", "target": "c630bddef5091737f500382c58d35124", "evidence": {"same_day": true, "patch_ids": ["10016c48c392ca321ec7b0ec029262f0"], "statement_hash": "051f78aa8f1b46e7fd1cb6cabb206923a29fae04d79d5064034cd5ebb5a5e739"}}], "version": "14.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "92aa437edd4a51d207d7c4fffd579af6", "kind": "equivalent", "version": "13.6", "label": "13.6", "title": "Fix display of whole-row variables appearing in INSERT ... VALUES rules", "evidence": {"same_day": true, "patch_ids": ["10016c48c392ca321ec7b0ec029262f0"], "statement_hash": "051f78aa8f1b46e7fd1cb6cabb206923a29fae04d79d5064034cd5ebb5a5e739"}, "url": "/docs/compare/?release=13.6#13.6-45c4efa4c459cb98", "source_url": "/docs/release/13.6/#id-1.11.6.23.5"}, {"db_id": "030ecea9b763ff7e1be818ec5f1af00a", "kind": "equivalent", "version": "12.10", "label": "12.10", "title": "Fix display of whole-row variables appearing in INSERT ... VALUES rules", "evidence": {"same_day": true, "patch_ids": ["10016c48c392ca321ec7b0ec029262f0"], "statement_hash": "051f78aa8f1b46e7fd1cb6cabb206923a29fae04d79d5064034cd5ebb5a5e739"}, "url": "/docs/compare/?release=12.10#12.10-4e8531d8724e4c1f", "source_url": "/docs/release/12.10/#id-1.11.6.18.5"}, {"db_id": "8e41418d131a080ea708bdb94388136b", "kind": "equivalent", "version": "11.15", "label": "11.15", "title": "Fix display of whole-row variables appearing in INSERT ... VALUES rules", "evidence": {"same_day": true, "patch_ids": ["10016c48c392ca321ec7b0ec029262f0"], "statement_hash": "051f78aa8f1b46e7fd1cb6cabb206923a29fae04d79d5064034cd5ebb5a5e739"}, "url": "/docs/compare/?release=11.15#11.15-e1a5dd851c6e2568", "source_url": "/docs/release/11.15/#id-1.11.6.12.5"}, {"db_id": "c630bddef5091737f500382c58d35124", "kind": "equivalent", "version": "10.20", "label": "10.20", "title": "Fix display of whole-row variables appearing in INSERT ... VALUES rules", "evidence": {"same_day": true, "patch_ids": ["10016c48c392ca321ec7b0ec029262f0"], "statement_hash": "051f78aa8f1b46e7fd1cb6cabb206923a29fae04d79d5064034cd5ebb5a5e739"}, "url": "/docs/compare/?release=10.20#10.20-e1a5dd851c6e2568", "source_url": "/docs/release/10.20/#id-1.11.6.8.6"}]}, {"id": "14.2-44049aa235e3c71f", "cves": [], "html": "<p>When reverse-listing a SQL-standard function body, display function parameters appropriately within <code>INSERT ... SELECT</code> (Tom Lane) <a href=\"https://postgr.es/c/5d5779aea\">§</a></p>\n<p>Previously, they'd come out as <code>$<em><code>N</code></em></code> even when the parameter had a name.</p>", "text": "When reverse-listing a SQL-standard function body, display function parameters appropriately within INSERT ... SELECT (Tom Lane) § Previously, they'd come out as $N even when the parameter had a name.", "title": "When reverse-listing a SQL-standard function body, display function parameters appropriately within INSERT ... SELECT", "commits": ["5d5779aea"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "b55409253d471dc60a7c9b96d1fb34628432e26ff182bfc32f0d5bf7ac1ccde4", "section_path": ["Changes"], "commit_groups": [["5d5779aea", "a8d8445a7"]], "identity_text": "When reverse-listing a SQL-standard function body, display function parameters appropriately within INSERT ... SELECT (Tom Lane) Previously, they'd come out as $N even when the parameter had a name.", "commit_aliases": ["5d5779aea", "a8d8445a7"], "source_commits": ["5d5779aea"], "source_entry_id": "14.2/changes/035", "db_id": "0d821735259be030cbed8a24a2395f69", "patch_ids": ["46de0418be68993d988762e59766315a"], "statement_hash": "99a3bdad89f672bdec3d4c46672acf7f78b54eeb26da3d07c9ff6ff43fb20279", "relations": [], "version": "14.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.2-f8cb3da168dbddd6", "cves": [], "html": "<p>Fix one-byte buffer overrun when applying Unicode string normalization to an empty string (Michael Paquier) <a href=\"https://postgr.es/c/b609db715\">§</a></p>\n<p>The practical impact of this is limited thanks to alignment considerations; but in debug builds, a warning was raised.</p>", "text": "Fix one-byte buffer overrun when applying Unicode string normalization to an empty string (Michael Paquier) § The practical impact of this is limited thanks to alignment considerations; but in debug builds, a warning was raised.", "title": "Fix one-byte buffer overrun when applying Unicode string normalization to an empty string", "commits": ["b609db715"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "ee69cbf13f09ad6fa59154dafa9fef3d9ab7f59374e7e2bee5d7d256a7ef7be6", "section_path": ["Changes"], "commit_groups": [["098c13455", "13c8adf90", "b609db715"]], "identity_text": "Fix one-byte buffer overrun when applying Unicode string normalization to an empty string (Michael Paquier) The practical impact of this is limited thanks to alignment considerations; but in debug builds, a warning was raised.", "commit_aliases": ["098c13455", "13c8adf90", "b609db715"], "source_commits": ["b609db715"], "source_entry_id": "14.2/changes/036", "db_id": "60fa7fbad5785710ef8c0faced143832", "patch_ids": ["f2655a0a41a65d6337258763938c25f7"], "statement_hash": "46585fc44a10727d2b01cab246424b2f67c24c4e35b8a865a8e2931f2d6e4f60", "relations": [{"rule": 2, "type": "equivalent", "target": "b4bbc248627debb045e263c05e34b4fb", "evidence": {"same_day": true, "patch_ids": ["f2655a0a41a65d6337258763938c25f7"], "statement_hash": "46585fc44a10727d2b01cab246424b2f67c24c4e35b8a865a8e2931f2d6e4f60"}}], "version": "14.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "b4bbc248627debb045e263c05e34b4fb", "kind": "equivalent", "version": "13.6", "label": "13.6", "title": "Fix one-byte buffer overrun when applying Unicode string normalization to an empty string", "evidence": {"same_day": true, "patch_ids": ["f2655a0a41a65d6337258763938c25f7"], "statement_hash": "46585fc44a10727d2b01cab246424b2f67c24c4e35b8a865a8e2931f2d6e4f60"}, "url": "/docs/compare/?release=13.6#13.6-77126c54381e6a63", "source_url": "/docs/release/13.6/#id-1.11.6.23.5"}]}, {"id": "14.2-32f44551b75f3534", "cves": [], "html": "<p>Fix or remove some incorrect assertions (Simon Riggs, Michael Paquier, Alexander Lakhin) <a href=\"https://postgr.es/c/f185f35a8\">§</a> <a href=\"https://postgr.es/c/f9db153c2\">§</a> <a href=\"https://postgr.es/c/8a22a40b2\">§</a> <a href=\"https://postgr.es/c/4be3e005e\">§</a></p>\n<p>These errors should affect only debug builds, not production.</p>", "text": "Fix or remove some incorrect assertions (Simon Riggs, Michael Paquier, Alexander Lakhin) § § § § These errors should affect only debug builds, not production.", "title": "Fix or remove some incorrect assertions", "commits": ["4be3e005e", "8a22a40b2", "f185f35a8", "f9db153c2"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "2a280bf1a2ea967f1d499023099b91f53eef9a06b2207b2edc6a08c5ad0a6ca1", "section_path": ["Changes"], "commit_groups": [["026a93727", "28cd57416", "29f9fb8fe", "6b681cd05", "f185f35a8", "f66885bec"], ["2e577c944", "8a22a40b2"], ["33fdd9f85", "397b43948", "4a8282425", "67a8cb5cb", "b63851a45", "f9db153c2"], ["3f710fc2b", "4be3e005e", "65af1e842", "8abb6c27e", "ece8c7619"]], "identity_text": "Fix or remove some incorrect assertions (Simon Riggs, Michael Paquier, Alexander Lakhin) These errors should affect only debug builds, not production.", "commit_aliases": ["026a93727", "28cd57416", "29f9fb8fe", "2e577c944", "33fdd9f85", "397b43948", "3f710fc2b", "4a8282425", "4be3e005e", "65af1e842", "67a8cb5cb", "6b681cd05", "8a22a40b2", "8abb6c27e", "b63851a45", "ece8c7619", "f185f35a8", "f66885bec", "f9db153c2"], "source_commits": ["4be3e005e", "8a22a40b2", "f185f35a8", "f9db153c2"], "source_entry_id": "14.2/changes/037", "db_id": "caa33f6dfae24228955cb4409f9591f8", "patch_ids": ["e3a133f8f71a03785c4daec0b2078bba", "ea3bafa68b1c79d6d628ba9113e4c613", "f30cc8f3d5c4b1d61aeed19029a3e19a", "f898984782ea530315bc420e7ae60fa4"], "statement_hash": "269e94682c47bf30c4ced2e5004361ae311cc5a2c8392c1cd86643397769cfb3", "relations": [{"rule": 2, "type": "equivalent", "target": "3fc6cd941e93a9bfb1e5d292cd017484", "evidence": {"same_day": true, "patch_ids": ["e3a133f8f71a03785c4daec0b2078bba", "ea3bafa68b1c79d6d628ba9113e4c613", "f30cc8f3d5c4b1d61aeed19029a3e19a", "f898984782ea530315bc420e7ae60fa4"], "statement_hash": "269e94682c47bf30c4ced2e5004361ae311cc5a2c8392c1cd86643397769cfb3"}}, {"rule": 2, "type": "equivalent", "target": "6b0f11f753b770ec01c92dc5192e219e", "evidence": {"same_day": true, "patch_ids": ["e3a133f8f71a03785c4daec0b2078bba", "ea3bafa68b1c79d6d628ba9113e4c613", "f30cc8f3d5c4b1d61aeed19029a3e19a", "f898984782ea530315bc420e7ae60fa4"], "statement_hash": "269e94682c47bf30c4ced2e5004361ae311cc5a2c8392c1cd86643397769cfb3"}}, {"rule": 2, "type": "equivalent", "target": "8acbefd35a3150a6fd49ba21ea43a2c9", "evidence": {"same_day": true, "patch_ids": ["e3a133f8f71a03785c4daec0b2078bba", "ea3bafa68b1c79d6d628ba9113e4c613", "f30cc8f3d5c4b1d61aeed19029a3e19a", "f898984782ea530315bc420e7ae60fa4"], "statement_hash": "269e94682c47bf30c4ced2e5004361ae311cc5a2c8392c1cd86643397769cfb3"}}, {"rule": 2, "type": "equivalent", "target": "f96e8261510301b7e6b4e596429c3f48", "evidence": {"same_day": true, "patch_ids": ["e3a133f8f71a03785c4daec0b2078bba", "ea3bafa68b1c79d6d628ba9113e4c613", "f30cc8f3d5c4b1d61aeed19029a3e19a", "f898984782ea530315bc420e7ae60fa4"], "statement_hash": "269e94682c47bf30c4ced2e5004361ae311cc5a2c8392c1cd86643397769cfb3"}}], "version": "14.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "f96e8261510301b7e6b4e596429c3f48", "kind": "equivalent", "version": "13.6", "label": "13.6", "title": "Fix or remove some incorrect assertions", "evidence": {"same_day": true, "patch_ids": ["e3a133f8f71a03785c4daec0b2078bba", "ea3bafa68b1c79d6d628ba9113e4c613", "f30cc8f3d5c4b1d61aeed19029a3e19a", "f898984782ea530315bc420e7ae60fa4"], "statement_hash": "269e94682c47bf30c4ced2e5004361ae311cc5a2c8392c1cd86643397769cfb3"}, "url": "/docs/compare/?release=13.6#13.6-3b40b4cf01d04af2", "source_url": "/docs/release/13.6/#id-1.11.6.23.5"}, {"db_id": "3fc6cd941e93a9bfb1e5d292cd017484", "kind": "equivalent", "version": "12.10", "label": "12.10", "title": "Fix or remove some incorrect assertions", "evidence": {"same_day": true, "patch_ids": ["e3a133f8f71a03785c4daec0b2078bba", "ea3bafa68b1c79d6d628ba9113e4c613", "f30cc8f3d5c4b1d61aeed19029a3e19a", "f898984782ea530315bc420e7ae60fa4"], "statement_hash": "269e94682c47bf30c4ced2e5004361ae311cc5a2c8392c1cd86643397769cfb3"}, "url": "/docs/compare/?release=12.10#12.10-c95981fc934469d5", "source_url": "/docs/release/12.10/#id-1.11.6.18.5"}, {"db_id": "6b0f11f753b770ec01c92dc5192e219e", "kind": "equivalent", "version": "11.15", "label": "11.15", "title": "Fix or remove some incorrect assertions", "evidence": {"same_day": true, "patch_ids": ["e3a133f8f71a03785c4daec0b2078bba", "ea3bafa68b1c79d6d628ba9113e4c613", "f30cc8f3d5c4b1d61aeed19029a3e19a", "f898984782ea530315bc420e7ae60fa4"], "statement_hash": "269e94682c47bf30c4ced2e5004361ae311cc5a2c8392c1cd86643397769cfb3"}, "url": "/docs/compare/?release=11.15#11.15-f634067401d02e9e", "source_url": "/docs/release/11.15/#id-1.11.6.12.5"}, {"db_id": "8acbefd35a3150a6fd49ba21ea43a2c9", "kind": "equivalent", "version": "10.20", "label": "10.20", "title": "Fix or remove some incorrect assertions", "evidence": {"same_day": true, "patch_ids": ["e3a133f8f71a03785c4daec0b2078bba", "ea3bafa68b1c79d6d628ba9113e4c613", "f30cc8f3d5c4b1d61aeed19029a3e19a", "f898984782ea530315bc420e7ae60fa4"], "statement_hash": "269e94682c47bf30c4ced2e5004361ae311cc5a2c8392c1cd86643397769cfb3"}, "url": "/docs/compare/?release=10.20#10.20-f634067401d02e9e", "source_url": "/docs/release/10.20/#id-1.11.6.8.6"}]}, {"id": "14.2-31af7e967c9886de", "cves": [], "html": "<p>Fix race condition that could lead to failure to localize error messages that are reported early in multi-threaded use of <span>libpq</span> or <span>ecpglib</span> (Tom Lane) <a href=\"https://postgr.es/c/f4ebf0dbe\">§</a></p>", "text": "Fix race condition that could lead to failure to localize error messages that are reported early in multi-threaded use of libpq or ecpglib (Tom Lane) §", "title": "Fix race condition that could lead to failure to localize error messages that are reported early in multi-threaded use of libpq or ecpglib", "commits": ["f4ebf0dbe"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "d5da21a8d8a8816a1f3b39a7bc1ee1011c769fd77bd9acd4178ff9bd8f8ea294", "section_path": ["Changes"], "commit_groups": [["0c7c94f90", "1f655fdc3", "37f5dc8b8", "5521d8139", "64ebb43df", "f4ebf0dbe"]], "identity_text": "Fix race condition that could lead to failure to localize error messages that are reported early in multi-threaded use of libpq or ecpglib (Tom Lane)", "commit_aliases": ["0c7c94f90", "1f655fdc3", "37f5dc8b8", "5521d8139", "64ebb43df", "f4ebf0dbe"], "source_commits": ["f4ebf0dbe"], "source_entry_id": "14.2/changes/038", "db_id": "179bbfac9e1a7f101bf6b5b1b793f278", "patch_ids": ["291c96a6e5cdb0e775f37d82c03ff284"], "statement_hash": "38c4ab2848c04c017f282aa34141cd5f591b0d60a661434e7a97f5c535293ceb", "relations": [{"rule": 2, "type": "equivalent", "target": "560c16a372995eaed073f2e7d67b407c", "evidence": {"same_day": true, "patch_ids": ["291c96a6e5cdb0e775f37d82c03ff284"], "statement_hash": "38c4ab2848c04c017f282aa34141cd5f591b0d60a661434e7a97f5c535293ceb"}}, {"rule": 2, "type": "equivalent", "target": "61b0d747dede1df3344b2e845449d7bf", "evidence": {"same_day": true, "patch_ids": ["291c96a6e5cdb0e775f37d82c03ff284"], "statement_hash": "38c4ab2848c04c017f282aa34141cd5f591b0d60a661434e7a97f5c535293ceb"}}, {"rule": 2, "type": "equivalent", "target": "68fea31ddb048a05fde17e75029fb6f3", "evidence": {"same_day": true, "patch_ids": ["291c96a6e5cdb0e775f37d82c03ff284"], "statement_hash": "38c4ab2848c04c017f282aa34141cd5f591b0d60a661434e7a97f5c535293ceb"}}, {"rule": 2, "type": "equivalent", "target": "72f5d6a3c9065640cf57e7eac14b873f", "evidence": {"same_day": true, "patch_ids": ["291c96a6e5cdb0e775f37d82c03ff284"], "statement_hash": "38c4ab2848c04c017f282aa34141cd5f591b0d60a661434e7a97f5c535293ceb"}}], "version": "14.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "61b0d747dede1df3344b2e845449d7bf", "kind": "equivalent", "version": "13.6", "label": "13.6", "title": "Fix race condition that could lead to failure to localize error messages that are reported early in multi-threaded use of libpq or ecpglib", "evidence": {"same_day": true, "patch_ids": ["291c96a6e5cdb0e775f37d82c03ff284"], "statement_hash": "38c4ab2848c04c017f282aa34141cd5f591b0d60a661434e7a97f5c535293ceb"}, "url": "/docs/compare/?release=13.6#13.6-fc8b603deec8e7b2", "source_url": "/docs/release/13.6/#id-1.11.6.23.5"}, {"db_id": "68fea31ddb048a05fde17e75029fb6f3", "kind": "equivalent", "version": "12.10", "label": "12.10", "title": "Fix race condition that could lead to failure to localize error messages that are reported early in multi-threaded use of libpq or ecpglib", "evidence": {"same_day": true, "patch_ids": ["291c96a6e5cdb0e775f37d82c03ff284"], "statement_hash": "38c4ab2848c04c017f282aa34141cd5f591b0d60a661434e7a97f5c535293ceb"}, "url": "/docs/compare/?release=12.10#12.10-f8266aed82b21418", "source_url": "/docs/release/12.10/#id-1.11.6.18.5"}, {"db_id": "560c16a372995eaed073f2e7d67b407c", "kind": "equivalent", "version": "11.15", "label": "11.15", "title": "Fix race condition that could lead to failure to localize error messages that are reported early in multi-threaded use of libpq or ecpglib", "evidence": {"same_day": true, "patch_ids": ["291c96a6e5cdb0e775f37d82c03ff284"], "statement_hash": "38c4ab2848c04c017f282aa34141cd5f591b0d60a661434e7a97f5c535293ceb"}, "url": "/docs/compare/?release=11.15#11.15-5e910be1337758f0", "source_url": "/docs/release/11.15/#id-1.11.6.12.5"}, {"db_id": "72f5d6a3c9065640cf57e7eac14b873f", "kind": "equivalent", "version": "10.20", "label": "10.20", "title": "Fix race condition that could lead to failure to localize error messages that are reported early in multi-threaded use of libpq or ecpglib", "evidence": {"same_day": true, "patch_ids": ["291c96a6e5cdb0e775f37d82c03ff284"], "statement_hash": "38c4ab2848c04c017f282aa34141cd5f591b0d60a661434e7a97f5c535293ceb"}, "url": "/docs/compare/?release=10.20#10.20-5e910be1337758f0", "source_url": "/docs/release/10.20/#id-1.11.6.8.6"}]}, {"id": "14.2-baf26e78d93d5f4d", "cves": [], "html": "<p>Avoid calling <code>strerror</code> from <span>libpq</span>'s <code>PQcancel</code> function (Tom Lane) <a href=\"https://postgr.es/c/050949877\">§</a></p>\n<p><code>PQcancel</code> is supposed to be safe to call from a signal handler, but <code>strerror</code> is not safe. The faulty usage only occurred in the unlikely event of failure to send the cancel message to the server, perhaps explaining the lack of reports.</p>", "text": "Avoid calling strerror from libpq's PQcancel function (Tom Lane) § PQcancel is supposed to be safe to call from a signal handler, but strerror is not safe. The faulty usage only occurred in the unlikely event of failure to send the cancel message to the server, perhaps explaining the lack of reports.", "title": "Avoid calling strerror from libpq's PQcancel function", "commits": ["050949877"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "0aa6f19dfa1f30b5e7efde1c44cee8a924f2f44f699a58ecd7c324d2fc02d4fc", "section_path": ["Changes"], "commit_groups": [["050949877", "38f099ef9", "8b107467c", "9d66c43eb", "f27af7b88", "f3f467b8f"]], "identity_text": "Avoid calling strerror from libpq's PQcancel function (Tom Lane) PQcancel is supposed to be safe to call from a signal handler, but strerror is not safe. The faulty usage only occurred in the unlikely event of failure to send the cancel message to the server, perhaps explaining the lack of reports.", "commit_aliases": ["050949877", "38f099ef9", "8b107467c", "9d66c43eb", "f27af7b88", "f3f467b8f"], "source_commits": ["050949877"], "source_entry_id": "14.2/changes/039", "db_id": "0513bf329f57f0ccc6396002eebe6830", "patch_ids": ["e574dbc63a73eb38ad4e954d2923de41"], "statement_hash": "bddc059f60b29bdc960f7f36da8ff94f038127a5d5b295f3572911d5c07b805d", "relations": [{"rule": 2, "type": "equivalent", "target": "2fb976585cb4ce0c6e80fd570f6305e6", "evidence": {"same_day": true, "patch_ids": ["e574dbc63a73eb38ad4e954d2923de41"], "statement_hash": "bddc059f60b29bdc960f7f36da8ff94f038127a5d5b295f3572911d5c07b805d"}}, {"rule": 2, "type": "equivalent", "target": "7cfb5e36fd110a32db9e68c942b1bc92", "evidence": {"same_day": true, "patch_ids": ["e574dbc63a73eb38ad4e954d2923de41"], "statement_hash": "bddc059f60b29bdc960f7f36da8ff94f038127a5d5b295f3572911d5c07b805d"}}, {"rule": 2, "type": "equivalent", "target": "8908f4ff2810107f35f96425443600dc", "evidence": {"same_day": true, "patch_ids": ["e574dbc63a73eb38ad4e954d2923de41"], "statement_hash": "bddc059f60b29bdc960f7f36da8ff94f038127a5d5b295f3572911d5c07b805d"}}, {"rule": 2, "type": "equivalent", "target": "c49de34fc6ec14b670436080a5f786bd", "evidence": {"same_day": true, "patch_ids": ["e574dbc63a73eb38ad4e954d2923de41"], "statement_hash": "bddc059f60b29bdc960f7f36da8ff94f038127a5d5b295f3572911d5c07b805d"}}], "version": "14.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "8908f4ff2810107f35f96425443600dc", "kind": "equivalent", "version": "13.6", "label": "13.6", "title": "Avoid calling strerror from libpq's PQcancel function", "evidence": {"same_day": true, "patch_ids": ["e574dbc63a73eb38ad4e954d2923de41"], "statement_hash": "bddc059f60b29bdc960f7f36da8ff94f038127a5d5b295f3572911d5c07b805d"}, "url": "/docs/compare/?release=13.6#13.6-27b0859303cacd2b", "source_url": "/docs/release/13.6/#id-1.11.6.23.5"}, {"db_id": "2fb976585cb4ce0c6e80fd570f6305e6", "kind": "equivalent", "version": "12.10", "label": "12.10", "title": "Avoid calling strerror from libpq's PQcancel function", "evidence": {"same_day": true, "patch_ids": ["e574dbc63a73eb38ad4e954d2923de41"], "statement_hash": "bddc059f60b29bdc960f7f36da8ff94f038127a5d5b295f3572911d5c07b805d"}, "url": "/docs/compare/?release=12.10#12.10-fc892f22c4302a28", "source_url": "/docs/release/12.10/#id-1.11.6.18.5"}, {"db_id": "7cfb5e36fd110a32db9e68c942b1bc92", "kind": "equivalent", "version": "11.15", "label": "11.15", "title": "Avoid calling strerror from libpq's PQcancel function", "evidence": {"same_day": true, "patch_ids": ["e574dbc63a73eb38ad4e954d2923de41"], "statement_hash": "bddc059f60b29bdc960f7f36da8ff94f038127a5d5b295f3572911d5c07b805d"}, "url": "/docs/compare/?release=11.15#11.15-68a0b747c00549c7", "source_url": "/docs/release/11.15/#id-1.11.6.12.5"}, {"db_id": "c49de34fc6ec14b670436080a5f786bd", "kind": "equivalent", "version": "10.20", "label": "10.20", "title": "Avoid calling strerror from libpq's PQcancel function", "evidence": {"same_day": true, "patch_ids": ["e574dbc63a73eb38ad4e954d2923de41"], "statement_hash": "bddc059f60b29bdc960f7f36da8ff94f038127a5d5b295f3572911d5c07b805d"}, "url": "/docs/compare/?release=10.20#10.20-68a0b747c00549c7", "source_url": "/docs/release/10.20/#id-1.11.6.8.6"}]}, {"id": "14.2-58f8defda56b9983", "cves": [], "html": "<p>Make <span>psql</span>'s <code>\\password</code> command default to setting the password for <code>CURRENT_USER</code>, not the connection's original user name (Tom Lane) <a href=\"https://postgr.es/c/99389cb66\">§</a></p>\n<p>This agrees with the documented behavior, and avoids probable permissions failure if <code>SET ROLE</code> or <code>SET SESSION AUTHORIZATION</code> has been done since the session began. To prevent confusion, the role name to be acted on is now included in the password prompt.</p>", "text": "Make psql's \\password command default to setting the password for CURRENT_USER, not the connection's original user name (Tom Lane) § This agrees with the documented behavior, and avoids probable permissions failure if SET ROLE or SET SESSION AUTHORIZATION has been done since the session began. To prevent confusion, the role name to be acted on is now included in the password prompt.", "title": "Make psql's \\password command default to setting the password for CURRENT_USER, not the connection's original user name", "commits": ["99389cb66"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "10b31a185f01101754b0a17ee494ba36a2ff386623cfa9d9141b6edadf031dee", "section_path": ["Changes"], "commit_groups": [["3bc46e4e9", "523adcc12", "843925fad", "99389cb66", "b062ca508", "d6eb5a0c2"]], "identity_text": "Make psql's \\password command default to setting the password for CURRENT_USER, not the connection's original user name (Tom Lane) This agrees with the documented behavior, and avoids probable permissions failure if SET ROLE or SET SESSION AUTHORIZATION has been done since the session began. To prevent confusion, the role name to be acted on is now included in the password prompt.", "commit_aliases": ["3bc46e4e9", "523adcc12", "843925fad", "99389cb66", "b062ca508", "d6eb5a0c2"], "source_commits": ["99389cb66"], "source_entry_id": "14.2/changes/040", "db_id": "84776f05de41df5238bb064738cd3a15", "patch_ids": ["c349f48ffad73008dc649739097e7b5b"], "statement_hash": "138af04193df6d38c372ce6872a1ea514a395e352428b55f70de73dbfa8fb5ae", "relations": [{"rule": 2, "type": "equivalent", "target": "4714c55d46149586b5d119ffc253a68f", "evidence": {"same_day": true, "patch_ids": ["c349f48ffad73008dc649739097e7b5b"], "statement_hash": "138af04193df6d38c372ce6872a1ea514a395e352428b55f70de73dbfa8fb5ae"}}, {"rule": 2, "type": "equivalent", "target": "84f08b3e4458dc4a884e3495b6687a08", "evidence": {"same_day": true, "patch_ids": ["c349f48ffad73008dc649739097e7b5b"], "statement_hash": "138af04193df6d38c372ce6872a1ea514a395e352428b55f70de73dbfa8fb5ae"}}, {"rule": 2, "type": "equivalent", "target": "e719c1b76bfb3c977de8c80d54db8af0", "evidence": {"same_day": true, "patch_ids": ["c349f48ffad73008dc649739097e7b5b"], "statement_hash": "138af04193df6d38c372ce6872a1ea514a395e352428b55f70de73dbfa8fb5ae"}}, {"rule": 2, "type": "equivalent", "target": "ee796632fca28b8125aeb77642ff8793", "evidence": {"same_day": true, "patch_ids": ["c349f48ffad73008dc649739097e7b5b"], "statement_hash": "138af04193df6d38c372ce6872a1ea514a395e352428b55f70de73dbfa8fb5ae"}}], "version": "14.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "ee796632fca28b8125aeb77642ff8793", "kind": "equivalent", "version": "13.6", "label": "13.6", "title": "Make psql's \\password command default to setting the password for CURRENT_USER, not the connection's original user name", "evidence": {"same_day": true, "patch_ids": ["c349f48ffad73008dc649739097e7b5b"], "statement_hash": "138af04193df6d38c372ce6872a1ea514a395e352428b55f70de73dbfa8fb5ae"}, "url": "/docs/compare/?release=13.6#13.6-59cc72f6fd5d3e59", "source_url": "/docs/release/13.6/#id-1.11.6.23.5"}, {"db_id": "e719c1b76bfb3c977de8c80d54db8af0", "kind": "equivalent", "version": "12.10", "label": "12.10", "title": "Make psql's \\password command default to setting the password for CURRENT_USER, not the connection's original user name", "evidence": {"same_day": true, "patch_ids": ["c349f48ffad73008dc649739097e7b5b"], "statement_hash": "138af04193df6d38c372ce6872a1ea514a395e352428b55f70de73dbfa8fb5ae"}, "url": "/docs/compare/?release=12.10#12.10-2e845f724f6247bd", "source_url": "/docs/release/12.10/#id-1.11.6.18.5"}, {"db_id": "84f08b3e4458dc4a884e3495b6687a08", "kind": "equivalent", "version": "11.15", "label": "11.15", "title": "Make psql's \\password command default to setting the password for CURRENT_USER, not the connection's original user name", "evidence": {"same_day": true, "patch_ids": ["c349f48ffad73008dc649739097e7b5b"], "statement_hash": "138af04193df6d38c372ce6872a1ea514a395e352428b55f70de73dbfa8fb5ae"}, "url": "/docs/compare/?release=11.15#11.15-e6996140642affd1", "source_url": "/docs/release/11.15/#id-1.11.6.12.5"}, {"db_id": "4714c55d46149586b5d119ffc253a68f", "kind": "equivalent", "version": "10.20", "label": "10.20", "title": "Make psql's \\password command default to setting the password for CURRENT_USER, not the connection's original user name", "evidence": {"same_day": true, "patch_ids": ["c349f48ffad73008dc649739097e7b5b"], "statement_hash": "138af04193df6d38c372ce6872a1ea514a395e352428b55f70de73dbfa8fb5ae"}, "url": "/docs/compare/?release=10.20#10.20-e6996140642affd1", "source_url": "/docs/release/10.20/#id-1.11.6.8.6"}]}, {"id": "14.2-8793603593068cff", "cves": [], "html": "<p>Fix <span>psql</span> <code>\\d</code> command's query for identifying parent triggers (Justin Pryzby) <a href=\"https://postgr.es/c/3886785b4\">§</a></p>\n<p>The previous coding failed with <span>“<span>more than one row returned by a subquery used as an expression</span>”</span> if a partition had triggers and there were unrelated statement-level triggers of the same name on some parent partitioned table.</p>", "text": "Fix psql \\d command's query for identifying parent triggers (Justin Pryzby) § The previous coding failed with “more than one row returned by a subquery used as an expression” if a partition had triggers and there were unrelated statement-level triggers of the same name on some parent partitioned table.", "title": "Fix psql \\d command's query for identifying parent triggers", "commits": ["3886785b4"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "af4103cf3d01409a9d69ffb6552717824f3744695a9be4a5db6a8426094270f7", "section_path": ["Changes"], "commit_groups": [["3886785b4", "9007d4ea7", "90e0f9fd8"]], "identity_text": "Fix psql \\d command's query for identifying parent triggers (Justin Pryzby) The previous coding failed with more than one row returned by a subquery used as an expression if a partition had triggers and there were unrelated statement-level triggers of the same name on some parent partitioned table.", "commit_aliases": ["3886785b4", "9007d4ea7", "90e0f9fd8"], "source_commits": ["3886785b4"], "source_entry_id": "14.2/changes/041", "db_id": "979769df816c7cd40afe2c4a76ffa8a8", "patch_ids": ["5d27576305f3d0ffb590a746a5dd6bde"], "statement_hash": "892dc45cdc9014a575ac0f6cf3f61712830a7800348215f25f18a5f92fb5493e", "relations": [{"rule": 2, "type": "equivalent", "target": "83b894a00f7a3ae83b40be9540490453", "evidence": {"same_day": true, "patch_ids": ["5d27576305f3d0ffb590a746a5dd6bde"], "statement_hash": "892dc45cdc9014a575ac0f6cf3f61712830a7800348215f25f18a5f92fb5493e"}}], "version": "14.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "83b894a00f7a3ae83b40be9540490453", "kind": "equivalent", "version": "13.6", "label": "13.6", "title": "Fix psql \\d command's query for identifying parent triggers", "evidence": {"same_day": true, "patch_ids": ["5d27576305f3d0ffb590a746a5dd6bde"], "statement_hash": "892dc45cdc9014a575ac0f6cf3f61712830a7800348215f25f18a5f92fb5493e"}, "url": "/docs/compare/?release=13.6#13.6-5840f139b1608d8f", "source_url": "/docs/release/13.6/#id-1.11.6.23.5"}]}, {"id": "14.2-7d692c6086bcd5f2", "cves": [], "html": "<p>Make <span>psql</span>'s <code>\\d</code> command sort a table's extended statistics objects by name not OID (Justin Pryzby) <a href=\"https://postgr.es/c/f5bea8360\">§</a></p>", "text": "Make psql's \\d command sort a table's extended statistics objects by name not OID (Justin Pryzby) §", "title": "Make psql's \\d command sort a table's extended statistics objects by name not OID", "commits": ["f5bea8360"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "58ceba4621e1513eb4cae0df801b047f27af8fab1d8031b6e64219ea535ed6d5", "section_path": ["Changes"], "commit_groups": [["f5bea8360", "fe594abf7"]], "identity_text": "Make psql's \\d command sort a table's extended statistics objects by name not OID (Justin Pryzby)", "commit_aliases": ["f5bea8360", "fe594abf7"], "source_commits": ["f5bea8360"], "source_entry_id": "14.2/changes/042", "db_id": "e8dfc19641be19ea14e4be7e2e6160c4", "patch_ids": ["1578ad4cad570f8a2849270b66e5e637"], "statement_hash": "7db6e8c083b673c96dc3f8c0849f12f8d09d3ebb5b1eebb6f9175fed99f1e1b6", "relations": [], "version": "14.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.2-697dace403d3b991", "cves": [], "html": "<p>Fix <span>psql</span>'s tab-completion of label values for enum types (Tom Lane) <a href=\"https://postgr.es/c/d91d4338e\">§</a></p>", "text": "Fix psql's tab-completion of label values for enum types (Tom Lane) §", "title": "Fix psql's tab-completion of label values for enum types", "commits": ["d91d4338e"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "86646227d3d290b31610733ed84f48271270a616453b74853d68f2820db88f4c", "section_path": ["Changes"], "commit_groups": [["90a847e6d", "d91d4338e", "fe7551744"]], "identity_text": "Fix psql's tab-completion of label values for enum types (Tom Lane)", "commit_aliases": ["90a847e6d", "d91d4338e", "fe7551744"], "source_commits": ["d91d4338e"], "source_entry_id": "14.2/changes/043", "db_id": "25058b6c57003b47fe304a09db495070", "patch_ids": ["85c74fbc7fa64553b61f45e12d241088"], "statement_hash": "0c2ff4c06bbbfd643a5375c29ed2067013966a0c3c3b9c2d49062525187f6ff6", "relations": [{"rule": 2, "type": "equivalent", "target": "7f3f2e0a10767a9eb35a52047c5b4b42", "evidence": {"same_day": true, "patch_ids": ["85c74fbc7fa64553b61f45e12d241088"], "statement_hash": "0c2ff4c06bbbfd643a5375c29ed2067013966a0c3c3b9c2d49062525187f6ff6"}}], "version": "14.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "7f3f2e0a10767a9eb35a52047c5b4b42", "kind": "equivalent", "version": "13.6", "label": "13.6", "title": "Fix psql's tab-completion of label values for enum types", "evidence": {"same_day": true, "patch_ids": ["85c74fbc7fa64553b61f45e12d241088"], "statement_hash": "0c2ff4c06bbbfd643a5375c29ed2067013966a0c3c3b9c2d49062525187f6ff6"}, "url": "/docs/compare/?release=13.6#13.6-cf646c0847bb4da3", "source_url": "/docs/release/13.6/#id-1.11.6.23.5"}]}, {"id": "14.2-f7aad6a103ee15e9", "cves": [], "html": "<p>Fix failures on Windows when using the terminal as data source or destination (Dmitry Koval, Juan José Santamaría Flecha, Michael Paquier) <a href=\"https://postgr.es/c/d2198b459\">§</a> <a href=\"https://postgr.es/c/5550a9c38\">§</a></p>\n<p>This affects <span>psql</span>'s <code>\\copy</code> command, as well as <span>pg_recvlogical</span> with <code>-f -</code>.</p>", "text": "Fix failures on Windows when using the terminal as data source or destination (Dmitry Koval, Juan José Santamaría Flecha, Michael Paquier) § § This affects psql's \\copy command, as well as pg_recvlogical with -f -.", "title": "Fix failures on Windows when using the terminal as data source or destination", "commits": ["5550a9c38", "d2198b459"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "6bc9c3528ab85d9a8c06784a689a788b93fa9ab5ac74983c59254ddc0d0fe6a7", "section_path": ["Changes"], "commit_groups": [["10260c794", "d2198b459"], ["5550a9c38", "58651d8dd"]], "identity_text": "Fix failures on Windows when using the terminal as data source or destination (Dmitry Koval, Juan José Santamaría Flecha, Michael Paquier) This affects psql's \\copy command, as well as pg_recvlogical with -f -.", "commit_aliases": ["10260c794", "5550a9c38", "58651d8dd", "d2198b459"], "source_commits": ["5550a9c38", "d2198b459"], "source_entry_id": "14.2/changes/044", "db_id": "c7dff23b495b97ef5d1bb2c82f39f31a", "patch_ids": ["22dda8f6226724cd88a7885c6dafb984", "d839d9a5a331a0a3d0f98e39316d4b19"], "statement_hash": "c98755b745b7e425ca7b780f19fe63359d2b46487e52b22387eaa77506f03f0b", "relations": [], "version": "14.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.2-74283459e3ee0178", "cves": [], "html": "<p>In <span>psql</span> and some other client programs, avoid trying to invoke <code>gettext()</code> from a control-C signal handler (Tom Lane) <a href=\"https://postgr.es/c/4e8726566\">§</a></p>\n<p>While no reported failures have been traced to this mistake, it seems highly unlikely to be a safe thing to do.</p>", "text": "In psql and some other client programs, avoid trying to invoke gettext() from a control-C signal handler (Tom Lane) § While no reported failures have been traced to this mistake, it seems highly unlikely to be a safe thing to do.", "title": "In psql and some other client programs, avoid trying to invoke gettext() from a control-C signal handler", "commits": ["4e8726566"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "e99ada3ac98513640e597eae17c0c2e9c095737a99e57574e94302935b28e334", "section_path": ["Changes"], "commit_groups": [["2131c049d", "4e8726566", "62bfa554b", "6d1a854c1", "92e6c1c9b", "d18ec312f"]], "identity_text": "In psql and some other client programs, avoid trying to invoke gettext() from a control-C signal handler (Tom Lane) While no reported failures have been traced to this mistake, it seems highly unlikely to be a safe thing to do.", "commit_aliases": ["2131c049d", "4e8726566", "62bfa554b", "6d1a854c1", "92e6c1c9b", "d18ec312f"], "source_commits": ["4e8726566"], "source_entry_id": "14.2/changes/045", "db_id": "312ae01f628686c8fbd78be0d62d01f4", "patch_ids": ["d3d696ce857e05183ad7d7d24f0a1067"], "statement_hash": "1a9ec1ec7a3c3dd555b08443ef8de8b018891816e9f70d07c794564fb046ce69", "relations": [{"rule": 2, "type": "equivalent", "target": "37aa52c0f37aed6323482336d0a3fa1a", "evidence": {"same_day": true, "patch_ids": ["d3d696ce857e05183ad7d7d24f0a1067"], "statement_hash": "1a9ec1ec7a3c3dd555b08443ef8de8b018891816e9f70d07c794564fb046ce69"}}, {"rule": 2, "type": "equivalent", "target": "d2544048b97f15efc5d1d94a9769cc76", "evidence": {"same_day": true, "patch_ids": ["d3d696ce857e05183ad7d7d24f0a1067"], "statement_hash": "1a9ec1ec7a3c3dd555b08443ef8de8b018891816e9f70d07c794564fb046ce69"}}, {"rule": 2, "type": "equivalent", "target": "dd81ede7bc9d22fbbf70e4d7896d3105", "evidence": {"same_day": true, "patch_ids": ["d3d696ce857e05183ad7d7d24f0a1067"], "statement_hash": "1a9ec1ec7a3c3dd555b08443ef8de8b018891816e9f70d07c794564fb046ce69"}}, {"rule": 2, "type": "equivalent", "target": "ea3ea98a591682809f642b99c9f7dba3", "evidence": {"same_day": true, "patch_ids": ["d3d696ce857e05183ad7d7d24f0a1067"], "statement_hash": "1a9ec1ec7a3c3dd555b08443ef8de8b018891816e9f70d07c794564fb046ce69"}}], "version": "14.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "dd81ede7bc9d22fbbf70e4d7896d3105", "kind": "equivalent", "version": "13.6", "label": "13.6", "title": "In psql and some other client programs, avoid trying to invoke gettext() from a control-C signal handler", "evidence": {"same_day": true, "patch_ids": ["d3d696ce857e05183ad7d7d24f0a1067"], "statement_hash": "1a9ec1ec7a3c3dd555b08443ef8de8b018891816e9f70d07c794564fb046ce69"}, "url": "/docs/compare/?release=13.6#13.6-4a660a5011a14f27", "source_url": "/docs/release/13.6/#id-1.11.6.23.5"}, {"db_id": "37aa52c0f37aed6323482336d0a3fa1a", "kind": "equivalent", "version": "12.10", "label": "12.10", "title": "In psql and some other client programs, avoid trying to invoke gettext() from a control-C signal handler", "evidence": {"same_day": true, "patch_ids": ["d3d696ce857e05183ad7d7d24f0a1067"], "statement_hash": "1a9ec1ec7a3c3dd555b08443ef8de8b018891816e9f70d07c794564fb046ce69"}, "url": "/docs/compare/?release=12.10#12.10-6eb20bafdeefa6a5", "source_url": "/docs/release/12.10/#id-1.11.6.18.5"}, {"db_id": "d2544048b97f15efc5d1d94a9769cc76", "kind": "equivalent", "version": "11.15", "label": "11.15", "title": "In psql and some other client programs, avoid trying to invoke gettext() from a control-C signal handler", "evidence": {"same_day": true, "patch_ids": ["d3d696ce857e05183ad7d7d24f0a1067"], "statement_hash": "1a9ec1ec7a3c3dd555b08443ef8de8b018891816e9f70d07c794564fb046ce69"}, "url": "/docs/compare/?release=11.15#11.15-98b7238df2ae2b1d", "source_url": "/docs/release/11.15/#id-1.11.6.12.5"}, {"db_id": "ea3ea98a591682809f642b99c9f7dba3", "kind": "equivalent", "version": "10.20", "label": "10.20", "title": "In psql and some other client programs, avoid trying to invoke gettext() from a control-C signal handler", "evidence": {"same_day": true, "patch_ids": ["d3d696ce857e05183ad7d7d24f0a1067"], "statement_hash": "1a9ec1ec7a3c3dd555b08443ef8de8b018891816e9f70d07c794564fb046ce69"}, "url": "/docs/compare/?release=10.20#10.20-98b7238df2ae2b1d", "source_url": "/docs/release/10.20/#id-1.11.6.8.6"}]}, {"id": "14.2-bc3087b3722d70fc", "cves": [], "html": "<p>Allow canceling the initial password prompt in <span>pg_receivewal</span> and <span>pg_recvlogical</span> (Tom Lane, Nathan Bossart) <a href=\"https://postgr.es/c/3bd7556bb\">§</a></p>\n<p>Previously it was impossible to terminate these programs via control-C while they were prompting for a password.</p>", "text": "Allow canceling the initial password prompt in pg_receivewal and pg_recvlogical (Tom Lane, Nathan Bossart) § Previously it was impossible to terminate these programs via control-C while they were prompting for a password.", "title": "Allow canceling the initial password prompt in pg_receivewal and pg_recvlogical", "commits": ["3bd7556bb"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "15c69148cc08af2224ffd923fda4ef98990af2bc85d39a6d6a2c4128c42193e8", "section_path": ["Changes"], "commit_groups": [["282b6d00a", "33edf4a3c", "3bd7556bb", "3ce5d0884", "93295932d", "c2242d364"]], "identity_text": "Allow canceling the initial password prompt in pg_receivewal and pg_recvlogical (Tom Lane, Nathan Bossart) Previously it was impossible to terminate these programs via control-C while they were prompting for a password.", "commit_aliases": ["282b6d00a", "33edf4a3c", "3bd7556bb", "3ce5d0884", "93295932d", "c2242d364"], "source_commits": ["3bd7556bb"], "source_entry_id": "14.2/changes/046", "db_id": "cfccc237876315ee39750db65b9cf53e", "patch_ids": ["45a975fe3124f0c6801da9a95fd8e72e"], "statement_hash": "b6941078b99b6a88a69507a9ea8f2de23f192f79de8d59cd08899f894d7aa416", "relations": [{"rule": 2, "type": "equivalent", "target": "6a1681b9e213913b7216a8740b8d8008", "evidence": {"same_day": true, "patch_ids": ["45a975fe3124f0c6801da9a95fd8e72e"], "statement_hash": "b6941078b99b6a88a69507a9ea8f2de23f192f79de8d59cd08899f894d7aa416"}}, {"rule": 2, "type": "equivalent", "target": "aa83da2c53e983eedecca77ec02209ae", "evidence": {"same_day": true, "patch_ids": ["45a975fe3124f0c6801da9a95fd8e72e"], "statement_hash": "b6941078b99b6a88a69507a9ea8f2de23f192f79de8d59cd08899f894d7aa416"}}, {"rule": 2, "type": "equivalent", "target": "c53751c7c334be5e96a114dceb8476f6", "evidence": {"same_day": true, "patch_ids": ["45a975fe3124f0c6801da9a95fd8e72e"], "statement_hash": "b6941078b99b6a88a69507a9ea8f2de23f192f79de8d59cd08899f894d7aa416"}}, {"rule": 2, "type": "equivalent", "target": "eeb31efce1bcaf4eb179ec2bfc622f67", "evidence": {"same_day": true, "patch_ids": ["45a975fe3124f0c6801da9a95fd8e72e"], "statement_hash": "b6941078b99b6a88a69507a9ea8f2de23f192f79de8d59cd08899f894d7aa416"}}], "version": "14.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "c53751c7c334be5e96a114dceb8476f6", "kind": "equivalent", "version": "13.6", "label": "13.6", "title": "Allow canceling the initial password prompt in pg_receivewal and pg_recvlogical", "evidence": {"same_day": true, "patch_ids": ["45a975fe3124f0c6801da9a95fd8e72e"], "statement_hash": "b6941078b99b6a88a69507a9ea8f2de23f192f79de8d59cd08899f894d7aa416"}, "url": "/docs/compare/?release=13.6#13.6-02827deb1d8f4563", "source_url": "/docs/release/13.6/#id-1.11.6.23.5"}, {"db_id": "6a1681b9e213913b7216a8740b8d8008", "kind": "equivalent", "version": "12.10", "label": "12.10", "title": "Allow canceling the initial password prompt in pg_receivewal and pg_recvlogical", "evidence": {"same_day": true, "patch_ids": ["45a975fe3124f0c6801da9a95fd8e72e"], "statement_hash": "b6941078b99b6a88a69507a9ea8f2de23f192f79de8d59cd08899f894d7aa416"}, "url": "/docs/compare/?release=12.10#12.10-e27c741cf731bb76", "source_url": "/docs/release/12.10/#id-1.11.6.18.5"}, {"db_id": "eeb31efce1bcaf4eb179ec2bfc622f67", "kind": "equivalent", "version": "11.15", "label": "11.15", "title": "Allow canceling the initial password prompt in pg_receivewal and pg_recvlogical", "evidence": {"same_day": true, "patch_ids": ["45a975fe3124f0c6801da9a95fd8e72e"], "statement_hash": "b6941078b99b6a88a69507a9ea8f2de23f192f79de8d59cd08899f894d7aa416"}, "url": "/docs/compare/?release=11.15#11.15-0ab6479dc961d903", "source_url": "/docs/release/11.15/#id-1.11.6.12.5"}, {"db_id": "aa83da2c53e983eedecca77ec02209ae", "kind": "equivalent", "version": "10.20", "label": "10.20", "title": "Allow canceling the initial password prompt in pg_receivewal and pg_recvlogical", "evidence": {"same_day": true, "patch_ids": ["45a975fe3124f0c6801da9a95fd8e72e"], "statement_hash": "b6941078b99b6a88a69507a9ea8f2de23f192f79de8d59cd08899f894d7aa416"}, "url": "/docs/compare/?release=10.20#10.20-0ab6479dc961d903", "source_url": "/docs/release/10.20/#id-1.11.6.8.6"}]}, {"id": "14.2-b6538ff0586a0d84", "cves": [], "html": "<p>Fix <span>pg_dump</span>'s dump ordering for user-defined casts (Tom Lane) <a href=\"https://postgr.es/c/0fdf67476\">§</a></p>\n<p>In rare cases, the output script might refer to a user-defined cast before it had been created.</p>", "text": "Fix pg_dump's dump ordering for user-defined casts (Tom Lane) § In rare cases, the output script might refer to a user-defined cast before it had been created.", "title": "Fix pg_dump's dump ordering for user-defined casts", "commits": ["0fdf67476"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "9d58eec18555784ee9c5a0be078e212994d658f7388cd90c6d5c09dd8fb50ad6", "section_path": ["Changes"], "commit_groups": [["0fdf67476", "2b36973d9", "54619a25d", "69949ea68", "b55f2b692", "d4f6a36d8"]], "identity_text": "Fix pg_dump's dump ordering for user-defined casts (Tom Lane) In rare cases, the output script might refer to a user-defined cast before it had been created.", "commit_aliases": ["0fdf67476", "2b36973d9", "54619a25d", "69949ea68", "b55f2b692", "d4f6a36d8"], "source_commits": ["0fdf67476"], "source_entry_id": "14.2/changes/047", "db_id": "c73f1aba1e86bd061e337e562306678f", "patch_ids": ["e12fb6e77fcc4c97c954d511f65c482e"], "statement_hash": "d0d997ce7fe7c916864276b63126c62cba25251a4e299e3d17d55f0f6fea1bbb", "relations": [{"rule": 2, "type": "equivalent", "target": "72eed9190b395e011284743716f963c5", "evidence": {"same_day": true, "patch_ids": ["e12fb6e77fcc4c97c954d511f65c482e"], "statement_hash": "d0d997ce7fe7c916864276b63126c62cba25251a4e299e3d17d55f0f6fea1bbb"}}, {"rule": 2, "type": "equivalent", "target": "9be0633436a9b2166bea9414e6b85cd4", "evidence": {"same_day": true, "patch_ids": ["e12fb6e77fcc4c97c954d511f65c482e"], "statement_hash": "d0d997ce7fe7c916864276b63126c62cba25251a4e299e3d17d55f0f6fea1bbb"}}, {"rule": 2, "type": "equivalent", "target": "aadb60c93cfb5e9a3383236d6d98449c", "evidence": {"same_day": true, "patch_ids": ["e12fb6e77fcc4c97c954d511f65c482e"], "statement_hash": "d0d997ce7fe7c916864276b63126c62cba25251a4e299e3d17d55f0f6fea1bbb"}}, {"rule": 2, "type": "equivalent", "target": "db01bca554a7ceb79aed44d07a65ba6d", "evidence": {"same_day": true, "patch_ids": ["e12fb6e77fcc4c97c954d511f65c482e"], "statement_hash": "d0d997ce7fe7c916864276b63126c62cba25251a4e299e3d17d55f0f6fea1bbb"}}], "version": "14.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "db01bca554a7ceb79aed44d07a65ba6d", "kind": "equivalent", "version": "13.6", "label": "13.6", "title": "Fix pg_dump's dump ordering for user-defined casts", "evidence": {"same_day": true, "patch_ids": ["e12fb6e77fcc4c97c954d511f65c482e"], "statement_hash": "d0d997ce7fe7c916864276b63126c62cba25251a4e299e3d17d55f0f6fea1bbb"}, "url": "/docs/compare/?release=13.6#13.6-847f8ad7e5efe2e7", "source_url": "/docs/release/13.6/#id-1.11.6.23.5"}, {"db_id": "aadb60c93cfb5e9a3383236d6d98449c", "kind": "equivalent", "version": "12.10", "label": "12.10", "title": "Fix pg_dump's dump ordering for user-defined casts", "evidence": {"same_day": true, "patch_ids": ["e12fb6e77fcc4c97c954d511f65c482e"], "statement_hash": "d0d997ce7fe7c916864276b63126c62cba25251a4e299e3d17d55f0f6fea1bbb"}, "url": "/docs/compare/?release=12.10#12.10-ba262cb2e2c4d968", "source_url": "/docs/release/12.10/#id-1.11.6.18.5"}, {"db_id": "72eed9190b395e011284743716f963c5", "kind": "equivalent", "version": "11.15", "label": "11.15", "title": "Fix pg_dump's dump ordering for user-defined casts", "evidence": {"same_day": true, "patch_ids": ["e12fb6e77fcc4c97c954d511f65c482e"], "statement_hash": "d0d997ce7fe7c916864276b63126c62cba25251a4e299e3d17d55f0f6fea1bbb"}, "url": "/docs/compare/?release=11.15#11.15-f6146d803e54be73", "source_url": "/docs/release/11.15/#id-1.11.6.12.5"}, {"db_id": "9be0633436a9b2166bea9414e6b85cd4", "kind": "equivalent", "version": "10.20", "label": "10.20", "title": "Fix pg_dump's dump ordering for user-defined casts", "evidence": {"same_day": true, "patch_ids": ["e12fb6e77fcc4c97c954d511f65c482e"], "statement_hash": "d0d997ce7fe7c916864276b63126c62cba25251a4e299e3d17d55f0f6fea1bbb"}, "url": "/docs/compare/?release=10.20#10.20-f6146d803e54be73", "source_url": "/docs/release/10.20/#id-1.11.6.8.6"}]}, {"id": "14.2-a82c9c961a2c21db", "cves": [], "html": "<p>Fix <span>pg_dump</span>'s <code>--inserts</code> and <code>--column-inserts</code> modes to handle tables containing both generated columns and dropped columns (Tom Lane) <a href=\"https://postgr.es/c/aedc4600d\">§</a> <a href=\"https://postgr.es/c/72842a575\">§</a></p>", "text": "Fix pg_dump's --inserts and --column-inserts modes to handle tables containing both generated columns and dropped columns (Tom Lane) § §", "title": "Fix pg_dump's --inserts and --column-inserts modes to handle tables containing both generated columns and dropped columns", "commits": ["72842a575", "aedc4600d"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "69abe28a7efc4fd9143a5abbd84e2e6084d606e3e348ade6f1b8a9951743aaad", "section_path": ["Changes"], "commit_groups": [["0b126c6a4", "1e7f588ad", "6fc8b145e", "aedc4600d"], ["22d2b6611", "72582531b", "72842a575", "b542e4596", "b599b8f39", "db3a660c6"]], "identity_text": "Fix pg_dump's --inserts and --column-inserts modes to handle tables containing both generated columns and dropped columns (Tom Lane)", "commit_aliases": ["0b126c6a4", "1e7f588ad", "22d2b6611", "6fc8b145e", "72582531b", "72842a575", "aedc4600d", "b542e4596", "b599b8f39", "db3a660c6"], "source_commits": ["72842a575", "aedc4600d"], "source_entry_id": "14.2/changes/048", "db_id": "562a38597bd86e286be3a3a54c084136", "patch_ids": ["13555be6773b5e3cb635e3a96e662f2f", "422677b514ffc74f177f6e57536c0cfa"], "statement_hash": "41d02f661e6a5d153b92192f358bfa041b0a4e87fbf8f31dba2e50133a404bcf", "relations": [{"rule": 2, "type": "equivalent", "target": "19493c411759ab76b9b84729b3e0e13d", "evidence": {"same_day": true, "patch_ids": ["13555be6773b5e3cb635e3a96e662f2f", "422677b514ffc74f177f6e57536c0cfa"], "statement_hash": "41d02f661e6a5d153b92192f358bfa041b0a4e87fbf8f31dba2e50133a404bcf"}}, {"rule": 2, "type": "equivalent", "target": "dcb69a229f862719edcdbdff71a9dbb4", "evidence": {"same_day": true, "patch_ids": ["13555be6773b5e3cb635e3a96e662f2f", "422677b514ffc74f177f6e57536c0cfa"], "statement_hash": "41d02f661e6a5d153b92192f358bfa041b0a4e87fbf8f31dba2e50133a404bcf"}}], "version": "14.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "dcb69a229f862719edcdbdff71a9dbb4", "kind": "equivalent", "version": "13.6", "label": "13.6", "title": "Fix pg_dump's --inserts and --column-inserts modes to handle tables containing both generated columns and dropped columns", "evidence": {"same_day": true, "patch_ids": ["13555be6773b5e3cb635e3a96e662f2f", "422677b514ffc74f177f6e57536c0cfa"], "statement_hash": "41d02f661e6a5d153b92192f358bfa041b0a4e87fbf8f31dba2e50133a404bcf"}, "url": "/docs/compare/?release=13.6#13.6-0b7e0db17b06f94e", "source_url": "/docs/release/13.6/#id-1.11.6.23.5"}, {"db_id": "19493c411759ab76b9b84729b3e0e13d", "kind": "equivalent", "version": "12.10", "label": "12.10", "title": "Fix pg_dump's --inserts and --column-inserts modes to handle tables containing both generated columns and dropped columns", "evidence": {"same_day": true, "patch_ids": ["13555be6773b5e3cb635e3a96e662f2f", "422677b514ffc74f177f6e57536c0cfa"], "statement_hash": "41d02f661e6a5d153b92192f358bfa041b0a4e87fbf8f31dba2e50133a404bcf"}, "url": "/docs/compare/?release=12.10#12.10-52b8fb77a604ac4f", "source_url": "/docs/release/12.10/#id-1.11.6.18.5"}]}, {"id": "14.2-30c43ac017b4ea8d", "cves": [], "html": "<p>Fix possible mis-reporting of errors in <span>pg_dump</span> and <span>pg_basebackup</span> (Tom Lane) <a href=\"https://postgr.es/c/53c4a580e\">§</a> <a href=\"https://postgr.es/c/6b413b41b\">§</a></p>\n<p>The previous code failed to check for errors from some kernel calls, and could report the wrong errno values in other cases.</p>", "text": "Fix possible mis-reporting of errors in pg_dump and pg_basebackup (Tom Lane) § § The previous code failed to check for errors from some kernel calls, and could report the wrong errno values in other cases.", "title": "Fix possible mis-reporting of errors in pg_dump and pg_basebackup", "commits": ["53c4a580e", "6b413b41b"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "b8abde440334c9bdc7f7d19aee4a9844e9f43bccfcfe4ce26bc33d6e2c1fe2d0", "section_path": ["Changes"], "commit_groups": [["12bf11889", "3cac2c8ca", "6b413b41b", "bbda88c33"], ["13799bb93", "248c3a937", "53c4a580e", "8378dad4c", "a414eb850", "c8b5221b5"]], "identity_text": "Fix possible mis-reporting of errors in pg_dump and pg_basebackup (Tom Lane) The previous code failed to check for errors from some kernel calls, and could report the wrong errno values in other cases.", "commit_aliases": ["12bf11889", "13799bb93", "248c3a937", "3cac2c8ca", "53c4a580e", "6b413b41b", "8378dad4c", "a414eb850", "bbda88c33", "c8b5221b5"], "source_commits": ["53c4a580e", "6b413b41b"], "source_entry_id": "14.2/changes/049", "db_id": "d4f698690f870dffacbeecc8713a0b52", "patch_ids": ["dd961137b321f7ff94d0824bd324035a", "ebf11e9edbefe0418df4bbc6a0cccb52"], "statement_hash": "93314841ae6b2fe7f5b77ed2246646519142fac3e8b6c6b6df89f40bb8f2ca46", "relations": [{"rule": 2, "type": "equivalent", "target": "0545e39302be21d3a0609ae723549064", "evidence": {"same_day": true, "patch_ids": ["dd961137b321f7ff94d0824bd324035a", "ebf11e9edbefe0418df4bbc6a0cccb52"], "statement_hash": "93314841ae6b2fe7f5b77ed2246646519142fac3e8b6c6b6df89f40bb8f2ca46"}}, {"rule": 2, "type": "equivalent", "target": "39e7289518c605fbb031bfac93cfe4e0", "evidence": {"same_day": true, "patch_ids": ["dd961137b321f7ff94d0824bd324035a", "ebf11e9edbefe0418df4bbc6a0cccb52"], "statement_hash": "93314841ae6b2fe7f5b77ed2246646519142fac3e8b6c6b6df89f40bb8f2ca46"}}, {"rule": 2, "type": "equivalent", "target": "4514ab4597d72767fa01ca9815f3676b", "evidence": {"same_day": true, "patch_ids": ["dd961137b321f7ff94d0824bd324035a", "ebf11e9edbefe0418df4bbc6a0cccb52"], "statement_hash": "93314841ae6b2fe7f5b77ed2246646519142fac3e8b6c6b6df89f40bb8f2ca46"}}, {"rule": 2, "type": "equivalent", "target": "883afb080411efb9ae98687087cb38c4", "evidence": {"same_day": true, "patch_ids": ["dd961137b321f7ff94d0824bd324035a", "ebf11e9edbefe0418df4bbc6a0cccb52"], "statement_hash": "93314841ae6b2fe7f5b77ed2246646519142fac3e8b6c6b6df89f40bb8f2ca46"}}], "version": "14.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "0545e39302be21d3a0609ae723549064", "kind": "equivalent", "version": "13.6", "label": "13.6", "title": "Fix possible mis-reporting of errors in pg_dump and pg_basebackup", "evidence": {"same_day": true, "patch_ids": ["dd961137b321f7ff94d0824bd324035a", "ebf11e9edbefe0418df4bbc6a0cccb52"], "statement_hash": "93314841ae6b2fe7f5b77ed2246646519142fac3e8b6c6b6df89f40bb8f2ca46"}, "url": "/docs/compare/?release=13.6#13.6-e400f727e74b3c59", "source_url": "/docs/release/13.6/#id-1.11.6.23.5"}, {"db_id": "39e7289518c605fbb031bfac93cfe4e0", "kind": "equivalent", "version": "12.10", "label": "12.10", "title": "Fix possible mis-reporting of errors in pg_dump and pg_basebackup", "evidence": {"same_day": true, "patch_ids": ["dd961137b321f7ff94d0824bd324035a", "ebf11e9edbefe0418df4bbc6a0cccb52"], "statement_hash": "93314841ae6b2fe7f5b77ed2246646519142fac3e8b6c6b6df89f40bb8f2ca46"}, "url": "/docs/compare/?release=12.10#12.10-95d1b0c9952bfc4e", "source_url": "/docs/release/12.10/#id-1.11.6.18.5"}, {"db_id": "883afb080411efb9ae98687087cb38c4", "kind": "equivalent", "version": "11.15", "label": "11.15", "title": "Fix possible mis-reporting of errors in pg_dump and pg_basebackup", "evidence": {"same_day": true, "patch_ids": ["dd961137b321f7ff94d0824bd324035a", "ebf11e9edbefe0418df4bbc6a0cccb52"], "statement_hash": "93314841ae6b2fe7f5b77ed2246646519142fac3e8b6c6b6df89f40bb8f2ca46"}, "url": "/docs/compare/?release=11.15#11.15-4fe845d35a85973d", "source_url": "/docs/release/11.15/#id-1.11.6.12.5"}, {"db_id": "4514ab4597d72767fa01ca9815f3676b", "kind": "equivalent", "version": "10.20", "label": "10.20", "title": "Fix possible mis-reporting of errors in pg_dump and pg_basebackup", "evidence": {"same_day": true, "patch_ids": ["dd961137b321f7ff94d0824bd324035a", "ebf11e9edbefe0418df4bbc6a0cccb52"], "statement_hash": "93314841ae6b2fe7f5b77ed2246646519142fac3e8b6c6b6df89f40bb8f2ca46"}, "url": "/docs/compare/?release=10.20#10.20-4fe845d35a85973d", "source_url": "/docs/release/10.20/#id-1.11.6.8.6"}]}, {"id": "14.2-428f08466b0aaaa7", "cves": [], "html": "<p>Fix results of index-only scans on <code>contrib/btree_gist</code> indexes on <code>char(<em><code>N</code></em>)</code> columns (Tom Lane) <a href=\"https://postgr.es/c/043c1e1a7\">§</a></p>\n<p>Index-only scans returned column values with trailing spaces removed, which is not the expected behavior. That happened because that's how the data was stored in the index. This fix changes the code to store <code>char(<em><code>N</code></em>)</code> values with the expected amount of space padding. The behavior of such an index will not change immediately unless you <code>REINDEX</code> it; otherwise space-stripped values will be gradually replaced over time during updates. Queries that do not use index-only scan plans will be unaffected in any case.</p>", "text": "Fix results of index-only scans on contrib/btree_gist indexes on char(N) columns (Tom Lane) § Index-only scans returned column values with trailing spaces removed, which is not the expected behavior. That happened because that's how the data was stored in the index. This fix changes the code to store char(N) values with the expected amount of space padding. The behavior of such an index will not change immediately unless you REINDEX it; otherwise space-stripped values will be gradually replaced over time during updates. Queries that do not use index-only scan plans will be unaffected in any case.", "title": "Fix results of index-only scans on contrib/btree_gist indexes on char(N) columns", "commits": ["043c1e1a7"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "76b863b73ba3a991182c03394f5bbe91c7db92b5d3da78c174e67e7b51ee788d", "section_path": ["Changes"], "commit_groups": [["043c1e1a7", "38cbdd22d", "3a69d45af", "54b1cb7eb", "823d4c7e2", "b21986908"]], "identity_text": "Fix results of index-only scans on contrib/btree_gist indexes on char(N) columns (Tom Lane) Index-only scans returned column values with trailing spaces removed, which is not the expected behavior. That happened because that's how the data was stored in the index. This fix changes the code to store char(N) values with the expected amount of space padding. The behavior of such an index will not change immediately unless you REINDEX it; otherwise space-stripped values will be gradually replaced over time during updates. Queries that do not use index-only scan plans will be unaffected in any case.", "commit_aliases": ["043c1e1a7", "38cbdd22d", "3a69d45af", "54b1cb7eb", "823d4c7e2", "b21986908"], "source_commits": ["043c1e1a7"], "source_entry_id": "14.2/changes/050", "db_id": "3891eee4269b50ab61de96084586a9fa", "patch_ids": ["e63d9a4e56d10ab4fb3c60dc7ad26680"], "statement_hash": "cb779a0f1247638625893ef73cd2d7e2c16c73155d6631536c3c122191c60fc0", "relations": [{"rule": 2, "type": "equivalent", "target": "c0154161a375b794afca8de5e9f0bc84", "evidence": {"same_day": true, "patch_ids": ["e63d9a4e56d10ab4fb3c60dc7ad26680"], "statement_hash": "cb779a0f1247638625893ef73cd2d7e2c16c73155d6631536c3c122191c60fc0"}}, {"rule": 2, "type": "equivalent", "target": "dbfab918acba23fe9652fe35f4cadcb6", "evidence": {"same_day": true, "patch_ids": ["e63d9a4e56d10ab4fb3c60dc7ad26680"], "statement_hash": "cb779a0f1247638625893ef73cd2d7e2c16c73155d6631536c3c122191c60fc0"}}, {"rule": 2, "type": "equivalent", "target": "e55f5070f5852aab2dea15f201e4ed0d", "evidence": {"same_day": true, "patch_ids": ["e63d9a4e56d10ab4fb3c60dc7ad26680"], "statement_hash": "cb779a0f1247638625893ef73cd2d7e2c16c73155d6631536c3c122191c60fc0"}}, {"rule": 2, "type": "equivalent", "target": "e6b1208933ac3e7d3ef5a32d4dfae473", "evidence": {"same_day": true, "patch_ids": ["e63d9a4e56d10ab4fb3c60dc7ad26680"], "statement_hash": "cb779a0f1247638625893ef73cd2d7e2c16c73155d6631536c3c122191c60fc0"}}], "version": "14.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "e6b1208933ac3e7d3ef5a32d4dfae473", "kind": "equivalent", "version": "13.6", "label": "13.6", "title": "Fix results of index-only scans on contrib/btree_gist indexes on char(N) columns", "evidence": {"same_day": true, "patch_ids": ["e63d9a4e56d10ab4fb3c60dc7ad26680"], "statement_hash": "cb779a0f1247638625893ef73cd2d7e2c16c73155d6631536c3c122191c60fc0"}, "url": "/docs/compare/?release=13.6#13.6-60f8c4c632319538", "source_url": "/docs/release/13.6/#id-1.11.6.23.5"}, {"db_id": "c0154161a375b794afca8de5e9f0bc84", "kind": "equivalent", "version": "12.10", "label": "12.10", "title": "Fix results of index-only scans on contrib/btree_gist indexes on char(N) columns", "evidence": {"same_day": true, "patch_ids": ["e63d9a4e56d10ab4fb3c60dc7ad26680"], "statement_hash": "cb779a0f1247638625893ef73cd2d7e2c16c73155d6631536c3c122191c60fc0"}, "url": "/docs/compare/?release=12.10#12.10-1edd3b473816d39d", "source_url": "/docs/release/12.10/#id-1.11.6.18.5"}, {"db_id": "dbfab918acba23fe9652fe35f4cadcb6", "kind": "equivalent", "version": "11.15", "label": "11.15", "title": "Fix results of index-only scans on contrib/btree_gist indexes on char(N) columns", "evidence": {"same_day": true, "patch_ids": ["e63d9a4e56d10ab4fb3c60dc7ad26680"], "statement_hash": "cb779a0f1247638625893ef73cd2d7e2c16c73155d6631536c3c122191c60fc0"}, "url": "/docs/compare/?release=11.15#11.15-d06473ef7a5dd301", "source_url": "/docs/release/11.15/#id-1.11.6.12.5"}, {"db_id": "e55f5070f5852aab2dea15f201e4ed0d", "kind": "equivalent", "version": "10.20", "label": "10.20", "title": "Fix results of index-only scans on contrib/btree_gist indexes on char(N) columns", "evidence": {"same_day": true, "patch_ids": ["e63d9a4e56d10ab4fb3c60dc7ad26680"], "statement_hash": "cb779a0f1247638625893ef73cd2d7e2c16c73155d6631536c3c122191c60fc0"}, "url": "/docs/compare/?release=10.20#10.20-d06473ef7a5dd301", "source_url": "/docs/release/10.20/#id-1.11.6.8.6"}]}, {"id": "14.2-174fbb273186f0bb", "cves": [], "html": "<p>Fix edge cases in <code>postgres_fdw</code>'s handling of asynchronous queries (Etsuro Fujita) <a href=\"https://postgr.es/c/d1cca9441\">§</a> <a href=\"https://postgr.es/c/700e8fe6d\">§</a></p>\n<p>These errors could lead to crashes or incorrect results when attempting to parallelize scans of foreign tables.</p>", "text": "Fix edge cases in postgres_fdw's handling of asynchronous queries (Etsuro Fujita) § § These errors could lead to crashes or incorrect results when attempting to parallelize scans of foreign tables.", "title": "Fix edge cases in postgres_fdw's handling of asynchronous queries", "commits": ["700e8fe6d", "d1cca9441"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "0bbfae1af9aa75a9a637a4db1708c40e4c61d08de61f2d90aae2df5cb26bc553", "section_path": ["Changes"], "commit_groups": [["6c07f9ebc", "700e8fe6d"], ["9e283fc85", "d1cca9441"]], "identity_text": "Fix edge cases in postgres_fdw's handling of asynchronous queries (Etsuro Fujita) These errors could lead to crashes or incorrect results when attempting to parallelize scans of foreign tables.", "commit_aliases": ["6c07f9ebc", "700e8fe6d", "9e283fc85", "d1cca9441"], "source_commits": ["700e8fe6d", "d1cca9441"], "source_entry_id": "14.2/changes/051", "db_id": "aab29572467f90965de33d931f00aa33", "patch_ids": ["02a65df6c31e8e43b1fcb81ac818a7ae", "3968f600a6a703fdbf8fa9efff2f361f"], "statement_hash": "df0795a207242eb038cb98f721a8a2dcfa11f14e4046e3720a4a9ee54080af24", "relations": [], "version": "14.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.2-86a3be5c3dc22f51", "cves": [], "html": "<p>Change <span>configure</span> to use Python's <span>sysconfig</span> module, rather than the deprecated <span>distutils</span> module, to determine how to build PL/Python (Peter Eisentraut, Tom Lane, Andres Freund) <a href=\"https://postgr.es/c/803f0b173\">§</a></p>\n<p>With Python 3.10, this avoids <span>configure</span>-time warnings about <span>distutils</span> being deprecated and scheduled for removal in Python 3.12. Presumably, once 3.12 is out, <code>configure --with-python</code> would fail altogether. This future-proofing does come at a cost: <span>sysconfig</span> did not exist before Python 2.7, nor before 3.2 in the Python 3 branch, so it is no longer possible to build PL/Python against long-dead Python versions.</p>", "text": "Change configure to use Python's sysconfig module, rather than the deprecated distutils module, to determine how to build PL/Python (Peter Eisentraut, Tom Lane, Andres Freund) § With Python 3.10, this avoids configure-time warnings about distutils being deprecated and scheduled for removal in Python 3.12. Presumably, once 3.12 is out, configure --with-python would fail altogether. This future-proofing does come at a cost: sysconfig did not exist before Python 2.7, nor before 3.2 in the Python 3 branch, so it is no longer possible to build PL/Python against long-dead Python versions.", "title": "Change configure to use Python's sysconfig module, rather than the deprecated distutils module, to determine how to build PL/Python", "commits": ["803f0b173"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "56a49f3aeec70b7cdd9488e307e0422afbe06a801d6d3c0c76804332c139d980", "section_path": ["Changes"], "commit_groups": [["4d7d196ff", "803f0b173", "a72c43012", "aa2215d6b", "bd233bdd8", "e41176bd6"]], "identity_text": "Change configure to use Python's sysconfig module, rather than the deprecated distutils module, to determine how to build PL/Python (Peter Eisentraut, Tom Lane, Andres Freund) With Python 3.10, this avoids configure-time warnings about distutils being deprecated and scheduled for removal in Python 3.12. Presumably, once 3.12 is out, configure --with-python would fail altogether. This future-proofing does come at a cost: sysconfig did not exist before Python 2.7, nor before 3.2 in the Python 3 branch, so it is no longer possible to build PL/Python against long-dead Python versions.", "commit_aliases": ["4d7d196ff", "803f0b173", "a72c43012", "aa2215d6b", "bd233bdd8", "e41176bd6"], "source_commits": ["803f0b173"], "source_entry_id": "14.2/changes/052", "db_id": "35308604eec5e17cf86e540668d0bb97", "patch_ids": ["17633f3b2e2107e99afa3a585ed0e74a"], "statement_hash": "bf905188b73d06f5cb2ecbe3d4b271f988be37a013dbcc8164a5af135ab9eff3", "relations": [{"rule": 2, "type": "equivalent", "target": "6575c0a3a5e7696b37917a7aa00a1fe0", "evidence": {"same_day": true, "patch_ids": ["17633f3b2e2107e99afa3a585ed0e74a"], "statement_hash": "bf905188b73d06f5cb2ecbe3d4b271f988be37a013dbcc8164a5af135ab9eff3"}}, {"rule": 2, "type": "equivalent", "target": "8f5f9065b07dfe76530953852679a6c2", "evidence": {"same_day": true, "patch_ids": ["17633f3b2e2107e99afa3a585ed0e74a"], "statement_hash": "bf905188b73d06f5cb2ecbe3d4b271f988be37a013dbcc8164a5af135ab9eff3"}}, {"rule": 2, "type": "equivalent", "target": "cd104a52ed9b478baa5b2fd6f6ba0df6", "evidence": {"same_day": true, "patch_ids": ["17633f3b2e2107e99afa3a585ed0e74a"], "statement_hash": "bf905188b73d06f5cb2ecbe3d4b271f988be37a013dbcc8164a5af135ab9eff3"}}, {"rule": 2, "type": "equivalent", "target": "e5f8d0d7a1840cdff9346c8a6796bd1d", "evidence": {"same_day": true, "patch_ids": ["17633f3b2e2107e99afa3a585ed0e74a"], "statement_hash": "bf905188b73d06f5cb2ecbe3d4b271f988be37a013dbcc8164a5af135ab9eff3"}}], "version": "14.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "cd104a52ed9b478baa5b2fd6f6ba0df6", "kind": "equivalent", "version": "13.6", "label": "13.6", "title": "Change configure to use Python's sysconfig module, rather than the deprecated distutils module, to determine how to build PL/Python", "evidence": {"same_day": true, "patch_ids": ["17633f3b2e2107e99afa3a585ed0e74a"], "statement_hash": "bf905188b73d06f5cb2ecbe3d4b271f988be37a013dbcc8164a5af135ab9eff3"}, "url": "/docs/compare/?release=13.6#13.6-1e8af647ff73e997", "source_url": "/docs/release/13.6/#id-1.11.6.23.5"}, {"db_id": "e5f8d0d7a1840cdff9346c8a6796bd1d", "kind": "equivalent", "version": "12.10", "label": "12.10", "title": "Change configure to use Python's sysconfig module, rather than the deprecated distutils module, to determine how to build PL/Python", "evidence": {"same_day": true, "patch_ids": ["17633f3b2e2107e99afa3a585ed0e74a"], "statement_hash": "bf905188b73d06f5cb2ecbe3d4b271f988be37a013dbcc8164a5af135ab9eff3"}, "url": "/docs/compare/?release=12.10#12.10-bb059011c3952eed", "source_url": "/docs/release/12.10/#id-1.11.6.18.5"}, {"db_id": "6575c0a3a5e7696b37917a7aa00a1fe0", "kind": "equivalent", "version": "11.15", "label": "11.15", "title": "Change configure to use Python's sysconfig module, rather than the deprecated distutils module, to determine how to build PL/Python", "evidence": {"same_day": true, "patch_ids": ["17633f3b2e2107e99afa3a585ed0e74a"], "statement_hash": "bf905188b73d06f5cb2ecbe3d4b271f988be37a013dbcc8164a5af135ab9eff3"}, "url": "/docs/compare/?release=11.15#11.15-a79977c25c9980af", "source_url": "/docs/release/11.15/#id-1.11.6.12.5"}, {"db_id": "8f5f9065b07dfe76530953852679a6c2", "kind": "equivalent", "version": "10.20", "label": "10.20", "title": "Change configure to use Python's sysconfig module, rather than the deprecated distutils module, to determine how to build PL/Python", "evidence": {"same_day": true, "patch_ids": ["17633f3b2e2107e99afa3a585ed0e74a"], "statement_hash": "bf905188b73d06f5cb2ecbe3d4b271f988be37a013dbcc8164a5af135ab9eff3"}, "url": "/docs/compare/?release=10.20#10.20-a79977c25c9980af", "source_url": "/docs/release/10.20/#id-1.11.6.8.6"}]}, {"id": "14.2-c5558981a4a7ecf7", "cves": [], "html": "<p>Re-allow cross-compilation without <span>OpenSSL</span> (Tom Lane) <a href=\"https://postgr.es/c/175edafd1\">§</a></p>\n<p><span>configure</span> should assume that <code>/dev/urandom</code> will be available on the target system, but it failed instead.</p>", "text": "Re-allow cross-compilation without OpenSSL (Tom Lane) § configure should assume that /dev/urandom will be available on the target system, but it failed instead.", "title": "Re-allow cross-compilation without OpenSSL", "commits": ["175edafd1"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "f560a391874dac5e57cf9ec1901e421d6b4f6021de9d0a46f3b22f002e2a3d6d", "section_path": ["Changes"], "commit_groups": [["175edafd1", "b63710164"]], "identity_text": "Re-allow cross-compilation without OpenSSL (Tom Lane) configure should assume that /dev/urandom will be available on the target system, but it failed instead.", "commit_aliases": ["175edafd1", "b63710164"], "source_commits": ["175edafd1"], "source_entry_id": "14.2/changes/053", "db_id": "01b73921a279691611180d66a3e938ac", "patch_ids": ["12d63f405207cf9322cbb319457195eb"], "statement_hash": "b338b3621b214d3f3c9783765940dc7e36c4e7466d533ed8cd8e6581cbec2eb5", "relations": [], "version": "14.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.2-627fd5cb2b89f37d", "cves": [], "html": "<p>Fix PL/Perl compile failure on Windows with Perl 5.28 and later (Victor Wagner) <a href=\"https://postgr.es/c/8484e3812\">§</a></p>", "text": "Fix PL/Perl compile failure on Windows with Perl 5.28 and later (Victor Wagner) §", "title": "Fix PL/Perl compile failure on Windows with Perl 5.28 and later", "commits": ["8484e3812"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "eb1cdb0b83402cc5066dedfff4cfba87279b70de1cd250d716f7e741107178cc", "section_path": ["Changes"], "commit_groups": [["0dc0fe7b6", "2557a03f8", "8484e3812", "ad95a639a", "c89f40974", "f173738d5"]], "identity_text": "Fix PL/Perl compile failure on Windows with Perl 5.28 and later (Victor Wagner)", "commit_aliases": ["0dc0fe7b6", "2557a03f8", "8484e3812", "ad95a639a", "c89f40974", "f173738d5"], "source_commits": ["8484e3812"], "source_entry_id": "14.2/changes/054", "db_id": "8d6baf531e215f8a072402ae365789d1", "patch_ids": ["b6bf3209370dcb328129d84ea5053166"], "statement_hash": "fa72a662ece43386bd3ae9823da55d714693d60e4a1bcbfa8adc30fb42ad76c9", "relations": [{"rule": 2, "type": "equivalent", "target": "14d39d737ef3b8ff08f97f3a376b8c2e", "evidence": {"same_day": true, "patch_ids": ["b6bf3209370dcb328129d84ea5053166"], "statement_hash": "fa72a662ece43386bd3ae9823da55d714693d60e4a1bcbfa8adc30fb42ad76c9"}}, {"rule": 2, "type": "equivalent", "target": "62fd56faadbe94d61da3dcdd06c226b1", "evidence": {"same_day": true, "patch_ids": ["b6bf3209370dcb328129d84ea5053166"], "statement_hash": "fa72a662ece43386bd3ae9823da55d714693d60e4a1bcbfa8adc30fb42ad76c9"}}, {"rule": 2, "type": "equivalent", "target": "c3e3e800da305ed5949455967311a3b1", "evidence": {"same_day": true, "patch_ids": ["b6bf3209370dcb328129d84ea5053166"], "statement_hash": "fa72a662ece43386bd3ae9823da55d714693d60e4a1bcbfa8adc30fb42ad76c9"}}, {"rule": 2, "type": "equivalent", "target": "cf6de335c517ee0115f5122a94bed039", "evidence": {"same_day": true, "patch_ids": ["b6bf3209370dcb328129d84ea5053166"], "statement_hash": "fa72a662ece43386bd3ae9823da55d714693d60e4a1bcbfa8adc30fb42ad76c9"}}], "version": "14.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "cf6de335c517ee0115f5122a94bed039", "kind": "equivalent", "version": "13.6", "label": "13.6", "title": "Fix PL/Perl compile failure on Windows with Perl 5.28 and later", "evidence": {"same_day": true, "patch_ids": ["b6bf3209370dcb328129d84ea5053166"], "statement_hash": "fa72a662ece43386bd3ae9823da55d714693d60e4a1bcbfa8adc30fb42ad76c9"}, "url": "/docs/compare/?release=13.6#13.6-5999b888f740dace", "source_url": "/docs/release/13.6/#id-1.11.6.23.5"}, {"db_id": "14d39d737ef3b8ff08f97f3a376b8c2e", "kind": "equivalent", "version": "12.10", "label": "12.10", "title": "Fix PL/Perl compile failure on Windows with Perl 5.28 and later", "evidence": {"same_day": true, "patch_ids": ["b6bf3209370dcb328129d84ea5053166"], "statement_hash": "fa72a662ece43386bd3ae9823da55d714693d60e4a1bcbfa8adc30fb42ad76c9"}, "url": "/docs/compare/?release=12.10#12.10-91ab34438772d051", "source_url": "/docs/release/12.10/#id-1.11.6.18.5"}, {"db_id": "c3e3e800da305ed5949455967311a3b1", "kind": "equivalent", "version": "11.15", "label": "11.15", "title": "Fix PL/Perl compile failure on Windows with Perl 5.28 and later", "evidence": {"same_day": true, "patch_ids": ["b6bf3209370dcb328129d84ea5053166"], "statement_hash": "fa72a662ece43386bd3ae9823da55d714693d60e4a1bcbfa8adc30fb42ad76c9"}, "url": "/docs/compare/?release=11.15#11.15-09ef249ce8a1c85e", "source_url": "/docs/release/11.15/#id-1.11.6.12.5"}, {"db_id": "62fd56faadbe94d61da3dcdd06c226b1", "kind": "equivalent", "version": "10.20", "label": "10.20", "title": "Fix PL/Perl compile failure on Windows with Perl 5.28 and later", "evidence": {"same_day": true, "patch_ids": ["b6bf3209370dcb328129d84ea5053166"], "statement_hash": "fa72a662ece43386bd3ae9823da55d714693d60e4a1bcbfa8adc30fb42ad76c9"}, "url": "/docs/compare/?release=10.20#10.20-09ef249ce8a1c85e", "source_url": "/docs/release/10.20/#id-1.11.6.8.6"}]}, {"id": "14.2-cd090e0a6a47e8bc", "cves": [], "html": "<p>Fix PL/Python compile failure with Python 3.11 and later (Peter Eisentraut) <a href=\"https://postgr.es/c/1cc13b83e\">§</a></p>", "text": "Fix PL/Python compile failure with Python 3.11 and later (Peter Eisentraut) §", "title": "Fix PL/Python compile failure with Python 3.11 and later", "commits": ["1cc13b83e"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "49406224493574695698dee9abfd5a0bd6b7b7af6adc8c3df30483cb57b1fc9c", "section_path": ["Changes"], "commit_groups": [["04875ae92", "0d335cbd5", "1cc13b83e", "4339e10f0", "99e4d24a9", "a83b1bab0"]], "identity_text": "Fix PL/Python compile failure with Python 3.11 and later (Peter Eisentraut)", "commit_aliases": ["04875ae92", "0d335cbd5", "1cc13b83e", "4339e10f0", "99e4d24a9", "a83b1bab0"], "source_commits": ["1cc13b83e"], "source_entry_id": "14.2/changes/055", "db_id": "3910a9190a9096ab5ee5b9e712f36e78", "patch_ids": ["7d4135084d39bc7e2e106621eaa276df"], "statement_hash": "7e781dcd910c484fd2707d645511b009a406b02f2e6b79a36e1668e6128cd102", "relations": [{"rule": 2, "type": "equivalent", "target": "13a04fb18f319baf0cb11dfb357a845e", "evidence": {"same_day": true, "patch_ids": ["7d4135084d39bc7e2e106621eaa276df"], "statement_hash": "7e781dcd910c484fd2707d645511b009a406b02f2e6b79a36e1668e6128cd102"}}, {"rule": 2, "type": "equivalent", "target": "7b1f486dc301f3e6d6d8577142e50624", "evidence": {"same_day": true, "patch_ids": ["7d4135084d39bc7e2e106621eaa276df"], "statement_hash": "7e781dcd910c484fd2707d645511b009a406b02f2e6b79a36e1668e6128cd102"}}, {"rule": 2, "type": "equivalent", "target": "c3d76301262c05d2eeb89dd4fef74911", "evidence": {"same_day": true, "patch_ids": ["7d4135084d39bc7e2e106621eaa276df"], "statement_hash": "7e781dcd910c484fd2707d645511b009a406b02f2e6b79a36e1668e6128cd102"}}, {"rule": 2, "type": "equivalent", "target": "cc51e79e171e73873d1f720c845c6758", "evidence": {"same_day": true, "patch_ids": ["7d4135084d39bc7e2e106621eaa276df"], "statement_hash": "7e781dcd910c484fd2707d645511b009a406b02f2e6b79a36e1668e6128cd102"}}], "version": "14.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "cc51e79e171e73873d1f720c845c6758", "kind": "equivalent", "version": "13.6", "label": "13.6", "title": "Fix PL/Python compile failure with Python 3.11 and later", "evidence": {"same_day": true, "patch_ids": ["7d4135084d39bc7e2e106621eaa276df"], "statement_hash": "7e781dcd910c484fd2707d645511b009a406b02f2e6b79a36e1668e6128cd102"}, "url": "/docs/compare/?release=13.6#13.6-af0245c0acb29b17", "source_url": "/docs/release/13.6/#id-1.11.6.23.5"}, {"db_id": "13a04fb18f319baf0cb11dfb357a845e", "kind": "equivalent", "version": "12.10", "label": "12.10", "title": "Fix PL/Python compile failure with Python 3.11 and later", "evidence": {"same_day": true, "patch_ids": ["7d4135084d39bc7e2e106621eaa276df"], "statement_hash": "7e781dcd910c484fd2707d645511b009a406b02f2e6b79a36e1668e6128cd102"}, "url": "/docs/compare/?release=12.10#12.10-327f34dc5d14308b", "source_url": "/docs/release/12.10/#id-1.11.6.18.5"}, {"db_id": "c3d76301262c05d2eeb89dd4fef74911", "kind": "equivalent", "version": "11.15", "label": "11.15", "title": "Fix PL/Python compile failure with Python 3.11 and later", "evidence": {"same_day": true, "patch_ids": ["7d4135084d39bc7e2e106621eaa276df"], "statement_hash": "7e781dcd910c484fd2707d645511b009a406b02f2e6b79a36e1668e6128cd102"}, "url": "/docs/compare/?release=11.15#11.15-6c0d528424feb57a", "source_url": "/docs/release/11.15/#id-1.11.6.12.5"}, {"db_id": "7b1f486dc301f3e6d6d8577142e50624", "kind": "equivalent", "version": "10.20", "label": "10.20", "title": "Fix PL/Python compile failure with Python 3.11 and later", "evidence": {"same_day": true, "patch_ids": ["7d4135084d39bc7e2e106621eaa276df"], "statement_hash": "7e781dcd910c484fd2707d645511b009a406b02f2e6b79a36e1668e6128cd102"}, "url": "/docs/compare/?release=10.20#10.20-6c0d528424feb57a", "source_url": "/docs/release/10.20/#id-1.11.6.8.6"}]}, {"id": "14.2-4d53e4bd31504d36", "cves": [], "html": "<p>Add support for building with Visual Studio 2022 (Hans Buschmann) <a href=\"https://postgr.es/c/0e681fa45\">§</a></p>", "text": "Add support for building with Visual Studio 2022 (Hans Buschmann) §", "title": "Add support for building with Visual Studio 2022", "commits": ["0e681fa45"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "7948f026795e2442a5c0ece7c0cbab645882839c48c17f55c316ff34121ee00d", "section_path": ["Changes"], "commit_groups": [["0e681fa45", "1061e41ff", "420d5e40b", "82881a9b9", "b2265d305", "baef657d3"]], "identity_text": "Add support for building with Visual Studio 2022 (Hans Buschmann)", "commit_aliases": ["0e681fa45", "1061e41ff", "420d5e40b", "82881a9b9", "b2265d305", "baef657d3"], "source_commits": ["0e681fa45"], "source_entry_id": "14.2/changes/056", "db_id": "7b3bd9bc50ecd5773c9a397fffb0c304", "patch_ids": ["d582ea74e4193a4c295e06a50423dc1f"], "statement_hash": "d804a77ca9d95c3910c2b2ccdb42f2330a1f70cbe3f2d7e38d958d109eb56443", "relations": [{"rule": 2, "type": "equivalent", "target": "06c788e089a803781c51bd01dbdcd963", "evidence": {"same_day": true, "patch_ids": ["d582ea74e4193a4c295e06a50423dc1f"], "statement_hash": "d804a77ca9d95c3910c2b2ccdb42f2330a1f70cbe3f2d7e38d958d109eb56443"}}, {"rule": 2, "type": "equivalent", "target": "3fcbfa1a55a79d20d519ca8e6dc5de17", "evidence": {"same_day": true, "patch_ids": ["d582ea74e4193a4c295e06a50423dc1f"], "statement_hash": "d804a77ca9d95c3910c2b2ccdb42f2330a1f70cbe3f2d7e38d958d109eb56443"}}, {"rule": 2, "type": "equivalent", "target": "6fa75044ec137fbe6a2b518ab58b29a2", "evidence": {"same_day": true, "patch_ids": ["d582ea74e4193a4c295e06a50423dc1f"], "statement_hash": "d804a77ca9d95c3910c2b2ccdb42f2330a1f70cbe3f2d7e38d958d109eb56443"}}, {"rule": 2, "type": "equivalent", "target": "fa47bdc36262034bc0dbbe6df7e51282", "evidence": {"same_day": true, "patch_ids": ["d582ea74e4193a4c295e06a50423dc1f"], "statement_hash": "d804a77ca9d95c3910c2b2ccdb42f2330a1f70cbe3f2d7e38d958d109eb56443"}}], "version": "14.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "3fcbfa1a55a79d20d519ca8e6dc5de17", "kind": "equivalent", "version": "13.6", "label": "13.6", "title": "Add support for building with Visual Studio 2022", "evidence": {"same_day": true, "patch_ids": ["d582ea74e4193a4c295e06a50423dc1f"], "statement_hash": "d804a77ca9d95c3910c2b2ccdb42f2330a1f70cbe3f2d7e38d958d109eb56443"}, "url": "/docs/compare/?release=13.6#13.6-cf38a7a54e0e5de1", "source_url": "/docs/release/13.6/#id-1.11.6.23.5"}, {"db_id": "06c788e089a803781c51bd01dbdcd963", "kind": "equivalent", "version": "12.10", "label": "12.10", "title": "Add support for building with Visual Studio 2022", "evidence": {"same_day": true, "patch_ids": ["d582ea74e4193a4c295e06a50423dc1f"], "statement_hash": "d804a77ca9d95c3910c2b2ccdb42f2330a1f70cbe3f2d7e38d958d109eb56443"}, "url": "/docs/compare/?release=12.10#12.10-a5e4edbc625bac47", "source_url": "/docs/release/12.10/#id-1.11.6.18.5"}, {"db_id": "6fa75044ec137fbe6a2b518ab58b29a2", "kind": "equivalent", "version": "11.15", "label": "11.15", "title": "Add support for building with Visual Studio 2022", "evidence": {"same_day": true, "patch_ids": ["d582ea74e4193a4c295e06a50423dc1f"], "statement_hash": "d804a77ca9d95c3910c2b2ccdb42f2330a1f70cbe3f2d7e38d958d109eb56443"}, "url": "/docs/compare/?release=11.15#11.15-374dc448e7fea4e6", "source_url": "/docs/release/11.15/#id-1.11.6.12.5"}, {"db_id": "fa47bdc36262034bc0dbbe6df7e51282", "kind": "equivalent", "version": "10.20", "label": "10.20", "title": "Add support for building with Visual Studio 2022", "evidence": {"same_day": true, "patch_ids": ["d582ea74e4193a4c295e06a50423dc1f"], "statement_hash": "d804a77ca9d95c3910c2b2ccdb42f2330a1f70cbe3f2d7e38d958d109eb56443"}, "url": "/docs/compare/?release=10.20#10.20-374dc448e7fea4e6", "source_url": "/docs/release/10.20/#id-1.11.6.8.6"}]}, {"id": "14.2-793be1be62743d22", "cves": [], "html": "<p>Allow the <code>.bat</code> wrapper scripts in our MSVC build system to be called without first changing into their directory (Anton Voloshin, Andrew Dunstan) <a href=\"https://postgr.es/c/a7772e874\">§</a> <a href=\"https://postgr.es/c/156a846d9\">§</a></p>", "text": "Allow the .bat wrapper scripts in our MSVC build system to be called without first changing into their directory (Anton Voloshin, Andrew Dunstan) § §", "title": "Allow the .bat wrapper scripts in our MSVC build system to be called without first changing into their directory", "commits": ["156a846d9", "a7772e874"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.2/#id-1.11.6.28.5", "source_hash": "36b7714a3ecd2ee01e3e132d4d93c631b3826b43794aafb9ee1174cbae7c3cb1", "section_path": ["Changes"], "commit_groups": [["0a79feeca", "156a846d9", "22d8c2570", "31680730e", "a5bd14d93", "f80900be0"], ["a4cde9153", "a7772e874", "c3879a7b4", "c7fa0f55d", "d897361c7", "f3ded9c46"]], "identity_text": "Allow the .bat wrapper scripts in our MSVC build system to be called without first changing into their directory (Anton Voloshin, Andrew Dunstan)", "commit_aliases": ["0a79feeca", "156a846d9", "22d8c2570", "31680730e", "a4cde9153", "a5bd14d93", "a7772e874", "c3879a7b4", "c7fa0f55d", "d897361c7", "f3ded9c46", "f80900be0"], "source_commits": ["156a846d9", "a7772e874"], "source_entry_id": "14.2/changes/057", "db_id": "f51ed18fa8b74327b7b0192f4117facd", "patch_ids": ["98acb3e9fc6789bc2f255f99063a4f36", "d98a5c9a09005beb37472a230e016339"], "statement_hash": "74a0fa9ad0431273e05110a03879fb26b425d24655a8ae3840f8c1cb5b78399a", "relations": [{"rule": 2, "type": "equivalent", "target": "357e1dce6f8e3fcf96ba664524b6357e", "evidence": {"same_day": true, "patch_ids": ["98acb3e9fc6789bc2f255f99063a4f36", "d98a5c9a09005beb37472a230e016339"], "statement_hash": "74a0fa9ad0431273e05110a03879fb26b425d24655a8ae3840f8c1cb5b78399a"}}, {"rule": 2, "type": "equivalent", "target": "5fe587481566a0b581b28aa2d1fc2f08", "evidence": {"same_day": true, "patch_ids": ["98acb3e9fc6789bc2f255f99063a4f36", "d98a5c9a09005beb37472a230e016339"], "statement_hash": "74a0fa9ad0431273e05110a03879fb26b425d24655a8ae3840f8c1cb5b78399a"}}, {"rule": 2, "type": "equivalent", "target": "baf4039910310a3004179932096ce9fb", "evidence": {"same_day": true, "patch_ids": ["98acb3e9fc6789bc2f255f99063a4f36", "d98a5c9a09005beb37472a230e016339"], "statement_hash": "74a0fa9ad0431273e05110a03879fb26b425d24655a8ae3840f8c1cb5b78399a"}}, {"rule": 2, "type": "equivalent", "target": "decb7196802a8995e15d6d5170ac6598", "evidence": {"same_day": true, "patch_ids": ["98acb3e9fc6789bc2f255f99063a4f36", "d98a5c9a09005beb37472a230e016339"], "statement_hash": "74a0fa9ad0431273e05110a03879fb26b425d24655a8ae3840f8c1cb5b78399a"}}], "version": "14.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "baf4039910310a3004179932096ce9fb", "kind": "equivalent", "version": "13.6", "label": "13.6", "title": "Allow the .bat wrapper scripts in our MSVC build system to be called without first changing into their directory", "evidence": {"same_day": true, "patch_ids": ["98acb3e9fc6789bc2f255f99063a4f36", "d98a5c9a09005beb37472a230e016339"], "statement_hash": "74a0fa9ad0431273e05110a03879fb26b425d24655a8ae3840f8c1cb5b78399a"}, "url": "/docs/compare/?release=13.6#13.6-c9d016367d2f2887", "source_url": "/docs/release/13.6/#id-1.11.6.23.5"}, {"db_id": "decb7196802a8995e15d6d5170ac6598", "kind": "equivalent", "version": "12.10", "label": "12.10", "title": "Allow the .bat wrapper scripts in our MSVC build system to be called without first changing into their directory", "evidence": {"same_day": true, "patch_ids": ["98acb3e9fc6789bc2f255f99063a4f36", "d98a5c9a09005beb37472a230e016339"], "statement_hash": "74a0fa9ad0431273e05110a03879fb26b425d24655a8ae3840f8c1cb5b78399a"}, "url": "/docs/compare/?release=12.10#12.10-8a10d70710c3e16e", "source_url": "/docs/release/12.10/#id-1.11.6.18.5"}, {"db_id": "357e1dce6f8e3fcf96ba664524b6357e", "kind": "equivalent", "version": "11.15", "label": "11.15", "title": "Allow the .bat wrapper scripts in our MSVC build system to be called without first changing into their directory", "evidence": {"same_day": true, "patch_ids": ["98acb3e9fc6789bc2f255f99063a4f36", "d98a5c9a09005beb37472a230e016339"], "statement_hash": "74a0fa9ad0431273e05110a03879fb26b425d24655a8ae3840f8c1cb5b78399a"}, "url": "/docs/compare/?release=11.15#11.15-b2e67db11a26723e", "source_url": "/docs/release/11.15/#id-1.11.6.12.5"}, {"db_id": "5fe587481566a0b581b28aa2d1fc2f08", "kind": "equivalent", "version": "10.20", "label": "10.20", "title": "Allow the .bat wrapper scripts in our MSVC build system to be called without first changing into their directory", "evidence": {"same_day": true, "patch_ids": ["98acb3e9fc6789bc2f255f99063a4f36", "d98a5c9a09005beb37472a230e016339"], "statement_hash": "74a0fa9ad0431273e05110a03879fb26b425d24655a8ae3840f8c1cb5b78399a"}, "url": "/docs/compare/?release=10.20#10.20-b2e67db11a26723e", "source_url": "/docs/release/10.20/#id-1.11.6.8.6"}]}]}], "stats": [{"key": "all", "label": "All changes", "count": 57}, {"key": "feature", "label": "Features", "count": 0}, {"key": "bugfix", "label": "Bug fixes", "count": 31}, {"key": "security", "label": "Security", "count": 0}, {"key": "performance", "label": "Performance", "count": 1}, {"key": "compatibility", "label": "Compatibility", "count": 0}, {"key": "improvement", "label": "Improvements", "count": 25}], "total": 57, "release_count": 1, "cross_major": false, "cve_count": 0, "cves": [], "cve_available": true, "remaining_cves": [], "security_regressions": [], "warnings": [], "candidate_count": 57, "already_in_source_count": 0, "duplicate_count": 0, "excluded_count": 0, "exclusions": [], "source_as_of": "2026-09-26", "security_as_of": "2026-09-26"}