{"already_in_source_count":0,"candidate_count":53,"cross_major":false,"cve_available":true,"cve_count":2,"cves":[{"affected":{"13":"13","14":"14","15":"15","16":"16","17":"17","18":"18"},"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"}],"cna_url":"https://cveawg.mitre.org/api/cve/CVE-2025-12818","component":"core server","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.","first_published":"2025-11-13","fixed":{"13":"13.23","14":"14.20","15":"15.15","16":"16.11","17":"17.7","18":"18.1"},"fixed_version":"18.1","id":"CVE-2025-12818","introduced":{},"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"},"score":5.9,"title":"Avoid integer overflow in allocation-size calculations within libpq","url":"https://www.postgresql.org/support/security/CVE-2025-12818/","vector":"AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H"},{"affected":{"13":"13","14":"14","15":"15","16":"16","17":"17","18":"18"},"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"}],"cna_url":"https://cveawg.mitre.org/api/cve/CVE-2025-12817","component":"core server","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.","first_published":"2025-11-13","fixed":{"13":"13.23","14":"14.20","15":"15.15","16":"16.11","17":"17.7","18":"18.1"},"fixed_version":"18.1","id":"CVE-2025-12817","introduced":{},"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"},"score":3.1,"title":"Check for CREATE privileges on the schema in CREATE STATISTICS","url":"https://www.postgresql.org/support/security/CVE-2025-12817/","vector":"AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L"}],"duplicate_count":0,"excluded_count":0,"exclusions":[],"from_release":null,"groups":[{"age_days":364,"build":"18.1","changes_count":53,"compatibility_count":0,"content_hash":"37f4be50ffa6dd05ff6bba94d65415e84618983e53724f0712b560222d8f2990","date":"2025-11-13","date_text":"2025-11-13","doc_git":"","doc_loaded_at":"2026-09-25T02:22:44.760693","entries":[{"also_in":[],"category":"security","category_label":"Security","commit_aliases":["00eb646ea","2393d374a","5e4fcbe53","8a2530ebc","95cce5669","d20abb587","e2fb3dfa8"],"commit_groups":[["00eb646ea","2393d374a","5e4fcbe53","8a2530ebc","95cce5669","d20abb587","e2fb3dfa8"]],"commits":["00eb646ea"],"cves":["CVE-2025-12817"],"db_id":"0b1db4254a2e3444434b0ca4004ea84b","html":"\u003cp\u003eCheck for \u003ccode\u003eCREATE\u003c/code\u003e privileges on the schema in \u003ccode\u003eCREATE STATISTICS\u003c/code\u003e (Jelte Fennema-Nio) \u003ca href=\"https://postgr.es/c/00eb646ea\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis omission allowed table owners to create statistics in any schema, potentially leading to unexpected naming conflicts.\u003c/p\u003e\n\u003cp\u003eThe \u003cspan\u003ePostgreSQL\u003c/span\u003e Project thanks Jelte Fennema-Nio for reporting this problem. (CVE-2025-12817)\u003c/p\u003e","id":"18.1-45bd7bfaea1c1e6c","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)","part":"changes","patch_ids":["99e1ddd8be3f2e70a07b173bce56eec6"],"related_changes":[{"db_id":"6167ff71ba63659939df7295a1784bd5","evidence":{"patch_ids":["99e1ddd8be3f2e70a07b173bce56eec6"],"same_day":true,"statement_hash":"2fdab1083a50be24b1dca00ede9ffd5906a617c6df360497714a885f6ff9f704"},"kind":"equivalent","label":"17.7","source_url":"/docs/release/17.7/#RELEASE-17-7-CHANGES","title":"Check for CREATE privileges on the schema in CREATE STATISTICS","url":"/docs/compare/?release=17.7#17.7-36aab10e5138d3d1","version":"17.7"},{"db_id":"fc4febff3c2281775597453f96dfd148","evidence":{"patch_ids":["99e1ddd8be3f2e70a07b173bce56eec6"],"same_day":true,"statement_hash":"2fdab1083a50be24b1dca00ede9ffd5906a617c6df360497714a885f6ff9f704"},"kind":"equivalent","label":"16.11","source_url":"/docs/release/16.11/#RELEASE-16-11-CHANGES","title":"Check for CREATE privileges on the schema in CREATE STATISTICS","url":"/docs/compare/?release=16.11#16.11-de601249f8288957","version":"16.11"},{"db_id":"3aabd99e8b497ed573a9c3988472f89b","evidence":{"patch_ids":["99e1ddd8be3f2e70a07b173bce56eec6"],"same_day":true,"statement_hash":"2fdab1083a50be24b1dca00ede9ffd5906a617c6df360497714a885f6ff9f704"},"kind":"equivalent","label":"15.15","source_url":"/docs/release/15.15/#id-1.11.6.10.5","title":"Check for CREATE privileges on the schema in CREATE STATISTICS","url":"/docs/compare/?release=15.15#15.15-41d0e2da68ae7d2f","version":"15.15"},{"db_id":"7a542e168dfd911c88c2817105ab4eb1","evidence":{"patch_ids":["99e1ddd8be3f2e70a07b173bce56eec6"],"same_day":true,"statement_hash":"2fdab1083a50be24b1dca00ede9ffd5906a617c6df360497714a885f6ff9f704"},"kind":"equivalent","label":"14.20","source_url":"/docs/release/14.20/#id-1.11.6.10.5","title":"Check for CREATE privileges on the schema in CREATE STATISTICS","url":"/docs/compare/?release=14.20#14.20-1acfdd0cd4bbd28d","version":"14.20"},{"db_id":"5434410099d24e095f2f3662e9b084be","evidence":{"patch_ids":["99e1ddd8be3f2e70a07b173bce56eec6"],"same_day":true,"statement_hash":"2fdab1083a50be24b1dca00ede9ffd5906a617c6df360497714a885f6ff9f704"},"kind":"equivalent","label":"13.23","source_url":"/docs/release/13.23/#id-1.11.6.6.6","title":"Check for CREATE privileges on the schema in CREATE STATISTICS","url":"/docs/compare/?release=13.23#13.23-5bf870f01e021d82","version":"13.23"}],"relations":[{"evidence":{"patch_ids":["99e1ddd8be3f2e70a07b173bce56eec6"],"same_day":true,"statement_hash":"2fdab1083a50be24b1dca00ede9ffd5906a617c6df360497714a885f6ff9f704"},"rule":2,"target":"3aabd99e8b497ed573a9c3988472f89b","type":"equivalent"},{"evidence":{"patch_ids":["99e1ddd8be3f2e70a07b173bce56eec6"],"same_day":true,"statement_hash":"2fdab1083a50be24b1dca00ede9ffd5906a617c6df360497714a885f6ff9f704"},"rule":2,"target":"5434410099d24e095f2f3662e9b084be","type":"equivalent"},{"evidence":{"patch_ids":["99e1ddd8be3f2e70a07b173bce56eec6"],"same_day":true,"statement_hash":"2fdab1083a50be24b1dca00ede9ffd5906a617c6df360497714a885f6ff9f704"},"rule":2,"target":"6167ff71ba63659939df7295a1784bd5","type":"equivalent"},{"evidence":{"patch_ids":["99e1ddd8be3f2e70a07b173bce56eec6"],"same_day":true,"statement_hash":"2fdab1083a50be24b1dca00ede9ffd5906a617c6df360497714a885f6ff9f704"},"rule":2,"target":"7a542e168dfd911c88c2817105ab4eb1","type":"equivalent"},{"evidence":{"patch_ids":["99e1ddd8be3f2e70a07b173bce56eec6"],"same_day":true,"statement_hash":"2fdab1083a50be24b1dca00ede9ffd5906a617c6df360497714a885f6ff9f704"},"rule":2,"target":"fc4febff3c2281775597453f96dfd148","type":"equivalent"}],"section":"Changes","section_path":["Changes"],"source_commits":["00eb646ea"],"source_entry_id":"18.1/changes/001","source_hash":"7c9fc98fd26352f2c8df8d62ef124c4a11c97ac338af1e68ad9300d406affc69","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"2fdab1083a50be24b1dca00ede9ffd5906a617c6df360497714a885f6ff9f704","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","variants":[],"version":"18.1"},{"also_in":[],"category":"security","category_label":"Security","commit_aliases":["585fd9b3c","600086f47","7eb8fcad8","91421565f","96d2c7e96","d6f0c0d6d","f5999f018"],"commit_groups":[["585fd9b3c","600086f47","7eb8fcad8","91421565f","96d2c7e96","d6f0c0d6d","f5999f018"]],"commits":["7eb8fcad8"],"cves":["CVE-2025-12818"],"db_id":"c53264df3df1081cfca59daebb417ae4","html":"\u003cp\u003eAvoid integer overflow in allocation-size calculations within \u003cspan\u003elibpq\u003c/span\u003e (Jacob Champion) \u003ca href=\"https://postgr.es/c/7eb8fcad8\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eSeveral places in \u003cspan\u003elibpq\u003c/span\u003e 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.\u003c/p\u003e\n\u003cp\u003eThe \u003cspan\u003ePostgreSQL\u003c/span\u003e Project thanks Aleksey Solovev of Positive Technologies for reporting this problem. (CVE-2025-12818)\u003c/p\u003e","id":"18.1-3a4a5ae84a44ca49","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)","part":"changes","patch_ids":["16e4d7f7cb99380bcadbeb1a4c45eac4"],"related_changes":[{"db_id":"cf7417da3f5aaff52ed6398652b5cefb","evidence":{"patch_ids":["16e4d7f7cb99380bcadbeb1a4c45eac4"],"same_day":true,"statement_hash":"42e2acf7dbacc3d12e55dc8cc3dc23c6a2afed82c46ae3bf37cba022acdca1bb"},"kind":"equivalent","label":"17.7","source_url":"/docs/release/17.7/#RELEASE-17-7-CHANGES","title":"Avoid integer overflow in allocation-size calculations within libpq","url":"/docs/compare/?release=17.7#17.7-a326b8fad6479f02","version":"17.7"},{"db_id":"10c3ef25a629d41429d514190a9f5584","evidence":{"patch_ids":["16e4d7f7cb99380bcadbeb1a4c45eac4"],"same_day":true,"statement_hash":"42e2acf7dbacc3d12e55dc8cc3dc23c6a2afed82c46ae3bf37cba022acdca1bb"},"kind":"equivalent","label":"16.11","source_url":"/docs/release/16.11/#RELEASE-16-11-CHANGES","title":"Avoid integer overflow in allocation-size calculations within libpq","url":"/docs/compare/?release=16.11#16.11-c5f87912ec601f66","version":"16.11"},{"db_id":"601fa44b8aa3f725f41f2320ba9cf51b","evidence":{"patch_ids":["16e4d7f7cb99380bcadbeb1a4c45eac4"],"same_day":true,"statement_hash":"42e2acf7dbacc3d12e55dc8cc3dc23c6a2afed82c46ae3bf37cba022acdca1bb"},"kind":"equivalent","label":"15.15","source_url":"/docs/release/15.15/#id-1.11.6.10.5","title":"Avoid integer overflow in allocation-size calculations within libpq","url":"/docs/compare/?release=15.15#15.15-3568c624ba81b610","version":"15.15"},{"db_id":"1f91b721b071de697f740c95cd556a9e","evidence":{"patch_ids":["16e4d7f7cb99380bcadbeb1a4c45eac4"],"same_day":true,"statement_hash":"42e2acf7dbacc3d12e55dc8cc3dc23c6a2afed82c46ae3bf37cba022acdca1bb"},"kind":"equivalent","label":"14.20","source_url":"/docs/release/14.20/#id-1.11.6.10.5","title":"Avoid integer overflow in allocation-size calculations within libpq","url":"/docs/compare/?release=14.20#14.20-e2a95ddb7200c878","version":"14.20"},{"db_id":"9b1eafd982ad52573adf6f2d6ae70703","evidence":{"patch_ids":["16e4d7f7cb99380bcadbeb1a4c45eac4"],"same_day":true,"statement_hash":"42e2acf7dbacc3d12e55dc8cc3dc23c6a2afed82c46ae3bf37cba022acdca1bb"},"kind":"equivalent","label":"13.23","source_url":"/docs/release/13.23/#id-1.11.6.6.6","title":"Avoid integer overflow in allocation-size calculations within libpq","url":"/docs/compare/?release=13.23#13.23-d6bd7a2c0c48c3ad","version":"13.23"}],"relations":[{"evidence":{"patch_ids":["16e4d7f7cb99380bcadbeb1a4c45eac4"],"same_day":true,"statement_hash":"42e2acf7dbacc3d12e55dc8cc3dc23c6a2afed82c46ae3bf37cba022acdca1bb"},"rule":2,"target":"10c3ef25a629d41429d514190a9f5584","type":"equivalent"},{"evidence":{"patch_ids":["16e4d7f7cb99380bcadbeb1a4c45eac4"],"same_day":true,"statement_hash":"42e2acf7dbacc3d12e55dc8cc3dc23c6a2afed82c46ae3bf37cba022acdca1bb"},"rule":2,"target":"1f91b721b071de697f740c95cd556a9e","type":"equivalent"},{"evidence":{"patch_ids":["16e4d7f7cb99380bcadbeb1a4c45eac4"],"same_day":true,"statement_hash":"42e2acf7dbacc3d12e55dc8cc3dc23c6a2afed82c46ae3bf37cba022acdca1bb"},"rule":2,"target":"601fa44b8aa3f725f41f2320ba9cf51b","type":"equivalent"},{"evidence":{"patch_ids":["16e4d7f7cb99380bcadbeb1a4c45eac4"],"same_day":true,"statement_hash":"42e2acf7dbacc3d12e55dc8cc3dc23c6a2afed82c46ae3bf37cba022acdca1bb"},"rule":2,"target":"9b1eafd982ad52573adf6f2d6ae70703","type":"equivalent"},{"evidence":{"patch_ids":["16e4d7f7cb99380bcadbeb1a4c45eac4"],"same_day":true,"statement_hash":"42e2acf7dbacc3d12e55dc8cc3dc23c6a2afed82c46ae3bf37cba022acdca1bb"},"rule":2,"target":"cf7417da3f5aaff52ed6398652b5cefb","type":"equivalent"}],"section":"Changes","section_path":["Changes"],"source_commits":["7eb8fcad8"],"source_entry_id":"18.1/changes/002","source_hash":"b45871c637865cee86198fd246cd8aabd5edf5df7efc227adeb36544fb4819da","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"42e2acf7dbacc3d12e55dc8cc3dc23c6a2afed82c46ae3bf37cba022acdca1bb","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","variants":[],"version":"18.1"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["09f86a42f","1baae827e","1e6dfdaa0","c09a06918","dc9125111","ef5e60a9d"],"commit_groups":[["09f86a42f","dc9125111","ef5e60a9d"],["1baae827e","1e6dfdaa0","c09a06918"]],"commits":["1baae827e","dc9125111"],"cves":[],"db_id":"4870df49130804d64e1e92d7f9d6f17f","html":"\u003cp\u003ePrevent \u003cspan\u003e“\u003cspan\u003eunrecognized node type\u003c/span\u003e”\u003c/span\u003e errors when a SQL/JSON function such as \u003ccode\u003eJSON_VALUE\u003c/code\u003e has a \u003ccode\u003eDEFAULT\u003c/code\u003e clause containing a \u003ccode\u003eCOLLATE\u003c/code\u003e expression (Jian He) \u003ca href=\"https://postgr.es/c/dc9125111\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/1baae827e\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"18.1-b921a1ea6f2b8ead","identity_text":"Prevent unrecognized node type errors when a SQL/JSON function such as JSON_VALUE has a DEFAULT clause containing a COLLATE expression (Jian He)","part":"changes","patch_ids":["9aacced6a6f638f7d31013e87be76fac","b716f15276c076fd364e99593404fc28"],"related_changes":[{"db_id":"3387a44cfd06079d33247002758176c2","evidence":{"patch_ids":["9aacced6a6f638f7d31013e87be76fac","b716f15276c076fd364e99593404fc28"],"same_day":true,"statement_hash":"3181f0e422077fb0af80285571b22222a84421d45cb3710f3ce56bbe5fc3852c"},"kind":"equivalent","label":"17.7","source_url":"/docs/release/17.7/#RELEASE-17-7-CHANGES","title":"Prevent “unrecognized node type” errors when a SQL/JSON function such as JSON_VALUE has a DEFAULT clause containing a COLLATE expression","url":"/docs/compare/?release=17.7#17.7-7345a25f928001c5","version":"17.7"}],"relations":[{"evidence":{"patch_ids":["9aacced6a6f638f7d31013e87be76fac","b716f15276c076fd364e99593404fc28"],"same_day":true,"statement_hash":"3181f0e422077fb0af80285571b22222a84421d45cb3710f3ce56bbe5fc3852c"},"rule":2,"target":"3387a44cfd06079d33247002758176c2","type":"equivalent"}],"section":"Changes","section_path":["Changes"],"source_commits":["1baae827e","dc9125111"],"source_entry_id":"18.1/changes/003","source_hash":"b8839fac421b0ed413869d4e000cad7d9a3ccfe9b3c3a11d9fafca5e41e7e8f0","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"3181f0e422077fb0af80285571b22222a84421d45cb3710f3ce56bbe5fc3852c","text":"Prevent “unrecognized node type” errors when a SQL/JSON function such as JSON_VALUE has a DEFAULT clause containing a COLLATE expression (Jian He) § §","title":"Prevent “unrecognized node type” errors when a SQL/JSON function such as JSON_VALUE has a DEFAULT clause containing a COLLATE expression","variants":[],"version":"18.1"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["18d261409","40c242830","ee49f2cf4"],"commit_groups":[["18d261409","40c242830"],["ee49f2cf4"]],"commits":["40c242830","ee49f2cf4"],"cves":[],"db_id":"64d7741972b458081894d24da0374395","html":"\u003cp\u003eAvoid incorrect optimization of variable-free \u003ccode\u003eHAVING\u003c/code\u003e clauses with grouping sets (Richard Guo) \u003ca href=\"https://postgr.es/c/40c242830\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/ee49f2cf4\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"18.1-3c477bf7c9a2885e","identity_text":"Avoid incorrect optimization of variable-free HAVING clauses with grouping sets (Richard Guo)","part":"changes","patch_ids":["2c0ae04ea0e784fc2d17c8ab38e5cd41","50b322963c6b58d35aea2955fcfea34f"],"related_changes":[],"relations":[],"section":"Changes","section_path":["Changes"],"source_commits":["40c242830","ee49f2cf4"],"source_entry_id":"18.1/changes/004","source_hash":"ad359f03b7b74d8a0a552d70b1b2cf5e247a06f8ad1e5b8356baf8e55e4d2baf","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"40b106b47db0974b5bea1bdc63c90189e253c1958fd7ff025f370ad6794518ba","text":"Avoid incorrect optimization of variable-free HAVING clauses with grouping sets (Richard Guo) § §","title":"Avoid incorrect optimization of variable-free HAVING clauses with grouping sets","variants":[],"version":"18.1"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["257ee7834","ef6168baf"],"commit_groups":[["257ee7834","ef6168baf"]],"commits":["ef6168baf"],"cves":[],"db_id":"ed09728e7057ba0bd58174091cf36572","html":"\u003cp\u003eDo not use parallelism in hash right semi joins (Richard Guo) \u003ca href=\"https://postgr.es/c/ef6168baf\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThe case does not work reliably due to a race condition in updating the join's shared hash table.\u003c/p\u003e","id":"18.1-dbb02ab568ba9c9d","identity_text":"Do not use parallelism in hash right semi joins (Richard Guo) The case does not work reliably due to a race condition in updating the join's shared hash table.","part":"changes","patch_ids":["f3845afa0fdccbe6d8cbb30c204eadc5"],"related_changes":[],"relations":[],"section":"Changes","section_path":["Changes"],"source_commits":["ef6168baf"],"source_entry_id":"18.1/changes/005","source_hash":"39312baafff0331dc6e11307f7638efa4a10bda18328fc33401949b670dd2c7a","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"3f17b0b718491fbba177f4509a3ce7371c9be8208074eb0f788005239524f671","text":"Do not use parallelism in hash right semi joins (Richard Guo) § The case does not work reliably due to a race condition in updating the join's shared hash table.","title":"Do not use parallelism in hash right semi joins","variants":[],"version":"18.1"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["500f64636","c1777f2d6"],"commit_groups":[["500f64636","c1777f2d6"]],"commits":["500f64636"],"cves":[],"db_id":"805d87830e137872aeddda00e5eb47fa","html":"\u003cp\u003eAvoid possible division-by-zero when creating ordered-append plans (Richard Guo) \u003ca href=\"https://postgr.es/c/500f64636\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis mistake could result in incorrect selection of the cheapest path, or in an assertion failure in debug builds.\u003c/p\u003e","id":"18.1-5ec2ebf5e9d409d9","identity_text":"Avoid possible division-by-zero when creating ordered-append plans (Richard Guo) This mistake could result in incorrect selection of the cheapest path, or in an assertion failure in debug builds.","part":"changes","patch_ids":["9414b4063f9e09aec7dbfc033ff0d56c"],"related_changes":[],"relations":[],"section":"Changes","section_path":["Changes"],"source_commits":["500f64636"],"source_entry_id":"18.1/changes/006","source_hash":"05094dbe1a52e137262c79803f4a98e69d7150808221f3286b1687f51db2a39b","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"9ab1c92995e5dc19b2f8430a87e9fe9e0f7b8dac32500b13b471acc4c3e4632a","text":"Avoid possible division-by-zero when creating ordered-append plans (Richard Guo) § This mistake could result in incorrect selection of the cheapest path, or in an assertion failure in debug builds.","title":"Avoid possible division-by-zero when creating ordered-append plans","variants":[],"version":"18.1"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["35e53b684","74197bdc8"],"commit_groups":[["35e53b684","74197bdc8"]],"commits":["74197bdc8"],"cves":[],"db_id":"48e2cdd93edf3d7841847a6e50d6cef2","html":"\u003cp\u003eFix planner failure with index types that can do ordered access but not index-only scans (Maxime Schoemans) \u003ca href=\"https://postgr.es/c/74197bdc8\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis oversight resulted in errors like \u003cspan\u003e“\u003cspan\u003eno data returned for index-only scan\u003c/span\u003e”\u003c/span\u003e. The case does not arise with any in-core index type, but some extensions encountered the problem.\u003c/p\u003e","id":"18.1-c0b31ef03ca6b8d1","identity_text":"Fix planner failure with index types that can do ordered access but not index-only scans (Maxime Schoemans) This oversight resulted in errors like no data returned for index-only scan. The case does not arise with any in-core index type, but some extensions encountered the problem.","part":"changes","patch_ids":["cccb634623d2b8f1ee8f5067fca472e2"],"related_changes":[],"relations":[],"section":"Changes","section_path":["Changes"],"source_commits":["74197bdc8"],"source_entry_id":"18.1/changes/007","source_hash":"57874e5db38d38966d2b710cf21e5580b67abd8ab00c1e2cd67449f3d5a529a0","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"24cae600a957284e060515856c041bc697d4b1ccf9e6f631f35d5bdbade1bc28","text":"Fix planner failure with index types that can do ordered access but not index-only scans (Maxime Schoemans) § This oversight resulted in errors like “no data returned for index-only scan”. The case does not arise with any in-core index type, but some extensions encountered the problem.","title":"Fix planner failure with index types that can do ordered access but not index-only scans","variants":[],"version":"18.1"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["314004021","61de81a49","843e50208","ae15cebc2","af302ff6b","c160fd469","ca0c93908"],"commit_groups":[["314004021","61de81a49","843e50208","ae15cebc2","af302ff6b","c160fd469","ca0c93908"]],"commits":["61de81a49"],"cves":[],"db_id":"1a0e9b151c18103e9e44e0d5b065435e","html":"\u003cp\u003eRemove faulty assertion in btree index cleanup (Peter Geoghegan) \u003ca href=\"https://postgr.es/c/61de81a49\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"18.1-b879ef73b7e33cee","identity_text":"Remove faulty assertion in btree index cleanup (Peter Geoghegan)","part":"changes","patch_ids":["37c608f60096a634457e03ef403861d6"],"related_changes":[{"db_id":"488141078c6f2db091ee11544337a811","evidence":{"patch_ids":["37c608f60096a634457e03ef403861d6"],"same_day":true,"statement_hash":"10a7d45ffeb0f11200d10e8732198f5dd91b4ea27bc91850c29a64cd2e8239a1"},"kind":"equivalent","label":"17.7","source_url":"/docs/release/17.7/#RELEASE-17-7-CHANGES","title":"Remove faulty assertion in btree index cleanup","url":"/docs/compare/?release=17.7#17.7-0a5a861bce4d8e04","version":"17.7"},{"db_id":"3933929e20ae66e9831bcbabb992d203","evidence":{"patch_ids":["37c608f60096a634457e03ef403861d6"],"same_day":true,"statement_hash":"10a7d45ffeb0f11200d10e8732198f5dd91b4ea27bc91850c29a64cd2e8239a1"},"kind":"equivalent","label":"16.11","source_url":"/docs/release/16.11/#RELEASE-16-11-CHANGES","title":"Remove faulty assertion in btree index cleanup","url":"/docs/compare/?release=16.11#16.11-d9b1b3d193f8b619","version":"16.11"},{"db_id":"0a57a548c4b77cd7d910727d3c65b3a6","evidence":{"patch_ids":["37c608f60096a634457e03ef403861d6"],"same_day":true,"statement_hash":"10a7d45ffeb0f11200d10e8732198f5dd91b4ea27bc91850c29a64cd2e8239a1"},"kind":"equivalent","label":"15.15","source_url":"/docs/release/15.15/#id-1.11.6.10.5","title":"Remove faulty assertion in btree index cleanup","url":"/docs/compare/?release=15.15#15.15-a04a5bb82b43a3d4","version":"15.15"},{"db_id":"9e457bb041db2cbeaeaf7995dafca323","evidence":{"patch_ids":["37c608f60096a634457e03ef403861d6"],"same_day":true,"statement_hash":"10a7d45ffeb0f11200d10e8732198f5dd91b4ea27bc91850c29a64cd2e8239a1"},"kind":"equivalent","label":"14.20","source_url":"/docs/release/14.20/#id-1.11.6.10.5","title":"Remove faulty assertion in btree index cleanup","url":"/docs/compare/?release=14.20#14.20-5e29cf4287b439af","version":"14.20"},{"db_id":"444038cce9bb99031a082f8098e1be72","evidence":{"patch_ids":["37c608f60096a634457e03ef403861d6"],"same_day":true,"statement_hash":"10a7d45ffeb0f11200d10e8732198f5dd91b4ea27bc91850c29a64cd2e8239a1"},"kind":"equivalent","label":"13.23","source_url":"/docs/release/13.23/#id-1.11.6.6.6","title":"Remove faulty assertion in btree index cleanup","url":"/docs/compare/?release=13.23#13.23-14a74180f99d2672","version":"13.23"}],"relations":[{"evidence":{"patch_ids":["37c608f60096a634457e03ef403861d6"],"same_day":true,"statement_hash":"10a7d45ffeb0f11200d10e8732198f5dd91b4ea27bc91850c29a64cd2e8239a1"},"rule":2,"target":"0a57a548c4b77cd7d910727d3c65b3a6","type":"equivalent"},{"evidence":{"patch_ids":["37c608f60096a634457e03ef403861d6"],"same_day":true,"statement_hash":"10a7d45ffeb0f11200d10e8732198f5dd91b4ea27bc91850c29a64cd2e8239a1"},"rule":2,"target":"3933929e20ae66e9831bcbabb992d203","type":"equivalent"},{"evidence":{"patch_ids":["37c608f60096a634457e03ef403861d6"],"same_day":true,"statement_hash":"10a7d45ffeb0f11200d10e8732198f5dd91b4ea27bc91850c29a64cd2e8239a1"},"rule":2,"target":"444038cce9bb99031a082f8098e1be72","type":"equivalent"},{"evidence":{"patch_ids":["37c608f60096a634457e03ef403861d6"],"same_day":true,"statement_hash":"10a7d45ffeb0f11200d10e8732198f5dd91b4ea27bc91850c29a64cd2e8239a1"},"rule":2,"target":"488141078c6f2db091ee11544337a811","type":"equivalent"},{"evidence":{"patch_ids":["37c608f60096a634457e03ef403861d6"],"same_day":true,"statement_hash":"10a7d45ffeb0f11200d10e8732198f5dd91b4ea27bc91850c29a64cd2e8239a1"},"rule":2,"target":"9e457bb041db2cbeaeaf7995dafca323","type":"equivalent"}],"section":"Changes","section_path":["Changes"],"source_commits":["61de81a49"],"source_entry_id":"18.1/changes/008","source_hash":"59bedcdf0405a0fdb81cbd2d57d7e60036379d06f239428467ffd59ad5ee4756","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"10a7d45ffeb0f11200d10e8732198f5dd91b4ea27bc91850c29a64cd2e8239a1","text":"Remove faulty assertion in btree index cleanup (Peter Geoghegan) §","title":"Remove faulty assertion in btree index cleanup","variants":[],"version":"18.1"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["a26b753a0","c98dffcb7"],"commit_groups":[["a26b753a0","c98dffcb7"]],"commits":["a26b753a0"],"cves":[],"db_id":"e3a6863618f309db1f698b4f2fcc8973","html":"\u003cp\u003eAvoid possible out-of-memory or \u003cspan\u003e“\u003cspan\u003einvalid memory alloc request size\u003c/span\u003e”\u003c/span\u003e failures during parallel GIN index build (Tomas Vondra) \u003ca href=\"https://postgr.es/c/a26b753a0\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"18.1-37c61345d3eacb08","identity_text":"Avoid possible out-of-memory or invalid memory alloc request size failures during parallel GIN index build (Tomas Vondra)","part":"changes","patch_ids":["2cfdabaf231689f023ac206f2d6e0d32"],"related_changes":[],"relations":[],"section":"Changes","section_path":["Changes"],"source_commits":["a26b753a0"],"source_entry_id":"18.1/changes/009","source_hash":"fb8079b2782c06b6778225c99b5fd0371cff81d513d4d0cff5381c5dacf27249","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"5743d4aa1ec81c0d062d02b160bfecf8805fd2e5abb8be2006065e2655b7797e","text":"Avoid possible out-of-memory or “invalid memory alloc request size” failures during parallel GIN index build (Tomas Vondra) §","title":"Avoid possible out-of-memory or “invalid memory alloc request size” failures during parallel GIN index build","variants":[],"version":"18.1"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["0a3d27bfe","20442cf50","23ddadf68","3b5007347","3c7b47974","419ffde23","65b0d1f74","6ef33c805","8733f0b54","a95e3d84c","bcfbd3f74","ef81697fe","f0ad41716","f4b68b033"],"commit_groups":[["0a3d27bfe","20442cf50","3b5007347","65b0d1f74","8733f0b54","bcfbd3f74","ef81697fe"],["23ddadf68","3c7b47974","419ffde23","6ef33c805","a95e3d84c","f0ad41716","f4b68b033"]],"commits":["419ffde23","8733f0b54"],"cves":[],"db_id":"5e3ad415c950ddc874e527c528e4312f","html":"\u003cp\u003eEnsure that BRIN autosummarization provides a snapshot for index expressions that need one (Álvaro Herrera) \u003ca href=\"https://postgr.es/c/419ffde23\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/8733f0b54\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePreviously, autosummarization would fail for such indexes, and then leave placeholder index tuples behind, causing the index to bloat over time.\u003c/p\u003e","id":"18.1-a00fe3bcec296ab2","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.","part":"changes","patch_ids":["31ad60583179a46f035e6ca49acb5df0","3fdff7630c20c4073bba1b6676191274"],"related_changes":[{"db_id":"721aeb1deeff7de3e90db706f730ab11","evidence":{"patch_ids":["31ad60583179a46f035e6ca49acb5df0","3fdff7630c20c4073bba1b6676191274"],"same_day":true,"statement_hash":"62e341cf9b11ac9a64fec02e85a546e8c1574a3998b12b548653d69ab6270585"},"kind":"equivalent","label":"17.7","source_url":"/docs/release/17.7/#RELEASE-17-7-CHANGES","title":"Ensure that BRIN autosummarization provides a snapshot for index expressions that need one","url":"/docs/compare/?release=17.7#17.7-a8f10736234e0b39","version":"17.7"},{"db_id":"3e8741d3d489044f4c55886a02fd1ca6","evidence":{"patch_ids":["31ad60583179a46f035e6ca49acb5df0","3fdff7630c20c4073bba1b6676191274"],"same_day":true,"statement_hash":"62e341cf9b11ac9a64fec02e85a546e8c1574a3998b12b548653d69ab6270585"},"kind":"equivalent","label":"16.11","source_url":"/docs/release/16.11/#RELEASE-16-11-CHANGES","title":"Ensure that BRIN autosummarization provides a snapshot for index expressions that need one","url":"/docs/compare/?release=16.11#16.11-fa68b622cb30fa75","version":"16.11"},{"db_id":"0dd09cb0d2d5f7d388110d5f734dee23","evidence":{"patch_ids":["31ad60583179a46f035e6ca49acb5df0","3fdff7630c20c4073bba1b6676191274"],"same_day":true,"statement_hash":"62e341cf9b11ac9a64fec02e85a546e8c1574a3998b12b548653d69ab6270585"},"kind":"equivalent","label":"15.15","source_url":"/docs/release/15.15/#id-1.11.6.10.5","title":"Ensure that BRIN autosummarization provides a snapshot for index expressions that need one","url":"/docs/compare/?release=15.15#15.15-fd7c1849f8c37f75","version":"15.15"},{"db_id":"7f0361a52a096ffc5b14904781aeb0bc","evidence":{"patch_ids":["31ad60583179a46f035e6ca49acb5df0","3fdff7630c20c4073bba1b6676191274"],"same_day":true,"statement_hash":"62e341cf9b11ac9a64fec02e85a546e8c1574a3998b12b548653d69ab6270585"},"kind":"equivalent","label":"14.20","source_url":"/docs/release/14.20/#id-1.11.6.10.5","title":"Ensure that BRIN autosummarization provides a snapshot for index expressions that need one","url":"/docs/compare/?release=14.20#14.20-1c3a5c9cbab5b1ac","version":"14.20"},{"db_id":"0cb94d7b769fa6011ab24dd8d4a5182f","evidence":{"patch_ids":["31ad60583179a46f035e6ca49acb5df0","3fdff7630c20c4073bba1b6676191274"],"same_day":true,"statement_hash":"62e341cf9b11ac9a64fec02e85a546e8c1574a3998b12b548653d69ab6270585"},"kind":"equivalent","label":"13.23","source_url":"/docs/release/13.23/#id-1.11.6.6.6","title":"Ensure that BRIN autosummarization provides a snapshot for index expressions that need one","url":"/docs/compare/?release=13.23#13.23-de4921e0152423d8","version":"13.23"}],"relations":[{"evidence":{"patch_ids":["31ad60583179a46f035e6ca49acb5df0","3fdff7630c20c4073bba1b6676191274"],"same_day":true,"statement_hash":"62e341cf9b11ac9a64fec02e85a546e8c1574a3998b12b548653d69ab6270585"},"rule":2,"target":"0cb94d7b769fa6011ab24dd8d4a5182f","type":"equivalent"},{"evidence":{"patch_ids":["31ad60583179a46f035e6ca49acb5df0","3fdff7630c20c4073bba1b6676191274"],"same_day":true,"statement_hash":"62e341cf9b11ac9a64fec02e85a546e8c1574a3998b12b548653d69ab6270585"},"rule":2,"target":"0dd09cb0d2d5f7d388110d5f734dee23","type":"equivalent"},{"evidence":{"patch_ids":["31ad60583179a46f035e6ca49acb5df0","3fdff7630c20c4073bba1b6676191274"],"same_day":true,"statement_hash":"62e341cf9b11ac9a64fec02e85a546e8c1574a3998b12b548653d69ab6270585"},"rule":2,"target":"3e8741d3d489044f4c55886a02fd1ca6","type":"equivalent"},{"evidence":{"patch_ids":["31ad60583179a46f035e6ca49acb5df0","3fdff7630c20c4073bba1b6676191274"],"same_day":true,"statement_hash":"62e341cf9b11ac9a64fec02e85a546e8c1574a3998b12b548653d69ab6270585"},"rule":2,"target":"721aeb1deeff7de3e90db706f730ab11","type":"equivalent"},{"evidence":{"patch_ids":["31ad60583179a46f035e6ca49acb5df0","3fdff7630c20c4073bba1b6676191274"],"same_day":true,"statement_hash":"62e341cf9b11ac9a64fec02e85a546e8c1574a3998b12b548653d69ab6270585"},"rule":2,"target":"7f0361a52a096ffc5b14904781aeb0bc","type":"equivalent"}],"section":"Changes","section_path":["Changes"],"source_commits":["419ffde23","8733f0b54"],"source_entry_id":"18.1/changes/010","source_hash":"72084de464215059c3d1b5ad06a481c8d136be1b10eac24c155283ac177e3095","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"62e341cf9b11ac9a64fec02e85a546e8c1574a3998b12b548653d69ab6270585","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","variants":[],"version":"18.1"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["715983a81","810aaf7f2","9fd29d7ff","c28f8ca29","c4f5a59ab","eea24eb0a","ef915bf93"],"commit_groups":[["715983a81","810aaf7f2","9fd29d7ff","c28f8ca29","c4f5a59ab","eea24eb0a","ef915bf93"]],"commits":["715983a81"],"cves":[],"db_id":"393a9b7eb2a54302a3bd8b2790808ca8","html":"\u003cp\u003eFix integer-overflow hazard in BRIN index scans when the table contains close to 2\u003csup\u003e32\u003c/sup\u003e pages (Sunil S) \u003ca href=\"https://postgr.es/c/715983a81\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis oversight could result in an infinite loop or scanning of unneeded table pages.\u003c/p\u003e","id":"18.1-4d75a8abffa08925","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.","part":"changes","patch_ids":["e15f4df722672d015993ea819e9c3351"],"related_changes":[{"db_id":"3eee9fbd93044d08fe7b761285b4eef0","evidence":{"patch_ids":["e15f4df722672d015993ea819e9c3351"],"same_day":true,"statement_hash":"45088b42382a6f8a5eb8dc651e95a4c956a04e585cd53f0e8247416c8d6fce3f"},"kind":"equivalent","label":"17.7","source_url":"/docs/release/17.7/#RELEASE-17-7-CHANGES","title":"Fix integer-overflow hazard in BRIN index scans when the table contains close to 232 pages","url":"/docs/compare/?release=17.7#17.7-22b81d2b7991be50","version":"17.7"},{"db_id":"41c5c1173ef259c7bb96b3467e9de919","evidence":{"patch_ids":["e15f4df722672d015993ea819e9c3351"],"same_day":true,"statement_hash":"45088b42382a6f8a5eb8dc651e95a4c956a04e585cd53f0e8247416c8d6fce3f"},"kind":"equivalent","label":"16.11","source_url":"/docs/release/16.11/#RELEASE-16-11-CHANGES","title":"Fix integer-overflow hazard in BRIN index scans when the table contains close to 232 pages","url":"/docs/compare/?release=16.11#16.11-f239d80cd401413a","version":"16.11"},{"db_id":"ca0d04f29eca7d84d81b300dc4107221","evidence":{"patch_ids":["e15f4df722672d015993ea819e9c3351"],"same_day":true,"statement_hash":"45088b42382a6f8a5eb8dc651e95a4c956a04e585cd53f0e8247416c8d6fce3f"},"kind":"equivalent","label":"15.15","source_url":"/docs/release/15.15/#id-1.11.6.10.5","title":"Fix integer-overflow hazard in BRIN index scans when the table contains close to 232 pages","url":"/docs/compare/?release=15.15#15.15-b0a9c7b1bda7fbc4","version":"15.15"},{"db_id":"cbb0ef9e07e346b9959c4a482b828973","evidence":{"patch_ids":["e15f4df722672d015993ea819e9c3351"],"same_day":true,"statement_hash":"45088b42382a6f8a5eb8dc651e95a4c956a04e585cd53f0e8247416c8d6fce3f"},"kind":"equivalent","label":"14.20","source_url":"/docs/release/14.20/#id-1.11.6.10.5","title":"Fix integer-overflow hazard in BRIN index scans when the table contains close to 232 pages","url":"/docs/compare/?release=14.20#14.20-fc1c1f6d56fc4b89","version":"14.20"},{"db_id":"c0b6100e40d8b770ece9bacc3084ea91","evidence":{"patch_ids":["e15f4df722672d015993ea819e9c3351"],"same_day":true,"statement_hash":"45088b42382a6f8a5eb8dc651e95a4c956a04e585cd53f0e8247416c8d6fce3f"},"kind":"equivalent","label":"13.23","source_url":"/docs/release/13.23/#id-1.11.6.6.6","title":"Fix integer-overflow hazard in BRIN index scans when the table contains close to 232 pages","url":"/docs/compare/?release=13.23#13.23-6eae1200294c5fb3","version":"13.23"}],"relations":[{"evidence":{"patch_ids":["e15f4df722672d015993ea819e9c3351"],"same_day":true,"statement_hash":"45088b42382a6f8a5eb8dc651e95a4c956a04e585cd53f0e8247416c8d6fce3f"},"rule":2,"target":"3eee9fbd93044d08fe7b761285b4eef0","type":"equivalent"},{"evidence":{"patch_ids":["e15f4df722672d015993ea819e9c3351"],"same_day":true,"statement_hash":"45088b42382a6f8a5eb8dc651e95a4c956a04e585cd53f0e8247416c8d6fce3f"},"rule":2,"target":"41c5c1173ef259c7bb96b3467e9de919","type":"equivalent"},{"evidence":{"patch_ids":["e15f4df722672d015993ea819e9c3351"],"same_day":true,"statement_hash":"45088b42382a6f8a5eb8dc651e95a4c956a04e585cd53f0e8247416c8d6fce3f"},"rule":2,"target":"c0b6100e40d8b770ece9bacc3084ea91","type":"equivalent"},{"evidence":{"patch_ids":["e15f4df722672d015993ea819e9c3351"],"same_day":true,"statement_hash":"45088b42382a6f8a5eb8dc651e95a4c956a04e585cd53f0e8247416c8d6fce3f"},"rule":2,"target":"ca0d04f29eca7d84d81b300dc4107221","type":"equivalent"},{"evidence":{"patch_ids":["e15f4df722672d015993ea819e9c3351"],"same_day":true,"statement_hash":"45088b42382a6f8a5eb8dc651e95a4c956a04e585cd53f0e8247416c8d6fce3f"},"rule":2,"target":"cbb0ef9e07e346b9959c4a482b828973","type":"equivalent"}],"section":"Changes","section_path":["Changes"],"source_commits":["715983a81"],"source_entry_id":"18.1/changes/011","source_hash":"a227f200daffb8d9736fdb106e7db525288805f9d039e2aed7b51c500b5e9285","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"45088b42382a6f8a5eb8dc651e95a4c956a04e585cd53f0e8247416c8d6fce3f","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","variants":[],"version":"18.1"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["10945148e","3398b0d02","4afab175b","6911f8037","b8ecfbe5a","ceb51d09b","e4316ec4d"],"commit_groups":[["10945148e","3398b0d02","4afab175b","6911f8037","b8ecfbe5a","ceb51d09b","e4316ec4d"]],"commits":["ceb51d09b"],"cves":[],"db_id":"de262079624c4f7225fefc1938b4d6c4","html":"\u003cp\u003eFix incorrect zero-extension of stored values in JIT-generated tuple deforming code (David Rowley) \u003ca href=\"https://postgr.es/c/ceb51d09b\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWhen 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 \u003cspan\u003e“\u003cspan\u003ecould not find memoization table entry\u003c/span\u003e”\u003c/span\u003e errors when using Memoize plan nodes, and there might be other symptoms.\u003c/p\u003e","id":"18.1-d78511e9b384a86b","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.","part":"changes","patch_ids":["55424639c609ad9b211ffd5ac10cc20b"],"related_changes":[{"db_id":"e11c7ac708a333ed4eb5a375fef717d8","evidence":{"patch_ids":["55424639c609ad9b211ffd5ac10cc20b"],"same_day":true,"statement_hash":"d62bd3e9007f7f090eba935ee43673f57b512e6913d636b18186f3f90712f8fb"},"kind":"equivalent","label":"17.7","source_url":"/docs/release/17.7/#RELEASE-17-7-CHANGES","title":"Fix incorrect zero-extension of stored values in JIT-generated tuple deforming code","url":"/docs/compare/?release=17.7#17.7-aa1a9b53c515db45","version":"17.7"},{"db_id":"8411046717133be1fc919e915895664b","evidence":{"patch_ids":["55424639c609ad9b211ffd5ac10cc20b"],"same_day":true,"statement_hash":"d62bd3e9007f7f090eba935ee43673f57b512e6913d636b18186f3f90712f8fb"},"kind":"equivalent","label":"16.11","source_url":"/docs/release/16.11/#RELEASE-16-11-CHANGES","title":"Fix incorrect zero-extension of stored values in JIT-generated tuple deforming code","url":"/docs/compare/?release=16.11#16.11-92911a65af0fd193","version":"16.11"},{"db_id":"c520d8534b29d6a33acf98a0e9c4f0ef","evidence":{"patch_ids":["55424639c609ad9b211ffd5ac10cc20b"],"same_day":true,"statement_hash":"d62bd3e9007f7f090eba935ee43673f57b512e6913d636b18186f3f90712f8fb"},"kind":"equivalent","label":"15.15","source_url":"/docs/release/15.15/#id-1.11.6.10.5","title":"Fix incorrect zero-extension of stored values in JIT-generated tuple deforming code","url":"/docs/compare/?release=15.15#15.15-8fd4e4f59a5c06ab","version":"15.15"},{"db_id":"7c81d67412977edb96996856917b1f9a","evidence":{"patch_ids":["55424639c609ad9b211ffd5ac10cc20b"],"same_day":true,"statement_hash":"d62bd3e9007f7f090eba935ee43673f57b512e6913d636b18186f3f90712f8fb"},"kind":"equivalent","label":"14.20","source_url":"/docs/release/14.20/#id-1.11.6.10.5","title":"Fix incorrect zero-extension of stored values in JIT-generated tuple deforming code","url":"/docs/compare/?release=14.20#14.20-f7c15c83384f177c","version":"14.20"},{"db_id":"9b610d9fca503412ae7e72eddc6e5502","evidence":{"patch_ids":["55424639c609ad9b211ffd5ac10cc20b"],"same_day":true,"statement_hash":"d62bd3e9007f7f090eba935ee43673f57b512e6913d636b18186f3f90712f8fb"},"kind":"equivalent","label":"13.23","source_url":"/docs/release/13.23/#id-1.11.6.6.6","title":"Fix incorrect zero-extension of stored values in JIT-generated tuple deforming code","url":"/docs/compare/?release=13.23#13.23-d2c92bd0308b724e","version":"13.23"}],"relations":[{"evidence":{"patch_ids":["55424639c609ad9b211ffd5ac10cc20b"],"same_day":true,"statement_hash":"d62bd3e9007f7f090eba935ee43673f57b512e6913d636b18186f3f90712f8fb"},"rule":2,"target":"7c81d67412977edb96996856917b1f9a","type":"equivalent"},{"evidence":{"patch_ids":["55424639c609ad9b211ffd5ac10cc20b"],"same_day":true,"statement_hash":"d62bd3e9007f7f090eba935ee43673f57b512e6913d636b18186f3f90712f8fb"},"rule":2,"target":"8411046717133be1fc919e915895664b","type":"equivalent"},{"evidence":{"patch_ids":["55424639c609ad9b211ffd5ac10cc20b"],"same_day":true,"statement_hash":"d62bd3e9007f7f090eba935ee43673f57b512e6913d636b18186f3f90712f8fb"},"rule":2,"target":"9b610d9fca503412ae7e72eddc6e5502","type":"equivalent"},{"evidence":{"patch_ids":["55424639c609ad9b211ffd5ac10cc20b"],"same_day":true,"statement_hash":"d62bd3e9007f7f090eba935ee43673f57b512e6913d636b18186f3f90712f8fb"},"rule":2,"target":"c520d8534b29d6a33acf98a0e9c4f0ef","type":"equivalent"},{"evidence":{"patch_ids":["55424639c609ad9b211ffd5ac10cc20b"],"same_day":true,"statement_hash":"d62bd3e9007f7f090eba935ee43673f57b512e6913d636b18186f3f90712f8fb"},"rule":2,"target":"e11c7ac708a333ed4eb5a375fef717d8","type":"equivalent"}],"section":"Changes","section_path":["Changes"],"source_commits":["ceb51d09b"],"source_entry_id":"18.1/changes/012","source_hash":"e82cf8c36ee531c20dbe457691d6d17ef5a6a4de2b92f57fdcfdb5db66d65a3d","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"d62bd3e9007f7f090eba935ee43673f57b512e6913d636b18186f3f90712f8fb","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","variants":[],"version":"18.1"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["0b6a02f03","5c0a20003"],"commit_groups":[["0b6a02f03","5c0a20003"]],"commits":["0b6a02f03"],"cves":[],"db_id":"e70ede7bd5583f381bf465e783e34002","html":"\u003cp\u003eFix rare crash when processing hashed \u003ccode\u003eGROUPING SETS\u003c/code\u003e queries (David Rowley) \u003ca href=\"https://postgr.es/c/0b6a02f03\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"18.1-86469df42b03e324","identity_text":"Fix rare crash when processing hashed GROUPING SETS queries (David Rowley)","part":"changes","patch_ids":["1c5627dd3234f4c77c310d7fcec4806f"],"related_changes":[],"relations":[],"section":"Changes","section_path":["Changes"],"source_commits":["0b6a02f03"],"source_entry_id":"18.1/changes/013","source_hash":"cc577384085b9efd2f083bd967ec65d06ee8023c468f527337a797ad834fcc5e","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"aaf9819b0b8a5d95eaa44966037d6f0f416829e205ff02c52bbbbb49ed82e79b","text":"Fix rare crash when processing hashed GROUPING SETS queries (David Rowley) §","title":"Fix rare crash when processing hashed GROUPING SETS queries","variants":[],"version":"18.1"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["aa151022e","b85c4700f"],"commit_groups":[["aa151022e","b85c4700f"]],"commits":["aa151022e"],"cves":[],"db_id":"a3653066758eab729f75956e87c77d7e","html":"\u003cp\u003eRepair faulty hash-table-size-choosing logic in hash joins (Tomas Vondra) \u003ca href=\"https://postgr.es/c/aa151022e\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eHash joins sometimes used more memory than intended, or failed to divide it in an efficient way.\u003c/p\u003e","id":"18.1-595b80f1b57139d2","identity_text":"Repair faulty hash-table-size-choosing logic in hash joins (Tomas Vondra) Hash joins sometimes used more memory than intended, or failed to divide it in an efficient way.","part":"changes","patch_ids":["e7109e998d0ab28d4a07d7656b59c540"],"related_changes":[],"relations":[],"section":"Changes","section_path":["Changes"],"source_commits":["aa151022e"],"source_entry_id":"18.1/changes/014","source_hash":"2f1f77c5b58aad4080d3f53a2ed5a3111544020d333a1a2c3c94f1a0b67b0fff","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"673e758ffe8bfaad06735b49302d3951f81c17011e37608c1152b407bc0c3e5b","text":"Repair faulty hash-table-size-choosing logic in hash joins (Tomas Vondra) § Hash joins sometimes used more memory than intended, or failed to divide it in an efficient way.","title":"Repair faulty hash-table-size-choosing logic in hash joins","variants":[],"version":"18.1"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["15d7dded0","688dc6299","c8af5019b"],"commit_groups":[["15d7dded0"],["688dc6299","c8af5019b"]],"commits":["15d7dded0","c8af5019b"],"cves":[],"db_id":"994046ec35e4309bd0a13d4c68e9f1d1","html":"\u003cp\u003eImprove relation lookup logic in statistics manipulation functions (Nathan Bossart) \u003ca href=\"https://postgr.es/c/c8af5019b\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/15d7dded0\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eFix \u003ccode\u003epg_restore_relation_stats()\u003c/code\u003e, \u003ccode\u003epg_clear_relation_stats()\u003c/code\u003e, \u003ccode\u003epg_restore_attribute_stats()\u003c/code\u003e, and \u003ccode\u003epg_clear_attribute_stats()\u003c/code\u003e to check privileges before acquiring lock on the target relation rather than after.\u003c/p\u003e","id":"18.1-db784857980e4eb2","identity_text":"Improve relation lookup logic in statistics manipulation functions (Nathan Bossart) Fix pg_restore_relation_stats(), pg_clear_relation_stats(), pg_restore_attribute_stats(), and pg_clear_attribute_stats() to check privileges before acquiring lock on the target relation rather than after.","part":"changes","patch_ids":["4003c14332c687be30fc03d4af31da84","4da2341fff5b72181492769ab6d6fa07"],"related_changes":[],"relations":[],"section":"Changes","section_path":["Changes"],"source_commits":["15d7dded0","c8af5019b"],"source_entry_id":"18.1/changes/015","source_hash":"f8bd59218ac4b34b3ee565d68c5695004386bd084e04b43b9b6021087ca2e7ac","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"44114a78e01aa87c025a8c38bf3fab478ad80fcca0d566de78a5c814a859cbd4","text":"Improve relation lookup logic in statistics manipulation functions (Nathan Bossart) § § Fix pg_restore_relation_stats(), pg_clear_relation_stats(), pg_restore_attribute_stats(), and pg_clear_attribute_stats() to check privileges before acquiring lock on the target relation rather than after.","title":"Improve relation lookup logic in statistics manipulation functions","variants":[],"version":"18.1"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["0d3074615","2992b9a07","39dcfda2d","a2387c32f","a546964db"],"commit_groups":[["0d3074615","2992b9a07","39dcfda2d","a2387c32f","a546964db"]],"commits":["a2387c32f"],"cves":[],"db_id":"13af7f30c1a66144a7c4729335ad6c55","html":"\u003cp\u003eFix incorrect logic for caching result-relation information for triggers (David Rowley, Amit Langote) \u003ca href=\"https://postgr.es/c/a2387c32f\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eIn cases where partitions' column sets aren't physically identical to their parent partitioned tables' column sets, this oversight could lead to crashes.\u003c/p\u003e","id":"18.1-fa17262588de7970","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.","part":"changes","patch_ids":["aceec90d9a86d1b6d642dda660eebd6f"],"related_changes":[{"db_id":"ba3b5897c3d85845178cb5eee8dfba01","evidence":{"patch_ids":["aceec90d9a86d1b6d642dda660eebd6f"],"same_day":true,"statement_hash":"026782085dea5b1090d57d834e0d4c7d0bc778a784349b74f9ef89ce84fcfaef"},"kind":"equivalent","label":"17.7","source_url":"/docs/release/17.7/#RELEASE-17-7-CHANGES","title":"Fix incorrect logic for caching result-relation information for triggers","url":"/docs/compare/?release=17.7#17.7-6305949a00dd4b54","version":"17.7"},{"db_id":"7ba23c07eaeb399e352fe32a704464e6","evidence":{"patch_ids":["aceec90d9a86d1b6d642dda660eebd6f"],"same_day":true,"statement_hash":"026782085dea5b1090d57d834e0d4c7d0bc778a784349b74f9ef89ce84fcfaef"},"kind":"equivalent","label":"16.11","source_url":"/docs/release/16.11/#RELEASE-16-11-CHANGES","title":"Fix incorrect logic for caching result-relation information for triggers","url":"/docs/compare/?release=16.11#16.11-b434454c9c408c94","version":"16.11"},{"db_id":"bb7f7a3657690f7a6c75d641dcc65860","evidence":{"patch_ids":["aceec90d9a86d1b6d642dda660eebd6f"],"same_day":true,"statement_hash":"026782085dea5b1090d57d834e0d4c7d0bc778a784349b74f9ef89ce84fcfaef"},"kind":"equivalent","label":"15.15","source_url":"/docs/release/15.15/#id-1.11.6.10.5","title":"Fix incorrect logic for caching result-relation information for triggers","url":"/docs/compare/?release=15.15#15.15-c8e0a3ed2fb6c04a","version":"15.15"}],"relations":[{"evidence":{"patch_ids":["aceec90d9a86d1b6d642dda660eebd6f"],"same_day":true,"statement_hash":"026782085dea5b1090d57d834e0d4c7d0bc778a784349b74f9ef89ce84fcfaef"},"rule":2,"target":"7ba23c07eaeb399e352fe32a704464e6","type":"equivalent"},{"evidence":{"patch_ids":["aceec90d9a86d1b6d642dda660eebd6f"],"same_day":true,"statement_hash":"026782085dea5b1090d57d834e0d4c7d0bc778a784349b74f9ef89ce84fcfaef"},"rule":2,"target":"ba3b5897c3d85845178cb5eee8dfba01","type":"equivalent"},{"evidence":{"patch_ids":["aceec90d9a86d1b6d642dda660eebd6f"],"same_day":true,"statement_hash":"026782085dea5b1090d57d834e0d4c7d0bc778a784349b74f9ef89ce84fcfaef"},"rule":2,"target":"bb7f7a3657690f7a6c75d641dcc65860","type":"equivalent"}],"section":"Changes","section_path":["Changes"],"source_commits":["a2387c32f"],"source_entry_id":"18.1/changes/016","source_hash":"7e6a20eac8e6a679bac5be291d65d4bde10ba300dbe130df9e3bc131f6fe1ef8","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"026782085dea5b1090d57d834e0d4c7d0bc778a784349b74f9ef89ce84fcfaef","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","variants":[],"version":"18.1"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["1296dcf18","905e932f0"],"commit_groups":[["1296dcf18","905e932f0"]],"commits":["1296dcf18"],"cves":[],"db_id":"a0c4022eb806e7bff85e5e4f45d350da","html":"\u003cp\u003eFix crash during EvalPlanQual rechecks on partitioned tables (David Rowley, Amit Langote) \u003ca href=\"https://postgr.es/c/1296dcf18\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"18.1-4fabed399ac5f947","identity_text":"Fix crash during EvalPlanQual rechecks on partitioned tables (David Rowley, Amit Langote)","part":"changes","patch_ids":["cfaa90e1fdcf18ac6f3f0eafaf77ada8"],"related_changes":[],"relations":[],"section":"Changes","section_path":["Changes"],"source_commits":["1296dcf18"],"source_entry_id":"18.1/changes/017","source_hash":"2bb2eab84c9d0aef8280d0f562760f0381fcab6030475f916b6ae62ee941d8c4","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"9669bf1f77810bf9ebd51d3fc0ea281b8ca1e3a90f20cee99402fbc39242eea5","text":"Fix crash during EvalPlanQual rechecks on partitioned tables (David Rowley, Amit Langote) §","title":"Fix crash during EvalPlanQual rechecks on partitioned tables","variants":[],"version":"18.1"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["12609fbac","12b0c0e51","24e74b962","2bb84ea7e","4a08603a2","5a9af4868","b14144325"],"commit_groups":[["12609fbac","12b0c0e51","24e74b962","2bb84ea7e","4a08603a2","5a9af4868","b14144325"]],"commits":["b14144325"],"cves":[],"db_id":"3a7c71a715168a6fe003c04ad6530b01","html":"\u003cp\u003eFix EvalPlanQual handling of foreign or custom joins that do not have an alternative local-join plan prepared for EPQ (Masahiko Sawada, Etsuro Fujita) \u003ca href=\"https://postgr.es/c/b14144325\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eIn such cases the foreign or custom access method should be invoked normally, but that did not happen, typically leading to a crash.\u003c/p\u003e","id":"18.1-1ad36d259b8c4e29","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.","part":"changes","patch_ids":["4bc4b3eb3e3195a1d0e412e0c9371242"],"related_changes":[{"db_id":"d5c74a3284403534934e2ff5e453332e","evidence":{"patch_ids":["4bc4b3eb3e3195a1d0e412e0c9371242"],"same_day":true,"statement_hash":"7701ad14c992b95ece421f86b54788df6de9143a62d4e7ff9ea0b08caf2163f5"},"kind":"equivalent","label":"17.7","source_url":"/docs/release/17.7/#RELEASE-17-7-CHANGES","title":"Fix EvalPlanQual handling of foreign or custom joins that do not have an alternative local-join plan prepared for EPQ","url":"/docs/compare/?release=17.7#17.7-7d939e96432565c4","version":"17.7"},{"db_id":"a830cee6374ea38a3cf10eb53388b93d","evidence":{"patch_ids":["4bc4b3eb3e3195a1d0e412e0c9371242"],"same_day":true,"statement_hash":"7701ad14c992b95ece421f86b54788df6de9143a62d4e7ff9ea0b08caf2163f5"},"kind":"equivalent","label":"16.11","source_url":"/docs/release/16.11/#RELEASE-16-11-CHANGES","title":"Fix EvalPlanQual handling of foreign or custom joins that do not have an alternative local-join plan prepared for EPQ","url":"/docs/compare/?release=16.11#16.11-071fb89b558772fa","version":"16.11"},{"db_id":"f8e7d0fe512da9f5e4221f5173c42a62","evidence":{"patch_ids":["4bc4b3eb3e3195a1d0e412e0c9371242"],"same_day":true,"statement_hash":"7701ad14c992b95ece421f86b54788df6de9143a62d4e7ff9ea0b08caf2163f5"},"kind":"equivalent","label":"15.15","source_url":"/docs/release/15.15/#id-1.11.6.10.5","title":"Fix EvalPlanQual handling of foreign or custom joins that do not have an alternative local-join plan prepared for EPQ","url":"/docs/compare/?release=15.15#15.15-93fef6ea11e7fc81","version":"15.15"},{"db_id":"b4c88efd3c63eeaee70001c500504502","evidence":{"patch_ids":["4bc4b3eb3e3195a1d0e412e0c9371242"],"same_day":true,"statement_hash":"7701ad14c992b95ece421f86b54788df6de9143a62d4e7ff9ea0b08caf2163f5"},"kind":"equivalent","label":"14.20","source_url":"/docs/release/14.20/#id-1.11.6.10.5","title":"Fix EvalPlanQual handling of foreign or custom joins that do not have an alternative local-join plan prepared for EPQ","url":"/docs/compare/?release=14.20#14.20-9d1b9820ad3ea33d","version":"14.20"},{"db_id":"152497e1f56957947f79200f3011a52e","evidence":{"patch_ids":["4bc4b3eb3e3195a1d0e412e0c9371242"],"same_day":true,"statement_hash":"7701ad14c992b95ece421f86b54788df6de9143a62d4e7ff9ea0b08caf2163f5"},"kind":"equivalent","label":"13.23","source_url":"/docs/release/13.23/#id-1.11.6.6.6","title":"Fix EvalPlanQual handling of foreign or custom joins that do not have an alternative local-join plan prepared for EPQ","url":"/docs/compare/?release=13.23#13.23-e3ce52e617ed9fef","version":"13.23"}],"relations":[{"evidence":{"patch_ids":["4bc4b3eb3e3195a1d0e412e0c9371242"],"same_day":true,"statement_hash":"7701ad14c992b95ece421f86b54788df6de9143a62d4e7ff9ea0b08caf2163f5"},"rule":2,"target":"152497e1f56957947f79200f3011a52e","type":"equivalent"},{"evidence":{"patch_ids":["4bc4b3eb3e3195a1d0e412e0c9371242"],"same_day":true,"statement_hash":"7701ad14c992b95ece421f86b54788df6de9143a62d4e7ff9ea0b08caf2163f5"},"rule":2,"target":"a830cee6374ea38a3cf10eb53388b93d","type":"equivalent"},{"evidence":{"patch_ids":["4bc4b3eb3e3195a1d0e412e0c9371242"],"same_day":true,"statement_hash":"7701ad14c992b95ece421f86b54788df6de9143a62d4e7ff9ea0b08caf2163f5"},"rule":2,"target":"b4c88efd3c63eeaee70001c500504502","type":"equivalent"},{"evidence":{"patch_ids":["4bc4b3eb3e3195a1d0e412e0c9371242"],"same_day":true,"statement_hash":"7701ad14c992b95ece421f86b54788df6de9143a62d4e7ff9ea0b08caf2163f5"},"rule":2,"target":"d5c74a3284403534934e2ff5e453332e","type":"equivalent"},{"evidence":{"patch_ids":["4bc4b3eb3e3195a1d0e412e0c9371242"],"same_day":true,"statement_hash":"7701ad14c992b95ece421f86b54788df6de9143a62d4e7ff9ea0b08caf2163f5"},"rule":2,"target":"f8e7d0fe512da9f5e4221f5173c42a62","type":"equivalent"}],"section":"Changes","section_path":["Changes"],"source_commits":["b14144325"],"source_entry_id":"18.1/changes/018","source_hash":"68bd82f61fd04a0e7bc6338db072a1418250c1160d5cc3607107def8305a4549","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"7701ad14c992b95ece421f86b54788df6de9143a62d4e7ff9ea0b08caf2163f5","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","variants":[],"version":"18.1"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["08c037dff","3231fd045","b753be38a","b835759ec","bdae98495","ea06f97ee"],"commit_groups":[["08c037dff","3231fd045","b753be38a","b835759ec","bdae98495","ea06f97ee"]],"commits":["08c037dff"],"cves":[],"db_id":"565728557128822df30c43191a2dbfad","html":"\u003cp\u003eAvoid duplicating hash partition constraints during \u003ccode\u003eDETACH CONCURRENTLY\u003c/code\u003e (Haiyang Li) \u003ca href=\"https://postgr.es/c/08c037dff\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eALTER TABLE DETACH PARTITION CONCURRENTLY\u003c/code\u003e was written to add a copy of the partitioning constraint to the now-detached partition. This was misguided, partially because non-concurrent \u003ccode\u003eDETACH\u003c/code\u003e 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 \u003ccode\u003eDETACH\u003c/code\u003e. 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.\u003c/p\u003e","id":"18.1-570dc654ef6dd9a2","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.","part":"changes","patch_ids":["c7b7e5ea3577b3d900e06cd112a51878"],"related_changes":[{"db_id":"d8002886e5e02df8376c5986e54462f2","evidence":{"patch_ids":["c7b7e5ea3577b3d900e06cd112a51878"],"same_day":true,"statement_hash":"d5965bdd5734479eaa6212fe4307924b5fa45a4534d11494cdf8e41c2b84b97f"},"kind":"equivalent","label":"17.7","source_url":"/docs/release/17.7/#RELEASE-17-7-CHANGES","title":"Avoid duplicating hash partition constraints during DETACH CONCURRENTLY","url":"/docs/compare/?release=17.7#17.7-7064942458440619","version":"17.7"},{"db_id":"cf6c332f29166e2669260e45b57ff0d2","evidence":{"patch_ids":["c7b7e5ea3577b3d900e06cd112a51878"],"same_day":true,"statement_hash":"d5965bdd5734479eaa6212fe4307924b5fa45a4534d11494cdf8e41c2b84b97f"},"kind":"equivalent","label":"16.11","source_url":"/docs/release/16.11/#RELEASE-16-11-CHANGES","title":"Avoid duplicating hash partition constraints during DETACH CONCURRENTLY","url":"/docs/compare/?release=16.11#16.11-fe3f70460c985c25","version":"16.11"},{"db_id":"71fe017c4d7b33e60357f0d6d3c24f44","evidence":{"patch_ids":["c7b7e5ea3577b3d900e06cd112a51878"],"same_day":true,"statement_hash":"d5965bdd5734479eaa6212fe4307924b5fa45a4534d11494cdf8e41c2b84b97f"},"kind":"equivalent","label":"15.15","source_url":"/docs/release/15.15/#id-1.11.6.10.5","title":"Avoid duplicating hash partition constraints during DETACH CONCURRENTLY","url":"/docs/compare/?release=15.15#15.15-9c9de66bf89091ff","version":"15.15"},{"db_id":"417982fb5fc35be16b96cd9dffae86f4","evidence":{"patch_ids":["c7b7e5ea3577b3d900e06cd112a51878"],"same_day":true,"statement_hash":"d5965bdd5734479eaa6212fe4307924b5fa45a4534d11494cdf8e41c2b84b97f"},"kind":"equivalent","label":"14.20","source_url":"/docs/release/14.20/#id-1.11.6.10.5","title":"Avoid duplicating hash partition constraints during DETACH CONCURRENTLY","url":"/docs/compare/?release=14.20#14.20-bf89a39228e4a4ca","version":"14.20"}],"relations":[{"evidence":{"patch_ids":["c7b7e5ea3577b3d900e06cd112a51878"],"same_day":true,"statement_hash":"d5965bdd5734479eaa6212fe4307924b5fa45a4534d11494cdf8e41c2b84b97f"},"rule":2,"target":"417982fb5fc35be16b96cd9dffae86f4","type":"equivalent"},{"evidence":{"patch_ids":["c7b7e5ea3577b3d900e06cd112a51878"],"same_day":true,"statement_hash":"d5965bdd5734479eaa6212fe4307924b5fa45a4534d11494cdf8e41c2b84b97f"},"rule":2,"target":"71fe017c4d7b33e60357f0d6d3c24f44","type":"equivalent"},{"evidence":{"patch_ids":["c7b7e5ea3577b3d900e06cd112a51878"],"same_day":true,"statement_hash":"d5965bdd5734479eaa6212fe4307924b5fa45a4534d11494cdf8e41c2b84b97f"},"rule":2,"target":"cf6c332f29166e2669260e45b57ff0d2","type":"equivalent"},{"evidence":{"patch_ids":["c7b7e5ea3577b3d900e06cd112a51878"],"same_day":true,"statement_hash":"d5965bdd5734479eaa6212fe4307924b5fa45a4534d11494cdf8e41c2b84b97f"},"rule":2,"target":"d8002886e5e02df8376c5986e54462f2","type":"equivalent"}],"section":"Changes","section_path":["Changes"],"source_commits":["08c037dff"],"source_entry_id":"18.1/changes/019","source_hash":"7e59da2bb8190713c1b6aaecda2d276233b7a05b5210c8dcd12d3e20b33779f5","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"d5965bdd5734479eaa6212fe4307924b5fa45a4534d11494cdf8e41c2b84b97f","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","variants":[],"version":"18.1"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["040cc5f3c","04345d7a4","0b44f2443","643a5e96c","7180d56c5","7f239c72a","ba99c9491"],"commit_groups":[["040cc5f3c","04345d7a4","0b44f2443","643a5e96c","7180d56c5","7f239c72a","ba99c9491"]],"commits":["ba99c9491"],"cves":[],"db_id":"a8595e24703e1deff3ce7b6fe56d02db","html":"\u003cp\u003eDisallow generated columns in partition keys (Jian He, Ashutosh Bapat) \u003ca href=\"https://postgr.es/c/ba99c9491\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis was already not allowed, but the check missed some cases, such as where the column reference is implicit in a whole-row reference.\u003c/p\u003e","id":"18.1-6edf5c69ea4392a4","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.","part":"changes","patch_ids":["26b7dee3d5b5a82dd804a2b2e1ecd780"],"related_changes":[{"db_id":"8894dad53381cd45feb93c24e4fb14ba","evidence":{"patch_ids":["26b7dee3d5b5a82dd804a2b2e1ecd780"],"same_day":true,"statement_hash":"5dded4849247ab37d7f44a8fd133cdab652ee07cbfab3751bd8d4ffcbdd7e99f"},"kind":"equivalent","label":"17.7","source_url":"/docs/release/17.7/#RELEASE-17-7-CHANGES","title":"Disallow generated columns in partition keys","url":"/docs/compare/?release=17.7#17.7-6b87f410ccf7eeba","version":"17.7"},{"db_id":"300cd459ecbe8f82fbe0665d8d6b47c5","evidence":{"patch_ids":["26b7dee3d5b5a82dd804a2b2e1ecd780"],"same_day":true,"statement_hash":"5dded4849247ab37d7f44a8fd133cdab652ee07cbfab3751bd8d4ffcbdd7e99f"},"kind":"equivalent","label":"16.11","source_url":"/docs/release/16.11/#RELEASE-16-11-CHANGES","title":"Disallow generated columns in partition keys","url":"/docs/compare/?release=16.11#16.11-2c9382bd25ce0f59","version":"16.11"},{"db_id":"605ca6399f9aae142eb2f308e3d598fd","evidence":{"patch_ids":["26b7dee3d5b5a82dd804a2b2e1ecd780"],"same_day":true,"statement_hash":"5dded4849247ab37d7f44a8fd133cdab652ee07cbfab3751bd8d4ffcbdd7e99f"},"kind":"equivalent","label":"15.15","source_url":"/docs/release/15.15/#id-1.11.6.10.5","title":"Disallow generated columns in partition keys","url":"/docs/compare/?release=15.15#15.15-7ad9c63c8b6e6da5","version":"15.15"},{"db_id":"adb9f0cae7cdccc24195248ff3704b74","evidence":{"patch_ids":["26b7dee3d5b5a82dd804a2b2e1ecd780"],"same_day":true,"statement_hash":"5dded4849247ab37d7f44a8fd133cdab652ee07cbfab3751bd8d4ffcbdd7e99f"},"kind":"equivalent","label":"14.20","source_url":"/docs/release/14.20/#id-1.11.6.10.5","title":"Disallow generated columns in partition keys","url":"/docs/compare/?release=14.20#14.20-e39243838bbc984a","version":"14.20"},{"db_id":"525dd26c2bb1d8a0169ce29cab95adac","evidence":{"patch_ids":["26b7dee3d5b5a82dd804a2b2e1ecd780"],"same_day":true,"statement_hash":"5dded4849247ab37d7f44a8fd133cdab652ee07cbfab3751bd8d4ffcbdd7e99f"},"kind":"equivalent","label":"13.23","source_url":"/docs/release/13.23/#id-1.11.6.6.6","title":"Disallow generated columns in partition keys","url":"/docs/compare/?release=13.23#13.23-9b4ab32d62f672a8","version":"13.23"}],"relations":[{"evidence":{"patch_ids":["26b7dee3d5b5a82dd804a2b2e1ecd780"],"same_day":true,"statement_hash":"5dded4849247ab37d7f44a8fd133cdab652ee07cbfab3751bd8d4ffcbdd7e99f"},"rule":2,"target":"300cd459ecbe8f82fbe0665d8d6b47c5","type":"equivalent"},{"evidence":{"patch_ids":["26b7dee3d5b5a82dd804a2b2e1ecd780"],"same_day":true,"statement_hash":"5dded4849247ab37d7f44a8fd133cdab652ee07cbfab3751bd8d4ffcbdd7e99f"},"rule":2,"target":"525dd26c2bb1d8a0169ce29cab95adac","type":"equivalent"},{"evidence":{"patch_ids":["26b7dee3d5b5a82dd804a2b2e1ecd780"],"same_day":true,"statement_hash":"5dded4849247ab37d7f44a8fd133cdab652ee07cbfab3751bd8d4ffcbdd7e99f"},"rule":2,"target":"605ca6399f9aae142eb2f308e3d598fd","type":"equivalent"},{"evidence":{"patch_ids":["26b7dee3d5b5a82dd804a2b2e1ecd780"],"same_day":true,"statement_hash":"5dded4849247ab37d7f44a8fd133cdab652ee07cbfab3751bd8d4ffcbdd7e99f"},"rule":2,"target":"8894dad53381cd45feb93c24e4fb14ba","type":"equivalent"},{"evidence":{"patch_ids":["26b7dee3d5b5a82dd804a2b2e1ecd780"],"same_day":true,"statement_hash":"5dded4849247ab37d7f44a8fd133cdab652ee07cbfab3751bd8d4ffcbdd7e99f"},"rule":2,"target":"adb9f0cae7cdccc24195248ff3704b74","type":"equivalent"}],"section":"Changes","section_path":["Changes"],"source_commits":["ba99c9491"],"source_entry_id":"18.1/changes/020","source_hash":"c34ef2c7cbe47429ce0a76c1aa2caa7f267cdc4c1707565553f5dc4cd8576ddd","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"5dded4849247ab37d7f44a8fd133cdab652ee07cbfab3751bd8d4ffcbdd7e99f","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","variants":[],"version":"18.1"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["07f787e57","0f9e0068b","26958f4d9","3717849e6","8278737bf","aa606b931","ccfe28eb4"],"commit_groups":[["07f787e57","0f9e0068b","26958f4d9","3717849e6","8278737bf","aa606b931","ccfe28eb4"]],"commits":["0f9e0068b"],"cves":[],"db_id":"476c1d31c3b2a4f231e061a533173538","html":"\u003cp\u003eDisallow generated columns in \u003ccode\u003eCOPY ... FROM ... WHERE\u003c/code\u003e clauses (Peter Eisentraut, Jian He) \u003ca href=\"https://postgr.es/c/0f9e0068b\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePreviously, 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 \u003ccode\u003eWHERE\u003c/code\u003e filtering is done.\u003c/p\u003e","id":"18.1-f93c705391287b77","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.","part":"changes","patch_ids":["288ff18af81cea964c777c267d44976b"],"related_changes":[{"db_id":"d7b4a6585334f8e8aa07a327994e2043","evidence":{"patch_ids":["288ff18af81cea964c777c267d44976b"],"same_day":true,"statement_hash":"3e3e53285ed4984ded0685482e76482c19c858ab07dd559f8421550b25cb5dc6"},"kind":"equivalent","label":"17.7","source_url":"/docs/release/17.7/#RELEASE-17-7-CHANGES","title":"Disallow generated columns in COPY ... FROM ... WHERE clauses","url":"/docs/compare/?release=17.7#17.7-0707cf226664ba13","version":"17.7"},{"db_id":"9cbb9b53b5d6bb4acf6cc0063d8379f2","evidence":{"patch_ids":["288ff18af81cea964c777c267d44976b"],"same_day":true,"statement_hash":"3e3e53285ed4984ded0685482e76482c19c858ab07dd559f8421550b25cb5dc6"},"kind":"equivalent","label":"16.11","source_url":"/docs/release/16.11/#RELEASE-16-11-CHANGES","title":"Disallow generated columns in COPY ... FROM ... WHERE clauses","url":"/docs/compare/?release=16.11#16.11-954887ba5dd000ba","version":"16.11"},{"db_id":"7b8f833f1bd965ce518eb2d3e003a1dc","evidence":{"patch_ids":["288ff18af81cea964c777c267d44976b"],"same_day":true,"statement_hash":"3e3e53285ed4984ded0685482e76482c19c858ab07dd559f8421550b25cb5dc6"},"kind":"equivalent","label":"15.15","source_url":"/docs/release/15.15/#id-1.11.6.10.5","title":"Disallow generated columns in COPY ... FROM ... WHERE clauses","url":"/docs/compare/?release=15.15#15.15-076d57a3f0940e3d","version":"15.15"},{"db_id":"7910dd8ca51fdddfcd65a301d722ec44","evidence":{"patch_ids":["288ff18af81cea964c777c267d44976b"],"same_day":true,"statement_hash":"3e3e53285ed4984ded0685482e76482c19c858ab07dd559f8421550b25cb5dc6"},"kind":"equivalent","label":"14.20","source_url":"/docs/release/14.20/#id-1.11.6.10.5","title":"Disallow generated columns in COPY ... FROM ... WHERE clauses","url":"/docs/compare/?release=14.20#14.20-4a1e5b283bd94af8","version":"14.20"},{"db_id":"688b8d0a8d86ff5dfc64586a1e76d364","evidence":{"patch_ids":["288ff18af81cea964c777c267d44976b"],"same_day":true,"statement_hash":"3e3e53285ed4984ded0685482e76482c19c858ab07dd559f8421550b25cb5dc6"},"kind":"equivalent","label":"13.23","source_url":"/docs/release/13.23/#id-1.11.6.6.6","title":"Disallow generated columns in COPY ... FROM ... WHERE clauses","url":"/docs/compare/?release=13.23#13.23-27a4ac9e65339e2a","version":"13.23"}],"relations":[{"evidence":{"patch_ids":["288ff18af81cea964c777c267d44976b"],"same_day":true,"statement_hash":"3e3e53285ed4984ded0685482e76482c19c858ab07dd559f8421550b25cb5dc6"},"rule":2,"target":"688b8d0a8d86ff5dfc64586a1e76d364","type":"equivalent"},{"evidence":{"patch_ids":["288ff18af81cea964c777c267d44976b"],"same_day":true,"statement_hash":"3e3e53285ed4984ded0685482e76482c19c858ab07dd559f8421550b25cb5dc6"},"rule":2,"target":"7910dd8ca51fdddfcd65a301d722ec44","type":"equivalent"},{"evidence":{"patch_ids":["288ff18af81cea964c777c267d44976b"],"same_day":true,"statement_hash":"3e3e53285ed4984ded0685482e76482c19c858ab07dd559f8421550b25cb5dc6"},"rule":2,"target":"7b8f833f1bd965ce518eb2d3e003a1dc","type":"equivalent"},{"evidence":{"patch_ids":["288ff18af81cea964c777c267d44976b"],"same_day":true,"statement_hash":"3e3e53285ed4984ded0685482e76482c19c858ab07dd559f8421550b25cb5dc6"},"rule":2,"target":"9cbb9b53b5d6bb4acf6cc0063d8379f2","type":"equivalent"},{"evidence":{"patch_ids":["288ff18af81cea964c777c267d44976b"],"same_day":true,"statement_hash":"3e3e53285ed4984ded0685482e76482c19c858ab07dd559f8421550b25cb5dc6"},"rule":2,"target":"d7b4a6585334f8e8aa07a327994e2043","type":"equivalent"}],"section":"Changes","section_path":["Changes"],"source_commits":["0f9e0068b"],"source_entry_id":"18.1/changes/021","source_hash":"96a32620f5a6b43836e51a7fab983dad5c9aa7e9311a79e3a3119442e89844ac","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"3e3e53285ed4984ded0685482e76482c19c858ab07dd559f8421550b25cb5dc6","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","variants":[],"version":"18.1"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["cf8be0225","d9ffc2729"],"commit_groups":[["cf8be0225","d9ffc2729"]],"commits":["d9ffc2729"],"cves":[],"db_id":"1cc2ad2f1d77c84c94244519b7c21f49","html":"\u003cp\u003ePrevent setting a column as identity if it has a not-null constraint but the constraint is marked as invalid (Jian He) \u003ca href=\"https://postgr.es/c/d9ffc2729\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eIdentity columns must be not-null, but the check for that missed this edge case.\u003c/p\u003e","id":"18.1-8cabd69c2fc9923e","identity_text":"Prevent setting a column as identity if it has a not-null constraint but the constraint is marked as invalid (Jian He) Identity columns must be not-null, but the check for that missed this edge case.","part":"changes","patch_ids":["98b878ffaecd78024f87c7da5729ffae"],"related_changes":[],"relations":[],"section":"Changes","section_path":["Changes"],"source_commits":["d9ffc2729"],"source_entry_id":"18.1/changes/022","source_hash":"2363f4d7bfd86ce33ae953ccf4e4c56d7128d64840b12913cbbdb8adf4dc9418","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"eb006304791e8ea1548b9c4a7928a374c1b1a1f0d2a2219dc90b3744065f5b53","text":"Prevent setting a column as identity if it has a not-null constraint but the constraint is marked as invalid (Jian He) § Identity columns must be not-null, but the check for that missed this edge case.","title":"Prevent setting a column as identity if it has a not-null constraint but the constraint is marked as invalid","variants":[],"version":"18.1"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["3549ffb6a","54ab74865","76613b539"],"commit_groups":[["3549ffb6a","54ab74865","76613b539"]],"commits":["76613b539"],"cves":[],"db_id":"65b586522e7240dd1f867d7850ea61db","html":"\u003cp\u003eAvoid potential use-after-free in parallel vacuum (Kevin Oommen Anish) \u003ca href=\"https://postgr.es/c/76613b539\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis bug seems to have no consequences in standard builds, but it's theoretically a hazard.\u003c/p\u003e","id":"18.1-546fe16e34bc5978","identity_text":"Avoid potential use-after-free in parallel vacuum (Kevin Oommen Anish) This bug seems to have no consequences in standard builds, but it's theoretically a hazard.","part":"changes","patch_ids":["d0dc5f67240a1a53daeb03d7af4ee34b"],"related_changes":[{"db_id":"f0dbb32056abe3b3dfdd78472b7f273b","evidence":{"patch_ids":["d0dc5f67240a1a53daeb03d7af4ee34b"],"same_day":true,"statement_hash":"e224742c5033ba7b9e4b42ddebc1f168038cd08a476019b13fb8d75e3b5bc706"},"kind":"equivalent","label":"17.7","source_url":"/docs/release/17.7/#RELEASE-17-7-CHANGES","title":"Avoid potential use-after-free in parallel vacuum","url":"/docs/compare/?release=17.7#17.7-8f2649a92990dc78","version":"17.7"}],"relations":[{"evidence":{"patch_ids":["d0dc5f67240a1a53daeb03d7af4ee34b"],"same_day":true,"statement_hash":"e224742c5033ba7b9e4b42ddebc1f168038cd08a476019b13fb8d75e3b5bc706"},"rule":2,"target":"f0dbb32056abe3b3dfdd78472b7f273b","type":"equivalent"}],"section":"Changes","section_path":["Changes"],"source_commits":["76613b539"],"source_entry_id":"18.1/changes/023","source_hash":"794966efecdda80a55b270d172d2da28726e6f70a5a5522d7467b5a2506ac2d1","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"e224742c5033ba7b9e4b42ddebc1f168038cd08a476019b13fb8d75e3b5bc706","text":"Avoid potential use-after-free in parallel vacuum (Kevin Oommen Anish) § This bug seems to have no consequences in standard builds, but it's theoretically a hazard.","title":"Avoid potential use-after-free in parallel vacuum","variants":[],"version":"18.1"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["5816baa9b","6778fbca6","a95393ecd","ab16418ee","afb2cce74","d024160ff","d202ec1fb"],"commit_groups":[["5816baa9b","6778fbca6","a95393ecd","ab16418ee","afb2cce74","d024160ff","d202ec1fb"]],"commits":["d024160ff"],"cves":[],"db_id":"20af10bca614d2e3d01c9b7d89ca87a3","html":"\u003cp\u003eFix visibility checking for statistics objects in \u003ccode\u003epg_temp\u003c/code\u003e (Noah Misch) \u003ca href=\"https://postgr.es/c/d024160ff\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eA statistics object located in a temporary schema cannot be named without schema qualification, but \u003ccode\u003epg_statistics_obj_is_visible()\u003c/code\u003e missed that memo and could return \u003cspan\u003e“\u003cspan\u003etrue\u003c/span\u003e”\u003c/span\u003e regardless. In turn, functions such as \u003ccode\u003epg_describe_object()\u003c/code\u003e could fail to schema-qualify the object's name as expected.\u003c/p\u003e","id":"18.1-4356f370a232f620","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.","part":"changes","patch_ids":["92d91f4ff61990d871fd5034eef653d7"],"related_changes":[{"db_id":"7e832b26c5667abdcb7da1479c2627cc","evidence":{"patch_ids":["92d91f4ff61990d871fd5034eef653d7"],"same_day":true,"statement_hash":"6ab2a16a11fdf9756b132b2aa3b08c0bc2821a0def25ca6fd133def84e610d24"},"kind":"equivalent","label":"17.7","source_url":"/docs/release/17.7/#RELEASE-17-7-CHANGES","title":"Fix visibility checking for statistics objects in pg_temp","url":"/docs/compare/?release=17.7#17.7-542a921308709f1a","version":"17.7"},{"db_id":"8294c317781f8f709b7133dfce95b792","evidence":{"patch_ids":["92d91f4ff61990d871fd5034eef653d7"],"same_day":true,"statement_hash":"6ab2a16a11fdf9756b132b2aa3b08c0bc2821a0def25ca6fd133def84e610d24"},"kind":"equivalent","label":"16.11","source_url":"/docs/release/16.11/#RELEASE-16-11-CHANGES","title":"Fix visibility checking for statistics objects in pg_temp","url":"/docs/compare/?release=16.11#16.11-8fadc4c9437a4ca4","version":"16.11"},{"db_id":"12fee3df0b5233b7e8135e949ea2f87f","evidence":{"patch_ids":["92d91f4ff61990d871fd5034eef653d7"],"same_day":true,"statement_hash":"6ab2a16a11fdf9756b132b2aa3b08c0bc2821a0def25ca6fd133def84e610d24"},"kind":"equivalent","label":"15.15","source_url":"/docs/release/15.15/#id-1.11.6.10.5","title":"Fix visibility checking for statistics objects in pg_temp","url":"/docs/compare/?release=15.15#15.15-2b35c01425341c9d","version":"15.15"},{"db_id":"875f65c32c6f6827a1f949b0b14ab7c2","evidence":{"patch_ids":["92d91f4ff61990d871fd5034eef653d7"],"same_day":true,"statement_hash":"6ab2a16a11fdf9756b132b2aa3b08c0bc2821a0def25ca6fd133def84e610d24"},"kind":"equivalent","label":"14.20","source_url":"/docs/release/14.20/#id-1.11.6.10.5","title":"Fix visibility checking for statistics objects in pg_temp","url":"/docs/compare/?release=14.20#14.20-a62bf543526a33a4","version":"14.20"},{"db_id":"9ba9c2385da1c0904fac8dc3ed1373f9","evidence":{"patch_ids":["92d91f4ff61990d871fd5034eef653d7"],"same_day":true,"statement_hash":"6ab2a16a11fdf9756b132b2aa3b08c0bc2821a0def25ca6fd133def84e610d24"},"kind":"equivalent","label":"13.23","source_url":"/docs/release/13.23/#id-1.11.6.6.6","title":"Fix visibility checking for statistics objects in pg_temp","url":"/docs/compare/?release=13.23#13.23-2dee3974fb706ea9","version":"13.23"}],"relations":[{"evidence":{"patch_ids":["92d91f4ff61990d871fd5034eef653d7"],"same_day":true,"statement_hash":"6ab2a16a11fdf9756b132b2aa3b08c0bc2821a0def25ca6fd133def84e610d24"},"rule":2,"target":"12fee3df0b5233b7e8135e949ea2f87f","type":"equivalent"},{"evidence":{"patch_ids":["92d91f4ff61990d871fd5034eef653d7"],"same_day":true,"statement_hash":"6ab2a16a11fdf9756b132b2aa3b08c0bc2821a0def25ca6fd133def84e610d24"},"rule":2,"target":"7e832b26c5667abdcb7da1479c2627cc","type":"equivalent"},{"evidence":{"patch_ids":["92d91f4ff61990d871fd5034eef653d7"],"same_day":true,"statement_hash":"6ab2a16a11fdf9756b132b2aa3b08c0bc2821a0def25ca6fd133def84e610d24"},"rule":2,"target":"8294c317781f8f709b7133dfce95b792","type":"equivalent"},{"evidence":{"patch_ids":["92d91f4ff61990d871fd5034eef653d7"],"same_day":true,"statement_hash":"6ab2a16a11fdf9756b132b2aa3b08c0bc2821a0def25ca6fd133def84e610d24"},"rule":2,"target":"875f65c32c6f6827a1f949b0b14ab7c2","type":"equivalent"},{"evidence":{"patch_ids":["92d91f4ff61990d871fd5034eef653d7"],"same_day":true,"statement_hash":"6ab2a16a11fdf9756b132b2aa3b08c0bc2821a0def25ca6fd133def84e610d24"},"rule":2,"target":"9ba9c2385da1c0904fac8dc3ed1373f9","type":"equivalent"}],"section":"Changes","section_path":["Changes"],"source_commits":["d024160ff"],"source_entry_id":"18.1/changes/024","source_hash":"af2707e6586fbda4dcfaf8a61041a506fb3f6863d0bde7c5e7db840d18aa8d33","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"6ab2a16a11fdf9756b132b2aa3b08c0bc2821a0def25ca6fd133def84e610d24","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","variants":[],"version":"18.1"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["23b316c36","33e7b4a7c","c72b5c536","f9993ac64","ff47f9c16"],"commit_groups":[["23b316c36","33e7b4a7c","c72b5c536","f9993ac64","ff47f9c16"]],"commits":["33e7b4a7c"],"cves":[],"db_id":"0e7b5976bd913c25991a5ff549ac5f81","html":"\u003cp\u003eFix minor memory leak during WAL replay of database creation (Nathan Bossart) \u003ca href=\"https://postgr.es/c/33e7b4a7c\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"18.1-c10f4000798b8d9f","identity_text":"Fix minor memory leak during WAL replay of database creation (Nathan Bossart)","part":"changes","patch_ids":["7b3c9562820ec298d794a69d51573920"],"related_changes":[{"db_id":"4be639cfbce3dac014c7f3139f4beaa7","evidence":{"patch_ids":["7b3c9562820ec298d794a69d51573920"],"same_day":true,"statement_hash":"aaf589db3ca0547c1138682c80ba4c30d7666e77fdcd70b3a9824de7014ad03c"},"kind":"equivalent","label":"17.7","source_url":"/docs/release/17.7/#RELEASE-17-7-CHANGES","title":"Fix minor memory leak during WAL replay of database creation","url":"/docs/compare/?release=17.7#17.7-200457c819df1105","version":"17.7"},{"db_id":"07b0f2ed9748f2ad84f75138a8f693ab","evidence":{"patch_ids":["7b3c9562820ec298d794a69d51573920"],"same_day":true,"statement_hash":"aaf589db3ca0547c1138682c80ba4c30d7666e77fdcd70b3a9824de7014ad03c"},"kind":"equivalent","label":"16.11","source_url":"/docs/release/16.11/#RELEASE-16-11-CHANGES","title":"Fix minor memory leak during WAL replay of database creation","url":"/docs/compare/?release=16.11#16.11-2e0c5a7298bb48a1","version":"16.11"},{"db_id":"52d97c7cf8fbcce26fef4b0c910e4bf6","evidence":{"patch_ids":["7b3c9562820ec298d794a69d51573920"],"same_day":true,"statement_hash":"aaf589db3ca0547c1138682c80ba4c30d7666e77fdcd70b3a9824de7014ad03c"},"kind":"equivalent","label":"15.15","source_url":"/docs/release/15.15/#id-1.11.6.10.5","title":"Fix minor memory leak during WAL replay of database creation","url":"/docs/compare/?release=15.15#15.15-e3961aff6d69ca4a","version":"15.15"}],"relations":[{"evidence":{"patch_ids":["7b3c9562820ec298d794a69d51573920"],"same_day":true,"statement_hash":"aaf589db3ca0547c1138682c80ba4c30d7666e77fdcd70b3a9824de7014ad03c"},"rule":2,"target":"07b0f2ed9748f2ad84f75138a8f693ab","type":"equivalent"},{"evidence":{"patch_ids":["7b3c9562820ec298d794a69d51573920"],"same_day":true,"statement_hash":"aaf589db3ca0547c1138682c80ba4c30d7666e77fdcd70b3a9824de7014ad03c"},"rule":2,"target":"4be639cfbce3dac014c7f3139f4beaa7","type":"equivalent"},{"evidence":{"patch_ids":["7b3c9562820ec298d794a69d51573920"],"same_day":true,"statement_hash":"aaf589db3ca0547c1138682c80ba4c30d7666e77fdcd70b3a9824de7014ad03c"},"rule":2,"target":"52d97c7cf8fbcce26fef4b0c910e4bf6","type":"equivalent"}],"section":"Changes","section_path":["Changes"],"source_commits":["33e7b4a7c"],"source_entry_id":"18.1/changes/025","source_hash":"a381a6bd43d267b9f76ad047254634c9c95e037e775f93f4d28201deb4381cb1","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"aaf589db3ca0547c1138682c80ba4c30d7666e77fdcd70b3a9824de7014ad03c","text":"Fix minor memory leak during WAL replay of database creation (Nathan Bossart) §","title":"Fix minor memory leak during WAL replay of database creation","variants":[],"version":"18.1"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["2e55cf4ef","59b215f72","62d5ee75b","7d7ebdb80","883a95646","9670032cc","a7ab6ce6a"],"commit_groups":[["2e55cf4ef","59b215f72","62d5ee75b","7d7ebdb80","883a95646","9670032cc","a7ab6ce6a"]],"commits":["9670032cc"],"cves":[],"db_id":"a8414849a53aabf5dc53c77b1324c0d5","html":"\u003cp\u003eFix incorrect reporting of replication lag in \u003ccode\u003epg_stat_replication\u003c/code\u003e view (Fujii Masao) \u003ca href=\"https://postgr.es/c/9670032cc\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eIf any standby server's replay LSN stopped advancing, the \u003ccode\u003ewrite_lag\u003c/code\u003e and \u003ccode\u003eflush_lag\u003c/code\u003e columns would eventually stop updating.\u003c/p\u003e","id":"18.1-b311e5c7746f8633","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.","part":"changes","patch_ids":["8db46f90292912189aba63435360de0e"],"related_changes":[{"db_id":"905cf5ba46c020ac69b28eb9f2785b5c","evidence":{"patch_ids":["8db46f90292912189aba63435360de0e"],"same_day":true,"statement_hash":"64f01eee07baa6edbcfc9de58c6f4a1ee0e57ae42455a11de26eb55f15310c9b"},"kind":"equivalent","label":"17.7","source_url":"/docs/release/17.7/#RELEASE-17-7-CHANGES","title":"Fix incorrect reporting of replication lag in pg_stat_replication view","url":"/docs/compare/?release=17.7#17.7-fbae455a9f86efab","version":"17.7"},{"db_id":"73705651f9a3f30d44ed83016f7ac1b4","evidence":{"patch_ids":["8db46f90292912189aba63435360de0e"],"same_day":true,"statement_hash":"64f01eee07baa6edbcfc9de58c6f4a1ee0e57ae42455a11de26eb55f15310c9b"},"kind":"equivalent","label":"16.11","source_url":"/docs/release/16.11/#RELEASE-16-11-CHANGES","title":"Fix incorrect reporting of replication lag in pg_stat_replication view","url":"/docs/compare/?release=16.11#16.11-6fd1b6c4fcd3c179","version":"16.11"},{"db_id":"791fcff31a58ed212a423b5a722b6f4f","evidence":{"patch_ids":["8db46f90292912189aba63435360de0e"],"same_day":true,"statement_hash":"64f01eee07baa6edbcfc9de58c6f4a1ee0e57ae42455a11de26eb55f15310c9b"},"kind":"equivalent","label":"15.15","source_url":"/docs/release/15.15/#id-1.11.6.10.5","title":"Fix incorrect reporting of replication lag in pg_stat_replication view","url":"/docs/compare/?release=15.15#15.15-0b86e1265303e925","version":"15.15"},{"db_id":"7ca4b40fd7ad687ba5827a90faa10c14","evidence":{"patch_ids":["8db46f90292912189aba63435360de0e"],"same_day":true,"statement_hash":"64f01eee07baa6edbcfc9de58c6f4a1ee0e57ae42455a11de26eb55f15310c9b"},"kind":"equivalent","label":"14.20","source_url":"/docs/release/14.20/#id-1.11.6.10.5","title":"Fix incorrect reporting of replication lag in pg_stat_replication view","url":"/docs/compare/?release=14.20#14.20-e6ac77ccd9c8c250","version":"14.20"},{"db_id":"81b53885fae1691a0cea71be2e9b050a","evidence":{"patch_ids":["8db46f90292912189aba63435360de0e"],"same_day":true,"statement_hash":"64f01eee07baa6edbcfc9de58c6f4a1ee0e57ae42455a11de26eb55f15310c9b"},"kind":"equivalent","label":"13.23","source_url":"/docs/release/13.23/#id-1.11.6.6.6","title":"Fix incorrect reporting of replication lag in pg_stat_replication view","url":"/docs/compare/?release=13.23#13.23-3107d28e63120415","version":"13.23"}],"relations":[{"evidence":{"patch_ids":["8db46f90292912189aba63435360de0e"],"same_day":true,"statement_hash":"64f01eee07baa6edbcfc9de58c6f4a1ee0e57ae42455a11de26eb55f15310c9b"},"rule":2,"target":"73705651f9a3f30d44ed83016f7ac1b4","type":"equivalent"},{"evidence":{"patch_ids":["8db46f90292912189aba63435360de0e"],"same_day":true,"statement_hash":"64f01eee07baa6edbcfc9de58c6f4a1ee0e57ae42455a11de26eb55f15310c9b"},"rule":2,"target":"791fcff31a58ed212a423b5a722b6f4f","type":"equivalent"},{"evidence":{"patch_ids":["8db46f90292912189aba63435360de0e"],"same_day":true,"statement_hash":"64f01eee07baa6edbcfc9de58c6f4a1ee0e57ae42455a11de26eb55f15310c9b"},"rule":2,"target":"7ca4b40fd7ad687ba5827a90faa10c14","type":"equivalent"},{"evidence":{"patch_ids":["8db46f90292912189aba63435360de0e"],"same_day":true,"statement_hash":"64f01eee07baa6edbcfc9de58c6f4a1ee0e57ae42455a11de26eb55f15310c9b"},"rule":2,"target":"81b53885fae1691a0cea71be2e9b050a","type":"equivalent"},{"evidence":{"patch_ids":["8db46f90292912189aba63435360de0e"],"same_day":true,"statement_hash":"64f01eee07baa6edbcfc9de58c6f4a1ee0e57ae42455a11de26eb55f15310c9b"},"rule":2,"target":"905cf5ba46c020ac69b28eb9f2785b5c","type":"equivalent"}],"section":"Changes","section_path":["Changes"],"source_commits":["9670032cc"],"source_entry_id":"18.1/changes/026","source_hash":"4072bb158c7920b7b4bb50d95772901eb7bd28f35a45d14007539c13c9364213","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"64f01eee07baa6edbcfc9de58c6f4a1ee0e57ae42455a11de26eb55f15310c9b","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","variants":[],"version":"18.1"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["1db2870bb","4fd916eab","6ff7ba9fe","b00a16bae","caf529aba","f106f53df","f33e60a53"],"commit_groups":[["1db2870bb","4fd916eab","6ff7ba9fe","b00a16bae","caf529aba","f106f53df","f33e60a53"]],"commits":["6ff7ba9fe"],"cves":[],"db_id":"d99230cf9e376e84d70ff48c950dfbd4","html":"\u003cp\u003eAvoid duplicative log messages about invalid \u003ccode\u003eprimary_slot_name\u003c/code\u003e settings (Fujii Masao) \u003ca href=\"https://postgr.es/c/6ff7ba9fe\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"18.1-f9c71c1aa9e41b8f","identity_text":"Avoid duplicative log messages about invalid primary_slot_name settings (Fujii Masao)","part":"changes","patch_ids":["9c341da983ece804e7edd31cc99a78ce"],"related_changes":[{"db_id":"5c7937a41540430a37c6313f454afd47","evidence":{"patch_ids":["9c341da983ece804e7edd31cc99a78ce"],"same_day":true,"statement_hash":"0ffd9e32fd1eef45d9928e6dee3e2be177442a1dda1f90e9f7218a34bb08d146"},"kind":"equivalent","label":"17.7","source_url":"/docs/release/17.7/#RELEASE-17-7-CHANGES","title":"Avoid duplicative log messages about invalid primary_slot_name settings","url":"/docs/compare/?release=17.7#17.7-a02e0c2e2b41cb37","version":"17.7"},{"db_id":"5d244383e118ee187bdf1d544ea5c57a","evidence":{"patch_ids":["9c341da983ece804e7edd31cc99a78ce"],"same_day":true,"statement_hash":"0ffd9e32fd1eef45d9928e6dee3e2be177442a1dda1f90e9f7218a34bb08d146"},"kind":"equivalent","label":"16.11","source_url":"/docs/release/16.11/#RELEASE-16-11-CHANGES","title":"Avoid duplicative log messages about invalid primary_slot_name settings","url":"/docs/compare/?release=16.11#16.11-ee0cf1e6bc6716c9","version":"16.11"},{"db_id":"d5025bddb4b7e773a31ef5a7852fa818","evidence":{"patch_ids":["9c341da983ece804e7edd31cc99a78ce"],"same_day":true,"statement_hash":"0ffd9e32fd1eef45d9928e6dee3e2be177442a1dda1f90e9f7218a34bb08d146"},"kind":"equivalent","label":"15.15","source_url":"/docs/release/15.15/#id-1.11.6.10.5","title":"Avoid duplicative log messages about invalid primary_slot_name settings","url":"/docs/compare/?release=15.15#15.15-06f80d83cff8e2e7","version":"15.15"},{"db_id":"9c77ea90dcad71a57f74e096fec194cc","evidence":{"patch_ids":["9c341da983ece804e7edd31cc99a78ce"],"same_day":true,"statement_hash":"0ffd9e32fd1eef45d9928e6dee3e2be177442a1dda1f90e9f7218a34bb08d146"},"kind":"equivalent","label":"14.20","source_url":"/docs/release/14.20/#id-1.11.6.10.5","title":"Avoid duplicative log messages about invalid primary_slot_name settings","url":"/docs/compare/?release=14.20#14.20-329643b68626e90f","version":"14.20"},{"db_id":"cf1cf0980c4a8fd8a92c2de26d804a18","evidence":{"patch_ids":["9c341da983ece804e7edd31cc99a78ce"],"same_day":true,"statement_hash":"0ffd9e32fd1eef45d9928e6dee3e2be177442a1dda1f90e9f7218a34bb08d146"},"kind":"equivalent","label":"13.23","source_url":"/docs/release/13.23/#id-1.11.6.6.6","title":"Avoid duplicative log messages about invalid primary_slot_name settings","url":"/docs/compare/?release=13.23#13.23-e92cb908f7177984","version":"13.23"}],"relations":[{"evidence":{"patch_ids":["9c341da983ece804e7edd31cc99a78ce"],"same_day":true,"statement_hash":"0ffd9e32fd1eef45d9928e6dee3e2be177442a1dda1f90e9f7218a34bb08d146"},"rule":2,"target":"5c7937a41540430a37c6313f454afd47","type":"equivalent"},{"evidence":{"patch_ids":["9c341da983ece804e7edd31cc99a78ce"],"same_day":true,"statement_hash":"0ffd9e32fd1eef45d9928e6dee3e2be177442a1dda1f90e9f7218a34bb08d146"},"rule":2,"target":"5d244383e118ee187bdf1d544ea5c57a","type":"equivalent"},{"evidence":{"patch_ids":["9c341da983ece804e7edd31cc99a78ce"],"same_day":true,"statement_hash":"0ffd9e32fd1eef45d9928e6dee3e2be177442a1dda1f90e9f7218a34bb08d146"},"rule":2,"target":"9c77ea90dcad71a57f74e096fec194cc","type":"equivalent"},{"evidence":{"patch_ids":["9c341da983ece804e7edd31cc99a78ce"],"same_day":true,"statement_hash":"0ffd9e32fd1eef45d9928e6dee3e2be177442a1dda1f90e9f7218a34bb08d146"},"rule":2,"target":"cf1cf0980c4a8fd8a92c2de26d804a18","type":"equivalent"},{"evidence":{"patch_ids":["9c341da983ece804e7edd31cc99a78ce"],"same_day":true,"statement_hash":"0ffd9e32fd1eef45d9928e6dee3e2be177442a1dda1f90e9f7218a34bb08d146"},"rule":2,"target":"d5025bddb4b7e773a31ef5a7852fa818","type":"equivalent"}],"section":"Changes","section_path":["Changes"],"source_commits":["6ff7ba9fe"],"source_entry_id":"18.1/changes/027","source_hash":"9a05fa4790b674064b1a98525583db56a4e66371c149f67d363856aaf68a29d3","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"0ffd9e32fd1eef45d9928e6dee3e2be177442a1dda1f90e9f7218a34bb08d146","text":"Avoid duplicative log messages about invalid primary_slot_name settings (Fujii Masao) §","title":"Avoid duplicative log messages about invalid primary_slot_name settings","variants":[],"version":"18.1"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["0024f5a10","b45a8d7d8","e0dc4bbfb"],"commit_groups":[["0024f5a10","b45a8d7d8","e0dc4bbfb"]],"commits":["b45a8d7d8"],"cves":[],"db_id":"b7ea92ca342575d1da32619d7a74920a","html":"\u003cp\u003eAvoid failures when \u003ccode\u003esynchronized_standby_slots\u003c/code\u003e references nonexistent replication slots (Shlok Kyal) \u003ca href=\"https://postgr.es/c/b45a8d7d8\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"18.1-54c0160872575046","identity_text":"Avoid failures when synchronized_standby_slots references nonexistent replication slots (Shlok Kyal)","part":"changes","patch_ids":["d1630eb2f319a290f48352db21038c81"],"related_changes":[{"db_id":"e94415bf2bf6f74daabb0dd238831f93","evidence":{"patch_ids":["d1630eb2f319a290f48352db21038c81"],"same_day":true,"statement_hash":"1adb1692f54e8f619f583ed21023cf15f3e54cd145c1a48e863700b08b0c1d4a"},"kind":"equivalent","label":"17.7","source_url":"/docs/release/17.7/#RELEASE-17-7-CHANGES","title":"Avoid failures when synchronized_standby_slots references nonexistent replication slots","url":"/docs/compare/?release=17.7#17.7-256c71c4a8bc7974","version":"17.7"}],"relations":[{"evidence":{"patch_ids":["d1630eb2f319a290f48352db21038c81"],"same_day":true,"statement_hash":"1adb1692f54e8f619f583ed21023cf15f3e54cd145c1a48e863700b08b0c1d4a"},"rule":2,"target":"e94415bf2bf6f74daabb0dd238831f93","type":"equivalent"}],"section":"Changes","section_path":["Changes"],"source_commits":["b45a8d7d8"],"source_entry_id":"18.1/changes/028","source_hash":"0f406430afac78443128876f868a55c777f0402b61818a0d607be1c70acbd2e0","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"1adb1692f54e8f619f583ed21023cf15f3e54cd145c1a48e863700b08b0c1d4a","text":"Avoid failures when synchronized_standby_slots references nonexistent replication slots (Shlok Kyal) §","title":"Avoid failures when synchronized_standby_slots references nonexistent replication slots","variants":[],"version":"18.1"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["0adf424b4","42348839d","912af1c7e","9a6ea00ac","bfdd1a12d","c878d9808","f57f2760e"],"commit_groups":[["0adf424b4","42348839d","912af1c7e","9a6ea00ac","bfdd1a12d","c878d9808","f57f2760e"]],"commits":["9a6ea00ac"],"cves":[],"db_id":"88acef5002288cf26f90d74ea72f7dd0","html":"\u003cp\u003eRemove the unfinished slot state file after failing to write a replication slot's state to disk (Michael Paquier) \u003ca href=\"https://postgr.es/c/9a6ea00ac\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePreviously, a failure such as out-of-disk-space resulted in leaving a temporary \u003ccode\u003estate.tmp\u003c/code\u003e file behind. That's problematic because it would block all subsequent attempts to write the state, requiring manual intervention to clean up.\u003c/p\u003e","id":"18.1-a601bee3c15f74a5","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.","part":"changes","patch_ids":["6f111c88b72506ba3e2d5c84c1b1cfcf"],"related_changes":[{"db_id":"d3ba6564e6c91003b631012ed6405fc2","evidence":{"patch_ids":["6f111c88b72506ba3e2d5c84c1b1cfcf"],"same_day":true,"statement_hash":"c72e99f08db7312d40c0813e006b0820aa3bd77bf507b6561ee3def67607fe72"},"kind":"equivalent","label":"17.7","source_url":"/docs/release/17.7/#RELEASE-17-7-CHANGES","title":"Remove the unfinished slot state file after failing to write a replication slot's state to disk","url":"/docs/compare/?release=17.7#17.7-fa4d518d83f33a49","version":"17.7"},{"db_id":"0620bfd126e45a7fb30310413dd82566","evidence":{"patch_ids":["6f111c88b72506ba3e2d5c84c1b1cfcf"],"same_day":true,"statement_hash":"c72e99f08db7312d40c0813e006b0820aa3bd77bf507b6561ee3def67607fe72"},"kind":"equivalent","label":"16.11","source_url":"/docs/release/16.11/#RELEASE-16-11-CHANGES","title":"Remove the unfinished slot state file after failing to write a replication slot's state to disk","url":"/docs/compare/?release=16.11#16.11-f777cd18de1f53b2","version":"16.11"},{"db_id":"4f476f781039e87ea8de4907a56dfba2","evidence":{"patch_ids":["6f111c88b72506ba3e2d5c84c1b1cfcf"],"same_day":true,"statement_hash":"c72e99f08db7312d40c0813e006b0820aa3bd77bf507b6561ee3def67607fe72"},"kind":"equivalent","label":"15.15","source_url":"/docs/release/15.15/#id-1.11.6.10.5","title":"Remove the unfinished slot state file after failing to write a replication slot's state to disk","url":"/docs/compare/?release=15.15#15.15-783a22b01672c5c1","version":"15.15"},{"db_id":"8f6b3684b0c7ebef23c4baebfd451ab8","evidence":{"patch_ids":["6f111c88b72506ba3e2d5c84c1b1cfcf"],"same_day":true,"statement_hash":"c72e99f08db7312d40c0813e006b0820aa3bd77bf507b6561ee3def67607fe72"},"kind":"equivalent","label":"14.20","source_url":"/docs/release/14.20/#id-1.11.6.10.5","title":"Remove the unfinished slot state file after failing to write a replication slot's state to disk","url":"/docs/compare/?release=14.20#14.20-790adc94b2e3aa97","version":"14.20"},{"db_id":"5f4978515e70467b8cd476a8782b3741","evidence":{"patch_ids":["6f111c88b72506ba3e2d5c84c1b1cfcf"],"same_day":true,"statement_hash":"c72e99f08db7312d40c0813e006b0820aa3bd77bf507b6561ee3def67607fe72"},"kind":"equivalent","label":"13.23","source_url":"/docs/release/13.23/#id-1.11.6.6.6","title":"Remove the unfinished slot state file after failing to write a replication slot's state to disk","url":"/docs/compare/?release=13.23#13.23-c506ff43f09b181c","version":"13.23"}],"relations":[{"evidence":{"patch_ids":["6f111c88b72506ba3e2d5c84c1b1cfcf"],"same_day":true,"statement_hash":"c72e99f08db7312d40c0813e006b0820aa3bd77bf507b6561ee3def67607fe72"},"rule":2,"target":"0620bfd126e45a7fb30310413dd82566","type":"equivalent"},{"evidence":{"patch_ids":["6f111c88b72506ba3e2d5c84c1b1cfcf"],"same_day":true,"statement_hash":"c72e99f08db7312d40c0813e006b0820aa3bd77bf507b6561ee3def67607fe72"},"rule":2,"target":"4f476f781039e87ea8de4907a56dfba2","type":"equivalent"},{"evidence":{"patch_ids":["6f111c88b72506ba3e2d5c84c1b1cfcf"],"same_day":true,"statement_hash":"c72e99f08db7312d40c0813e006b0820aa3bd77bf507b6561ee3def67607fe72"},"rule":2,"target":"5f4978515e70467b8cd476a8782b3741","type":"equivalent"},{"evidence":{"patch_ids":["6f111c88b72506ba3e2d5c84c1b1cfcf"],"same_day":true,"statement_hash":"c72e99f08db7312d40c0813e006b0820aa3bd77bf507b6561ee3def67607fe72"},"rule":2,"target":"8f6b3684b0c7ebef23c4baebfd451ab8","type":"equivalent"},{"evidence":{"patch_ids":["6f111c88b72506ba3e2d5c84c1b1cfcf"],"same_day":true,"statement_hash":"c72e99f08db7312d40c0813e006b0820aa3bd77bf507b6561ee3def67607fe72"},"rule":2,"target":"d3ba6564e6c91003b631012ed6405fc2","type":"equivalent"}],"section":"Changes","section_path":["Changes"],"source_commits":["9a6ea00ac"],"source_entry_id":"18.1/changes/029","source_hash":"9a2261e57d450c78d7ff2e36d822d6f24474a1f6410381427fd18ddb7cc75686","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"c72e99f08db7312d40c0813e006b0820aa3bd77bf507b6561ee3def67607fe72","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","variants":[],"version":"18.1"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["2f6e1a490","37fc5de43","a54c7a113","e41d954da"],"commit_groups":[["2f6e1a490","37fc5de43","a54c7a113","e41d954da"]],"commits":["37fc5de43"],"cves":[],"db_id":"943decff2b98c926290fdf650e4a0edc","html":"\u003cp\u003eFix mishandling of lock timeout signals in parallel apply workers for logical replication (Hayato Kuroda) \u003ca href=\"https://postgr.es/c/37fc5de43\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThe same signal number was being used for both worker shutdown and lock timeout, leading to confusion.\u003c/p\u003e","id":"18.1-b4b351d19dc05865","identity_text":"Fix mishandling of lock timeout signals in parallel apply workers for logical replication (Hayato Kuroda) The same signal number was being used for both worker shutdown and lock timeout, leading to confusion.","part":"changes","patch_ids":["b3db903786744763190489d6bf47d765"],"related_changes":[{"db_id":"50ee30b81e767311733d723cd36948c0","evidence":{"patch_ids":["b3db903786744763190489d6bf47d765"],"same_day":true,"statement_hash":"eeca05449e3cc33c400da91c2fe568d3d74ef1488cd64e05a219a1d4578a1575"},"kind":"equivalent","label":"17.7","source_url":"/docs/release/17.7/#RELEASE-17-7-CHANGES","title":"Fix mishandling of lock timeout signals in parallel apply workers for logical replication","url":"/docs/compare/?release=17.7#17.7-2f08c0b5ad93baa5","version":"17.7"},{"db_id":"b1d5f444628e0aea3eb678b0a2d29dfa","evidence":{"patch_ids":["b3db903786744763190489d6bf47d765"],"same_day":true,"statement_hash":"eeca05449e3cc33c400da91c2fe568d3d74ef1488cd64e05a219a1d4578a1575"},"kind":"equivalent","label":"16.11","source_url":"/docs/release/16.11/#RELEASE-16-11-CHANGES","title":"Fix mishandling of lock timeout signals in parallel apply workers for logical replication","url":"/docs/compare/?release=16.11#16.11-acfdc23367087fb5","version":"16.11"}],"relations":[{"evidence":{"patch_ids":["b3db903786744763190489d6bf47d765"],"same_day":true,"statement_hash":"eeca05449e3cc33c400da91c2fe568d3d74ef1488cd64e05a219a1d4578a1575"},"rule":2,"target":"50ee30b81e767311733d723cd36948c0","type":"equivalent"},{"evidence":{"patch_ids":["b3db903786744763190489d6bf47d765"],"same_day":true,"statement_hash":"eeca05449e3cc33c400da91c2fe568d3d74ef1488cd64e05a219a1d4578a1575"},"rule":2,"target":"b1d5f444628e0aea3eb678b0a2d29dfa","type":"equivalent"}],"section":"Changes","section_path":["Changes"],"source_commits":["37fc5de43"],"source_entry_id":"18.1/changes/030","source_hash":"714e58270e4ca5f91f9e2d91bc61604ea15cf638406700f413135f063d7942c8","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"eeca05449e3cc33c400da91c2fe568d3d74ef1488cd64e05a219a1d4578a1575","text":"Fix mishandling of lock timeout signals in parallel apply workers for logical replication (Hayato Kuroda) § The same signal number was being used for both worker shutdown and lock timeout, leading to confusion.","title":"Fix mishandling of lock timeout signals in parallel apply workers for logical replication","variants":[],"version":"18.1"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["17b2d5ec7","25b484080","9b6109607","a14201073","a1b8b3b2e","da5ea6c70","e7340b484"],"commit_groups":[["17b2d5ec7","25b484080","9b6109607","a14201073","a1b8b3b2e","da5ea6c70","e7340b484"]],"commits":["a14201073"],"cves":[],"db_id":"5e6622b056fdeebae1797bcd6bab73d8","html":"\u003cp\u003eAvoid unwanted WAL receiver shutdown when switching from streaming to archive WAL source (Xuneng Zhou) \u003ca href=\"https://postgr.es/c/a14201073\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eDuring 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.\u003c/p\u003e","id":"18.1-a20d69b97abaf6de","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.","part":"changes","patch_ids":["c329a1ce9ca7c1f3b46341c92f972ea9"],"related_changes":[{"db_id":"b76ca1acc7d0e06651b84c05d5298bb5","evidence":{"patch_ids":["c329a1ce9ca7c1f3b46341c92f972ea9"],"same_day":true,"statement_hash":"94e86829e542dbec362b5314cb0d0420170b66f94aea79d642bd1905c93f5d74"},"kind":"equivalent","label":"17.7","source_url":"/docs/release/17.7/#RELEASE-17-7-CHANGES","title":"Avoid unwanted WAL receiver shutdown when switching from streaming to archive WAL source","url":"/docs/compare/?release=17.7#17.7-0a048ec34f6d4d74","version":"17.7"},{"db_id":"74dc0b8668a34ee86a69e81b07977ac3","evidence":{"patch_ids":["c329a1ce9ca7c1f3b46341c92f972ea9"],"same_day":true,"statement_hash":"94e86829e542dbec362b5314cb0d0420170b66f94aea79d642bd1905c93f5d74"},"kind":"equivalent","label":"16.11","source_url":"/docs/release/16.11/#RELEASE-16-11-CHANGES","title":"Avoid unwanted WAL receiver shutdown when switching from streaming to archive WAL source","url":"/docs/compare/?release=16.11#16.11-5e20452104432165","version":"16.11"},{"db_id":"186f1aca8e166170a7cedbb47670ed32","evidence":{"patch_ids":["c329a1ce9ca7c1f3b46341c92f972ea9"],"same_day":true,"statement_hash":"94e86829e542dbec362b5314cb0d0420170b66f94aea79d642bd1905c93f5d74"},"kind":"equivalent","label":"15.15","source_url":"/docs/release/15.15/#id-1.11.6.10.5","title":"Avoid unwanted WAL receiver shutdown when switching from streaming to archive WAL source","url":"/docs/compare/?release=15.15#15.15-96abfce14575540c","version":"15.15"},{"db_id":"c392b0b8a9a1720a5f28a1d62993d15b","evidence":{"patch_ids":["c329a1ce9ca7c1f3b46341c92f972ea9"],"same_day":true,"statement_hash":"94e86829e542dbec362b5314cb0d0420170b66f94aea79d642bd1905c93f5d74"},"kind":"equivalent","label":"14.20","source_url":"/docs/release/14.20/#id-1.11.6.10.5","title":"Avoid unwanted WAL receiver shutdown when switching from streaming to archive WAL source","url":"/docs/compare/?release=14.20#14.20-c26203a903d008e3","version":"14.20"},{"db_id":"7e82176acdf9327aca4da62b00d1400a","evidence":{"patch_ids":["c329a1ce9ca7c1f3b46341c92f972ea9"],"same_day":true,"statement_hash":"94e86829e542dbec362b5314cb0d0420170b66f94aea79d642bd1905c93f5d74"},"kind":"equivalent","label":"13.23","source_url":"/docs/release/13.23/#id-1.11.6.6.6","title":"Avoid unwanted WAL receiver shutdown when switching from streaming to archive WAL source","url":"/docs/compare/?release=13.23#13.23-4af8775ea855af94","version":"13.23"}],"relations":[{"evidence":{"patch_ids":["c329a1ce9ca7c1f3b46341c92f972ea9"],"same_day":true,"statement_hash":"94e86829e542dbec362b5314cb0d0420170b66f94aea79d642bd1905c93f5d74"},"rule":2,"target":"186f1aca8e166170a7cedbb47670ed32","type":"equivalent"},{"evidence":{"patch_ids":["c329a1ce9ca7c1f3b46341c92f972ea9"],"same_day":true,"statement_hash":"94e86829e542dbec362b5314cb0d0420170b66f94aea79d642bd1905c93f5d74"},"rule":2,"target":"74dc0b8668a34ee86a69e81b07977ac3","type":"equivalent"},{"evidence":{"patch_ids":["c329a1ce9ca7c1f3b46341c92f972ea9"],"same_day":true,"statement_hash":"94e86829e542dbec362b5314cb0d0420170b66f94aea79d642bd1905c93f5d74"},"rule":2,"target":"7e82176acdf9327aca4da62b00d1400a","type":"equivalent"},{"evidence":{"patch_ids":["c329a1ce9ca7c1f3b46341c92f972ea9"],"same_day":true,"statement_hash":"94e86829e542dbec362b5314cb0d0420170b66f94aea79d642bd1905c93f5d74"},"rule":2,"target":"b76ca1acc7d0e06651b84c05d5298bb5","type":"equivalent"},{"evidence":{"patch_ids":["c329a1ce9ca7c1f3b46341c92f972ea9"],"same_day":true,"statement_hash":"94e86829e542dbec362b5314cb0d0420170b66f94aea79d642bd1905c93f5d74"},"rule":2,"target":"c392b0b8a9a1720a5f28a1d62993d15b","type":"equivalent"}],"section":"Changes","section_path":["Changes"],"source_commits":["a14201073"],"source_entry_id":"18.1/changes/031","source_hash":"1e48a276127802a798f2d83743e6434e202fd58ee0a2faa8438270cc38bed7ca","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"94e86829e542dbec362b5314cb0d0420170b66f94aea79d642bd1905c93f5d74","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","variants":[],"version":"18.1"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["32b95fc71","a61592253","b07682bce","b46efe904","c40761759"],"commit_groups":[["32b95fc71","a61592253","b07682bce","b46efe904","c40761759"]],"commits":["32b95fc71"],"cves":[],"db_id":"01678f172fb01945bdf37dee98659abb","html":"\u003cp\u003eFix use-after-free issue in the relation synchronization cache maintained by the \u003cspan\u003epgoutput\u003c/span\u003e logical decoding plugin (Vignesh C, Masahiko Sawada) \u003ca href=\"https://postgr.es/c/32b95fc71\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eAn error during logical decoding could result in crashes in subsequent logical decoding attempts in the same session. The case is only reachable when \u003cspan\u003epgoutput\u003c/span\u003e is invoked via SQL functions.\u003c/p\u003e","id":"18.1-5ac1192568f3b470","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.","part":"changes","patch_ids":["f0d90b350350451bd966913a51e4879b"],"related_changes":[{"db_id":"b5c5a46598eb51eef76d3c62dc981396","evidence":{"patch_ids":["f0d90b350350451bd966913a51e4879b"],"same_day":true,"statement_hash":"a5100d60852834442dddf7c470eb3398c76e0d2de98829a3277bf107f97642fc"},"kind":"equivalent","label":"17.7","source_url":"/docs/release/17.7/#RELEASE-17-7-CHANGES","title":"Fix use-after-free issue in the relation synchronization cache maintained by the pgoutput logical decoding plugin","url":"/docs/compare/?release=17.7#17.7-db1ad25a90aef00e","version":"17.7"},{"db_id":"bd8536eb35145d43f731406b08299135","evidence":{"patch_ids":["f0d90b350350451bd966913a51e4879b"],"same_day":true,"statement_hash":"a5100d60852834442dddf7c470eb3398c76e0d2de98829a3277bf107f97642fc"},"kind":"equivalent","label":"16.11","source_url":"/docs/release/16.11/#RELEASE-16-11-CHANGES","title":"Fix use-after-free issue in the relation synchronization cache maintained by the pgoutput logical decoding plugin","url":"/docs/compare/?release=16.11#16.11-83edf36bdfedb497","version":"16.11"},{"db_id":"88eeed6b80c39786442df0b17dadee4a","evidence":{"patch_ids":["f0d90b350350451bd966913a51e4879b"],"same_day":true,"statement_hash":"a5100d60852834442dddf7c470eb3398c76e0d2de98829a3277bf107f97642fc"},"kind":"equivalent","label":"15.15","source_url":"/docs/release/15.15/#id-1.11.6.10.5","title":"Fix use-after-free issue in the relation synchronization cache maintained by the pgoutput logical decoding plugin","url":"/docs/compare/?release=15.15#15.15-8b79db713221db62","version":"15.15"}],"relations":[{"evidence":{"patch_ids":["f0d90b350350451bd966913a51e4879b"],"same_day":true,"statement_hash":"a5100d60852834442dddf7c470eb3398c76e0d2de98829a3277bf107f97642fc"},"rule":2,"target":"88eeed6b80c39786442df0b17dadee4a","type":"equivalent"},{"evidence":{"patch_ids":["f0d90b350350451bd966913a51e4879b"],"same_day":true,"statement_hash":"a5100d60852834442dddf7c470eb3398c76e0d2de98829a3277bf107f97642fc"},"rule":2,"target":"b5c5a46598eb51eef76d3c62dc981396","type":"equivalent"},{"evidence":{"patch_ids":["f0d90b350350451bd966913a51e4879b"],"same_day":true,"statement_hash":"a5100d60852834442dddf7c470eb3398c76e0d2de98829a3277bf107f97642fc"},"rule":2,"target":"bd8536eb35145d43f731406b08299135","type":"equivalent"}],"section":"Changes","section_path":["Changes"],"source_commits":["32b95fc71"],"source_entry_id":"18.1/changes/032","source_hash":"5e0d3bf538ab0c71063d21857506abb59dbd382251a7f9371a0e85c8a0ca57f3","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"a5100d60852834442dddf7c470eb3398c76e0d2de98829a3277bf107f97642fc","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","variants":[],"version":"18.1"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["bf3dba508","d43209468","e3714dc05","f3fb6bc9f"],"commit_groups":[["bf3dba508","d43209468","e3714dc05","f3fb6bc9f"]],"commits":["bf3dba508"],"cves":[],"db_id":"dbc091f15023788511302d163d035b51","html":"\u003cp\u003eAvoid unnecessary invalidation of logical replication slots (Bertrand Drouvot) \u003ca href=\"https://postgr.es/c/bf3dba508\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"18.1-11b960ad24efa0be","identity_text":"Avoid unnecessary invalidation of logical replication slots (Bertrand Drouvot)","part":"changes","patch_ids":["6ea9f1034627e064a66a9993eefe3326"],"related_changes":[{"db_id":"d82a9dd65733472f8ceb24aa092ce2c1","evidence":{"patch_ids":["6ea9f1034627e064a66a9993eefe3326"],"same_day":true,"statement_hash":"2258d0e5693992de151b50019fd28e9463cd70463c082a7437cf067dd3c0016c"},"kind":"equivalent","label":"17.7","source_url":"/docs/release/17.7/#RELEASE-17-7-CHANGES","title":"Avoid unnecessary invalidation of logical replication slots","url":"/docs/compare/?release=17.7#17.7-7503f801e6751f4a","version":"17.7"},{"db_id":"cb9ea43000f5f0564c0ad169585ea59f","evidence":{"patch_ids":["6ea9f1034627e064a66a9993eefe3326"],"same_day":true,"statement_hash":"2258d0e5693992de151b50019fd28e9463cd70463c082a7437cf067dd3c0016c"},"kind":"equivalent","label":"16.11","source_url":"/docs/release/16.11/#RELEASE-16-11-CHANGES","title":"Avoid unnecessary invalidation of logical replication slots","url":"/docs/compare/?release=16.11#16.11-1bcfcc46772ad747","version":"16.11"}],"relations":[{"evidence":{"patch_ids":["6ea9f1034627e064a66a9993eefe3326"],"same_day":true,"statement_hash":"2258d0e5693992de151b50019fd28e9463cd70463c082a7437cf067dd3c0016c"},"rule":2,"target":"cb9ea43000f5f0564c0ad169585ea59f","type":"equivalent"},{"evidence":{"patch_ids":["6ea9f1034627e064a66a9993eefe3326"],"same_day":true,"statement_hash":"2258d0e5693992de151b50019fd28e9463cd70463c082a7437cf067dd3c0016c"},"rule":2,"target":"d82a9dd65733472f8ceb24aa092ce2c1","type":"equivalent"}],"section":"Changes","section_path":["Changes"],"source_commits":["bf3dba508"],"source_entry_id":"18.1/changes/033","source_hash":"8314a67474fb2faf2aa29f6d4a6461256fd1f4b2de6a62e94ae410489e1838d1","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"2258d0e5693992de151b50019fd28e9463cd70463c082a7437cf067dd3c0016c","text":"Avoid unnecessary invalidation of logical replication slots (Bertrand Drouvot) §","title":"Avoid unnecessary invalidation of logical replication slots","variants":[],"version":"18.1"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["3ebea75f9","d115de9d8"],"commit_groups":[["3ebea75f9","d115de9d8"]],"commits":["3ebea75f9"],"cves":[],"db_id":"f3a09ba6d76319872cf3c57dfe3cbb7f","html":"\u003cp\u003eRe-establish special case for \u003ccode\u003eC\u003c/code\u003e collation in locale setup (Jeff Davis) \u003ca href=\"https://postgr.es/c/3ebea75f9\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis fixes a regression in access to shared catalogs early in backend startup, before a database has been selected. It is not known to be a problem for any core \u003cspan\u003ePostgreSQL\u003c/span\u003e code, but some extensions were broken.\u003c/p\u003e","id":"18.1-33661c84650917d0","identity_text":"Re-establish special case for C collation in locale setup (Jeff Davis) This fixes a regression in access to shared catalogs early in backend startup, before a database has been selected. It is not known to be a problem for any core PostgreSQL code, but some extensions were broken.","part":"changes","patch_ids":["8a35575852644cce7c43988f09a72271"],"related_changes":[],"relations":[],"section":"Changes","section_path":["Changes"],"source_commits":["3ebea75f9"],"source_entry_id":"18.1/changes/034","source_hash":"5967144f5a9ac390e5f43e37e44136126f8a69ddef70fa46672228f341690c6e","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"a7ae6078a0c5cd7c2be592c68fcd68fe554b04a4788ec782c9e11a5f99e01b1d","text":"Re-establish special case for C collation in locale setup (Jeff Davis) § This fixes a regression in access to shared catalogs early in backend startup, before a database has been selected. It is not known to be a problem for any core PostgreSQL code, but some extensions were broken.","title":"Re-establish special case for C collation in locale setup","variants":[],"version":"18.1"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["03bf7a12c","4c53519e1","75a555d61","9883e3cd1","b48ae226e","e91eb4ad6","f91666c83"],"commit_groups":[["03bf7a12c","4c53519e1","75a555d61","9883e3cd1","b48ae226e","e91eb4ad6","f91666c83"]],"commits":["b48ae226e"],"cves":[],"db_id":"54e06bd3860e1bbda5ac887cf9128e18","html":"\u003cp\u003eFix incorrect printing of messages about failures in checking whether the user has Windows administrator privilege (Bryan Green) \u003ca href=\"https://postgr.es/c/b48ae226e\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis 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.\u003c/p\u003e","id":"18.1-0bab432ae295bddb","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.","part":"changes","patch_ids":["d55ac972fc177556ea4a0e974c012182"],"related_changes":[{"db_id":"1bce0a6531645bd3f70523a4fd591cf3","evidence":{"patch_ids":["d55ac972fc177556ea4a0e974c012182"],"same_day":true,"statement_hash":"eaba82bd3ddf1952b1b8d1f5d8eb79c610f601c3b23948c4873ea0e85ca0e1ef"},"kind":"equivalent","label":"17.7","source_url":"/docs/release/17.7/#RELEASE-17-7-CHANGES","title":"Fix incorrect printing of messages about failures in checking whether the user has Windows administrator privilege","url":"/docs/compare/?release=17.7#17.7-6554bc7b77289e22","version":"17.7"},{"db_id":"92380498a4385f5ba77ddf5e840497f2","evidence":{"patch_ids":["d55ac972fc177556ea4a0e974c012182"],"same_day":true,"statement_hash":"eaba82bd3ddf1952b1b8d1f5d8eb79c610f601c3b23948c4873ea0e85ca0e1ef"},"kind":"equivalent","label":"16.11","source_url":"/docs/release/16.11/#RELEASE-16-11-CHANGES","title":"Fix incorrect printing of messages about failures in checking whether the user has Windows administrator privilege","url":"/docs/compare/?release=16.11#16.11-713a970c4e1b104e","version":"16.11"},{"db_id":"27ca4eb718e79592fec76dc7fda731c1","evidence":{"patch_ids":["d55ac972fc177556ea4a0e974c012182"],"same_day":true,"statement_hash":"eaba82bd3ddf1952b1b8d1f5d8eb79c610f601c3b23948c4873ea0e85ca0e1ef"},"kind":"equivalent","label":"15.15","source_url":"/docs/release/15.15/#id-1.11.6.10.5","title":"Fix incorrect printing of messages about failures in checking whether the user has Windows administrator privilege","url":"/docs/compare/?release=15.15#15.15-c16c9322537a1ada","version":"15.15"},{"db_id":"fc910ae34d590e376c66274cf6b8087f","evidence":{"patch_ids":["d55ac972fc177556ea4a0e974c012182"],"same_day":true,"statement_hash":"eaba82bd3ddf1952b1b8d1f5d8eb79c610f601c3b23948c4873ea0e85ca0e1ef"},"kind":"equivalent","label":"14.20","source_url":"/docs/release/14.20/#id-1.11.6.10.5","title":"Fix incorrect printing of messages about failures in checking whether the user has Windows administrator privilege","url":"/docs/compare/?release=14.20#14.20-1da5f9c55441affe","version":"14.20"},{"db_id":"bf9e24f2b769f783785421c6c4666a0a","evidence":{"patch_ids":["d55ac972fc177556ea4a0e974c012182"],"same_day":true,"statement_hash":"eaba82bd3ddf1952b1b8d1f5d8eb79c610f601c3b23948c4873ea0e85ca0e1ef"},"kind":"equivalent","label":"13.23","source_url":"/docs/release/13.23/#id-1.11.6.6.6","title":"Fix incorrect printing of messages about failures in checking whether the user has Windows administrator privilege","url":"/docs/compare/?release=13.23#13.23-f44c9122c79014ab","version":"13.23"}],"relations":[{"evidence":{"patch_ids":["d55ac972fc177556ea4a0e974c012182"],"same_day":true,"statement_hash":"eaba82bd3ddf1952b1b8d1f5d8eb79c610f601c3b23948c4873ea0e85ca0e1ef"},"rule":2,"target":"1bce0a6531645bd3f70523a4fd591cf3","type":"equivalent"},{"evidence":{"patch_ids":["d55ac972fc177556ea4a0e974c012182"],"same_day":true,"statement_hash":"eaba82bd3ddf1952b1b8d1f5d8eb79c610f601c3b23948c4873ea0e85ca0e1ef"},"rule":2,"target":"27ca4eb718e79592fec76dc7fda731c1","type":"equivalent"},{"evidence":{"patch_ids":["d55ac972fc177556ea4a0e974c012182"],"same_day":true,"statement_hash":"eaba82bd3ddf1952b1b8d1f5d8eb79c610f601c3b23948c4873ea0e85ca0e1ef"},"rule":2,"target":"92380498a4385f5ba77ddf5e840497f2","type":"equivalent"},{"evidence":{"patch_ids":["d55ac972fc177556ea4a0e974c012182"],"same_day":true,"statement_hash":"eaba82bd3ddf1952b1b8d1f5d8eb79c610f601c3b23948c4873ea0e85ca0e1ef"},"rule":2,"target":"bf9e24f2b769f783785421c6c4666a0a","type":"equivalent"},{"evidence":{"patch_ids":["d55ac972fc177556ea4a0e974c012182"],"same_day":true,"statement_hash":"eaba82bd3ddf1952b1b8d1f5d8eb79c610f601c3b23948c4873ea0e85ca0e1ef"},"rule":2,"target":"fc910ae34d590e376c66274cf6b8087f","type":"equivalent"}],"section":"Changes","section_path":["Changes"],"source_commits":["b48ae226e"],"source_entry_id":"18.1/changes/035","source_hash":"5b3d2f02beb4e4207ef2adb44b13c503bb6ce3715b669e0353ee71a40523866b","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"eaba82bd3ddf1952b1b8d1f5d8eb79c610f601c3b23948c4873ea0e85ca0e1ef","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","variants":[],"version":"18.1"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["6d8acb777","a9515f294","c775bf048","d4baa327a"],"commit_groups":[["6d8acb777","a9515f294","c775bf048","d4baa327a"]],"commits":["6d8acb777"],"cves":[],"db_id":"78099173e39c6c3e78fe3e6dbd3ae346","html":"\u003cp\u003eAvoid crash when attempting to test \u003cspan\u003ePostgreSQL\u003c/span\u003e with certain libsanitizer options (Emmanuel Sibi, Jacob Champion) \u003ca href=\"https://postgr.es/c/6d8acb777\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"18.1-c00c424726e8c2ba","identity_text":"Avoid crash when attempting to test PostgreSQL with certain libsanitizer options (Emmanuel Sibi, Jacob Champion)","part":"changes","patch_ids":["0aa2e1766b342d485aa4d51817595af8"],"related_changes":[{"db_id":"3fe9f73cb5b5abb15f5187f203890f07","evidence":{"patch_ids":["0aa2e1766b342d485aa4d51817595af8"],"same_day":true,"statement_hash":"8083d2803e957ae96e87e94e8d681a4e2bbd775e61d5de91ea925956e3a45ce9"},"kind":"equivalent","label":"17.7","source_url":"/docs/release/17.7/#RELEASE-17-7-CHANGES","title":"Avoid crash when attempting to test PostgreSQL with certain libsanitizer options","url":"/docs/compare/?release=17.7#17.7-9ade7eda82977791","version":"17.7"},{"db_id":"1a27f92e7f186016d17a28e80fd6ba2a","evidence":{"patch_ids":["0aa2e1766b342d485aa4d51817595af8"],"same_day":true,"statement_hash":"8083d2803e957ae96e87e94e8d681a4e2bbd775e61d5de91ea925956e3a45ce9"},"kind":"equivalent","label":"16.11","source_url":"/docs/release/16.11/#RELEASE-16-11-CHANGES","title":"Avoid crash when attempting to test PostgreSQL with certain libsanitizer options","url":"/docs/compare/?release=16.11#16.11-7de2c5088616a5bc","version":"16.11"}],"relations":[{"evidence":{"patch_ids":["0aa2e1766b342d485aa4d51817595af8"],"same_day":true,"statement_hash":"8083d2803e957ae96e87e94e8d681a4e2bbd775e61d5de91ea925956e3a45ce9"},"rule":2,"target":"1a27f92e7f186016d17a28e80fd6ba2a","type":"equivalent"},{"evidence":{"patch_ids":["0aa2e1766b342d485aa4d51817595af8"],"same_day":true,"statement_hash":"8083d2803e957ae96e87e94e8d681a4e2bbd775e61d5de91ea925956e3a45ce9"},"rule":2,"target":"3fe9f73cb5b5abb15f5187f203890f07","type":"equivalent"}],"section":"Changes","section_path":["Changes"],"source_commits":["6d8acb777"],"source_entry_id":"18.1/changes/036","source_hash":"02b71b367fa5b096a4d78c9500bb07dc328a3f881cd84ef6bb00ab944d1b7821","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"8083d2803e957ae96e87e94e8d681a4e2bbd775e61d5de91ea925956e3a45ce9","text":"Avoid crash when attempting to test PostgreSQL with certain libsanitizer options (Emmanuel Sibi, Jacob Champion) §","title":"Avoid crash when attempting to test PostgreSQL with certain libsanitizer options","variants":[],"version":"18.1"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["50eb4e118","7b955c227","86bd9497f","af3a79e08","bd6f986c9","cdc04a6c3","f3420e006"],"commit_groups":[["50eb4e118","7b955c227","86bd9497f","af3a79e08","bd6f986c9","cdc04a6c3","f3420e006"]],"commits":["af3a79e08"],"cves":[],"db_id":"8df4cb56b5956e0bcfd2f6b1733b74cc","html":"\u003cp\u003eFix false memory-context-checking warnings in debug builds on 64-bit Windows (David Rowley) \u003ca href=\"https://postgr.es/c/af3a79e08\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"18.1-6ea24c894273b60d","identity_text":"Fix false memory-context-checking warnings in debug builds on 64-bit Windows (David Rowley)","part":"changes","patch_ids":["61b56c5fae6f5e9db534484ddd08ba36"],"related_changes":[{"db_id":"84067ed8a3ba1028de01b8a46f2000b9","evidence":{"patch_ids":["61b56c5fae6f5e9db534484ddd08ba36"],"same_day":true,"statement_hash":"318257c40de6d58edd2102cd728c1f712d4472c110c6470d0b05fd6cea50be8a"},"kind":"equivalent","label":"17.7","source_url":"/docs/release/17.7/#RELEASE-17-7-CHANGES","title":"Fix false memory-context-checking warnings in debug builds on 64-bit Windows","url":"/docs/compare/?release=17.7#17.7-a455f9dd0199fe9d","version":"17.7"},{"db_id":"801cc326322f22aa573edf2c98d1162f","evidence":{"patch_ids":["61b56c5fae6f5e9db534484ddd08ba36"],"same_day":true,"statement_hash":"318257c40de6d58edd2102cd728c1f712d4472c110c6470d0b05fd6cea50be8a"},"kind":"equivalent","label":"16.11","source_url":"/docs/release/16.11/#RELEASE-16-11-CHANGES","title":"Fix false memory-context-checking warnings in debug builds on 64-bit Windows","url":"/docs/compare/?release=16.11#16.11-44cfa1596c4b914f","version":"16.11"},{"db_id":"0acaf19cbd02c251f9c72a3566ceafd2","evidence":{"patch_ids":["61b56c5fae6f5e9db534484ddd08ba36"],"same_day":true,"statement_hash":"318257c40de6d58edd2102cd728c1f712d4472c110c6470d0b05fd6cea50be8a"},"kind":"equivalent","label":"15.15","source_url":"/docs/release/15.15/#id-1.11.6.10.5","title":"Fix false memory-context-checking warnings in debug builds on 64-bit Windows","url":"/docs/compare/?release=15.15#15.15-3fd801b6ac3f82a6","version":"15.15"},{"db_id":"01aaa14579e082646793b4e27afbf21b","evidence":{"patch_ids":["61b56c5fae6f5e9db534484ddd08ba36"],"same_day":true,"statement_hash":"318257c40de6d58edd2102cd728c1f712d4472c110c6470d0b05fd6cea50be8a"},"kind":"equivalent","label":"14.20","source_url":"/docs/release/14.20/#id-1.11.6.10.5","title":"Fix false memory-context-checking warnings in debug builds on 64-bit Windows","url":"/docs/compare/?release=14.20#14.20-30a0eb01d03d06bf","version":"14.20"},{"db_id":"fc378456b09d8aee7ced8ece43c87341","evidence":{"patch_ids":["61b56c5fae6f5e9db534484ddd08ba36"],"same_day":true,"statement_hash":"318257c40de6d58edd2102cd728c1f712d4472c110c6470d0b05fd6cea50be8a"},"kind":"equivalent","label":"13.23","source_url":"/docs/release/13.23/#id-1.11.6.6.6","title":"Fix false memory-context-checking warnings in debug builds on 64-bit Windows","url":"/docs/compare/?release=13.23#13.23-5134dab5d7fbe159","version":"13.23"}],"relations":[{"evidence":{"patch_ids":["61b56c5fae6f5e9db534484ddd08ba36"],"same_day":true,"statement_hash":"318257c40de6d58edd2102cd728c1f712d4472c110c6470d0b05fd6cea50be8a"},"rule":2,"target":"01aaa14579e082646793b4e27afbf21b","type":"equivalent"},{"evidence":{"patch_ids":["61b56c5fae6f5e9db534484ddd08ba36"],"same_day":true,"statement_hash":"318257c40de6d58edd2102cd728c1f712d4472c110c6470d0b05fd6cea50be8a"},"rule":2,"target":"0acaf19cbd02c251f9c72a3566ceafd2","type":"equivalent"},{"evidence":{"patch_ids":["61b56c5fae6f5e9db534484ddd08ba36"],"same_day":true,"statement_hash":"318257c40de6d58edd2102cd728c1f712d4472c110c6470d0b05fd6cea50be8a"},"rule":2,"target":"801cc326322f22aa573edf2c98d1162f","type":"equivalent"},{"evidence":{"patch_ids":["61b56c5fae6f5e9db534484ddd08ba36"],"same_day":true,"statement_hash":"318257c40de6d58edd2102cd728c1f712d4472c110c6470d0b05fd6cea50be8a"},"rule":2,"target":"84067ed8a3ba1028de01b8a46f2000b9","type":"equivalent"},{"evidence":{"patch_ids":["61b56c5fae6f5e9db534484ddd08ba36"],"same_day":true,"statement_hash":"318257c40de6d58edd2102cd728c1f712d4472c110c6470d0b05fd6cea50be8a"},"rule":2,"target":"fc378456b09d8aee7ced8ece43c87341","type":"equivalent"}],"section":"Changes","section_path":["Changes"],"source_commits":["af3a79e08"],"source_entry_id":"18.1/changes/037","source_hash":"331b95d0ec60c21a82adc672dd67221a36a5f899be5338cdfc4a478771cdb3d1","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"318257c40de6d58edd2102cd728c1f712d4472c110c6470d0b05fd6cea50be8a","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","variants":[],"version":"18.1"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["0be39b4b1","3fc9aa5b0","7504d2be9","78a284b0b","9ca79896a","b7f6798c0"],"commit_groups":[["0be39b4b1","3fc9aa5b0","7504d2be9","78a284b0b","9ca79896a","b7f6798c0"]],"commits":["78a284b0b"],"cves":[],"db_id":"f25c1bf3d1b0bc45940ba06662dd7fac","html":"\u003cp\u003eCorrectly handle \u003ccode\u003eGROUP BY DISTINCT\u003c/code\u003e in PL/pgSQL assignment statements (Tom Lane) \u003ca href=\"https://postgr.es/c/78a284b0b\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThe parser failed to record the \u003ccode\u003eDISTINCT\u003c/code\u003e option in this context, so that the command would act as if it were plain \u003ccode\u003eGROUP BY\u003c/code\u003e.\u003c/p\u003e","id":"18.1-ea24cf69287cae1d","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.","part":"changes","patch_ids":["a73af4d4bc9077b2b6083baf3ae9afa7"],"related_changes":[{"db_id":"5d72fc4fde390c5d9153f30aa3ce32f6","evidence":{"patch_ids":["a73af4d4bc9077b2b6083baf3ae9afa7"],"same_day":true,"statement_hash":"4b45bae1f781f46524306017d2565200da9a292424814416e43bb0c51c2b250a"},"kind":"equivalent","label":"17.7","source_url":"/docs/release/17.7/#RELEASE-17-7-CHANGES","title":"Correctly handle GROUP BY DISTINCT in PL/pgSQL assignment statements","url":"/docs/compare/?release=17.7#17.7-da35b615699d0e38","version":"17.7"},{"db_id":"bed9ac21d6b5104de301b89d80efe413","evidence":{"patch_ids":["a73af4d4bc9077b2b6083baf3ae9afa7"],"same_day":true,"statement_hash":"4b45bae1f781f46524306017d2565200da9a292424814416e43bb0c51c2b250a"},"kind":"equivalent","label":"16.11","source_url":"/docs/release/16.11/#RELEASE-16-11-CHANGES","title":"Correctly handle GROUP BY DISTINCT in PL/pgSQL assignment statements","url":"/docs/compare/?release=16.11#16.11-3a01429c605940e7","version":"16.11"},{"db_id":"c4e592f337961adba07d32ea163af2ef","evidence":{"patch_ids":["a73af4d4bc9077b2b6083baf3ae9afa7"],"same_day":true,"statement_hash":"4b45bae1f781f46524306017d2565200da9a292424814416e43bb0c51c2b250a"},"kind":"equivalent","label":"15.15","source_url":"/docs/release/15.15/#id-1.11.6.10.5","title":"Correctly handle GROUP BY DISTINCT in PL/pgSQL assignment statements","url":"/docs/compare/?release=15.15#15.15-eeed0366b039f82d","version":"15.15"},{"db_id":"f4fe056566c9e56e900ccb3ae467d6d1","evidence":{"patch_ids":["a73af4d4bc9077b2b6083baf3ae9afa7"],"same_day":true,"statement_hash":"4b45bae1f781f46524306017d2565200da9a292424814416e43bb0c51c2b250a"},"kind":"equivalent","label":"14.20","source_url":"/docs/release/14.20/#id-1.11.6.10.5","title":"Correctly handle GROUP BY DISTINCT in PL/pgSQL assignment statements","url":"/docs/compare/?release=14.20#14.20-ad9f2a1d2560df12","version":"14.20"}],"relations":[{"evidence":{"patch_ids":["a73af4d4bc9077b2b6083baf3ae9afa7"],"same_day":true,"statement_hash":"4b45bae1f781f46524306017d2565200da9a292424814416e43bb0c51c2b250a"},"rule":2,"target":"5d72fc4fde390c5d9153f30aa3ce32f6","type":"equivalent"},{"evidence":{"patch_ids":["a73af4d4bc9077b2b6083baf3ae9afa7"],"same_day":true,"statement_hash":"4b45bae1f781f46524306017d2565200da9a292424814416e43bb0c51c2b250a"},"rule":2,"target":"bed9ac21d6b5104de301b89d80efe413","type":"equivalent"},{"evidence":{"patch_ids":["a73af4d4bc9077b2b6083baf3ae9afa7"],"same_day":true,"statement_hash":"4b45bae1f781f46524306017d2565200da9a292424814416e43bb0c51c2b250a"},"rule":2,"target":"c4e592f337961adba07d32ea163af2ef","type":"equivalent"},{"evidence":{"patch_ids":["a73af4d4bc9077b2b6083baf3ae9afa7"],"same_day":true,"statement_hash":"4b45bae1f781f46524306017d2565200da9a292424814416e43bb0c51c2b250a"},"rule":2,"target":"f4fe056566c9e56e900ccb3ae467d6d1","type":"equivalent"}],"section":"Changes","section_path":["Changes"],"source_commits":["78a284b0b"],"source_entry_id":"18.1/changes/038","source_hash":"ccb6d64adcdbf2c6e068be824161cde849fbbbabffc0fb6b594d3ca7fa507330","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"4b45bae1f781f46524306017d2565200da9a292424814416e43bb0c51c2b250a","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","variants":[],"version":"18.1"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["447a794f6","4cde73259","798b19d27","7fb8c9240","cbfd4d0f8","d90c92d1c","fbc41a145"],"commit_groups":[["447a794f6","4cde73259","798b19d27","7fb8c9240","cbfd4d0f8","d90c92d1c","fbc41a145"]],"commits":["447a794f6"],"cves":[],"db_id":"8ed8073833432a5a8b59221fab2bfd05","html":"\u003cp\u003eAvoid leaking memory when handling a SQL error within PL/Python (Tom Lane) \u003ca href=\"https://postgr.es/c/447a794f6\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis fixes a session-lifespan memory leak introduced in our previous minor releases.\u003c/p\u003e","id":"18.1-da9fd9dc692db55b","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.","part":"changes","patch_ids":["304183406b9fbfa71ce70fb98dd02b07"],"related_changes":[{"db_id":"4567a5ad601fcfb6e367a0d5788654f3","evidence":{"patch_ids":["304183406b9fbfa71ce70fb98dd02b07"],"same_day":true,"statement_hash":"9ed1c89d3ad5eea0e6de5ada0081665e4f99165f891937f5603d7020851959b0"},"kind":"equivalent","label":"17.7","source_url":"/docs/release/17.7/#RELEASE-17-7-CHANGES","title":"Avoid leaking memory when handling a SQL error within PL/Python","url":"/docs/compare/?release=17.7#17.7-518a9f7a9e8762ea","version":"17.7"},{"db_id":"21e26aeb99c1f4efef5ee4d427588817","evidence":{"patch_ids":["304183406b9fbfa71ce70fb98dd02b07"],"same_day":true,"statement_hash":"9ed1c89d3ad5eea0e6de5ada0081665e4f99165f891937f5603d7020851959b0"},"kind":"equivalent","label":"16.11","source_url":"/docs/release/16.11/#RELEASE-16-11-CHANGES","title":"Avoid leaking memory when handling a SQL error within PL/Python","url":"/docs/compare/?release=16.11#16.11-459f76577a275299","version":"16.11"},{"db_id":"f72d5243e6c8215039615db964cfa0bc","evidence":{"patch_ids":["304183406b9fbfa71ce70fb98dd02b07"],"same_day":true,"statement_hash":"9ed1c89d3ad5eea0e6de5ada0081665e4f99165f891937f5603d7020851959b0"},"kind":"equivalent","label":"15.15","source_url":"/docs/release/15.15/#id-1.11.6.10.5","title":"Avoid leaking memory when handling a SQL error within PL/Python","url":"/docs/compare/?release=15.15#15.15-221591e26f573b0b","version":"15.15"},{"db_id":"1cc5187c2c4ae41cf3accaadaacb20c6","evidence":{"patch_ids":["304183406b9fbfa71ce70fb98dd02b07"],"same_day":true,"statement_hash":"9ed1c89d3ad5eea0e6de5ada0081665e4f99165f891937f5603d7020851959b0"},"kind":"equivalent","label":"14.20","source_url":"/docs/release/14.20/#id-1.11.6.10.5","title":"Avoid leaking memory when handling a SQL error within PL/Python","url":"/docs/compare/?release=14.20#14.20-c5293fc1ca271610","version":"14.20"},{"db_id":"6e6104594627174dfaa8204ac54cf50d","evidence":{"patch_ids":["304183406b9fbfa71ce70fb98dd02b07"],"same_day":true,"statement_hash":"9ed1c89d3ad5eea0e6de5ada0081665e4f99165f891937f5603d7020851959b0"},"kind":"equivalent","label":"13.23","source_url":"/docs/release/13.23/#id-1.11.6.6.6","title":"Avoid leaking memory when handling a SQL error within PL/Python","url":"/docs/compare/?release=13.23#13.23-92a4c4e07d0dc6be","version":"13.23"}],"relations":[{"evidence":{"patch_ids":["304183406b9fbfa71ce70fb98dd02b07"],"same_day":true,"statement_hash":"9ed1c89d3ad5eea0e6de5ada0081665e4f99165f891937f5603d7020851959b0"},"rule":2,"target":"1cc5187c2c4ae41cf3accaadaacb20c6","type":"equivalent"},{"evidence":{"patch_ids":["304183406b9fbfa71ce70fb98dd02b07"],"same_day":true,"statement_hash":"9ed1c89d3ad5eea0e6de5ada0081665e4f99165f891937f5603d7020851959b0"},"rule":2,"target":"21e26aeb99c1f4efef5ee4d427588817","type":"equivalent"},{"evidence":{"patch_ids":["304183406b9fbfa71ce70fb98dd02b07"],"same_day":true,"statement_hash":"9ed1c89d3ad5eea0e6de5ada0081665e4f99165f891937f5603d7020851959b0"},"rule":2,"target":"4567a5ad601fcfb6e367a0d5788654f3","type":"equivalent"},{"evidence":{"patch_ids":["304183406b9fbfa71ce70fb98dd02b07"],"same_day":true,"statement_hash":"9ed1c89d3ad5eea0e6de5ada0081665e4f99165f891937f5603d7020851959b0"},"rule":2,"target":"6e6104594627174dfaa8204ac54cf50d","type":"equivalent"},{"evidence":{"patch_ids":["304183406b9fbfa71ce70fb98dd02b07"],"same_day":true,"statement_hash":"9ed1c89d3ad5eea0e6de5ada0081665e4f99165f891937f5603d7020851959b0"},"rule":2,"target":"f72d5243e6c8215039615db964cfa0bc","type":"equivalent"}],"section":"Changes","section_path":["Changes"],"source_commits":["447a794f6"],"source_entry_id":"18.1/changes/039","source_hash":"25faaa57d44fc2401c1508fc419ebddb55e64b28ada29d9926422d8ebd635ad6","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"9ed1c89d3ad5eea0e6de5ada0081665e4f99165f891937f5603d7020851959b0","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","variants":[],"version":"18.1"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["1c4671f7b","46c4478db","771b106d1","d83879a32","ea78bd6d5","f46d77377","fc287cf3c"],"commit_groups":[["1c4671f7b","46c4478db","771b106d1","d83879a32","ea78bd6d5","f46d77377","fc287cf3c"]],"commits":["d83879a32"],"cves":[],"db_id":"3832ee9d1af37cef22d9ed22d51db616","html":"\u003cp\u003eFix \u003cspan\u003elibpq\u003c/span\u003e's handling of socket-related errors on Windows within its GSSAPI logic (Ning Wu, Tom Lane) \u003ca href=\"https://postgr.es/c/d83879a32\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThe 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.\u003c/p\u003e","id":"18.1-476a2e50c1064c29","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.","part":"changes","patch_ids":["f0205fc96ae7aa099587d15ffc5b8b43"],"related_changes":[{"db_id":"a676ca60cf7c395fb8962ab60a474d3e","evidence":{"patch_ids":["f0205fc96ae7aa099587d15ffc5b8b43"],"same_day":true,"statement_hash":"a697933e21baa20247c447c1011997c652387adcb7183a91d2cc940f1de7888e"},"kind":"equivalent","label":"17.7","source_url":"/docs/release/17.7/#RELEASE-17-7-CHANGES","title":"Fix libpq's handling of socket-related errors on Windows within its GSSAPI logic","url":"/docs/compare/?release=17.7#17.7-b2fb5b95a8bca3b8","version":"17.7"},{"db_id":"f5be3f6b8947f88fed54b1476ce5d760","evidence":{"patch_ids":["f0205fc96ae7aa099587d15ffc5b8b43"],"same_day":true,"statement_hash":"a697933e21baa20247c447c1011997c652387adcb7183a91d2cc940f1de7888e"},"kind":"equivalent","label":"16.11","source_url":"/docs/release/16.11/#RELEASE-16-11-CHANGES","title":"Fix libpq's handling of socket-related errors on Windows within its GSSAPI logic","url":"/docs/compare/?release=16.11#16.11-2e085f41052447e2","version":"16.11"},{"db_id":"9d30ea675f07706c069fc213482c9a49","evidence":{"patch_ids":["f0205fc96ae7aa099587d15ffc5b8b43"],"same_day":true,"statement_hash":"a697933e21baa20247c447c1011997c652387adcb7183a91d2cc940f1de7888e"},"kind":"equivalent","label":"15.15","source_url":"/docs/release/15.15/#id-1.11.6.10.5","title":"Fix libpq's handling of socket-related errors on Windows within its GSSAPI logic","url":"/docs/compare/?release=15.15#15.15-576782cfd326c037","version":"15.15"},{"db_id":"8c6a6507bd4112a04aa052cc681036ab","evidence":{"patch_ids":["f0205fc96ae7aa099587d15ffc5b8b43"],"same_day":true,"statement_hash":"a697933e21baa20247c447c1011997c652387adcb7183a91d2cc940f1de7888e"},"kind":"equivalent","label":"14.20","source_url":"/docs/release/14.20/#id-1.11.6.10.5","title":"Fix libpq's handling of socket-related errors on Windows within its GSSAPI logic","url":"/docs/compare/?release=14.20#14.20-a0d51aea48560c38","version":"14.20"},{"db_id":"8a5e4771e1d3efc837da936303fe3e69","evidence":{"patch_ids":["f0205fc96ae7aa099587d15ffc5b8b43"],"same_day":true,"statement_hash":"a697933e21baa20247c447c1011997c652387adcb7183a91d2cc940f1de7888e"},"kind":"equivalent","label":"13.23","source_url":"/docs/release/13.23/#id-1.11.6.6.6","title":"Fix libpq's handling of socket-related errors on Windows within its GSSAPI logic","url":"/docs/compare/?release=13.23#13.23-cf1d927f2b0b8cf3","version":"13.23"}],"relations":[{"evidence":{"patch_ids":["f0205fc96ae7aa099587d15ffc5b8b43"],"same_day":true,"statement_hash":"a697933e21baa20247c447c1011997c652387adcb7183a91d2cc940f1de7888e"},"rule":2,"target":"8a5e4771e1d3efc837da936303fe3e69","type":"equivalent"},{"evidence":{"patch_ids":["f0205fc96ae7aa099587d15ffc5b8b43"],"same_day":true,"statement_hash":"a697933e21baa20247c447c1011997c652387adcb7183a91d2cc940f1de7888e"},"rule":2,"target":"8c6a6507bd4112a04aa052cc681036ab","type":"equivalent"},{"evidence":{"patch_ids":["f0205fc96ae7aa099587d15ffc5b8b43"],"same_day":true,"statement_hash":"a697933e21baa20247c447c1011997c652387adcb7183a91d2cc940f1de7888e"},"rule":2,"target":"9d30ea675f07706c069fc213482c9a49","type":"equivalent"},{"evidence":{"patch_ids":["f0205fc96ae7aa099587d15ffc5b8b43"],"same_day":true,"statement_hash":"a697933e21baa20247c447c1011997c652387adcb7183a91d2cc940f1de7888e"},"rule":2,"target":"a676ca60cf7c395fb8962ab60a474d3e","type":"equivalent"},{"evidence":{"patch_ids":["f0205fc96ae7aa099587d15ffc5b8b43"],"same_day":true,"statement_hash":"a697933e21baa20247c447c1011997c652387adcb7183a91d2cc940f1de7888e"},"rule":2,"target":"f5be3f6b8947f88fed54b1476ce5d760","type":"equivalent"}],"section":"Changes","section_path":["Changes"],"source_commits":["d83879a32"],"source_entry_id":"18.1/changes/040","source_hash":"4e01a398b7a3630fc13c41e6ed53709ed17ec704a2fa09b13e0ea903399baa0b","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"a697933e21baa20247c447c1011997c652387adcb7183a91d2cc940f1de7888e","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","variants":[],"version":"18.1"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["0fe07fa11","615ff828e","c945b06d5"],"commit_groups":[["0fe07fa11","615ff828e","c945b06d5"]],"commits":["0fe07fa11"],"cves":[],"db_id":"85612db122ce32a9a8151af8dbfda6f6","html":"\u003cp\u003eFix dumping of non-inherited not-null constraints on inherited table columns (Dilip Kumar) \u003ca href=\"https://postgr.es/c/0fe07fa11\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cspan\u003epg_dump\u003c/span\u003e failed to preserve such constraints when dumping from a pre-v18 server.\u003c/p\u003e","id":"18.1-3a4e23af29635f95","identity_text":"Fix dumping of non-inherited not-null constraints on inherited table columns (Dilip Kumar) pg_dump failed to preserve such constraints when dumping from a pre-v18 server.","part":"changes","patch_ids":["db74f7b93632cf3feac193a4a7cb92b1"],"related_changes":[{"db_id":"093d5c7edafa8bd73b4b72cdfe2bb656","evidence":{"patch_ids":["db74f7b93632cf3feac193a4a7cb92b1"],"same_day":true,"statement_hash":"d1c264837bf2a17f1e917f30c81224f49f46e1a8e41803a62145abbe33b00e90"},"kind":"equivalent","label":"17.7","source_url":"/docs/release/17.7/#RELEASE-17-7-CHANGES","title":"Fix dumping of non-inherited not-null constraints on inherited table columns","url":"/docs/compare/?release=17.7#17.7-ea1ba6103ffdb14f","version":"17.7"}],"relations":[{"evidence":{"patch_ids":["db74f7b93632cf3feac193a4a7cb92b1"],"same_day":true,"statement_hash":"d1c264837bf2a17f1e917f30c81224f49f46e1a8e41803a62145abbe33b00e90"},"rule":2,"target":"093d5c7edafa8bd73b4b72cdfe2bb656","type":"equivalent"}],"section":"Changes","section_path":["Changes"],"source_commits":["0fe07fa11"],"source_entry_id":"18.1/changes/041","source_hash":"04f06ec63a25c2d1bf641d23a4aebcbc0991f4c4683b5a54880fd018960bbe46","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"d1c264837bf2a17f1e917f30c81224f49f46e1a8e41803a62145abbe33b00e90","text":"Fix dumping of non-inherited not-null constraints on inherited table columns (Dilip Kumar) § pg_dump failed to preserve such constraints when dumping from a pre-v18 server.","title":"Fix dumping of non-inherited not-null constraints on inherited table columns","variants":[],"version":"18.1"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["06c1ee6b7","162e70ea0","4921a5972","4cc3b4445","6062c3db3","7419c99a2","d20df9590"],"commit_groups":[["06c1ee6b7","162e70ea0","4921a5972","4cc3b4445","6062c3db3","7419c99a2","d20df9590"]],"commits":["162e70ea0"],"cves":[],"db_id":"0e30416d744287728e67dfa91ecd903e","html":"\u003cp\u003eFix \u003cspan\u003epg_dump\u003c/span\u003e's sorting of foreign key constraints (Álvaro Herrera) \u003ca href=\"https://postgr.es/c/162e70ea0\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eEnsure consistent ordering of these database objects, as was already done for other object types.\u003c/p\u003e","id":"18.1-596e4425a92cbba4","identity_text":"Fix pg_dump's sorting of foreign key constraints (Álvaro Herrera) Ensure consistent ordering of these database objects, as was already done for other object types.","part":"changes","patch_ids":["754d79e483197bda5a8bed16ebe180ac"],"related_changes":[{"db_id":"9fe254aca98ebddd5297b74ffc1dfbb8","evidence":{"patch_ids":["754d79e483197bda5a8bed16ebe180ac"],"same_day":true},"kind":"related","label":"17.7","source_url":"/docs/release/17.7/#RELEASE-17-7-CHANGES","title":"Fix pg_dump's sorting of default ACLs and foreign key constraints","url":"/docs/compare/?release=17.7#17.7-6339fccd8bd64678","version":"17.7"},{"db_id":"c1d4d17be6dfafe4eaeda5f8c6d009ad","evidence":{"patch_ids":["754d79e483197bda5a8bed16ebe180ac"],"same_day":true},"kind":"related","label":"16.11","source_url":"/docs/release/16.11/#RELEASE-16-11-CHANGES","title":"Fix pg_dump's sorting of default ACLs and foreign key constraints","url":"/docs/compare/?release=16.11#16.11-498c398eb10cb9bf","version":"16.11"},{"db_id":"5d200915f65582fc2484f8ef24cc008e","evidence":{"patch_ids":["754d79e483197bda5a8bed16ebe180ac"],"same_day":true},"kind":"related","label":"15.15","source_url":"/docs/release/15.15/#id-1.11.6.10.5","title":"Fix pg_dump's sorting of default ACLs and foreign key constraints","url":"/docs/compare/?release=15.15#15.15-f62e7737dface522","version":"15.15"},{"db_id":"9bedf67fa0860d232401ec8b1b5b9bf5","evidence":{"patch_ids":["754d79e483197bda5a8bed16ebe180ac"],"same_day":true},"kind":"related","label":"14.20","source_url":"/docs/release/14.20/#id-1.11.6.10.5","title":"Fix pg_dump's sorting of default ACLs and foreign key constraints","url":"/docs/compare/?release=14.20#14.20-cb50539fbd7938eb","version":"14.20"},{"db_id":"5d051ea674aeb3f3b326a89ded32901f","evidence":{"patch_ids":["754d79e483197bda5a8bed16ebe180ac"],"same_day":true},"kind":"related","label":"13.23","source_url":"/docs/release/13.23/#id-1.11.6.6.6","title":"Fix pg_dump's sorting of default ACLs and foreign key constraints","url":"/docs/compare/?release=13.23#13.23-9e5d6f5c6fe46680","version":"13.23"}],"relations":[{"evidence":{"patch_ids":["754d79e483197bda5a8bed16ebe180ac"],"same_day":true},"rule":2,"target":"5d051ea674aeb3f3b326a89ded32901f","type":"related"},{"evidence":{"patch_ids":["754d79e483197bda5a8bed16ebe180ac"],"same_day":true},"rule":2,"target":"5d200915f65582fc2484f8ef24cc008e","type":"related"},{"evidence":{"patch_ids":["754d79e483197bda5a8bed16ebe180ac"],"same_day":true},"rule":2,"target":"9bedf67fa0860d232401ec8b1b5b9bf5","type":"related"},{"evidence":{"patch_ids":["754d79e483197bda5a8bed16ebe180ac"],"same_day":true},"rule":2,"target":"9fe254aca98ebddd5297b74ffc1dfbb8","type":"related"},{"evidence":{"patch_ids":["754d79e483197bda5a8bed16ebe180ac"],"same_day":true},"rule":2,"target":"c1d4d17be6dfafe4eaeda5f8c6d009ad","type":"related"}],"section":"Changes","section_path":["Changes"],"source_commits":["162e70ea0"],"source_entry_id":"18.1/changes/042","source_hash":"00384e1f4ea3ef405d77d3d12ab30dfec35e04c99d3980730024aa6c0aeda8f8","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"cdf4d041c1de8192b2513985b95aa43b724c20b0cabb65a8b86c1a98ee9fa82c","text":"Fix pg_dump's sorting of foreign key constraints (Álvaro Herrera) § Ensure consistent ordering of these database objects, as was already done for other object types.","title":"Fix pg_dump's sorting of foreign key constraints","variants":[],"version":"18.1"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["1518b7d76","277dec651","2efca1633","33276cd02","40dc710a6","6a4009747","8980c724b","8b9924bce","92268b35d","a239c4a0c","aa1fcd087","bf18e9bd7","c865f5b9f","e686010c5","ec017a305"],"commit_groups":[["1518b7d76","6a4009747","a239c4a0c","bf18e9bd7"],["277dec651","2efca1633","33276cd02","40dc710a6","8b9924bce","aa1fcd087","c865f5b9f"],["8980c724b","92268b35d","e686010c5","ec017a305"]],"commits":["6a4009747","8980c724b","aa1fcd087"],"cves":[],"db_id":"db9de757f72a73bd069a8b786f5b8120","html":"\u003cp\u003eFix assorted errors in the data compression logic in \u003cspan\u003epg_dump\u003c/span\u003e and \u003cspan\u003epg_restore\u003c/span\u003e (Daniel Gustafsson, Tom Lane) \u003ca href=\"https://postgr.es/c/8980c724b\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/6a4009747\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/aa1fcd087\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eError 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. \u003cspan\u003epg_dump\u003c/span\u003e 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.\u003c/p\u003e","id":"18.1-939176032400286d","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.","part":"changes","patch_ids":["34d09b07f99c29b50cf53cc13100ea10","4eef07986dd4d4d15a60a29e5a15998d","c6e514b9bc3c0e05d2b6d2fc63af7a54"],"related_changes":[{"db_id":"f2020f100f9176ff2a2e8a154fa90714","evidence":{"patch_ids":["34d09b07f99c29b50cf53cc13100ea10","4eef07986dd4d4d15a60a29e5a15998d","c6e514b9bc3c0e05d2b6d2fc63af7a54"],"same_day":true,"statement_hash":"e1d5e819c74cee28f2154059267d12fd8e6cfc4c9d5affbaf9861a9f4788798c"},"kind":"equivalent","label":"17.7","source_url":"/docs/release/17.7/#RELEASE-17-7-CHANGES","title":"Fix assorted errors in the data compression logic in pg_dump and pg_restore","url":"/docs/compare/?release=17.7#17.7-2c512121eb50a880","version":"17.7"},{"db_id":"d6f9f1f62ddef6d134088a2d74e99a56","evidence":{"patch_ids":["34d09b07f99c29b50cf53cc13100ea10","4eef07986dd4d4d15a60a29e5a15998d","c6e514b9bc3c0e05d2b6d2fc63af7a54"],"same_day":true,"statement_hash":"e1d5e819c74cee28f2154059267d12fd8e6cfc4c9d5affbaf9861a9f4788798c"},"kind":"equivalent","label":"16.11","source_url":"/docs/release/16.11/#RELEASE-16-11-CHANGES","title":"Fix assorted errors in the data compression logic in pg_dump and pg_restore","url":"/docs/compare/?release=16.11#16.11-a90bb8c2778d1037","version":"16.11"},{"db_id":"2cc366c16ddf487970d4c1a069ddef4d","evidence":{"patch_ids":["34d09b07f99c29b50cf53cc13100ea10","4eef07986dd4d4d15a60a29e5a15998d","c6e514b9bc3c0e05d2b6d2fc63af7a54"],"same_day":true,"statement_hash":"e1d5e819c74cee28f2154059267d12fd8e6cfc4c9d5affbaf9861a9f4788798c"},"kind":"equivalent","label":"15.15","source_url":"/docs/release/15.15/#id-1.11.6.10.5","title":"Fix assorted errors in the data compression logic in pg_dump and pg_restore","url":"/docs/compare/?release=15.15#15.15-1f4cb2ccb58f17bc","version":"15.15"},{"db_id":"12b4dd9512e147889a0b739f2bbf5ade","evidence":{"patch_ids":["34d09b07f99c29b50cf53cc13100ea10","4eef07986dd4d4d15a60a29e5a15998d","c6e514b9bc3c0e05d2b6d2fc63af7a54"],"same_day":true,"statement_hash":"e1d5e819c74cee28f2154059267d12fd8e6cfc4c9d5affbaf9861a9f4788798c"},"kind":"equivalent","label":"14.20","source_url":"/docs/release/14.20/#id-1.11.6.10.5","title":"Fix assorted errors in the data compression logic in pg_dump and pg_restore","url":"/docs/compare/?release=14.20#14.20-a3723630038b7a05","version":"14.20"},{"db_id":"94448a696df6dbc1fc249f870067647a","evidence":{"patch_ids":["34d09b07f99c29b50cf53cc13100ea10","4eef07986dd4d4d15a60a29e5a15998d","c6e514b9bc3c0e05d2b6d2fc63af7a54"],"same_day":true,"statement_hash":"e1d5e819c74cee28f2154059267d12fd8e6cfc4c9d5affbaf9861a9f4788798c"},"kind":"equivalent","label":"13.23","source_url":"/docs/release/13.23/#id-1.11.6.6.6","title":"Fix assorted errors in the data compression logic in pg_dump and pg_restore","url":"/docs/compare/?release=13.23#13.23-a2ad4ad5a1ae99e4","version":"13.23"}],"relations":[{"evidence":{"patch_ids":["34d09b07f99c29b50cf53cc13100ea10","4eef07986dd4d4d15a60a29e5a15998d","c6e514b9bc3c0e05d2b6d2fc63af7a54"],"same_day":true,"statement_hash":"e1d5e819c74cee28f2154059267d12fd8e6cfc4c9d5affbaf9861a9f4788798c"},"rule":2,"target":"12b4dd9512e147889a0b739f2bbf5ade","type":"equivalent"},{"evidence":{"patch_ids":["34d09b07f99c29b50cf53cc13100ea10","4eef07986dd4d4d15a60a29e5a15998d","c6e514b9bc3c0e05d2b6d2fc63af7a54"],"same_day":true,"statement_hash":"e1d5e819c74cee28f2154059267d12fd8e6cfc4c9d5affbaf9861a9f4788798c"},"rule":2,"target":"2cc366c16ddf487970d4c1a069ddef4d","type":"equivalent"},{"evidence":{"patch_ids":["34d09b07f99c29b50cf53cc13100ea10","4eef07986dd4d4d15a60a29e5a15998d","c6e514b9bc3c0e05d2b6d2fc63af7a54"],"same_day":true,"statement_hash":"e1d5e819c74cee28f2154059267d12fd8e6cfc4c9d5affbaf9861a9f4788798c"},"rule":2,"target":"94448a696df6dbc1fc249f870067647a","type":"equivalent"},{"evidence":{"patch_ids":["34d09b07f99c29b50cf53cc13100ea10","4eef07986dd4d4d15a60a29e5a15998d","c6e514b9bc3c0e05d2b6d2fc63af7a54"],"same_day":true,"statement_hash":"e1d5e819c74cee28f2154059267d12fd8e6cfc4c9d5affbaf9861a9f4788798c"},"rule":2,"target":"d6f9f1f62ddef6d134088a2d74e99a56","type":"equivalent"},{"evidence":{"patch_ids":["34d09b07f99c29b50cf53cc13100ea10","4eef07986dd4d4d15a60a29e5a15998d","c6e514b9bc3c0e05d2b6d2fc63af7a54"],"same_day":true,"statement_hash":"e1d5e819c74cee28f2154059267d12fd8e6cfc4c9d5affbaf9861a9f4788798c"},"rule":2,"target":"f2020f100f9176ff2a2e8a154fa90714","type":"equivalent"}],"section":"Changes","section_path":["Changes"],"source_commits":["6a4009747","8980c724b","aa1fcd087"],"source_entry_id":"18.1/changes/043","source_hash":"00493561410c0849a110c594a3ee4af2d87a29dcfdfa2c25d12df8526aad92c2","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"e1d5e819c74cee28f2154059267d12fd8e6cfc4c9d5affbaf9861a9f4788798c","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","variants":[],"version":"18.1"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["640590bb4","902c08887","9b3beb7c6","b5cefc197","c00637b5f","de6de069d","f1a2f3a0c"],"commit_groups":[["640590bb4","902c08887","9b3beb7c6","b5cefc197","c00637b5f","de6de069d","f1a2f3a0c"]],"commits":["c00637b5f"],"cves":[],"db_id":"9a22121acd6baa6a9fb3c0a600e6f745","html":"\u003cp\u003eFix \u003cspan\u003epgbench\u003c/span\u003e to error out cleanly if a \u003ccode\u003eCOPY\u003c/code\u003e operation is started (Anthonin Bonnefoy) \u003ca href=\"https://postgr.es/c/c00637b5f\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cspan\u003epgbench\u003c/span\u003e doesn't intend to support this case, but previously it went into an infinite loop.\u003c/p\u003e","id":"18.1-cccbae91c7612842","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.","part":"changes","patch_ids":["1d095caebd3e91308930c0f046a8615d"],"related_changes":[{"db_id":"0ab8c685f0a9c83205700ee9f16ec69d","evidence":{"patch_ids":["1d095caebd3e91308930c0f046a8615d"],"same_day":true,"statement_hash":"b9c6e08e4a0d18e06d97c410e1ac9358f7012ae1718e6db0cee8ee8626b7d2eb"},"kind":"equivalent","label":"17.7","source_url":"/docs/release/17.7/#RELEASE-17-7-CHANGES","title":"Fix pgbench to error out cleanly if a COPY operation is started","url":"/docs/compare/?release=17.7#17.7-be37552c2ac3a78e","version":"17.7"},{"db_id":"37f3a4ecb0a18fd8795547a2f62aa746","evidence":{"patch_ids":["1d095caebd3e91308930c0f046a8615d"],"same_day":true,"statement_hash":"b9c6e08e4a0d18e06d97c410e1ac9358f7012ae1718e6db0cee8ee8626b7d2eb"},"kind":"equivalent","label":"16.11","source_url":"/docs/release/16.11/#RELEASE-16-11-CHANGES","title":"Fix pgbench to error out cleanly if a COPY operation is started","url":"/docs/compare/?release=16.11#16.11-f7261b248bcb61f8","version":"16.11"},{"db_id":"5e3a31a811c1f52525f624d8ce076894","evidence":{"patch_ids":["1d095caebd3e91308930c0f046a8615d"],"same_day":true,"statement_hash":"b9c6e08e4a0d18e06d97c410e1ac9358f7012ae1718e6db0cee8ee8626b7d2eb"},"kind":"equivalent","label":"15.15","source_url":"/docs/release/15.15/#id-1.11.6.10.5","title":"Fix pgbench to error out cleanly if a COPY operation is started","url":"/docs/compare/?release=15.15#15.15-76b0085c675f6b37","version":"15.15"},{"db_id":"69889021274de78f6f31d01dd2b4ab62","evidence":{"patch_ids":["1d095caebd3e91308930c0f046a8615d"],"same_day":true,"statement_hash":"b9c6e08e4a0d18e06d97c410e1ac9358f7012ae1718e6db0cee8ee8626b7d2eb"},"kind":"equivalent","label":"14.20","source_url":"/docs/release/14.20/#id-1.11.6.10.5","title":"Fix pgbench to error out cleanly if a COPY operation is started","url":"/docs/compare/?release=14.20#14.20-74d6b535346afc2b","version":"14.20"},{"db_id":"4fdb075299b2c8dbb29b9dd63ffefa18","evidence":{"patch_ids":["1d095caebd3e91308930c0f046a8615d"],"same_day":true,"statement_hash":"b9c6e08e4a0d18e06d97c410e1ac9358f7012ae1718e6db0cee8ee8626b7d2eb"},"kind":"equivalent","label":"13.23","source_url":"/docs/release/13.23/#id-1.11.6.6.6","title":"Fix pgbench to error out cleanly if a COPY operation is started","url":"/docs/compare/?release=13.23#13.23-32d242ed4771d849","version":"13.23"}],"relations":[{"evidence":{"patch_ids":["1d095caebd3e91308930c0f046a8615d"],"same_day":true,"statement_hash":"b9c6e08e4a0d18e06d97c410e1ac9358f7012ae1718e6db0cee8ee8626b7d2eb"},"rule":2,"target":"0ab8c685f0a9c83205700ee9f16ec69d","type":"equivalent"},{"evidence":{"patch_ids":["1d095caebd3e91308930c0f046a8615d"],"same_day":true,"statement_hash":"b9c6e08e4a0d18e06d97c410e1ac9358f7012ae1718e6db0cee8ee8626b7d2eb"},"rule":2,"target":"37f3a4ecb0a18fd8795547a2f62aa746","type":"equivalent"},{"evidence":{"patch_ids":["1d095caebd3e91308930c0f046a8615d"],"same_day":true,"statement_hash":"b9c6e08e4a0d18e06d97c410e1ac9358f7012ae1718e6db0cee8ee8626b7d2eb"},"rule":2,"target":"4fdb075299b2c8dbb29b9dd63ffefa18","type":"equivalent"},{"evidence":{"patch_ids":["1d095caebd3e91308930c0f046a8615d"],"same_day":true,"statement_hash":"b9c6e08e4a0d18e06d97c410e1ac9358f7012ae1718e6db0cee8ee8626b7d2eb"},"rule":2,"target":"5e3a31a811c1f52525f624d8ce076894","type":"equivalent"},{"evidence":{"patch_ids":["1d095caebd3e91308930c0f046a8615d"],"same_day":true,"statement_hash":"b9c6e08e4a0d18e06d97c410e1ac9358f7012ae1718e6db0cee8ee8626b7d2eb"},"rule":2,"target":"69889021274de78f6f31d01dd2b4ab62","type":"equivalent"}],"section":"Changes","section_path":["Changes"],"source_commits":["c00637b5f"],"source_entry_id":"18.1/changes/044","source_hash":"aaf3614d26baed6713030ff063ec3b445c7c4ca96d13485a346fe73062aa4547","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"b9c6e08e4a0d18e06d97c410e1ac9358f7012ae1718e6db0cee8ee8626b7d2eb","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","variants":[],"version":"18.1"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["19d4f9ffc","29aabbc43","36c4d30c8","7d7e81d1e","a912118c6","bdccb6302","cb21e1f92"],"commit_groups":[["19d4f9ffc","29aabbc43","36c4d30c8","7d7e81d1e","a912118c6","bdccb6302","cb21e1f92"]],"commits":["29aabbc43"],"cves":[],"db_id":"1d96ae50e45c2122b3c99a80eb6187c3","html":"\u003cp\u003eFix \u003cspan\u003epgbench\u003c/span\u003e's reporting of multiple errors (Yugo Nagata) \u003ca href=\"https://postgr.es/c/29aabbc43\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eIn cases where two successive \u003ccode\u003ePQgetResult\u003c/code\u003e calls both fail, \u003cspan\u003epgbench\u003c/span\u003e might report the wrong error message.\u003c/p\u003e","id":"18.1-1b36133d506932f3","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.","part":"changes","patch_ids":["a5b36b8efb6e0c7a3849524c97a420e5"],"related_changes":[{"db_id":"ac7703f3c51d491b3572192678a5d998","evidence":{"patch_ids":["a5b36b8efb6e0c7a3849524c97a420e5"],"same_day":true,"statement_hash":"5a1e945c185bdfb836e9ed6ea3c7c6dcdc70d0b00e3add742a673cd7968eb604"},"kind":"equivalent","label":"17.7","source_url":"/docs/release/17.7/#RELEASE-17-7-CHANGES","title":"Fix pgbench's reporting of multiple errors","url":"/docs/compare/?release=17.7#17.7-180d8349ffb479b3","version":"17.7"},{"db_id":"66d73925f2523f78c99a3eab09ad1adf","evidence":{"patch_ids":["a5b36b8efb6e0c7a3849524c97a420e5"],"same_day":true,"statement_hash":"5a1e945c185bdfb836e9ed6ea3c7c6dcdc70d0b00e3add742a673cd7968eb604"},"kind":"equivalent","label":"16.11","source_url":"/docs/release/16.11/#RELEASE-16-11-CHANGES","title":"Fix pgbench's reporting of multiple errors","url":"/docs/compare/?release=16.11#16.11-3bb865abdd991c8c","version":"16.11"},{"db_id":"e0ccdf500bb8f7ee5932c7d3db2e536e","evidence":{"patch_ids":["a5b36b8efb6e0c7a3849524c97a420e5"],"same_day":true,"statement_hash":"5a1e945c185bdfb836e9ed6ea3c7c6dcdc70d0b00e3add742a673cd7968eb604"},"kind":"equivalent","label":"15.15","source_url":"/docs/release/15.15/#id-1.11.6.10.5","title":"Fix pgbench's reporting of multiple errors","url":"/docs/compare/?release=15.15#15.15-0c7d8a673115c847","version":"15.15"},{"db_id":"a2a875aae536c9dfb223ec32572d4b63","evidence":{"patch_ids":["a5b36b8efb6e0c7a3849524c97a420e5"],"same_day":true,"statement_hash":"5a1e945c185bdfb836e9ed6ea3c7c6dcdc70d0b00e3add742a673cd7968eb604"},"kind":"equivalent","label":"14.20","source_url":"/docs/release/14.20/#id-1.11.6.10.5","title":"Fix pgbench's reporting of multiple errors","url":"/docs/compare/?release=14.20#14.20-a5c54ee7ce6a4f00","version":"14.20"},{"db_id":"89b980f6be2175b2b8c7c6d55f591881","evidence":{"patch_ids":["a5b36b8efb6e0c7a3849524c97a420e5"],"same_day":true,"statement_hash":"5a1e945c185bdfb836e9ed6ea3c7c6dcdc70d0b00e3add742a673cd7968eb604"},"kind":"equivalent","label":"13.23","source_url":"/docs/release/13.23/#id-1.11.6.6.6","title":"Fix pgbench's reporting of multiple errors","url":"/docs/compare/?release=13.23#13.23-7f805041aaf13b6f","version":"13.23"}],"relations":[{"evidence":{"patch_ids":["a5b36b8efb6e0c7a3849524c97a420e5"],"same_day":true,"statement_hash":"5a1e945c185bdfb836e9ed6ea3c7c6dcdc70d0b00e3add742a673cd7968eb604"},"rule":2,"target":"66d73925f2523f78c99a3eab09ad1adf","type":"equivalent"},{"evidence":{"patch_ids":["a5b36b8efb6e0c7a3849524c97a420e5"],"same_day":true,"statement_hash":"5a1e945c185bdfb836e9ed6ea3c7c6dcdc70d0b00e3add742a673cd7968eb604"},"rule":2,"target":"89b980f6be2175b2b8c7c6d55f591881","type":"equivalent"},{"evidence":{"patch_ids":["a5b36b8efb6e0c7a3849524c97a420e5"],"same_day":true,"statement_hash":"5a1e945c185bdfb836e9ed6ea3c7c6dcdc70d0b00e3add742a673cd7968eb604"},"rule":2,"target":"a2a875aae536c9dfb223ec32572d4b63","type":"equivalent"},{"evidence":{"patch_ids":["a5b36b8efb6e0c7a3849524c97a420e5"],"same_day":true,"statement_hash":"5a1e945c185bdfb836e9ed6ea3c7c6dcdc70d0b00e3add742a673cd7968eb604"},"rule":2,"target":"ac7703f3c51d491b3572192678a5d998","type":"equivalent"},{"evidence":{"patch_ids":["a5b36b8efb6e0c7a3849524c97a420e5"],"same_day":true,"statement_hash":"5a1e945c185bdfb836e9ed6ea3c7c6dcdc70d0b00e3add742a673cd7968eb604"},"rule":2,"target":"e0ccdf500bb8f7ee5932c7d3db2e536e","type":"equivalent"}],"section":"Changes","section_path":["Changes"],"source_commits":["29aabbc43"],"source_entry_id":"18.1/changes/045","source_hash":"0a9a79db7f564ffb66c19c925af523af67d17b9ae6e9af66f58e3de70a75edce","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"5a1e945c185bdfb836e9ed6ea3c7c6dcdc70d0b00e3add742a673cd7968eb604","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","variants":[],"version":"18.1"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["704f51771","8b2e290bd","8bb174295","c736808e0","f39d9164b"],"commit_groups":[["704f51771","8b2e290bd","8bb174295","c736808e0","f39d9164b"]],"commits":["c736808e0"],"cves":[],"db_id":"43ed98fa322ca8711e3dbbd5e9dc0db8","html":"\u003cp\u003eIn \u003cspan\u003epgbench\u003c/span\u003e, fix faulty assertion about errors in pipeline mode (Yugo Nagata) \u003ca href=\"https://postgr.es/c/c736808e0\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"18.1-b61a0464e2059730","identity_text":"In pgbench, fix faulty assertion about errors in pipeline mode (Yugo Nagata)","part":"changes","patch_ids":["f0e6502c068cd0b05ad542efb11a232c"],"related_changes":[{"db_id":"c29def4a30c507bcae5d3354625ab08e","evidence":{"patch_ids":["f0e6502c068cd0b05ad542efb11a232c"],"same_day":true,"statement_hash":"c50d603a6fb129cae06cebd4c235fac3d99cea47d3329930dbc75796a0ec35f9"},"kind":"equivalent","label":"17.7","source_url":"/docs/release/17.7/#RELEASE-17-7-CHANGES","title":"In pgbench, fix faulty assertion about errors in pipeline mode","url":"/docs/compare/?release=17.7#17.7-f15c7a567546a9d4","version":"17.7"},{"db_id":"8c4b9756ea8e54675c2636e769219add","evidence":{"patch_ids":["f0e6502c068cd0b05ad542efb11a232c"],"same_day":true,"statement_hash":"c50d603a6fb129cae06cebd4c235fac3d99cea47d3329930dbc75796a0ec35f9"},"kind":"equivalent","label":"16.11","source_url":"/docs/release/16.11/#RELEASE-16-11-CHANGES","title":"In pgbench, fix faulty assertion about errors in pipeline mode","url":"/docs/compare/?release=16.11#16.11-d2c2780bf07f8053","version":"16.11"},{"db_id":"fd360afbc940d89de171ce1ab0838f25","evidence":{"patch_ids":["f0e6502c068cd0b05ad542efb11a232c"],"same_day":true,"statement_hash":"c50d603a6fb129cae06cebd4c235fac3d99cea47d3329930dbc75796a0ec35f9"},"kind":"equivalent","label":"15.15","source_url":"/docs/release/15.15/#id-1.11.6.10.5","title":"In pgbench, fix faulty assertion about errors in pipeline mode","url":"/docs/compare/?release=15.15#15.15-1f69c654f8307395","version":"15.15"}],"relations":[{"evidence":{"patch_ids":["f0e6502c068cd0b05ad542efb11a232c"],"same_day":true,"statement_hash":"c50d603a6fb129cae06cebd4c235fac3d99cea47d3329930dbc75796a0ec35f9"},"rule":2,"target":"8c4b9756ea8e54675c2636e769219add","type":"equivalent"},{"evidence":{"patch_ids":["f0e6502c068cd0b05ad542efb11a232c"],"same_day":true,"statement_hash":"c50d603a6fb129cae06cebd4c235fac3d99cea47d3329930dbc75796a0ec35f9"},"rule":2,"target":"c29def4a30c507bcae5d3354625ab08e","type":"equivalent"},{"evidence":{"patch_ids":["f0e6502c068cd0b05ad542efb11a232c"],"same_day":true,"statement_hash":"c50d603a6fb129cae06cebd4c235fac3d99cea47d3329930dbc75796a0ec35f9"},"rule":2,"target":"fd360afbc940d89de171ce1ab0838f25","type":"equivalent"}],"section":"Changes","section_path":["Changes"],"source_commits":["c736808e0"],"source_entry_id":"18.1/changes/046","source_hash":"77b36d627e09dac6cd7488622db7fe44901325044109792211e10a5388426f46","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"c50d603a6fb129cae06cebd4c235fac3d99cea47d3329930dbc75796a0ec35f9","text":"In pgbench, fix faulty assertion about errors in pipeline mode (Yugo Nagata) §","title":"In pgbench, fix faulty assertion about errors in pipeline mode","variants":[],"version":"18.1"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["4eb6992af","9224c3025","e2072b47b"],"commit_groups":[["4eb6992af","9224c3025","e2072b47b"]],"commits":["e2072b47b"],"cves":[],"db_id":"7e8fa99b0b4955f6b3cb8bd43181225f","html":"\u003cp\u003eFix per-file memory leakage in \u003cspan\u003epg_combinebackup\u003c/span\u003e (Tom Lane) \u003ca href=\"https://postgr.es/c/e2072b47b\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"18.1-e9df74682a19abe9","identity_text":"Fix per-file memory leakage in pg_combinebackup (Tom Lane)","part":"changes","patch_ids":["4adc1ba9937db7990ee1e4b0eed20095"],"related_changes":[{"db_id":"027928a265dc472699b9bfa81f7bcb4c","evidence":{"patch_ids":["4adc1ba9937db7990ee1e4b0eed20095"],"same_day":true,"statement_hash":"cfb0b2884d442379e85fa76d1328a0c95c85939f1727ad5b8efc4d89d3dd1b86"},"kind":"equivalent","label":"17.7","source_url":"/docs/release/17.7/#RELEASE-17-7-CHANGES","title":"Fix per-file memory leakage in pg_combinebackup","url":"/docs/compare/?release=17.7#17.7-b1cf6e244790fd85","version":"17.7"}],"relations":[{"evidence":{"patch_ids":["4adc1ba9937db7990ee1e4b0eed20095"],"same_day":true,"statement_hash":"cfb0b2884d442379e85fa76d1328a0c95c85939f1727ad5b8efc4d89d3dd1b86"},"rule":2,"target":"027928a265dc472699b9bfa81f7bcb4c","type":"equivalent"}],"section":"Changes","section_path":["Changes"],"source_commits":["e2072b47b"],"source_entry_id":"18.1/changes/047","source_hash":"4beb5cc1ed2c64b638cb70a8db3931edfbd458d919a6d4634c21202e7b74ec70","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"cfb0b2884d442379e85fa76d1328a0c95c85939f1727ad5b8efc4d89d3dd1b86","text":"Fix per-file memory leakage in pg_combinebackup (Tom Lane) §","title":"Fix per-file memory leakage in pg_combinebackup","variants":[],"version":"18.1"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["0beb7e933","71aa2e114","79643105a","7d8d36289","815fcfb20","8ae0f6a0c","b6090ed96","eab9e4e27","eb9ee4d18"],"commit_groups":[["0beb7e933","79643105a","7d8d36289","815fcfb20","b6090ed96","eab9e4e27","eb9ee4d18"],["71aa2e114","8ae0f6a0c"]],"commits":["0beb7e933","71aa2e114"],"cves":[],"db_id":"23b0ca06794cbfef601b73e5a2401894","html":"\u003cp\u003eEnsure that \u003ccode\u003econtrib/pg_buffercache\u003c/code\u003e functions can be canceled (Satyanarayana Narlapuram, Yuhang Qiu) \u003ca href=\"https://postgr.es/c/71aa2e114\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/0beb7e933\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eSome code paths were capable of running for a long time without checking for interrupts.\u003c/p\u003e","id":"18.1-1f106ef831d50ecf","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.","part":"changes","patch_ids":["d2b70a45c15a7f7e00e59b3284c07ad6","f86d6a1c7709338528c20336c0252405"],"related_changes":[{"db_id":"ee81b22deb19121826702e15ee5489ea","evidence":{"patch_ids":["d2b70a45c15a7f7e00e59b3284c07ad6","f86d6a1c7709338528c20336c0252405"],"same_day":true,"statement_hash":"344e018da37d95afbc286749fed1e20d7328753b9e73f81484fee0e1e4996dc5"},"kind":"equivalent","label":"17.7","source_url":"/docs/release/17.7/#RELEASE-17-7-CHANGES","title":"Ensure that contrib/pg_buffercache functions can be canceled","url":"/docs/compare/?release=17.7#17.7-f96cf4298c654962","version":"17.7"},{"db_id":"3caee2c365e58c61931cc0a6fb332c39","evidence":{"patch_ids":["d2b70a45c15a7f7e00e59b3284c07ad6","f86d6a1c7709338528c20336c0252405"],"same_day":true,"statement_hash":"344e018da37d95afbc286749fed1e20d7328753b9e73f81484fee0e1e4996dc5"},"kind":"equivalent","label":"16.11","source_url":"/docs/release/16.11/#RELEASE-16-11-CHANGES","title":"Ensure that contrib/pg_buffercache functions can be canceled","url":"/docs/compare/?release=16.11#16.11-0c0a61c7bcef9fe6","version":"16.11"},{"db_id":"79d155685a49b3acf32f431174e9c679","evidence":{"patch_ids":["d2b70a45c15a7f7e00e59b3284c07ad6","f86d6a1c7709338528c20336c0252405"],"same_day":true,"statement_hash":"344e018da37d95afbc286749fed1e20d7328753b9e73f81484fee0e1e4996dc5"},"kind":"equivalent","label":"15.15","source_url":"/docs/release/15.15/#id-1.11.6.10.5","title":"Ensure that contrib/pg_buffercache functions can be canceled","url":"/docs/compare/?release=15.15#15.15-b82ab8179ce6ffa2","version":"15.15"},{"db_id":"7400b4918533b966fb90032b2caf5c76","evidence":{"patch_ids":["d2b70a45c15a7f7e00e59b3284c07ad6","f86d6a1c7709338528c20336c0252405"],"same_day":true,"statement_hash":"344e018da37d95afbc286749fed1e20d7328753b9e73f81484fee0e1e4996dc5"},"kind":"equivalent","label":"14.20","source_url":"/docs/release/14.20/#id-1.11.6.10.5","title":"Ensure that contrib/pg_buffercache functions can be canceled","url":"/docs/compare/?release=14.20#14.20-3713d982a4c25a06","version":"14.20"},{"db_id":"b091d219fb5bea6297016707e7154f0e","evidence":{"patch_ids":["d2b70a45c15a7f7e00e59b3284c07ad6","f86d6a1c7709338528c20336c0252405"],"same_day":true,"statement_hash":"344e018da37d95afbc286749fed1e20d7328753b9e73f81484fee0e1e4996dc5"},"kind":"equivalent","label":"13.23","source_url":"/docs/release/13.23/#id-1.11.6.6.6","title":"Ensure that contrib/pg_buffercache functions can be canceled","url":"/docs/compare/?release=13.23#13.23-2afa2a1778983a41","version":"13.23"}],"relations":[{"evidence":{"patch_ids":["d2b70a45c15a7f7e00e59b3284c07ad6","f86d6a1c7709338528c20336c0252405"],"same_day":true,"statement_hash":"344e018da37d95afbc286749fed1e20d7328753b9e73f81484fee0e1e4996dc5"},"rule":2,"target":"3caee2c365e58c61931cc0a6fb332c39","type":"equivalent"},{"evidence":{"patch_ids":["d2b70a45c15a7f7e00e59b3284c07ad6","f86d6a1c7709338528c20336c0252405"],"same_day":true,"statement_hash":"344e018da37d95afbc286749fed1e20d7328753b9e73f81484fee0e1e4996dc5"},"rule":2,"target":"7400b4918533b966fb90032b2caf5c76","type":"equivalent"},{"evidence":{"patch_ids":["d2b70a45c15a7f7e00e59b3284c07ad6","f86d6a1c7709338528c20336c0252405"],"same_day":true,"statement_hash":"344e018da37d95afbc286749fed1e20d7328753b9e73f81484fee0e1e4996dc5"},"rule":2,"target":"79d155685a49b3acf32f431174e9c679","type":"equivalent"},{"evidence":{"patch_ids":["d2b70a45c15a7f7e00e59b3284c07ad6","f86d6a1c7709338528c20336c0252405"],"same_day":true,"statement_hash":"344e018da37d95afbc286749fed1e20d7328753b9e73f81484fee0e1e4996dc5"},"rule":2,"target":"b091d219fb5bea6297016707e7154f0e","type":"equivalent"},{"evidence":{"patch_ids":["d2b70a45c15a7f7e00e59b3284c07ad6","f86d6a1c7709338528c20336c0252405"],"same_day":true,"statement_hash":"344e018da37d95afbc286749fed1e20d7328753b9e73f81484fee0e1e4996dc5"},"rule":2,"target":"ee81b22deb19121826702e15ee5489ea","type":"equivalent"}],"section":"Changes","section_path":["Changes"],"source_commits":["0beb7e933","71aa2e114"],"source_entry_id":"18.1/changes/048","source_hash":"c599c52708a4edefe8f956e7bf25970113653d3e96118a198d838931b6795ad9","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"344e018da37d95afbc286749fed1e20d7328753b9e73f81484fee0e1e4996dc5","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","variants":[],"version":"18.1"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["19a64f567","208927e65","3ccf8e9ac","6c03ae8d6","a0551bc57","c26a8eaf6","c29d32d27","d4e8c37cc","da44d71e7","f146eb45c","fae0ce5e3"],"commit_groups":[["19a64f567","208927e65","3ccf8e9ac","6c03ae8d6","a0551bc57","f146eb45c","fae0ce5e3"],["c26a8eaf6","c29d32d27","d4e8c37cc","da44d71e7"]],"commits":["3ccf8e9ac","c29d32d27"],"cves":[],"db_id":"7129d623484df099235339952f193f4c","html":"\u003cp\u003eFix \u003ccode\u003econtrib/pg_prewarm\u003c/code\u003e's privilege checks for indexes (Ayush Vatsa, Nathan Bossart) \u003ca href=\"https://postgr.es/c/3ccf8e9ac\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/c29d32d27\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003epg_prewarm()\u003c/code\u003e requires \u003ccode\u003eSELECT\u003c/code\u003e 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 \u003ccode\u003eSELECT\u003c/code\u003e privilege on the index's table.\u003c/p\u003e","id":"18.1-f8e1ff87a5a4083e","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.","part":"changes","patch_ids":["593f9867c4bc16279f7375b5d5b7bfbf","8c7292bf48a3ed03b018b065e91c99c2"],"related_changes":[{"db_id":"2c079e365c3426a6ab1ebdaac4390c79","evidence":{"patch_ids":["593f9867c4bc16279f7375b5d5b7bfbf","8c7292bf48a3ed03b018b065e91c99c2"],"same_day":true,"statement_hash":"63d7be72922345e05e8da847c09e4ceabcc0c7cc62752dd3d2faf59e861df9ef"},"kind":"equivalent","label":"17.7","source_url":"/docs/release/17.7/#RELEASE-17-7-CHANGES","title":"Fix contrib/pg_prewarm's privilege checks for indexes","url":"/docs/compare/?release=17.7#17.7-56eb4d27523e9522","version":"17.7"},{"db_id":"31eace56fdb35b76792ceb947abcef9f","evidence":{"patch_ids":["593f9867c4bc16279f7375b5d5b7bfbf","8c7292bf48a3ed03b018b065e91c99c2"],"same_day":true,"statement_hash":"63d7be72922345e05e8da847c09e4ceabcc0c7cc62752dd3d2faf59e861df9ef"},"kind":"equivalent","label":"16.11","source_url":"/docs/release/16.11/#RELEASE-16-11-CHANGES","title":"Fix contrib/pg_prewarm's privilege checks for indexes","url":"/docs/compare/?release=16.11#16.11-83183d1755d62a81","version":"16.11"},{"db_id":"1d5915ef7928256380a928b89822c11e","evidence":{"patch_ids":["593f9867c4bc16279f7375b5d5b7bfbf","8c7292bf48a3ed03b018b065e91c99c2"],"same_day":true,"statement_hash":"63d7be72922345e05e8da847c09e4ceabcc0c7cc62752dd3d2faf59e861df9ef"},"kind":"equivalent","label":"15.15","source_url":"/docs/release/15.15/#id-1.11.6.10.5","title":"Fix contrib/pg_prewarm's privilege checks for indexes","url":"/docs/compare/?release=15.15#15.15-e8abdf46510773be","version":"15.15"},{"db_id":"3560cbeb90a220549c8020a4c4e51a43","evidence":{"patch_ids":["593f9867c4bc16279f7375b5d5b7bfbf","8c7292bf48a3ed03b018b065e91c99c2"],"same_day":true,"statement_hash":"63d7be72922345e05e8da847c09e4ceabcc0c7cc62752dd3d2faf59e861df9ef"},"kind":"equivalent","label":"14.20","source_url":"/docs/release/14.20/#id-1.11.6.10.5","title":"Fix contrib/pg_prewarm's privilege checks for indexes","url":"/docs/compare/?release=14.20#14.20-3c05d58cb93e93c6","version":"14.20"},{"db_id":"a09e1c9f229a62cef60e445720a79b1c","evidence":{"patch_ids":["593f9867c4bc16279f7375b5d5b7bfbf","8c7292bf48a3ed03b018b065e91c99c2"],"same_day":true,"statement_hash":"63d7be72922345e05e8da847c09e4ceabcc0c7cc62752dd3d2faf59e861df9ef"},"kind":"equivalent","label":"13.23","source_url":"/docs/release/13.23/#id-1.11.6.6.6","title":"Fix contrib/pg_prewarm's privilege checks for indexes","url":"/docs/compare/?release=13.23#13.23-bb299578f9dad51d","version":"13.23"}],"relations":[{"evidence":{"patch_ids":["593f9867c4bc16279f7375b5d5b7bfbf","8c7292bf48a3ed03b018b065e91c99c2"],"same_day":true,"statement_hash":"63d7be72922345e05e8da847c09e4ceabcc0c7cc62752dd3d2faf59e861df9ef"},"rule":2,"target":"1d5915ef7928256380a928b89822c11e","type":"equivalent"},{"evidence":{"patch_ids":["593f9867c4bc16279f7375b5d5b7bfbf","8c7292bf48a3ed03b018b065e91c99c2"],"same_day":true,"statement_hash":"63d7be72922345e05e8da847c09e4ceabcc0c7cc62752dd3d2faf59e861df9ef"},"rule":2,"target":"2c079e365c3426a6ab1ebdaac4390c79","type":"equivalent"},{"evidence":{"patch_ids":["593f9867c4bc16279f7375b5d5b7bfbf","8c7292bf48a3ed03b018b065e91c99c2"],"same_day":true,"statement_hash":"63d7be72922345e05e8da847c09e4ceabcc0c7cc62752dd3d2faf59e861df9ef"},"rule":2,"target":"31eace56fdb35b76792ceb947abcef9f","type":"equivalent"},{"evidence":{"patch_ids":["593f9867c4bc16279f7375b5d5b7bfbf","8c7292bf48a3ed03b018b065e91c99c2"],"same_day":true,"statement_hash":"63d7be72922345e05e8da847c09e4ceabcc0c7cc62752dd3d2faf59e861df9ef"},"rule":2,"target":"3560cbeb90a220549c8020a4c4e51a43","type":"equivalent"},{"evidence":{"patch_ids":["593f9867c4bc16279f7375b5d5b7bfbf","8c7292bf48a3ed03b018b065e91c99c2"],"same_day":true,"statement_hash":"63d7be72922345e05e8da847c09e4ceabcc0c7cc62752dd3d2faf59e861df9ef"},"rule":2,"target":"a09e1c9f229a62cef60e445720a79b1c","type":"equivalent"}],"section":"Changes","section_path":["Changes"],"source_commits":["3ccf8e9ac","c29d32d27"],"source_entry_id":"18.1/changes/049","source_hash":"186023c491be0cd6fbbca12661f6e4129cfda922dee5307de13c526e36051b90","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"63d7be72922345e05e8da847c09e4ceabcc0c7cc62752dd3d2faf59e861df9ef","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","variants":[],"version":"18.1"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["16edc1b94","b1635c166"],"commit_groups":[["16edc1b94","b1635c166"]],"commits":["b1635c166"],"cves":[],"db_id":"a68f0a28f777789fc34dd952b7f61778","html":"\u003cp\u003eIn \u003ccode\u003econtrib/pg_stat_statements\u003c/code\u003e, avoid crash when two or more constants are marked as having the same location in the SQL statement text (Sami Imseih, Dmitry Dolgov) \u003ca href=\"https://postgr.es/c/b1635c166\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"18.1-a7e88dbb0ea69eea","identity_text":"In contrib/pg_stat_statements, avoid crash when two or more constants are marked as having the same location in the SQL statement text (Sami Imseih, Dmitry Dolgov)","part":"changes","patch_ids":["c4d097e6702d0a18bda4d1a8bbc618cf"],"related_changes":[],"relations":[],"section":"Changes","section_path":["Changes"],"source_commits":["b1635c166"],"source_entry_id":"18.1/changes/050","source_hash":"e65713e607c506b7563eb27872a7beba8b3701ef14558d32ca8b3bac3df1388e","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"1bddbef944aed8861f456de07c83405980becf4c45f4baebf912d6a5864ba3ca","text":"In contrib/pg_stat_statements, avoid crash when two or more constants are marked as having the same location in the SQL statement text (Sami Imseih, Dmitry Dolgov) §","title":"In contrib/pg_stat_statements, avoid crash when two or more constants are marked as having the same location in the SQL statement text","variants":[],"version":"18.1"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["036decbba","49b5f0b53","684a745f5","c0f9fe877","c207bf473","ee2dbcad0","fc295beb7"],"commit_groups":[["036decbba","49b5f0b53","684a745f5","c0f9fe877","c207bf473","ee2dbcad0","fc295beb7"]],"commits":["fc295beb7"],"cves":[],"db_id":"7cf5a3928b0125574395c382ed52c5b1","html":"\u003cp\u003eMake \u003ccode\u003econtrib/pgstattuple\u003c/code\u003e more robust about empty or invalid index pages (Nitin Motiani) \u003ca href=\"https://postgr.es/c/fc295beb7\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eCount 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.\u003c/p\u003e","id":"18.1-e14a404bd57c041c","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.","part":"changes","patch_ids":["1ec2ccb4b684e5f57590aab9c7c2a444"],"related_changes":[{"db_id":"3be631a7028f49faa7a328c190d249c2","evidence":{"patch_ids":["1ec2ccb4b684e5f57590aab9c7c2a444"],"same_day":true,"statement_hash":"c02e1d95147e0120948e2eb5839f7964fb935bba934375858d2457ca4e09c98d"},"kind":"equivalent","label":"17.7","source_url":"/docs/release/17.7/#RELEASE-17-7-CHANGES","title":"Make contrib/pgstattuple more robust about empty or invalid index pages","url":"/docs/compare/?release=17.7#17.7-a0ddb7978278cea0","version":"17.7"},{"db_id":"a6ec20ccdb529fbc57070c204bf73a7c","evidence":{"patch_ids":["1ec2ccb4b684e5f57590aab9c7c2a444"],"same_day":true,"statement_hash":"c02e1d95147e0120948e2eb5839f7964fb935bba934375858d2457ca4e09c98d"},"kind":"equivalent","label":"16.11","source_url":"/docs/release/16.11/#RELEASE-16-11-CHANGES","title":"Make contrib/pgstattuple more robust about empty or invalid index pages","url":"/docs/compare/?release=16.11#16.11-4975417d9448e20f","version":"16.11"},{"db_id":"e2d3ae73f7d42937b9fa7746740e86a5","evidence":{"patch_ids":["1ec2ccb4b684e5f57590aab9c7c2a444"],"same_day":true,"statement_hash":"c02e1d95147e0120948e2eb5839f7964fb935bba934375858d2457ca4e09c98d"},"kind":"equivalent","label":"15.15","source_url":"/docs/release/15.15/#id-1.11.6.10.5","title":"Make contrib/pgstattuple more robust about empty or invalid index pages","url":"/docs/compare/?release=15.15#15.15-dc5d3ccafec57b41","version":"15.15"},{"db_id":"dbdca19037730dda97abc3c0ca87e248","evidence":{"patch_ids":["1ec2ccb4b684e5f57590aab9c7c2a444"],"same_day":true,"statement_hash":"c02e1d95147e0120948e2eb5839f7964fb935bba934375858d2457ca4e09c98d"},"kind":"equivalent","label":"14.20","source_url":"/docs/release/14.20/#id-1.11.6.10.5","title":"Make contrib/pgstattuple more robust about empty or invalid index pages","url":"/docs/compare/?release=14.20#14.20-c4d40eb2b10eae53","version":"14.20"},{"db_id":"bd4e2931635023fef1578e6a6ef3185b","evidence":{"patch_ids":["1ec2ccb4b684e5f57590aab9c7c2a444"],"same_day":true,"statement_hash":"c02e1d95147e0120948e2eb5839f7964fb935bba934375858d2457ca4e09c98d"},"kind":"equivalent","label":"13.23","source_url":"/docs/release/13.23/#id-1.11.6.6.6","title":"Make contrib/pgstattuple more robust about empty or invalid index pages","url":"/docs/compare/?release=13.23#13.23-12ea4dfe533f710f","version":"13.23"}],"relations":[{"evidence":{"patch_ids":["1ec2ccb4b684e5f57590aab9c7c2a444"],"same_day":true,"statement_hash":"c02e1d95147e0120948e2eb5839f7964fb935bba934375858d2457ca4e09c98d"},"rule":2,"target":"3be631a7028f49faa7a328c190d249c2","type":"equivalent"},{"evidence":{"patch_ids":["1ec2ccb4b684e5f57590aab9c7c2a444"],"same_day":true,"statement_hash":"c02e1d95147e0120948e2eb5839f7964fb935bba934375858d2457ca4e09c98d"},"rule":2,"target":"a6ec20ccdb529fbc57070c204bf73a7c","type":"equivalent"},{"evidence":{"patch_ids":["1ec2ccb4b684e5f57590aab9c7c2a444"],"same_day":true,"statement_hash":"c02e1d95147e0120948e2eb5839f7964fb935bba934375858d2457ca4e09c98d"},"rule":2,"target":"bd4e2931635023fef1578e6a6ef3185b","type":"equivalent"},{"evidence":{"patch_ids":["1ec2ccb4b684e5f57590aab9c7c2a444"],"same_day":true,"statement_hash":"c02e1d95147e0120948e2eb5839f7964fb935bba934375858d2457ca4e09c98d"},"rule":2,"target":"dbdca19037730dda97abc3c0ca87e248","type":"equivalent"},{"evidence":{"patch_ids":["1ec2ccb4b684e5f57590aab9c7c2a444"],"same_day":true,"statement_hash":"c02e1d95147e0120948e2eb5839f7964fb935bba934375858d2457ca4e09c98d"},"rule":2,"target":"e2d3ae73f7d42937b9fa7746740e86a5","type":"equivalent"}],"section":"Changes","section_path":["Changes"],"source_commits":["fc295beb7"],"source_entry_id":"18.1/changes/051","source_hash":"4a9c9202864842215eaa32a776e7fc7fc5d43dfb49b5a9dedc863dc9a43b240b","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"c02e1d95147e0120948e2eb5839f7964fb935bba934375858d2457ca4e09c98d","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","variants":[],"version":"18.1"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["03d9140cb","1c7cba4c5","2f76ffe5e","77b5b2c6f","c5d34f4a5","d8ba910b0","f8ccab0e9"],"commit_groups":[["03d9140cb","1c7cba4c5","2f76ffe5e","77b5b2c6f","c5d34f4a5","d8ba910b0","f8ccab0e9"]],"commits":["f8ccab0e9"],"cves":[],"db_id":"9973d17e573aa27107b7da92a46de435","html":"\u003cp\u003eHarden our read and write barrier macros to satisfy Clang (Thomas Munro) \u003ca href=\"https://postgr.es/c/f8ccab0e9\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe supposed that \u003ccode\u003e__atomic_thread_fence()\u003c/code\u003e 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.\u003c/p\u003e","id":"18.1-01cf9fc9542209e8","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.","part":"changes","patch_ids":["b4a97942a0ea85e91703f83ee712a3fd"],"related_changes":[{"db_id":"e3b76d3ec7d1f519b67e8ae7478d0aaf","evidence":{"patch_ids":["b4a97942a0ea85e91703f83ee712a3fd"],"same_day":true,"statement_hash":"c12ad45ebeb9c503935945a282e17d8d51255745e7eb3b429b9a388f273c231f"},"kind":"equivalent","label":"17.7","source_url":"/docs/release/17.7/#RELEASE-17-7-CHANGES","title":"Harden our read and write barrier macros to satisfy Clang","url":"/docs/compare/?release=17.7#17.7-a358469faddcaf65","version":"17.7"},{"db_id":"b638f0acce8b684dfe425af564feddc5","evidence":{"patch_ids":["b4a97942a0ea85e91703f83ee712a3fd"],"same_day":true,"statement_hash":"c12ad45ebeb9c503935945a282e17d8d51255745e7eb3b429b9a388f273c231f"},"kind":"equivalent","label":"16.11","source_url":"/docs/release/16.11/#RELEASE-16-11-CHANGES","title":"Harden our read and write barrier macros to satisfy Clang","url":"/docs/compare/?release=16.11#16.11-5eeead814be0846e","version":"16.11"},{"db_id":"1fe492cfff8c21a99fc7f4ba788cd84a","evidence":{"patch_ids":["b4a97942a0ea85e91703f83ee712a3fd"],"same_day":true,"statement_hash":"c12ad45ebeb9c503935945a282e17d8d51255745e7eb3b429b9a388f273c231f"},"kind":"equivalent","label":"15.15","source_url":"/docs/release/15.15/#id-1.11.6.10.5","title":"Harden our read and write barrier macros to satisfy Clang","url":"/docs/compare/?release=15.15#15.15-82d836f7de563b25","version":"15.15"},{"db_id":"0f40c60d2dbfd4f861d301a4bd773172","evidence":{"patch_ids":["b4a97942a0ea85e91703f83ee712a3fd"],"same_day":true,"statement_hash":"c12ad45ebeb9c503935945a282e17d8d51255745e7eb3b429b9a388f273c231f"},"kind":"equivalent","label":"14.20","source_url":"/docs/release/14.20/#id-1.11.6.10.5","title":"Harden our read and write barrier macros to satisfy Clang","url":"/docs/compare/?release=14.20#14.20-990f4af89a3a5329","version":"14.20"},{"db_id":"c4e42b13aa01ac375f66b2a5c94f5042","evidence":{"patch_ids":["b4a97942a0ea85e91703f83ee712a3fd"],"same_day":true,"statement_hash":"c12ad45ebeb9c503935945a282e17d8d51255745e7eb3b429b9a388f273c231f"},"kind":"equivalent","label":"13.23","source_url":"/docs/release/13.23/#id-1.11.6.6.6","title":"Harden our read and write barrier macros to satisfy Clang","url":"/docs/compare/?release=13.23#13.23-389f6204c3092e7f","version":"13.23"}],"relations":[{"evidence":{"patch_ids":["b4a97942a0ea85e91703f83ee712a3fd"],"same_day":true,"statement_hash":"c12ad45ebeb9c503935945a282e17d8d51255745e7eb3b429b9a388f273c231f"},"rule":2,"target":"0f40c60d2dbfd4f861d301a4bd773172","type":"equivalent"},{"evidence":{"patch_ids":["b4a97942a0ea85e91703f83ee712a3fd"],"same_day":true,"statement_hash":"c12ad45ebeb9c503935945a282e17d8d51255745e7eb3b429b9a388f273c231f"},"rule":2,"target":"1fe492cfff8c21a99fc7f4ba788cd84a","type":"equivalent"},{"evidence":{"patch_ids":["b4a97942a0ea85e91703f83ee712a3fd"],"same_day":true,"statement_hash":"c12ad45ebeb9c503935945a282e17d8d51255745e7eb3b429b9a388f273c231f"},"rule":2,"target":"b638f0acce8b684dfe425af564feddc5","type":"equivalent"},{"evidence":{"patch_ids":["b4a97942a0ea85e91703f83ee712a3fd"],"same_day":true,"statement_hash":"c12ad45ebeb9c503935945a282e17d8d51255745e7eb3b429b9a388f273c231f"},"rule":2,"target":"c4e42b13aa01ac375f66b2a5c94f5042","type":"equivalent"},{"evidence":{"patch_ids":["b4a97942a0ea85e91703f83ee712a3fd"],"same_day":true,"statement_hash":"c12ad45ebeb9c503935945a282e17d8d51255745e7eb3b429b9a388f273c231f"},"rule":2,"target":"e3b76d3ec7d1f519b67e8ae7478d0aaf","type":"equivalent"}],"section":"Changes","section_path":["Changes"],"source_commits":["f8ccab0e9"],"source_entry_id":"18.1/changes/052","source_hash":"4858e02470ee3ab0e8252521f5fdbd4155778d06053de4dea4a59a9b54e4feee","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"c12ad45ebeb9c503935945a282e17d8d51255745e7eb3b429b9a388f273c231f","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","variants":[],"version":"18.1"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["33202cba8","56cd332f8","6aa04a60c","6ad9378c9","a506b0c0a","a8933194e","f768f5a7d"],"commit_groups":[["33202cba8","56cd332f8","6aa04a60c","6ad9378c9","a506b0c0a","a8933194e","f768f5a7d"]],"commits":["6aa04a60c"],"cves":[],"db_id":"d67ac864844bc85b56699c92c83fc1da","html":"\u003cp\u003eFix PGXS build infrastructure to support building NLS \u003ccode\u003epo\u003c/code\u003e files for extensions (Ryo Matsumura) \u003ca href=\"https://postgr.es/c/6aa04a60c\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"18.1-dd957d885d3cf6e3","identity_text":"Fix PGXS build infrastructure to support building NLS po files for extensions (Ryo Matsumura)","part":"changes","patch_ids":["7ddf0a3958f313c5fa75ca694052c55e"],"related_changes":[{"db_id":"711c7248f36605616eeeb824bcc65676","evidence":{"patch_ids":["7ddf0a3958f313c5fa75ca694052c55e"],"same_day":true,"statement_hash":"2ca0251a2ba28046a94807acfb884e8c62e152a0aff4d67baabf8f4a86329212"},"kind":"equivalent","label":"17.7","source_url":"/docs/release/17.7/#RELEASE-17-7-CHANGES","title":"Fix PGXS build infrastructure to support building NLS po files for extensions","url":"/docs/compare/?release=17.7#17.7-5aeee6b10815f848","version":"17.7"},{"db_id":"af5e130f17b3c07e10f7f34dc42b2531","evidence":{"patch_ids":["7ddf0a3958f313c5fa75ca694052c55e"],"same_day":true,"statement_hash":"2ca0251a2ba28046a94807acfb884e8c62e152a0aff4d67baabf8f4a86329212"},"kind":"equivalent","label":"16.11","source_url":"/docs/release/16.11/#RELEASE-16-11-CHANGES","title":"Fix PGXS build infrastructure to support building NLS po files for extensions","url":"/docs/compare/?release=16.11#16.11-d544a36b4bf61b26","version":"16.11"},{"db_id":"48d2bb2f625a9045a6c2a66786680255","evidence":{"patch_ids":["7ddf0a3958f313c5fa75ca694052c55e"],"same_day":true,"statement_hash":"2ca0251a2ba28046a94807acfb884e8c62e152a0aff4d67baabf8f4a86329212"},"kind":"equivalent","label":"15.15","source_url":"/docs/release/15.15/#id-1.11.6.10.5","title":"Fix PGXS build infrastructure to support building NLS po files for extensions","url":"/docs/compare/?release=15.15#15.15-a6c2aa90b217412c","version":"15.15"},{"db_id":"7316bd641f6446319509fd69461d044f","evidence":{"patch_ids":["7ddf0a3958f313c5fa75ca694052c55e"],"same_day":true,"statement_hash":"2ca0251a2ba28046a94807acfb884e8c62e152a0aff4d67baabf8f4a86329212"},"kind":"equivalent","label":"14.20","source_url":"/docs/release/14.20/#id-1.11.6.10.5","title":"Fix PGXS build infrastructure to support building NLS po files for extensions","url":"/docs/compare/?release=14.20#14.20-19fa9799ea217624","version":"14.20"},{"db_id":"21f7ae374d258cb2db45f49e1739fb36","evidence":{"patch_ids":["7ddf0a3958f313c5fa75ca694052c55e"],"same_day":true,"statement_hash":"2ca0251a2ba28046a94807acfb884e8c62e152a0aff4d67baabf8f4a86329212"},"kind":"equivalent","label":"13.23","source_url":"/docs/release/13.23/#id-1.11.6.6.6","title":"Fix PGXS build infrastructure to support building NLS po files for extensions","url":"/docs/compare/?release=13.23#13.23-84d4f2ceac81de22","version":"13.23"}],"relations":[{"evidence":{"patch_ids":["7ddf0a3958f313c5fa75ca694052c55e"],"same_day":true,"statement_hash":"2ca0251a2ba28046a94807acfb884e8c62e152a0aff4d67baabf8f4a86329212"},"rule":2,"target":"21f7ae374d258cb2db45f49e1739fb36","type":"equivalent"},{"evidence":{"patch_ids":["7ddf0a3958f313c5fa75ca694052c55e"],"same_day":true,"statement_hash":"2ca0251a2ba28046a94807acfb884e8c62e152a0aff4d67baabf8f4a86329212"},"rule":2,"target":"48d2bb2f625a9045a6c2a66786680255","type":"equivalent"},{"evidence":{"patch_ids":["7ddf0a3958f313c5fa75ca694052c55e"],"same_day":true,"statement_hash":"2ca0251a2ba28046a94807acfb884e8c62e152a0aff4d67baabf8f4a86329212"},"rule":2,"target":"711c7248f36605616eeeb824bcc65676","type":"equivalent"},{"evidence":{"patch_ids":["7ddf0a3958f313c5fa75ca694052c55e"],"same_day":true,"statement_hash":"2ca0251a2ba28046a94807acfb884e8c62e152a0aff4d67baabf8f4a86329212"},"rule":2,"target":"7316bd641f6446319509fd69461d044f","type":"equivalent"},{"evidence":{"patch_ids":["7ddf0a3958f313c5fa75ca694052c55e"],"same_day":true,"statement_hash":"2ca0251a2ba28046a94807acfb884e8c62e152a0aff4d67baabf8f4a86329212"},"rule":2,"target":"af5e130f17b3c07e10f7f34dc42b2531","type":"equivalent"}],"section":"Changes","section_path":["Changes"],"source_commits":["6aa04a60c"],"source_entry_id":"18.1/changes/053","source_hash":"788d09ad30c1fc302c5b1c881bcefc6dce6b9624c52973e7f3b26f0de16d8600","source_url":"/docs/release/18.1/#RELEASE-18-1-CHANGES","statement_hash":"2ca0251a2ba28046a94807acfb884e8c62e152a0aff4d67baabf8f4a86329212","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","variants":[],"version":"18.1"}],"entry_count":53,"eol":"2030-11-14","eol_date":"2030-11-14","label":"18.1","major":"18","manual":"18","manual_build":"18.6","manual_url":"/docs/18/release-18-1.html","migration_html":"\u003cp\u003eA dump/restore is not required for those running 18.X.\u003c/p\u003e","minor":1,"placeholder":false,"source_as_of":"","source_url":"/docs/release/18.1/","status":"stable","status_label":"Supported","support_days":1463,"supported":true,"version":"18.1"}],"mode":"release","release_count":1,"remaining_cves":[],"security_as_of":"2026-09-26","security_regressions":[],"source_as_of":"2026-09-26","stats":[{"count":53,"key":"all","label":"All changes"},{"count":0,"key":"feature","label":"Features"},{"count":28,"key":"bugfix","label":"Bug fixes"},{"count":2,"key":"security","label":"Security"},{"count":0,"key":"performance","label":"Performance"},{"count":0,"key":"compatibility","label":"Compatibility"},{"count":23,"key":"improvement","label":"Improvements"}],"to_release":{"age_days":364,"build":"18.1","changes_count":53,"compatibility_count":0,"content_hash":"37f4be50ffa6dd05ff6bba94d65415e84618983e53724f0712b560222d8f2990","date":"2025-11-13","date_text":"2025-11-13","doc_git":"","doc_loaded_at":"2026-09-25T02:22:44.760693","entry_count":53,"eol":"2030-11-14","eol_date":"2030-11-14","label":"18.1","major":"18","manual":"18","manual_build":"18.6","manual_url":"/docs/18/release-18-1.html","migration_html":"\u003cp\u003eA dump/restore is not required for those running 18.X.\u003c/p\u003e","minor":1,"placeholder":false,"source_as_of":"","source_url":"/docs/release/18.1/","status":"stable","status_label":"Supported","support_days":1463,"supported":true,"version":"18.1"},"total":53,"warnings":[]}
