{"format": 1, "mode": "release", "from_release": null, "to_release": {"date": "2025-11-13", "build": "15.15", "major": "15", "minor": 15, "manual": "15", "status": "stable", "doc_git": "", "version": "15.15", "eol_date": "2027-11-11", "date_text": "2025-11-13", "supported": true, "manual_url": "/docs/15/release-15-15.html", "source_url": "/docs/release/15.15/", "entry_count": 54, "placeholder": false, "content_hash": "1a16c6227d7ee66ef53c6f8997a795df4dbeaa44b3e64d3117a1071093a8b552", "manual_build": "15.19", "source_as_of": "", "changes_count": 54, "doc_loaded_at": "2026-09-25T02:22:44.760693", "migration_html": "<p>A dump/restore is not required for those running 15.X.</p>\n<p>However, if you are upgrading from a version earlier than 15.14, see <a href=\"/docs/15/release-15-14.html\" title=\"E.6. Release 15.14\">Section E.6</a>.</p>", "compatibility_count": 0, "label": "15.15", "status_label": "Supported", "eol": "2027-11-11", "age_days": 317, "support_days": 411}, "groups": [{"date": "2025-11-13", "build": "15.15", "major": "15", "minor": 15, "manual": "15", "status": "stable", "doc_git": "", "version": "15.15", "eol_date": "2027-11-11", "date_text": "2025-11-13", "supported": true, "manual_url": "/docs/15/release-15-15.html", "source_url": "/docs/release/15.15/", "entry_count": 54, "placeholder": false, "content_hash": "1a16c6227d7ee66ef53c6f8997a795df4dbeaa44b3e64d3117a1071093a8b552", "manual_build": "15.19", "source_as_of": "", "changes_count": 54, "doc_loaded_at": "2026-09-25T02:22:44.760693", "migration_html": "<p>A dump/restore is not required for those running 15.X.</p>\n<p>However, if you are upgrading from a version earlier than 15.14, see <a href=\"/docs/15/release-15-14.html\" title=\"E.6. Release 15.14\">Section E.6</a>.</p>", "compatibility_count": 0, "label": "15.15", "status_label": "Supported", "eol": "2027-11-11", "age_days": 317, "support_days": 411, "entries": [{"id": "15.15-41d0e2da68ae7d2f", "cves": ["CVE-2025-12817"], "html": "<p>Check for <code>CREATE</code> privileges on the schema in <code>CREATE STATISTICS</code> (Jelte Fennema-Nio) <a href=\"https://postgr.es/c/2393d374a\">§</a></p>\n<p>This omission allowed table owners to create statistics in any schema, potentially leading to unexpected naming conflicts.</p>\n<p>The <span>PostgreSQL</span> Project thanks Jelte Fennema-Nio for reporting this problem. (CVE-2025-12817)</p>", "text": "Check for CREATE privileges on the schema in CREATE STATISTICS (Jelte Fennema-Nio) § This omission allowed table owners to create statistics in any schema, potentially leading to unexpected naming conflicts. The PostgreSQL Project thanks Jelte Fennema-Nio for reporting this problem. (CVE-2025-12817)", "title": "Check for CREATE privileges on the schema in CREATE STATISTICS", "commits": ["2393d374a"], "section": "Changes", "category": "security", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "8c466bde452f1d4ec93fd6ee19e0829ceaf8a50e73243b654f8d0bd7c2073a03", "section_path": ["Changes"], "commit_groups": [["00eb646ea", "2393d374a", "5e4fcbe53", "8a2530ebc", "95cce5669", "d20abb587", "e2fb3dfa8"]], "identity_text": "Check for CREATE privileges on the schema in CREATE STATISTICS (Jelte Fennema-Nio) This omission allowed table owners to create statistics in any schema, potentially leading to unexpected naming conflicts. The PostgreSQL Project thanks Jelte Fennema-Nio for reporting this problem. (CVE-2025-12817)", "commit_aliases": ["00eb646ea", "2393d374a", "5e4fcbe53", "8a2530ebc", "95cce5669", "d20abb587", "e2fb3dfa8"], "source_commits": ["2393d374a"], "source_entry_id": "15.15/changes/001", "db_id": "3aabd99e8b497ed573a9c3988472f89b", "patch_ids": ["99e1ddd8be3f2e70a07b173bce56eec6"], "statement_hash": "2fdab1083a50be24b1dca00ede9ffd5906a617c6df360497714a885f6ff9f704", "relations": [{"rule": 2, "type": "equivalent", "target": "0b1db4254a2e3444434b0ca4004ea84b", "evidence": {"same_day": true, "patch_ids": ["99e1ddd8be3f2e70a07b173bce56eec6"], "statement_hash": "2fdab1083a50be24b1dca00ede9ffd5906a617c6df360497714a885f6ff9f704"}}, {"rule": 2, "type": "equivalent", "target": "5434410099d24e095f2f3662e9b084be", "evidence": {"same_day": true, "patch_ids": ["99e1ddd8be3f2e70a07b173bce56eec6"], "statement_hash": "2fdab1083a50be24b1dca00ede9ffd5906a617c6df360497714a885f6ff9f704"}}, {"rule": 2, "type": "equivalent", "target": "6167ff71ba63659939df7295a1784bd5", "evidence": {"same_day": true, "patch_ids": ["99e1ddd8be3f2e70a07b173bce56eec6"], "statement_hash": "2fdab1083a50be24b1dca00ede9ffd5906a617c6df360497714a885f6ff9f704"}}, {"rule": 2, "type": "equivalent", "target": "7a542e168dfd911c88c2817105ab4eb1", "evidence": {"same_day": true, "patch_ids": ["99e1ddd8be3f2e70a07b173bce56eec6"], "statement_hash": "2fdab1083a50be24b1dca00ede9ffd5906a617c6df360497714a885f6ff9f704"}}, {"rule": 2, "type": "equivalent", "target": "fc4febff3c2281775597453f96dfd148", "evidence": {"same_day": true, "patch_ids": ["99e1ddd8be3f2e70a07b173bce56eec6"], "statement_hash": "2fdab1083a50be24b1dca00ede9ffd5906a617c6df360497714a885f6ff9f704"}}], "version": "15.15", "category_label": "Security", "also_in": [], "variants": [], "related_changes": [{"db_id": "0b1db4254a2e3444434b0ca4004ea84b", "kind": "equivalent", "version": "18.1", "label": "18.1", "title": "Check for CREATE privileges on the schema in CREATE STATISTICS", "evidence": {"same_day": true, "patch_ids": ["99e1ddd8be3f2e70a07b173bce56eec6"], "statement_hash": "2fdab1083a50be24b1dca00ede9ffd5906a617c6df360497714a885f6ff9f704"}, "url": "/docs/compare/?release=18.1#18.1-45bd7bfaea1c1e6c", "source_url": "/docs/release/18.1/#RELEASE-18-1-CHANGES"}, {"db_id": "6167ff71ba63659939df7295a1784bd5", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Check for CREATE privileges on the schema in CREATE STATISTICS", "evidence": {"same_day": true, "patch_ids": ["99e1ddd8be3f2e70a07b173bce56eec6"], "statement_hash": "2fdab1083a50be24b1dca00ede9ffd5906a617c6df360497714a885f6ff9f704"}, "url": "/docs/compare/?release=17.7#17.7-36aab10e5138d3d1", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "fc4febff3c2281775597453f96dfd148", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Check for CREATE privileges on the schema in CREATE STATISTICS", "evidence": {"same_day": true, "patch_ids": ["99e1ddd8be3f2e70a07b173bce56eec6"], "statement_hash": "2fdab1083a50be24b1dca00ede9ffd5906a617c6df360497714a885f6ff9f704"}, "url": "/docs/compare/?release=16.11#16.11-de601249f8288957", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "7a542e168dfd911c88c2817105ab4eb1", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Check for CREATE privileges on the schema in CREATE STATISTICS", "evidence": {"same_day": true, "patch_ids": ["99e1ddd8be3f2e70a07b173bce56eec6"], "statement_hash": "2fdab1083a50be24b1dca00ede9ffd5906a617c6df360497714a885f6ff9f704"}, "url": "/docs/compare/?release=14.20#14.20-1acfdd0cd4bbd28d", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "5434410099d24e095f2f3662e9b084be", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "Check for CREATE privileges on the schema in CREATE STATISTICS", "evidence": {"same_day": true, "patch_ids": ["99e1ddd8be3f2e70a07b173bce56eec6"], "statement_hash": "2fdab1083a50be24b1dca00ede9ffd5906a617c6df360497714a885f6ff9f704"}, "url": "/docs/compare/?release=13.23#13.23-5bf870f01e021d82", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}, {"id": "15.15-3568c624ba81b610", "cves": ["CVE-2025-12818"], "html": "<p>Avoid integer overflow in allocation-size calculations within <span>libpq</span> (Jacob Champion) <a href=\"https://postgr.es/c/91421565f\">§</a></p>\n<p>Several places in <span>libpq</span> were not sufficiently careful about computing the required size of a memory allocation. Sufficiently large inputs could cause integer overflow, resulting in an undersized buffer, which would then lead to writing past the end of the buffer.</p>\n<p>The <span>PostgreSQL</span> Project thanks Aleksey Solovev of Positive Technologies for reporting this problem. (CVE-2025-12818)</p>", "text": "Avoid integer overflow in allocation-size calculations within libpq (Jacob Champion) § Several places in libpq were not sufficiently careful about computing the required size of a memory allocation. Sufficiently large inputs could cause integer overflow, resulting in an undersized buffer, which would then lead to writing past the end of the buffer. The PostgreSQL Project thanks Aleksey Solovev of Positive Technologies for reporting this problem. (CVE-2025-12818)", "title": "Avoid integer overflow in allocation-size calculations within libpq", "commits": ["91421565f"], "section": "Changes", "category": "security", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "eda5d35929ec0b715719a729779621b11f04806ed7ca36f0dc00cb19e2dff5aa", "section_path": ["Changes"], "commit_groups": [["585fd9b3c", "600086f47", "7eb8fcad8", "91421565f", "96d2c7e96", "d6f0c0d6d", "f5999f018"]], "identity_text": "Avoid integer overflow in allocation-size calculations within libpq (Jacob Champion) Several places in libpq were not sufficiently careful about computing the required size of a memory allocation. Sufficiently large inputs could cause integer overflow, resulting in an undersized buffer, which would then lead to writing past the end of the buffer. The PostgreSQL Project thanks Aleksey Solovev of Positive Technologies for reporting this problem. (CVE-2025-12818)", "commit_aliases": ["585fd9b3c", "600086f47", "7eb8fcad8", "91421565f", "96d2c7e96", "d6f0c0d6d", "f5999f018"], "source_commits": ["91421565f"], "source_entry_id": "15.15/changes/002", "db_id": "601fa44b8aa3f725f41f2320ba9cf51b", "patch_ids": ["16e4d7f7cb99380bcadbeb1a4c45eac4"], "statement_hash": "42e2acf7dbacc3d12e55dc8cc3dc23c6a2afed82c46ae3bf37cba022acdca1bb", "relations": [{"rule": 2, "type": "equivalent", "target": "10c3ef25a629d41429d514190a9f5584", "evidence": {"same_day": true, "patch_ids": ["16e4d7f7cb99380bcadbeb1a4c45eac4"], "statement_hash": "42e2acf7dbacc3d12e55dc8cc3dc23c6a2afed82c46ae3bf37cba022acdca1bb"}}, {"rule": 2, "type": "equivalent", "target": "1f91b721b071de697f740c95cd556a9e", "evidence": {"same_day": true, "patch_ids": ["16e4d7f7cb99380bcadbeb1a4c45eac4"], "statement_hash": "42e2acf7dbacc3d12e55dc8cc3dc23c6a2afed82c46ae3bf37cba022acdca1bb"}}, {"rule": 2, "type": "equivalent", "target": "9b1eafd982ad52573adf6f2d6ae70703", "evidence": {"same_day": true, "patch_ids": ["16e4d7f7cb99380bcadbeb1a4c45eac4"], "statement_hash": "42e2acf7dbacc3d12e55dc8cc3dc23c6a2afed82c46ae3bf37cba022acdca1bb"}}, {"rule": 2, "type": "equivalent", "target": "c53264df3df1081cfca59daebb417ae4", "evidence": {"same_day": true, "patch_ids": ["16e4d7f7cb99380bcadbeb1a4c45eac4"], "statement_hash": "42e2acf7dbacc3d12e55dc8cc3dc23c6a2afed82c46ae3bf37cba022acdca1bb"}}, {"rule": 2, "type": "equivalent", "target": "cf7417da3f5aaff52ed6398652b5cefb", "evidence": {"same_day": true, "patch_ids": ["16e4d7f7cb99380bcadbeb1a4c45eac4"], "statement_hash": "42e2acf7dbacc3d12e55dc8cc3dc23c6a2afed82c46ae3bf37cba022acdca1bb"}}], "version": "15.15", "category_label": "Security", "also_in": [], "variants": [], "related_changes": [{"db_id": "c53264df3df1081cfca59daebb417ae4", "kind": "equivalent", "version": "18.1", "label": "18.1", "title": "Avoid integer overflow in allocation-size calculations within libpq", "evidence": {"same_day": true, "patch_ids": ["16e4d7f7cb99380bcadbeb1a4c45eac4"], "statement_hash": "42e2acf7dbacc3d12e55dc8cc3dc23c6a2afed82c46ae3bf37cba022acdca1bb"}, "url": "/docs/compare/?release=18.1#18.1-3a4a5ae84a44ca49", "source_url": "/docs/release/18.1/#RELEASE-18-1-CHANGES"}, {"db_id": "cf7417da3f5aaff52ed6398652b5cefb", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Avoid integer overflow in allocation-size calculations within libpq", "evidence": {"same_day": true, "patch_ids": ["16e4d7f7cb99380bcadbeb1a4c45eac4"], "statement_hash": "42e2acf7dbacc3d12e55dc8cc3dc23c6a2afed82c46ae3bf37cba022acdca1bb"}, "url": "/docs/compare/?release=17.7#17.7-a326b8fad6479f02", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "10c3ef25a629d41429d514190a9f5584", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Avoid integer overflow in allocation-size calculations within libpq", "evidence": {"same_day": true, "patch_ids": ["16e4d7f7cb99380bcadbeb1a4c45eac4"], "statement_hash": "42e2acf7dbacc3d12e55dc8cc3dc23c6a2afed82c46ae3bf37cba022acdca1bb"}, "url": "/docs/compare/?release=16.11#16.11-c5f87912ec601f66", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "1f91b721b071de697f740c95cd556a9e", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Avoid integer overflow in allocation-size calculations within libpq", "evidence": {"same_day": true, "patch_ids": ["16e4d7f7cb99380bcadbeb1a4c45eac4"], "statement_hash": "42e2acf7dbacc3d12e55dc8cc3dc23c6a2afed82c46ae3bf37cba022acdca1bb"}, "url": "/docs/compare/?release=14.20#14.20-e2a95ddb7200c878", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "9b1eafd982ad52573adf6f2d6ae70703", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "Avoid integer overflow in allocation-size calculations within libpq", "evidence": {"same_day": true, "patch_ids": ["16e4d7f7cb99380bcadbeb1a4c45eac4"], "statement_hash": "42e2acf7dbacc3d12e55dc8cc3dc23c6a2afed82c46ae3bf37cba022acdca1bb"}, "url": "/docs/compare/?release=13.23#13.23-d6bd7a2c0c48c3ad", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}, {"id": "15.15-53275f7f0ec40834", "cves": [], "html": "<p>Further fix processing of character classes within <code>SIMILAR TO</code> regular expressions (Laurenz Albe) <a href=\"https://postgr.es/c/9fd531534\">§</a></p>\n<p>The previous fix for translating <code>SIMILAR TO</code> pattern matching expressions to POSIX-style regular expressions broke a corner case that formerly worked: if there is an escape character right after the opening bracket and then a closing bracket right after the escape sequence (for example <code>[\\w]</code>), the closing bracket was no longer seen as terminating the character class.</p>", "text": "Further fix processing of character classes within SIMILAR TO regular expressions (Laurenz Albe) § The previous fix for translating SIMILAR TO pattern matching expressions to POSIX-style regular expressions broke a corner case that formerly worked: if there is an escape character right after the opening bracket and then a closing bracket right after the escape sequence (for example [\\w]), the closing bracket was no longer seen as terminating the character class.", "title": "Further fix processing of character classes within SIMILAR TO regular expressions", "commits": ["9fd531534"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "4fcaa977c8ca1d6189ff49d62be2428a998d0ca2c54a1b93d98009015ee9b480", "section_path": ["Changes"], "commit_groups": [["281ad4ed1", "308773617", "802308693", "9fd531534", "cdf7feb96", "e09adb5b9", "f75ff1b14"]], "identity_text": "Further fix processing of character classes within SIMILAR TO regular expressions (Laurenz Albe) The previous fix for translating SIMILAR TO pattern matching expressions to POSIX-style regular expressions broke a corner case that formerly worked: if there is an escape character right after the opening bracket and then a closing bracket right after the escape sequence (for example [\\w]), the closing bracket was no longer seen as terminating the character class.", "commit_aliases": ["281ad4ed1", "308773617", "802308693", "9fd531534", "cdf7feb96", "e09adb5b9", "f75ff1b14"], "source_commits": ["9fd531534"], "source_entry_id": "15.15/changes/003", "db_id": "126d2565dd47a1a1ceedb71b239f90fd", "patch_ids": ["880d2cb961218bd1733eaffa295f0519"], "statement_hash": "32047fa502a05a72395459014ad3aceb8f209cc185eb53ee1104d11634e73ffa", "relations": [{"rule": 2, "type": "equivalent", "target": "2285589ba0a843d5b4c36cb9771c9526", "evidence": {"same_day": true, "patch_ids": ["880d2cb961218bd1733eaffa295f0519"], "statement_hash": "32047fa502a05a72395459014ad3aceb8f209cc185eb53ee1104d11634e73ffa"}}, {"rule": 2, "type": "equivalent", "target": "6ee642c194aa66e31c3bd973bc661f4c", "evidence": {"same_day": true, "patch_ids": ["880d2cb961218bd1733eaffa295f0519"], "statement_hash": "32047fa502a05a72395459014ad3aceb8f209cc185eb53ee1104d11634e73ffa"}}, {"rule": 2, "type": "equivalent", "target": "7525a80f4f15bf961429501b52914fb6", "evidence": {"same_day": true, "patch_ids": ["880d2cb961218bd1733eaffa295f0519"], "statement_hash": "32047fa502a05a72395459014ad3aceb8f209cc185eb53ee1104d11634e73ffa"}}, {"rule": 2, "type": "equivalent", "target": "fe6ec7aed3fe1febefdae85352d2c1cb", "evidence": {"same_day": true, "patch_ids": ["880d2cb961218bd1733eaffa295f0519"], "statement_hash": "32047fa502a05a72395459014ad3aceb8f209cc185eb53ee1104d11634e73ffa"}}], "version": "15.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "2285589ba0a843d5b4c36cb9771c9526", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Further fix processing of character classes within SIMILAR TO regular expressions", "evidence": {"same_day": true, "patch_ids": ["880d2cb961218bd1733eaffa295f0519"], "statement_hash": "32047fa502a05a72395459014ad3aceb8f209cc185eb53ee1104d11634e73ffa"}, "url": "/docs/compare/?release=17.7#17.7-da7ba63a6535d5ee", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "6ee642c194aa66e31c3bd973bc661f4c", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Further fix processing of character classes within SIMILAR TO regular expressions", "evidence": {"same_day": true, "patch_ids": ["880d2cb961218bd1733eaffa295f0519"], "statement_hash": "32047fa502a05a72395459014ad3aceb8f209cc185eb53ee1104d11634e73ffa"}, "url": "/docs/compare/?release=16.11#16.11-ee72f5e10880d676", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "fe6ec7aed3fe1febefdae85352d2c1cb", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Further fix processing of character classes within SIMILAR TO regular expressions", "evidence": {"same_day": true, "patch_ids": ["880d2cb961218bd1733eaffa295f0519"], "statement_hash": "32047fa502a05a72395459014ad3aceb8f209cc185eb53ee1104d11634e73ffa"}, "url": "/docs/compare/?release=14.20#14.20-927aa6d409a0735d", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "7525a80f4f15bf961429501b52914fb6", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "Further fix processing of character classes within SIMILAR TO regular expressions", "evidence": {"same_day": true, "patch_ids": ["880d2cb961218bd1733eaffa295f0519"], "statement_hash": "32047fa502a05a72395459014ad3aceb8f209cc185eb53ee1104d11634e73ffa"}, "url": "/docs/compare/?release=13.23#13.23-d06f6ff99ab435ef", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}, {"id": "15.15-26debfeb7f98ef7e", "cves": [], "html": "<p>Fix parsing of aggregate functions whose arguments contain a sub-select with a <code>FROM</code> reference to a CTE outside the aggregate function (Tom Lane) <a href=\"https://postgr.es/c/afd18f276\">§</a></p>\n<p>Such a CTE reference must act like a outer-level column reference when determining the aggregate's semantic level; but it was not being accounted for, leading to obscure planner or executor errors.</p>", "text": "Fix parsing of aggregate functions whose arguments contain a sub-select with a FROM reference to a CTE outside the aggregate function (Tom Lane) § Such a CTE reference must act like a outer-level column reference when determining the aggregate's semantic level; but it was not being accounted for, leading to obscure planner or executor errors.", "title": "Fix parsing of aggregate functions whose arguments contain a sub-select with a FROM reference to a CTE outside the aggregate function", "commits": ["afd18f276"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "7b4961d8013a11342decd6428a686461a5034bc6d0b9c2f42a8d75995f08ff46", "section_path": ["Changes"], "commit_groups": [["31bf09632", "4eab45649", "7df74e635", "afd18f276", "b0cc0a71e", "b649ef244", "e830896c1"]], "identity_text": "Fix parsing of aggregate functions whose arguments contain a sub-select with a FROM reference to a CTE outside the aggregate function (Tom Lane) Such a CTE reference must act like a outer-level column reference when determining the aggregate's semantic level; but it was not being accounted for, leading to obscure planner or executor errors.", "commit_aliases": ["31bf09632", "4eab45649", "7df74e635", "afd18f276", "b0cc0a71e", "b649ef244", "e830896c1"], "source_commits": ["afd18f276"], "source_entry_id": "15.15/changes/004", "db_id": "496274d3f10dbd29bc080049d8d677b1", "patch_ids": ["764fe240bdd6c66a1ae1b512c5f9d9fa"], "statement_hash": "6c59c9afd476bfa04a78114953d6cd6ef60d44b7f7b6d29030c3250fc71c6e8f", "relations": [{"rule": 2, "type": "equivalent", "target": "48bd01e91a13d4e5586eb1d5e90f7841", "evidence": {"same_day": true, "patch_ids": ["764fe240bdd6c66a1ae1b512c5f9d9fa"], "statement_hash": "6c59c9afd476bfa04a78114953d6cd6ef60d44b7f7b6d29030c3250fc71c6e8f"}}, {"rule": 2, "type": "equivalent", "target": "655b2c30e54df5842d2bbb82e898c78f", "evidence": {"same_day": true, "patch_ids": ["764fe240bdd6c66a1ae1b512c5f9d9fa"], "statement_hash": "6c59c9afd476bfa04a78114953d6cd6ef60d44b7f7b6d29030c3250fc71c6e8f"}}, {"rule": 2, "type": "equivalent", "target": "9b994a98438fd30222b16d67c861c04f", "evidence": {"same_day": true, "patch_ids": ["764fe240bdd6c66a1ae1b512c5f9d9fa"], "statement_hash": "6c59c9afd476bfa04a78114953d6cd6ef60d44b7f7b6d29030c3250fc71c6e8f"}}, {"rule": 2, "type": "equivalent", "target": "ea36580551561ed6223f1508f1946e4e", "evidence": {"same_day": true, "patch_ids": ["764fe240bdd6c66a1ae1b512c5f9d9fa"], "statement_hash": "6c59c9afd476bfa04a78114953d6cd6ef60d44b7f7b6d29030c3250fc71c6e8f"}}], "version": "15.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "9b994a98438fd30222b16d67c861c04f", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Fix parsing of aggregate functions whose arguments contain a sub-select with a FROM reference to a CTE outside the aggregate function", "evidence": {"same_day": true, "patch_ids": ["764fe240bdd6c66a1ae1b512c5f9d9fa"], "statement_hash": "6c59c9afd476bfa04a78114953d6cd6ef60d44b7f7b6d29030c3250fc71c6e8f"}, "url": "/docs/compare/?release=17.7#17.7-ebbd81de208ea5bb", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "655b2c30e54df5842d2bbb82e898c78f", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Fix parsing of aggregate functions whose arguments contain a sub-select with a FROM reference to a CTE outside the aggregate function", "evidence": {"same_day": true, "patch_ids": ["764fe240bdd6c66a1ae1b512c5f9d9fa"], "statement_hash": "6c59c9afd476bfa04a78114953d6cd6ef60d44b7f7b6d29030c3250fc71c6e8f"}, "url": "/docs/compare/?release=16.11#16.11-197cbe6bbef1cc79", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "48bd01e91a13d4e5586eb1d5e90f7841", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Fix parsing of aggregate functions whose arguments contain a sub-select with a FROM reference to a CTE outside the aggregate function", "evidence": {"same_day": true, "patch_ids": ["764fe240bdd6c66a1ae1b512c5f9d9fa"], "statement_hash": "6c59c9afd476bfa04a78114953d6cd6ef60d44b7f7b6d29030c3250fc71c6e8f"}, "url": "/docs/compare/?release=14.20#14.20-86bc742902dd05d4", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "ea36580551561ed6223f1508f1946e4e", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "Fix parsing of aggregate functions whose arguments contain a sub-select with a FROM reference to a CTE outside the aggregate function", "evidence": {"same_day": true, "patch_ids": ["764fe240bdd6c66a1ae1b512c5f9d9fa"], "statement_hash": "6c59c9afd476bfa04a78114953d6cd6ef60d44b7f7b6d29030c3250fc71c6e8f"}, "url": "/docs/compare/?release=13.23#13.23-601ca99d891c2e51", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}, {"id": "15.15-7cf40c4e16cb1fa3", "cves": [], "html": "<p>Fix <span>“<span>no relation entry for relid</span>”</span> errors in corner cases while estimating SubPlan costs (Richard Guo) <a href=\"https://postgr.es/c/53e35fb56\">§</a></p>", "text": "Fix “no relation entry for relid” errors in corner cases while estimating SubPlan costs (Richard Guo) §", "title": "Fix “no relation entry for relid” errors in corner cases while estimating SubPlan costs", "commits": ["53e35fb56"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "5960bab501d8d8adb585d684cebb41c7e12a2bffcffdc0ff2184fdb1175481cd", "section_path": ["Changes"], "commit_groups": [["160ef51c8", "53e35fb56", "79ade5873", "8c02d92c6", "ab4a35b4e", "aba8f61c3", "f34202f51"]], "identity_text": "Fix no relation entry for relid errors in corner cases while estimating SubPlan costs (Richard Guo)", "commit_aliases": ["160ef51c8", "53e35fb56", "79ade5873", "8c02d92c6", "ab4a35b4e", "aba8f61c3", "f34202f51"], "source_commits": ["53e35fb56"], "source_entry_id": "15.15/changes/005", "db_id": "df536c487716b8451c39cf180217de1a", "patch_ids": ["d8decfc9f5a72358b7840d271a5ac6a1"], "statement_hash": "cdd2abdad595de6306111fbaf218760c0f0a3957c324b42cbe4aae3519054969", "relations": [{"rule": 2, "type": "equivalent", "target": "304a5f5d1d97c55f6eb257f030200a63", "evidence": {"same_day": true, "patch_ids": ["d8decfc9f5a72358b7840d271a5ac6a1"], "statement_hash": "cdd2abdad595de6306111fbaf218760c0f0a3957c324b42cbe4aae3519054969"}}, {"rule": 2, "type": "equivalent", "target": "75260513242373459b8abd97a5fd39da", "evidence": {"same_day": true, "patch_ids": ["d8decfc9f5a72358b7840d271a5ac6a1"], "statement_hash": "cdd2abdad595de6306111fbaf218760c0f0a3957c324b42cbe4aae3519054969"}}, {"rule": 2, "type": "equivalent", "target": "d6a72085447f9bf689070d6ca738913a", "evidence": {"same_day": true, "patch_ids": ["d8decfc9f5a72358b7840d271a5ac6a1"], "statement_hash": "cdd2abdad595de6306111fbaf218760c0f0a3957c324b42cbe4aae3519054969"}}, {"rule": 2, "type": "equivalent", "target": "f05b18a5008769565327db41a4723345", "evidence": {"same_day": true, "patch_ids": ["d8decfc9f5a72358b7840d271a5ac6a1"], "statement_hash": "cdd2abdad595de6306111fbaf218760c0f0a3957c324b42cbe4aae3519054969"}}], "version": "15.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "304a5f5d1d97c55f6eb257f030200a63", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Fix “no relation entry for relid” errors in corner cases while estimating SubPlan costs", "evidence": {"same_day": true, "patch_ids": ["d8decfc9f5a72358b7840d271a5ac6a1"], "statement_hash": "cdd2abdad595de6306111fbaf218760c0f0a3957c324b42cbe4aae3519054969"}, "url": "/docs/compare/?release=17.7#17.7-8b44b6089b2752d8", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "d6a72085447f9bf689070d6ca738913a", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Fix “no relation entry for relid” errors in corner cases while estimating SubPlan costs", "evidence": {"same_day": true, "patch_ids": ["d8decfc9f5a72358b7840d271a5ac6a1"], "statement_hash": "cdd2abdad595de6306111fbaf218760c0f0a3957c324b42cbe4aae3519054969"}, "url": "/docs/compare/?release=16.11#16.11-085229346703afeb", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "f05b18a5008769565327db41a4723345", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Fix “no relation entry for relid” errors in corner cases while estimating SubPlan costs", "evidence": {"same_day": true, "patch_ids": ["d8decfc9f5a72358b7840d271a5ac6a1"], "statement_hash": "cdd2abdad595de6306111fbaf218760c0f0a3957c324b42cbe4aae3519054969"}, "url": "/docs/compare/?release=14.20#14.20-765079b0a221fb3b", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "75260513242373459b8abd97a5fd39da", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "Fix “no relation entry for relid” errors in corner cases while estimating SubPlan costs", "evidence": {"same_day": true, "patch_ids": ["d8decfc9f5a72358b7840d271a5ac6a1"], "statement_hash": "cdd2abdad595de6306111fbaf218760c0f0a3957c324b42cbe4aae3519054969"}, "url": "/docs/compare/?release=13.23#13.23-beef60f9007c0ef3", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}, {"id": "15.15-c5601e9945b5175b", "cves": [], "html": "<p>Avoid unlikely use-after-free in planner's expansion of partitioned tables (Bernd Reiß) <a href=\"https://postgr.es/c/8286bce0a\">§</a></p>\n<p>There was a hazard only when the last live partition was concurrently dropped.</p>", "text": "Avoid unlikely use-after-free in planner's expansion of partitioned tables (Bernd Reiß) § There was a hazard only when the last live partition was concurrently dropped.", "title": "Avoid unlikely use-after-free in planner's expansion of partitioned tables", "commits": ["8286bce0a"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "d00aac8ed5c1d987d0bbdcac5c90c6e59efcc6e64f5f9b0d520aff973707d016", "section_path": ["Changes"], "commit_groups": [["4aea55891", "8286bce0a", "da9f9f75e", "ed394c4bd", "f0fe1da50"]], "identity_text": "Avoid unlikely use-after-free in planner's expansion of partitioned tables (Bernd Reiß) There was a hazard only when the last live partition was concurrently dropped.", "commit_aliases": ["4aea55891", "8286bce0a", "da9f9f75e", "ed394c4bd", "f0fe1da50"], "source_commits": ["8286bce0a"], "source_entry_id": "15.15/changes/006", "db_id": "1f57d40736bdabe9bc8a77869d9c9b04", "patch_ids": ["e55e2f457210a4ce7dcb76716b923ec9"], "statement_hash": "480521d78d2c88791ac9de6e5bd6149c708d33245ac725282a3cf23ee83dcca7", "relations": [{"rule": 2, "type": "equivalent", "target": "63f6370f34ea6318e9d5166d5c367e81", "evidence": {"same_day": true, "patch_ids": ["e55e2f457210a4ce7dcb76716b923ec9"], "statement_hash": "480521d78d2c88791ac9de6e5bd6149c708d33245ac725282a3cf23ee83dcca7"}}, {"rule": 2, "type": "equivalent", "target": "773719d08d7a0c40dad955952ee23479", "evidence": {"same_day": true, "patch_ids": ["e55e2f457210a4ce7dcb76716b923ec9"], "statement_hash": "480521d78d2c88791ac9de6e5bd6149c708d33245ac725282a3cf23ee83dcca7"}}], "version": "15.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "773719d08d7a0c40dad955952ee23479", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Avoid unlikely use-after-free in planner's expansion of partitioned tables", "evidence": {"same_day": true, "patch_ids": ["e55e2f457210a4ce7dcb76716b923ec9"], "statement_hash": "480521d78d2c88791ac9de6e5bd6149c708d33245ac725282a3cf23ee83dcca7"}, "url": "/docs/compare/?release=17.7#17.7-164b443b931303fa", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "63f6370f34ea6318e9d5166d5c367e81", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Avoid unlikely use-after-free in planner's expansion of partitioned tables", "evidence": {"same_day": true, "patch_ids": ["e55e2f457210a4ce7dcb76716b923ec9"], "statement_hash": "480521d78d2c88791ac9de6e5bd6149c708d33245ac725282a3cf23ee83dcca7"}, "url": "/docs/compare/?release=16.11#16.11-c49fa00a0066ef15", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}]}, {"id": "15.15-a04a5bb82b43a3d4", "cves": [], "html": "<p>Remove faulty assertion in btree index cleanup (Peter Geoghegan) <a href=\"https://postgr.es/c/ca0c93908\">§</a></p>", "text": "Remove faulty assertion in btree index cleanup (Peter Geoghegan) §", "title": "Remove faulty assertion in btree index cleanup", "commits": ["ca0c93908"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "e08146b7763eb36f3c12b85187cd15ba46ab90c61fd3ca55a66bb5bab9336776", "section_path": ["Changes"], "commit_groups": [["314004021", "61de81a49", "843e50208", "ae15cebc2", "af302ff6b", "c160fd469", "ca0c93908"]], "identity_text": "Remove faulty assertion in btree index cleanup (Peter Geoghegan)", "commit_aliases": ["314004021", "61de81a49", "843e50208", "ae15cebc2", "af302ff6b", "c160fd469", "ca0c93908"], "source_commits": ["ca0c93908"], "source_entry_id": "15.15/changes/007", "db_id": "0a57a548c4b77cd7d910727d3c65b3a6", "patch_ids": ["37c608f60096a634457e03ef403861d6"], "statement_hash": "10a7d45ffeb0f11200d10e8732198f5dd91b4ea27bc91850c29a64cd2e8239a1", "relations": [{"rule": 2, "type": "equivalent", "target": "1a0e9b151c18103e9e44e0d5b065435e", "evidence": {"same_day": true, "patch_ids": ["37c608f60096a634457e03ef403861d6"], "statement_hash": "10a7d45ffeb0f11200d10e8732198f5dd91b4ea27bc91850c29a64cd2e8239a1"}}, {"rule": 2, "type": "equivalent", "target": "3933929e20ae66e9831bcbabb992d203", "evidence": {"same_day": true, "patch_ids": ["37c608f60096a634457e03ef403861d6"], "statement_hash": "10a7d45ffeb0f11200d10e8732198f5dd91b4ea27bc91850c29a64cd2e8239a1"}}, {"rule": 2, "type": "equivalent", "target": "444038cce9bb99031a082f8098e1be72", "evidence": {"same_day": true, "patch_ids": ["37c608f60096a634457e03ef403861d6"], "statement_hash": "10a7d45ffeb0f11200d10e8732198f5dd91b4ea27bc91850c29a64cd2e8239a1"}}, {"rule": 2, "type": "equivalent", "target": "488141078c6f2db091ee11544337a811", "evidence": {"same_day": true, "patch_ids": ["37c608f60096a634457e03ef403861d6"], "statement_hash": "10a7d45ffeb0f11200d10e8732198f5dd91b4ea27bc91850c29a64cd2e8239a1"}}, {"rule": 2, "type": "equivalent", "target": "9e457bb041db2cbeaeaf7995dafca323", "evidence": {"same_day": true, "patch_ids": ["37c608f60096a634457e03ef403861d6"], "statement_hash": "10a7d45ffeb0f11200d10e8732198f5dd91b4ea27bc91850c29a64cd2e8239a1"}}], "version": "15.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "1a0e9b151c18103e9e44e0d5b065435e", "kind": "equivalent", "version": "18.1", "label": "18.1", "title": "Remove faulty assertion in btree index cleanup", "evidence": {"same_day": true, "patch_ids": ["37c608f60096a634457e03ef403861d6"], "statement_hash": "10a7d45ffeb0f11200d10e8732198f5dd91b4ea27bc91850c29a64cd2e8239a1"}, "url": "/docs/compare/?release=18.1#18.1-b879ef73b7e33cee", "source_url": "/docs/release/18.1/#RELEASE-18-1-CHANGES"}, {"db_id": "488141078c6f2db091ee11544337a811", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Remove faulty assertion in btree index cleanup", "evidence": {"same_day": true, "patch_ids": ["37c608f60096a634457e03ef403861d6"], "statement_hash": "10a7d45ffeb0f11200d10e8732198f5dd91b4ea27bc91850c29a64cd2e8239a1"}, "url": "/docs/compare/?release=17.7#17.7-0a5a861bce4d8e04", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "3933929e20ae66e9831bcbabb992d203", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Remove faulty assertion in btree index cleanup", "evidence": {"same_day": true, "patch_ids": ["37c608f60096a634457e03ef403861d6"], "statement_hash": "10a7d45ffeb0f11200d10e8732198f5dd91b4ea27bc91850c29a64cd2e8239a1"}, "url": "/docs/compare/?release=16.11#16.11-d9b1b3d193f8b619", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "9e457bb041db2cbeaeaf7995dafca323", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Remove faulty assertion in btree index cleanup", "evidence": {"same_day": true, "patch_ids": ["37c608f60096a634457e03ef403861d6"], "statement_hash": "10a7d45ffeb0f11200d10e8732198f5dd91b4ea27bc91850c29a64cd2e8239a1"}, "url": "/docs/compare/?release=14.20#14.20-5e29cf4287b439af", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "444038cce9bb99031a082f8098e1be72", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "Remove faulty assertion in btree index cleanup", "evidence": {"same_day": true, "patch_ids": ["37c608f60096a634457e03ef403861d6"], "statement_hash": "10a7d45ffeb0f11200d10e8732198f5dd91b4ea27bc91850c29a64cd2e8239a1"}, "url": "/docs/compare/?release=13.23#13.23-14a74180f99d2672", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}, {"id": "15.15-4727ad6ea5a12266", "cves": [], "html": "<p>Fix possible infinite loop in GIN index scans with multiple scan conditions (Tom Lane) <a href=\"https://postgr.es/c/34249b3b5\">§</a></p>\n<p>GIN can handle scan conditions that can reject non-matching entries but are not useful for searching for relevant entries, for example a <code>tsquery</code> clause like <code>!term</code>. But such a condition must not be first in the array of scan conditions. The code failed to ensure that in all cases, with the result that a query having a mix of such conditions with normal conditions might work or not depending on the order in which the conditions were given in the query.</p>", "text": "Fix possible infinite loop in GIN index scans with multiple scan conditions (Tom Lane) § GIN can handle scan conditions that can reject non-matching entries but are not useful for searching for relevant entries, for example a tsquery clause like !term. But such a condition must not be first in the array of scan conditions. The code failed to ensure that in all cases, with the result that a query having a mix of such conditions with normal conditions might work or not depending on the order in which the conditions were given in the query.", "title": "Fix possible infinite loop in GIN index scans with multiple scan conditions", "commits": ["34249b3b5"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "c711608db500943e7d98fa1eea30326e19b021e66effabbb6c61f941fd1d99e1", "section_path": ["Changes"], "commit_groups": [["327b7324d", "34249b3b5", "3a7a3eaaf", "3e0f5f00b", "456c6a05d", "4a593043e", "d532069c3"]], "identity_text": "Fix possible infinite loop in GIN index scans with multiple scan conditions (Tom Lane) GIN can handle scan conditions that can reject non-matching entries but are not useful for searching for relevant entries, for example a tsquery clause like !term. But such a condition must not be first in the array of scan conditions. The code failed to ensure that in all cases, with the result that a query having a mix of such conditions with normal conditions might work or not depending on the order in which the conditions were given in the query.", "commit_aliases": ["327b7324d", "34249b3b5", "3a7a3eaaf", "3e0f5f00b", "456c6a05d", "4a593043e", "d532069c3"], "source_commits": ["34249b3b5"], "source_entry_id": "15.15/changes/008", "db_id": "ada25ecf8ee38daa5fb081917d2948ee", "patch_ids": ["c7ccd83b73c3d597d778562314da09de"], "statement_hash": "a8907b51499c2b1e0161468a2af3e044ab914a05f87ff41296b18699ed393ed8", "relations": [{"rule": 2, "type": "equivalent", "target": "07731746a6ff9a7b9b008a27d072c367", "evidence": {"same_day": true, "patch_ids": ["c7ccd83b73c3d597d778562314da09de"], "statement_hash": "a8907b51499c2b1e0161468a2af3e044ab914a05f87ff41296b18699ed393ed8"}}, {"rule": 2, "type": "equivalent", "target": "1116d0380d0933827af9edc84f00a437", "evidence": {"same_day": true, "patch_ids": ["c7ccd83b73c3d597d778562314da09de"], "statement_hash": "a8907b51499c2b1e0161468a2af3e044ab914a05f87ff41296b18699ed393ed8"}}, {"rule": 2, "type": "equivalent", "target": "5be491ba179504c2233d7625da61d2da", "evidence": {"same_day": true, "patch_ids": ["c7ccd83b73c3d597d778562314da09de"], "statement_hash": "a8907b51499c2b1e0161468a2af3e044ab914a05f87ff41296b18699ed393ed8"}}, {"rule": 2, "type": "equivalent", "target": "bd5d4719bfe4d462348485d2df2fe33e", "evidence": {"same_day": true, "patch_ids": ["c7ccd83b73c3d597d778562314da09de"], "statement_hash": "a8907b51499c2b1e0161468a2af3e044ab914a05f87ff41296b18699ed393ed8"}}], "version": "15.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "5be491ba179504c2233d7625da61d2da", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Fix possible infinite loop in GIN index scans with multiple scan conditions", "evidence": {"same_day": true, "patch_ids": ["c7ccd83b73c3d597d778562314da09de"], "statement_hash": "a8907b51499c2b1e0161468a2af3e044ab914a05f87ff41296b18699ed393ed8"}, "url": "/docs/compare/?release=17.7#17.7-90e7f7363f5668ce", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "07731746a6ff9a7b9b008a27d072c367", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Fix possible infinite loop in GIN index scans with multiple scan conditions", "evidence": {"same_day": true, "patch_ids": ["c7ccd83b73c3d597d778562314da09de"], "statement_hash": "a8907b51499c2b1e0161468a2af3e044ab914a05f87ff41296b18699ed393ed8"}, "url": "/docs/compare/?release=16.11#16.11-b91c9d7c28e506b9", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "1116d0380d0933827af9edc84f00a437", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Fix possible infinite loop in GIN index scans with multiple scan conditions", "evidence": {"same_day": true, "patch_ids": ["c7ccd83b73c3d597d778562314da09de"], "statement_hash": "a8907b51499c2b1e0161468a2af3e044ab914a05f87ff41296b18699ed393ed8"}, "url": "/docs/compare/?release=14.20#14.20-4e2c8942f4b6e7b6", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "bd5d4719bfe4d462348485d2df2fe33e", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "Fix possible infinite loop in GIN index scans with multiple scan conditions", "evidence": {"same_day": true, "patch_ids": ["c7ccd83b73c3d597d778562314da09de"], "statement_hash": "a8907b51499c2b1e0161468a2af3e044ab914a05f87ff41296b18699ed393ed8"}, "url": "/docs/compare/?release=13.23#13.23-c0f995fb0474db85", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}, {"id": "15.15-d90fed169ad60200", "cves": [], "html": "<p>Ensure that GIN index scans can be canceled (Tom Lane) <a href=\"https://postgr.es/c/a9c1b9c1c\">§</a></p>\n<p>Some code paths were capable of running for a long time without checking for interrupts.</p>", "text": "Ensure that GIN index scans can be canceled (Tom Lane) § Some code paths were capable of running for a long time without checking for interrupts.", "title": "Ensure that GIN index scans can be canceled", "commits": ["a9c1b9c1c"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "9ca5fcbc75940ccacaed4476a7f7da7c55db4fa90acbd04f46ddcda6a68fa922", "section_path": ["Changes"], "commit_groups": [["25eadfd0f", "44c2e5b76", "a7da746c1", "a9c1b9c1c", "b2d71c455", "b55068236", "d17abaea8"]], "identity_text": "Ensure that GIN index scans can be canceled (Tom Lane) Some code paths were capable of running for a long time without checking for interrupts.", "commit_aliases": ["25eadfd0f", "44c2e5b76", "a7da746c1", "a9c1b9c1c", "b2d71c455", "b55068236", "d17abaea8"], "source_commits": ["a9c1b9c1c"], "source_entry_id": "15.15/changes/009", "db_id": "9bf5b9f62848d9c4fbf7c451e24a7678", "patch_ids": ["fec1a4bbceb6f21c116318b4726ea890"], "statement_hash": "63f0110202bb4e324f5e35e04d36c2e79a4b131ee03c7aaef9dfdd02a02eb601", "relations": [{"rule": 2, "type": "equivalent", "target": "545ab4f44b41bb88f8388e57bbc5e753", "evidence": {"same_day": true, "patch_ids": ["fec1a4bbceb6f21c116318b4726ea890"], "statement_hash": "63f0110202bb4e324f5e35e04d36c2e79a4b131ee03c7aaef9dfdd02a02eb601"}}, {"rule": 2, "type": "equivalent", "target": "bd1a8175f31114d3b4091952105cb89b", "evidence": {"same_day": true, "patch_ids": ["fec1a4bbceb6f21c116318b4726ea890"], "statement_hash": "63f0110202bb4e324f5e35e04d36c2e79a4b131ee03c7aaef9dfdd02a02eb601"}}, {"rule": 2, "type": "equivalent", "target": "c902c6da0be42d2eb7c8740866d6bba6", "evidence": {"same_day": true, "patch_ids": ["fec1a4bbceb6f21c116318b4726ea890"], "statement_hash": "63f0110202bb4e324f5e35e04d36c2e79a4b131ee03c7aaef9dfdd02a02eb601"}}, {"rule": 2, "type": "equivalent", "target": "ec300f825c44c3a251a22f92e910bb8c", "evidence": {"same_day": true, "patch_ids": ["fec1a4bbceb6f21c116318b4726ea890"], "statement_hash": "63f0110202bb4e324f5e35e04d36c2e79a4b131ee03c7aaef9dfdd02a02eb601"}}], "version": "15.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "c902c6da0be42d2eb7c8740866d6bba6", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Ensure that GIN index scans can be canceled", "evidence": {"same_day": true, "patch_ids": ["fec1a4bbceb6f21c116318b4726ea890"], "statement_hash": "63f0110202bb4e324f5e35e04d36c2e79a4b131ee03c7aaef9dfdd02a02eb601"}, "url": "/docs/compare/?release=17.7#17.7-15d8faabe675ae00", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "ec300f825c44c3a251a22f92e910bb8c", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Ensure that GIN index scans can be canceled", "evidence": {"same_day": true, "patch_ids": ["fec1a4bbceb6f21c116318b4726ea890"], "statement_hash": "63f0110202bb4e324f5e35e04d36c2e79a4b131ee03c7aaef9dfdd02a02eb601"}, "url": "/docs/compare/?release=16.11#16.11-0e47bb5c808391d4", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "545ab4f44b41bb88f8388e57bbc5e753", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Ensure that GIN index scans can be canceled", "evidence": {"same_day": true, "patch_ids": ["fec1a4bbceb6f21c116318b4726ea890"], "statement_hash": "63f0110202bb4e324f5e35e04d36c2e79a4b131ee03c7aaef9dfdd02a02eb601"}, "url": "/docs/compare/?release=14.20#14.20-ff0022457d5a07d4", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "bd1a8175f31114d3b4091952105cb89b", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "Ensure that GIN index scans can be canceled", "evidence": {"same_day": true, "patch_ids": ["fec1a4bbceb6f21c116318b4726ea890"], "statement_hash": "63f0110202bb4e324f5e35e04d36c2e79a4b131ee03c7aaef9dfdd02a02eb601"}, "url": "/docs/compare/?release=13.23#13.23-cac6bf9a661f1a61", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}, {"id": "15.15-fd7c1849f8c37f75", "cves": [], "html": "<p>Ensure that BRIN autosummarization provides a snapshot for index expressions that need one (Álvaro Herrera) <a href=\"https://postgr.es/c/23ddadf68\">§</a> <a href=\"https://postgr.es/c/bcfbd3f74\">§</a></p>\n<p>Previously, autosummarization would fail for such indexes, and then leave placeholder index tuples behind, causing the index to bloat over time.</p>", "text": "Ensure that BRIN autosummarization provides a snapshot for index expressions that need one (Álvaro Herrera) § § Previously, autosummarization would fail for such indexes, and then leave placeholder index tuples behind, causing the index to bloat over time.", "title": "Ensure that BRIN autosummarization provides a snapshot for index expressions that need one", "commits": ["23ddadf68", "bcfbd3f74"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "0768c92f01eb7bb829f378ad7f27087cca63f288838b774eeca2ececd37993d6", "section_path": ["Changes"], "commit_groups": [["0a3d27bfe", "20442cf50", "3b5007347", "65b0d1f74", "8733f0b54", "bcfbd3f74", "ef81697fe"], ["23ddadf68", "3c7b47974", "419ffde23", "6ef33c805", "a95e3d84c", "f0ad41716", "f4b68b033"]], "identity_text": "Ensure that BRIN autosummarization provides a snapshot for index expressions that need one (Álvaro Herrera) Previously, autosummarization would fail for such indexes, and then leave placeholder index tuples behind, causing the index to bloat over time.", "commit_aliases": ["0a3d27bfe", "20442cf50", "23ddadf68", "3b5007347", "3c7b47974", "419ffde23", "65b0d1f74", "6ef33c805", "8733f0b54", "a95e3d84c", "bcfbd3f74", "ef81697fe", "f0ad41716", "f4b68b033"], "source_commits": ["23ddadf68", "bcfbd3f74"], "source_entry_id": "15.15/changes/010", "db_id": "0dd09cb0d2d5f7d388110d5f734dee23", "patch_ids": ["31ad60583179a46f035e6ca49acb5df0", "3fdff7630c20c4073bba1b6676191274"], "statement_hash": "62e341cf9b11ac9a64fec02e85a546e8c1574a3998b12b548653d69ab6270585", "relations": [{"rule": 2, "type": "equivalent", "target": "0cb94d7b769fa6011ab24dd8d4a5182f", "evidence": {"same_day": true, "patch_ids": ["31ad60583179a46f035e6ca49acb5df0", "3fdff7630c20c4073bba1b6676191274"], "statement_hash": "62e341cf9b11ac9a64fec02e85a546e8c1574a3998b12b548653d69ab6270585"}}, {"rule": 2, "type": "equivalent", "target": "3e8741d3d489044f4c55886a02fd1ca6", "evidence": {"same_day": true, "patch_ids": ["31ad60583179a46f035e6ca49acb5df0", "3fdff7630c20c4073bba1b6676191274"], "statement_hash": "62e341cf9b11ac9a64fec02e85a546e8c1574a3998b12b548653d69ab6270585"}}, {"rule": 2, "type": "equivalent", "target": "5e3ad415c950ddc874e527c528e4312f", "evidence": {"same_day": true, "patch_ids": ["31ad60583179a46f035e6ca49acb5df0", "3fdff7630c20c4073bba1b6676191274"], "statement_hash": "62e341cf9b11ac9a64fec02e85a546e8c1574a3998b12b548653d69ab6270585"}}, {"rule": 2, "type": "equivalent", "target": "721aeb1deeff7de3e90db706f730ab11", "evidence": {"same_day": true, "patch_ids": ["31ad60583179a46f035e6ca49acb5df0", "3fdff7630c20c4073bba1b6676191274"], "statement_hash": "62e341cf9b11ac9a64fec02e85a546e8c1574a3998b12b548653d69ab6270585"}}, {"rule": 2, "type": "equivalent", "target": "7f0361a52a096ffc5b14904781aeb0bc", "evidence": {"same_day": true, "patch_ids": ["31ad60583179a46f035e6ca49acb5df0", "3fdff7630c20c4073bba1b6676191274"], "statement_hash": "62e341cf9b11ac9a64fec02e85a546e8c1574a3998b12b548653d69ab6270585"}}], "version": "15.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "5e3ad415c950ddc874e527c528e4312f", "kind": "equivalent", "version": "18.1", "label": "18.1", "title": "Ensure that BRIN autosummarization provides a snapshot for index expressions that need one", "evidence": {"same_day": true, "patch_ids": ["31ad60583179a46f035e6ca49acb5df0", "3fdff7630c20c4073bba1b6676191274"], "statement_hash": "62e341cf9b11ac9a64fec02e85a546e8c1574a3998b12b548653d69ab6270585"}, "url": "/docs/compare/?release=18.1#18.1-a00fe3bcec296ab2", "source_url": "/docs/release/18.1/#RELEASE-18-1-CHANGES"}, {"db_id": "721aeb1deeff7de3e90db706f730ab11", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Ensure that BRIN autosummarization provides a snapshot for index expressions that need one", "evidence": {"same_day": true, "patch_ids": ["31ad60583179a46f035e6ca49acb5df0", "3fdff7630c20c4073bba1b6676191274"], "statement_hash": "62e341cf9b11ac9a64fec02e85a546e8c1574a3998b12b548653d69ab6270585"}, "url": "/docs/compare/?release=17.7#17.7-a8f10736234e0b39", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "3e8741d3d489044f4c55886a02fd1ca6", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Ensure that BRIN autosummarization provides a snapshot for index expressions that need one", "evidence": {"same_day": true, "patch_ids": ["31ad60583179a46f035e6ca49acb5df0", "3fdff7630c20c4073bba1b6676191274"], "statement_hash": "62e341cf9b11ac9a64fec02e85a546e8c1574a3998b12b548653d69ab6270585"}, "url": "/docs/compare/?release=16.11#16.11-fa68b622cb30fa75", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "7f0361a52a096ffc5b14904781aeb0bc", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Ensure that BRIN autosummarization provides a snapshot for index expressions that need one", "evidence": {"same_day": true, "patch_ids": ["31ad60583179a46f035e6ca49acb5df0", "3fdff7630c20c4073bba1b6676191274"], "statement_hash": "62e341cf9b11ac9a64fec02e85a546e8c1574a3998b12b548653d69ab6270585"}, "url": "/docs/compare/?release=14.20#14.20-1c3a5c9cbab5b1ac", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "0cb94d7b769fa6011ab24dd8d4a5182f", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "Ensure that BRIN autosummarization provides a snapshot for index expressions that need one", "evidence": {"same_day": true, "patch_ids": ["31ad60583179a46f035e6ca49acb5df0", "3fdff7630c20c4073bba1b6676191274"], "statement_hash": "62e341cf9b11ac9a64fec02e85a546e8c1574a3998b12b548653d69ab6270585"}, "url": "/docs/compare/?release=13.23#13.23-de4921e0152423d8", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}, {"id": "15.15-b0a9c7b1bda7fbc4", "cves": [], "html": "<p>Fix integer-overflow hazard in BRIN index scans when the table contains close to 2<sup>32</sup> pages (Sunil S) <a href=\"https://postgr.es/c/810aaf7f2\">§</a></p>\n<p>This oversight could result in an infinite loop or scanning of unneeded table pages.</p>", "text": "Fix integer-overflow hazard in BRIN index scans when the table contains close to 232 pages (Sunil S) § This oversight could result in an infinite loop or scanning of unneeded table pages.", "title": "Fix integer-overflow hazard in BRIN index scans when the table contains close to 232 pages", "commits": ["810aaf7f2"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "166efdee503598f93a92593d2115021b6fb362de259f96ff672a2eba3d0af8f0", "section_path": ["Changes"], "commit_groups": [["715983a81", "810aaf7f2", "9fd29d7ff", "c28f8ca29", "c4f5a59ab", "eea24eb0a", "ef915bf93"]], "identity_text": "Fix integer-overflow hazard in BRIN index scans when the table contains close to 232 pages (Sunil S) This oversight could result in an infinite loop or scanning of unneeded table pages.", "commit_aliases": ["715983a81", "810aaf7f2", "9fd29d7ff", "c28f8ca29", "c4f5a59ab", "eea24eb0a", "ef915bf93"], "source_commits": ["810aaf7f2"], "source_entry_id": "15.15/changes/011", "db_id": "ca0d04f29eca7d84d81b300dc4107221", "patch_ids": ["e15f4df722672d015993ea819e9c3351"], "statement_hash": "45088b42382a6f8a5eb8dc651e95a4c956a04e585cd53f0e8247416c8d6fce3f", "relations": [{"rule": 2, "type": "equivalent", "target": "393a9b7eb2a54302a3bd8b2790808ca8", "evidence": {"same_day": true, "patch_ids": ["e15f4df722672d015993ea819e9c3351"], "statement_hash": "45088b42382a6f8a5eb8dc651e95a4c956a04e585cd53f0e8247416c8d6fce3f"}}, {"rule": 2, "type": "equivalent", "target": "3eee9fbd93044d08fe7b761285b4eef0", "evidence": {"same_day": true, "patch_ids": ["e15f4df722672d015993ea819e9c3351"], "statement_hash": "45088b42382a6f8a5eb8dc651e95a4c956a04e585cd53f0e8247416c8d6fce3f"}}, {"rule": 2, "type": "equivalent", "target": "41c5c1173ef259c7bb96b3467e9de919", "evidence": {"same_day": true, "patch_ids": ["e15f4df722672d015993ea819e9c3351"], "statement_hash": "45088b42382a6f8a5eb8dc651e95a4c956a04e585cd53f0e8247416c8d6fce3f"}}, {"rule": 2, "type": "equivalent", "target": "c0b6100e40d8b770ece9bacc3084ea91", "evidence": {"same_day": true, "patch_ids": ["e15f4df722672d015993ea819e9c3351"], "statement_hash": "45088b42382a6f8a5eb8dc651e95a4c956a04e585cd53f0e8247416c8d6fce3f"}}, {"rule": 2, "type": "equivalent", "target": "cbb0ef9e07e346b9959c4a482b828973", "evidence": {"same_day": true, "patch_ids": ["e15f4df722672d015993ea819e9c3351"], "statement_hash": "45088b42382a6f8a5eb8dc651e95a4c956a04e585cd53f0e8247416c8d6fce3f"}}], "version": "15.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "393a9b7eb2a54302a3bd8b2790808ca8", "kind": "equivalent", "version": "18.1", "label": "18.1", "title": "Fix integer-overflow hazard in BRIN index scans when the table contains close to 232 pages", "evidence": {"same_day": true, "patch_ids": ["e15f4df722672d015993ea819e9c3351"], "statement_hash": "45088b42382a6f8a5eb8dc651e95a4c956a04e585cd53f0e8247416c8d6fce3f"}, "url": "/docs/compare/?release=18.1#18.1-4d75a8abffa08925", "source_url": "/docs/release/18.1/#RELEASE-18-1-CHANGES"}, {"db_id": "3eee9fbd93044d08fe7b761285b4eef0", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Fix integer-overflow hazard in BRIN index scans when the table contains close to 232 pages", "evidence": {"same_day": true, "patch_ids": ["e15f4df722672d015993ea819e9c3351"], "statement_hash": "45088b42382a6f8a5eb8dc651e95a4c956a04e585cd53f0e8247416c8d6fce3f"}, "url": "/docs/compare/?release=17.7#17.7-22b81d2b7991be50", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "41c5c1173ef259c7bb96b3467e9de919", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Fix integer-overflow hazard in BRIN index scans when the table contains close to 232 pages", "evidence": {"same_day": true, "patch_ids": ["e15f4df722672d015993ea819e9c3351"], "statement_hash": "45088b42382a6f8a5eb8dc651e95a4c956a04e585cd53f0e8247416c8d6fce3f"}, "url": "/docs/compare/?release=16.11#16.11-f239d80cd401413a", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "cbb0ef9e07e346b9959c4a482b828973", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Fix integer-overflow hazard in BRIN index scans when the table contains close to 232 pages", "evidence": {"same_day": true, "patch_ids": ["e15f4df722672d015993ea819e9c3351"], "statement_hash": "45088b42382a6f8a5eb8dc651e95a4c956a04e585cd53f0e8247416c8d6fce3f"}, "url": "/docs/compare/?release=14.20#14.20-fc1c1f6d56fc4b89", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "c0b6100e40d8b770ece9bacc3084ea91", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "Fix integer-overflow hazard in BRIN index scans when the table contains close to 232 pages", "evidence": {"same_day": true, "patch_ids": ["e15f4df722672d015993ea819e9c3351"], "statement_hash": "45088b42382a6f8a5eb8dc651e95a4c956a04e585cd53f0e8247416c8d6fce3f"}, "url": "/docs/compare/?release=13.23#13.23-6eae1200294c5fb3", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}, {"id": "15.15-8fd4e4f59a5c06ab", "cves": [], "html": "<p>Fix incorrect zero-extension of stored values in JIT-generated tuple deforming code (David Rowley) <a href=\"https://postgr.es/c/b8ecfbe5a\">§</a></p>\n<p>When not using JIT, the equivalent code does sign-extension not zero-extension, leading to a different Datum representation of small integer data types. This inconsistency was masked in most cases, but it is known to lead to <span>“<span>could not find memoization table entry</span>”</span> errors when using Memoize plan nodes, and there might be other symptoms.</p>", "text": "Fix incorrect zero-extension of stored values in JIT-generated tuple deforming code (David Rowley) § When not using JIT, the equivalent code does sign-extension not zero-extension, leading to a different Datum representation of small integer data types. This inconsistency was masked in most cases, but it is known to lead to “could not find memoization table entry” errors when using Memoize plan nodes, and there might be other symptoms.", "title": "Fix incorrect zero-extension of stored values in JIT-generated tuple deforming code", "commits": ["b8ecfbe5a"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "336be261913b75a90930b8a06f00b8ed8f3e5abdffb29c158b7ba092e983a8a2", "section_path": ["Changes"], "commit_groups": [["10945148e", "3398b0d02", "4afab175b", "6911f8037", "b8ecfbe5a", "ceb51d09b", "e4316ec4d"]], "identity_text": "Fix incorrect zero-extension of stored values in JIT-generated tuple deforming code (David Rowley) When not using JIT, the equivalent code does sign-extension not zero-extension, leading to a different Datum representation of small integer data types. This inconsistency was masked in most cases, but it is known to lead to could not find memoization table entry errors when using Memoize plan nodes, and there might be other symptoms.", "commit_aliases": ["10945148e", "3398b0d02", "4afab175b", "6911f8037", "b8ecfbe5a", "ceb51d09b", "e4316ec4d"], "source_commits": ["b8ecfbe5a"], "source_entry_id": "15.15/changes/012", "db_id": "c520d8534b29d6a33acf98a0e9c4f0ef", "patch_ids": ["55424639c609ad9b211ffd5ac10cc20b"], "statement_hash": "d62bd3e9007f7f090eba935ee43673f57b512e6913d636b18186f3f90712f8fb", "relations": [{"rule": 2, "type": "equivalent", "target": "7c81d67412977edb96996856917b1f9a", "evidence": {"same_day": true, "patch_ids": ["55424639c609ad9b211ffd5ac10cc20b"], "statement_hash": "d62bd3e9007f7f090eba935ee43673f57b512e6913d636b18186f3f90712f8fb"}}, {"rule": 2, "type": "equivalent", "target": "8411046717133be1fc919e915895664b", "evidence": {"same_day": true, "patch_ids": ["55424639c609ad9b211ffd5ac10cc20b"], "statement_hash": "d62bd3e9007f7f090eba935ee43673f57b512e6913d636b18186f3f90712f8fb"}}, {"rule": 2, "type": "equivalent", "target": "9b610d9fca503412ae7e72eddc6e5502", "evidence": {"same_day": true, "patch_ids": ["55424639c609ad9b211ffd5ac10cc20b"], "statement_hash": "d62bd3e9007f7f090eba935ee43673f57b512e6913d636b18186f3f90712f8fb"}}, {"rule": 2, "type": "equivalent", "target": "de262079624c4f7225fefc1938b4d6c4", "evidence": {"same_day": true, "patch_ids": ["55424639c609ad9b211ffd5ac10cc20b"], "statement_hash": "d62bd3e9007f7f090eba935ee43673f57b512e6913d636b18186f3f90712f8fb"}}, {"rule": 2, "type": "equivalent", "target": "e11c7ac708a333ed4eb5a375fef717d8", "evidence": {"same_day": true, "patch_ids": ["55424639c609ad9b211ffd5ac10cc20b"], "statement_hash": "d62bd3e9007f7f090eba935ee43673f57b512e6913d636b18186f3f90712f8fb"}}], "version": "15.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "de262079624c4f7225fefc1938b4d6c4", "kind": "equivalent", "version": "18.1", "label": "18.1", "title": "Fix incorrect zero-extension of stored values in JIT-generated tuple deforming code", "evidence": {"same_day": true, "patch_ids": ["55424639c609ad9b211ffd5ac10cc20b"], "statement_hash": "d62bd3e9007f7f090eba935ee43673f57b512e6913d636b18186f3f90712f8fb"}, "url": "/docs/compare/?release=18.1#18.1-d78511e9b384a86b", "source_url": "/docs/release/18.1/#RELEASE-18-1-CHANGES"}, {"db_id": "e11c7ac708a333ed4eb5a375fef717d8", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Fix incorrect zero-extension of stored values in JIT-generated tuple deforming code", "evidence": {"same_day": true, "patch_ids": ["55424639c609ad9b211ffd5ac10cc20b"], "statement_hash": "d62bd3e9007f7f090eba935ee43673f57b512e6913d636b18186f3f90712f8fb"}, "url": "/docs/compare/?release=17.7#17.7-aa1a9b53c515db45", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "8411046717133be1fc919e915895664b", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Fix incorrect zero-extension of stored values in JIT-generated tuple deforming code", "evidence": {"same_day": true, "patch_ids": ["55424639c609ad9b211ffd5ac10cc20b"], "statement_hash": "d62bd3e9007f7f090eba935ee43673f57b512e6913d636b18186f3f90712f8fb"}, "url": "/docs/compare/?release=16.11#16.11-92911a65af0fd193", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "7c81d67412977edb96996856917b1f9a", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Fix incorrect zero-extension of stored values in JIT-generated tuple deforming code", "evidence": {"same_day": true, "patch_ids": ["55424639c609ad9b211ffd5ac10cc20b"], "statement_hash": "d62bd3e9007f7f090eba935ee43673f57b512e6913d636b18186f3f90712f8fb"}, "url": "/docs/compare/?release=14.20#14.20-f7c15c83384f177c", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "9b610d9fca503412ae7e72eddc6e5502", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "Fix incorrect zero-extension of stored values in JIT-generated tuple deforming code", "evidence": {"same_day": true, "patch_ids": ["55424639c609ad9b211ffd5ac10cc20b"], "statement_hash": "d62bd3e9007f7f090eba935ee43673f57b512e6913d636b18186f3f90712f8fb"}, "url": "/docs/compare/?release=13.23#13.23-d2c92bd0308b724e", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}, {"id": "15.15-c8e0a3ed2fb6c04a", "cves": [], "html": "<p>Fix incorrect logic for caching result-relation information for triggers (David Rowley, Amit Langote) <a href=\"https://postgr.es/c/2992b9a07\">§</a></p>\n<p>In cases where partitions' column sets aren't physically identical to their parent partitioned tables' column sets, this oversight could lead to crashes.</p>", "text": "Fix incorrect logic for caching result-relation information for triggers (David Rowley, Amit Langote) § In cases where partitions' column sets aren't physically identical to their parent partitioned tables' column sets, this oversight could lead to crashes.", "title": "Fix incorrect logic for caching result-relation information for triggers", "commits": ["2992b9a07"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "0cb3f3ec5386edf89beb87030ef01e146217b4365866ce4a784b45c81fe6c34a", "section_path": ["Changes"], "commit_groups": [["0d3074615", "2992b9a07", "39dcfda2d", "a2387c32f", "a546964db"]], "identity_text": "Fix incorrect logic for caching result-relation information for triggers (David Rowley, Amit Langote) In cases where partitions' column sets aren't physically identical to their parent partitioned tables' column sets, this oversight could lead to crashes.", "commit_aliases": ["0d3074615", "2992b9a07", "39dcfda2d", "a2387c32f", "a546964db"], "source_commits": ["2992b9a07"], "source_entry_id": "15.15/changes/013", "db_id": "bb7f7a3657690f7a6c75d641dcc65860", "patch_ids": ["aceec90d9a86d1b6d642dda660eebd6f"], "statement_hash": "026782085dea5b1090d57d834e0d4c7d0bc778a784349b74f9ef89ce84fcfaef", "relations": [{"rule": 2, "type": "equivalent", "target": "13af7f30c1a66144a7c4729335ad6c55", "evidence": {"same_day": true, "patch_ids": ["aceec90d9a86d1b6d642dda660eebd6f"], "statement_hash": "026782085dea5b1090d57d834e0d4c7d0bc778a784349b74f9ef89ce84fcfaef"}}, {"rule": 2, "type": "equivalent", "target": "7ba23c07eaeb399e352fe32a704464e6", "evidence": {"same_day": true, "patch_ids": ["aceec90d9a86d1b6d642dda660eebd6f"], "statement_hash": "026782085dea5b1090d57d834e0d4c7d0bc778a784349b74f9ef89ce84fcfaef"}}, {"rule": 2, "type": "equivalent", "target": "ba3b5897c3d85845178cb5eee8dfba01", "evidence": {"same_day": true, "patch_ids": ["aceec90d9a86d1b6d642dda660eebd6f"], "statement_hash": "026782085dea5b1090d57d834e0d4c7d0bc778a784349b74f9ef89ce84fcfaef"}}], "version": "15.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "13af7f30c1a66144a7c4729335ad6c55", "kind": "equivalent", "version": "18.1", "label": "18.1", "title": "Fix incorrect logic for caching result-relation information for triggers", "evidence": {"same_day": true, "patch_ids": ["aceec90d9a86d1b6d642dda660eebd6f"], "statement_hash": "026782085dea5b1090d57d834e0d4c7d0bc778a784349b74f9ef89ce84fcfaef"}, "url": "/docs/compare/?release=18.1#18.1-fa17262588de7970", "source_url": "/docs/release/18.1/#RELEASE-18-1-CHANGES"}, {"db_id": "ba3b5897c3d85845178cb5eee8dfba01", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Fix incorrect logic for caching result-relation information for triggers", "evidence": {"same_day": true, "patch_ids": ["aceec90d9a86d1b6d642dda660eebd6f"], "statement_hash": "026782085dea5b1090d57d834e0d4c7d0bc778a784349b74f9ef89ce84fcfaef"}, "url": "/docs/compare/?release=17.7#17.7-6305949a00dd4b54", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "7ba23c07eaeb399e352fe32a704464e6", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Fix incorrect logic for caching result-relation information for triggers", "evidence": {"same_day": true, "patch_ids": ["aceec90d9a86d1b6d642dda660eebd6f"], "statement_hash": "026782085dea5b1090d57d834e0d4c7d0bc778a784349b74f9ef89ce84fcfaef"}, "url": "/docs/compare/?release=16.11#16.11-b434454c9c408c94", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}]}, {"id": "15.15-486ee448380434dd", "cves": [], "html": "<p>Add missing EvalPlanQual rechecks for TID Scan and TID Range Scan plan nodes (Sophie Alpert, David Rowley) <a href=\"https://postgr.es/c/f00ad440a\">§</a> <a href=\"https://postgr.es/c/005770203\">§</a></p>\n<p>This omission led to possibly not rechecking a condition on <code>ctid</code> during concurrent-update situations, causing the update's behavior to vary depending on which plan type had been selected.</p>", "text": "Add missing EvalPlanQual rechecks for TID Scan and TID Range Scan plan nodes (Sophie Alpert, David Rowley) § § This omission led to possibly not rechecking a condition on ctid during concurrent-update situations, causing the update's behavior to vary depending on which plan type had been selected.", "title": "Add missing EvalPlanQual rechecks for TID Scan and TID Range Scan plan nodes", "commits": ["005770203", "f00ad440a"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "fd4bbfa71c6dd32042f725f206969e6ffad68d4f86998e6f90ca2c014e8e8315", "section_path": ["Changes"], "commit_groups": [["005770203", "2eb7ea97d", "3d939a9b1", "940f3cd5d", "bae6c74ba", "d6539f88b", "dee21ea6d"], ["0fb06e893", "78e6047dc", "ac06ea8f7", "ba0203880", "f00ad440a", "f78a69034"]], "identity_text": "Add missing EvalPlanQual rechecks for TID Scan and TID Range Scan plan nodes (Sophie Alpert, David Rowley) This omission led to possibly not rechecking a condition on ctid during concurrent-update situations, causing the update's behavior to vary depending on which plan type had been selected.", "commit_aliases": ["005770203", "0fb06e893", "2eb7ea97d", "3d939a9b1", "78e6047dc", "940f3cd5d", "ac06ea8f7", "ba0203880", "bae6c74ba", "d6539f88b", "dee21ea6d", "f00ad440a", "f78a69034"], "source_commits": ["005770203", "f00ad440a"], "source_entry_id": "15.15/changes/014", "db_id": "90dcd7b9cab09a48352f77b31481288a", "patch_ids": ["e5f939f23311b15eb4c2128e866cd2ff", "e6deedc86606b08645454ddad75b214a"], "statement_hash": "a32898b724eb8e34e33be327f84fcb97a13f077fa6e040dfd715b42aeeaea021", "relations": [{"rule": 2, "type": "equivalent", "target": "d3eedfb124dc2ce661f82df707b4315c", "evidence": {"same_day": true, "patch_ids": ["e5f939f23311b15eb4c2128e866cd2ff", "e6deedc86606b08645454ddad75b214a"], "statement_hash": "a32898b724eb8e34e33be327f84fcb97a13f077fa6e040dfd715b42aeeaea021"}}, {"rule": 2, "type": "equivalent", "target": "d96eb9865b0bf6d96daa3f60ddaa7189", "evidence": {"same_day": true, "patch_ids": ["e5f939f23311b15eb4c2128e866cd2ff", "e6deedc86606b08645454ddad75b214a"], "statement_hash": "a32898b724eb8e34e33be327f84fcb97a13f077fa6e040dfd715b42aeeaea021"}}, {"rule": 2, "type": "equivalent", "target": "de8ad943467d2756c0d1ed9a91236d50", "evidence": {"same_day": true, "patch_ids": ["e5f939f23311b15eb4c2128e866cd2ff", "e6deedc86606b08645454ddad75b214a"], "statement_hash": "a32898b724eb8e34e33be327f84fcb97a13f077fa6e040dfd715b42aeeaea021"}}, {"rule": 2, "type": "equivalent", "target": "ecce2aaff9086305c96977bf0ef60d92", "evidence": {"same_day": true, "patch_ids": ["e5f939f23311b15eb4c2128e866cd2ff", "e6deedc86606b08645454ddad75b214a"], "statement_hash": "a32898b724eb8e34e33be327f84fcb97a13f077fa6e040dfd715b42aeeaea021"}}], "version": "15.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "de8ad943467d2756c0d1ed9a91236d50", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Add missing EvalPlanQual rechecks for TID Scan and TID Range Scan plan nodes", "evidence": {"same_day": true, "patch_ids": ["e5f939f23311b15eb4c2128e866cd2ff", "e6deedc86606b08645454ddad75b214a"], "statement_hash": "a32898b724eb8e34e33be327f84fcb97a13f077fa6e040dfd715b42aeeaea021"}, "url": "/docs/compare/?release=17.7#17.7-a73aaf88aa7e95b3", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "d3eedfb124dc2ce661f82df707b4315c", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Add missing EvalPlanQual rechecks for TID Scan and TID Range Scan plan nodes", "evidence": {"same_day": true, "patch_ids": ["e5f939f23311b15eb4c2128e866cd2ff", "e6deedc86606b08645454ddad75b214a"], "statement_hash": "a32898b724eb8e34e33be327f84fcb97a13f077fa6e040dfd715b42aeeaea021"}, "url": "/docs/compare/?release=16.11#16.11-e3e94f24a14cb90b", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "ecce2aaff9086305c96977bf0ef60d92", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Add missing EvalPlanQual rechecks for TID Scan and TID Range Scan plan nodes", "evidence": {"same_day": true, "patch_ids": ["e5f939f23311b15eb4c2128e866cd2ff", "e6deedc86606b08645454ddad75b214a"], "statement_hash": "a32898b724eb8e34e33be327f84fcb97a13f077fa6e040dfd715b42aeeaea021"}, "url": "/docs/compare/?release=14.20#14.20-da249ce39908a51f", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "d96eb9865b0bf6d96daa3f60ddaa7189", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "Add missing EvalPlanQual rechecks for TID Scan and TID Range Scan plan nodes", "evidence": {"same_day": true, "patch_ids": ["e5f939f23311b15eb4c2128e866cd2ff", "e6deedc86606b08645454ddad75b214a"], "statement_hash": "a32898b724eb8e34e33be327f84fcb97a13f077fa6e040dfd715b42aeeaea021"}, "url": "/docs/compare/?release=13.23#13.23-6d5125a8a195ddcd", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}, {"id": "15.15-93fef6ea11e7fc81", "cves": [], "html": "<p>Fix EvalPlanQual handling of foreign or custom joins that do not have an alternative local-join plan prepared for EPQ (Masahiko Sawada, Etsuro Fujita) <a href=\"https://postgr.es/c/4a08603a2\">§</a></p>\n<p>In such cases the foreign or custom access method should be invoked normally, but that did not happen, typically leading to a crash.</p>", "text": "Fix EvalPlanQual handling of foreign or custom joins that do not have an alternative local-join plan prepared for EPQ (Masahiko Sawada, Etsuro Fujita) § In such cases the foreign or custom access method should be invoked normally, but that did not happen, typically leading to a crash.", "title": "Fix EvalPlanQual handling of foreign or custom joins that do not have an alternative local-join plan prepared for EPQ", "commits": ["4a08603a2"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "1bedc61344c837c93a33682d2f62a6a9f339d5e78ba32f2ebef097c5cb92c4a6", "section_path": ["Changes"], "commit_groups": [["12609fbac", "12b0c0e51", "24e74b962", "2bb84ea7e", "4a08603a2", "5a9af4868", "b14144325"]], "identity_text": "Fix EvalPlanQual handling of foreign or custom joins that do not have an alternative local-join plan prepared for EPQ (Masahiko Sawada, Etsuro Fujita) In such cases the foreign or custom access method should be invoked normally, but that did not happen, typically leading to a crash.", "commit_aliases": ["12609fbac", "12b0c0e51", "24e74b962", "2bb84ea7e", "4a08603a2", "5a9af4868", "b14144325"], "source_commits": ["4a08603a2"], "source_entry_id": "15.15/changes/015", "db_id": "f8e7d0fe512da9f5e4221f5173c42a62", "patch_ids": ["4bc4b3eb3e3195a1d0e412e0c9371242"], "statement_hash": "7701ad14c992b95ece421f86b54788df6de9143a62d4e7ff9ea0b08caf2163f5", "relations": [{"rule": 2, "type": "equivalent", "target": "152497e1f56957947f79200f3011a52e", "evidence": {"same_day": true, "patch_ids": ["4bc4b3eb3e3195a1d0e412e0c9371242"], "statement_hash": "7701ad14c992b95ece421f86b54788df6de9143a62d4e7ff9ea0b08caf2163f5"}}, {"rule": 2, "type": "equivalent", "target": "3a7c71a715168a6fe003c04ad6530b01", "evidence": {"same_day": true, "patch_ids": ["4bc4b3eb3e3195a1d0e412e0c9371242"], "statement_hash": "7701ad14c992b95ece421f86b54788df6de9143a62d4e7ff9ea0b08caf2163f5"}}, {"rule": 2, "type": "equivalent", "target": "a830cee6374ea38a3cf10eb53388b93d", "evidence": {"same_day": true, "patch_ids": ["4bc4b3eb3e3195a1d0e412e0c9371242"], "statement_hash": "7701ad14c992b95ece421f86b54788df6de9143a62d4e7ff9ea0b08caf2163f5"}}, {"rule": 2, "type": "equivalent", "target": "b4c88efd3c63eeaee70001c500504502", "evidence": {"same_day": true, "patch_ids": ["4bc4b3eb3e3195a1d0e412e0c9371242"], "statement_hash": "7701ad14c992b95ece421f86b54788df6de9143a62d4e7ff9ea0b08caf2163f5"}}, {"rule": 2, "type": "equivalent", "target": "d5c74a3284403534934e2ff5e453332e", "evidence": {"same_day": true, "patch_ids": ["4bc4b3eb3e3195a1d0e412e0c9371242"], "statement_hash": "7701ad14c992b95ece421f86b54788df6de9143a62d4e7ff9ea0b08caf2163f5"}}], "version": "15.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "3a7c71a715168a6fe003c04ad6530b01", "kind": "equivalent", "version": "18.1", "label": "18.1", "title": "Fix EvalPlanQual handling of foreign or custom joins that do not have an alternative local-join plan prepared for EPQ", "evidence": {"same_day": true, "patch_ids": ["4bc4b3eb3e3195a1d0e412e0c9371242"], "statement_hash": "7701ad14c992b95ece421f86b54788df6de9143a62d4e7ff9ea0b08caf2163f5"}, "url": "/docs/compare/?release=18.1#18.1-1ad36d259b8c4e29", "source_url": "/docs/release/18.1/#RELEASE-18-1-CHANGES"}, {"db_id": "d5c74a3284403534934e2ff5e453332e", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Fix EvalPlanQual handling of foreign or custom joins that do not have an alternative local-join plan prepared for EPQ", "evidence": {"same_day": true, "patch_ids": ["4bc4b3eb3e3195a1d0e412e0c9371242"], "statement_hash": "7701ad14c992b95ece421f86b54788df6de9143a62d4e7ff9ea0b08caf2163f5"}, "url": "/docs/compare/?release=17.7#17.7-7d939e96432565c4", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "a830cee6374ea38a3cf10eb53388b93d", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Fix EvalPlanQual handling of foreign or custom joins that do not have an alternative local-join plan prepared for EPQ", "evidence": {"same_day": true, "patch_ids": ["4bc4b3eb3e3195a1d0e412e0c9371242"], "statement_hash": "7701ad14c992b95ece421f86b54788df6de9143a62d4e7ff9ea0b08caf2163f5"}, "url": "/docs/compare/?release=16.11#16.11-071fb89b558772fa", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "b4c88efd3c63eeaee70001c500504502", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Fix EvalPlanQual handling of foreign or custom joins that do not have an alternative local-join plan prepared for EPQ", "evidence": {"same_day": true, "patch_ids": ["4bc4b3eb3e3195a1d0e412e0c9371242"], "statement_hash": "7701ad14c992b95ece421f86b54788df6de9143a62d4e7ff9ea0b08caf2163f5"}, "url": "/docs/compare/?release=14.20#14.20-9d1b9820ad3ea33d", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "152497e1f56957947f79200f3011a52e", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "Fix EvalPlanQual handling of foreign or custom joins that do not have an alternative local-join plan prepared for EPQ", "evidence": {"same_day": true, "patch_ids": ["4bc4b3eb3e3195a1d0e412e0c9371242"], "statement_hash": "7701ad14c992b95ece421f86b54788df6de9143a62d4e7ff9ea0b08caf2163f5"}, "url": "/docs/compare/?release=13.23#13.23-e3ce52e617ed9fef", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}, {"id": "15.15-9c9de66bf89091ff", "cves": [], "html": "<p>Avoid duplicating hash partition constraints during <code>DETACH CONCURRENTLY</code> (Haiyang Li) <a href=\"https://postgr.es/c/bdae98495\">§</a></p>\n<p><code>ALTER TABLE DETACH PARTITION CONCURRENTLY</code> was written to add a copy of the partitioning constraint to the now-detached partition. This was misguided, partially because non-concurrent <code>DETACH</code> doesn't do that, but mostly because in the case of hash partitioning the constraint expression contains references to the parent table's OID. That causes problems during dump/restore, or if the parent table is dropped after <code>DETACH</code>. In v19 and later, we'll no longer create any such copied constraints at all. In released branches, to minimize the risk of unforeseen consequences, only skip adding a copied constraint if it is for hash partitioning.</p>", "text": "Avoid duplicating hash partition constraints during DETACH CONCURRENTLY (Haiyang Li) § ALTER TABLE DETACH PARTITION CONCURRENTLY was written to add a copy of the partitioning constraint to the now-detached partition. This was misguided, partially because non-concurrent DETACH doesn't do that, but mostly because in the case of hash partitioning the constraint expression contains references to the parent table's OID. That causes problems during dump/restore, or if the parent table is dropped after DETACH. In v19 and later, we'll no longer create any such copied constraints at all. In released branches, to minimize the risk of unforeseen consequences, only skip adding a copied constraint if it is for hash partitioning.", "title": "Avoid duplicating hash partition constraints during DETACH CONCURRENTLY", "commits": ["bdae98495"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "2bb8e6c5ae6bd77aecb70c0287be890d4b07ba886b72c13d6b25e2162c68c7f5", "section_path": ["Changes"], "commit_groups": [["08c037dff", "3231fd045", "b753be38a", "b835759ec", "bdae98495", "ea06f97ee"]], "identity_text": "Avoid duplicating hash partition constraints during DETACH CONCURRENTLY (Haiyang Li) ALTER TABLE DETACH PARTITION CONCURRENTLY was written to add a copy of the partitioning constraint to the now-detached partition. This was misguided, partially because non-concurrent DETACH doesn't do that, but mostly because in the case of hash partitioning the constraint expression contains references to the parent table's OID. That causes problems during dump/restore, or if the parent table is dropped after DETACH. In v19 and later, we'll no longer create any such copied constraints at all. In released branches, to minimize the risk of unforeseen consequences, only skip adding a copied constraint if it is for hash partitioning.", "commit_aliases": ["08c037dff", "3231fd045", "b753be38a", "b835759ec", "bdae98495", "ea06f97ee"], "source_commits": ["bdae98495"], "source_entry_id": "15.15/changes/016", "db_id": "71fe017c4d7b33e60357f0d6d3c24f44", "patch_ids": ["c7b7e5ea3577b3d900e06cd112a51878"], "statement_hash": "d5965bdd5734479eaa6212fe4307924b5fa45a4534d11494cdf8e41c2b84b97f", "relations": [{"rule": 2, "type": "equivalent", "target": "417982fb5fc35be16b96cd9dffae86f4", "evidence": {"same_day": true, "patch_ids": ["c7b7e5ea3577b3d900e06cd112a51878"], "statement_hash": "d5965bdd5734479eaa6212fe4307924b5fa45a4534d11494cdf8e41c2b84b97f"}}, {"rule": 2, "type": "equivalent", "target": "565728557128822df30c43191a2dbfad", "evidence": {"same_day": true, "patch_ids": ["c7b7e5ea3577b3d900e06cd112a51878"], "statement_hash": "d5965bdd5734479eaa6212fe4307924b5fa45a4534d11494cdf8e41c2b84b97f"}}, {"rule": 2, "type": "equivalent", "target": "cf6c332f29166e2669260e45b57ff0d2", "evidence": {"same_day": true, "patch_ids": ["c7b7e5ea3577b3d900e06cd112a51878"], "statement_hash": "d5965bdd5734479eaa6212fe4307924b5fa45a4534d11494cdf8e41c2b84b97f"}}, {"rule": 2, "type": "equivalent", "target": "d8002886e5e02df8376c5986e54462f2", "evidence": {"same_day": true, "patch_ids": ["c7b7e5ea3577b3d900e06cd112a51878"], "statement_hash": "d5965bdd5734479eaa6212fe4307924b5fa45a4534d11494cdf8e41c2b84b97f"}}], "version": "15.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "565728557128822df30c43191a2dbfad", "kind": "equivalent", "version": "18.1", "label": "18.1", "title": "Avoid duplicating hash partition constraints during DETACH CONCURRENTLY", "evidence": {"same_day": true, "patch_ids": ["c7b7e5ea3577b3d900e06cd112a51878"], "statement_hash": "d5965bdd5734479eaa6212fe4307924b5fa45a4534d11494cdf8e41c2b84b97f"}, "url": "/docs/compare/?release=18.1#18.1-570dc654ef6dd9a2", "source_url": "/docs/release/18.1/#RELEASE-18-1-CHANGES"}, {"db_id": "d8002886e5e02df8376c5986e54462f2", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Avoid duplicating hash partition constraints during DETACH CONCURRENTLY", "evidence": {"same_day": true, "patch_ids": ["c7b7e5ea3577b3d900e06cd112a51878"], "statement_hash": "d5965bdd5734479eaa6212fe4307924b5fa45a4534d11494cdf8e41c2b84b97f"}, "url": "/docs/compare/?release=17.7#17.7-7064942458440619", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "cf6c332f29166e2669260e45b57ff0d2", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Avoid duplicating hash partition constraints during DETACH CONCURRENTLY", "evidence": {"same_day": true, "patch_ids": ["c7b7e5ea3577b3d900e06cd112a51878"], "statement_hash": "d5965bdd5734479eaa6212fe4307924b5fa45a4534d11494cdf8e41c2b84b97f"}, "url": "/docs/compare/?release=16.11#16.11-fe3f70460c985c25", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "417982fb5fc35be16b96cd9dffae86f4", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Avoid duplicating hash partition constraints during DETACH CONCURRENTLY", "evidence": {"same_day": true, "patch_ids": ["c7b7e5ea3577b3d900e06cd112a51878"], "statement_hash": "d5965bdd5734479eaa6212fe4307924b5fa45a4534d11494cdf8e41c2b84b97f"}, "url": "/docs/compare/?release=14.20#14.20-bf89a39228e4a4ca", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}]}, {"id": "15.15-7ad9c63c8b6e6da5", "cves": [], "html": "<p>Disallow generated columns in partition keys (Jian He, Ashutosh Bapat) <a href=\"https://postgr.es/c/643a5e96c\">§</a></p>\n<p>This was already not allowed, but the check missed some cases, such as where the column reference is implicit in a whole-row reference.</p>", "text": "Disallow generated columns in partition keys (Jian He, Ashutosh Bapat) § This was already not allowed, but the check missed some cases, such as where the column reference is implicit in a whole-row reference.", "title": "Disallow generated columns in partition keys", "commits": ["643a5e96c"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "ad486fccf075d17fd8ffe502e37d9d7d34bdac4a0d07468560b4c60f525ab679", "section_path": ["Changes"], "commit_groups": [["040cc5f3c", "04345d7a4", "0b44f2443", "643a5e96c", "7180d56c5", "7f239c72a", "ba99c9491"]], "identity_text": "Disallow generated columns in partition keys (Jian He, Ashutosh Bapat) This was already not allowed, but the check missed some cases, such as where the column reference is implicit in a whole-row reference.", "commit_aliases": ["040cc5f3c", "04345d7a4", "0b44f2443", "643a5e96c", "7180d56c5", "7f239c72a", "ba99c9491"], "source_commits": ["643a5e96c"], "source_entry_id": "15.15/changes/017", "db_id": "605ca6399f9aae142eb2f308e3d598fd", "patch_ids": ["26b7dee3d5b5a82dd804a2b2e1ecd780"], "statement_hash": "5dded4849247ab37d7f44a8fd133cdab652ee07cbfab3751bd8d4ffcbdd7e99f", "relations": [{"rule": 2, "type": "equivalent", "target": "300cd459ecbe8f82fbe0665d8d6b47c5", "evidence": {"same_day": true, "patch_ids": ["26b7dee3d5b5a82dd804a2b2e1ecd780"], "statement_hash": "5dded4849247ab37d7f44a8fd133cdab652ee07cbfab3751bd8d4ffcbdd7e99f"}}, {"rule": 2, "type": "equivalent", "target": "525dd26c2bb1d8a0169ce29cab95adac", "evidence": {"same_day": true, "patch_ids": ["26b7dee3d5b5a82dd804a2b2e1ecd780"], "statement_hash": "5dded4849247ab37d7f44a8fd133cdab652ee07cbfab3751bd8d4ffcbdd7e99f"}}, {"rule": 2, "type": "equivalent", "target": "8894dad53381cd45feb93c24e4fb14ba", "evidence": {"same_day": true, "patch_ids": ["26b7dee3d5b5a82dd804a2b2e1ecd780"], "statement_hash": "5dded4849247ab37d7f44a8fd133cdab652ee07cbfab3751bd8d4ffcbdd7e99f"}}, {"rule": 2, "type": "equivalent", "target": "a8595e24703e1deff3ce7b6fe56d02db", "evidence": {"same_day": true, "patch_ids": ["26b7dee3d5b5a82dd804a2b2e1ecd780"], "statement_hash": "5dded4849247ab37d7f44a8fd133cdab652ee07cbfab3751bd8d4ffcbdd7e99f"}}, {"rule": 2, "type": "equivalent", "target": "adb9f0cae7cdccc24195248ff3704b74", "evidence": {"same_day": true, "patch_ids": ["26b7dee3d5b5a82dd804a2b2e1ecd780"], "statement_hash": "5dded4849247ab37d7f44a8fd133cdab652ee07cbfab3751bd8d4ffcbdd7e99f"}}], "version": "15.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "a8595e24703e1deff3ce7b6fe56d02db", "kind": "equivalent", "version": "18.1", "label": "18.1", "title": "Disallow generated columns in partition keys", "evidence": {"same_day": true, "patch_ids": ["26b7dee3d5b5a82dd804a2b2e1ecd780"], "statement_hash": "5dded4849247ab37d7f44a8fd133cdab652ee07cbfab3751bd8d4ffcbdd7e99f"}, "url": "/docs/compare/?release=18.1#18.1-6edf5c69ea4392a4", "source_url": "/docs/release/18.1/#RELEASE-18-1-CHANGES"}, {"db_id": "8894dad53381cd45feb93c24e4fb14ba", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Disallow generated columns in partition keys", "evidence": {"same_day": true, "patch_ids": ["26b7dee3d5b5a82dd804a2b2e1ecd780"], "statement_hash": "5dded4849247ab37d7f44a8fd133cdab652ee07cbfab3751bd8d4ffcbdd7e99f"}, "url": "/docs/compare/?release=17.7#17.7-6b87f410ccf7eeba", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "300cd459ecbe8f82fbe0665d8d6b47c5", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Disallow generated columns in partition keys", "evidence": {"same_day": true, "patch_ids": ["26b7dee3d5b5a82dd804a2b2e1ecd780"], "statement_hash": "5dded4849247ab37d7f44a8fd133cdab652ee07cbfab3751bd8d4ffcbdd7e99f"}, "url": "/docs/compare/?release=16.11#16.11-2c9382bd25ce0f59", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "adb9f0cae7cdccc24195248ff3704b74", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Disallow generated columns in partition keys", "evidence": {"same_day": true, "patch_ids": ["26b7dee3d5b5a82dd804a2b2e1ecd780"], "statement_hash": "5dded4849247ab37d7f44a8fd133cdab652ee07cbfab3751bd8d4ffcbdd7e99f"}, "url": "/docs/compare/?release=14.20#14.20-e39243838bbc984a", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "525dd26c2bb1d8a0169ce29cab95adac", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "Disallow generated columns in partition keys", "evidence": {"same_day": true, "patch_ids": ["26b7dee3d5b5a82dd804a2b2e1ecd780"], "statement_hash": "5dded4849247ab37d7f44a8fd133cdab652ee07cbfab3751bd8d4ffcbdd7e99f"}, "url": "/docs/compare/?release=13.23#13.23-9b4ab32d62f672a8", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}, {"id": "15.15-076d57a3f0940e3d", "cves": [], "html": "<p>Disallow generated columns in <code>COPY ... FROM ... WHERE</code> clauses (Peter Eisentraut, Jian He) <a href=\"https://postgr.es/c/8278737bf\">§</a></p>\n<p>Previously, incorrect behavior or an obscure error message resulted from attempting to reference such a column, since generated columns have not yet been computed at the point where <code>WHERE</code> filtering is done.</p>", "text": "Disallow generated columns in COPY ... FROM ... WHERE clauses (Peter Eisentraut, Jian He) § Previously, incorrect behavior or an obscure error message resulted from attempting to reference such a column, since generated columns have not yet been computed at the point where WHERE filtering is done.", "title": "Disallow generated columns in COPY ... FROM ... WHERE clauses", "commits": ["8278737bf"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "472d94ac2b8f31c81a4a17225682516d6482fe762c7c187d98abe4eae867975b", "section_path": ["Changes"], "commit_groups": [["07f787e57", "0f9e0068b", "26958f4d9", "3717849e6", "8278737bf", "aa606b931", "ccfe28eb4"]], "identity_text": "Disallow generated columns in COPY ... FROM ... WHERE clauses (Peter Eisentraut, Jian He) Previously, incorrect behavior or an obscure error message resulted from attempting to reference such a column, since generated columns have not yet been computed at the point where WHERE filtering is done.", "commit_aliases": ["07f787e57", "0f9e0068b", "26958f4d9", "3717849e6", "8278737bf", "aa606b931", "ccfe28eb4"], "source_commits": ["8278737bf"], "source_entry_id": "15.15/changes/018", "db_id": "7b8f833f1bd965ce518eb2d3e003a1dc", "patch_ids": ["288ff18af81cea964c777c267d44976b"], "statement_hash": "3e3e53285ed4984ded0685482e76482c19c858ab07dd559f8421550b25cb5dc6", "relations": [{"rule": 2, "type": "equivalent", "target": "476c1d31c3b2a4f231e061a533173538", "evidence": {"same_day": true, "patch_ids": ["288ff18af81cea964c777c267d44976b"], "statement_hash": "3e3e53285ed4984ded0685482e76482c19c858ab07dd559f8421550b25cb5dc6"}}, {"rule": 2, "type": "equivalent", "target": "688b8d0a8d86ff5dfc64586a1e76d364", "evidence": {"same_day": true, "patch_ids": ["288ff18af81cea964c777c267d44976b"], "statement_hash": "3e3e53285ed4984ded0685482e76482c19c858ab07dd559f8421550b25cb5dc6"}}, {"rule": 2, "type": "equivalent", "target": "7910dd8ca51fdddfcd65a301d722ec44", "evidence": {"same_day": true, "patch_ids": ["288ff18af81cea964c777c267d44976b"], "statement_hash": "3e3e53285ed4984ded0685482e76482c19c858ab07dd559f8421550b25cb5dc6"}}, {"rule": 2, "type": "equivalent", "target": "9cbb9b53b5d6bb4acf6cc0063d8379f2", "evidence": {"same_day": true, "patch_ids": ["288ff18af81cea964c777c267d44976b"], "statement_hash": "3e3e53285ed4984ded0685482e76482c19c858ab07dd559f8421550b25cb5dc6"}}, {"rule": 2, "type": "equivalent", "target": "d7b4a6585334f8e8aa07a327994e2043", "evidence": {"same_day": true, "patch_ids": ["288ff18af81cea964c777c267d44976b"], "statement_hash": "3e3e53285ed4984ded0685482e76482c19c858ab07dd559f8421550b25cb5dc6"}}], "version": "15.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "476c1d31c3b2a4f231e061a533173538", "kind": "equivalent", "version": "18.1", "label": "18.1", "title": "Disallow generated columns in COPY ... FROM ... WHERE clauses", "evidence": {"same_day": true, "patch_ids": ["288ff18af81cea964c777c267d44976b"], "statement_hash": "3e3e53285ed4984ded0685482e76482c19c858ab07dd559f8421550b25cb5dc6"}, "url": "/docs/compare/?release=18.1#18.1-f93c705391287b77", "source_url": "/docs/release/18.1/#RELEASE-18-1-CHANGES"}, {"db_id": "d7b4a6585334f8e8aa07a327994e2043", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Disallow generated columns in COPY ... FROM ... WHERE clauses", "evidence": {"same_day": true, "patch_ids": ["288ff18af81cea964c777c267d44976b"], "statement_hash": "3e3e53285ed4984ded0685482e76482c19c858ab07dd559f8421550b25cb5dc6"}, "url": "/docs/compare/?release=17.7#17.7-0707cf226664ba13", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "9cbb9b53b5d6bb4acf6cc0063d8379f2", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Disallow generated columns in COPY ... FROM ... WHERE clauses", "evidence": {"same_day": true, "patch_ids": ["288ff18af81cea964c777c267d44976b"], "statement_hash": "3e3e53285ed4984ded0685482e76482c19c858ab07dd559f8421550b25cb5dc6"}, "url": "/docs/compare/?release=16.11#16.11-954887ba5dd000ba", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "7910dd8ca51fdddfcd65a301d722ec44", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Disallow generated columns in COPY ... FROM ... WHERE clauses", "evidence": {"same_day": true, "patch_ids": ["288ff18af81cea964c777c267d44976b"], "statement_hash": "3e3e53285ed4984ded0685482e76482c19c858ab07dd559f8421550b25cb5dc6"}, "url": "/docs/compare/?release=14.20#14.20-4a1e5b283bd94af8", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "688b8d0a8d86ff5dfc64586a1e76d364", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "Disallow generated columns in COPY ... FROM ... WHERE clauses", "evidence": {"same_day": true, "patch_ids": ["288ff18af81cea964c777c267d44976b"], "statement_hash": "3e3e53285ed4984ded0685482e76482c19c858ab07dd559f8421550b25cb5dc6"}, "url": "/docs/compare/?release=13.23#13.23-27a4ac9e65339e2a", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}, {"id": "15.15-2b35c01425341c9d", "cves": [], "html": "<p>Fix visibility checking for statistics objects in <code>pg_temp</code> (Noah Misch) <a href=\"https://postgr.es/c/d202ec1fb\">§</a></p>\n<p>A statistics object located in a temporary schema cannot be named without schema qualification, but <code>pg_statistics_obj_is_visible()</code> missed that memo and could return <span>“<span>true</span>”</span> regardless. In turn, functions such as <code>pg_describe_object()</code> could fail to schema-qualify the object's name as expected.</p>", "text": "Fix visibility checking for statistics objects in pg_temp (Noah Misch) § A statistics object located in a temporary schema cannot be named without schema qualification, but pg_statistics_obj_is_visible() missed that memo and could return “true” regardless. In turn, functions such as pg_describe_object() could fail to schema-qualify the object's name as expected.", "title": "Fix visibility checking for statistics objects in pg_temp", "commits": ["d202ec1fb"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "c75f8263e70033edc6e2ac7cfa5c733db63a22416b079b9780363be466c48fc4", "section_path": ["Changes"], "commit_groups": [["5816baa9b", "6778fbca6", "a95393ecd", "ab16418ee", "afb2cce74", "d024160ff", "d202ec1fb"]], "identity_text": "Fix visibility checking for statistics objects in pg_temp (Noah Misch) A statistics object located in a temporary schema cannot be named without schema qualification, but pg_statistics_obj_is_visible() missed that memo and could return true regardless. In turn, functions such as pg_describe_object() could fail to schema-qualify the object's name as expected.", "commit_aliases": ["5816baa9b", "6778fbca6", "a95393ecd", "ab16418ee", "afb2cce74", "d024160ff", "d202ec1fb"], "source_commits": ["d202ec1fb"], "source_entry_id": "15.15/changes/019", "db_id": "12fee3df0b5233b7e8135e949ea2f87f", "patch_ids": ["92d91f4ff61990d871fd5034eef653d7"], "statement_hash": "6ab2a16a11fdf9756b132b2aa3b08c0bc2821a0def25ca6fd133def84e610d24", "relations": [{"rule": 2, "type": "equivalent", "target": "20af10bca614d2e3d01c9b7d89ca87a3", "evidence": {"same_day": true, "patch_ids": ["92d91f4ff61990d871fd5034eef653d7"], "statement_hash": "6ab2a16a11fdf9756b132b2aa3b08c0bc2821a0def25ca6fd133def84e610d24"}}, {"rule": 2, "type": "equivalent", "target": "7e832b26c5667abdcb7da1479c2627cc", "evidence": {"same_day": true, "patch_ids": ["92d91f4ff61990d871fd5034eef653d7"], "statement_hash": "6ab2a16a11fdf9756b132b2aa3b08c0bc2821a0def25ca6fd133def84e610d24"}}, {"rule": 2, "type": "equivalent", "target": "8294c317781f8f709b7133dfce95b792", "evidence": {"same_day": true, "patch_ids": ["92d91f4ff61990d871fd5034eef653d7"], "statement_hash": "6ab2a16a11fdf9756b132b2aa3b08c0bc2821a0def25ca6fd133def84e610d24"}}, {"rule": 2, "type": "equivalent", "target": "875f65c32c6f6827a1f949b0b14ab7c2", "evidence": {"same_day": true, "patch_ids": ["92d91f4ff61990d871fd5034eef653d7"], "statement_hash": "6ab2a16a11fdf9756b132b2aa3b08c0bc2821a0def25ca6fd133def84e610d24"}}, {"rule": 2, "type": "equivalent", "target": "9ba9c2385da1c0904fac8dc3ed1373f9", "evidence": {"same_day": true, "patch_ids": ["92d91f4ff61990d871fd5034eef653d7"], "statement_hash": "6ab2a16a11fdf9756b132b2aa3b08c0bc2821a0def25ca6fd133def84e610d24"}}], "version": "15.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "20af10bca614d2e3d01c9b7d89ca87a3", "kind": "equivalent", "version": "18.1", "label": "18.1", "title": "Fix visibility checking for statistics objects in pg_temp", "evidence": {"same_day": true, "patch_ids": ["92d91f4ff61990d871fd5034eef653d7"], "statement_hash": "6ab2a16a11fdf9756b132b2aa3b08c0bc2821a0def25ca6fd133def84e610d24"}, "url": "/docs/compare/?release=18.1#18.1-4356f370a232f620", "source_url": "/docs/release/18.1/#RELEASE-18-1-CHANGES"}, {"db_id": "7e832b26c5667abdcb7da1479c2627cc", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Fix visibility checking for statistics objects in pg_temp", "evidence": {"same_day": true, "patch_ids": ["92d91f4ff61990d871fd5034eef653d7"], "statement_hash": "6ab2a16a11fdf9756b132b2aa3b08c0bc2821a0def25ca6fd133def84e610d24"}, "url": "/docs/compare/?release=17.7#17.7-542a921308709f1a", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "8294c317781f8f709b7133dfce95b792", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Fix visibility checking for statistics objects in pg_temp", "evidence": {"same_day": true, "patch_ids": ["92d91f4ff61990d871fd5034eef653d7"], "statement_hash": "6ab2a16a11fdf9756b132b2aa3b08c0bc2821a0def25ca6fd133def84e610d24"}, "url": "/docs/compare/?release=16.11#16.11-8fadc4c9437a4ca4", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "875f65c32c6f6827a1f949b0b14ab7c2", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Fix visibility checking for statistics objects in pg_temp", "evidence": {"same_day": true, "patch_ids": ["92d91f4ff61990d871fd5034eef653d7"], "statement_hash": "6ab2a16a11fdf9756b132b2aa3b08c0bc2821a0def25ca6fd133def84e610d24"}, "url": "/docs/compare/?release=14.20#14.20-a62bf543526a33a4", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "9ba9c2385da1c0904fac8dc3ed1373f9", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "Fix visibility checking for statistics objects in pg_temp", "evidence": {"same_day": true, "patch_ids": ["92d91f4ff61990d871fd5034eef653d7"], "statement_hash": "6ab2a16a11fdf9756b132b2aa3b08c0bc2821a0def25ca6fd133def84e610d24"}, "url": "/docs/compare/?release=13.23#13.23-2dee3974fb706ea9", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}, {"id": "15.15-df8936a66efdd894", "cves": [], "html": "<p>Fix <code>pg_event_trigger_dropped_objects()</code>'s reporting of temporary status (Antoine Violin, Tom Lane) <a href=\"https://postgr.es/c/451373dc5\">§</a> <a href=\"https://postgr.es/c/33e49ee01\">§</a></p>\n<p>If a dropped column default, trigger, or RLS policy belongs to a temporary table, report it with <code>is_temporary</code> true.</p>", "text": "Fix pg_event_trigger_dropped_objects()'s reporting of temporary status (Antoine Violin, Tom Lane) § § If a dropped column default, trigger, or RLS policy belongs to a temporary table, report it with is_temporary true.", "title": "Fix pg_event_trigger_dropped_objects()'s reporting of temporary status", "commits": ["33e49ee01", "451373dc5"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "45696df963ee25f801223f54c96b9f6644ce0f6d95c82ebc7c23ef90db112fab", "section_path": ["Changes"], "commit_groups": [["33e49ee01", "a220e40d1", "ef81db969", "f14ea34d6", "f6c8e7824"], ["3c02c4652", "451373dc5", "8856f1acc", "a0b99fc12", "c0c8ee23c"]], "identity_text": "Fix pg_event_trigger_dropped_objects()'s reporting of temporary status (Antoine Violin, Tom Lane) If a dropped column default, trigger, or RLS policy belongs to a temporary table, report it with is_temporary true.", "commit_aliases": ["33e49ee01", "3c02c4652", "451373dc5", "8856f1acc", "a0b99fc12", "a220e40d1", "c0c8ee23c", "ef81db969", "f14ea34d6", "f6c8e7824"], "source_commits": ["33e49ee01", "451373dc5"], "source_entry_id": "15.15/changes/020", "db_id": "227cf9794e49acb1c9030b8db92bbdc8", "patch_ids": ["b8779ce4f1e952ff00f5b619897a320f", "e86ee0eaaaf16b3ef681937d8f3e1974"], "statement_hash": "5245e6ebc5c16115fe580f09dafc5b63af74937e42bac75379ac8e2767022474", "relations": [{"rule": 2, "type": "equivalent", "target": "adaa3e0e292b87e7258507fa56134449", "evidence": {"same_day": true, "patch_ids": ["b8779ce4f1e952ff00f5b619897a320f", "e86ee0eaaaf16b3ef681937d8f3e1974"], "statement_hash": "5245e6ebc5c16115fe580f09dafc5b63af74937e42bac75379ac8e2767022474"}}, {"rule": 2, "type": "equivalent", "target": "fc405f38c4d7e9e379cbd5c7ef74c8a4", "evidence": {"same_day": true, "patch_ids": ["b8779ce4f1e952ff00f5b619897a320f", "e86ee0eaaaf16b3ef681937d8f3e1974"], "statement_hash": "5245e6ebc5c16115fe580f09dafc5b63af74937e42bac75379ac8e2767022474"}}], "version": "15.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "adaa3e0e292b87e7258507fa56134449", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Fix pg_event_trigger_dropped_objects()'s reporting of temporary status", "evidence": {"same_day": true, "patch_ids": ["b8779ce4f1e952ff00f5b619897a320f", "e86ee0eaaaf16b3ef681937d8f3e1974"], "statement_hash": "5245e6ebc5c16115fe580f09dafc5b63af74937e42bac75379ac8e2767022474"}, "url": "/docs/compare/?release=17.7#17.7-9a9324ca337e6d53", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "fc405f38c4d7e9e379cbd5c7ef74c8a4", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Fix pg_event_trigger_dropped_objects()'s reporting of temporary status", "evidence": {"same_day": true, "patch_ids": ["b8779ce4f1e952ff00f5b619897a320f", "e86ee0eaaaf16b3ef681937d8f3e1974"], "statement_hash": "5245e6ebc5c16115fe580f09dafc5b63af74937e42bac75379ac8e2767022474"}, "url": "/docs/compare/?release=16.11#16.11-1acee7aeeb05851c", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}]}, {"id": "15.15-7f29140debd89f20", "cves": [], "html": "<p>Fix memory leakage in hashed subplans (Haiyang Li) <a href=\"https://postgr.es/c/5ac973892\">§</a></p>\n<p>Any memory consumed by the hash functions used for hashing tuples constituted a query-lifespan memory leak. One way that could happen is if the values being hashed require de-toasting.</p>", "text": "Fix memory leakage in hashed subplans (Haiyang Li) § Any memory consumed by the hash functions used for hashing tuples constituted a query-lifespan memory leak. One way that could happen is if the values being hashed require de-toasting.", "title": "Fix memory leakage in hashed subplans", "commits": ["5ac973892"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "2af162f69acfb25df1fcd82356b66c5d449678c293f79cd80a0c1aca72926205", "section_path": ["Changes"], "commit_groups": [["5ac973892", "5eab9b0a4", "862980f92", "8b6c29afd", "abdeacdb0", "bc865ff6d", "e1da9c072"]], "identity_text": "Fix memory leakage in hashed subplans (Haiyang Li) Any memory consumed by the hash functions used for hashing tuples constituted a query-lifespan memory leak. One way that could happen is if the values being hashed require de-toasting.", "commit_aliases": ["5ac973892", "5eab9b0a4", "862980f92", "8b6c29afd", "abdeacdb0", "bc865ff6d", "e1da9c072"], "source_commits": ["5ac973892"], "source_entry_id": "15.15/changes/021", "db_id": "f0d430aa11163b42d6790f75f65289ab", "patch_ids": ["a2bb67b75f354f5dabcb71fadb21152b"], "statement_hash": "cdba0b2e8608b306f2792e48f6e19e37fcda5c115bfca2f87ba1928523ed4b96", "relations": [{"rule": 2, "type": "equivalent", "target": "66d28945048365b27caabd86520573af", "evidence": {"same_day": true, "patch_ids": ["a2bb67b75f354f5dabcb71fadb21152b"], "statement_hash": "cdba0b2e8608b306f2792e48f6e19e37fcda5c115bfca2f87ba1928523ed4b96"}}, {"rule": 2, "type": "equivalent", "target": "716c8f69dbded655fabcf097344a2b29", "evidence": {"same_day": true, "patch_ids": ["a2bb67b75f354f5dabcb71fadb21152b"], "statement_hash": "cdba0b2e8608b306f2792e48f6e19e37fcda5c115bfca2f87ba1928523ed4b96"}}, {"rule": 2, "type": "equivalent", "target": "a023f6ed4b374eb0dc96609493ee88eb", "evidence": {"same_day": true, "patch_ids": ["a2bb67b75f354f5dabcb71fadb21152b"], "statement_hash": "cdba0b2e8608b306f2792e48f6e19e37fcda5c115bfca2f87ba1928523ed4b96"}}, {"rule": 2, "type": "equivalent", "target": "caf35b0c52d2f2d7be09e47941e76dee", "evidence": {"same_day": true, "patch_ids": ["a2bb67b75f354f5dabcb71fadb21152b"], "statement_hash": "cdba0b2e8608b306f2792e48f6e19e37fcda5c115bfca2f87ba1928523ed4b96"}}], "version": "15.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "a023f6ed4b374eb0dc96609493ee88eb", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Fix memory leakage in hashed subplans", "evidence": {"same_day": true, "patch_ids": ["a2bb67b75f354f5dabcb71fadb21152b"], "statement_hash": "cdba0b2e8608b306f2792e48f6e19e37fcda5c115bfca2f87ba1928523ed4b96"}, "url": "/docs/compare/?release=17.7#17.7-e2424f99d2f437b5", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "716c8f69dbded655fabcf097344a2b29", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Fix memory leakage in hashed subplans", "evidence": {"same_day": true, "patch_ids": ["a2bb67b75f354f5dabcb71fadb21152b"], "statement_hash": "cdba0b2e8608b306f2792e48f6e19e37fcda5c115bfca2f87ba1928523ed4b96"}, "url": "/docs/compare/?release=16.11#16.11-690bb3133c148d74", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "caf35b0c52d2f2d7be09e47941e76dee", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Fix memory leakage in hashed subplans", "evidence": {"same_day": true, "patch_ids": ["a2bb67b75f354f5dabcb71fadb21152b"], "statement_hash": "cdba0b2e8608b306f2792e48f6e19e37fcda5c115bfca2f87ba1928523ed4b96"}, "url": "/docs/compare/?release=14.20#14.20-33e44d7312fadeff", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "66d28945048365b27caabd86520573af", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "Fix memory leakage in hashed subplans", "evidence": {"same_day": true, "patch_ids": ["a2bb67b75f354f5dabcb71fadb21152b"], "statement_hash": "cdba0b2e8608b306f2792e48f6e19e37fcda5c115bfca2f87ba1928523ed4b96"}, "url": "/docs/compare/?release=13.23#13.23-7cc556201553018b", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}, {"id": "15.15-e3961aff6d69ca4a", "cves": [], "html": "<p>Fix minor memory leak during WAL replay of database creation (Nathan Bossart) <a href=\"https://postgr.es/c/23b316c36\">§</a></p>", "text": "Fix minor memory leak during WAL replay of database creation (Nathan Bossart) §", "title": "Fix minor memory leak during WAL replay of database creation", "commits": ["23b316c36"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "460dd9fedbfb2f390d48767e560c2f26111ac861f3d84899b7980ecf71a255b1", "section_path": ["Changes"], "commit_groups": [["23b316c36", "33e7b4a7c", "c72b5c536", "f9993ac64", "ff47f9c16"]], "identity_text": "Fix minor memory leak during WAL replay of database creation (Nathan Bossart)", "commit_aliases": ["23b316c36", "33e7b4a7c", "c72b5c536", "f9993ac64", "ff47f9c16"], "source_commits": ["23b316c36"], "source_entry_id": "15.15/changes/022", "db_id": "52d97c7cf8fbcce26fef4b0c910e4bf6", "patch_ids": ["7b3c9562820ec298d794a69d51573920"], "statement_hash": "aaf589db3ca0547c1138682c80ba4c30d7666e77fdcd70b3a9824de7014ad03c", "relations": [{"rule": 2, "type": "equivalent", "target": "07b0f2ed9748f2ad84f75138a8f693ab", "evidence": {"same_day": true, "patch_ids": ["7b3c9562820ec298d794a69d51573920"], "statement_hash": "aaf589db3ca0547c1138682c80ba4c30d7666e77fdcd70b3a9824de7014ad03c"}}, {"rule": 2, "type": "equivalent", "target": "0e7b5976bd913c25991a5ff549ac5f81", "evidence": {"same_day": true, "patch_ids": ["7b3c9562820ec298d794a69d51573920"], "statement_hash": "aaf589db3ca0547c1138682c80ba4c30d7666e77fdcd70b3a9824de7014ad03c"}}, {"rule": 2, "type": "equivalent", "target": "4be639cfbce3dac014c7f3139f4beaa7", "evidence": {"same_day": true, "patch_ids": ["7b3c9562820ec298d794a69d51573920"], "statement_hash": "aaf589db3ca0547c1138682c80ba4c30d7666e77fdcd70b3a9824de7014ad03c"}}], "version": "15.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "0e7b5976bd913c25991a5ff549ac5f81", "kind": "equivalent", "version": "18.1", "label": "18.1", "title": "Fix minor memory leak during WAL replay of database creation", "evidence": {"same_day": true, "patch_ids": ["7b3c9562820ec298d794a69d51573920"], "statement_hash": "aaf589db3ca0547c1138682c80ba4c30d7666e77fdcd70b3a9824de7014ad03c"}, "url": "/docs/compare/?release=18.1#18.1-c10f4000798b8d9f", "source_url": "/docs/release/18.1/#RELEASE-18-1-CHANGES"}, {"db_id": "4be639cfbce3dac014c7f3139f4beaa7", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Fix minor memory leak during WAL replay of database creation", "evidence": {"same_day": true, "patch_ids": ["7b3c9562820ec298d794a69d51573920"], "statement_hash": "aaf589db3ca0547c1138682c80ba4c30d7666e77fdcd70b3a9824de7014ad03c"}, "url": "/docs/compare/?release=17.7#17.7-200457c819df1105", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "07b0f2ed9748f2ad84f75138a8f693ab", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Fix minor memory leak during WAL replay of database creation", "evidence": {"same_day": true, "patch_ids": ["7b3c9562820ec298d794a69d51573920"], "statement_hash": "aaf589db3ca0547c1138682c80ba4c30d7666e77fdcd70b3a9824de7014ad03c"}, "url": "/docs/compare/?release=16.11#16.11-2e0c5a7298bb48a1", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}]}, {"id": "15.15-092c3fabcf87a792", "cves": [], "html": "<p>Fix corruption of the shared statistics table after out-of-memory failures (Mikhail Kot) <a href=\"https://postgr.es/c/1852ec5db\">§</a></p>\n<p>Previously, an out-of-memory failure partway through creating a new hash table entry left a broken entry behind, potentially causing errors in other sessions later.</p>", "text": "Fix corruption of the shared statistics table after out-of-memory failures (Mikhail Kot) § Previously, an out-of-memory failure partway through creating a new hash table entry left a broken entry behind, potentially causing errors in other sessions later.", "title": "Fix corruption of the shared statistics table after out-of-memory failures", "commits": ["1852ec5db"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "46f2c202a486bfaa03978530d723985b79a93b6c0b3ce6ccb76df089547f327f", "section_path": ["Changes"], "commit_groups": [["12f57681c", "1852ec5db", "3e6dfcfb0", "8191e0c16", "f256a7bba"]], "identity_text": "Fix corruption of the shared statistics table after out-of-memory failures (Mikhail Kot) Previously, an out-of-memory failure partway through creating a new hash table entry left a broken entry behind, potentially causing errors in other sessions later.", "commit_aliases": ["12f57681c", "1852ec5db", "3e6dfcfb0", "8191e0c16", "f256a7bba"], "source_commits": ["1852ec5db"], "source_entry_id": "15.15/changes/023", "db_id": "e3be8eb6c685942d1ed8b0a46aef228d", "patch_ids": ["26897e0ef72dc7a9b009d5b34ec5d2ea"], "statement_hash": "af500ba26ad0df8abfaed0a4561558ddde2bb07d3bed0254add64eb0fa812315", "relations": [{"rule": 2, "type": "equivalent", "target": "e04d248137ebff8b4925101d2d580e2f", "evidence": {"same_day": true, "patch_ids": ["26897e0ef72dc7a9b009d5b34ec5d2ea"], "statement_hash": "af500ba26ad0df8abfaed0a4561558ddde2bb07d3bed0254add64eb0fa812315"}}, {"rule": 2, "type": "equivalent", "target": "f23e41805c101675a10149bbc9f843a2", "evidence": {"same_day": true, "patch_ids": ["26897e0ef72dc7a9b009d5b34ec5d2ea"], "statement_hash": "af500ba26ad0df8abfaed0a4561558ddde2bb07d3bed0254add64eb0fa812315"}}], "version": "15.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "e04d248137ebff8b4925101d2d580e2f", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Fix corruption of the shared statistics table after out-of-memory failures", "evidence": {"same_day": true, "patch_ids": ["26897e0ef72dc7a9b009d5b34ec5d2ea"], "statement_hash": "af500ba26ad0df8abfaed0a4561558ddde2bb07d3bed0254add64eb0fa812315"}, "url": "/docs/compare/?release=17.7#17.7-f24d4db0884e5b15", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "f23e41805c101675a10149bbc9f843a2", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Fix corruption of the shared statistics table after out-of-memory failures", "evidence": {"same_day": true, "patch_ids": ["26897e0ef72dc7a9b009d5b34ec5d2ea"], "statement_hash": "af500ba26ad0df8abfaed0a4561558ddde2bb07d3bed0254add64eb0fa812315"}, "url": "/docs/compare/?release=16.11#16.11-2c62d646d59219fb", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}]}, {"id": "15.15-8d14c2b41b2cf2a3", "cves": [], "html": "<p>Fix concurrent update issue in <code>MERGE</code> (Yugo Nagata) <a href=\"https://postgr.es/c/f871fbae9\">§</a></p>\n<p>When executing a <code>MERGE UPDATE</code> action, if there is more than one concurrent update of the target row, the lock-and-retry code would sometimes incorrectly identify the latest version of the target tuple, leading to incorrect results.</p>", "text": "Fix concurrent update issue in MERGE (Yugo Nagata) § When executing a MERGE UPDATE action, if there is more than one concurrent update of the target row, the lock-and-retry code would sometimes incorrectly identify the latest version of the target tuple, leading to incorrect results.", "title": "Fix concurrent update issue in MERGE", "commits": ["f871fbae9"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "e52b9b61ff6c609a2945ff986cd61419735bb58b9ba07975d746be9a02ee7fe3", "section_path": ["Changes"], "commit_groups": [["21a61b87f", "6195afbe5", "6ede13d1b", "c70b6db34", "f871fbae9"]], "identity_text": "Fix concurrent update issue in MERGE (Yugo Nagata) When executing a MERGE UPDATE action, if there is more than one concurrent update of the target row, the lock-and-retry code would sometimes incorrectly identify the latest version of the target tuple, leading to incorrect results.", "commit_aliases": ["21a61b87f", "6195afbe5", "6ede13d1b", "c70b6db34", "f871fbae9"], "source_commits": ["f871fbae9"], "source_entry_id": "15.15/changes/024", "db_id": "f255f6089620c27da4148107c8bc248e", "patch_ids": ["a3852e4a27de01202abe71a17c01f021"], "statement_hash": "cb2847f4cfd38a0bd3a62dadf0baf926fdd775b9f087bad7ebb4a72b126f937e", "relations": [{"rule": 2, "type": "equivalent", "target": "7a1579c849cdc05a235995870f92f6ba", "evidence": {"same_day": true, "patch_ids": ["a3852e4a27de01202abe71a17c01f021"], "statement_hash": "cb2847f4cfd38a0bd3a62dadf0baf926fdd775b9f087bad7ebb4a72b126f937e"}}, {"rule": 2, "type": "equivalent", "target": "f53691ce7eb09633c62ef9b93c74b12b", "evidence": {"same_day": true, "patch_ids": ["a3852e4a27de01202abe71a17c01f021"], "statement_hash": "cb2847f4cfd38a0bd3a62dadf0baf926fdd775b9f087bad7ebb4a72b126f937e"}}], "version": "15.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "7a1579c849cdc05a235995870f92f6ba", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Fix concurrent update issue in MERGE", "evidence": {"same_day": true, "patch_ids": ["a3852e4a27de01202abe71a17c01f021"], "statement_hash": "cb2847f4cfd38a0bd3a62dadf0baf926fdd775b9f087bad7ebb4a72b126f937e"}, "url": "/docs/compare/?release=17.7#17.7-7c11e4f2561b50d2", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "f53691ce7eb09633c62ef9b93c74b12b", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Fix concurrent update issue in MERGE", "evidence": {"same_day": true, "patch_ids": ["a3852e4a27de01202abe71a17c01f021"], "statement_hash": "cb2847f4cfd38a0bd3a62dadf0baf926fdd775b9f087bad7ebb4a72b126f937e"}, "url": "/docs/compare/?release=16.11#16.11-ef6bee42e8db18b9", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}]}, {"id": "15.15-e12989606d02564d", "cves": [], "html": "<p>Add missing replica identity checks in <code>MERGE</code> and <code>INSERT ... ON CONFLICT DO UPDATE</code> (Zhijie Hou) <a href=\"https://postgr.es/c/5481cc332\">§</a> <a href=\"https://postgr.es/c/451b22efd\">§</a> <a href=\"https://postgr.es/c/a4624929d\">§</a></p>\n<p>If <code>MERGE</code> may require update or delete actions, and the target table publishes updates or deletes, insist that it have a <code>REPLICA IDENTITY</code> defined. Failing to require this can silently break replication. Likewise, <code>INSERT</code> with an <code>UPDATE</code> option must require <code>REPLICA IDENTITY</code> if the target table publishes either inserts or updates.</p>", "text": "Add missing replica identity checks in MERGE and INSERT ... ON CONFLICT DO UPDATE (Zhijie Hou) § § § If MERGE may require update or delete actions, and the target table publishes updates or deletes, insist that it have a REPLICA IDENTITY defined. Failing to require this can silently break replication. Likewise, INSERT with an UPDATE option must require REPLICA IDENTITY if the target table publishes either inserts or updates.", "title": "Add missing replica identity checks in MERGE and INSERT ... ON CONFLICT DO UPDATE", "commits": ["451b22efd", "5481cc332", "a4624929d"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "63107c39e153d74fa41f9c74c41754718ebfbcf2e0cff6566522a144703759ff", "section_path": ["Changes"], "commit_groups": [["0610b843c", "0b934d399", "0c4d5a45d", "344662848", "451b22efd", "5386bfb9c", "5fd569ef2"], ["311340f17", "421d7a157", "5481cc332", "76f45be93", "fc6600fc1"], ["57dfb64ec", "a4624929d", "d37694b97", "dbef9cbaa", "ea65c8823"]], "identity_text": "Add missing replica identity checks in MERGE and INSERT ... ON CONFLICT DO UPDATE (Zhijie Hou) If MERGE may require update or delete actions, and the target table publishes updates or deletes, insist that it have a REPLICA IDENTITY defined. Failing to require this can silently break replication. Likewise, INSERT with an UPDATE option must require REPLICA IDENTITY if the target table publishes either inserts or updates.", "commit_aliases": ["0610b843c", "0b934d399", "0c4d5a45d", "311340f17", "344662848", "421d7a157", "451b22efd", "5386bfb9c", "5481cc332", "57dfb64ec", "5fd569ef2", "76f45be93", "a4624929d", "d37694b97", "dbef9cbaa", "ea65c8823", "fc6600fc1"], "source_commits": ["451b22efd", "5481cc332", "a4624929d"], "source_entry_id": "15.15/changes/025", "db_id": "4ba5d1a335cfc88f589ce9d68406318f", "patch_ids": ["41ee6a4bd62de46dfbfc7a6ddd4cb297", "5054fd144dc33d242b428fcbc35aa6f9", "5777968be0f595dccbab4ce1dc762000"], "statement_hash": "a94ceb41a466e11a9e90840ccd42da886f417721f5dd37b512bd85d7ef0b7ee9", "relations": [{"rule": 2, "type": "equivalent", "target": "071ee53e7ebf4e0865b3c9742c53ae92", "evidence": {"same_day": true, "patch_ids": ["41ee6a4bd62de46dfbfc7a6ddd4cb297", "5054fd144dc33d242b428fcbc35aa6f9", "5777968be0f595dccbab4ce1dc762000"], "statement_hash": "a94ceb41a466e11a9e90840ccd42da886f417721f5dd37b512bd85d7ef0b7ee9"}}, {"rule": 2, "type": "equivalent", "target": "9317ea883bca2553ac7aa956597e3295", "evidence": {"same_day": true, "patch_ids": ["41ee6a4bd62de46dfbfc7a6ddd4cb297", "5054fd144dc33d242b428fcbc35aa6f9", "5777968be0f595dccbab4ce1dc762000"], "statement_hash": "a94ceb41a466e11a9e90840ccd42da886f417721f5dd37b512bd85d7ef0b7ee9"}}, {"rule": 2, "type": "equivalent", "target": "da6b608252d96b3762138806147866f9", "evidence": {"same_day": true, "patch_ids": ["41ee6a4bd62de46dfbfc7a6ddd4cb297", "5054fd144dc33d242b428fcbc35aa6f9", "5777968be0f595dccbab4ce1dc762000"], "statement_hash": "a94ceb41a466e11a9e90840ccd42da886f417721f5dd37b512bd85d7ef0b7ee9"}}, {"rule": 2, "type": "equivalent", "target": "ef9b4eaf4ec5746d0b09b506aebf812d", "evidence": {"same_day": true, "patch_ids": ["41ee6a4bd62de46dfbfc7a6ddd4cb297", "5054fd144dc33d242b428fcbc35aa6f9", "5777968be0f595dccbab4ce1dc762000"], "statement_hash": "a94ceb41a466e11a9e90840ccd42da886f417721f5dd37b512bd85d7ef0b7ee9"}}], "version": "15.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "da6b608252d96b3762138806147866f9", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Add missing replica identity checks in MERGE and INSERT ... ON CONFLICT DO UPDATE", "evidence": {"same_day": true, "patch_ids": ["41ee6a4bd62de46dfbfc7a6ddd4cb297", "5054fd144dc33d242b428fcbc35aa6f9", "5777968be0f595dccbab4ce1dc762000"], "statement_hash": "a94ceb41a466e11a9e90840ccd42da886f417721f5dd37b512bd85d7ef0b7ee9"}, "url": "/docs/compare/?release=17.7#17.7-0cadf99ab5da1a04", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "9317ea883bca2553ac7aa956597e3295", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Add missing replica identity checks in MERGE and INSERT ... ON CONFLICT DO UPDATE", "evidence": {"same_day": true, "patch_ids": ["41ee6a4bd62de46dfbfc7a6ddd4cb297", "5054fd144dc33d242b428fcbc35aa6f9", "5777968be0f595dccbab4ce1dc762000"], "statement_hash": "a94ceb41a466e11a9e90840ccd42da886f417721f5dd37b512bd85d7ef0b7ee9"}, "url": "/docs/compare/?release=16.11#16.11-265f0792e4a648f1", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "071ee53e7ebf4e0865b3c9742c53ae92", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Add missing replica identity checks in MERGE and INSERT ... ON CONFLICT DO UPDATE", "evidence": {"same_day": true, "patch_ids": ["41ee6a4bd62de46dfbfc7a6ddd4cb297", "5054fd144dc33d242b428fcbc35aa6f9", "5777968be0f595dccbab4ce1dc762000"], "statement_hash": "a94ceb41a466e11a9e90840ccd42da886f417721f5dd37b512bd85d7ef0b7ee9"}, "url": "/docs/compare/?release=14.20#14.20-54a839033290b57a", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "ef9b4eaf4ec5746d0b09b506aebf812d", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "Add missing replica identity checks in MERGE and INSERT ... ON CONFLICT DO UPDATE", "evidence": {"same_day": true, "patch_ids": ["41ee6a4bd62de46dfbfc7a6ddd4cb297", "5054fd144dc33d242b428fcbc35aa6f9", "5777968be0f595dccbab4ce1dc762000"], "statement_hash": "a94ceb41a466e11a9e90840ccd42da886f417721f5dd37b512bd85d7ef0b7ee9"}, "url": "/docs/compare/?release=13.23#13.23-c9a646cf829a7aa4", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}, {"id": "15.15-97fc88876fe935e7", "cves": [], "html": "<p>Avoid deadlock during <code>DROP SUBSCRIPTION</code> when publisher is on the same server as subscriber (Dilip Kumar) <a href=\"https://postgr.es/c/e41137155\">§</a></p>", "text": "Avoid deadlock during DROP SUBSCRIPTION when publisher is on the same server as subscriber (Dilip Kumar) §", "title": "Avoid deadlock during DROP SUBSCRIPTION when publisher is on the same server as subscriber", "commits": ["e41137155"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "a3be59c788fb7f579cd74ab038720ffa49110d75f82c8a8f3a8de30dc6a35b87", "section_path": ["Changes"], "commit_groups": [["0a98f24a6", "288a817bc", "7ece76129", "a5d4c0415", "aa21e4922", "e41137155", "ef7750274"]], "identity_text": "Avoid deadlock during DROP SUBSCRIPTION when publisher is on the same server as subscriber (Dilip Kumar)", "commit_aliases": ["0a98f24a6", "288a817bc", "7ece76129", "a5d4c0415", "aa21e4922", "e41137155", "ef7750274"], "source_commits": ["e41137155"], "source_entry_id": "15.15/changes/026", "db_id": "37942ef2cbf08085298ca32af3615104", "patch_ids": ["1c494a25ebf018053142296bdd84c730"], "statement_hash": "a5e43e275418b0e325d4e0bcf72e0e70d1e3c3f936bbb0c308609ddc6965ab61", "relations": [{"rule": 2, "type": "equivalent", "target": "2b5651aa7ca7bc1226597109b5eed7ac", "evidence": {"same_day": true, "patch_ids": ["1c494a25ebf018053142296bdd84c730"], "statement_hash": "a5e43e275418b0e325d4e0bcf72e0e70d1e3c3f936bbb0c308609ddc6965ab61"}}, {"rule": 2, "type": "equivalent", "target": "43d27e9f743f0a98a23410ab06b13d1d", "evidence": {"same_day": true, "patch_ids": ["1c494a25ebf018053142296bdd84c730"], "statement_hash": "a5e43e275418b0e325d4e0bcf72e0e70d1e3c3f936bbb0c308609ddc6965ab61"}}, {"rule": 2, "type": "equivalent", "target": "b2c73de226cf9cdebc1cf4094ee2864d", "evidence": {"same_day": true, "patch_ids": ["1c494a25ebf018053142296bdd84c730"], "statement_hash": "a5e43e275418b0e325d4e0bcf72e0e70d1e3c3f936bbb0c308609ddc6965ab61"}}, {"rule": 2, "type": "equivalent", "target": "d9cac4cdcf37cb17fa4b6504cfffe203", "evidence": {"same_day": true, "patch_ids": ["1c494a25ebf018053142296bdd84c730"], "statement_hash": "a5e43e275418b0e325d4e0bcf72e0e70d1e3c3f936bbb0c308609ddc6965ab61"}}], "version": "15.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "d9cac4cdcf37cb17fa4b6504cfffe203", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Avoid deadlock during DROP SUBSCRIPTION when publisher is on the same server as subscriber", "evidence": {"same_day": true, "patch_ids": ["1c494a25ebf018053142296bdd84c730"], "statement_hash": "a5e43e275418b0e325d4e0bcf72e0e70d1e3c3f936bbb0c308609ddc6965ab61"}, "url": "/docs/compare/?release=17.7#17.7-27e2062ed1a85246", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "b2c73de226cf9cdebc1cf4094ee2864d", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Avoid deadlock during DROP SUBSCRIPTION when publisher is on the same server as subscriber", "evidence": {"same_day": true, "patch_ids": ["1c494a25ebf018053142296bdd84c730"], "statement_hash": "a5e43e275418b0e325d4e0bcf72e0e70d1e3c3f936bbb0c308609ddc6965ab61"}, "url": "/docs/compare/?release=16.11#16.11-8ccaf041b640c1f0", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "43d27e9f743f0a98a23410ab06b13d1d", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Avoid deadlock during DROP SUBSCRIPTION when publisher is on the same server as subscriber", "evidence": {"same_day": true, "patch_ids": ["1c494a25ebf018053142296bdd84c730"], "statement_hash": "a5e43e275418b0e325d4e0bcf72e0e70d1e3c3f936bbb0c308609ddc6965ab61"}, "url": "/docs/compare/?release=14.20#14.20-a667df23ea5307ac", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "2b5651aa7ca7bc1226597109b5eed7ac", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "Avoid deadlock during DROP SUBSCRIPTION when publisher is on the same server as subscriber", "evidence": {"same_day": true, "patch_ids": ["1c494a25ebf018053142296bdd84c730"], "statement_hash": "a5e43e275418b0e325d4e0bcf72e0e70d1e3c3f936bbb0c308609ddc6965ab61"}, "url": "/docs/compare/?release=13.23#13.23-e99c96781a144e49", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}, {"id": "15.15-0b86e1265303e925", "cves": [], "html": "<p>Fix incorrect reporting of replication lag in <code>pg_stat_replication</code> view (Fujii Masao) <a href=\"https://postgr.es/c/59b215f72\">§</a></p>\n<p>If any standby server's replay LSN stopped advancing, the <code>write_lag</code> and <code>flush_lag</code> columns would eventually stop updating.</p>", "text": "Fix incorrect reporting of replication lag in pg_stat_replication view (Fujii Masao) § If any standby server's replay LSN stopped advancing, the write_lag and flush_lag columns would eventually stop updating.", "title": "Fix incorrect reporting of replication lag in pg_stat_replication view", "commits": ["59b215f72"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "fbb2863a86b2041cf3d86c8807d3db35e132260f1b8d3f3776cbabf1953643b7", "section_path": ["Changes"], "commit_groups": [["2e55cf4ef", "59b215f72", "62d5ee75b", "7d7ebdb80", "883a95646", "9670032cc", "a7ab6ce6a"]], "identity_text": "Fix incorrect reporting of replication lag in pg_stat_replication view (Fujii Masao) If any standby server's replay LSN stopped advancing, the write_lag and flush_lag columns would eventually stop updating.", "commit_aliases": ["2e55cf4ef", "59b215f72", "62d5ee75b", "7d7ebdb80", "883a95646", "9670032cc", "a7ab6ce6a"], "source_commits": ["59b215f72"], "source_entry_id": "15.15/changes/027", "db_id": "791fcff31a58ed212a423b5a722b6f4f", "patch_ids": ["8db46f90292912189aba63435360de0e"], "statement_hash": "64f01eee07baa6edbcfc9de58c6f4a1ee0e57ae42455a11de26eb55f15310c9b", "relations": [{"rule": 2, "type": "equivalent", "target": "73705651f9a3f30d44ed83016f7ac1b4", "evidence": {"same_day": true, "patch_ids": ["8db46f90292912189aba63435360de0e"], "statement_hash": "64f01eee07baa6edbcfc9de58c6f4a1ee0e57ae42455a11de26eb55f15310c9b"}}, {"rule": 2, "type": "equivalent", "target": "7ca4b40fd7ad687ba5827a90faa10c14", "evidence": {"same_day": true, "patch_ids": ["8db46f90292912189aba63435360de0e"], "statement_hash": "64f01eee07baa6edbcfc9de58c6f4a1ee0e57ae42455a11de26eb55f15310c9b"}}, {"rule": 2, "type": "equivalent", "target": "81b53885fae1691a0cea71be2e9b050a", "evidence": {"same_day": true, "patch_ids": ["8db46f90292912189aba63435360de0e"], "statement_hash": "64f01eee07baa6edbcfc9de58c6f4a1ee0e57ae42455a11de26eb55f15310c9b"}}, {"rule": 2, "type": "equivalent", "target": "905cf5ba46c020ac69b28eb9f2785b5c", "evidence": {"same_day": true, "patch_ids": ["8db46f90292912189aba63435360de0e"], "statement_hash": "64f01eee07baa6edbcfc9de58c6f4a1ee0e57ae42455a11de26eb55f15310c9b"}}, {"rule": 2, "type": "equivalent", "target": "a8414849a53aabf5dc53c77b1324c0d5", "evidence": {"same_day": true, "patch_ids": ["8db46f90292912189aba63435360de0e"], "statement_hash": "64f01eee07baa6edbcfc9de58c6f4a1ee0e57ae42455a11de26eb55f15310c9b"}}], "version": "15.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "a8414849a53aabf5dc53c77b1324c0d5", "kind": "equivalent", "version": "18.1", "label": "18.1", "title": "Fix incorrect reporting of replication lag in pg_stat_replication view", "evidence": {"same_day": true, "patch_ids": ["8db46f90292912189aba63435360de0e"], "statement_hash": "64f01eee07baa6edbcfc9de58c6f4a1ee0e57ae42455a11de26eb55f15310c9b"}, "url": "/docs/compare/?release=18.1#18.1-b311e5c7746f8633", "source_url": "/docs/release/18.1/#RELEASE-18-1-CHANGES"}, {"db_id": "905cf5ba46c020ac69b28eb9f2785b5c", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Fix incorrect reporting of replication lag in pg_stat_replication view", "evidence": {"same_day": true, "patch_ids": ["8db46f90292912189aba63435360de0e"], "statement_hash": "64f01eee07baa6edbcfc9de58c6f4a1ee0e57ae42455a11de26eb55f15310c9b"}, "url": "/docs/compare/?release=17.7#17.7-fbae455a9f86efab", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "73705651f9a3f30d44ed83016f7ac1b4", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Fix incorrect reporting of replication lag in pg_stat_replication view", "evidence": {"same_day": true, "patch_ids": ["8db46f90292912189aba63435360de0e"], "statement_hash": "64f01eee07baa6edbcfc9de58c6f4a1ee0e57ae42455a11de26eb55f15310c9b"}, "url": "/docs/compare/?release=16.11#16.11-6fd1b6c4fcd3c179", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "7ca4b40fd7ad687ba5827a90faa10c14", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Fix incorrect reporting of replication lag in pg_stat_replication view", "evidence": {"same_day": true, "patch_ids": ["8db46f90292912189aba63435360de0e"], "statement_hash": "64f01eee07baa6edbcfc9de58c6f4a1ee0e57ae42455a11de26eb55f15310c9b"}, "url": "/docs/compare/?release=14.20#14.20-e6ac77ccd9c8c250", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "81b53885fae1691a0cea71be2e9b050a", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "Fix incorrect reporting of replication lag in pg_stat_replication view", "evidence": {"same_day": true, "patch_ids": ["8db46f90292912189aba63435360de0e"], "statement_hash": "64f01eee07baa6edbcfc9de58c6f4a1ee0e57ae42455a11de26eb55f15310c9b"}, "url": "/docs/compare/?release=13.23#13.23-3107d28e63120415", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}, {"id": "15.15-06f80d83cff8e2e7", "cves": [], "html": "<p>Avoid duplicative log messages about invalid <code>primary_slot_name</code> settings (Fujii Masao) <a href=\"https://postgr.es/c/caf529aba\">§</a></p>", "text": "Avoid duplicative log messages about invalid primary_slot_name settings (Fujii Masao) §", "title": "Avoid duplicative log messages about invalid primary_slot_name settings", "commits": ["caf529aba"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "c10bd759554e707e826d524aaf03f8394db0c8f021e188d3a2c58cb27f69e5f6", "section_path": ["Changes"], "commit_groups": [["1db2870bb", "4fd916eab", "6ff7ba9fe", "b00a16bae", "caf529aba", "f106f53df", "f33e60a53"]], "identity_text": "Avoid duplicative log messages about invalid primary_slot_name settings (Fujii Masao)", "commit_aliases": ["1db2870bb", "4fd916eab", "6ff7ba9fe", "b00a16bae", "caf529aba", "f106f53df", "f33e60a53"], "source_commits": ["caf529aba"], "source_entry_id": "15.15/changes/028", "db_id": "d5025bddb4b7e773a31ef5a7852fa818", "patch_ids": ["9c341da983ece804e7edd31cc99a78ce"], "statement_hash": "0ffd9e32fd1eef45d9928e6dee3e2be177442a1dda1f90e9f7218a34bb08d146", "relations": [{"rule": 2, "type": "equivalent", "target": "5c7937a41540430a37c6313f454afd47", "evidence": {"same_day": true, "patch_ids": ["9c341da983ece804e7edd31cc99a78ce"], "statement_hash": "0ffd9e32fd1eef45d9928e6dee3e2be177442a1dda1f90e9f7218a34bb08d146"}}, {"rule": 2, "type": "equivalent", "target": "5d244383e118ee187bdf1d544ea5c57a", "evidence": {"same_day": true, "patch_ids": ["9c341da983ece804e7edd31cc99a78ce"], "statement_hash": "0ffd9e32fd1eef45d9928e6dee3e2be177442a1dda1f90e9f7218a34bb08d146"}}, {"rule": 2, "type": "equivalent", "target": "9c77ea90dcad71a57f74e096fec194cc", "evidence": {"same_day": true, "patch_ids": ["9c341da983ece804e7edd31cc99a78ce"], "statement_hash": "0ffd9e32fd1eef45d9928e6dee3e2be177442a1dda1f90e9f7218a34bb08d146"}}, {"rule": 2, "type": "equivalent", "target": "cf1cf0980c4a8fd8a92c2de26d804a18", "evidence": {"same_day": true, "patch_ids": ["9c341da983ece804e7edd31cc99a78ce"], "statement_hash": "0ffd9e32fd1eef45d9928e6dee3e2be177442a1dda1f90e9f7218a34bb08d146"}}, {"rule": 2, "type": "equivalent", "target": "d99230cf9e376e84d70ff48c950dfbd4", "evidence": {"same_day": true, "patch_ids": ["9c341da983ece804e7edd31cc99a78ce"], "statement_hash": "0ffd9e32fd1eef45d9928e6dee3e2be177442a1dda1f90e9f7218a34bb08d146"}}], "version": "15.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "d99230cf9e376e84d70ff48c950dfbd4", "kind": "equivalent", "version": "18.1", "label": "18.1", "title": "Avoid duplicative log messages about invalid primary_slot_name settings", "evidence": {"same_day": true, "patch_ids": ["9c341da983ece804e7edd31cc99a78ce"], "statement_hash": "0ffd9e32fd1eef45d9928e6dee3e2be177442a1dda1f90e9f7218a34bb08d146"}, "url": "/docs/compare/?release=18.1#18.1-f9c71c1aa9e41b8f", "source_url": "/docs/release/18.1/#RELEASE-18-1-CHANGES"}, {"db_id": "5c7937a41540430a37c6313f454afd47", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Avoid duplicative log messages about invalid primary_slot_name settings", "evidence": {"same_day": true, "patch_ids": ["9c341da983ece804e7edd31cc99a78ce"], "statement_hash": "0ffd9e32fd1eef45d9928e6dee3e2be177442a1dda1f90e9f7218a34bb08d146"}, "url": "/docs/compare/?release=17.7#17.7-a02e0c2e2b41cb37", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "5d244383e118ee187bdf1d544ea5c57a", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Avoid duplicative log messages about invalid primary_slot_name settings", "evidence": {"same_day": true, "patch_ids": ["9c341da983ece804e7edd31cc99a78ce"], "statement_hash": "0ffd9e32fd1eef45d9928e6dee3e2be177442a1dda1f90e9f7218a34bb08d146"}, "url": "/docs/compare/?release=16.11#16.11-ee0cf1e6bc6716c9", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "9c77ea90dcad71a57f74e096fec194cc", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Avoid duplicative log messages about invalid primary_slot_name settings", "evidence": {"same_day": true, "patch_ids": ["9c341da983ece804e7edd31cc99a78ce"], "statement_hash": "0ffd9e32fd1eef45d9928e6dee3e2be177442a1dda1f90e9f7218a34bb08d146"}, "url": "/docs/compare/?release=14.20#14.20-329643b68626e90f", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "cf1cf0980c4a8fd8a92c2de26d804a18", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "Avoid duplicative log messages about invalid primary_slot_name settings", "evidence": {"same_day": true, "patch_ids": ["9c341da983ece804e7edd31cc99a78ce"], "statement_hash": "0ffd9e32fd1eef45d9928e6dee3e2be177442a1dda1f90e9f7218a34bb08d146"}, "url": "/docs/compare/?release=13.23#13.23-e92cb908f7177984", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}, {"id": "15.15-783a22b01672c5c1", "cves": [], "html": "<p>Remove the unfinished slot state file after failing to write a replication slot's state to disk (Michael Paquier) <a href=\"https://postgr.es/c/0adf424b4\">§</a></p>\n<p>Previously, a failure such as out-of-disk-space resulted in leaving a temporary <code>state.tmp</code> file behind. That's problematic because it would block all subsequent attempts to write the state, requiring manual intervention to clean up.</p>", "text": "Remove the unfinished slot state file after failing to write a replication slot's state to disk (Michael Paquier) § Previously, a failure such as out-of-disk-space resulted in leaving a temporary state.tmp file behind. That's problematic because it would block all subsequent attempts to write the state, requiring manual intervention to clean up.", "title": "Remove the unfinished slot state file after failing to write a replication slot's state to disk", "commits": ["0adf424b4"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "f980db3eb236494fa1afbee913f4b1c40d4b32217cd013b8ddd073fb86a17a41", "section_path": ["Changes"], "commit_groups": [["0adf424b4", "42348839d", "912af1c7e", "9a6ea00ac", "bfdd1a12d", "c878d9808", "f57f2760e"]], "identity_text": "Remove the unfinished slot state file after failing to write a replication slot's state to disk (Michael Paquier) Previously, a failure such as out-of-disk-space resulted in leaving a temporary state.tmp file behind. That's problematic because it would block all subsequent attempts to write the state, requiring manual intervention to clean up.", "commit_aliases": ["0adf424b4", "42348839d", "912af1c7e", "9a6ea00ac", "bfdd1a12d", "c878d9808", "f57f2760e"], "source_commits": ["0adf424b4"], "source_entry_id": "15.15/changes/029", "db_id": "4f476f781039e87ea8de4907a56dfba2", "patch_ids": ["6f111c88b72506ba3e2d5c84c1b1cfcf"], "statement_hash": "c72e99f08db7312d40c0813e006b0820aa3bd77bf507b6561ee3def67607fe72", "relations": [{"rule": 2, "type": "equivalent", "target": "0620bfd126e45a7fb30310413dd82566", "evidence": {"same_day": true, "patch_ids": ["6f111c88b72506ba3e2d5c84c1b1cfcf"], "statement_hash": "c72e99f08db7312d40c0813e006b0820aa3bd77bf507b6561ee3def67607fe72"}}, {"rule": 2, "type": "equivalent", "target": "5f4978515e70467b8cd476a8782b3741", "evidence": {"same_day": true, "patch_ids": ["6f111c88b72506ba3e2d5c84c1b1cfcf"], "statement_hash": "c72e99f08db7312d40c0813e006b0820aa3bd77bf507b6561ee3def67607fe72"}}, {"rule": 2, "type": "equivalent", "target": "88acef5002288cf26f90d74ea72f7dd0", "evidence": {"same_day": true, "patch_ids": ["6f111c88b72506ba3e2d5c84c1b1cfcf"], "statement_hash": "c72e99f08db7312d40c0813e006b0820aa3bd77bf507b6561ee3def67607fe72"}}, {"rule": 2, "type": "equivalent", "target": "8f6b3684b0c7ebef23c4baebfd451ab8", "evidence": {"same_day": true, "patch_ids": ["6f111c88b72506ba3e2d5c84c1b1cfcf"], "statement_hash": "c72e99f08db7312d40c0813e006b0820aa3bd77bf507b6561ee3def67607fe72"}}, {"rule": 2, "type": "equivalent", "target": "d3ba6564e6c91003b631012ed6405fc2", "evidence": {"same_day": true, "patch_ids": ["6f111c88b72506ba3e2d5c84c1b1cfcf"], "statement_hash": "c72e99f08db7312d40c0813e006b0820aa3bd77bf507b6561ee3def67607fe72"}}], "version": "15.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "88acef5002288cf26f90d74ea72f7dd0", "kind": "equivalent", "version": "18.1", "label": "18.1", "title": "Remove the unfinished slot state file after failing to write a replication slot's state to disk", "evidence": {"same_day": true, "patch_ids": ["6f111c88b72506ba3e2d5c84c1b1cfcf"], "statement_hash": "c72e99f08db7312d40c0813e006b0820aa3bd77bf507b6561ee3def67607fe72"}, "url": "/docs/compare/?release=18.1#18.1-a601bee3c15f74a5", "source_url": "/docs/release/18.1/#RELEASE-18-1-CHANGES"}, {"db_id": "d3ba6564e6c91003b631012ed6405fc2", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Remove the unfinished slot state file after failing to write a replication slot's state to disk", "evidence": {"same_day": true, "patch_ids": ["6f111c88b72506ba3e2d5c84c1b1cfcf"], "statement_hash": "c72e99f08db7312d40c0813e006b0820aa3bd77bf507b6561ee3def67607fe72"}, "url": "/docs/compare/?release=17.7#17.7-fa4d518d83f33a49", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "0620bfd126e45a7fb30310413dd82566", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Remove the unfinished slot state file after failing to write a replication slot's state to disk", "evidence": {"same_day": true, "patch_ids": ["6f111c88b72506ba3e2d5c84c1b1cfcf"], "statement_hash": "c72e99f08db7312d40c0813e006b0820aa3bd77bf507b6561ee3def67607fe72"}, "url": "/docs/compare/?release=16.11#16.11-f777cd18de1f53b2", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "8f6b3684b0c7ebef23c4baebfd451ab8", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Remove the unfinished slot state file after failing to write a replication slot's state to disk", "evidence": {"same_day": true, "patch_ids": ["6f111c88b72506ba3e2d5c84c1b1cfcf"], "statement_hash": "c72e99f08db7312d40c0813e006b0820aa3bd77bf507b6561ee3def67607fe72"}, "url": "/docs/compare/?release=14.20#14.20-790adc94b2e3aa97", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "5f4978515e70467b8cd476a8782b3741", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "Remove the unfinished slot state file after failing to write a replication slot's state to disk", "evidence": {"same_day": true, "patch_ids": ["6f111c88b72506ba3e2d5c84c1b1cfcf"], "statement_hash": "c72e99f08db7312d40c0813e006b0820aa3bd77bf507b6561ee3def67607fe72"}, "url": "/docs/compare/?release=13.23#13.23-c506ff43f09b181c", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}, {"id": "15.15-96abfce14575540c", "cves": [], "html": "<p>Avoid unwanted WAL receiver shutdown when switching from streaming to archive WAL source (Xuneng Zhou) <a href=\"https://postgr.es/c/da5ea6c70\">§</a></p>\n<p>During a timeline change, a standby server's WAL receiver should remain alive, waiting for a new WAL streaming start point. Instead it was repeatedly shutting down and immediately getting restarted, which could confuse status monitoring code.</p>", "text": "Avoid unwanted WAL receiver shutdown when switching from streaming to archive WAL source (Xuneng Zhou) § During a timeline change, a standby server's WAL receiver should remain alive, waiting for a new WAL streaming start point. Instead it was repeatedly shutting down and immediately getting restarted, which could confuse status monitoring code.", "title": "Avoid unwanted WAL receiver shutdown when switching from streaming to archive WAL source", "commits": ["da5ea6c70"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "d7fa8eb0cd09c281cbf46051c01f534259e244a5cb1ba47caad6de9f92f00467", "section_path": ["Changes"], "commit_groups": [["17b2d5ec7", "25b484080", "9b6109607", "a14201073", "a1b8b3b2e", "da5ea6c70", "e7340b484"]], "identity_text": "Avoid unwanted WAL receiver shutdown when switching from streaming to archive WAL source (Xuneng Zhou) During a timeline change, a standby server's WAL receiver should remain alive, waiting for a new WAL streaming start point. Instead it was repeatedly shutting down and immediately getting restarted, which could confuse status monitoring code.", "commit_aliases": ["17b2d5ec7", "25b484080", "9b6109607", "a14201073", "a1b8b3b2e", "da5ea6c70", "e7340b484"], "source_commits": ["da5ea6c70"], "source_entry_id": "15.15/changes/030", "db_id": "186f1aca8e166170a7cedbb47670ed32", "patch_ids": ["c329a1ce9ca7c1f3b46341c92f972ea9"], "statement_hash": "94e86829e542dbec362b5314cb0d0420170b66f94aea79d642bd1905c93f5d74", "relations": [{"rule": 2, "type": "equivalent", "target": "5e6622b056fdeebae1797bcd6bab73d8", "evidence": {"same_day": true, "patch_ids": ["c329a1ce9ca7c1f3b46341c92f972ea9"], "statement_hash": "94e86829e542dbec362b5314cb0d0420170b66f94aea79d642bd1905c93f5d74"}}, {"rule": 2, "type": "equivalent", "target": "74dc0b8668a34ee86a69e81b07977ac3", "evidence": {"same_day": true, "patch_ids": ["c329a1ce9ca7c1f3b46341c92f972ea9"], "statement_hash": "94e86829e542dbec362b5314cb0d0420170b66f94aea79d642bd1905c93f5d74"}}, {"rule": 2, "type": "equivalent", "target": "7e82176acdf9327aca4da62b00d1400a", "evidence": {"same_day": true, "patch_ids": ["c329a1ce9ca7c1f3b46341c92f972ea9"], "statement_hash": "94e86829e542dbec362b5314cb0d0420170b66f94aea79d642bd1905c93f5d74"}}, {"rule": 2, "type": "equivalent", "target": "b76ca1acc7d0e06651b84c05d5298bb5", "evidence": {"same_day": true, "patch_ids": ["c329a1ce9ca7c1f3b46341c92f972ea9"], "statement_hash": "94e86829e542dbec362b5314cb0d0420170b66f94aea79d642bd1905c93f5d74"}}, {"rule": 2, "type": "equivalent", "target": "c392b0b8a9a1720a5f28a1d62993d15b", "evidence": {"same_day": true, "patch_ids": ["c329a1ce9ca7c1f3b46341c92f972ea9"], "statement_hash": "94e86829e542dbec362b5314cb0d0420170b66f94aea79d642bd1905c93f5d74"}}], "version": "15.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "5e6622b056fdeebae1797bcd6bab73d8", "kind": "equivalent", "version": "18.1", "label": "18.1", "title": "Avoid unwanted WAL receiver shutdown when switching from streaming to archive WAL source", "evidence": {"same_day": true, "patch_ids": ["c329a1ce9ca7c1f3b46341c92f972ea9"], "statement_hash": "94e86829e542dbec362b5314cb0d0420170b66f94aea79d642bd1905c93f5d74"}, "url": "/docs/compare/?release=18.1#18.1-a20d69b97abaf6de", "source_url": "/docs/release/18.1/#RELEASE-18-1-CHANGES"}, {"db_id": "b76ca1acc7d0e06651b84c05d5298bb5", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Avoid unwanted WAL receiver shutdown when switching from streaming to archive WAL source", "evidence": {"same_day": true, "patch_ids": ["c329a1ce9ca7c1f3b46341c92f972ea9"], "statement_hash": "94e86829e542dbec362b5314cb0d0420170b66f94aea79d642bd1905c93f5d74"}, "url": "/docs/compare/?release=17.7#17.7-0a048ec34f6d4d74", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "74dc0b8668a34ee86a69e81b07977ac3", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Avoid unwanted WAL receiver shutdown when switching from streaming to archive WAL source", "evidence": {"same_day": true, "patch_ids": ["c329a1ce9ca7c1f3b46341c92f972ea9"], "statement_hash": "94e86829e542dbec362b5314cb0d0420170b66f94aea79d642bd1905c93f5d74"}, "url": "/docs/compare/?release=16.11#16.11-5e20452104432165", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "c392b0b8a9a1720a5f28a1d62993d15b", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Avoid unwanted WAL receiver shutdown when switching from streaming to archive WAL source", "evidence": {"same_day": true, "patch_ids": ["c329a1ce9ca7c1f3b46341c92f972ea9"], "statement_hash": "94e86829e542dbec362b5314cb0d0420170b66f94aea79d642bd1905c93f5d74"}, "url": "/docs/compare/?release=14.20#14.20-c26203a903d008e3", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "7e82176acdf9327aca4da62b00d1400a", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "Avoid unwanted WAL receiver shutdown when switching from streaming to archive WAL source", "evidence": {"same_day": true, "patch_ids": ["c329a1ce9ca7c1f3b46341c92f972ea9"], "statement_hash": "94e86829e542dbec362b5314cb0d0420170b66f94aea79d642bd1905c93f5d74"}, "url": "/docs/compare/?release=13.23#13.23-4af8775ea855af94", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}, {"id": "15.15-6948defe42ec0a80", "cves": [], "html": "<p>Avoid failures in logical replication due to chance collisions of file numbers between regular and temporary tables (Vignesh C) <a href=\"https://postgr.es/c/ec471008c\">§</a></p>\n<p>This low-probability problem manifested as transient errors like <span>“<span>unexpected duplicate for tablespace <em><code>X</code></em>, relfilenode <em><code>Y</code></em></span>”</span>. <code>contrib/autoprewarm</code> was also affected. A side-effect of the fix is that the SQL function <code>pg_filenode_relation()</code> will now ignore temporary tables.</p>", "text": "Avoid failures in logical replication due to chance collisions of file numbers between regular and temporary tables (Vignesh C) § This low-probability problem manifested as transient errors like “unexpected duplicate for tablespace X, relfilenode Y”. contrib/autoprewarm was also affected. A side-effect of the fix is that the SQL function pg_filenode_relation() will now ignore temporary tables.", "title": "Avoid failures in logical replication due to chance collisions of file numbers between regular and temporary tables", "commits": ["ec471008c"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "c8f8c5de736e2d260a05da34ba77c7e1ae9c287e0cb10879f7489f7c8e95070e", "section_path": ["Changes"], "commit_groups": [["222130edd", "30b32b08c", "86831952a", "ab874faaa", "dcdc95cb4", "ec471008c", "ef03ea01f"]], "identity_text": "Avoid failures in logical replication due to chance collisions of file numbers between regular and temporary tables (Vignesh C) This low-probability problem manifested as transient errors like unexpected duplicate for tablespace X, relfilenode Y. contrib/autoprewarm was also affected. A side-effect of the fix is that the SQL function pg_filenode_relation() will now ignore temporary tables.", "commit_aliases": ["222130edd", "30b32b08c", "86831952a", "ab874faaa", "dcdc95cb4", "ec471008c", "ef03ea01f"], "source_commits": ["ec471008c"], "source_entry_id": "15.15/changes/031", "db_id": "11ad74d6dea65323db09217ad750f31d", "patch_ids": ["d265695322c58c8a1e5ca04997ee9496"], "statement_hash": "04b9ffeee2369b31322f5eea62789a37890a2193fcacef9c2e927fb298a7fc5f", "relations": [{"rule": 2, "type": "equivalent", "target": "790f557d3482d3ad48c84b44d04e5790", "evidence": {"same_day": true, "patch_ids": ["d265695322c58c8a1e5ca04997ee9496"], "statement_hash": "04b9ffeee2369b31322f5eea62789a37890a2193fcacef9c2e927fb298a7fc5f"}}, {"rule": 2, "type": "equivalent", "target": "8886c7f460c4649615d13e4962403446", "evidence": {"same_day": true, "patch_ids": ["d265695322c58c8a1e5ca04997ee9496"], "statement_hash": "04b9ffeee2369b31322f5eea62789a37890a2193fcacef9c2e927fb298a7fc5f"}}, {"rule": 2, "type": "equivalent", "target": "b0fde9fde33b01c432f43c639f299763", "evidence": {"same_day": true, "patch_ids": ["d265695322c58c8a1e5ca04997ee9496"], "statement_hash": "04b9ffeee2369b31322f5eea62789a37890a2193fcacef9c2e927fb298a7fc5f"}}, {"rule": 2, "type": "equivalent", "target": "bd97bf5443b5c5904700919137f15a3d", "evidence": {"same_day": true, "patch_ids": ["d265695322c58c8a1e5ca04997ee9496"], "statement_hash": "04b9ffeee2369b31322f5eea62789a37890a2193fcacef9c2e927fb298a7fc5f"}}], "version": "15.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "790f557d3482d3ad48c84b44d04e5790", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Avoid failures in logical replication due to chance collisions of file numbers between regular and temporary tables", "evidence": {"same_day": true, "patch_ids": ["d265695322c58c8a1e5ca04997ee9496"], "statement_hash": "04b9ffeee2369b31322f5eea62789a37890a2193fcacef9c2e927fb298a7fc5f"}, "url": "/docs/compare/?release=17.7#17.7-34081f9b2520d7c3", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "bd97bf5443b5c5904700919137f15a3d", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Avoid failures in logical replication due to chance collisions of file numbers between regular and temporary tables", "evidence": {"same_day": true, "patch_ids": ["d265695322c58c8a1e5ca04997ee9496"], "statement_hash": "04b9ffeee2369b31322f5eea62789a37890a2193fcacef9c2e927fb298a7fc5f"}, "url": "/docs/compare/?release=16.11#16.11-3b076275e28daee2", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "8886c7f460c4649615d13e4962403446", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Avoid failures in logical replication due to chance collisions of file numbers between regular and temporary tables", "evidence": {"same_day": true, "patch_ids": ["d265695322c58c8a1e5ca04997ee9496"], "statement_hash": "04b9ffeee2369b31322f5eea62789a37890a2193fcacef9c2e927fb298a7fc5f"}, "url": "/docs/compare/?release=14.20#14.20-f1d487bb5f4ee9e8", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "b0fde9fde33b01c432f43c639f299763", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "Avoid failures in logical replication due to chance collisions of file numbers between regular and temporary tables", "evidence": {"same_day": true, "patch_ids": ["d265695322c58c8a1e5ca04997ee9496"], "statement_hash": "04b9ffeee2369b31322f5eea62789a37890a2193fcacef9c2e927fb298a7fc5f"}, "url": "/docs/compare/?release=13.23#13.23-192360a548fa511f", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}, {"id": "15.15-8b79db713221db62", "cves": [], "html": "<p>Fix use-after-free issue in the relation synchronization cache maintained by the <span>pgoutput</span> logical decoding plugin (Vignesh C, Masahiko Sawada) <a href=\"https://postgr.es/c/c40761759\">§</a></p>\n<p>An error during logical decoding could result in crashes in subsequent logical decoding attempts in the same session. The case is only reachable when <span>pgoutput</span> is invoked via SQL functions.</p>", "text": "Fix use-after-free issue in the relation synchronization cache maintained by the pgoutput logical decoding plugin (Vignesh C, Masahiko Sawada) § An error during logical decoding could result in crashes in subsequent logical decoding attempts in the same session. The case is only reachable when pgoutput is invoked via SQL functions.", "title": "Fix use-after-free issue in the relation synchronization cache maintained by the pgoutput logical decoding plugin", "commits": ["c40761759"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "4129b8255f6108a972e2e7d558b7e3c4ea3954293cc593968608eaed2fae844a", "section_path": ["Changes"], "commit_groups": [["32b95fc71", "a61592253", "b07682bce", "b46efe904", "c40761759"]], "identity_text": "Fix use-after-free issue in the relation synchronization cache maintained by the pgoutput logical decoding plugin (Vignesh C, Masahiko Sawada) An error during logical decoding could result in crashes in subsequent logical decoding attempts in the same session. The case is only reachable when pgoutput is invoked via SQL functions.", "commit_aliases": ["32b95fc71", "a61592253", "b07682bce", "b46efe904", "c40761759"], "source_commits": ["c40761759"], "source_entry_id": "15.15/changes/032", "db_id": "88eeed6b80c39786442df0b17dadee4a", "patch_ids": ["f0d90b350350451bd966913a51e4879b"], "statement_hash": "a5100d60852834442dddf7c470eb3398c76e0d2de98829a3277bf107f97642fc", "relations": [{"rule": 2, "type": "equivalent", "target": "01678f172fb01945bdf37dee98659abb", "evidence": {"same_day": true, "patch_ids": ["f0d90b350350451bd966913a51e4879b"], "statement_hash": "a5100d60852834442dddf7c470eb3398c76e0d2de98829a3277bf107f97642fc"}}, {"rule": 2, "type": "equivalent", "target": "b5c5a46598eb51eef76d3c62dc981396", "evidence": {"same_day": true, "patch_ids": ["f0d90b350350451bd966913a51e4879b"], "statement_hash": "a5100d60852834442dddf7c470eb3398c76e0d2de98829a3277bf107f97642fc"}}, {"rule": 2, "type": "equivalent", "target": "bd8536eb35145d43f731406b08299135", "evidence": {"same_day": true, "patch_ids": ["f0d90b350350451bd966913a51e4879b"], "statement_hash": "a5100d60852834442dddf7c470eb3398c76e0d2de98829a3277bf107f97642fc"}}], "version": "15.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "01678f172fb01945bdf37dee98659abb", "kind": "equivalent", "version": "18.1", "label": "18.1", "title": "Fix use-after-free issue in the relation synchronization cache maintained by the pgoutput logical decoding plugin", "evidence": {"same_day": true, "patch_ids": ["f0d90b350350451bd966913a51e4879b"], "statement_hash": "a5100d60852834442dddf7c470eb3398c76e0d2de98829a3277bf107f97642fc"}, "url": "/docs/compare/?release=18.1#18.1-5ac1192568f3b470", "source_url": "/docs/release/18.1/#RELEASE-18-1-CHANGES"}, {"db_id": "b5c5a46598eb51eef76d3c62dc981396", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Fix use-after-free issue in the relation synchronization cache maintained by the pgoutput logical decoding plugin", "evidence": {"same_day": true, "patch_ids": ["f0d90b350350451bd966913a51e4879b"], "statement_hash": "a5100d60852834442dddf7c470eb3398c76e0d2de98829a3277bf107f97642fc"}, "url": "/docs/compare/?release=17.7#17.7-db1ad25a90aef00e", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "bd8536eb35145d43f731406b08299135", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Fix use-after-free issue in the relation synchronization cache maintained by the pgoutput logical decoding plugin", "evidence": {"same_day": true, "patch_ids": ["f0d90b350350451bd966913a51e4879b"], "statement_hash": "a5100d60852834442dddf7c470eb3398c76e0d2de98829a3277bf107f97642fc"}, "url": "/docs/compare/?release=16.11#16.11-83edf36bdfedb497", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}]}, {"id": "15.15-e163943680bf0745", "cves": [], "html": "<p>Avoid assertion failure when trying to release a replication slot in single-user mode (Hayato Kuroda) <a href=\"https://postgr.es/c/818be9b73\">§</a></p>", "text": "Avoid assertion failure when trying to release a replication slot in single-user mode (Hayato Kuroda) §", "title": "Avoid assertion failure when trying to release a replication slot in single-user mode", "commits": ["818be9b73"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "78e24b19e312076a43f28353ec815b29d787369277f095011e52f2da8eec229e", "section_path": ["Changes"], "commit_groups": [["07a302387", "1f2e51e3c", "32d388d00", "818be9b73", "8ed079cad", "ea1c6b0b0", "fea1cc3f7"]], "identity_text": "Avoid assertion failure when trying to release a replication slot in single-user mode (Hayato Kuroda)", "commit_aliases": ["07a302387", "1f2e51e3c", "32d388d00", "818be9b73", "8ed079cad", "ea1c6b0b0", "fea1cc3f7"], "source_commits": ["818be9b73"], "source_entry_id": "15.15/changes/033", "db_id": "30a06a2280e72a1b60773e025f859760", "patch_ids": ["7b2185203259c603e6d78f085a1045bc"], "statement_hash": "2468355887b9e010462f5614f48ed7eadb6c466164c77ab2abf9d3bf8b96b808", "relations": [{"rule": 2, "type": "equivalent", "target": "7501877a970413767bfe48037312b451", "evidence": {"same_day": true, "patch_ids": ["7b2185203259c603e6d78f085a1045bc"], "statement_hash": "2468355887b9e010462f5614f48ed7eadb6c466164c77ab2abf9d3bf8b96b808"}}, {"rule": 2, "type": "equivalent", "target": "cc9955f9e8237d7746a550f90028d0a7", "evidence": {"same_day": true, "patch_ids": ["7b2185203259c603e6d78f085a1045bc"], "statement_hash": "2468355887b9e010462f5614f48ed7eadb6c466164c77ab2abf9d3bf8b96b808"}}, {"rule": 2, "type": "equivalent", "target": "d34086d1fe427aeb87fe1279cbb0e3aa", "evidence": {"same_day": true, "patch_ids": ["7b2185203259c603e6d78f085a1045bc"], "statement_hash": "2468355887b9e010462f5614f48ed7eadb6c466164c77ab2abf9d3bf8b96b808"}}, {"rule": 2, "type": "equivalent", "target": "dfa8bf1ea824bfb259ce58d54f3974b9", "evidence": {"same_day": true, "patch_ids": ["7b2185203259c603e6d78f085a1045bc"], "statement_hash": "2468355887b9e010462f5614f48ed7eadb6c466164c77ab2abf9d3bf8b96b808"}}], "version": "15.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "dfa8bf1ea824bfb259ce58d54f3974b9", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Avoid assertion failure when trying to release a replication slot in single-user mode", "evidence": {"same_day": true, "patch_ids": ["7b2185203259c603e6d78f085a1045bc"], "statement_hash": "2468355887b9e010462f5614f48ed7eadb6c466164c77ab2abf9d3bf8b96b808"}, "url": "/docs/compare/?release=17.7#17.7-caf55981ca48e8d9", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "cc9955f9e8237d7746a550f90028d0a7", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Avoid assertion failure when trying to release a replication slot in single-user mode", "evidence": {"same_day": true, "patch_ids": ["7b2185203259c603e6d78f085a1045bc"], "statement_hash": "2468355887b9e010462f5614f48ed7eadb6c466164c77ab2abf9d3bf8b96b808"}, "url": "/docs/compare/?release=16.11#16.11-05187515625d4370", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "d34086d1fe427aeb87fe1279cbb0e3aa", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Avoid assertion failure when trying to release a replication slot in single-user mode", "evidence": {"same_day": true, "patch_ids": ["7b2185203259c603e6d78f085a1045bc"], "statement_hash": "2468355887b9e010462f5614f48ed7eadb6c466164c77ab2abf9d3bf8b96b808"}, "url": "/docs/compare/?release=14.20#14.20-9705fe16844c36d5", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "7501877a970413767bfe48037312b451", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "Avoid assertion failure when trying to release a replication slot in single-user mode", "evidence": {"same_day": true, "patch_ids": ["7b2185203259c603e6d78f085a1045bc"], "statement_hash": "2468355887b9e010462f5614f48ed7eadb6c466164c77ab2abf9d3bf8b96b808"}, "url": "/docs/compare/?release=13.23#13.23-dfd343f1e3c46d29", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}, {"id": "15.15-c16c9322537a1ada", "cves": [], "html": "<p>Fix incorrect printing of messages about failures in checking whether the user has Windows administrator privilege (Bryan Green) <a href=\"https://postgr.es/c/f91666c83\">§</a></p>\n<p>This code would have crashed or at least printed garbage. No such cases have been reported though, indicating that failure of these system calls is extremely rare.</p>", "text": "Fix incorrect printing of messages about failures in checking whether the user has Windows administrator privilege (Bryan Green) § This code would have crashed or at least printed garbage. No such cases have been reported though, indicating that failure of these system calls is extremely rare.", "title": "Fix incorrect printing of messages about failures in checking whether the user has Windows administrator privilege", "commits": ["f91666c83"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "5ff0892dc425df19a8810dfe3daae430fdd8e5886594249898cf7d1a2454d39a", "section_path": ["Changes"], "commit_groups": [["03bf7a12c", "4c53519e1", "75a555d61", "9883e3cd1", "b48ae226e", "e91eb4ad6", "f91666c83"]], "identity_text": "Fix incorrect printing of messages about failures in checking whether the user has Windows administrator privilege (Bryan Green) This code would have crashed or at least printed garbage. No such cases have been reported though, indicating that failure of these system calls is extremely rare.", "commit_aliases": ["03bf7a12c", "4c53519e1", "75a555d61", "9883e3cd1", "b48ae226e", "e91eb4ad6", "f91666c83"], "source_commits": ["f91666c83"], "source_entry_id": "15.15/changes/034", "db_id": "27ca4eb718e79592fec76dc7fda731c1", "patch_ids": ["d55ac972fc177556ea4a0e974c012182"], "statement_hash": "eaba82bd3ddf1952b1b8d1f5d8eb79c610f601c3b23948c4873ea0e85ca0e1ef", "relations": [{"rule": 2, "type": "equivalent", "target": "1bce0a6531645bd3f70523a4fd591cf3", "evidence": {"same_day": true, "patch_ids": ["d55ac972fc177556ea4a0e974c012182"], "statement_hash": "eaba82bd3ddf1952b1b8d1f5d8eb79c610f601c3b23948c4873ea0e85ca0e1ef"}}, {"rule": 2, "type": "equivalent", "target": "54e06bd3860e1bbda5ac887cf9128e18", "evidence": {"same_day": true, "patch_ids": ["d55ac972fc177556ea4a0e974c012182"], "statement_hash": "eaba82bd3ddf1952b1b8d1f5d8eb79c610f601c3b23948c4873ea0e85ca0e1ef"}}, {"rule": 2, "type": "equivalent", "target": "92380498a4385f5ba77ddf5e840497f2", "evidence": {"same_day": true, "patch_ids": ["d55ac972fc177556ea4a0e974c012182"], "statement_hash": "eaba82bd3ddf1952b1b8d1f5d8eb79c610f601c3b23948c4873ea0e85ca0e1ef"}}, {"rule": 2, "type": "equivalent", "target": "bf9e24f2b769f783785421c6c4666a0a", "evidence": {"same_day": true, "patch_ids": ["d55ac972fc177556ea4a0e974c012182"], "statement_hash": "eaba82bd3ddf1952b1b8d1f5d8eb79c610f601c3b23948c4873ea0e85ca0e1ef"}}, {"rule": 2, "type": "equivalent", "target": "fc910ae34d590e376c66274cf6b8087f", "evidence": {"same_day": true, "patch_ids": ["d55ac972fc177556ea4a0e974c012182"], "statement_hash": "eaba82bd3ddf1952b1b8d1f5d8eb79c610f601c3b23948c4873ea0e85ca0e1ef"}}], "version": "15.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "54e06bd3860e1bbda5ac887cf9128e18", "kind": "equivalent", "version": "18.1", "label": "18.1", "title": "Fix incorrect printing of messages about failures in checking whether the user has Windows administrator privilege", "evidence": {"same_day": true, "patch_ids": ["d55ac972fc177556ea4a0e974c012182"], "statement_hash": "eaba82bd3ddf1952b1b8d1f5d8eb79c610f601c3b23948c4873ea0e85ca0e1ef"}, "url": "/docs/compare/?release=18.1#18.1-0bab432ae295bddb", "source_url": "/docs/release/18.1/#RELEASE-18-1-CHANGES"}, {"db_id": "1bce0a6531645bd3f70523a4fd591cf3", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Fix incorrect printing of messages about failures in checking whether the user has Windows administrator privilege", "evidence": {"same_day": true, "patch_ids": ["d55ac972fc177556ea4a0e974c012182"], "statement_hash": "eaba82bd3ddf1952b1b8d1f5d8eb79c610f601c3b23948c4873ea0e85ca0e1ef"}, "url": "/docs/compare/?release=17.7#17.7-6554bc7b77289e22", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "92380498a4385f5ba77ddf5e840497f2", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Fix incorrect printing of messages about failures in checking whether the user has Windows administrator privilege", "evidence": {"same_day": true, "patch_ids": ["d55ac972fc177556ea4a0e974c012182"], "statement_hash": "eaba82bd3ddf1952b1b8d1f5d8eb79c610f601c3b23948c4873ea0e85ca0e1ef"}, "url": "/docs/compare/?release=16.11#16.11-713a970c4e1b104e", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "fc910ae34d590e376c66274cf6b8087f", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Fix incorrect printing of messages about failures in checking whether the user has Windows administrator privilege", "evidence": {"same_day": true, "patch_ids": ["d55ac972fc177556ea4a0e974c012182"], "statement_hash": "eaba82bd3ddf1952b1b8d1f5d8eb79c610f601c3b23948c4873ea0e85ca0e1ef"}, "url": "/docs/compare/?release=14.20#14.20-1da5f9c55441affe", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "bf9e24f2b769f783785421c6c4666a0a", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "Fix incorrect printing of messages about failures in checking whether the user has Windows administrator privilege", "evidence": {"same_day": true, "patch_ids": ["d55ac972fc177556ea4a0e974c012182"], "statement_hash": "eaba82bd3ddf1952b1b8d1f5d8eb79c610f601c3b23948c4873ea0e85ca0e1ef"}, "url": "/docs/compare/?release=13.23#13.23-f44c9122c79014ab", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}, {"id": "15.15-d3131249798dfe83", "cves": [], "html": "<p>Avoid startup failure on macOS and BSD platforms when there is a collision with a pre-existing semaphore set (Tom Lane) <a href=\"https://postgr.es/c/f4c088344\">§</a></p>\n<p>If the pre-existing set has fewer semaphores than we asked for, these platforms return <span>EINVAL</span> not <span>EEXIST</span> as our code expected, resulting in failure to start the database.</p>", "text": "Avoid startup failure on macOS and BSD platforms when there is a collision with a pre-existing semaphore set (Tom Lane) § If the pre-existing set has fewer semaphores than we asked for, these platforms return EINVAL not EEXIST as our code expected, resulting in failure to start the database.", "title": "Avoid startup failure on macOS and BSD platforms when there is a collision with a pre-existing semaphore set", "commits": ["f4c088344"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "3344f63898694bd75c31f88104a05cf8c5c659b8650fc83b84983fc51540303c", "section_path": ["Changes"], "commit_groups": [["21fddb3d7", "787cd2b7d", "ab92f0e7f", "b3d6e8b63", "e3b3fa863", "e67d5f7ba", "f4c088344"]], "identity_text": "Avoid startup failure on macOS and BSD platforms when there is a collision with a pre-existing semaphore set (Tom Lane) If the pre-existing set has fewer semaphores than we asked for, these platforms return EINVAL not EEXIST as our code expected, resulting in failure to start the database.", "commit_aliases": ["21fddb3d7", "787cd2b7d", "ab92f0e7f", "b3d6e8b63", "e3b3fa863", "e67d5f7ba", "f4c088344"], "source_commits": ["f4c088344"], "source_entry_id": "15.15/changes/035", "db_id": "6a1e72e978f21321445f26d7eb52c623", "patch_ids": ["809cffd6cd01bbf1882821d21af69bda"], "statement_hash": "def4159b79d4b5b3884779b9edcbd6ddc22a9643377b01246dac52c614a47ac7", "relations": [{"rule": 2, "type": "equivalent", "target": "d253254086f78eb0895ee9447ad2ad07", "evidence": {"same_day": true, "patch_ids": ["809cffd6cd01bbf1882821d21af69bda"], "statement_hash": "def4159b79d4b5b3884779b9edcbd6ddc22a9643377b01246dac52c614a47ac7"}}, {"rule": 2, "type": "equivalent", "target": "de586ed7dc58ace31efe89cde3a0c519", "evidence": {"same_day": true, "patch_ids": ["809cffd6cd01bbf1882821d21af69bda"], "statement_hash": "def4159b79d4b5b3884779b9edcbd6ddc22a9643377b01246dac52c614a47ac7"}}, {"rule": 2, "type": "equivalent", "target": "eac1fcf2446013ff95c3a1c8688d80d5", "evidence": {"same_day": true, "patch_ids": ["809cffd6cd01bbf1882821d21af69bda"], "statement_hash": "def4159b79d4b5b3884779b9edcbd6ddc22a9643377b01246dac52c614a47ac7"}}, {"rule": 2, "type": "equivalent", "target": "fb53ff81eba82caa82519fcf89ffe49b", "evidence": {"same_day": true, "patch_ids": ["809cffd6cd01bbf1882821d21af69bda"], "statement_hash": "def4159b79d4b5b3884779b9edcbd6ddc22a9643377b01246dac52c614a47ac7"}}], "version": "15.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "fb53ff81eba82caa82519fcf89ffe49b", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Avoid startup failure on macOS and BSD platforms when there is a collision with a pre-existing semaphore set", "evidence": {"same_day": true, "patch_ids": ["809cffd6cd01bbf1882821d21af69bda"], "statement_hash": "def4159b79d4b5b3884779b9edcbd6ddc22a9643377b01246dac52c614a47ac7"}, "url": "/docs/compare/?release=17.7#17.7-760eb90cba89a23d", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "de586ed7dc58ace31efe89cde3a0c519", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Avoid startup failure on macOS and BSD platforms when there is a collision with a pre-existing semaphore set", "evidence": {"same_day": true, "patch_ids": ["809cffd6cd01bbf1882821d21af69bda"], "statement_hash": "def4159b79d4b5b3884779b9edcbd6ddc22a9643377b01246dac52c614a47ac7"}, "url": "/docs/compare/?release=16.11#16.11-1a63b5b954b27999", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "eac1fcf2446013ff95c3a1c8688d80d5", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Avoid startup failure on macOS and BSD platforms when there is a collision with a pre-existing semaphore set", "evidence": {"same_day": true, "patch_ids": ["809cffd6cd01bbf1882821d21af69bda"], "statement_hash": "def4159b79d4b5b3884779b9edcbd6ddc22a9643377b01246dac52c614a47ac7"}, "url": "/docs/compare/?release=14.20#14.20-ad8587c169ea5995", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "d253254086f78eb0895ee9447ad2ad07", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "Avoid startup failure on macOS and BSD platforms when there is a collision with a pre-existing semaphore set", "evidence": {"same_day": true, "patch_ids": ["809cffd6cd01bbf1882821d21af69bda"], "statement_hash": "def4159b79d4b5b3884779b9edcbd6ddc22a9643377b01246dac52c614a47ac7"}, "url": "/docs/compare/?release=13.23#13.23-3c67470c239fb563", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}, {"id": "15.15-3fd801b6ac3f82a6", "cves": [], "html": "<p>Fix false memory-context-checking warnings in debug builds on 64-bit Windows (David Rowley) <a href=\"https://postgr.es/c/f3420e006\">§</a></p>", "text": "Fix false memory-context-checking warnings in debug builds on 64-bit Windows (David Rowley) §", "title": "Fix false memory-context-checking warnings in debug builds on 64-bit Windows", "commits": ["f3420e006"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "0754be6833a9eaeff9afb8025475fe0dec54997cc7d976e1885895ae6a02d18e", "section_path": ["Changes"], "commit_groups": [["50eb4e118", "7b955c227", "86bd9497f", "af3a79e08", "bd6f986c9", "cdc04a6c3", "f3420e006"]], "identity_text": "Fix false memory-context-checking warnings in debug builds on 64-bit Windows (David Rowley)", "commit_aliases": ["50eb4e118", "7b955c227", "86bd9497f", "af3a79e08", "bd6f986c9", "cdc04a6c3", "f3420e006"], "source_commits": ["f3420e006"], "source_entry_id": "15.15/changes/036", "db_id": "0acaf19cbd02c251f9c72a3566ceafd2", "patch_ids": ["61b56c5fae6f5e9db534484ddd08ba36"], "statement_hash": "318257c40de6d58edd2102cd728c1f712d4472c110c6470d0b05fd6cea50be8a", "relations": [{"rule": 2, "type": "equivalent", "target": "01aaa14579e082646793b4e27afbf21b", "evidence": {"same_day": true, "patch_ids": ["61b56c5fae6f5e9db534484ddd08ba36"], "statement_hash": "318257c40de6d58edd2102cd728c1f712d4472c110c6470d0b05fd6cea50be8a"}}, {"rule": 2, "type": "equivalent", "target": "801cc326322f22aa573edf2c98d1162f", "evidence": {"same_day": true, "patch_ids": ["61b56c5fae6f5e9db534484ddd08ba36"], "statement_hash": "318257c40de6d58edd2102cd728c1f712d4472c110c6470d0b05fd6cea50be8a"}}, {"rule": 2, "type": "equivalent", "target": "84067ed8a3ba1028de01b8a46f2000b9", "evidence": {"same_day": true, "patch_ids": ["61b56c5fae6f5e9db534484ddd08ba36"], "statement_hash": "318257c40de6d58edd2102cd728c1f712d4472c110c6470d0b05fd6cea50be8a"}}, {"rule": 2, "type": "equivalent", "target": "8df4cb56b5956e0bcfd2f6b1733b74cc", "evidence": {"same_day": true, "patch_ids": ["61b56c5fae6f5e9db534484ddd08ba36"], "statement_hash": "318257c40de6d58edd2102cd728c1f712d4472c110c6470d0b05fd6cea50be8a"}}, {"rule": 2, "type": "equivalent", "target": "fc378456b09d8aee7ced8ece43c87341", "evidence": {"same_day": true, "patch_ids": ["61b56c5fae6f5e9db534484ddd08ba36"], "statement_hash": "318257c40de6d58edd2102cd728c1f712d4472c110c6470d0b05fd6cea50be8a"}}], "version": "15.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "8df4cb56b5956e0bcfd2f6b1733b74cc", "kind": "equivalent", "version": "18.1", "label": "18.1", "title": "Fix false memory-context-checking warnings in debug builds on 64-bit Windows", "evidence": {"same_day": true, "patch_ids": ["61b56c5fae6f5e9db534484ddd08ba36"], "statement_hash": "318257c40de6d58edd2102cd728c1f712d4472c110c6470d0b05fd6cea50be8a"}, "url": "/docs/compare/?release=18.1#18.1-6ea24c894273b60d", "source_url": "/docs/release/18.1/#RELEASE-18-1-CHANGES"}, {"db_id": "84067ed8a3ba1028de01b8a46f2000b9", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Fix false memory-context-checking warnings in debug builds on 64-bit Windows", "evidence": {"same_day": true, "patch_ids": ["61b56c5fae6f5e9db534484ddd08ba36"], "statement_hash": "318257c40de6d58edd2102cd728c1f712d4472c110c6470d0b05fd6cea50be8a"}, "url": "/docs/compare/?release=17.7#17.7-a455f9dd0199fe9d", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "801cc326322f22aa573edf2c98d1162f", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Fix false memory-context-checking warnings in debug builds on 64-bit Windows", "evidence": {"same_day": true, "patch_ids": ["61b56c5fae6f5e9db534484ddd08ba36"], "statement_hash": "318257c40de6d58edd2102cd728c1f712d4472c110c6470d0b05fd6cea50be8a"}, "url": "/docs/compare/?release=16.11#16.11-44cfa1596c4b914f", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "01aaa14579e082646793b4e27afbf21b", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Fix false memory-context-checking warnings in debug builds on 64-bit Windows", "evidence": {"same_day": true, "patch_ids": ["61b56c5fae6f5e9db534484ddd08ba36"], "statement_hash": "318257c40de6d58edd2102cd728c1f712d4472c110c6470d0b05fd6cea50be8a"}, "url": "/docs/compare/?release=14.20#14.20-30a0eb01d03d06bf", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "fc378456b09d8aee7ced8ece43c87341", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "Fix false memory-context-checking warnings in debug builds on 64-bit Windows", "evidence": {"same_day": true, "patch_ids": ["61b56c5fae6f5e9db534484ddd08ba36"], "statement_hash": "318257c40de6d58edd2102cd728c1f712d4472c110c6470d0b05fd6cea50be8a"}, "url": "/docs/compare/?release=13.23#13.23-5134dab5d7fbe159", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}, {"id": "15.15-eeed0366b039f82d", "cves": [], "html": "<p>Correctly handle <code>GROUP BY DISTINCT</code> in PL/pgSQL assignment statements (Tom Lane) <a href=\"https://postgr.es/c/9ca79896a\">§</a></p>\n<p>The parser failed to record the <code>DISTINCT</code> option in this context, so that the command would act as if it were plain <code>GROUP BY</code>.</p>", "text": "Correctly handle GROUP BY DISTINCT in PL/pgSQL assignment statements (Tom Lane) § The parser failed to record the DISTINCT option in this context, so that the command would act as if it were plain GROUP BY.", "title": "Correctly handle GROUP BY DISTINCT in PL/pgSQL assignment statements", "commits": ["9ca79896a"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "e4994cce8d911e23f0a752045b6e00037510bee8cb77e07cb6e822de394846ad", "section_path": ["Changes"], "commit_groups": [["0be39b4b1", "3fc9aa5b0", "7504d2be9", "78a284b0b", "9ca79896a", "b7f6798c0"]], "identity_text": "Correctly handle GROUP BY DISTINCT in PL/pgSQL assignment statements (Tom Lane) The parser failed to record the DISTINCT option in this context, so that the command would act as if it were plain GROUP BY.", "commit_aliases": ["0be39b4b1", "3fc9aa5b0", "7504d2be9", "78a284b0b", "9ca79896a", "b7f6798c0"], "source_commits": ["9ca79896a"], "source_entry_id": "15.15/changes/037", "db_id": "c4e592f337961adba07d32ea163af2ef", "patch_ids": ["a73af4d4bc9077b2b6083baf3ae9afa7"], "statement_hash": "4b45bae1f781f46524306017d2565200da9a292424814416e43bb0c51c2b250a", "relations": [{"rule": 2, "type": "equivalent", "target": "5d72fc4fde390c5d9153f30aa3ce32f6", "evidence": {"same_day": true, "patch_ids": ["a73af4d4bc9077b2b6083baf3ae9afa7"], "statement_hash": "4b45bae1f781f46524306017d2565200da9a292424814416e43bb0c51c2b250a"}}, {"rule": 2, "type": "equivalent", "target": "bed9ac21d6b5104de301b89d80efe413", "evidence": {"same_day": true, "patch_ids": ["a73af4d4bc9077b2b6083baf3ae9afa7"], "statement_hash": "4b45bae1f781f46524306017d2565200da9a292424814416e43bb0c51c2b250a"}}, {"rule": 2, "type": "equivalent", "target": "f25c1bf3d1b0bc45940ba06662dd7fac", "evidence": {"same_day": true, "patch_ids": ["a73af4d4bc9077b2b6083baf3ae9afa7"], "statement_hash": "4b45bae1f781f46524306017d2565200da9a292424814416e43bb0c51c2b250a"}}, {"rule": 2, "type": "equivalent", "target": "f4fe056566c9e56e900ccb3ae467d6d1", "evidence": {"same_day": true, "patch_ids": ["a73af4d4bc9077b2b6083baf3ae9afa7"], "statement_hash": "4b45bae1f781f46524306017d2565200da9a292424814416e43bb0c51c2b250a"}}], "version": "15.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "f25c1bf3d1b0bc45940ba06662dd7fac", "kind": "equivalent", "version": "18.1", "label": "18.1", "title": "Correctly handle GROUP BY DISTINCT in PL/pgSQL assignment statements", "evidence": {"same_day": true, "patch_ids": ["a73af4d4bc9077b2b6083baf3ae9afa7"], "statement_hash": "4b45bae1f781f46524306017d2565200da9a292424814416e43bb0c51c2b250a"}, "url": "/docs/compare/?release=18.1#18.1-ea24cf69287cae1d", "source_url": "/docs/release/18.1/#RELEASE-18-1-CHANGES"}, {"db_id": "5d72fc4fde390c5d9153f30aa3ce32f6", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Correctly handle GROUP BY DISTINCT in PL/pgSQL assignment statements", "evidence": {"same_day": true, "patch_ids": ["a73af4d4bc9077b2b6083baf3ae9afa7"], "statement_hash": "4b45bae1f781f46524306017d2565200da9a292424814416e43bb0c51c2b250a"}, "url": "/docs/compare/?release=17.7#17.7-da35b615699d0e38", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "bed9ac21d6b5104de301b89d80efe413", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Correctly handle GROUP BY DISTINCT in PL/pgSQL assignment statements", "evidence": {"same_day": true, "patch_ids": ["a73af4d4bc9077b2b6083baf3ae9afa7"], "statement_hash": "4b45bae1f781f46524306017d2565200da9a292424814416e43bb0c51c2b250a"}, "url": "/docs/compare/?release=16.11#16.11-3a01429c605940e7", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "f4fe056566c9e56e900ccb3ae467d6d1", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Correctly handle GROUP BY DISTINCT in PL/pgSQL assignment statements", "evidence": {"same_day": true, "patch_ids": ["a73af4d4bc9077b2b6083baf3ae9afa7"], "statement_hash": "4b45bae1f781f46524306017d2565200da9a292424814416e43bb0c51c2b250a"}, "url": "/docs/compare/?release=14.20#14.20-ad9f2a1d2560df12", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}]}, {"id": "15.15-221591e26f573b0b", "cves": [], "html": "<p>Avoid leaking memory when handling a SQL error within PL/Python (Tom Lane) <a href=\"https://postgr.es/c/4cde73259\">§</a></p>\n<p>This fixes a session-lifespan memory leak introduced in our previous minor releases.</p>", "text": "Avoid leaking memory when handling a SQL error within PL/Python (Tom Lane) § This fixes a session-lifespan memory leak introduced in our previous minor releases.", "title": "Avoid leaking memory when handling a SQL error within PL/Python", "commits": ["4cde73259"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "24331af3a18b47c58d9ddd959d112e0999c97544684407a5948aebb4da187852", "section_path": ["Changes"], "commit_groups": [["447a794f6", "4cde73259", "798b19d27", "7fb8c9240", "cbfd4d0f8", "d90c92d1c", "fbc41a145"]], "identity_text": "Avoid leaking memory when handling a SQL error within PL/Python (Tom Lane) This fixes a session-lifespan memory leak introduced in our previous minor releases.", "commit_aliases": ["447a794f6", "4cde73259", "798b19d27", "7fb8c9240", "cbfd4d0f8", "d90c92d1c", "fbc41a145"], "source_commits": ["4cde73259"], "source_entry_id": "15.15/changes/038", "db_id": "f72d5243e6c8215039615db964cfa0bc", "patch_ids": ["304183406b9fbfa71ce70fb98dd02b07"], "statement_hash": "9ed1c89d3ad5eea0e6de5ada0081665e4f99165f891937f5603d7020851959b0", "relations": [{"rule": 2, "type": "equivalent", "target": "1cc5187c2c4ae41cf3accaadaacb20c6", "evidence": {"same_day": true, "patch_ids": ["304183406b9fbfa71ce70fb98dd02b07"], "statement_hash": "9ed1c89d3ad5eea0e6de5ada0081665e4f99165f891937f5603d7020851959b0"}}, {"rule": 2, "type": "equivalent", "target": "21e26aeb99c1f4efef5ee4d427588817", "evidence": {"same_day": true, "patch_ids": ["304183406b9fbfa71ce70fb98dd02b07"], "statement_hash": "9ed1c89d3ad5eea0e6de5ada0081665e4f99165f891937f5603d7020851959b0"}}, {"rule": 2, "type": "equivalent", "target": "4567a5ad601fcfb6e367a0d5788654f3", "evidence": {"same_day": true, "patch_ids": ["304183406b9fbfa71ce70fb98dd02b07"], "statement_hash": "9ed1c89d3ad5eea0e6de5ada0081665e4f99165f891937f5603d7020851959b0"}}, {"rule": 2, "type": "equivalent", "target": "6e6104594627174dfaa8204ac54cf50d", "evidence": {"same_day": true, "patch_ids": ["304183406b9fbfa71ce70fb98dd02b07"], "statement_hash": "9ed1c89d3ad5eea0e6de5ada0081665e4f99165f891937f5603d7020851959b0"}}, {"rule": 2, "type": "equivalent", "target": "8ed8073833432a5a8b59221fab2bfd05", "evidence": {"same_day": true, "patch_ids": ["304183406b9fbfa71ce70fb98dd02b07"], "statement_hash": "9ed1c89d3ad5eea0e6de5ada0081665e4f99165f891937f5603d7020851959b0"}}], "version": "15.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "8ed8073833432a5a8b59221fab2bfd05", "kind": "equivalent", "version": "18.1", "label": "18.1", "title": "Avoid leaking memory when handling a SQL error within PL/Python", "evidence": {"same_day": true, "patch_ids": ["304183406b9fbfa71ce70fb98dd02b07"], "statement_hash": "9ed1c89d3ad5eea0e6de5ada0081665e4f99165f891937f5603d7020851959b0"}, "url": "/docs/compare/?release=18.1#18.1-da9fd9dc692db55b", "source_url": "/docs/release/18.1/#RELEASE-18-1-CHANGES"}, {"db_id": "4567a5ad601fcfb6e367a0d5788654f3", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Avoid leaking memory when handling a SQL error within PL/Python", "evidence": {"same_day": true, "patch_ids": ["304183406b9fbfa71ce70fb98dd02b07"], "statement_hash": "9ed1c89d3ad5eea0e6de5ada0081665e4f99165f891937f5603d7020851959b0"}, "url": "/docs/compare/?release=17.7#17.7-518a9f7a9e8762ea", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "21e26aeb99c1f4efef5ee4d427588817", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Avoid leaking memory when handling a SQL error within PL/Python", "evidence": {"same_day": true, "patch_ids": ["304183406b9fbfa71ce70fb98dd02b07"], "statement_hash": "9ed1c89d3ad5eea0e6de5ada0081665e4f99165f891937f5603d7020851959b0"}, "url": "/docs/compare/?release=16.11#16.11-459f76577a275299", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "1cc5187c2c4ae41cf3accaadaacb20c6", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Avoid leaking memory when handling a SQL error within PL/Python", "evidence": {"same_day": true, "patch_ids": ["304183406b9fbfa71ce70fb98dd02b07"], "statement_hash": "9ed1c89d3ad5eea0e6de5ada0081665e4f99165f891937f5603d7020851959b0"}, "url": "/docs/compare/?release=14.20#14.20-c5293fc1ca271610", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "6e6104594627174dfaa8204ac54cf50d", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "Avoid leaking memory when handling a SQL error within PL/Python", "evidence": {"same_day": true, "patch_ids": ["304183406b9fbfa71ce70fb98dd02b07"], "statement_hash": "9ed1c89d3ad5eea0e6de5ada0081665e4f99165f891937f5603d7020851959b0"}, "url": "/docs/compare/?release=13.23#13.23-92a4c4e07d0dc6be", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}, {"id": "15.15-743e8f7b66bbb3b9", "cves": [], "html": "<p>Fix <span>libpq</span>'s trace output of characters with the high bit set (Ran Benita) <a href=\"https://postgr.es/c/0b274c475\">§</a></p>\n<p>On platforms where <code>char</code> is considered signed, the output included unsightly <code>\\xffffff</code> decoration.</p>", "text": "Fix libpq's trace output of characters with the high bit set (Ran Benita) § On platforms where char is considered signed, the output included unsightly \\xffffff decoration.", "title": "Fix libpq's trace output of characters with the high bit set", "commits": ["0b274c475"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "cf74c00260fcbb274b3d3094772916d4b128db2851ab98476763eb65f2ef9071", "section_path": ["Changes"], "commit_groups": [["0b274c475", "0cc540f0d", "0fedb3a27", "701a0bd56", "ae53537e2", "db9405493"]], "identity_text": "Fix libpq's trace output of characters with the high bit set (Ran Benita) On platforms where char is considered signed, the output included unsightly \\xffffff decoration.", "commit_aliases": ["0b274c475", "0cc540f0d", "0fedb3a27", "701a0bd56", "ae53537e2", "db9405493"], "source_commits": ["0b274c475"], "source_entry_id": "15.15/changes/039", "db_id": "d029b2954a7358bcafe9b5191abd9403", "patch_ids": ["7222fe16981e529f65bb49eb1e199a8a"], "statement_hash": "9b85db1137c14ec5656bf0fc485a2943ab34a9fefc0f3c81ef6534e4cd12a1b9", "relations": [{"rule": 2, "type": "equivalent", "target": "3bc51d3cbf29233eb5a2902869262931", "evidence": {"same_day": true, "patch_ids": ["7222fe16981e529f65bb49eb1e199a8a"], "statement_hash": "9b85db1137c14ec5656bf0fc485a2943ab34a9fefc0f3c81ef6534e4cd12a1b9"}}, {"rule": 2, "type": "equivalent", "target": "87931fc83b65dbf519e06fa94b8c1eb9", "evidence": {"same_day": true, "patch_ids": ["7222fe16981e529f65bb49eb1e199a8a"], "statement_hash": "9b85db1137c14ec5656bf0fc485a2943ab34a9fefc0f3c81ef6534e4cd12a1b9"}}, {"rule": 2, "type": "equivalent", "target": "e1f76def11aea8f159506dfe71889b8a", "evidence": {"same_day": true, "patch_ids": ["7222fe16981e529f65bb49eb1e199a8a"], "statement_hash": "9b85db1137c14ec5656bf0fc485a2943ab34a9fefc0f3c81ef6534e4cd12a1b9"}}], "version": "15.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "87931fc83b65dbf519e06fa94b8c1eb9", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Fix libpq's trace output of characters with the high bit set", "evidence": {"same_day": true, "patch_ids": ["7222fe16981e529f65bb49eb1e199a8a"], "statement_hash": "9b85db1137c14ec5656bf0fc485a2943ab34a9fefc0f3c81ef6534e4cd12a1b9"}, "url": "/docs/compare/?release=17.7#17.7-ed5219393ef57bc7", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "3bc51d3cbf29233eb5a2902869262931", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Fix libpq's trace output of characters with the high bit set", "evidence": {"same_day": true, "patch_ids": ["7222fe16981e529f65bb49eb1e199a8a"], "statement_hash": "9b85db1137c14ec5656bf0fc485a2943ab34a9fefc0f3c81ef6534e4cd12a1b9"}, "url": "/docs/compare/?release=16.11#16.11-4c6d56806b038a85", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "e1f76def11aea8f159506dfe71889b8a", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Fix libpq's trace output of characters with the high bit set", "evidence": {"same_day": true, "patch_ids": ["7222fe16981e529f65bb49eb1e199a8a"], "statement_hash": "9b85db1137c14ec5656bf0fc485a2943ab34a9fefc0f3c81ef6534e4cd12a1b9"}, "url": "/docs/compare/?release=14.20#14.20-93426fb27560b5e5", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}]}, {"id": "15.15-576782cfd326c037", "cves": [], "html": "<p>Fix <span>libpq</span>'s handling of socket-related errors on Windows within its GSSAPI logic (Ning Wu, Tom Lane) <a href=\"https://postgr.es/c/771b106d1\">§</a></p>\n<p>The code for encrypting/decrypting transmitted data using GSSAPI did not correctly recognize error conditions on the connection socket, since Windows reports those differently than other platforms. This led to failure to make such connections on Windows.</p>", "text": "Fix libpq's handling of socket-related errors on Windows within its GSSAPI logic (Ning Wu, Tom Lane) § The code for encrypting/decrypting transmitted data using GSSAPI did not correctly recognize error conditions on the connection socket, since Windows reports those differently than other platforms. This led to failure to make such connections on Windows.", "title": "Fix libpq's handling of socket-related errors on Windows within its GSSAPI logic", "commits": ["771b106d1"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "125b2e7d567f9a66aaafae3b1cd35d7b309af7d0435ecb8227172f22a5446560", "section_path": ["Changes"], "commit_groups": [["1c4671f7b", "46c4478db", "771b106d1", "d83879a32", "ea78bd6d5", "f46d77377", "fc287cf3c"]], "identity_text": "Fix libpq's handling of socket-related errors on Windows within its GSSAPI logic (Ning Wu, Tom Lane) The code for encrypting/decrypting transmitted data using GSSAPI did not correctly recognize error conditions on the connection socket, since Windows reports those differently than other platforms. This led to failure to make such connections on Windows.", "commit_aliases": ["1c4671f7b", "46c4478db", "771b106d1", "d83879a32", "ea78bd6d5", "f46d77377", "fc287cf3c"], "source_commits": ["771b106d1"], "source_entry_id": "15.15/changes/040", "db_id": "9d30ea675f07706c069fc213482c9a49", "patch_ids": ["f0205fc96ae7aa099587d15ffc5b8b43"], "statement_hash": "a697933e21baa20247c447c1011997c652387adcb7183a91d2cc940f1de7888e", "relations": [{"rule": 2, "type": "equivalent", "target": "3832ee9d1af37cef22d9ed22d51db616", "evidence": {"same_day": true, "patch_ids": ["f0205fc96ae7aa099587d15ffc5b8b43"], "statement_hash": "a697933e21baa20247c447c1011997c652387adcb7183a91d2cc940f1de7888e"}}, {"rule": 2, "type": "equivalent", "target": "8a5e4771e1d3efc837da936303fe3e69", "evidence": {"same_day": true, "patch_ids": ["f0205fc96ae7aa099587d15ffc5b8b43"], "statement_hash": "a697933e21baa20247c447c1011997c652387adcb7183a91d2cc940f1de7888e"}}, {"rule": 2, "type": "equivalent", "target": "8c6a6507bd4112a04aa052cc681036ab", "evidence": {"same_day": true, "patch_ids": ["f0205fc96ae7aa099587d15ffc5b8b43"], "statement_hash": "a697933e21baa20247c447c1011997c652387adcb7183a91d2cc940f1de7888e"}}, {"rule": 2, "type": "equivalent", "target": "a676ca60cf7c395fb8962ab60a474d3e", "evidence": {"same_day": true, "patch_ids": ["f0205fc96ae7aa099587d15ffc5b8b43"], "statement_hash": "a697933e21baa20247c447c1011997c652387adcb7183a91d2cc940f1de7888e"}}, {"rule": 2, "type": "equivalent", "target": "f5be3f6b8947f88fed54b1476ce5d760", "evidence": {"same_day": true, "patch_ids": ["f0205fc96ae7aa099587d15ffc5b8b43"], "statement_hash": "a697933e21baa20247c447c1011997c652387adcb7183a91d2cc940f1de7888e"}}], "version": "15.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "3832ee9d1af37cef22d9ed22d51db616", "kind": "equivalent", "version": "18.1", "label": "18.1", "title": "Fix libpq's handling of socket-related errors on Windows within its GSSAPI logic", "evidence": {"same_day": true, "patch_ids": ["f0205fc96ae7aa099587d15ffc5b8b43"], "statement_hash": "a697933e21baa20247c447c1011997c652387adcb7183a91d2cc940f1de7888e"}, "url": "/docs/compare/?release=18.1#18.1-476a2e50c1064c29", "source_url": "/docs/release/18.1/#RELEASE-18-1-CHANGES"}, {"db_id": "a676ca60cf7c395fb8962ab60a474d3e", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Fix libpq's handling of socket-related errors on Windows within its GSSAPI logic", "evidence": {"same_day": true, "patch_ids": ["f0205fc96ae7aa099587d15ffc5b8b43"], "statement_hash": "a697933e21baa20247c447c1011997c652387adcb7183a91d2cc940f1de7888e"}, "url": "/docs/compare/?release=17.7#17.7-b2fb5b95a8bca3b8", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "f5be3f6b8947f88fed54b1476ce5d760", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Fix libpq's handling of socket-related errors on Windows within its GSSAPI logic", "evidence": {"same_day": true, "patch_ids": ["f0205fc96ae7aa099587d15ffc5b8b43"], "statement_hash": "a697933e21baa20247c447c1011997c652387adcb7183a91d2cc940f1de7888e"}, "url": "/docs/compare/?release=16.11#16.11-2e085f41052447e2", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "8c6a6507bd4112a04aa052cc681036ab", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Fix libpq's handling of socket-related errors on Windows within its GSSAPI logic", "evidence": {"same_day": true, "patch_ids": ["f0205fc96ae7aa099587d15ffc5b8b43"], "statement_hash": "a697933e21baa20247c447c1011997c652387adcb7183a91d2cc940f1de7888e"}, "url": "/docs/compare/?release=14.20#14.20-a0d51aea48560c38", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "8a5e4771e1d3efc837da936303fe3e69", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "Fix libpq's handling of socket-related errors on Windows within its GSSAPI logic", "evidence": {"same_day": true, "patch_ids": ["f0205fc96ae7aa099587d15ffc5b8b43"], "statement_hash": "a697933e21baa20247c447c1011997c652387adcb7183a91d2cc940f1de7888e"}, "url": "/docs/compare/?release=13.23#13.23-cf1d927f2b0b8cf3", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}, {"id": "15.15-23ef2f7cfaa90f74", "cves": [], "html": "<p>In <span>pg_dump</span>, dump security labels on subscriptions and event triggers (Jian He, Fujii Masao) <a href=\"https://postgr.es/c/165b07efe\">§</a></p>\n<p>Labels on these types of objects were previously missed.</p>", "text": "In pg_dump, dump security labels on subscriptions and event triggers (Jian He, Fujii Masao) § Labels on these types of objects were previously missed.", "title": "In pg_dump, dump security labels on subscriptions and event triggers", "commits": ["165b07efe"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "8c919c5941bd74082ee42d0eff7e704f5d8b27f212d455788a15481cbd084f75", "section_path": ["Changes"], "commit_groups": [["165b07efe", "176002c5b", "20b23784f", "295c0a644", "8e5b92928", "968141898", "dff7591a7"]], "identity_text": "In pg_dump, dump security labels on subscriptions and event triggers (Jian He, Fujii Masao) Labels on these types of objects were previously missed.", "commit_aliases": ["165b07efe", "176002c5b", "20b23784f", "295c0a644", "8e5b92928", "968141898", "dff7591a7"], "source_commits": ["165b07efe"], "source_entry_id": "15.15/changes/041", "db_id": "e13ed7ef67353401115ce525a24fc966", "patch_ids": ["50f3cb3b1bf425b80336cf780a8c577e"], "statement_hash": "d645a8cad88937b71cd73ff9934bfcc39fde4f22df7c653beb1408cf5201a509", "relations": [{"rule": 2, "type": "equivalent", "target": "50a7eeaa4f31aad8bd17e15808635950", "evidence": {"same_day": true, "patch_ids": ["50f3cb3b1bf425b80336cf780a8c577e"], "statement_hash": "d645a8cad88937b71cd73ff9934bfcc39fde4f22df7c653beb1408cf5201a509"}}, {"rule": 2, "type": "equivalent", "target": "a803d4701bd4f8354ba10f02b18df27e", "evidence": {"same_day": true, "patch_ids": ["50f3cb3b1bf425b80336cf780a8c577e"], "statement_hash": "d645a8cad88937b71cd73ff9934bfcc39fde4f22df7c653beb1408cf5201a509"}}, {"rule": 2, "type": "equivalent", "target": "b38f7c6dc9500352199759c881c4807f", "evidence": {"same_day": true, "patch_ids": ["50f3cb3b1bf425b80336cf780a8c577e"], "statement_hash": "d645a8cad88937b71cd73ff9934bfcc39fde4f22df7c653beb1408cf5201a509"}}, {"rule": 2, "type": "equivalent", "target": "c6a6d9711c2c58d53b08a2a9891a8a9a", "evidence": {"same_day": true, "patch_ids": ["50f3cb3b1bf425b80336cf780a8c577e"], "statement_hash": "d645a8cad88937b71cd73ff9934bfcc39fde4f22df7c653beb1408cf5201a509"}}], "version": "15.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "b38f7c6dc9500352199759c881c4807f", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "In pg_dump, dump security labels on subscriptions and event triggers", "evidence": {"same_day": true, "patch_ids": ["50f3cb3b1bf425b80336cf780a8c577e"], "statement_hash": "d645a8cad88937b71cd73ff9934bfcc39fde4f22df7c653beb1408cf5201a509"}, "url": "/docs/compare/?release=17.7#17.7-562a0711918ab4f5", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "c6a6d9711c2c58d53b08a2a9891a8a9a", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "In pg_dump, dump security labels on subscriptions and event triggers", "evidence": {"same_day": true, "patch_ids": ["50f3cb3b1bf425b80336cf780a8c577e"], "statement_hash": "d645a8cad88937b71cd73ff9934bfcc39fde4f22df7c653beb1408cf5201a509"}, "url": "/docs/compare/?release=16.11#16.11-6c2aa84d4024a0e3", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "a803d4701bd4f8354ba10f02b18df27e", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "In pg_dump, dump security labels on subscriptions and event triggers", "evidence": {"same_day": true, "patch_ids": ["50f3cb3b1bf425b80336cf780a8c577e"], "statement_hash": "d645a8cad88937b71cd73ff9934bfcc39fde4f22df7c653beb1408cf5201a509"}, "url": "/docs/compare/?release=14.20#14.20-d67d714c9bc3b202", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "50a7eeaa4f31aad8bd17e15808635950", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "In pg_dump, dump security labels on subscriptions and event triggers", "evidence": {"same_day": true, "patch_ids": ["50f3cb3b1bf425b80336cf780a8c577e"], "statement_hash": "d645a8cad88937b71cd73ff9934bfcc39fde4f22df7c653beb1408cf5201a509"}, "url": "/docs/compare/?release=13.23#13.23-4d6dd7514f9f0b0b", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}, {"id": "15.15-f62e7737dface522", "cves": [], "html": "<p>Fix <span>pg_dump</span>'s sorting of default ACLs and foreign key constraints (Kirill Reshke, Álvaro Herrera) <a href=\"https://postgr.es/c/fbf967e99\">§</a> <a href=\"https://postgr.es/c/090c9c960\">§</a> <a href=\"https://postgr.es/c/4cc3b4445\">§</a></p>\n<p>Ensure consistent ordering of these database object types, as was already done for other object types.</p>", "text": "Fix pg_dump's sorting of default ACLs and foreign key constraints (Kirill Reshke, Álvaro Herrera) § § § Ensure consistent ordering of these database object types, as was already done for other object types.", "title": "Fix pg_dump's sorting of default ACLs and foreign key constraints", "commits": ["090c9c960", "4cc3b4445", "fbf967e99"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "499304ab7f92e11cdbf773516eeae1fac48f7127356d215e5f547f5ae0b1eaef", "section_path": ["Changes"], "commit_groups": [["05341b2e9", "4948bb9df", "7652142f4", "b61a5c4be", "e68fa9a83", "e8d22095e", "fbf967e99"], ["06c1ee6b7", "162e70ea0", "4921a5972", "4cc3b4445", "6062c3db3", "7419c99a2", "d20df9590"], ["090c9c960", "22c6a44f0", "412d29fd2", "49a09c6c5", "ad4412480", "c6dca7c3d", "fb75e1ef7"]], "identity_text": "Fix pg_dump's sorting of default ACLs and foreign key constraints (Kirill Reshke, Álvaro Herrera) Ensure consistent ordering of these database object types, as was already done for other object types.", "commit_aliases": ["05341b2e9", "06c1ee6b7", "090c9c960", "162e70ea0", "22c6a44f0", "412d29fd2", "4921a5972", "4948bb9df", "49a09c6c5", "4cc3b4445", "6062c3db3", "7419c99a2", "7652142f4", "ad4412480", "b61a5c4be", "c6dca7c3d", "d20df9590", "e68fa9a83", "e8d22095e", "fb75e1ef7", "fbf967e99"], "source_commits": ["090c9c960", "4cc3b4445", "fbf967e99"], "source_entry_id": "15.15/changes/042", "db_id": "5d200915f65582fc2484f8ef24cc008e", "patch_ids": ["1679aedbe4ad8389b89513ef7a8e82cb", "754d79e483197bda5a8bed16ebe180ac", "be31a2f210d7f22eae421e92aa4b1823"], "statement_hash": "88506846a424a77491ecd66026cec373544e59cfae9f2c596f71a0926fbfb8ea", "relations": [{"rule": 2, "type": "related", "target": "0e30416d744287728e67dfa91ecd903e", "evidence": {"same_day": true, "patch_ids": ["754d79e483197bda5a8bed16ebe180ac"]}}, {"rule": 2, "type": "equivalent", "target": "5d051ea674aeb3f3b326a89ded32901f", "evidence": {"same_day": true, "patch_ids": ["1679aedbe4ad8389b89513ef7a8e82cb", "754d79e483197bda5a8bed16ebe180ac", "be31a2f210d7f22eae421e92aa4b1823"], "statement_hash": "88506846a424a77491ecd66026cec373544e59cfae9f2c596f71a0926fbfb8ea"}}, {"rule": 2, "type": "equivalent", "target": "9bedf67fa0860d232401ec8b1b5b9bf5", "evidence": {"same_day": true, "patch_ids": ["1679aedbe4ad8389b89513ef7a8e82cb", "754d79e483197bda5a8bed16ebe180ac", "be31a2f210d7f22eae421e92aa4b1823"], "statement_hash": "88506846a424a77491ecd66026cec373544e59cfae9f2c596f71a0926fbfb8ea"}}, {"rule": 2, "type": "equivalent", "target": "9fe254aca98ebddd5297b74ffc1dfbb8", "evidence": {"same_day": true, "patch_ids": ["1679aedbe4ad8389b89513ef7a8e82cb", "754d79e483197bda5a8bed16ebe180ac", "be31a2f210d7f22eae421e92aa4b1823"], "statement_hash": "88506846a424a77491ecd66026cec373544e59cfae9f2c596f71a0926fbfb8ea"}}, {"rule": 2, "type": "equivalent", "target": "c1d4d17be6dfafe4eaeda5f8c6d009ad", "evidence": {"same_day": true, "patch_ids": ["1679aedbe4ad8389b89513ef7a8e82cb", "754d79e483197bda5a8bed16ebe180ac", "be31a2f210d7f22eae421e92aa4b1823"], "statement_hash": "88506846a424a77491ecd66026cec373544e59cfae9f2c596f71a0926fbfb8ea"}}], "version": "15.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "0e30416d744287728e67dfa91ecd903e", "kind": "related", "version": "18.1", "label": "18.1", "title": "Fix pg_dump's sorting of foreign key constraints", "evidence": {"same_day": true, "patch_ids": ["754d79e483197bda5a8bed16ebe180ac"]}, "url": "/docs/compare/?release=18.1#18.1-596e4425a92cbba4", "source_url": "/docs/release/18.1/#RELEASE-18-1-CHANGES"}, {"db_id": "9fe254aca98ebddd5297b74ffc1dfbb8", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Fix pg_dump's sorting of default ACLs and foreign key constraints", "evidence": {"same_day": true, "patch_ids": ["1679aedbe4ad8389b89513ef7a8e82cb", "754d79e483197bda5a8bed16ebe180ac", "be31a2f210d7f22eae421e92aa4b1823"], "statement_hash": "88506846a424a77491ecd66026cec373544e59cfae9f2c596f71a0926fbfb8ea"}, "url": "/docs/compare/?release=17.7#17.7-6339fccd8bd64678", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "c1d4d17be6dfafe4eaeda5f8c6d009ad", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Fix pg_dump's sorting of default ACLs and foreign key constraints", "evidence": {"same_day": true, "patch_ids": ["1679aedbe4ad8389b89513ef7a8e82cb", "754d79e483197bda5a8bed16ebe180ac", "be31a2f210d7f22eae421e92aa4b1823"], "statement_hash": "88506846a424a77491ecd66026cec373544e59cfae9f2c596f71a0926fbfb8ea"}, "url": "/docs/compare/?release=16.11#16.11-498c398eb10cb9bf", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "9bedf67fa0860d232401ec8b1b5b9bf5", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Fix pg_dump's sorting of default ACLs and foreign key constraints", "evidence": {"same_day": true, "patch_ids": ["1679aedbe4ad8389b89513ef7a8e82cb", "754d79e483197bda5a8bed16ebe180ac", "be31a2f210d7f22eae421e92aa4b1823"], "statement_hash": "88506846a424a77491ecd66026cec373544e59cfae9f2c596f71a0926fbfb8ea"}, "url": "/docs/compare/?release=14.20#14.20-cb50539fbd7938eb", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "5d051ea674aeb3f3b326a89ded32901f", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "Fix pg_dump's sorting of default ACLs and foreign key constraints", "evidence": {"same_day": true, "patch_ids": ["1679aedbe4ad8389b89513ef7a8e82cb", "754d79e483197bda5a8bed16ebe180ac", "be31a2f210d7f22eae421e92aa4b1823"], "statement_hash": "88506846a424a77491ecd66026cec373544e59cfae9f2c596f71a0926fbfb8ea"}, "url": "/docs/compare/?release=13.23#13.23-9e5d6f5c6fe46680", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}, {"id": "15.15-ff1fe39cc66dc574", "cves": [], "html": "<p>In <span>pg_dump</span>, label comments for separately-dumped domain constraints with the proper dependency (Noah Misch) <a href=\"https://postgr.es/c/0773f3a87\">§</a></p>\n<p>This error could lead to parallel <span>pg_restore</span> attempting to create the comment before the constraint itself has been restored.</p>", "text": "In pg_dump, label comments for separately-dumped domain constraints with the proper dependency (Noah Misch) § This error could lead to parallel pg_restore attempting to create the comment before the constraint itself has been restored.", "title": "In pg_dump, label comments for separately-dumped domain constraints with the proper dependency", "commits": ["0773f3a87"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "bd6104a7bf8d0241acbe34a917723acbeaad8420fb17c4dc5f8f3bc7332d02e4", "section_path": ["Changes"], "commit_groups": [["0773f3a87", "3cf328eca", "4ad846445", "85d6ed31f", "a685c057a", "c044b50d1", "e127764b6"]], "identity_text": "In pg_dump, label comments for separately-dumped domain constraints with the proper dependency (Noah Misch) This error could lead to parallel pg_restore attempting to create the comment before the constraint itself has been restored.", "commit_aliases": ["0773f3a87", "3cf328eca", "4ad846445", "85d6ed31f", "a685c057a", "c044b50d1", "e127764b6"], "source_commits": ["0773f3a87"], "source_entry_id": "15.15/changes/043", "db_id": "5212881b90e8e1e9551fbe13b95d0ebe", "patch_ids": ["f5ee4fcdb9591dfab45e16d82b5778a9"], "statement_hash": "1f7f6f21e0a04820a9643f0abe96793463cd605b1750756f5826907a3cae8419", "relations": [{"rule": 2, "type": "equivalent", "target": "57770ce46bea4407a1c3d56a9de88c89", "evidence": {"same_day": true, "patch_ids": ["f5ee4fcdb9591dfab45e16d82b5778a9"], "statement_hash": "1f7f6f21e0a04820a9643f0abe96793463cd605b1750756f5826907a3cae8419"}}, {"rule": 2, "type": "equivalent", "target": "6d2ebbc7bf31a2fbcaaa5897ad5b55a9", "evidence": {"same_day": true, "patch_ids": ["f5ee4fcdb9591dfab45e16d82b5778a9"], "statement_hash": "1f7f6f21e0a04820a9643f0abe96793463cd605b1750756f5826907a3cae8419"}}, {"rule": 2, "type": "equivalent", "target": "829eff490d670b365e978ff8d767ec0b", "evidence": {"same_day": true, "patch_ids": ["f5ee4fcdb9591dfab45e16d82b5778a9"], "statement_hash": "1f7f6f21e0a04820a9643f0abe96793463cd605b1750756f5826907a3cae8419"}}, {"rule": 2, "type": "equivalent", "target": "c6f339abde1f188511906bff28c51578", "evidence": {"same_day": true, "patch_ids": ["f5ee4fcdb9591dfab45e16d82b5778a9"], "statement_hash": "1f7f6f21e0a04820a9643f0abe96793463cd605b1750756f5826907a3cae8419"}}], "version": "15.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "6d2ebbc7bf31a2fbcaaa5897ad5b55a9", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "In pg_dump, label comments for separately-dumped domain constraints with the proper dependency", "evidence": {"same_day": true, "patch_ids": ["f5ee4fcdb9591dfab45e16d82b5778a9"], "statement_hash": "1f7f6f21e0a04820a9643f0abe96793463cd605b1750756f5826907a3cae8419"}, "url": "/docs/compare/?release=17.7#17.7-0d2ff278f612b143", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "c6f339abde1f188511906bff28c51578", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "In pg_dump, label comments for separately-dumped domain constraints with the proper dependency", "evidence": {"same_day": true, "patch_ids": ["f5ee4fcdb9591dfab45e16d82b5778a9"], "statement_hash": "1f7f6f21e0a04820a9643f0abe96793463cd605b1750756f5826907a3cae8419"}, "url": "/docs/compare/?release=16.11#16.11-8bdbdcce891001b0", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "57770ce46bea4407a1c3d56a9de88c89", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "In pg_dump, label comments for separately-dumped domain constraints with the proper dependency", "evidence": {"same_day": true, "patch_ids": ["f5ee4fcdb9591dfab45e16d82b5778a9"], "statement_hash": "1f7f6f21e0a04820a9643f0abe96793463cd605b1750756f5826907a3cae8419"}, "url": "/docs/compare/?release=14.20#14.20-4a74c2ab484b5e15", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "829eff490d670b365e978ff8d767ec0b", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "In pg_dump, label comments for separately-dumped domain constraints with the proper dependency", "evidence": {"same_day": true, "patch_ids": ["f5ee4fcdb9591dfab45e16d82b5778a9"], "statement_hash": "1f7f6f21e0a04820a9643f0abe96793463cd605b1750756f5826907a3cae8419"}, "url": "/docs/compare/?release=13.23#13.23-bf93dd5cf806538c", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}, {"id": "15.15-8108f66965f91937", "cves": [], "html": "<p>In <span>pg_restore</span>, skip comments and security labels for publications and subscriptions that are not being restored (Jian He, Fujii Masao) <a href=\"https://postgr.es/c/c8ed16050\">§</a> <a href=\"https://postgr.es/c/5f42008f9\">§</a></p>\n<p>Do not emit <code>COMMENT</code> or <code>SECURITY LABEL</code> commands for these objects when <code>--no-publications</code> or <code>--no-subscriptions</code> is specified.</p>", "text": "In pg_restore, skip comments and security labels for publications and subscriptions that are not being restored (Jian He, Fujii Masao) § § Do not emit COMMENT or SECURITY LABEL commands for these objects when --no-publications or --no-subscriptions is specified.", "title": "In pg_restore, skip comments and security labels for publications and subscriptions that are not being restored", "commits": ["5f42008f9", "c8ed16050"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "adbf0cd9b49d912a794463cfd3703786ad16972462860bb94b24152878e333d2", "section_path": ["Changes"], "commit_groups": [["0870397cc", "45f50c995", "5f42008f9", "7aecc00b3", "a4dbb11bb", "bc476f8b8", "dc8aa2f58"], ["77d2b155c", "8fbd1f8ea", "97527a5e6", "b54e8dbfe", "c8ed16050", "db900ec35", "f7f9c5d65"]], "identity_text": "In pg_restore, skip comments and security labels for publications and subscriptions that are not being restored (Jian He, Fujii Masao) Do not emit COMMENT or SECURITY LABEL commands for these objects when --no-publications or --no-subscriptions is specified.", "commit_aliases": ["0870397cc", "45f50c995", "5f42008f9", "77d2b155c", "7aecc00b3", "8fbd1f8ea", "97527a5e6", "a4dbb11bb", "b54e8dbfe", "bc476f8b8", "c8ed16050", "db900ec35", "dc8aa2f58", "f7f9c5d65"], "source_commits": ["5f42008f9", "c8ed16050"], "source_entry_id": "15.15/changes/044", "db_id": "73000c025552fa1fccb057306989e471", "patch_ids": ["b00e0d3d5b5c7accc291166eb79e6779", "c78160dcc18e275f1af7bef62bd392b3"], "statement_hash": "13c9f3d900186c385d309baab51ef957ad186df62425a49a15054c10d707ffdd", "relations": [{"rule": 2, "type": "equivalent", "target": "8c75b52b2c1a02a7bd09497bb056910a", "evidence": {"same_day": true, "patch_ids": ["b00e0d3d5b5c7accc291166eb79e6779", "c78160dcc18e275f1af7bef62bd392b3"], "statement_hash": "13c9f3d900186c385d309baab51ef957ad186df62425a49a15054c10d707ffdd"}}, {"rule": 2, "type": "equivalent", "target": "992fe32f696a3670a51ae4da2ac52324", "evidence": {"same_day": true, "patch_ids": ["b00e0d3d5b5c7accc291166eb79e6779", "c78160dcc18e275f1af7bef62bd392b3"], "statement_hash": "13c9f3d900186c385d309baab51ef957ad186df62425a49a15054c10d707ffdd"}}, {"rule": 2, "type": "equivalent", "target": "9e482564728f473f21c7b6e2b60cda0e", "evidence": {"same_day": true, "patch_ids": ["b00e0d3d5b5c7accc291166eb79e6779", "c78160dcc18e275f1af7bef62bd392b3"], "statement_hash": "13c9f3d900186c385d309baab51ef957ad186df62425a49a15054c10d707ffdd"}}, {"rule": 2, "type": "equivalent", "target": "a9c9a0e07839d2badf998df5894b4d5f", "evidence": {"same_day": true, "patch_ids": ["b00e0d3d5b5c7accc291166eb79e6779", "c78160dcc18e275f1af7bef62bd392b3"], "statement_hash": "13c9f3d900186c385d309baab51ef957ad186df62425a49a15054c10d707ffdd"}}], "version": "15.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "8c75b52b2c1a02a7bd09497bb056910a", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "In pg_restore, skip comments and security labels for publications and subscriptions that are not being restored", "evidence": {"same_day": true, "patch_ids": ["b00e0d3d5b5c7accc291166eb79e6779", "c78160dcc18e275f1af7bef62bd392b3"], "statement_hash": "13c9f3d900186c385d309baab51ef957ad186df62425a49a15054c10d707ffdd"}, "url": "/docs/compare/?release=17.7#17.7-746daa75c18338eb", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "992fe32f696a3670a51ae4da2ac52324", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "In pg_restore, skip comments and security labels for publications and subscriptions that are not being restored", "evidence": {"same_day": true, "patch_ids": ["b00e0d3d5b5c7accc291166eb79e6779", "c78160dcc18e275f1af7bef62bd392b3"], "statement_hash": "13c9f3d900186c385d309baab51ef957ad186df62425a49a15054c10d707ffdd"}, "url": "/docs/compare/?release=16.11#16.11-c9a713c822bed049", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "a9c9a0e07839d2badf998df5894b4d5f", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "In pg_restore, skip comments and security labels for publications and subscriptions that are not being restored", "evidence": {"same_day": true, "patch_ids": ["b00e0d3d5b5c7accc291166eb79e6779", "c78160dcc18e275f1af7bef62bd392b3"], "statement_hash": "13c9f3d900186c385d309baab51ef957ad186df62425a49a15054c10d707ffdd"}, "url": "/docs/compare/?release=14.20#14.20-76f716601e5da019", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "9e482564728f473f21c7b6e2b60cda0e", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "In pg_restore, skip comments and security labels for publications and subscriptions that are not being restored", "evidence": {"same_day": true, "patch_ids": ["b00e0d3d5b5c7accc291166eb79e6779", "c78160dcc18e275f1af7bef62bd392b3"], "statement_hash": "13c9f3d900186c385d309baab51ef957ad186df62425a49a15054c10d707ffdd"}, "url": "/docs/compare/?release=13.23#13.23-e41dd4a1625a9c64", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}, {"id": "15.15-1f4cb2ccb58f17bc", "cves": [], "html": "<p>Fix assorted errors in the data compression logic in <span>pg_dump</span> and <span>pg_restore</span> (Daniel Gustafsson, Tom Lane) <a href=\"https://postgr.es/c/8b9924bce\">§</a></p>\n<p>Error checking was missing or incorrect in several places, and there were also portability issues that would manifest on big-endian hardware. These problems had been missed because this code is only used to read compressed TOC files within directory-format dumps. <span>pg_dump</span> never produces such a dump; the case can be reached only by manually compressing the TOC file after the fact, which is a supported thing to do but very uncommon.</p>", "text": "Fix assorted errors in the data compression logic in pg_dump and pg_restore (Daniel Gustafsson, Tom Lane) § Error checking was missing or incorrect in several places, and there were also portability issues that would manifest on big-endian hardware. These problems had been missed because this code is only used to read compressed TOC files within directory-format dumps. pg_dump never produces such a dump; the case can be reached only by manually compressing the TOC file after the fact, which is a supported thing to do but very uncommon.", "title": "Fix assorted errors in the data compression logic in pg_dump and pg_restore", "commits": ["8b9924bce"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "43b98195cb73e8f33794afbdd62b1a03355cd3b6df73df77fd0ac861c0a6eb21", "section_path": ["Changes"], "commit_groups": [["1518b7d76", "6a4009747", "a239c4a0c", "bf18e9bd7"], ["277dec651", "2efca1633", "33276cd02", "40dc710a6", "8b9924bce", "aa1fcd087", "c865f5b9f"], ["8980c724b", "92268b35d", "e686010c5", "ec017a305"]], "identity_text": "Fix assorted errors in the data compression logic in pg_dump and pg_restore (Daniel Gustafsson, Tom Lane) Error checking was missing or incorrect in several places, and there were also portability issues that would manifest on big-endian hardware. These problems had been missed because this code is only used to read compressed TOC files within directory-format dumps. pg_dump never produces such a dump; the case can be reached only by manually compressing the TOC file after the fact, which is a supported thing to do but very uncommon.", "commit_aliases": ["1518b7d76", "277dec651", "2efca1633", "33276cd02", "40dc710a6", "6a4009747", "8980c724b", "8b9924bce", "92268b35d", "a239c4a0c", "aa1fcd087", "bf18e9bd7", "c865f5b9f", "e686010c5", "ec017a305"], "source_commits": ["8b9924bce", "a239c4a0c", "e686010c5"], "source_entry_id": "15.15/changes/045", "db_id": "2cc366c16ddf487970d4c1a069ddef4d", "patch_ids": ["34d09b07f99c29b50cf53cc13100ea10", "4eef07986dd4d4d15a60a29e5a15998d", "c6e514b9bc3c0e05d2b6d2fc63af7a54"], "statement_hash": "e1d5e819c74cee28f2154059267d12fd8e6cfc4c9d5affbaf9861a9f4788798c", "relations": [{"rule": 2, "type": "equivalent", "target": "12b4dd9512e147889a0b739f2bbf5ade", "evidence": {"same_day": true, "patch_ids": ["34d09b07f99c29b50cf53cc13100ea10", "4eef07986dd4d4d15a60a29e5a15998d", "c6e514b9bc3c0e05d2b6d2fc63af7a54"], "statement_hash": "e1d5e819c74cee28f2154059267d12fd8e6cfc4c9d5affbaf9861a9f4788798c"}}, {"rule": 2, "type": "equivalent", "target": "94448a696df6dbc1fc249f870067647a", "evidence": {"same_day": true, "patch_ids": ["34d09b07f99c29b50cf53cc13100ea10", "4eef07986dd4d4d15a60a29e5a15998d", "c6e514b9bc3c0e05d2b6d2fc63af7a54"], "statement_hash": "e1d5e819c74cee28f2154059267d12fd8e6cfc4c9d5affbaf9861a9f4788798c"}}, {"rule": 2, "type": "equivalent", "target": "d6f9f1f62ddef6d134088a2d74e99a56", "evidence": {"same_day": true, "patch_ids": ["34d09b07f99c29b50cf53cc13100ea10", "4eef07986dd4d4d15a60a29e5a15998d", "c6e514b9bc3c0e05d2b6d2fc63af7a54"], "statement_hash": "e1d5e819c74cee28f2154059267d12fd8e6cfc4c9d5affbaf9861a9f4788798c"}}, {"rule": 2, "type": "equivalent", "target": "db9de757f72a73bd069a8b786f5b8120", "evidence": {"same_day": true, "patch_ids": ["34d09b07f99c29b50cf53cc13100ea10", "4eef07986dd4d4d15a60a29e5a15998d", "c6e514b9bc3c0e05d2b6d2fc63af7a54"], "statement_hash": "e1d5e819c74cee28f2154059267d12fd8e6cfc4c9d5affbaf9861a9f4788798c"}}, {"rule": 2, "type": "equivalent", "target": "f2020f100f9176ff2a2e8a154fa90714", "evidence": {"same_day": true, "patch_ids": ["34d09b07f99c29b50cf53cc13100ea10", "4eef07986dd4d4d15a60a29e5a15998d", "c6e514b9bc3c0e05d2b6d2fc63af7a54"], "statement_hash": "e1d5e819c74cee28f2154059267d12fd8e6cfc4c9d5affbaf9861a9f4788798c"}}], "version": "15.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "db9de757f72a73bd069a8b786f5b8120", "kind": "equivalent", "version": "18.1", "label": "18.1", "title": "Fix assorted errors in the data compression logic in pg_dump and pg_restore", "evidence": {"same_day": true, "patch_ids": ["34d09b07f99c29b50cf53cc13100ea10", "4eef07986dd4d4d15a60a29e5a15998d", "c6e514b9bc3c0e05d2b6d2fc63af7a54"], "statement_hash": "e1d5e819c74cee28f2154059267d12fd8e6cfc4c9d5affbaf9861a9f4788798c"}, "url": "/docs/compare/?release=18.1#18.1-939176032400286d", "source_url": "/docs/release/18.1/#RELEASE-18-1-CHANGES"}, {"db_id": "f2020f100f9176ff2a2e8a154fa90714", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Fix assorted errors in the data compression logic in pg_dump and pg_restore", "evidence": {"same_day": true, "patch_ids": ["34d09b07f99c29b50cf53cc13100ea10", "4eef07986dd4d4d15a60a29e5a15998d", "c6e514b9bc3c0e05d2b6d2fc63af7a54"], "statement_hash": "e1d5e819c74cee28f2154059267d12fd8e6cfc4c9d5affbaf9861a9f4788798c"}, "url": "/docs/compare/?release=17.7#17.7-2c512121eb50a880", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "d6f9f1f62ddef6d134088a2d74e99a56", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Fix assorted errors in the data compression logic in pg_dump and pg_restore", "evidence": {"same_day": true, "patch_ids": ["34d09b07f99c29b50cf53cc13100ea10", "4eef07986dd4d4d15a60a29e5a15998d", "c6e514b9bc3c0e05d2b6d2fc63af7a54"], "statement_hash": "e1d5e819c74cee28f2154059267d12fd8e6cfc4c9d5affbaf9861a9f4788798c"}, "url": "/docs/compare/?release=16.11#16.11-a90bb8c2778d1037", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "12b4dd9512e147889a0b739f2bbf5ade", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Fix assorted errors in the data compression logic in pg_dump and pg_restore", "evidence": {"same_day": true, "patch_ids": ["34d09b07f99c29b50cf53cc13100ea10", "4eef07986dd4d4d15a60a29e5a15998d", "c6e514b9bc3c0e05d2b6d2fc63af7a54"], "statement_hash": "e1d5e819c74cee28f2154059267d12fd8e6cfc4c9d5affbaf9861a9f4788798c"}, "url": "/docs/compare/?release=14.20#14.20-a3723630038b7a05", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "94448a696df6dbc1fc249f870067647a", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "Fix assorted errors in the data compression logic in pg_dump and pg_restore", "evidence": {"same_day": true, "patch_ids": ["34d09b07f99c29b50cf53cc13100ea10", "4eef07986dd4d4d15a60a29e5a15998d", "c6e514b9bc3c0e05d2b6d2fc63af7a54"], "statement_hash": "e1d5e819c74cee28f2154059267d12fd8e6cfc4c9d5affbaf9861a9f4788798c"}, "url": "/docs/compare/?release=13.23#13.23-a2ad4ad5a1ae99e4", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}, {"id": "15.15-76b0085c675f6b37", "cves": [], "html": "<p>Fix <span>pgbench</span> to error out cleanly if a <code>COPY</code> operation is started (Anthonin Bonnefoy) <a href=\"https://postgr.es/c/b5cefc197\">§</a></p>\n<p><span>pgbench</span> doesn't intend to support this case, but previously it went into an infinite loop.</p>", "text": "Fix pgbench to error out cleanly if a COPY operation is started (Anthonin Bonnefoy) § pgbench doesn't intend to support this case, but previously it went into an infinite loop.", "title": "Fix pgbench to error out cleanly if a COPY operation is started", "commits": ["b5cefc197"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "da90908bbb6eafe336a1b77fc0ef29b9a133b71f8c485b2a9beba603493b8e55", "section_path": ["Changes"], "commit_groups": [["640590bb4", "902c08887", "9b3beb7c6", "b5cefc197", "c00637b5f", "de6de069d", "f1a2f3a0c"]], "identity_text": "Fix pgbench to error out cleanly if a COPY operation is started (Anthonin Bonnefoy) pgbench doesn't intend to support this case, but previously it went into an infinite loop.", "commit_aliases": ["640590bb4", "902c08887", "9b3beb7c6", "b5cefc197", "c00637b5f", "de6de069d", "f1a2f3a0c"], "source_commits": ["b5cefc197"], "source_entry_id": "15.15/changes/046", "db_id": "5e3a31a811c1f52525f624d8ce076894", "patch_ids": ["1d095caebd3e91308930c0f046a8615d"], "statement_hash": "b9c6e08e4a0d18e06d97c410e1ac9358f7012ae1718e6db0cee8ee8626b7d2eb", "relations": [{"rule": 2, "type": "equivalent", "target": "0ab8c685f0a9c83205700ee9f16ec69d", "evidence": {"same_day": true, "patch_ids": ["1d095caebd3e91308930c0f046a8615d"], "statement_hash": "b9c6e08e4a0d18e06d97c410e1ac9358f7012ae1718e6db0cee8ee8626b7d2eb"}}, {"rule": 2, "type": "equivalent", "target": "37f3a4ecb0a18fd8795547a2f62aa746", "evidence": {"same_day": true, "patch_ids": ["1d095caebd3e91308930c0f046a8615d"], "statement_hash": "b9c6e08e4a0d18e06d97c410e1ac9358f7012ae1718e6db0cee8ee8626b7d2eb"}}, {"rule": 2, "type": "equivalent", "target": "4fdb075299b2c8dbb29b9dd63ffefa18", "evidence": {"same_day": true, "patch_ids": ["1d095caebd3e91308930c0f046a8615d"], "statement_hash": "b9c6e08e4a0d18e06d97c410e1ac9358f7012ae1718e6db0cee8ee8626b7d2eb"}}, {"rule": 2, "type": "equivalent", "target": "69889021274de78f6f31d01dd2b4ab62", "evidence": {"same_day": true, "patch_ids": ["1d095caebd3e91308930c0f046a8615d"], "statement_hash": "b9c6e08e4a0d18e06d97c410e1ac9358f7012ae1718e6db0cee8ee8626b7d2eb"}}, {"rule": 2, "type": "equivalent", "target": "9a22121acd6baa6a9fb3c0a600e6f745", "evidence": {"same_day": true, "patch_ids": ["1d095caebd3e91308930c0f046a8615d"], "statement_hash": "b9c6e08e4a0d18e06d97c410e1ac9358f7012ae1718e6db0cee8ee8626b7d2eb"}}], "version": "15.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "9a22121acd6baa6a9fb3c0a600e6f745", "kind": "equivalent", "version": "18.1", "label": "18.1", "title": "Fix pgbench to error out cleanly if a COPY operation is started", "evidence": {"same_day": true, "patch_ids": ["1d095caebd3e91308930c0f046a8615d"], "statement_hash": "b9c6e08e4a0d18e06d97c410e1ac9358f7012ae1718e6db0cee8ee8626b7d2eb"}, "url": "/docs/compare/?release=18.1#18.1-cccbae91c7612842", "source_url": "/docs/release/18.1/#RELEASE-18-1-CHANGES"}, {"db_id": "0ab8c685f0a9c83205700ee9f16ec69d", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Fix pgbench to error out cleanly if a COPY operation is started", "evidence": {"same_day": true, "patch_ids": ["1d095caebd3e91308930c0f046a8615d"], "statement_hash": "b9c6e08e4a0d18e06d97c410e1ac9358f7012ae1718e6db0cee8ee8626b7d2eb"}, "url": "/docs/compare/?release=17.7#17.7-be37552c2ac3a78e", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "37f3a4ecb0a18fd8795547a2f62aa746", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Fix pgbench to error out cleanly if a COPY operation is started", "evidence": {"same_day": true, "patch_ids": ["1d095caebd3e91308930c0f046a8615d"], "statement_hash": "b9c6e08e4a0d18e06d97c410e1ac9358f7012ae1718e6db0cee8ee8626b7d2eb"}, "url": "/docs/compare/?release=16.11#16.11-f7261b248bcb61f8", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "69889021274de78f6f31d01dd2b4ab62", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Fix pgbench to error out cleanly if a COPY operation is started", "evidence": {"same_day": true, "patch_ids": ["1d095caebd3e91308930c0f046a8615d"], "statement_hash": "b9c6e08e4a0d18e06d97c410e1ac9358f7012ae1718e6db0cee8ee8626b7d2eb"}, "url": "/docs/compare/?release=14.20#14.20-74d6b535346afc2b", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "4fdb075299b2c8dbb29b9dd63ffefa18", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "Fix pgbench to error out cleanly if a COPY operation is started", "evidence": {"same_day": true, "patch_ids": ["1d095caebd3e91308930c0f046a8615d"], "statement_hash": "b9c6e08e4a0d18e06d97c410e1ac9358f7012ae1718e6db0cee8ee8626b7d2eb"}, "url": "/docs/compare/?release=13.23#13.23-32d242ed4771d849", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}, {"id": "15.15-0c7d8a673115c847", "cves": [], "html": "<p>Fix <span>pgbench</span>'s reporting of multiple errors (Yugo Nagata) <a href=\"https://postgr.es/c/bdccb6302\">§</a></p>\n<p>In cases where two successive <code>PQgetResult</code> calls both fail, <span>pgbench</span> might report the wrong error message.</p>", "text": "Fix pgbench's reporting of multiple errors (Yugo Nagata) § In cases where two successive PQgetResult calls both fail, pgbench might report the wrong error message.", "title": "Fix pgbench's reporting of multiple errors", "commits": ["bdccb6302"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "848b8685fcbef0d73938acde30c15e43e01d44ba6e4c65cce24d0ab2e5ffdcdc", "section_path": ["Changes"], "commit_groups": [["19d4f9ffc", "29aabbc43", "36c4d30c8", "7d7e81d1e", "a912118c6", "bdccb6302", "cb21e1f92"]], "identity_text": "Fix pgbench's reporting of multiple errors (Yugo Nagata) In cases where two successive PQgetResult calls both fail, pgbench might report the wrong error message.", "commit_aliases": ["19d4f9ffc", "29aabbc43", "36c4d30c8", "7d7e81d1e", "a912118c6", "bdccb6302", "cb21e1f92"], "source_commits": ["bdccb6302"], "source_entry_id": "15.15/changes/047", "db_id": "e0ccdf500bb8f7ee5932c7d3db2e536e", "patch_ids": ["a5b36b8efb6e0c7a3849524c97a420e5"], "statement_hash": "5a1e945c185bdfb836e9ed6ea3c7c6dcdc70d0b00e3add742a673cd7968eb604", "relations": [{"rule": 2, "type": "equivalent", "target": "1d96ae50e45c2122b3c99a80eb6187c3", "evidence": {"same_day": true, "patch_ids": ["a5b36b8efb6e0c7a3849524c97a420e5"], "statement_hash": "5a1e945c185bdfb836e9ed6ea3c7c6dcdc70d0b00e3add742a673cd7968eb604"}}, {"rule": 2, "type": "equivalent", "target": "66d73925f2523f78c99a3eab09ad1adf", "evidence": {"same_day": true, "patch_ids": ["a5b36b8efb6e0c7a3849524c97a420e5"], "statement_hash": "5a1e945c185bdfb836e9ed6ea3c7c6dcdc70d0b00e3add742a673cd7968eb604"}}, {"rule": 2, "type": "equivalent", "target": "89b980f6be2175b2b8c7c6d55f591881", "evidence": {"same_day": true, "patch_ids": ["a5b36b8efb6e0c7a3849524c97a420e5"], "statement_hash": "5a1e945c185bdfb836e9ed6ea3c7c6dcdc70d0b00e3add742a673cd7968eb604"}}, {"rule": 2, "type": "equivalent", "target": "a2a875aae536c9dfb223ec32572d4b63", "evidence": {"same_day": true, "patch_ids": ["a5b36b8efb6e0c7a3849524c97a420e5"], "statement_hash": "5a1e945c185bdfb836e9ed6ea3c7c6dcdc70d0b00e3add742a673cd7968eb604"}}, {"rule": 2, "type": "equivalent", "target": "ac7703f3c51d491b3572192678a5d998", "evidence": {"same_day": true, "patch_ids": ["a5b36b8efb6e0c7a3849524c97a420e5"], "statement_hash": "5a1e945c185bdfb836e9ed6ea3c7c6dcdc70d0b00e3add742a673cd7968eb604"}}], "version": "15.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "1d96ae50e45c2122b3c99a80eb6187c3", "kind": "equivalent", "version": "18.1", "label": "18.1", "title": "Fix pgbench's reporting of multiple errors", "evidence": {"same_day": true, "patch_ids": ["a5b36b8efb6e0c7a3849524c97a420e5"], "statement_hash": "5a1e945c185bdfb836e9ed6ea3c7c6dcdc70d0b00e3add742a673cd7968eb604"}, "url": "/docs/compare/?release=18.1#18.1-1b36133d506932f3", "source_url": "/docs/release/18.1/#RELEASE-18-1-CHANGES"}, {"db_id": "ac7703f3c51d491b3572192678a5d998", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Fix pgbench's reporting of multiple errors", "evidence": {"same_day": true, "patch_ids": ["a5b36b8efb6e0c7a3849524c97a420e5"], "statement_hash": "5a1e945c185bdfb836e9ed6ea3c7c6dcdc70d0b00e3add742a673cd7968eb604"}, "url": "/docs/compare/?release=17.7#17.7-180d8349ffb479b3", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "66d73925f2523f78c99a3eab09ad1adf", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Fix pgbench's reporting of multiple errors", "evidence": {"same_day": true, "patch_ids": ["a5b36b8efb6e0c7a3849524c97a420e5"], "statement_hash": "5a1e945c185bdfb836e9ed6ea3c7c6dcdc70d0b00e3add742a673cd7968eb604"}, "url": "/docs/compare/?release=16.11#16.11-3bb865abdd991c8c", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "a2a875aae536c9dfb223ec32572d4b63", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Fix pgbench's reporting of multiple errors", "evidence": {"same_day": true, "patch_ids": ["a5b36b8efb6e0c7a3849524c97a420e5"], "statement_hash": "5a1e945c185bdfb836e9ed6ea3c7c6dcdc70d0b00e3add742a673cd7968eb604"}, "url": "/docs/compare/?release=14.20#14.20-a5c54ee7ce6a4f00", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "89b980f6be2175b2b8c7c6d55f591881", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "Fix pgbench's reporting of multiple errors", "evidence": {"same_day": true, "patch_ids": ["a5b36b8efb6e0c7a3849524c97a420e5"], "statement_hash": "5a1e945c185bdfb836e9ed6ea3c7c6dcdc70d0b00e3add742a673cd7968eb604"}, "url": "/docs/compare/?release=13.23#13.23-7f805041aaf13b6f", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}, {"id": "15.15-1f69c654f8307395", "cves": [], "html": "<p>In <span>pgbench</span>, fix faulty assertion about errors in pipeline mode (Yugo Nagata) <a href=\"https://postgr.es/c/704f51771\">§</a></p>", "text": "In pgbench, fix faulty assertion about errors in pipeline mode (Yugo Nagata) §", "title": "In pgbench, fix faulty assertion about errors in pipeline mode", "commits": ["704f51771"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "7fc60fa943704e3d675c9e85afeb16f21107f9428d0986c07433eb89ba9834d0", "section_path": ["Changes"], "commit_groups": [["704f51771", "8b2e290bd", "8bb174295", "c736808e0", "f39d9164b"]], "identity_text": "In pgbench, fix faulty assertion about errors in pipeline mode (Yugo Nagata)", "commit_aliases": ["704f51771", "8b2e290bd", "8bb174295", "c736808e0", "f39d9164b"], "source_commits": ["704f51771"], "source_entry_id": "15.15/changes/048", "db_id": "fd360afbc940d89de171ce1ab0838f25", "patch_ids": ["f0e6502c068cd0b05ad542efb11a232c"], "statement_hash": "c50d603a6fb129cae06cebd4c235fac3d99cea47d3329930dbc75796a0ec35f9", "relations": [{"rule": 2, "type": "equivalent", "target": "43ed98fa322ca8711e3dbbd5e9dc0db8", "evidence": {"same_day": true, "patch_ids": ["f0e6502c068cd0b05ad542efb11a232c"], "statement_hash": "c50d603a6fb129cae06cebd4c235fac3d99cea47d3329930dbc75796a0ec35f9"}}, {"rule": 2, "type": "equivalent", "target": "8c4b9756ea8e54675c2636e769219add", "evidence": {"same_day": true, "patch_ids": ["f0e6502c068cd0b05ad542efb11a232c"], "statement_hash": "c50d603a6fb129cae06cebd4c235fac3d99cea47d3329930dbc75796a0ec35f9"}}, {"rule": 2, "type": "equivalent", "target": "c29def4a30c507bcae5d3354625ab08e", "evidence": {"same_day": true, "patch_ids": ["f0e6502c068cd0b05ad542efb11a232c"], "statement_hash": "c50d603a6fb129cae06cebd4c235fac3d99cea47d3329930dbc75796a0ec35f9"}}], "version": "15.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "43ed98fa322ca8711e3dbbd5e9dc0db8", "kind": "equivalent", "version": "18.1", "label": "18.1", "title": "In pgbench, fix faulty assertion about errors in pipeline mode", "evidence": {"same_day": true, "patch_ids": ["f0e6502c068cd0b05ad542efb11a232c"], "statement_hash": "c50d603a6fb129cae06cebd4c235fac3d99cea47d3329930dbc75796a0ec35f9"}, "url": "/docs/compare/?release=18.1#18.1-b61a0464e2059730", "source_url": "/docs/release/18.1/#RELEASE-18-1-CHANGES"}, {"db_id": "c29def4a30c507bcae5d3354625ab08e", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "In pgbench, fix faulty assertion about errors in pipeline mode", "evidence": {"same_day": true, "patch_ids": ["f0e6502c068cd0b05ad542efb11a232c"], "statement_hash": "c50d603a6fb129cae06cebd4c235fac3d99cea47d3329930dbc75796a0ec35f9"}, "url": "/docs/compare/?release=17.7#17.7-f15c7a567546a9d4", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "8c4b9756ea8e54675c2636e769219add", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "In pgbench, fix faulty assertion about errors in pipeline mode", "evidence": {"same_day": true, "patch_ids": ["f0e6502c068cd0b05ad542efb11a232c"], "statement_hash": "c50d603a6fb129cae06cebd4c235fac3d99cea47d3329930dbc75796a0ec35f9"}, "url": "/docs/compare/?release=16.11#16.11-d2c2780bf07f8053", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}]}, {"id": "15.15-b82ab8179ce6ffa2", "cves": [], "html": "<p>Ensure that <code>contrib/pg_buffercache</code> functions can be canceled (Satyanarayana Narlapuram, Yuhang Qiu) <a href=\"https://postgr.es/c/eb9ee4d18\">§</a></p>\n<p>Some code paths were capable of running for a long time without checking for interrupts.</p>", "text": "Ensure that contrib/pg_buffercache functions can be canceled (Satyanarayana Narlapuram, Yuhang Qiu) § Some code paths were capable of running for a long time without checking for interrupts.", "title": "Ensure that contrib/pg_buffercache functions can be canceled", "commits": ["eb9ee4d18"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "b18fb931b4e71414b29d703c73989298414702ef160845cd2dd105e880a4ffcc", "section_path": ["Changes"], "commit_groups": [["0beb7e933", "79643105a", "7d8d36289", "815fcfb20", "b6090ed96", "eab9e4e27", "eb9ee4d18"], ["71aa2e114", "8ae0f6a0c"]], "identity_text": "Ensure that contrib/pg_buffercache functions can be canceled (Satyanarayana Narlapuram, Yuhang Qiu) Some code paths were capable of running for a long time without checking for interrupts.", "commit_aliases": ["0beb7e933", "71aa2e114", "79643105a", "7d8d36289", "815fcfb20", "8ae0f6a0c", "b6090ed96", "eab9e4e27", "eb9ee4d18"], "source_commits": ["8ae0f6a0c", "eb9ee4d18"], "source_entry_id": "15.15/changes/049", "db_id": "79d155685a49b3acf32f431174e9c679", "patch_ids": ["d2b70a45c15a7f7e00e59b3284c07ad6", "f86d6a1c7709338528c20336c0252405"], "statement_hash": "344e018da37d95afbc286749fed1e20d7328753b9e73f81484fee0e1e4996dc5", "relations": [{"rule": 2, "type": "equivalent", "target": "23b0ca06794cbfef601b73e5a2401894", "evidence": {"same_day": true, "patch_ids": ["d2b70a45c15a7f7e00e59b3284c07ad6", "f86d6a1c7709338528c20336c0252405"], "statement_hash": "344e018da37d95afbc286749fed1e20d7328753b9e73f81484fee0e1e4996dc5"}}, {"rule": 2, "type": "equivalent", "target": "3caee2c365e58c61931cc0a6fb332c39", "evidence": {"same_day": true, "patch_ids": ["d2b70a45c15a7f7e00e59b3284c07ad6", "f86d6a1c7709338528c20336c0252405"], "statement_hash": "344e018da37d95afbc286749fed1e20d7328753b9e73f81484fee0e1e4996dc5"}}, {"rule": 2, "type": "equivalent", "target": "7400b4918533b966fb90032b2caf5c76", "evidence": {"same_day": true, "patch_ids": ["d2b70a45c15a7f7e00e59b3284c07ad6", "f86d6a1c7709338528c20336c0252405"], "statement_hash": "344e018da37d95afbc286749fed1e20d7328753b9e73f81484fee0e1e4996dc5"}}, {"rule": 2, "type": "equivalent", "target": "b091d219fb5bea6297016707e7154f0e", "evidence": {"same_day": true, "patch_ids": ["d2b70a45c15a7f7e00e59b3284c07ad6", "f86d6a1c7709338528c20336c0252405"], "statement_hash": "344e018da37d95afbc286749fed1e20d7328753b9e73f81484fee0e1e4996dc5"}}, {"rule": 2, "type": "equivalent", "target": "ee81b22deb19121826702e15ee5489ea", "evidence": {"same_day": true, "patch_ids": ["d2b70a45c15a7f7e00e59b3284c07ad6", "f86d6a1c7709338528c20336c0252405"], "statement_hash": "344e018da37d95afbc286749fed1e20d7328753b9e73f81484fee0e1e4996dc5"}}], "version": "15.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "23b0ca06794cbfef601b73e5a2401894", "kind": "equivalent", "version": "18.1", "label": "18.1", "title": "Ensure that contrib/pg_buffercache functions can be canceled", "evidence": {"same_day": true, "patch_ids": ["d2b70a45c15a7f7e00e59b3284c07ad6", "f86d6a1c7709338528c20336c0252405"], "statement_hash": "344e018da37d95afbc286749fed1e20d7328753b9e73f81484fee0e1e4996dc5"}, "url": "/docs/compare/?release=18.1#18.1-1f106ef831d50ecf", "source_url": "/docs/release/18.1/#RELEASE-18-1-CHANGES"}, {"db_id": "ee81b22deb19121826702e15ee5489ea", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Ensure that contrib/pg_buffercache functions can be canceled", "evidence": {"same_day": true, "patch_ids": ["d2b70a45c15a7f7e00e59b3284c07ad6", "f86d6a1c7709338528c20336c0252405"], "statement_hash": "344e018da37d95afbc286749fed1e20d7328753b9e73f81484fee0e1e4996dc5"}, "url": "/docs/compare/?release=17.7#17.7-f96cf4298c654962", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "3caee2c365e58c61931cc0a6fb332c39", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Ensure that contrib/pg_buffercache functions can be canceled", "evidence": {"same_day": true, "patch_ids": ["d2b70a45c15a7f7e00e59b3284c07ad6", "f86d6a1c7709338528c20336c0252405"], "statement_hash": "344e018da37d95afbc286749fed1e20d7328753b9e73f81484fee0e1e4996dc5"}, "url": "/docs/compare/?release=16.11#16.11-0c0a61c7bcef9fe6", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "7400b4918533b966fb90032b2caf5c76", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Ensure that contrib/pg_buffercache functions can be canceled", "evidence": {"same_day": true, "patch_ids": ["d2b70a45c15a7f7e00e59b3284c07ad6", "f86d6a1c7709338528c20336c0252405"], "statement_hash": "344e018da37d95afbc286749fed1e20d7328753b9e73f81484fee0e1e4996dc5"}, "url": "/docs/compare/?release=14.20#14.20-3713d982a4c25a06", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "b091d219fb5bea6297016707e7154f0e", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "Ensure that contrib/pg_buffercache functions can be canceled", "evidence": {"same_day": true, "patch_ids": ["d2b70a45c15a7f7e00e59b3284c07ad6", "f86d6a1c7709338528c20336c0252405"], "statement_hash": "344e018da37d95afbc286749fed1e20d7328753b9e73f81484fee0e1e4996dc5"}, "url": "/docs/compare/?release=13.23#13.23-2afa2a1778983a41", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}, {"id": "15.15-e8abdf46510773be", "cves": [], "html": "<p>Fix <code>contrib/pg_prewarm</code>'s privilege checks for indexes (Ayush Vatsa, Nathan Bossart) <a href=\"https://postgr.es/c/6c03ae8d6\">§</a></p>\n<p><code>pg_prewarm()</code> requires <code>SELECT</code> privilege on relations to be prewarmed. However, since indexes have no SQL privileges of their own, this resulted in non-superusers being unable to prewarm indexes. Instead, check for <code>SELECT</code> privilege on the index's table.</p>", "text": "Fix contrib/pg_prewarm's privilege checks for indexes (Ayush Vatsa, Nathan Bossart) § pg_prewarm() requires SELECT privilege on relations to be prewarmed. However, since indexes have no SQL privileges of their own, this resulted in non-superusers being unable to prewarm indexes. Instead, check for SELECT privilege on the index's table.", "title": "Fix contrib/pg_prewarm's privilege checks for indexes", "commits": ["6c03ae8d6"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "53019997fd62d6f0f49dd9e8679f4bff2409ce778e6ee545ba3ef354fb9eaf57", "section_path": ["Changes"], "commit_groups": [["19a64f567", "208927e65", "3ccf8e9ac", "6c03ae8d6", "a0551bc57", "f146eb45c", "fae0ce5e3"], ["c26a8eaf6", "c29d32d27", "d4e8c37cc", "da44d71e7"]], "identity_text": "Fix contrib/pg_prewarm's privilege checks for indexes (Ayush Vatsa, Nathan Bossart) pg_prewarm() requires SELECT privilege on relations to be prewarmed. However, since indexes have no SQL privileges of their own, this resulted in non-superusers being unable to prewarm indexes. Instead, check for SELECT privilege on the index's table.", "commit_aliases": ["19a64f567", "208927e65", "3ccf8e9ac", "6c03ae8d6", "a0551bc57", "c26a8eaf6", "c29d32d27", "d4e8c37cc", "da44d71e7", "f146eb45c", "fae0ce5e3"], "source_commits": ["6c03ae8d6", "da44d71e7"], "source_entry_id": "15.15/changes/050", "db_id": "1d5915ef7928256380a928b89822c11e", "patch_ids": ["593f9867c4bc16279f7375b5d5b7bfbf", "8c7292bf48a3ed03b018b065e91c99c2"], "statement_hash": "63d7be72922345e05e8da847c09e4ceabcc0c7cc62752dd3d2faf59e861df9ef", "relations": [{"rule": 2, "type": "equivalent", "target": "2c079e365c3426a6ab1ebdaac4390c79", "evidence": {"same_day": true, "patch_ids": ["593f9867c4bc16279f7375b5d5b7bfbf", "8c7292bf48a3ed03b018b065e91c99c2"], "statement_hash": "63d7be72922345e05e8da847c09e4ceabcc0c7cc62752dd3d2faf59e861df9ef"}}, {"rule": 2, "type": "equivalent", "target": "31eace56fdb35b76792ceb947abcef9f", "evidence": {"same_day": true, "patch_ids": ["593f9867c4bc16279f7375b5d5b7bfbf", "8c7292bf48a3ed03b018b065e91c99c2"], "statement_hash": "63d7be72922345e05e8da847c09e4ceabcc0c7cc62752dd3d2faf59e861df9ef"}}, {"rule": 2, "type": "equivalent", "target": "3560cbeb90a220549c8020a4c4e51a43", "evidence": {"same_day": true, "patch_ids": ["593f9867c4bc16279f7375b5d5b7bfbf", "8c7292bf48a3ed03b018b065e91c99c2"], "statement_hash": "63d7be72922345e05e8da847c09e4ceabcc0c7cc62752dd3d2faf59e861df9ef"}}, {"rule": 2, "type": "equivalent", "target": "7129d623484df099235339952f193f4c", "evidence": {"same_day": true, "patch_ids": ["593f9867c4bc16279f7375b5d5b7bfbf", "8c7292bf48a3ed03b018b065e91c99c2"], "statement_hash": "63d7be72922345e05e8da847c09e4ceabcc0c7cc62752dd3d2faf59e861df9ef"}}, {"rule": 2, "type": "equivalent", "target": "a09e1c9f229a62cef60e445720a79b1c", "evidence": {"same_day": true, "patch_ids": ["593f9867c4bc16279f7375b5d5b7bfbf", "8c7292bf48a3ed03b018b065e91c99c2"], "statement_hash": "63d7be72922345e05e8da847c09e4ceabcc0c7cc62752dd3d2faf59e861df9ef"}}], "version": "15.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "7129d623484df099235339952f193f4c", "kind": "equivalent", "version": "18.1", "label": "18.1", "title": "Fix contrib/pg_prewarm's privilege checks for indexes", "evidence": {"same_day": true, "patch_ids": ["593f9867c4bc16279f7375b5d5b7bfbf", "8c7292bf48a3ed03b018b065e91c99c2"], "statement_hash": "63d7be72922345e05e8da847c09e4ceabcc0c7cc62752dd3d2faf59e861df9ef"}, "url": "/docs/compare/?release=18.1#18.1-f8e1ff87a5a4083e", "source_url": "/docs/release/18.1/#RELEASE-18-1-CHANGES"}, {"db_id": "2c079e365c3426a6ab1ebdaac4390c79", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Fix contrib/pg_prewarm's privilege checks for indexes", "evidence": {"same_day": true, "patch_ids": ["593f9867c4bc16279f7375b5d5b7bfbf", "8c7292bf48a3ed03b018b065e91c99c2"], "statement_hash": "63d7be72922345e05e8da847c09e4ceabcc0c7cc62752dd3d2faf59e861df9ef"}, "url": "/docs/compare/?release=17.7#17.7-56eb4d27523e9522", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "31eace56fdb35b76792ceb947abcef9f", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Fix contrib/pg_prewarm's privilege checks for indexes", "evidence": {"same_day": true, "patch_ids": ["593f9867c4bc16279f7375b5d5b7bfbf", "8c7292bf48a3ed03b018b065e91c99c2"], "statement_hash": "63d7be72922345e05e8da847c09e4ceabcc0c7cc62752dd3d2faf59e861df9ef"}, "url": "/docs/compare/?release=16.11#16.11-83183d1755d62a81", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "3560cbeb90a220549c8020a4c4e51a43", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Fix contrib/pg_prewarm's privilege checks for indexes", "evidence": {"same_day": true, "patch_ids": ["593f9867c4bc16279f7375b5d5b7bfbf", "8c7292bf48a3ed03b018b065e91c99c2"], "statement_hash": "63d7be72922345e05e8da847c09e4ceabcc0c7cc62752dd3d2faf59e861df9ef"}, "url": "/docs/compare/?release=14.20#14.20-3c05d58cb93e93c6", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "a09e1c9f229a62cef60e445720a79b1c", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "Fix contrib/pg_prewarm's privilege checks for indexes", "evidence": {"same_day": true, "patch_ids": ["593f9867c4bc16279f7375b5d5b7bfbf", "8c7292bf48a3ed03b018b065e91c99c2"], "statement_hash": "63d7be72922345e05e8da847c09e4ceabcc0c7cc62752dd3d2faf59e861df9ef"}, "url": "/docs/compare/?release=13.23#13.23-bb299578f9dad51d", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}, {"id": "15.15-dc5d3ccafec57b41", "cves": [], "html": "<p>Make <code>contrib/pgstattuple</code> more robust about empty or invalid index pages (Nitin Motiani) <a href=\"https://postgr.es/c/49b5f0b53\">§</a></p>\n<p>Count all-zero pages as free space, and ignore pages that are invalid according to a check of the page's special-space size. The code for btree indexes already counted all-zero pages as free, but the hash and gist code would error out, which has been found to be much less user-friendly. Similarly, make all three cases agree on ignoring corrupted pages rather than throwing errors.</p>", "text": "Make contrib/pgstattuple more robust about empty or invalid index pages (Nitin Motiani) § Count all-zero pages as free space, and ignore pages that are invalid according to a check of the page's special-space size. The code for btree indexes already counted all-zero pages as free, but the hash and gist code would error out, which has been found to be much less user-friendly. Similarly, make all three cases agree on ignoring corrupted pages rather than throwing errors.", "title": "Make contrib/pgstattuple more robust about empty or invalid index pages", "commits": ["49b5f0b53"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "e17b5c744beec38b280b7fc450286c0742e3404768340da8e1248f78a758f66b", "section_path": ["Changes"], "commit_groups": [["036decbba", "49b5f0b53", "684a745f5", "c0f9fe877", "c207bf473", "ee2dbcad0", "fc295beb7"]], "identity_text": "Make contrib/pgstattuple more robust about empty or invalid index pages (Nitin Motiani) Count all-zero pages as free space, and ignore pages that are invalid according to a check of the page's special-space size. The code for btree indexes already counted all-zero pages as free, but the hash and gist code would error out, which has been found to be much less user-friendly. Similarly, make all three cases agree on ignoring corrupted pages rather than throwing errors.", "commit_aliases": ["036decbba", "49b5f0b53", "684a745f5", "c0f9fe877", "c207bf473", "ee2dbcad0", "fc295beb7"], "source_commits": ["49b5f0b53"], "source_entry_id": "15.15/changes/051", "db_id": "e2d3ae73f7d42937b9fa7746740e86a5", "patch_ids": ["1ec2ccb4b684e5f57590aab9c7c2a444"], "statement_hash": "c02e1d95147e0120948e2eb5839f7964fb935bba934375858d2457ca4e09c98d", "relations": [{"rule": 2, "type": "equivalent", "target": "3be631a7028f49faa7a328c190d249c2", "evidence": {"same_day": true, "patch_ids": ["1ec2ccb4b684e5f57590aab9c7c2a444"], "statement_hash": "c02e1d95147e0120948e2eb5839f7964fb935bba934375858d2457ca4e09c98d"}}, {"rule": 2, "type": "equivalent", "target": "7cf5a3928b0125574395c382ed52c5b1", "evidence": {"same_day": true, "patch_ids": ["1ec2ccb4b684e5f57590aab9c7c2a444"], "statement_hash": "c02e1d95147e0120948e2eb5839f7964fb935bba934375858d2457ca4e09c98d"}}, {"rule": 2, "type": "equivalent", "target": "a6ec20ccdb529fbc57070c204bf73a7c", "evidence": {"same_day": true, "patch_ids": ["1ec2ccb4b684e5f57590aab9c7c2a444"], "statement_hash": "c02e1d95147e0120948e2eb5839f7964fb935bba934375858d2457ca4e09c98d"}}, {"rule": 2, "type": "equivalent", "target": "bd4e2931635023fef1578e6a6ef3185b", "evidence": {"same_day": true, "patch_ids": ["1ec2ccb4b684e5f57590aab9c7c2a444"], "statement_hash": "c02e1d95147e0120948e2eb5839f7964fb935bba934375858d2457ca4e09c98d"}}, {"rule": 2, "type": "equivalent", "target": "dbdca19037730dda97abc3c0ca87e248", "evidence": {"same_day": true, "patch_ids": ["1ec2ccb4b684e5f57590aab9c7c2a444"], "statement_hash": "c02e1d95147e0120948e2eb5839f7964fb935bba934375858d2457ca4e09c98d"}}], "version": "15.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "7cf5a3928b0125574395c382ed52c5b1", "kind": "equivalent", "version": "18.1", "label": "18.1", "title": "Make contrib/pgstattuple more robust about empty or invalid index pages", "evidence": {"same_day": true, "patch_ids": ["1ec2ccb4b684e5f57590aab9c7c2a444"], "statement_hash": "c02e1d95147e0120948e2eb5839f7964fb935bba934375858d2457ca4e09c98d"}, "url": "/docs/compare/?release=18.1#18.1-e14a404bd57c041c", "source_url": "/docs/release/18.1/#RELEASE-18-1-CHANGES"}, {"db_id": "3be631a7028f49faa7a328c190d249c2", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Make contrib/pgstattuple more robust about empty or invalid index pages", "evidence": {"same_day": true, "patch_ids": ["1ec2ccb4b684e5f57590aab9c7c2a444"], "statement_hash": "c02e1d95147e0120948e2eb5839f7964fb935bba934375858d2457ca4e09c98d"}, "url": "/docs/compare/?release=17.7#17.7-a0ddb7978278cea0", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "a6ec20ccdb529fbc57070c204bf73a7c", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Make contrib/pgstattuple more robust about empty or invalid index pages", "evidence": {"same_day": true, "patch_ids": ["1ec2ccb4b684e5f57590aab9c7c2a444"], "statement_hash": "c02e1d95147e0120948e2eb5839f7964fb935bba934375858d2457ca4e09c98d"}, "url": "/docs/compare/?release=16.11#16.11-4975417d9448e20f", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "dbdca19037730dda97abc3c0ca87e248", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Make contrib/pgstattuple more robust about empty or invalid index pages", "evidence": {"same_day": true, "patch_ids": ["1ec2ccb4b684e5f57590aab9c7c2a444"], "statement_hash": "c02e1d95147e0120948e2eb5839f7964fb935bba934375858d2457ca4e09c98d"}, "url": "/docs/compare/?release=14.20#14.20-c4d40eb2b10eae53", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "bd4e2931635023fef1578e6a6ef3185b", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "Make contrib/pgstattuple more robust about empty or invalid index pages", "evidence": {"same_day": true, "patch_ids": ["1ec2ccb4b684e5f57590aab9c7c2a444"], "statement_hash": "c02e1d95147e0120948e2eb5839f7964fb935bba934375858d2457ca4e09c98d"}, "url": "/docs/compare/?release=13.23#13.23-12ea4dfe533f710f", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}, {"id": "15.15-82d836f7de563b25", "cves": [], "html": "<p>Harden our read and write barrier macros to satisfy Clang (Thomas Munro) <a href=\"https://postgr.es/c/1c7cba4c5\">§</a></p>\n<p>We supposed that <code>__atomic_thread_fence()</code> is a sufficient barrier to prevent the C compiler from re-ordering memory accesses around it, but it appears that that's not true for Clang, allowing it to generate incorrect code for at least RISC-V, MIPS, and LoongArch machines. Add explicit compiler barriers to fix that.</p>", "text": "Harden our read and write barrier macros to satisfy Clang (Thomas Munro) § We supposed that __atomic_thread_fence() is a sufficient barrier to prevent the C compiler from re-ordering memory accesses around it, but it appears that that's not true for Clang, allowing it to generate incorrect code for at least RISC-V, MIPS, and LoongArch machines. Add explicit compiler barriers to fix that.", "title": "Harden our read and write barrier macros to satisfy Clang", "commits": ["1c7cba4c5"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "94b028e5602419ac8cf32a48e6cd20f0fbc0a3d00b613e5831e0e98369cddf1e", "section_path": ["Changes"], "commit_groups": [["03d9140cb", "1c7cba4c5", "2f76ffe5e", "77b5b2c6f", "c5d34f4a5", "d8ba910b0", "f8ccab0e9"]], "identity_text": "Harden our read and write barrier macros to satisfy Clang (Thomas Munro) We supposed that __atomic_thread_fence() is a sufficient barrier to prevent the C compiler from re-ordering memory accesses around it, but it appears that that's not true for Clang, allowing it to generate incorrect code for at least RISC-V, MIPS, and LoongArch machines. Add explicit compiler barriers to fix that.", "commit_aliases": ["03d9140cb", "1c7cba4c5", "2f76ffe5e", "77b5b2c6f", "c5d34f4a5", "d8ba910b0", "f8ccab0e9"], "source_commits": ["1c7cba4c5"], "source_entry_id": "15.15/changes/052", "db_id": "1fe492cfff8c21a99fc7f4ba788cd84a", "patch_ids": ["b4a97942a0ea85e91703f83ee712a3fd"], "statement_hash": "c12ad45ebeb9c503935945a282e17d8d51255745e7eb3b429b9a388f273c231f", "relations": [{"rule": 2, "type": "equivalent", "target": "0f40c60d2dbfd4f861d301a4bd773172", "evidence": {"same_day": true, "patch_ids": ["b4a97942a0ea85e91703f83ee712a3fd"], "statement_hash": "c12ad45ebeb9c503935945a282e17d8d51255745e7eb3b429b9a388f273c231f"}}, {"rule": 2, "type": "equivalent", "target": "9973d17e573aa27107b7da92a46de435", "evidence": {"same_day": true, "patch_ids": ["b4a97942a0ea85e91703f83ee712a3fd"], "statement_hash": "c12ad45ebeb9c503935945a282e17d8d51255745e7eb3b429b9a388f273c231f"}}, {"rule": 2, "type": "equivalent", "target": "b638f0acce8b684dfe425af564feddc5", "evidence": {"same_day": true, "patch_ids": ["b4a97942a0ea85e91703f83ee712a3fd"], "statement_hash": "c12ad45ebeb9c503935945a282e17d8d51255745e7eb3b429b9a388f273c231f"}}, {"rule": 2, "type": "equivalent", "target": "c4e42b13aa01ac375f66b2a5c94f5042", "evidence": {"same_day": true, "patch_ids": ["b4a97942a0ea85e91703f83ee712a3fd"], "statement_hash": "c12ad45ebeb9c503935945a282e17d8d51255745e7eb3b429b9a388f273c231f"}}, {"rule": 2, "type": "equivalent", "target": "e3b76d3ec7d1f519b67e8ae7478d0aaf", "evidence": {"same_day": true, "patch_ids": ["b4a97942a0ea85e91703f83ee712a3fd"], "statement_hash": "c12ad45ebeb9c503935945a282e17d8d51255745e7eb3b429b9a388f273c231f"}}], "version": "15.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "9973d17e573aa27107b7da92a46de435", "kind": "equivalent", "version": "18.1", "label": "18.1", "title": "Harden our read and write barrier macros to satisfy Clang", "evidence": {"same_day": true, "patch_ids": ["b4a97942a0ea85e91703f83ee712a3fd"], "statement_hash": "c12ad45ebeb9c503935945a282e17d8d51255745e7eb3b429b9a388f273c231f"}, "url": "/docs/compare/?release=18.1#18.1-01cf9fc9542209e8", "source_url": "/docs/release/18.1/#RELEASE-18-1-CHANGES"}, {"db_id": "e3b76d3ec7d1f519b67e8ae7478d0aaf", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Harden our read and write barrier macros to satisfy Clang", "evidence": {"same_day": true, "patch_ids": ["b4a97942a0ea85e91703f83ee712a3fd"], "statement_hash": "c12ad45ebeb9c503935945a282e17d8d51255745e7eb3b429b9a388f273c231f"}, "url": "/docs/compare/?release=17.7#17.7-a358469faddcaf65", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "b638f0acce8b684dfe425af564feddc5", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Harden our read and write barrier macros to satisfy Clang", "evidence": {"same_day": true, "patch_ids": ["b4a97942a0ea85e91703f83ee712a3fd"], "statement_hash": "c12ad45ebeb9c503935945a282e17d8d51255745e7eb3b429b9a388f273c231f"}, "url": "/docs/compare/?release=16.11#16.11-5eeead814be0846e", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "0f40c60d2dbfd4f861d301a4bd773172", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Harden our read and write barrier macros to satisfy Clang", "evidence": {"same_day": true, "patch_ids": ["b4a97942a0ea85e91703f83ee712a3fd"], "statement_hash": "c12ad45ebeb9c503935945a282e17d8d51255745e7eb3b429b9a388f273c231f"}, "url": "/docs/compare/?release=14.20#14.20-990f4af89a3a5329", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "c4e42b13aa01ac375f66b2a5c94f5042", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "Harden our read and write barrier macros to satisfy Clang", "evidence": {"same_day": true, "patch_ids": ["b4a97942a0ea85e91703f83ee712a3fd"], "statement_hash": "c12ad45ebeb9c503935945a282e17d8d51255745e7eb3b429b9a388f273c231f"}, "url": "/docs/compare/?release=13.23#13.23-389f6204c3092e7f", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}, {"id": "15.15-655605b314358213", "cves": [], "html": "<p>Fix building with LLVM version 21 and later (Holger Hoffstätte) <a href=\"https://postgr.es/c/72a24bebc\">§</a></p>", "text": "Fix building with LLVM version 21 and later (Holger Hoffstätte) §", "title": "Fix building with LLVM version 21 and later", "commits": ["72a24bebc"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "cf8ab35f98392287078619bb2d31ea6977803c2d6aa55220b88916543c48030f", "section_path": ["Changes"], "commit_groups": [["2670881af", "282d0bdee", "59d6e843e", "72a24bebc", "755f01ad7", "c11ac811a", "fbfc36e94"]], "identity_text": "Fix building with LLVM version 21 and later (Holger Hoffstätte)", "commit_aliases": ["2670881af", "282d0bdee", "59d6e843e", "72a24bebc", "755f01ad7", "c11ac811a", "fbfc36e94"], "source_commits": ["72a24bebc"], "source_entry_id": "15.15/changes/053", "db_id": "da5c567c128753d27a14a732c1480620", "patch_ids": ["63496bd581c70532b905b77339cefed9"], "statement_hash": "ecfa565a92ce16d10367034784e04bdc340da125574863a7c980e80e24ec746c", "relations": [{"rule": 2, "type": "equivalent", "target": "152565dd357e9e4fcba3b2d002b2b0c7", "evidence": {"same_day": true, "patch_ids": ["63496bd581c70532b905b77339cefed9"], "statement_hash": "ecfa565a92ce16d10367034784e04bdc340da125574863a7c980e80e24ec746c"}}, {"rule": 2, "type": "equivalent", "target": "24b4031db588e6778d74612aa49172b2", "evidence": {"same_day": true, "patch_ids": ["63496bd581c70532b905b77339cefed9"], "statement_hash": "ecfa565a92ce16d10367034784e04bdc340da125574863a7c980e80e24ec746c"}}, {"rule": 2, "type": "equivalent", "target": "aab0b53feda88c49c8d1c8ccdd1a6349", "evidence": {"same_day": true, "patch_ids": ["63496bd581c70532b905b77339cefed9"], "statement_hash": "ecfa565a92ce16d10367034784e04bdc340da125574863a7c980e80e24ec746c"}}, {"rule": 2, "type": "equivalent", "target": "fcb8805d652dd1509e939426bac8ece8", "evidence": {"same_day": true, "patch_ids": ["63496bd581c70532b905b77339cefed9"], "statement_hash": "ecfa565a92ce16d10367034784e04bdc340da125574863a7c980e80e24ec746c"}}], "version": "15.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "24b4031db588e6778d74612aa49172b2", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Fix building with LLVM version 21 and later", "evidence": {"same_day": true, "patch_ids": ["63496bd581c70532b905b77339cefed9"], "statement_hash": "ecfa565a92ce16d10367034784e04bdc340da125574863a7c980e80e24ec746c"}, "url": "/docs/compare/?release=17.7#17.7-b8ab60aa2bde35d9", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "aab0b53feda88c49c8d1c8ccdd1a6349", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Fix building with LLVM version 21 and later", "evidence": {"same_day": true, "patch_ids": ["63496bd581c70532b905b77339cefed9"], "statement_hash": "ecfa565a92ce16d10367034784e04bdc340da125574863a7c980e80e24ec746c"}, "url": "/docs/compare/?release=16.11#16.11-1c0eb680df6b12a9", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "fcb8805d652dd1509e939426bac8ece8", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Fix building with LLVM version 21 and later", "evidence": {"same_day": true, "patch_ids": ["63496bd581c70532b905b77339cefed9"], "statement_hash": "ecfa565a92ce16d10367034784e04bdc340da125574863a7c980e80e24ec746c"}, "url": "/docs/compare/?release=14.20#14.20-78426d970b4ba2fa", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "152565dd357e9e4fcba3b2d002b2b0c7", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "Fix building with LLVM version 21 and later", "evidence": {"same_day": true, "patch_ids": ["63496bd581c70532b905b77339cefed9"], "statement_hash": "ecfa565a92ce16d10367034784e04bdc340da125574863a7c980e80e24ec746c"}, "url": "/docs/compare/?release=13.23#13.23-b3c435bdb8475244", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}, {"id": "15.15-a6c2aa90b217412c", "cves": [], "html": "<p>Fix PGXS build infrastructure to support building NLS <code>po</code> files for extensions (Ryo Matsumura) <a href=\"https://postgr.es/c/33202cba8\">§</a></p>", "text": "Fix PGXS build infrastructure to support building NLS po files for extensions (Ryo Matsumura) §", "title": "Fix PGXS build infrastructure to support building NLS po files for extensions", "commits": ["33202cba8"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/15.15/#id-1.11.6.10.5", "source_hash": "045a01b4aca56ee575eb4454f33383d78c26c63e57ff9eb12ad7df50f3b39d72", "section_path": ["Changes"], "commit_groups": [["33202cba8", "56cd332f8", "6aa04a60c", "6ad9378c9", "a506b0c0a", "a8933194e", "f768f5a7d"]], "identity_text": "Fix PGXS build infrastructure to support building NLS po files for extensions (Ryo Matsumura)", "commit_aliases": ["33202cba8", "56cd332f8", "6aa04a60c", "6ad9378c9", "a506b0c0a", "a8933194e", "f768f5a7d"], "source_commits": ["33202cba8"], "source_entry_id": "15.15/changes/054", "db_id": "48d2bb2f625a9045a6c2a66786680255", "patch_ids": ["7ddf0a3958f313c5fa75ca694052c55e"], "statement_hash": "2ca0251a2ba28046a94807acfb884e8c62e152a0aff4d67baabf8f4a86329212", "relations": [{"rule": 2, "type": "equivalent", "target": "21f7ae374d258cb2db45f49e1739fb36", "evidence": {"same_day": true, "patch_ids": ["7ddf0a3958f313c5fa75ca694052c55e"], "statement_hash": "2ca0251a2ba28046a94807acfb884e8c62e152a0aff4d67baabf8f4a86329212"}}, {"rule": 2, "type": "equivalent", "target": "711c7248f36605616eeeb824bcc65676", "evidence": {"same_day": true, "patch_ids": ["7ddf0a3958f313c5fa75ca694052c55e"], "statement_hash": "2ca0251a2ba28046a94807acfb884e8c62e152a0aff4d67baabf8f4a86329212"}}, {"rule": 2, "type": "equivalent", "target": "7316bd641f6446319509fd69461d044f", "evidence": {"same_day": true, "patch_ids": ["7ddf0a3958f313c5fa75ca694052c55e"], "statement_hash": "2ca0251a2ba28046a94807acfb884e8c62e152a0aff4d67baabf8f4a86329212"}}, {"rule": 2, "type": "equivalent", "target": "af5e130f17b3c07e10f7f34dc42b2531", "evidence": {"same_day": true, "patch_ids": ["7ddf0a3958f313c5fa75ca694052c55e"], "statement_hash": "2ca0251a2ba28046a94807acfb884e8c62e152a0aff4d67baabf8f4a86329212"}}, {"rule": 2, "type": "equivalent", "target": "d67ac864844bc85b56699c92c83fc1da", "evidence": {"same_day": true, "patch_ids": ["7ddf0a3958f313c5fa75ca694052c55e"], "statement_hash": "2ca0251a2ba28046a94807acfb884e8c62e152a0aff4d67baabf8f4a86329212"}}], "version": "15.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "d67ac864844bc85b56699c92c83fc1da", "kind": "equivalent", "version": "18.1", "label": "18.1", "title": "Fix PGXS build infrastructure to support building NLS po files for extensions", "evidence": {"same_day": true, "patch_ids": ["7ddf0a3958f313c5fa75ca694052c55e"], "statement_hash": "2ca0251a2ba28046a94807acfb884e8c62e152a0aff4d67baabf8f4a86329212"}, "url": "/docs/compare/?release=18.1#18.1-dd957d885d3cf6e3", "source_url": "/docs/release/18.1/#RELEASE-18-1-CHANGES"}, {"db_id": "711c7248f36605616eeeb824bcc65676", "kind": "equivalent", "version": "17.7", "label": "17.7", "title": "Fix PGXS build infrastructure to support building NLS po files for extensions", "evidence": {"same_day": true, "patch_ids": ["7ddf0a3958f313c5fa75ca694052c55e"], "statement_hash": "2ca0251a2ba28046a94807acfb884e8c62e152a0aff4d67baabf8f4a86329212"}, "url": "/docs/compare/?release=17.7#17.7-5aeee6b10815f848", "source_url": "/docs/release/17.7/#RELEASE-17-7-CHANGES"}, {"db_id": "af5e130f17b3c07e10f7f34dc42b2531", "kind": "equivalent", "version": "16.11", "label": "16.11", "title": "Fix PGXS build infrastructure to support building NLS po files for extensions", "evidence": {"same_day": true, "patch_ids": ["7ddf0a3958f313c5fa75ca694052c55e"], "statement_hash": "2ca0251a2ba28046a94807acfb884e8c62e152a0aff4d67baabf8f4a86329212"}, "url": "/docs/compare/?release=16.11#16.11-d544a36b4bf61b26", "source_url": "/docs/release/16.11/#RELEASE-16-11-CHANGES"}, {"db_id": "7316bd641f6446319509fd69461d044f", "kind": "equivalent", "version": "14.20", "label": "14.20", "title": "Fix PGXS build infrastructure to support building NLS po files for extensions", "evidence": {"same_day": true, "patch_ids": ["7ddf0a3958f313c5fa75ca694052c55e"], "statement_hash": "2ca0251a2ba28046a94807acfb884e8c62e152a0aff4d67baabf8f4a86329212"}, "url": "/docs/compare/?release=14.20#14.20-19fa9799ea217624", "source_url": "/docs/release/14.20/#id-1.11.6.10.5"}, {"db_id": "21f7ae374d258cb2db45f49e1739fb36", "kind": "equivalent", "version": "13.23", "label": "13.23", "title": "Fix PGXS build infrastructure to support building NLS po files for extensions", "evidence": {"same_day": true, "patch_ids": ["7ddf0a3958f313c5fa75ca694052c55e"], "statement_hash": "2ca0251a2ba28046a94807acfb884e8c62e152a0aff4d67baabf8f4a86329212"}, "url": "/docs/compare/?release=13.23#13.23-84d4f2ceac81de22", "source_url": "/docs/release/13.23/#id-1.11.6.6.6"}]}]}], "stats": [{"key": "all", "label": "All changes", "count": 54}, {"key": "feature", "label": "Features", "count": 0}, {"key": "bugfix", "label": "Bug fixes", "count": 30}, {"key": "security", "label": "Security", "count": 2}, {"key": "performance", "label": "Performance", "count": 0}, {"key": "compatibility", "label": "Compatibility", "count": 0}, {"key": "improvement", "label": "Improvements", "count": 22}], "total": 54, "release_count": 1, "cross_major": false, "cve_count": 2, "cves": [{"id": "CVE-2025-12818", "url": "https://www.postgresql.org/support/security/CVE-2025-12818/", "fixed": {"13": "13.23", "14": "14.20", "15": "15.15", "16": "16.11", "17": "17.7", "18": "18.1"}, "score": 5.9, "title": "Avoid integer overflow in allocation-size calculations within libpq", "vector": "AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H", "cna_url": "https://cveawg.mitre.org/api/cve/CVE-2025-12818", "affected": {"13": "13", "14": "14", "15": "15", "16": "16", "17": "17", "18": "18"}, "component": "core server", "published": {"13": "2025-11-13", "14": "2025-11-13", "15": "2025-11-13", "16": "2025-11-13", "17": "2025-11-13", "18": "2025-11-13"}, "introduced": {}, "cvss_version": "3.0", "description_en": "Integer wraparound in multiple PostgreSQL libpq client library functions allows an application input provider or network peer to cause libpq to undersize an allocation and write out-of-bounds by hundreds of megabytes. This results in a segmentation fault for the application using libpq. Versions before PostgreSQL 18.1, 17.7, 16.11, 15.15, 14.20, and 13.23 are affected.", "affected_ranges": [{"from": "0", "until": "13.23"}, {"from": "14", "until": "14.20"}, {"from": "15", "until": "15.15"}, {"from": "16", "until": "16.11"}, {"from": "17", "until": "17.7"}, {"from": "18", "until": "18.1"}], "first_published": "2025-11-13", "fixed_version": "15.15"}, {"id": "CVE-2025-12817", "url": "https://www.postgresql.org/support/security/CVE-2025-12817/", "fixed": {"13": "13.23", "14": "14.20", "15": "15.15", "16": "16.11", "17": "17.7", "18": "18.1"}, "score": 3.1, "title": "Check for CREATE privileges on the schema in CREATE STATISTICS", "vector": "AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L", "cna_url": "https://cveawg.mitre.org/api/cve/CVE-2025-12817", "affected": {"13": "13", "14": "14", "15": "15", "16": "16", "17": "17", "18": "18"}, "component": "core server", "published": {"13": "2025-11-13", "14": "2025-11-13", "15": "2025-11-13", "16": "2025-11-13", "17": "2025-11-13", "18": "2025-11-13"}, "introduced": {}, "cvss_version": "3.0", "description_en": "Missing authorization in PostgreSQL CREATE STATISTICS command allows a table owner to achieve denial of service against other CREATE STATISTICS users by creating in any schema. A later CREATE STATISTICS for the same name, from a user having the CREATE privilege, would then fail. Versions before PostgreSQL 18.1, 17.7, 16.11, 15.15, 14.20, and 13.23 are affected.", "affected_ranges": [{"from": "0", "until": "13.23"}, {"from": "14", "until": "14.20"}, {"from": "15", "until": "15.15"}, {"from": "16", "until": "16.11"}, {"from": "17", "until": "17.7"}, {"from": "18", "until": "18.1"}], "first_published": "2025-11-13", "fixed_version": "15.15"}], "cve_available": true, "remaining_cves": [], "security_regressions": [], "warnings": [], "candidate_count": 54, "already_in_source_count": 0, "duplicate_count": 0, "excluded_count": 0, "exclusions": [], "source_as_of": "2026-09-26", "security_as_of": "2026-09-26"}