{"format": 1, "mode": "release", "from_release": null, "to_release": {"date": "2024-02-08", "build": "16.2", "major": "16", "minor": 2, "manual": "16", "status": "stable", "doc_git": "", "version": "16.2", "eol_date": "2028-11-09", "date_text": "2024-02-08", "supported": true, "manual_url": "/docs/16/release-16-2.html", "source_url": "/docs/release/16.2/", "entry_count": 70, "placeholder": false, "content_hash": "2e2ea778c16dcb92ac251f63aa4ffcc37d8f2450cf06b5d4ba41b047df62e692", "manual_build": "16.15", "source_as_of": "", "changes_count": 70, "doc_loaded_at": "2026-09-25T02:22:44.760693", "migration_html": "<p>A dump/restore is not required for those running 16.X.</p>\n<p>However, one bug was fixed that could have resulted in corruption of GIN indexes during concurrent updates. If you suspect such corruption, reindex affected indexes after installing this update.</p>\n<p>Also, if you are upgrading from a version earlier than 16.1, see <a href=\"/docs/16/release-16-1.html\" title=\"E.15. Release 16.1\">Section E.15</a>.</p>", "compatibility_count": 0, "label": "16.2", "status_label": "Supported", "eol": "2028-11-09", "age_days": 964, "support_days": 772}, "groups": [{"date": "2024-02-08", "build": "16.2", "major": "16", "minor": 2, "manual": "16", "status": "stable", "doc_git": "", "version": "16.2", "eol_date": "2028-11-09", "date_text": "2024-02-08", "supported": true, "manual_url": "/docs/16/release-16-2.html", "source_url": "/docs/release/16.2/", "entry_count": 70, "placeholder": false, "content_hash": "2e2ea778c16dcb92ac251f63aa4ffcc37d8f2450cf06b5d4ba41b047df62e692", "manual_build": "16.15", "source_as_of": "", "changes_count": 70, "doc_loaded_at": "2026-09-25T02:22:44.760693", "migration_html": "<p>A dump/restore is not required for those running 16.X.</p>\n<p>However, one bug was fixed that could have resulted in corruption of GIN indexes during concurrent updates. If you suspect such corruption, reindex affected indexes after installing this update.</p>\n<p>Also, if you are upgrading from a version earlier than 16.1, see <a href=\"/docs/16/release-16-1.html\" title=\"E.15. Release 16.1\">Section E.15</a>.</p>", "compatibility_count": 0, "label": "16.2", "status_label": "Supported", "eol": "2028-11-09", "age_days": 964, "support_days": 772, "entries": [{"id": "16.2-b05f335b989f45c5", "cves": ["CVE-2024-0985"], "html": "<p>Tighten security restrictions within <code>REFRESH MATERIALIZED VIEW CONCURRENTLY</code> (Heikki Linnakangas) <a href=\"https://postgr.es/c/d6a61cb3b\">§</a> <a href=\"https://postgr.es/c/fb3836855\">§</a></p>\n<p>One step of a concurrent refresh command was run under weak security restrictions. If a materialized view's owner could persuade a superuser or other high-privileged user to perform a concurrent refresh on that view, the view's owner could control code executed with the privileges of the user running <code>REFRESH</code>. Fix things so that all user-determined code is run as the view's owner, as expected.</p>\n<p>The only known exploit for this error does not work in <span>PostgreSQL</span> 16.0 and later, so it may be that v16 is not vulnerable in practice.</p>\n<p>The <span>PostgreSQL</span> Project thanks Pedro Gallegos for reporting this problem. (CVE-2024-0985)</p>", "text": "Tighten security restrictions within REFRESH MATERIALIZED VIEW CONCURRENTLY (Heikki Linnakangas) § § One step of a concurrent refresh command was run under weak security restrictions. If a materialized view's owner could persuade a superuser or other high-privileged user to perform a concurrent refresh on that view, the view's owner could control code executed with the privileges of the user running REFRESH. Fix things so that all user-determined code is run as the view's owner, as expected. The only known exploit for this error does not work in PostgreSQL 16.0 and later, so it may be that v16 is not vulnerable in practice. The PostgreSQL Project thanks Pedro Gallegos for reporting this problem. (CVE-2024-0985)", "title": "Tighten security restrictions within REFRESH MATERIALIZED VIEW CONCURRENTLY", "commits": ["d6a61cb3b", "fb3836855"], "section": "Changes", "category": "security", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "75a9621962d60ea92563960d631caef2f94908b7648bae96c934a5814be3e9b1", "section_path": ["Changes"], "commit_groups": [["06f36bc01", "a45c950ae", "add8bc9b8", "b73d21648", "b96115acb", "fb3836855"], ["2699fc035", "5a9167c39", "d541ce3b6", "d6a61cb3b", "f2fdea198", "f4f288352"]], "identity_text": "Tighten security restrictions within REFRESH MATERIALIZED VIEW CONCURRENTLY (Heikki Linnakangas) One step of a concurrent refresh command was run under weak security restrictions. If a materialized view's owner could persuade a superuser or other high-privileged user to perform a concurrent refresh on that view, the view's owner could control code executed with the privileges of the user running REFRESH. Fix things so that all user-determined code is run as the view's owner, as expected. The only known exploit for this error does not work in PostgreSQL 16.0 and later, so it may be that v16 is not vulnerable in practice. The PostgreSQL Project thanks Pedro Gallegos for reporting this problem. (CVE-2024-0985)", "commit_aliases": ["06f36bc01", "2699fc035", "5a9167c39", "a45c950ae", "add8bc9b8", "b73d21648", "b96115acb", "d541ce3b6", "d6a61cb3b", "f2fdea198", "f4f288352", "fb3836855"], "source_commits": ["d6a61cb3b", "fb3836855"], "source_entry_id": "16.2/changes/001", "db_id": "1c910161d4337efe36737aa4fca49a0d", "patch_ids": ["46d366774b62e238870862479d2da9af", "b1279af4a2d2dc792603261a78b66555"], "statement_hash": "1f710afc37bff0fdd0d7b4f291664337c9d715c928b6cff9f649cb57ac17a1e7", "relations": [{"rule": 2, "type": "equivalent", "target": "13761578f2defae4230eda215145290d", "evidence": {"same_day": true, "patch_ids": ["46d366774b62e238870862479d2da9af", "b1279af4a2d2dc792603261a78b66555"], "statement_hash": "1f710afc37bff0fdd0d7b4f291664337c9d715c928b6cff9f649cb57ac17a1e7"}}, {"rule": 2, "type": "equivalent", "target": "22e4bbcf07ae802c770bb47d718da8f9", "evidence": {"same_day": true, "patch_ids": ["46d366774b62e238870862479d2da9af", "b1279af4a2d2dc792603261a78b66555"], "statement_hash": "1f710afc37bff0fdd0d7b4f291664337c9d715c928b6cff9f649cb57ac17a1e7"}}, {"rule": 2, "type": "equivalent", "target": "2f48fb95d1769210766abf6756f3af80", "evidence": {"same_day": true, "patch_ids": ["46d366774b62e238870862479d2da9af", "b1279af4a2d2dc792603261a78b66555"], "statement_hash": "1f710afc37bff0fdd0d7b4f291664337c9d715c928b6cff9f649cb57ac17a1e7"}}, {"rule": 2, "type": "equivalent", "target": "dfc6c36c3787077c49e1956816235abf", "evidence": {"same_day": true, "patch_ids": ["46d366774b62e238870862479d2da9af", "b1279af4a2d2dc792603261a78b66555"], "statement_hash": "1f710afc37bff0fdd0d7b4f291664337c9d715c928b6cff9f649cb57ac17a1e7"}}], "version": "16.2", "category_label": "Security", "also_in": [], "variants": [], "related_changes": [{"db_id": "13761578f2defae4230eda215145290d", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Tighten security restrictions within REFRESH MATERIALIZED VIEW CONCURRENTLY", "evidence": {"same_day": true, "patch_ids": ["46d366774b62e238870862479d2da9af", "b1279af4a2d2dc792603261a78b66555"], "statement_hash": "1f710afc37bff0fdd0d7b4f291664337c9d715c928b6cff9f649cb57ac17a1e7"}, "url": "/docs/compare/?release=15.6#15.6-2bcb28f72020c8de", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "22e4bbcf07ae802c770bb47d718da8f9", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Tighten security restrictions within REFRESH MATERIALIZED VIEW CONCURRENTLY", "evidence": {"same_day": true, "patch_ids": ["46d366774b62e238870862479d2da9af", "b1279af4a2d2dc792603261a78b66555"], "statement_hash": "1f710afc37bff0fdd0d7b4f291664337c9d715c928b6cff9f649cb57ac17a1e7"}, "url": "/docs/compare/?release=14.11#14.11-3d7f07659b2a3553", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}, {"db_id": "dfc6c36c3787077c49e1956816235abf", "kind": "equivalent", "version": "13.14", "label": "13.14", "title": "Tighten security restrictions within REFRESH MATERIALIZED VIEW CONCURRENTLY", "evidence": {"same_day": true, "patch_ids": ["46d366774b62e238870862479d2da9af", "b1279af4a2d2dc792603261a78b66555"], "statement_hash": "1f710afc37bff0fdd0d7b4f291664337c9d715c928b6cff9f649cb57ac17a1e7"}, "url": "/docs/compare/?release=13.14#13.14-06344fff7d0f1e00", "source_url": "/docs/release/13.14/#id-1.11.6.15.5"}, {"db_id": "2f48fb95d1769210766abf6756f3af80", "kind": "equivalent", "version": "12.18", "label": "12.18", "title": "Tighten security restrictions within REFRESH MATERIALIZED VIEW CONCURRENTLY", "evidence": {"same_day": true, "patch_ids": ["46d366774b62e238870862479d2da9af", "b1279af4a2d2dc792603261a78b66555"], "statement_hash": "1f710afc37bff0fdd0d7b4f291664337c9d715c928b6cff9f649cb57ac17a1e7"}, "url": "/docs/compare/?release=12.18#12.18-8363a91ecff35262", "source_url": "/docs/release/12.18/#id-1.11.6.10.6"}]}, {"id": "16.2-5b39ec377e065a4d", "cves": [], "html": "<p>Fix memory leak when performing JIT inlining (Andres Freund, Daniel Gustafsson) <a href=\"https://postgr.es/c/2cf50585e\">§</a></p>\n<p>There have been multiple reports of backend processes suffering out-of-memory conditions after sufficiently many JIT compilations. This fix should resolve that.</p>", "text": "Fix memory leak when performing JIT inlining (Andres Freund, Daniel Gustafsson) § There have been multiple reports of backend processes suffering out-of-memory conditions after sufficiently many JIT compilations. This fix should resolve that.", "title": "Fix memory leak when performing JIT inlining", "commits": ["2cf50585e"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "25379ce4e8711618112cb553264c567237ef5ee5f55f10386d22e84314beb9a2", "section_path": ["Changes"], "commit_groups": [["10912f7d4", "2cf50585e", "3b991f81c", "75a20a4b4", "9dce22033", "aef521849"], ["c922b2410"]], "identity_text": "Fix memory leak when performing JIT inlining (Andres Freund, Daniel Gustafsson) There have been multiple reports of backend processes suffering out-of-memory conditions after sufficiently many JIT compilations. This fix should resolve that.", "commit_aliases": ["10912f7d4", "2cf50585e", "3b991f81c", "75a20a4b4", "9dce22033", "aef521849", "c922b2410"], "source_commits": ["2cf50585e", "c922b2410"], "source_entry_id": "16.2/changes/002", "db_id": "07c3423a4a89d95fb1987002ee8be7d1", "patch_ids": ["d7614191964afe480cf104dc4fe0f492", "d92a7676f5d313e0c02f9552a2a5ed96"], "statement_hash": "bc6a2e14876d543974dea90e1befa2a20ca18aefeba076237139d1149cb4b500", "relations": [{"rule": 2, "type": "equivalent", "target": "73c46b57ec38bcb425c01586397fa0b1", "evidence": {"same_day": true, "patch_ids": ["d7614191964afe480cf104dc4fe0f492", "d92a7676f5d313e0c02f9552a2a5ed96"], "statement_hash": "bc6a2e14876d543974dea90e1befa2a20ca18aefeba076237139d1149cb4b500"}}, {"rule": 2, "type": "equivalent", "target": "9c604709581d08acacc94750cc55a520", "evidence": {"same_day": true, "patch_ids": ["d7614191964afe480cf104dc4fe0f492", "d92a7676f5d313e0c02f9552a2a5ed96"], "statement_hash": "bc6a2e14876d543974dea90e1befa2a20ca18aefeba076237139d1149cb4b500"}}, {"rule": 2, "type": "equivalent", "target": "e64551ea4667001c8fa47696b16b27c3", "evidence": {"same_day": true, "patch_ids": ["d7614191964afe480cf104dc4fe0f492", "d92a7676f5d313e0c02f9552a2a5ed96"], "statement_hash": "bc6a2e14876d543974dea90e1befa2a20ca18aefeba076237139d1149cb4b500"}}, {"rule": 2, "type": "equivalent", "target": "f42f9782c37f0e886a245b1ef83e0647", "evidence": {"same_day": true, "patch_ids": ["d7614191964afe480cf104dc4fe0f492", "d92a7676f5d313e0c02f9552a2a5ed96"], "statement_hash": "bc6a2e14876d543974dea90e1befa2a20ca18aefeba076237139d1149cb4b500"}}], "version": "16.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "9c604709581d08acacc94750cc55a520", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Fix memory leak when performing JIT inlining", "evidence": {"same_day": true, "patch_ids": ["d7614191964afe480cf104dc4fe0f492", "d92a7676f5d313e0c02f9552a2a5ed96"], "statement_hash": "bc6a2e14876d543974dea90e1befa2a20ca18aefeba076237139d1149cb4b500"}, "url": "/docs/compare/?release=15.6#15.6-2940bfe94d2955a7", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "f42f9782c37f0e886a245b1ef83e0647", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Fix memory leak when performing JIT inlining", "evidence": {"same_day": true, "patch_ids": ["d7614191964afe480cf104dc4fe0f492", "d92a7676f5d313e0c02f9552a2a5ed96"], "statement_hash": "bc6a2e14876d543974dea90e1befa2a20ca18aefeba076237139d1149cb4b500"}, "url": "/docs/compare/?release=14.11#14.11-79f1b6bc11fc9720", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}, {"db_id": "e64551ea4667001c8fa47696b16b27c3", "kind": "equivalent", "version": "13.14", "label": "13.14", "title": "Fix memory leak when performing JIT inlining", "evidence": {"same_day": true, "patch_ids": ["d7614191964afe480cf104dc4fe0f492", "d92a7676f5d313e0c02f9552a2a5ed96"], "statement_hash": "bc6a2e14876d543974dea90e1befa2a20ca18aefeba076237139d1149cb4b500"}, "url": "/docs/compare/?release=13.14#13.14-26627d7cb0b27e9c", "source_url": "/docs/release/13.14/#id-1.11.6.15.5"}, {"db_id": "73c46b57ec38bcb425c01586397fa0b1", "kind": "equivalent", "version": "12.18", "label": "12.18", "title": "Fix memory leak when performing JIT inlining", "evidence": {"same_day": true, "patch_ids": ["d7614191964afe480cf104dc4fe0f492", "d92a7676f5d313e0c02f9552a2a5ed96"], "statement_hash": "bc6a2e14876d543974dea90e1befa2a20ca18aefeba076237139d1149cb4b500"}, "url": "/docs/compare/?release=12.18#12.18-8e4dac8e54a85c29", "source_url": "/docs/release/12.18/#id-1.11.6.10.6"}]}, {"id": "16.2-a7a2b339af15ce99", "cves": [], "html": "<p>Avoid generating incorrect partitioned-join plans (Richard Guo) <a href=\"https://postgr.es/c/62f120203\">§</a></p>\n<p>Some uncommon situations involving lateral references could create incorrect plans. Affected queries could produce wrong answers, or odd failures such as <span>“<span>variable not found in subplan target list</span>”</span>, or executor crashes.</p>", "text": "Avoid generating incorrect partitioned-join plans (Richard Guo) § Some uncommon situations involving lateral references could create incorrect plans. Affected queries could produce wrong answers, or odd failures such as “variable not found in subplan target list”, or executor crashes.", "title": "Avoid generating incorrect partitioned-join plans", "commits": ["62f120203"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "b78b2adc70fb36d790200c456a89171b501efa48604b77d1015a5c3702026a2d", "section_path": ["Changes"], "commit_groups": [["12ec16d11", "2e822a1d6", "62f120203", "7af96a66f", "e031995d5"]], "identity_text": "Avoid generating incorrect partitioned-join plans (Richard Guo) Some uncommon situations involving lateral references could create incorrect plans. Affected queries could produce wrong answers, or odd failures such as variable not found in subplan target list, or executor crashes.", "commit_aliases": ["12ec16d11", "2e822a1d6", "62f120203", "7af96a66f", "e031995d5"], "source_commits": ["62f120203"], "source_entry_id": "16.2/changes/003", "db_id": "db4f4370976304a94d33ae1c05cb4d44", "patch_ids": ["5bc39a883b56dd138892a89f4f6a0595"], "statement_hash": "c75ef4af6226dc8acda7bbf4cca8aafb721dd5cd6ff7dad0d80625333652b729", "relations": [{"rule": 2, "type": "equivalent", "target": "0242a7a95037786e301bb8e816ac0df6", "evidence": {"same_day": true, "patch_ids": ["5bc39a883b56dd138892a89f4f6a0595"], "statement_hash": "c75ef4af6226dc8acda7bbf4cca8aafb721dd5cd6ff7dad0d80625333652b729"}}, {"rule": 2, "type": "equivalent", "target": "4d7bf86ca9b875ddc9ad558405eae22c", "evidence": {"same_day": true, "patch_ids": ["5bc39a883b56dd138892a89f4f6a0595"], "statement_hash": "c75ef4af6226dc8acda7bbf4cca8aafb721dd5cd6ff7dad0d80625333652b729"}}, {"rule": 2, "type": "equivalent", "target": "d624c75086361cf6553236ff11deab1c", "evidence": {"same_day": true, "patch_ids": ["5bc39a883b56dd138892a89f4f6a0595"], "statement_hash": "c75ef4af6226dc8acda7bbf4cca8aafb721dd5cd6ff7dad0d80625333652b729"}}, {"rule": 2, "type": "equivalent", "target": "dd623f47e688863b79130d3c28441e77", "evidence": {"same_day": true, "patch_ids": ["5bc39a883b56dd138892a89f4f6a0595"], "statement_hash": "c75ef4af6226dc8acda7bbf4cca8aafb721dd5cd6ff7dad0d80625333652b729"}}], "version": "16.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "d624c75086361cf6553236ff11deab1c", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Avoid generating incorrect partitioned-join plans", "evidence": {"same_day": true, "patch_ids": ["5bc39a883b56dd138892a89f4f6a0595"], "statement_hash": "c75ef4af6226dc8acda7bbf4cca8aafb721dd5cd6ff7dad0d80625333652b729"}, "url": "/docs/compare/?release=15.6#15.6-953bf845b8bb5843", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "4d7bf86ca9b875ddc9ad558405eae22c", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Avoid generating incorrect partitioned-join plans", "evidence": {"same_day": true, "patch_ids": ["5bc39a883b56dd138892a89f4f6a0595"], "statement_hash": "c75ef4af6226dc8acda7bbf4cca8aafb721dd5cd6ff7dad0d80625333652b729"}, "url": "/docs/compare/?release=14.11#14.11-ac9997ef45e24d6f", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}, {"db_id": "0242a7a95037786e301bb8e816ac0df6", "kind": "equivalent", "version": "13.14", "label": "13.14", "title": "Avoid generating incorrect partitioned-join plans", "evidence": {"same_day": true, "patch_ids": ["5bc39a883b56dd138892a89f4f6a0595"], "statement_hash": "c75ef4af6226dc8acda7bbf4cca8aafb721dd5cd6ff7dad0d80625333652b729"}, "url": "/docs/compare/?release=13.14#13.14-731619dda69a06a7", "source_url": "/docs/release/13.14/#id-1.11.6.15.5"}, {"db_id": "dd623f47e688863b79130d3c28441e77", "kind": "equivalent", "version": "12.18", "label": "12.18", "title": "Avoid generating incorrect partitioned-join plans", "evidence": {"same_day": true, "patch_ids": ["5bc39a883b56dd138892a89f4f6a0595"], "statement_hash": "c75ef4af6226dc8acda7bbf4cca8aafb721dd5cd6ff7dad0d80625333652b729"}, "url": "/docs/compare/?release=12.18#12.18-1d82d275bbbfb1cc", "source_url": "/docs/release/12.18/#id-1.11.6.10.6"}]}, {"id": "16.2-e9ca7f8ba488cd8b", "cves": [], "html": "<p>Fix incorrect wrapping of subquery output expressions in PlaceHolderVars (Tom Lane) <a href=\"https://postgr.es/c/80bece312\">§</a></p>\n<p>This fixes incorrect results when a subquery is underneath an outer join and has an output column that laterally references something outside the outer join's scope. The output column might not appear as NULL when it should do so due to the action of the outer join.</p>", "text": "Fix incorrect wrapping of subquery output expressions in PlaceHolderVars (Tom Lane) § This fixes incorrect results when a subquery is underneath an outer join and has an output column that laterally references something outside the outer join's scope. The output column might not appear as NULL when it should do so due to the action of the outer join.", "title": "Fix incorrect wrapping of subquery output expressions in PlaceHolderVars", "commits": ["80bece312"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "8237716145fa4685798a1e42b47d4b2e64eb66c19eb7586a64f257adc8740946", "section_path": ["Changes"], "commit_groups": [["29f114b6f", "69c12c417", "80bece312", "a0b4fda44", "bfd28bb07", "ea1d54288"]], "identity_text": "Fix incorrect wrapping of subquery output expressions in PlaceHolderVars (Tom Lane) This fixes incorrect results when a subquery is underneath an outer join and has an output column that laterally references something outside the outer join's scope. The output column might not appear as NULL when it should do so due to the action of the outer join.", "commit_aliases": ["29f114b6f", "69c12c417", "80bece312", "a0b4fda44", "bfd28bb07", "ea1d54288"], "source_commits": ["80bece312"], "source_entry_id": "16.2/changes/004", "db_id": "27dbdb3b5729cea4a353c25042b53fa9", "patch_ids": ["306df43543d108e880b64497a9ef2843"], "statement_hash": "edc6b418cc4ec23397e110e65473fb83b8c35d3b28baba46a6697e525d0cfd99", "relations": [{"rule": 2, "type": "equivalent", "target": "9f6132ec87d1c1be7f9edc8906dfd09d", "evidence": {"same_day": true, "patch_ids": ["306df43543d108e880b64497a9ef2843"], "statement_hash": "edc6b418cc4ec23397e110e65473fb83b8c35d3b28baba46a6697e525d0cfd99"}}, {"rule": 2, "type": "equivalent", "target": "a37c5b6eef5c20106899d961e020319f", "evidence": {"same_day": true, "patch_ids": ["306df43543d108e880b64497a9ef2843"], "statement_hash": "edc6b418cc4ec23397e110e65473fb83b8c35d3b28baba46a6697e525d0cfd99"}}, {"rule": 2, "type": "equivalent", "target": "a6fac98376e631660257b15f803756bc", "evidence": {"same_day": true, "patch_ids": ["306df43543d108e880b64497a9ef2843"], "statement_hash": "edc6b418cc4ec23397e110e65473fb83b8c35d3b28baba46a6697e525d0cfd99"}}, {"rule": 2, "type": "equivalent", "target": "d4ba11683185e750f702a309c216117b", "evidence": {"same_day": true, "patch_ids": ["306df43543d108e880b64497a9ef2843"], "statement_hash": "edc6b418cc4ec23397e110e65473fb83b8c35d3b28baba46a6697e525d0cfd99"}}], "version": "16.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "a37c5b6eef5c20106899d961e020319f", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Fix incorrect wrapping of subquery output expressions in PlaceHolderVars", "evidence": {"same_day": true, "patch_ids": ["306df43543d108e880b64497a9ef2843"], "statement_hash": "edc6b418cc4ec23397e110e65473fb83b8c35d3b28baba46a6697e525d0cfd99"}, "url": "/docs/compare/?release=15.6#15.6-5fecd83f381b504b", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "d4ba11683185e750f702a309c216117b", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Fix incorrect wrapping of subquery output expressions in PlaceHolderVars", "evidence": {"same_day": true, "patch_ids": ["306df43543d108e880b64497a9ef2843"], "statement_hash": "edc6b418cc4ec23397e110e65473fb83b8c35d3b28baba46a6697e525d0cfd99"}, "url": "/docs/compare/?release=14.11#14.11-4b0c4ada85fa667f", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}, {"db_id": "9f6132ec87d1c1be7f9edc8906dfd09d", "kind": "equivalent", "version": "13.14", "label": "13.14", "title": "Fix incorrect wrapping of subquery output expressions in PlaceHolderVars", "evidence": {"same_day": true, "patch_ids": ["306df43543d108e880b64497a9ef2843"], "statement_hash": "edc6b418cc4ec23397e110e65473fb83b8c35d3b28baba46a6697e525d0cfd99"}, "url": "/docs/compare/?release=13.14#13.14-d0456f1d8acbc81b", "source_url": "/docs/release/13.14/#id-1.11.6.15.5"}, {"db_id": "a6fac98376e631660257b15f803756bc", "kind": "equivalent", "version": "12.18", "label": "12.18", "title": "Fix incorrect wrapping of subquery output expressions in PlaceHolderVars", "evidence": {"same_day": true, "patch_ids": ["306df43543d108e880b64497a9ef2843"], "statement_hash": "edc6b418cc4ec23397e110e65473fb83b8c35d3b28baba46a6697e525d0cfd99"}, "url": "/docs/compare/?release=12.18#12.18-afb0fda690e8d928", "source_url": "/docs/release/12.18/#id-1.11.6.10.6"}]}, {"id": "16.2-7c0e7bcce591d682", "cves": [], "html": "<p>Fix misprocessing of window function run conditions (Richard Guo) <a href=\"https://postgr.es/c/ee9553218\">§</a></p>\n<p>This oversight could lead to <span>“<span>WindowFunc not found in subplan target lists</span>”</span> errors.</p>", "text": "Fix misprocessing of window function run conditions (Richard Guo) § This oversight could lead to “WindowFunc not found in subplan target lists” errors.", "title": "Fix misprocessing of window function run conditions", "commits": ["ee9553218"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "e6b82d325726f8364e1a01535a4ef43a3f00e7bb41abb01525bd2c93bc36a8e8", "section_path": ["Changes"], "commit_groups": [["c3f52fd5d", "d641b827a", "ee9553218"]], "identity_text": "Fix misprocessing of window function run conditions (Richard Guo) This oversight could lead to WindowFunc not found in subplan target lists errors.", "commit_aliases": ["c3f52fd5d", "d641b827a", "ee9553218"], "source_commits": ["ee9553218"], "source_entry_id": "16.2/changes/005", "db_id": "85a3a45f1079d635cc4463201d887346", "patch_ids": ["83789201675b24e93caf4b49fb785174"], "statement_hash": "9d9006c6b719a3698f790acf5aa947439978994d8de8d83d99b975c3634d18f8", "relations": [{"rule": 2, "type": "equivalent", "target": "b876c8e5e9f837881ab6374cf9da70af", "evidence": {"same_day": true, "patch_ids": ["83789201675b24e93caf4b49fb785174"], "statement_hash": "9d9006c6b719a3698f790acf5aa947439978994d8de8d83d99b975c3634d18f8"}}], "version": "16.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "b876c8e5e9f837881ab6374cf9da70af", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Fix misprocessing of window function run conditions", "evidence": {"same_day": true, "patch_ids": ["83789201675b24e93caf4b49fb785174"], "statement_hash": "9d9006c6b719a3698f790acf5aa947439978994d8de8d83d99b975c3634d18f8"}, "url": "/docs/compare/?release=15.6#15.6-134f5bb68ca3c8d1", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}]}, {"id": "16.2-da9576597c7be744", "cves": [], "html": "<p>Fix detection of inner-side uniqueness for Memoize plans (Richard Guo) <a href=\"https://postgr.es/c/74f770ef2\">§</a></p>\n<p>This mistake could lead to <span>“<span>cache entry already complete</span>”</span> errors.</p>", "text": "Fix detection of inner-side uniqueness for Memoize plans (Richard Guo) § This mistake could lead to “cache entry already complete” errors.", "title": "Fix detection of inner-side uniqueness for Memoize plans", "commits": ["74f770ef2"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "42fd79600e1d065e44381db0d1a14ff2ce2a4f2694dda42070b57c8e0bf3cd4d", "section_path": ["Changes"], "commit_groups": [["2bcf0785c", "74f770ef2"]], "identity_text": "Fix detection of inner-side uniqueness for Memoize plans (Richard Guo) This mistake could lead to cache entry already complete errors.", "commit_aliases": ["2bcf0785c", "74f770ef2"], "source_commits": ["74f770ef2"], "source_entry_id": "16.2/changes/006", "db_id": "4d8b44430d6c8270429d701ffcbed815", "patch_ids": ["9e55003f1829d149585eaba1d1643e70"], "statement_hash": "af849852104f2441611bd40db1d91e7f20a369cd668c7120998f942915cb077a", "relations": [], "version": "16.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": []}, {"id": "16.2-3402b60a0811af5a", "cves": [], "html": "<p>Fix computation of nullingrels when constant-folding field selection (Richard Guo) <a href=\"https://postgr.es/c/6bf2efb38\">§</a></p>\n<p>Failure to do this led to errors like <span>“<span>wrong varnullingrels (b) (expected (b 3)) for Var 2/2</span>”</span>.</p>", "text": "Fix computation of nullingrels when constant-folding field selection (Richard Guo) § Failure to do this led to errors like “wrong varnullingrels (b) (expected (b 3)) for Var 2/2”.", "title": "Fix computation of nullingrels when constant-folding field selection", "commits": ["6bf2efb38"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "3c6125bef76f7f6df8953d5478adb70be14ea234e0a2d7bb3508a85c61924461", "section_path": ["Changes"], "commit_groups": [["36f5594c0", "6bf2efb38"]], "identity_text": "Fix computation of nullingrels when constant-folding field selection (Richard Guo) Failure to do this led to errors like wrong varnullingrels (b) (expected (b 3)) for Var 2/2.", "commit_aliases": ["36f5594c0", "6bf2efb38"], "source_commits": ["6bf2efb38"], "source_entry_id": "16.2/changes/007", "db_id": "fcdf37c317737a71a4b60f712961655c", "patch_ids": ["d0f87b9c53c80f464e77c54b479ca317"], "statement_hash": "f6de442dd1e69e4713ac6326f6b4b193446f2d60fac82ea31c7f5346adde1017", "relations": [], "version": "16.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": []}, {"id": "16.2-0c5d9e0dd42d07bf", "cves": [], "html": "<p>Skip inappropriate actions when <code>MERGE</code> causes a cross-partition update (Dean Rasheed) <a href=\"https://postgr.es/c/06a546382\">§</a></p>\n<p>When executing a <code>MERGE UPDATE</code> action on a partitioned table, if the <code>UPDATE</code> is turned into a <code>DELETE</code> and <code>INSERT</code> due to changing a partition key column, skip firing <code>AFTER UPDATE ROW</code> triggers, as well as other post-update actions such as RLS checks. These actions would typically fail, which is why a regular <code>UPDATE</code> doesn't do them in such cases; <code>MERGE</code> shouldn't either.</p>", "text": "Skip inappropriate actions when MERGE causes a cross-partition update (Dean Rasheed) § When executing a MERGE UPDATE action on a partitioned table, if the UPDATE is turned into a DELETE and INSERT due to changing a partition key column, skip firing AFTER UPDATE ROW triggers, as well as other post-update actions such as RLS checks. These actions would typically fail, which is why a regular UPDATE doesn't do them in such cases; MERGE shouldn't either.", "title": "Skip inappropriate actions when MERGE causes a cross-partition update", "commits": ["06a546382"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "71c70366ac2c85d29b3d6271e71fcaba704f3193154d2dc890201d079ad7d14b", "section_path": ["Changes"], "commit_groups": [["06a546382", "a4f7d33a9", "c0bfdaf2b"]], "identity_text": "Skip inappropriate actions when MERGE causes a cross-partition update (Dean Rasheed) When executing a MERGE UPDATE action on a partitioned table, if the UPDATE is turned into a DELETE and INSERT due to changing a partition key column, skip firing AFTER UPDATE ROW triggers, as well as other post-update actions such as RLS checks. These actions would typically fail, which is why a regular UPDATE doesn't do them in such cases; MERGE shouldn't either.", "commit_aliases": ["06a546382", "a4f7d33a9", "c0bfdaf2b"], "source_commits": ["06a546382"], "source_entry_id": "16.2/changes/008", "db_id": "9b42f36f579a300f042da9d375ab24ea", "patch_ids": ["ed672d0c32e036809dea5d6cb9a0dd50"], "statement_hash": "cfbe4af47a4dc514ea52107132f94c07e6549910c214b3169f3de5c4703e20ed", "relations": [{"rule": 2, "type": "equivalent", "target": "202606b241ea83a172c0326281a49652", "evidence": {"same_day": true, "patch_ids": ["ed672d0c32e036809dea5d6cb9a0dd50"], "statement_hash": "cfbe4af47a4dc514ea52107132f94c07e6549910c214b3169f3de5c4703e20ed"}}], "version": "16.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "202606b241ea83a172c0326281a49652", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Skip inappropriate actions when MERGE causes a cross-partition update", "evidence": {"same_day": true, "patch_ids": ["ed672d0c32e036809dea5d6cb9a0dd50"], "statement_hash": "cfbe4af47a4dc514ea52107132f94c07e6549910c214b3169f3de5c4703e20ed"}, "url": "/docs/compare/?release=15.6#15.6-3b80e1d4ecbc6581", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}]}, {"id": "16.2-9069dff5146fd426", "cves": [], "html": "<p>Cope with <code>BEFORE ROW DELETE</code> triggers in cross-partition <code>MERGE</code> updates (Dean Rasheed) <a href=\"https://postgr.es/c/7f07384dc\">§</a></p>\n<p>If such a trigger attempted to prevent the update by returning NULL, <code>MERGE</code> would suffer an error or assertion failure.</p>", "text": "Cope with BEFORE ROW DELETE triggers in cross-partition MERGE updates (Dean Rasheed) § If such a trigger attempted to prevent the update by returning NULL, MERGE would suffer an error or assertion failure.", "title": "Cope with BEFORE ROW DELETE triggers in cross-partition MERGE updates", "commits": ["7f07384dc"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "a896c01124d1de6fd262a4d5c397e034adc9e051991d14aec491a77c7ba49cbd", "section_path": ["Changes"], "commit_groups": [["7e8c6d7af", "7f07384dc", "a0ff37173"]], "identity_text": "Cope with BEFORE ROW DELETE triggers in cross-partition MERGE updates (Dean Rasheed) If such a trigger attempted to prevent the update by returning NULL, MERGE would suffer an error or assertion failure.", "commit_aliases": ["7e8c6d7af", "7f07384dc", "a0ff37173"], "source_commits": ["7f07384dc"], "source_entry_id": "16.2/changes/009", "db_id": "0742375f25488d2c2c12fa054e3b6b86", "patch_ids": ["90d6b271e6d1f84b368a271dc764af77"], "statement_hash": "9359701775e0e1b01511e9930c8bd4f914cce341c5830e21f36abb7a8f7e4514", "relations": [{"rule": 2, "type": "equivalent", "target": "af501c52b459f136cf41d560ac39bdb3", "evidence": {"same_day": true, "patch_ids": ["90d6b271e6d1f84b368a271dc764af77"], "statement_hash": "9359701775e0e1b01511e9930c8bd4f914cce341c5830e21f36abb7a8f7e4514"}}], "version": "16.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "af501c52b459f136cf41d560ac39bdb3", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Cope with BEFORE ROW DELETE triggers in cross-partition MERGE updates", "evidence": {"same_day": true, "patch_ids": ["90d6b271e6d1f84b368a271dc764af77"], "statement_hash": "9359701775e0e1b01511e9930c8bd4f914cce341c5830e21f36abb7a8f7e4514"}, "url": "/docs/compare/?release=15.6#15.6-f8ca56715268fcb4", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}]}, {"id": "16.2-f7fc3d6ac99cb843", "cves": [], "html": "<p>Prevent access to a no-longer-pinned buffer in <code>BEFORE ROW UPDATE</code> triggers (Alexander Lakhin, Tom Lane) <a href=\"https://postgr.es/c/23e0ba59c\">§</a></p>\n<p>If the tuple being updated had just been updated and moved to another page by another session, there was a narrow window where we would attempt to fetch data from the new tuple version without any pin on its buffer. In principle this could result in garbage data appearing in non-updated columns of the proposed new tuple. The odds of problems in practice seem rather low, however.</p>", "text": "Prevent access to a no-longer-pinned buffer in BEFORE ROW UPDATE triggers (Alexander Lakhin, Tom Lane) § If the tuple being updated had just been updated and moved to another page by another session, there was a narrow window where we would attempt to fetch data from the new tuple version without any pin on its buffer. In principle this could result in garbage data appearing in non-updated columns of the proposed new tuple. The odds of problems in practice seem rather low, however.", "title": "Prevent access to a no-longer-pinned buffer in BEFORE ROW UPDATE triggers", "commits": ["23e0ba59c"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "a55fa1df40478e47f2951f0e458a728c177f70240d370e0a6f1833fe36cd86ba", "section_path": ["Changes"], "commit_groups": [["1a4e54617", "23e0ba59c", "6545ba96c", "c7edaeec5"]], "identity_text": "Prevent access to a no-longer-pinned buffer in BEFORE ROW UPDATE triggers (Alexander Lakhin, Tom Lane) If the tuple being updated had just been updated and moved to another page by another session, there was a narrow window where we would attempt to fetch data from the new tuple version without any pin on its buffer. In principle this could result in garbage data appearing in non-updated columns of the proposed new tuple. The odds of problems in practice seem rather low, however.", "commit_aliases": ["1a4e54617", "23e0ba59c", "6545ba96c", "c7edaeec5"], "source_commits": ["23e0ba59c"], "source_entry_id": "16.2/changes/010", "db_id": "426791a52c4c51e2a0a8267a65a4b7cc", "patch_ids": ["88ce115aa1f34efed22765cf03ac6ce0"], "statement_hash": "594c73e5a3499fc4646d07612e8e47615e97f8d7d85cad9102a485424a5fe83b", "relations": [{"rule": 2, "type": "equivalent", "target": "84bad66ac6c1767fee43a6d41d4520e1", "evidence": {"same_day": true, "patch_ids": ["88ce115aa1f34efed22765cf03ac6ce0"], "statement_hash": "594c73e5a3499fc4646d07612e8e47615e97f8d7d85cad9102a485424a5fe83b"}}, {"rule": 2, "type": "equivalent", "target": "c7e616ce9fb5c44e3d4d811ff83075e0", "evidence": {"same_day": true, "patch_ids": ["88ce115aa1f34efed22765cf03ac6ce0"], "statement_hash": "594c73e5a3499fc4646d07612e8e47615e97f8d7d85cad9102a485424a5fe83b"}}], "version": "16.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "84bad66ac6c1767fee43a6d41d4520e1", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Prevent access to a no-longer-pinned buffer in BEFORE ROW UPDATE triggers", "evidence": {"same_day": true, "patch_ids": ["88ce115aa1f34efed22765cf03ac6ce0"], "statement_hash": "594c73e5a3499fc4646d07612e8e47615e97f8d7d85cad9102a485424a5fe83b"}, "url": "/docs/compare/?release=15.6#15.6-aa5db7425ce15b7b", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "c7e616ce9fb5c44e3d4d811ff83075e0", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Prevent access to a no-longer-pinned buffer in BEFORE ROW UPDATE triggers", "evidence": {"same_day": true, "patch_ids": ["88ce115aa1f34efed22765cf03ac6ce0"], "statement_hash": "594c73e5a3499fc4646d07612e8e47615e97f8d7d85cad9102a485424a5fe83b"}, "url": "/docs/compare/?release=14.11#14.11-05af0b1b4b753680", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}]}, {"id": "16.2-20162a24d2897389", "cves": [], "html": "<p>Avoid requesting an oversize shared-memory area in parallel hash join (Thomas Munro, Andrei Lepikhov, Alexander Korotkov) <a href=\"https://postgr.es/c/714a987bc\">§</a> <a href=\"https://postgr.es/c/20a566cd4\">§</a></p>\n<p>The limiting value was too large, allowing <span>“<span>invalid DSA memory alloc request size</span>”</span> errors to occur with sufficiently large expected hash table sizes.</p>", "text": "Avoid requesting an oversize shared-memory area in parallel hash join (Thomas Munro, Andrei Lepikhov, Alexander Korotkov) § § The limiting value was too large, allowing “invalid DSA memory alloc request size” errors to occur with sufficiently large expected hash table sizes.", "title": "Avoid requesting an oversize shared-memory area in parallel hash join", "commits": ["20a566cd4", "714a987bc"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "a6858a5dc82814829ecdcbe8e0f4bcea4eda8dbeea4813bb1007ac64b20efe4b", "section_path": ["Changes"], "commit_groups": [["17b6f39f1", "20a566cd4", "6d94cc6ca", "6eecc3a62", "97e64911d", "a5e2853c3"], ["1a7c03e6f", "2a67b5a60", "3bdaa8fc6", "60de25c6e", "714a987bc", "72d5b2776"]], "identity_text": "Avoid requesting an oversize shared-memory area in parallel hash join (Thomas Munro, Andrei Lepikhov, Alexander Korotkov) The limiting value was too large, allowing invalid DSA memory alloc request size errors to occur with sufficiently large expected hash table sizes.", "commit_aliases": ["17b6f39f1", "1a7c03e6f", "20a566cd4", "2a67b5a60", "3bdaa8fc6", "60de25c6e", "6d94cc6ca", "6eecc3a62", "714a987bc", "72d5b2776", "97e64911d", "a5e2853c3"], "source_commits": ["20a566cd4", "714a987bc"], "source_entry_id": "16.2/changes/011", "db_id": "f000c1267cf887c22cff2c73ca49b98e", "patch_ids": ["0cd4e41c62098ce253a5a7f3fd508941", "b828ffb38c16213960414e63f233b647"], "statement_hash": "48966cb1ef20f0afdb3e2c8ffbdad64ff04888dec0a11a1a30ae0f26e3c936ba", "relations": [{"rule": 2, "type": "equivalent", "target": "0bf1730a06c170b3c9ca29a57d151a0b", "evidence": {"same_day": true, "patch_ids": ["0cd4e41c62098ce253a5a7f3fd508941", "b828ffb38c16213960414e63f233b647"], "statement_hash": "48966cb1ef20f0afdb3e2c8ffbdad64ff04888dec0a11a1a30ae0f26e3c936ba"}}, {"rule": 2, "type": "equivalent", "target": "5b64158d44a0e06cde6110be6a022577", "evidence": {"same_day": true, "patch_ids": ["0cd4e41c62098ce253a5a7f3fd508941", "b828ffb38c16213960414e63f233b647"], "statement_hash": "48966cb1ef20f0afdb3e2c8ffbdad64ff04888dec0a11a1a30ae0f26e3c936ba"}}, {"rule": 2, "type": "equivalent", "target": "726d003507fcb7d36bc8d1605399804d", "evidence": {"same_day": true, "patch_ids": ["0cd4e41c62098ce253a5a7f3fd508941", "b828ffb38c16213960414e63f233b647"], "statement_hash": "48966cb1ef20f0afdb3e2c8ffbdad64ff04888dec0a11a1a30ae0f26e3c936ba"}}, {"rule": 2, "type": "equivalent", "target": "e6cb1cce9864dcf2a69765307e3c52e1", "evidence": {"same_day": true, "patch_ids": ["0cd4e41c62098ce253a5a7f3fd508941", "b828ffb38c16213960414e63f233b647"], "statement_hash": "48966cb1ef20f0afdb3e2c8ffbdad64ff04888dec0a11a1a30ae0f26e3c936ba"}}], "version": "16.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "726d003507fcb7d36bc8d1605399804d", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Avoid requesting an oversize shared-memory area in parallel hash join", "evidence": {"same_day": true, "patch_ids": ["0cd4e41c62098ce253a5a7f3fd508941", "b828ffb38c16213960414e63f233b647"], "statement_hash": "48966cb1ef20f0afdb3e2c8ffbdad64ff04888dec0a11a1a30ae0f26e3c936ba"}, "url": "/docs/compare/?release=15.6#15.6-ee8102544c3858da", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "0bf1730a06c170b3c9ca29a57d151a0b", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Avoid requesting an oversize shared-memory area in parallel hash join", "evidence": {"same_day": true, "patch_ids": ["0cd4e41c62098ce253a5a7f3fd508941", "b828ffb38c16213960414e63f233b647"], "statement_hash": "48966cb1ef20f0afdb3e2c8ffbdad64ff04888dec0a11a1a30ae0f26e3c936ba"}, "url": "/docs/compare/?release=14.11#14.11-a742af2a89e5763b", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}, {"db_id": "5b64158d44a0e06cde6110be6a022577", "kind": "equivalent", "version": "13.14", "label": "13.14", "title": "Avoid requesting an oversize shared-memory area in parallel hash join", "evidence": {"same_day": true, "patch_ids": ["0cd4e41c62098ce253a5a7f3fd508941", "b828ffb38c16213960414e63f233b647"], "statement_hash": "48966cb1ef20f0afdb3e2c8ffbdad64ff04888dec0a11a1a30ae0f26e3c936ba"}, "url": "/docs/compare/?release=13.14#13.14-518e9fede8b58b98", "source_url": "/docs/release/13.14/#id-1.11.6.15.5"}, {"db_id": "e6cb1cce9864dcf2a69765307e3c52e1", "kind": "equivalent", "version": "12.18", "label": "12.18", "title": "Avoid requesting an oversize shared-memory area in parallel hash join", "evidence": {"same_day": true, "patch_ids": ["0cd4e41c62098ce253a5a7f3fd508941", "b828ffb38c16213960414e63f233b647"], "statement_hash": "48966cb1ef20f0afdb3e2c8ffbdad64ff04888dec0a11a1a30ae0f26e3c936ba"}, "url": "/docs/compare/?release=12.18#12.18-c0efd910bc80604d", "source_url": "/docs/release/12.18/#id-1.11.6.10.6"}]}, {"id": "16.2-ffe533b33e7de9c0", "cves": [], "html": "<p>Fix corruption of local buffer state when an error occurs while trying to extend a temporary table (Tender Wang) <a href=\"https://postgr.es/c/37c551663\">§</a></p>", "text": "Fix corruption of local buffer state when an error occurs while trying to extend a temporary table (Tender Wang) §", "title": "Fix corruption of local buffer state when an error occurs while trying to extend a temporary table", "commits": ["37c551663"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "b466cd8c81849e9878555bd81fc12a6c43e8a1d37366b17c0031dbfc77efe975", "section_path": ["Changes"], "commit_groups": [["37c551663", "9cd0d77df"]], "identity_text": "Fix corruption of local buffer state when an error occurs while trying to extend a temporary table (Tender Wang)", "commit_aliases": ["37c551663", "9cd0d77df"], "source_commits": ["37c551663"], "source_entry_id": "16.2/changes/012", "db_id": "000d707b4bae9ca27d15b60844914354", "patch_ids": ["2989798efc91a5443b3005aa9f6072b8"], "statement_hash": "1826bc16c219af7b7a764781562b18153234a87562c97aaa42caa9d41efce754", "relations": [], "version": "16.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": []}, {"id": "16.2-907e9bbe3b55cc2c", "cves": [], "html": "<p>Fix use of wrong tuple slot while evaluating <code>DISTINCT</code> aggregates that have multiple arguments (David Rowley) <a href=\"https://postgr.es/c/6298673f4\">§</a></p>\n<p>This mistake could lead to errors such as <span>“<span>attribute 1 of type record has wrong type</span>”</span>.</p>", "text": "Fix use of wrong tuple slot while evaluating DISTINCT aggregates that have multiple arguments (David Rowley) § This mistake could lead to errors such as “attribute 1 of type record has wrong type”.", "title": "Fix use of wrong tuple slot while evaluating DISTINCT aggregates that have multiple arguments", "commits": ["6298673f4"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "512032723f98f6142c5334e6325b310f70f4bfe9bace1f226761171455665947", "section_path": ["Changes"], "commit_groups": [["6298673f4", "ae69c4fcf"]], "identity_text": "Fix use of wrong tuple slot while evaluating DISTINCT aggregates that have multiple arguments (David Rowley) This mistake could lead to errors such as attribute 1 of type record has wrong type.", "commit_aliases": ["6298673f4", "ae69c4fcf"], "source_commits": ["6298673f4"], "source_entry_id": "16.2/changes/013", "db_id": "63a74b302bdf06492a00f31030cadba6", "patch_ids": ["f146d907e56d3d5cf4c255a3f4c036f0"], "statement_hash": "b1c96048edda98b77e11b6d8f5ba863f1c88e52c9e0c5b9ba4b411d272c4c8c5", "relations": [], "version": "16.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": []}, {"id": "16.2-73ad30bee194ec01", "cves": [], "html": "<p>Avoid assertion failures in <code>heap_update()</code> and <code>heap_delete()</code> when a tuple to be updated by a foreign-key enforcement trigger fails the extra visibility crosscheck (Alexander Lakhin) <a href=\"https://postgr.es/c/9fee3232a\">§</a></p>\n<p>This error had no impact in non-assert builds.</p>", "text": "Avoid assertion failures in heap_update() and heap_delete() when a tuple to be updated by a foreign-key enforcement trigger fails the extra visibility crosscheck (Alexander Lakhin) § This error had no impact in non-assert builds.", "title": "Avoid assertion failures in heap_update() and heap_delete() when a tuple to be updated by a foreign-key enforcement trigger fails the extra visibility crosscheck", "commits": ["9fee3232a"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "4ed18811fc5d16227dd19bd4521b43c82eb7efa40ab4bc0aa317f099ca0dfffd", "section_path": ["Changes"], "commit_groups": [["2873fbfe0", "59c62a21f", "60f227316", "9fee3232a", "b8a606e21", "e434d3620"]], "identity_text": "Avoid assertion failures in heap_update() and heap_delete() when a tuple to be updated by a foreign-key enforcement trigger fails the extra visibility crosscheck (Alexander Lakhin) This error had no impact in non-assert builds.", "commit_aliases": ["2873fbfe0", "59c62a21f", "60f227316", "9fee3232a", "b8a606e21", "e434d3620"], "source_commits": ["9fee3232a"], "source_entry_id": "16.2/changes/014", "db_id": "cbfc9ca26020d85a1e68af56c58675ee", "patch_ids": ["445602fcc451a7d952166f65e0246e84"], "statement_hash": "676de680ee84dc73aa1660891f9219895ba8cbda3d95bc0deddbc3a89252e5a4", "relations": [{"rule": 2, "type": "equivalent", "target": "02b9b43a00400d5ed665a23bcc53a585", "evidence": {"same_day": true, "patch_ids": ["445602fcc451a7d952166f65e0246e84"], "statement_hash": "676de680ee84dc73aa1660891f9219895ba8cbda3d95bc0deddbc3a89252e5a4"}}, {"rule": 2, "type": "equivalent", "target": "72b6d0d8d396821c068670959b46120f", "evidence": {"same_day": true, "patch_ids": ["445602fcc451a7d952166f65e0246e84"], "statement_hash": "676de680ee84dc73aa1660891f9219895ba8cbda3d95bc0deddbc3a89252e5a4"}}, {"rule": 2, "type": "equivalent", "target": "a31ae7fe51afefc3b8d8c8d0d3c6f21c", "evidence": {"same_day": true, "patch_ids": ["445602fcc451a7d952166f65e0246e84"], "statement_hash": "676de680ee84dc73aa1660891f9219895ba8cbda3d95bc0deddbc3a89252e5a4"}}, {"rule": 2, "type": "equivalent", "target": "ee1ce92bba3c5a9951a811a4ee66b110", "evidence": {"same_day": true, "patch_ids": ["445602fcc451a7d952166f65e0246e84"], "statement_hash": "676de680ee84dc73aa1660891f9219895ba8cbda3d95bc0deddbc3a89252e5a4"}}], "version": "16.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "ee1ce92bba3c5a9951a811a4ee66b110", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Avoid assertion failures in heap_update() and heap_delete() when a tuple to be updated by a foreign-key enforcement trigger fails the extra visibility crosscheck", "evidence": {"same_day": true, "patch_ids": ["445602fcc451a7d952166f65e0246e84"], "statement_hash": "676de680ee84dc73aa1660891f9219895ba8cbda3d95bc0deddbc3a89252e5a4"}, "url": "/docs/compare/?release=15.6#15.6-84a2cc91147404e8", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "a31ae7fe51afefc3b8d8c8d0d3c6f21c", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Avoid assertion failures in heap_update() and heap_delete() when a tuple to be updated by a foreign-key enforcement trigger fails the extra visibility crosscheck", "evidence": {"same_day": true, "patch_ids": ["445602fcc451a7d952166f65e0246e84"], "statement_hash": "676de680ee84dc73aa1660891f9219895ba8cbda3d95bc0deddbc3a89252e5a4"}, "url": "/docs/compare/?release=14.11#14.11-459d54b4d5977eb9", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}, {"db_id": "02b9b43a00400d5ed665a23bcc53a585", "kind": "equivalent", "version": "13.14", "label": "13.14", "title": "Avoid assertion failures in heap_update() and heap_delete() when a tuple to be updated by a foreign-key enforcement trigger fails the extra visibility crosscheck", "evidence": {"same_day": true, "patch_ids": ["445602fcc451a7d952166f65e0246e84"], "statement_hash": "676de680ee84dc73aa1660891f9219895ba8cbda3d95bc0deddbc3a89252e5a4"}, "url": "/docs/compare/?release=13.14#13.14-248fc4e1613b7596", "source_url": "/docs/release/13.14/#id-1.11.6.15.5"}, {"db_id": "72b6d0d8d396821c068670959b46120f", "kind": "equivalent", "version": "12.18", "label": "12.18", "title": "Avoid assertion failures in heap_update() and heap_delete() when a tuple to be updated by a foreign-key enforcement trigger fails the extra visibility crosscheck", "evidence": {"same_day": true, "patch_ids": ["445602fcc451a7d952166f65e0246e84"], "statement_hash": "676de680ee84dc73aa1660891f9219895ba8cbda3d95bc0deddbc3a89252e5a4"}, "url": "/docs/compare/?release=12.18#12.18-fa48bc75be70d958", "source_url": "/docs/release/12.18/#id-1.11.6.10.6"}]}, {"id": "16.2-2969fedfddea680b", "cves": [], "html": "<p>Fix overly tight assertion about <code>false_positive_rate</code> parameter of BRIN bloom operator classes (Alexander Lakhin) <a href=\"https://postgr.es/c/4dccf9575\">§</a></p>\n<p>This error had no impact in non-assert builds, either.</p>", "text": "Fix overly tight assertion about false_positive_rate parameter of BRIN bloom operator classes (Alexander Lakhin) § This error had no impact in non-assert builds, either.", "title": "Fix overly tight assertion about false_positive_rate parameter of BRIN bloom operator classes", "commits": ["4dccf9575"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "16568f6908e6fc5ebb3d4fea417c449a95e6ed4e2aaffc39eed1799f04d7f3e9", "section_path": ["Changes"], "commit_groups": [["1b2c6b756", "4dccf9575", "59fc39c0d", "7e18c0bd6"]], "identity_text": "Fix overly tight assertion about false_positive_rate parameter of BRIN bloom operator classes (Alexander Lakhin) This error had no impact in non-assert builds, either.", "commit_aliases": ["1b2c6b756", "4dccf9575", "59fc39c0d", "7e18c0bd6"], "source_commits": ["4dccf9575"], "source_entry_id": "16.2/changes/015", "db_id": "01cdf2481aa0a8441706bd17a62dc55a", "patch_ids": ["26cdd34f9b55ec6a7e16c8a1fc11cf53"], "statement_hash": "83e69bcb667fa32039630a0e4fc2db5f26e0ea9f2b159689a8ddd58d6af98997", "relations": [{"rule": 2, "type": "equivalent", "target": "3603fd1c155ff529092ff62e35fe6fde", "evidence": {"same_day": true, "patch_ids": ["26cdd34f9b55ec6a7e16c8a1fc11cf53"], "statement_hash": "83e69bcb667fa32039630a0e4fc2db5f26e0ea9f2b159689a8ddd58d6af98997"}}, {"rule": 2, "type": "equivalent", "target": "84a6b43075ab63a56fc0efda19fe5f9d", "evidence": {"same_day": true, "patch_ids": ["26cdd34f9b55ec6a7e16c8a1fc11cf53"], "statement_hash": "83e69bcb667fa32039630a0e4fc2db5f26e0ea9f2b159689a8ddd58d6af98997"}}], "version": "16.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "84a6b43075ab63a56fc0efda19fe5f9d", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Fix overly tight assertion about false_positive_rate parameter of BRIN bloom operator classes", "evidence": {"same_day": true, "patch_ids": ["26cdd34f9b55ec6a7e16c8a1fc11cf53"], "statement_hash": "83e69bcb667fa32039630a0e4fc2db5f26e0ea9f2b159689a8ddd58d6af98997"}, "url": "/docs/compare/?release=15.6#15.6-203d2ce19e25a10c", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "3603fd1c155ff529092ff62e35fe6fde", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Fix overly tight assertion about false_positive_rate parameter of BRIN bloom operator classes", "evidence": {"same_day": true, "patch_ids": ["26cdd34f9b55ec6a7e16c8a1fc11cf53"], "statement_hash": "83e69bcb667fa32039630a0e4fc2db5f26e0ea9f2b159689a8ddd58d6af98997"}, "url": "/docs/compare/?release=14.11#14.11-29798d2cd4cc46ec", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}]}, {"id": "16.2-79afef1c3ae55a3a", "cves": [], "html": "<p>Fix possible failure during <code>ALTER TABLE ADD COLUMN</code> on a complex inheritance tree (Tender Wang) <a href=\"https://postgr.es/c/51193e7a7\">§</a></p>\n<p>If a grandchild table would inherit the new column via multiple intermediate parents, the command failed with <span>“<span>tuple already updated by self</span>”</span>.</p>", "text": "Fix possible failure during ALTER TABLE ADD COLUMN on a complex inheritance tree (Tender Wang) § If a grandchild table would inherit the new column via multiple intermediate parents, the command failed with “tuple already updated by self”.", "title": "Fix possible failure during ALTER TABLE ADD COLUMN on a complex inheritance tree", "commits": ["51193e7a7"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "23d330d62132e8cef0f00b1df26a62e1745df579648cd6084d2beaedce65109f", "section_path": ["Changes"], "commit_groups": [["2f7242837", "51193e7a7", "5a7833f49", "ad6fbbeeb", "bb812ab09", "bfec14d06"]], "identity_text": "Fix possible failure during ALTER TABLE ADD COLUMN on a complex inheritance tree (Tender Wang) If a grandchild table would inherit the new column via multiple intermediate parents, the command failed with tuple already updated by self.", "commit_aliases": ["2f7242837", "51193e7a7", "5a7833f49", "ad6fbbeeb", "bb812ab09", "bfec14d06"], "source_commits": ["51193e7a7"], "source_entry_id": "16.2/changes/016", "db_id": "142fb00bd273ceb1084026118f4b21b6", "patch_ids": ["be49e88e0990c2df1775a93a35c5e42a"], "statement_hash": "97cdf172dd624c2910cce06079cd54407fb34b4118bab8a35282cf0874bacdd8", "relations": [{"rule": 2, "type": "equivalent", "target": "301792a25f5cba72b30b84c95ef907f5", "evidence": {"same_day": true, "patch_ids": ["be49e88e0990c2df1775a93a35c5e42a"], "statement_hash": "97cdf172dd624c2910cce06079cd54407fb34b4118bab8a35282cf0874bacdd8"}}, {"rule": 2, "type": "equivalent", "target": "673170aa07e336a5c8baed14356d0f67", "evidence": {"same_day": true, "patch_ids": ["be49e88e0990c2df1775a93a35c5e42a"], "statement_hash": "97cdf172dd624c2910cce06079cd54407fb34b4118bab8a35282cf0874bacdd8"}}, {"rule": 2, "type": "equivalent", "target": "946b01eb01795e5f4ce183aa9fbbdb39", "evidence": {"same_day": true, "patch_ids": ["be49e88e0990c2df1775a93a35c5e42a"], "statement_hash": "97cdf172dd624c2910cce06079cd54407fb34b4118bab8a35282cf0874bacdd8"}}, {"rule": 2, "type": "equivalent", "target": "ef85d1026556ed2b4eaab696535fbcd7", "evidence": {"same_day": true, "patch_ids": ["be49e88e0990c2df1775a93a35c5e42a"], "statement_hash": "97cdf172dd624c2910cce06079cd54407fb34b4118bab8a35282cf0874bacdd8"}}], "version": "16.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "673170aa07e336a5c8baed14356d0f67", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Fix possible failure during ALTER TABLE ADD COLUMN on a complex inheritance tree", "evidence": {"same_day": true, "patch_ids": ["be49e88e0990c2df1775a93a35c5e42a"], "statement_hash": "97cdf172dd624c2910cce06079cd54407fb34b4118bab8a35282cf0874bacdd8"}, "url": "/docs/compare/?release=15.6#15.6-7a8b3c47032c76b0", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "ef85d1026556ed2b4eaab696535fbcd7", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Fix possible failure during ALTER TABLE ADD COLUMN on a complex inheritance tree", "evidence": {"same_day": true, "patch_ids": ["be49e88e0990c2df1775a93a35c5e42a"], "statement_hash": "97cdf172dd624c2910cce06079cd54407fb34b4118bab8a35282cf0874bacdd8"}, "url": "/docs/compare/?release=14.11#14.11-0c5220275c391551", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}, {"db_id": "946b01eb01795e5f4ce183aa9fbbdb39", "kind": "equivalent", "version": "13.14", "label": "13.14", "title": "Fix possible failure during ALTER TABLE ADD COLUMN on a complex inheritance tree", "evidence": {"same_day": true, "patch_ids": ["be49e88e0990c2df1775a93a35c5e42a"], "statement_hash": "97cdf172dd624c2910cce06079cd54407fb34b4118bab8a35282cf0874bacdd8"}, "url": "/docs/compare/?release=13.14#13.14-1faed4c35c0e97f4", "source_url": "/docs/release/13.14/#id-1.11.6.15.5"}, {"db_id": "301792a25f5cba72b30b84c95ef907f5", "kind": "equivalent", "version": "12.18", "label": "12.18", "title": "Fix possible failure during ALTER TABLE ADD COLUMN on a complex inheritance tree", "evidence": {"same_day": true, "patch_ids": ["be49e88e0990c2df1775a93a35c5e42a"], "statement_hash": "97cdf172dd624c2910cce06079cd54407fb34b4118bab8a35282cf0874bacdd8"}, "url": "/docs/compare/?release=12.18#12.18-bf5c96f625aff4b1", "source_url": "/docs/release/12.18/#id-1.11.6.10.6"}]}, {"id": "16.2-01a599d32f280c9c", "cves": [], "html": "<p>Fix problems with duplicate token names in <code>ALTER TEXT SEARCH CONFIGURATION ... MAPPING</code> commands (Tender Wang, Michael Paquier) <a href=\"https://postgr.es/c/f33e83285\">§</a></p>", "text": "Fix problems with duplicate token names in ALTER TEXT SEARCH CONFIGURATION ... MAPPING commands (Tender Wang, Michael Paquier) §", "title": "Fix problems with duplicate token names in ALTER TEXT SEARCH CONFIGURATION ... MAPPING commands", "commits": ["f33e83285"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "cd33bf9e3b9f24b41411ed625fdd917099be0e3b04cdbdcd1287bf02b532c774", "section_path": ["Changes"], "commit_groups": [["056109782", "3e91dba8b", "41fa4b31c", "4d0e8a008", "dde5b01c3", "f33e83285"]], "identity_text": "Fix problems with duplicate token names in ALTER TEXT SEARCH CONFIGURATION ... MAPPING commands (Tender Wang, Michael Paquier)", "commit_aliases": ["056109782", "3e91dba8b", "41fa4b31c", "4d0e8a008", "dde5b01c3", "f33e83285"], "source_commits": ["f33e83285"], "source_entry_id": "16.2/changes/017", "db_id": "b8734ccbe40c84fd911c399ad20c3b6a", "patch_ids": ["59d7fb42c074f511f0c0cdc3c68ec148"], "statement_hash": "17fbf9d18d0e96ef1a721c19c437bf89ecef8f04cab7582bd523f0113032f39d", "relations": [{"rule": 2, "type": "equivalent", "target": "3147846bb87660ecdec407c2ea72cdb5", "evidence": {"same_day": true, "patch_ids": ["59d7fb42c074f511f0c0cdc3c68ec148"], "statement_hash": "17fbf9d18d0e96ef1a721c19c437bf89ecef8f04cab7582bd523f0113032f39d"}}, {"rule": 2, "type": "equivalent", "target": "37d3f9744bf2b8d1637ce780deb57e16", "evidence": {"same_day": true, "patch_ids": ["59d7fb42c074f511f0c0cdc3c68ec148"], "statement_hash": "17fbf9d18d0e96ef1a721c19c437bf89ecef8f04cab7582bd523f0113032f39d"}}, {"rule": 2, "type": "equivalent", "target": "c48208e5f6ca172aa035b8a394ccfad3", "evidence": {"same_day": true, "patch_ids": ["59d7fb42c074f511f0c0cdc3c68ec148"], "statement_hash": "17fbf9d18d0e96ef1a721c19c437bf89ecef8f04cab7582bd523f0113032f39d"}}, {"rule": 2, "type": "equivalent", "target": "fed9c6638ecf6c98360ab0480ba15153", "evidence": {"same_day": true, "patch_ids": ["59d7fb42c074f511f0c0cdc3c68ec148"], "statement_hash": "17fbf9d18d0e96ef1a721c19c437bf89ecef8f04cab7582bd523f0113032f39d"}}], "version": "16.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "37d3f9744bf2b8d1637ce780deb57e16", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Fix problems with duplicate token names in ALTER TEXT SEARCH CONFIGURATION ... MAPPING commands", "evidence": {"same_day": true, "patch_ids": ["59d7fb42c074f511f0c0cdc3c68ec148"], "statement_hash": "17fbf9d18d0e96ef1a721c19c437bf89ecef8f04cab7582bd523f0113032f39d"}, "url": "/docs/compare/?release=15.6#15.6-a39445518cb2f6b9", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "3147846bb87660ecdec407c2ea72cdb5", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Fix problems with duplicate token names in ALTER TEXT SEARCH CONFIGURATION ... MAPPING commands", "evidence": {"same_day": true, "patch_ids": ["59d7fb42c074f511f0c0cdc3c68ec148"], "statement_hash": "17fbf9d18d0e96ef1a721c19c437bf89ecef8f04cab7582bd523f0113032f39d"}, "url": "/docs/compare/?release=14.11#14.11-80461e6b84289af4", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}, {"db_id": "fed9c6638ecf6c98360ab0480ba15153", "kind": "equivalent", "version": "13.14", "label": "13.14", "title": "Fix problems with duplicate token names in ALTER TEXT SEARCH CONFIGURATION ... MAPPING commands", "evidence": {"same_day": true, "patch_ids": ["59d7fb42c074f511f0c0cdc3c68ec148"], "statement_hash": "17fbf9d18d0e96ef1a721c19c437bf89ecef8f04cab7582bd523f0113032f39d"}, "url": "/docs/compare/?release=13.14#13.14-7711319fdd385b6a", "source_url": "/docs/release/13.14/#id-1.11.6.15.5"}, {"db_id": "c48208e5f6ca172aa035b8a394ccfad3", "kind": "equivalent", "version": "12.18", "label": "12.18", "title": "Fix problems with duplicate token names in ALTER TEXT SEARCH CONFIGURATION ... MAPPING commands", "evidence": {"same_day": true, "patch_ids": ["59d7fb42c074f511f0c0cdc3c68ec148"], "statement_hash": "17fbf9d18d0e96ef1a721c19c437bf89ecef8f04cab7582bd523f0113032f39d"}, "url": "/docs/compare/?release=12.18#12.18-44f75ae507d7e0ed", "source_url": "/docs/release/12.18/#id-1.11.6.10.6"}]}, {"id": "16.2-de343c8ba67d6130", "cves": [], "html": "<p>Fix <code>DROP ROLE</code> with duplicate role names (Michael Paquier) <a href=\"https://postgr.es/c/f57a580fd\">§</a></p>\n<p>Previously this led to a <span>“<span>tuple already updated by self</span>”</span> failure. Instead, ignore the duplicate.</p>", "text": "Fix DROP ROLE with duplicate role names (Michael Paquier) § Previously this led to a “tuple already updated by self” failure. Instead, ignore the duplicate.", "title": "Fix DROP ROLE with duplicate role names", "commits": ["f57a580fd"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "3a3088256a0472f5e07dd27e10c3f624540782815d37f1d2cc28b0026c88bdde", "section_path": ["Changes"], "commit_groups": [["50b797dc9", "f57a580fd"]], "identity_text": "Fix DROP ROLE with duplicate role names (Michael Paquier) Previously this led to a tuple already updated by self failure. Instead, ignore the duplicate.", "commit_aliases": ["50b797dc9", "f57a580fd"], "source_commits": ["f57a580fd"], "source_entry_id": "16.2/changes/018", "db_id": "c3e427f296a6dae40e16de89aaf93c8c", "patch_ids": ["3595d898df6d6779a689b267db6d9d0a"], "statement_hash": "f23a7f9226f4c44748d8152c43fb9ee76a2075a7477d977e78cb150b8170226a", "relations": [], "version": "16.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": []}, {"id": "16.2-4059e72fcb62d121", "cves": [], "html": "<p>Properly lock the associated table during <code>DROP STATISTICS</code> (Tomas Vondra) <a href=\"https://postgr.es/c/ee32b824d\">§</a></p>\n<p>Failure to acquire the lock could result in <span>“<span>tuple concurrently deleted</span>”</span> errors if the <code>DROP</code> executes concurrently with <code>ANALYZE</code>.</p>", "text": "Properly lock the associated table during DROP STATISTICS (Tomas Vondra) § Failure to acquire the lock could result in “tuple concurrently deleted” errors if the DROP executes concurrently with ANALYZE.", "title": "Properly lock the associated table during DROP STATISTICS", "commits": ["ee32b824d"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "f82b9da29935a78646904fc83db42fe80bf08a7d5451c542564b9f0b2d7a2424", "section_path": ["Changes"], "commit_groups": [["0177fc773", "1e468ea4e", "28f84f72f", "4f8d3c5b5", "9dd50e92e", "ee32b824d"]], "identity_text": "Properly lock the associated table during DROP STATISTICS (Tomas Vondra) Failure to acquire the lock could result in tuple concurrently deleted errors if the DROP executes concurrently with ANALYZE.", "commit_aliases": ["0177fc773", "1e468ea4e", "28f84f72f", "4f8d3c5b5", "9dd50e92e", "ee32b824d"], "source_commits": ["ee32b824d"], "source_entry_id": "16.2/changes/019", "db_id": "f53a542dad5b39419f1a307a67681a2e", "patch_ids": ["f16c9c7ec57931ea85e8740a3fb03d7e"], "statement_hash": "451569a51d133adbebd64f73605358e17699e1d449b12795d224bdeac91e9152", "relations": [{"rule": 2, "type": "equivalent", "target": "4f8167a414274067d5ff2fb24f246974", "evidence": {"same_day": true, "patch_ids": ["f16c9c7ec57931ea85e8740a3fb03d7e"], "statement_hash": "451569a51d133adbebd64f73605358e17699e1d449b12795d224bdeac91e9152"}}, {"rule": 2, "type": "equivalent", "target": "9a773a50382345e3f9583697c417d4dc", "evidence": {"same_day": true, "patch_ids": ["f16c9c7ec57931ea85e8740a3fb03d7e"], "statement_hash": "451569a51d133adbebd64f73605358e17699e1d449b12795d224bdeac91e9152"}}, {"rule": 2, "type": "equivalent", "target": "c8eb98328fe35b9ba5095f63f4870d6b", "evidence": {"same_day": true, "patch_ids": ["f16c9c7ec57931ea85e8740a3fb03d7e"], "statement_hash": "451569a51d133adbebd64f73605358e17699e1d449b12795d224bdeac91e9152"}}, {"rule": 2, "type": "equivalent", "target": "f1a21bf5d51dc4c6f3c2fad8a4b5eaa4", "evidence": {"same_day": true, "patch_ids": ["f16c9c7ec57931ea85e8740a3fb03d7e"], "statement_hash": "451569a51d133adbebd64f73605358e17699e1d449b12795d224bdeac91e9152"}}], "version": "16.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "9a773a50382345e3f9583697c417d4dc", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Properly lock the associated table during DROP STATISTICS", "evidence": {"same_day": true, "patch_ids": ["f16c9c7ec57931ea85e8740a3fb03d7e"], "statement_hash": "451569a51d133adbebd64f73605358e17699e1d449b12795d224bdeac91e9152"}, "url": "/docs/compare/?release=15.6#15.6-8722bc10efff7ad9", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "4f8167a414274067d5ff2fb24f246974", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Properly lock the associated table during DROP STATISTICS", "evidence": {"same_day": true, "patch_ids": ["f16c9c7ec57931ea85e8740a3fb03d7e"], "statement_hash": "451569a51d133adbebd64f73605358e17699e1d449b12795d224bdeac91e9152"}, "url": "/docs/compare/?release=14.11#14.11-c5b5d48f57a2fe05", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}, {"db_id": "c8eb98328fe35b9ba5095f63f4870d6b", "kind": "equivalent", "version": "13.14", "label": "13.14", "title": "Properly lock the associated table during DROP STATISTICS", "evidence": {"same_day": true, "patch_ids": ["f16c9c7ec57931ea85e8740a3fb03d7e"], "statement_hash": "451569a51d133adbebd64f73605358e17699e1d449b12795d224bdeac91e9152"}, "url": "/docs/compare/?release=13.14#13.14-498ae9786f933cd4", "source_url": "/docs/release/13.14/#id-1.11.6.15.5"}, {"db_id": "f1a21bf5d51dc4c6f3c2fad8a4b5eaa4", "kind": "equivalent", "version": "12.18", "label": "12.18", "title": "Properly lock the associated table during DROP STATISTICS", "evidence": {"same_day": true, "patch_ids": ["f16c9c7ec57931ea85e8740a3fb03d7e"], "statement_hash": "451569a51d133adbebd64f73605358e17699e1d449b12795d224bdeac91e9152"}, "url": "/docs/compare/?release=12.18#12.18-7838c89209d33043", "source_url": "/docs/release/12.18/#id-1.11.6.10.6"}]}, {"id": "16.2-e7306407956080b9", "cves": [], "html": "<p>Fix function volatility checking for <code>GENERATED</code> and <code>DEFAULT</code> expressions (Tom Lane) <a href=\"https://postgr.es/c/f07a3039c\">§</a></p>\n<p>These places could fail to detect insertion of a volatile function default-argument expression, or decide that a polymorphic function is volatile although it is actually immutable on the datatype of interest. This could lead to improperly rejecting or accepting a <code>GENERATED</code> clause, or to mistakenly applying the constant-default-value optimization in <code>ALTER TABLE ADD COLUMN</code>.</p>", "text": "Fix function volatility checking for GENERATED and DEFAULT expressions (Tom Lane) § These places could fail to detect insertion of a volatile function default-argument expression, or decide that a polymorphic function is volatile although it is actually immutable on the datatype of interest. This could lead to improperly rejecting or accepting a GENERATED clause, or to mistakenly applying the constant-default-value optimization in ALTER TABLE ADD COLUMN.", "title": "Fix function volatility checking for GENERATED and DEFAULT expressions", "commits": ["f07a3039c"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "6c6c83589a192ec94b50d2eaab984f2cead518720ae5c343474175c7bbef90f2", "section_path": ["Changes"], "commit_groups": [["5c11104c7", "743ddafc7", "9057ddbef", "9bd0f74ea", "abd1b1325", "f07a3039c"]], "identity_text": "Fix function volatility checking for GENERATED and DEFAULT expressions (Tom Lane) These places could fail to detect insertion of a volatile function default-argument expression, or decide that a polymorphic function is volatile although it is actually immutable on the datatype of interest. This could lead to improperly rejecting or accepting a GENERATED clause, or to mistakenly applying the constant-default-value optimization in ALTER TABLE ADD COLUMN.", "commit_aliases": ["5c11104c7", "743ddafc7", "9057ddbef", "9bd0f74ea", "abd1b1325", "f07a3039c"], "source_commits": ["f07a3039c"], "source_entry_id": "16.2/changes/020", "db_id": "3af23fdfef5c14ac7c990f2cba39b742", "patch_ids": ["f473dd7bcd43a9f9b35c9dc37b725494"], "statement_hash": "49e7a013ce62950f4943323bee73252b556841c7b97927881273c99b9cfa8dde", "relations": [{"rule": 2, "type": "equivalent", "target": "73d149cede93fdfc7c476d053cab1af0", "evidence": {"same_day": true, "patch_ids": ["f473dd7bcd43a9f9b35c9dc37b725494"], "statement_hash": "49e7a013ce62950f4943323bee73252b556841c7b97927881273c99b9cfa8dde"}}, {"rule": 2, "type": "equivalent", "target": "78d499950c57f2f4a1419533d7aa3ce1", "evidence": {"same_day": true, "patch_ids": ["f473dd7bcd43a9f9b35c9dc37b725494"], "statement_hash": "49e7a013ce62950f4943323bee73252b556841c7b97927881273c99b9cfa8dde"}}, {"rule": 2, "type": "equivalent", "target": "d1d96d30a69bc54cec2e786f82986b55", "evidence": {"same_day": true, "patch_ids": ["f473dd7bcd43a9f9b35c9dc37b725494"], "statement_hash": "49e7a013ce62950f4943323bee73252b556841c7b97927881273c99b9cfa8dde"}}, {"rule": 2, "type": "equivalent", "target": "dff500e9e35ffc0d7775ac5b79b4855d", "evidence": {"same_day": true, "patch_ids": ["f473dd7bcd43a9f9b35c9dc37b725494"], "statement_hash": "49e7a013ce62950f4943323bee73252b556841c7b97927881273c99b9cfa8dde"}}], "version": "16.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "73d149cede93fdfc7c476d053cab1af0", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Fix function volatility checking for GENERATED and DEFAULT expressions", "evidence": {"same_day": true, "patch_ids": ["f473dd7bcd43a9f9b35c9dc37b725494"], "statement_hash": "49e7a013ce62950f4943323bee73252b556841c7b97927881273c99b9cfa8dde"}, "url": "/docs/compare/?release=15.6#15.6-275db0f1ddcede3a", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "78d499950c57f2f4a1419533d7aa3ce1", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Fix function volatility checking for GENERATED and DEFAULT expressions", "evidence": {"same_day": true, "patch_ids": ["f473dd7bcd43a9f9b35c9dc37b725494"], "statement_hash": "49e7a013ce62950f4943323bee73252b556841c7b97927881273c99b9cfa8dde"}, "url": "/docs/compare/?release=14.11#14.11-95b1054f2ac5f590", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}, {"db_id": "d1d96d30a69bc54cec2e786f82986b55", "kind": "equivalent", "version": "13.14", "label": "13.14", "title": "Fix function volatility checking for GENERATED and DEFAULT expressions", "evidence": {"same_day": true, "patch_ids": ["f473dd7bcd43a9f9b35c9dc37b725494"], "statement_hash": "49e7a013ce62950f4943323bee73252b556841c7b97927881273c99b9cfa8dde"}, "url": "/docs/compare/?release=13.14#13.14-f3c3222a522043da", "source_url": "/docs/release/13.14/#id-1.11.6.15.5"}, {"db_id": "dff500e9e35ffc0d7775ac5b79b4855d", "kind": "equivalent", "version": "12.18", "label": "12.18", "title": "Fix function volatility checking for GENERATED and DEFAULT expressions", "evidence": {"same_day": true, "patch_ids": ["f473dd7bcd43a9f9b35c9dc37b725494"], "statement_hash": "49e7a013ce62950f4943323bee73252b556841c7b97927881273c99b9cfa8dde"}, "url": "/docs/compare/?release=12.18#12.18-5cf233c28783912c", "source_url": "/docs/release/12.18/#id-1.11.6.10.6"}]}, {"id": "16.2-26c80eb4dc7181c3", "cves": [], "html": "<p>Detect that a new catalog cache entry became stale while detoasting its fields (Tom Lane) <a href=\"https://postgr.es/c/7e2561e1a\">§</a> <a href=\"https://postgr.es/c/56dcd71de\">§</a></p>\n<p>We expand any out-of-line fields in a catalog tuple before inserting it into the catalog caches. That involves database access which might cause invalidation of catalog cache entries — but the new entry isn't in the cache yet, so we would miss noticing that it should get invalidated. The result is a race condition in which an already-stale cache entry could get made, and then persist indefinitely. This would lead to hard-to-predict misbehavior. Fix by rechecking the tuple's visibility after detoasting.</p>", "text": "Detect that a new catalog cache entry became stale while detoasting its fields (Tom Lane) § § We expand any out-of-line fields in a catalog tuple before inserting it into the catalog caches. That involves database access which might cause invalidation of catalog cache entries — but the new entry isn't in the cache yet, so we would miss noticing that it should get invalidated. The result is a race condition in which an already-stale cache entry could get made, and then persist indefinitely. This would lead to hard-to-predict misbehavior. Fix by rechecking the tuple's visibility after detoasting.", "title": "Detect that a new catalog cache entry became stale while detoasting its fields", "commits": ["56dcd71de", "7e2561e1a"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "002130128321e4d810305d63d9c06c2d071344bd887b3834ca2232162f5d9869", "section_path": ["Changes"], "commit_groups": [["2a46a0df4", "3b4d85cf1", "7e2561e1a", "98e03f957", "ad98fb142", "db122d426"], ["475b3ea3c", "56dcd71de", "7ceeb57ba", "96c019ffa", "d29a4fbac", "d41358f4b"]], "identity_text": "Detect that a new catalog cache entry became stale while detoasting its fields (Tom Lane) We expand any out-of-line fields in a catalog tuple before inserting it into the catalog caches. That involves database access which might cause invalidation of catalog cache entries — but the new entry isn't in the cache yet, so we would miss noticing that it should get invalidated. The result is a race condition in which an already-stale cache entry could get made, and then persist indefinitely. This would lead to hard-to-predict misbehavior. Fix by rechecking the tuple's visibility after detoasting.", "commit_aliases": ["2a46a0df4", "3b4d85cf1", "475b3ea3c", "56dcd71de", "7ceeb57ba", "7e2561e1a", "96c019ffa", "98e03f957", "ad98fb142", "d29a4fbac", "d41358f4b", "db122d426"], "source_commits": ["56dcd71de", "7e2561e1a"], "source_entry_id": "16.2/changes/021", "db_id": "583ae0d5aaa8513cfe4fa001f0acf10a", "patch_ids": ["52adc22f7e9127149ea3465a1f666b1b", "8f38a167545caff809df52a7908322cd"], "statement_hash": "020bd9b1f058ad0ed3f4984d9bb28313d69034c42bc0cdb19de9ed8f794507c1", "relations": [{"rule": 2, "type": "equivalent", "target": "0f3e6462b9a06ec443192f85a341b28a", "evidence": {"same_day": true, "patch_ids": ["52adc22f7e9127149ea3465a1f666b1b", "8f38a167545caff809df52a7908322cd"], "statement_hash": "020bd9b1f058ad0ed3f4984d9bb28313d69034c42bc0cdb19de9ed8f794507c1"}}, {"rule": 2, "type": "equivalent", "target": "48a20702e9c5f1c7910ebe53cfafc893", "evidence": {"same_day": true, "patch_ids": ["52adc22f7e9127149ea3465a1f666b1b", "8f38a167545caff809df52a7908322cd"], "statement_hash": "020bd9b1f058ad0ed3f4984d9bb28313d69034c42bc0cdb19de9ed8f794507c1"}}, {"rule": 2, "type": "equivalent", "target": "6e4ff4564f959e95f303ecee3808b06b", "evidence": {"same_day": true, "patch_ids": ["52adc22f7e9127149ea3465a1f666b1b", "8f38a167545caff809df52a7908322cd"], "statement_hash": "020bd9b1f058ad0ed3f4984d9bb28313d69034c42bc0cdb19de9ed8f794507c1"}}, {"rule": 2, "type": "equivalent", "target": "c5fe09639e128d1bedf8b8f20bb6dd2a", "evidence": {"same_day": true, "patch_ids": ["52adc22f7e9127149ea3465a1f666b1b", "8f38a167545caff809df52a7908322cd"], "statement_hash": "020bd9b1f058ad0ed3f4984d9bb28313d69034c42bc0cdb19de9ed8f794507c1"}}], "version": "16.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "c5fe09639e128d1bedf8b8f20bb6dd2a", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Detect that a new catalog cache entry became stale while detoasting its fields", "evidence": {"same_day": true, "patch_ids": ["52adc22f7e9127149ea3465a1f666b1b", "8f38a167545caff809df52a7908322cd"], "statement_hash": "020bd9b1f058ad0ed3f4984d9bb28313d69034c42bc0cdb19de9ed8f794507c1"}, "url": "/docs/compare/?release=15.6#15.6-86ef17c63b10fe39", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "6e4ff4564f959e95f303ecee3808b06b", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Detect that a new catalog cache entry became stale while detoasting its fields", "evidence": {"same_day": true, "patch_ids": ["52adc22f7e9127149ea3465a1f666b1b", "8f38a167545caff809df52a7908322cd"], "statement_hash": "020bd9b1f058ad0ed3f4984d9bb28313d69034c42bc0cdb19de9ed8f794507c1"}, "url": "/docs/compare/?release=14.11#14.11-2ff054716fdf65d3", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}, {"db_id": "48a20702e9c5f1c7910ebe53cfafc893", "kind": "equivalent", "version": "13.14", "label": "13.14", "title": "Detect that a new catalog cache entry became stale while detoasting its fields", "evidence": {"same_day": true, "patch_ids": ["52adc22f7e9127149ea3465a1f666b1b", "8f38a167545caff809df52a7908322cd"], "statement_hash": "020bd9b1f058ad0ed3f4984d9bb28313d69034c42bc0cdb19de9ed8f794507c1"}, "url": "/docs/compare/?release=13.14#13.14-bc362f16a8a3f6cd", "source_url": "/docs/release/13.14/#id-1.11.6.15.5"}, {"db_id": "0f3e6462b9a06ec443192f85a341b28a", "kind": "equivalent", "version": "12.18", "label": "12.18", "title": "Detect that a new catalog cache entry became stale while detoasting its fields", "evidence": {"same_day": true, "patch_ids": ["52adc22f7e9127149ea3465a1f666b1b", "8f38a167545caff809df52a7908322cd"], "statement_hash": "020bd9b1f058ad0ed3f4984d9bb28313d69034c42bc0cdb19de9ed8f794507c1"}, "url": "/docs/compare/?release=12.18#12.18-d1e01af7d8579d5a", "source_url": "/docs/release/12.18/#id-1.11.6.10.6"}]}, {"id": "16.2-0e37cf19d5e15650", "cves": [], "html": "<p>Fix edge-case integer overflow detection bug on some platforms (Dean Rasheed) <a href=\"https://postgr.es/c/c396aca2b\">§</a></p>\n<p>Computing <code>0 - INT64_MIN</code> should result in an overflow error, and did on most platforms. However, platforms with neither integer overflow builtins nor 128-bit integers would fail to spot the overflow, instead returning <code>INT64_MIN</code>.</p>", "text": "Fix edge-case integer overflow detection bug on some platforms (Dean Rasheed) § Computing 0 - INT64_MIN should result in an overflow error, and did on most platforms. However, platforms with neither integer overflow builtins nor 128-bit integers would fail to spot the overflow, instead returning INT64_MIN.", "title": "Fix edge-case integer overflow detection bug on some platforms", "commits": ["c396aca2b"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "15c20f56030440d67b2627d3231384b8f91823d10e48fa3455645f73cc4d6c6c", "section_path": ["Changes"], "commit_groups": [["0e3e8fbd3", "308a69a98", "4f4a0010a", "b17a02be2", "c396aca2b", "dea12b40d"]], "identity_text": "Fix edge-case integer overflow detection bug on some platforms (Dean Rasheed) Computing 0 - INT64_MIN should result in an overflow error, and did on most platforms. However, platforms with neither integer overflow builtins nor 128-bit integers would fail to spot the overflow, instead returning INT64_MIN.", "commit_aliases": ["0e3e8fbd3", "308a69a98", "4f4a0010a", "b17a02be2", "c396aca2b", "dea12b40d"], "source_commits": ["c396aca2b"], "source_entry_id": "16.2/changes/022", "db_id": "fcb277177cea13e33ba10b1c10e41909", "patch_ids": ["82a15d4cd4a2310cbb92246bf216d271"], "statement_hash": "7730fefab0e656680e93141cff04fcf16a30df441b796ed55609364a34da3aad", "relations": [{"rule": 2, "type": "equivalent", "target": "9ae2597ce5e1aaabce7f2048ab4ea88c", "evidence": {"same_day": true, "patch_ids": ["82a15d4cd4a2310cbb92246bf216d271"], "statement_hash": "7730fefab0e656680e93141cff04fcf16a30df441b796ed55609364a34da3aad"}}, {"rule": 2, "type": "equivalent", "target": "b1b21a631a61aa8614cb93a2c203d6e9", "evidence": {"same_day": true, "patch_ids": ["82a15d4cd4a2310cbb92246bf216d271"], "statement_hash": "7730fefab0e656680e93141cff04fcf16a30df441b796ed55609364a34da3aad"}}, {"rule": 2, "type": "equivalent", "target": "d4034ceb9d9c0faf46dbbd48f333bbd2", "evidence": {"same_day": true, "patch_ids": ["82a15d4cd4a2310cbb92246bf216d271"], "statement_hash": "7730fefab0e656680e93141cff04fcf16a30df441b796ed55609364a34da3aad"}}, {"rule": 2, "type": "equivalent", "target": "fdface3bcadd11cbe9bb7a2f20183624", "evidence": {"same_day": true, "patch_ids": ["82a15d4cd4a2310cbb92246bf216d271"], "statement_hash": "7730fefab0e656680e93141cff04fcf16a30df441b796ed55609364a34da3aad"}}], "version": "16.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "9ae2597ce5e1aaabce7f2048ab4ea88c", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Fix edge-case integer overflow detection bug on some platforms", "evidence": {"same_day": true, "patch_ids": ["82a15d4cd4a2310cbb92246bf216d271"], "statement_hash": "7730fefab0e656680e93141cff04fcf16a30df441b796ed55609364a34da3aad"}, "url": "/docs/compare/?release=15.6#15.6-44644ff93444fee2", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "fdface3bcadd11cbe9bb7a2f20183624", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Fix edge-case integer overflow detection bug on some platforms", "evidence": {"same_day": true, "patch_ids": ["82a15d4cd4a2310cbb92246bf216d271"], "statement_hash": "7730fefab0e656680e93141cff04fcf16a30df441b796ed55609364a34da3aad"}, "url": "/docs/compare/?release=14.11#14.11-496bfa182bbcf6e7", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}, {"db_id": "d4034ceb9d9c0faf46dbbd48f333bbd2", "kind": "equivalent", "version": "13.14", "label": "13.14", "title": "Fix edge-case integer overflow detection bug on some platforms", "evidence": {"same_day": true, "patch_ids": ["82a15d4cd4a2310cbb92246bf216d271"], "statement_hash": "7730fefab0e656680e93141cff04fcf16a30df441b796ed55609364a34da3aad"}, "url": "/docs/compare/?release=13.14#13.14-49f3f74dc209607b", "source_url": "/docs/release/13.14/#id-1.11.6.15.5"}, {"db_id": "b1b21a631a61aa8614cb93a2c203d6e9", "kind": "equivalent", "version": "12.18", "label": "12.18", "title": "Fix edge-case integer overflow detection bug on some platforms", "evidence": {"same_day": true, "patch_ids": ["82a15d4cd4a2310cbb92246bf216d271"], "statement_hash": "7730fefab0e656680e93141cff04fcf16a30df441b796ed55609364a34da3aad"}, "url": "/docs/compare/?release=12.18#12.18-0f5298ebbdd296bc", "source_url": "/docs/release/12.18/#id-1.11.6.10.6"}]}, {"id": "16.2-94942a978b12503c", "cves": [], "html": "<p>Detect Julian-date overflow when adding or subtracting an <code>interval</code> to/from a <code>timestamp</code> (Tom Lane) <a href=\"https://postgr.es/c/7204aea83\">§</a></p>\n<p>Some cases that should cause an out-of-range error produced an incorrect result instead.</p>", "text": "Detect Julian-date overflow when adding or subtracting an interval to/from a timestamp (Tom Lane) § Some cases that should cause an out-of-range error produced an incorrect result instead.", "title": "Detect Julian-date overflow when adding or subtracting an interval to/from a timestamp", "commits": ["7204aea83"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "464294dd8bb2b1f40fcbaba4202c0ad6dce2daa09beae40d0bc41246efd3011c", "section_path": ["Changes"], "commit_groups": [["25cd2d640", "3eb8a87f6", "425127bed", "7204aea83", "86b6243a8", "c3bdb25fb"]], "identity_text": "Detect Julian-date overflow when adding or subtracting an interval to/from a timestamp (Tom Lane) Some cases that should cause an out-of-range error produced an incorrect result instead.", "commit_aliases": ["25cd2d640", "3eb8a87f6", "425127bed", "7204aea83", "86b6243a8", "c3bdb25fb"], "source_commits": ["7204aea83"], "source_entry_id": "16.2/changes/023", "db_id": "7a3480d795a76723d2b534f16cb3bf39", "patch_ids": ["0cb77fc7d36ae7646c0b2446cf6fa828"], "statement_hash": "4eacdbe954a40841ea03585e5ae572f801259d9f095d8666cbe8042b7221fa79", "relations": [{"rule": 2, "type": "equivalent", "target": "02fce217b28bb48875b4e6ddfb4843cf", "evidence": {"same_day": true, "patch_ids": ["0cb77fc7d36ae7646c0b2446cf6fa828"], "statement_hash": "4eacdbe954a40841ea03585e5ae572f801259d9f095d8666cbe8042b7221fa79"}}, {"rule": 2, "type": "equivalent", "target": "067f418da4ddfd783db86cee2711079c", "evidence": {"same_day": true, "patch_ids": ["0cb77fc7d36ae7646c0b2446cf6fa828"], "statement_hash": "4eacdbe954a40841ea03585e5ae572f801259d9f095d8666cbe8042b7221fa79"}}, {"rule": 2, "type": "equivalent", "target": "11448edd0757699ee4a8a223c6a0fae9", "evidence": {"same_day": true, "patch_ids": ["0cb77fc7d36ae7646c0b2446cf6fa828"], "statement_hash": "4eacdbe954a40841ea03585e5ae572f801259d9f095d8666cbe8042b7221fa79"}}, {"rule": 2, "type": "equivalent", "target": "ad68c0ac4d0bf6a2b70d8e4d787a3331", "evidence": {"same_day": true, "patch_ids": ["0cb77fc7d36ae7646c0b2446cf6fa828"], "statement_hash": "4eacdbe954a40841ea03585e5ae572f801259d9f095d8666cbe8042b7221fa79"}}], "version": "16.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "02fce217b28bb48875b4e6ddfb4843cf", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Detect Julian-date overflow when adding or subtracting an interval to/from a timestamp", "evidence": {"same_day": true, "patch_ids": ["0cb77fc7d36ae7646c0b2446cf6fa828"], "statement_hash": "4eacdbe954a40841ea03585e5ae572f801259d9f095d8666cbe8042b7221fa79"}, "url": "/docs/compare/?release=15.6#15.6-c1489ba5c7b1b06a", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "11448edd0757699ee4a8a223c6a0fae9", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Detect Julian-date overflow when adding or subtracting an interval to/from a timestamp", "evidence": {"same_day": true, "patch_ids": ["0cb77fc7d36ae7646c0b2446cf6fa828"], "statement_hash": "4eacdbe954a40841ea03585e5ae572f801259d9f095d8666cbe8042b7221fa79"}, "url": "/docs/compare/?release=14.11#14.11-9ae1775ef7d64f22", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}, {"db_id": "ad68c0ac4d0bf6a2b70d8e4d787a3331", "kind": "equivalent", "version": "13.14", "label": "13.14", "title": "Detect Julian-date overflow when adding or subtracting an interval to/from a timestamp", "evidence": {"same_day": true, "patch_ids": ["0cb77fc7d36ae7646c0b2446cf6fa828"], "statement_hash": "4eacdbe954a40841ea03585e5ae572f801259d9f095d8666cbe8042b7221fa79"}, "url": "/docs/compare/?release=13.14#13.14-67558370fa6393fb", "source_url": "/docs/release/13.14/#id-1.11.6.15.5"}, {"db_id": "067f418da4ddfd783db86cee2711079c", "kind": "equivalent", "version": "12.18", "label": "12.18", "title": "Detect Julian-date overflow when adding or subtracting an interval to/from a timestamp", "evidence": {"same_day": true, "patch_ids": ["0cb77fc7d36ae7646c0b2446cf6fa828"], "statement_hash": "4eacdbe954a40841ea03585e5ae572f801259d9f095d8666cbe8042b7221fa79"}, "url": "/docs/compare/?release=12.18#12.18-20a068c454b1d4ba", "source_url": "/docs/release/12.18/#id-1.11.6.10.6"}]}, {"id": "16.2-ab176581fb5ca10a", "cves": [], "html": "<p>Add more checks for overflow in <code>interval_mul()</code> and <code>interval_div()</code> (Dean Rasheed) <a href=\"https://postgr.es/c/72d0c135b\">§</a></p>\n<p>Some cases that should cause an out-of-range error produced an incorrect result instead.</p>", "text": "Add more checks for overflow in interval_mul() and interval_div() (Dean Rasheed) § Some cases that should cause an out-of-range error produced an incorrect result instead.", "title": "Add more checks for overflow in interval_mul() and interval_div()", "commits": ["72d0c135b"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "4884004812d471022912931da2e5fa29fa27bce3c6e0ac8a2452d63eb92874eb", "section_path": ["Changes"], "commit_groups": [["2851aa7d1", "2ffcebdba", "428770aad", "72d0c135b", "b218fbb7a", "f499d2b20"]], "identity_text": "Add more checks for overflow in interval_mul() and interval_div() (Dean Rasheed) Some cases that should cause an out-of-range error produced an incorrect result instead.", "commit_aliases": ["2851aa7d1", "2ffcebdba", "428770aad", "72d0c135b", "b218fbb7a", "f499d2b20"], "source_commits": ["72d0c135b"], "source_entry_id": "16.2/changes/024", "db_id": "91c46ee778e8f275975ba82261732a1a", "patch_ids": ["82e60d126c84521cecebda182adfbba1"], "statement_hash": "f2c5877e9ed93f017ebaa9c70f2f67221b192af36f1677ae1bc265b4c6ee0898", "relations": [{"rule": 2, "type": "equivalent", "target": "4cfaa5a4b7ae46a8f1a9753ff06c2dcc", "evidence": {"same_day": true, "patch_ids": ["82e60d126c84521cecebda182adfbba1"], "statement_hash": "f2c5877e9ed93f017ebaa9c70f2f67221b192af36f1677ae1bc265b4c6ee0898"}}, {"rule": 2, "type": "equivalent", "target": "54e5cb43a81ad7f52fbbe8544bf1a81b", "evidence": {"same_day": true, "patch_ids": ["82e60d126c84521cecebda182adfbba1"], "statement_hash": "f2c5877e9ed93f017ebaa9c70f2f67221b192af36f1677ae1bc265b4c6ee0898"}}, {"rule": 2, "type": "equivalent", "target": "6c9273221fcf8bf8f52c758d26971163", "evidence": {"same_day": true, "patch_ids": ["82e60d126c84521cecebda182adfbba1"], "statement_hash": "f2c5877e9ed93f017ebaa9c70f2f67221b192af36f1677ae1bc265b4c6ee0898"}}, {"rule": 2, "type": "equivalent", "target": "d1f1f8887f7d168c8e7150a76bc2adba", "evidence": {"same_day": true, "patch_ids": ["82e60d126c84521cecebda182adfbba1"], "statement_hash": "f2c5877e9ed93f017ebaa9c70f2f67221b192af36f1677ae1bc265b4c6ee0898"}}], "version": "16.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "54e5cb43a81ad7f52fbbe8544bf1a81b", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Add more checks for overflow in interval_mul() and interval_div()", "evidence": {"same_day": true, "patch_ids": ["82e60d126c84521cecebda182adfbba1"], "statement_hash": "f2c5877e9ed93f017ebaa9c70f2f67221b192af36f1677ae1bc265b4c6ee0898"}, "url": "/docs/compare/?release=15.6#15.6-48dfa7dfb5640554", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "4cfaa5a4b7ae46a8f1a9753ff06c2dcc", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Add more checks for overflow in interval_mul() and interval_div()", "evidence": {"same_day": true, "patch_ids": ["82e60d126c84521cecebda182adfbba1"], "statement_hash": "f2c5877e9ed93f017ebaa9c70f2f67221b192af36f1677ae1bc265b4c6ee0898"}, "url": "/docs/compare/?release=14.11#14.11-ee1a6971df424096", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}, {"db_id": "d1f1f8887f7d168c8e7150a76bc2adba", "kind": "equivalent", "version": "13.14", "label": "13.14", "title": "Add more checks for overflow in interval_mul() and interval_div()", "evidence": {"same_day": true, "patch_ids": ["82e60d126c84521cecebda182adfbba1"], "statement_hash": "f2c5877e9ed93f017ebaa9c70f2f67221b192af36f1677ae1bc265b4c6ee0898"}, "url": "/docs/compare/?release=13.14#13.14-cdcc01c80cf10dc8", "source_url": "/docs/release/13.14/#id-1.11.6.15.5"}, {"db_id": "6c9273221fcf8bf8f52c758d26971163", "kind": "equivalent", "version": "12.18", "label": "12.18", "title": "Add more checks for overflow in interval_mul() and interval_div()", "evidence": {"same_day": true, "patch_ids": ["82e60d126c84521cecebda182adfbba1"], "statement_hash": "f2c5877e9ed93f017ebaa9c70f2f67221b192af36f1677ae1bc265b4c6ee0898"}, "url": "/docs/compare/?release=12.18#12.18-ed62d475b8f946b0", "source_url": "/docs/release/12.18/#id-1.11.6.10.6"}]}, {"id": "16.2-f11ca137dc40867b", "cves": [], "html": "<p>Allow <code>scram_SaltedPassword()</code> to be interrupted (Bowen Shi) <a href=\"https://postgr.es/c/07cb7bc1c\">§</a></p>\n<p>With large <code>scram_iterations</code> values, this function could take a long time to run. Allow it to be interrupted by query cancel requests.</p>", "text": "Allow scram_SaltedPassword() to be interrupted (Bowen Shi) § With large scram_iterations values, this function could take a long time to run. Allow it to be interrupted by query cancel requests.", "title": "Allow scram_SaltedPassword() to be interrupted", "commits": ["07cb7bc1c"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "5eea1de18698f002242e85667e66df54c2aaac8d840d7a3ce201361ae17e13e6", "section_path": ["Changes"], "commit_groups": [["07cb7bc1c", "14f2f9eb1"]], "identity_text": "Allow scram_SaltedPassword() to be interrupted (Bowen Shi) With large scram_iterations values, this function could take a long time to run. Allow it to be interrupted by query cancel requests.", "commit_aliases": ["07cb7bc1c", "14f2f9eb1"], "source_commits": ["07cb7bc1c"], "source_entry_id": "16.2/changes/025", "db_id": "a230cb1f1d72844b9b7800f059b8a951", "patch_ids": ["8e8d46c0bfbbf014e2fcb570de5a9a8f"], "statement_hash": "33cf0c31755d2a7379453cfaa00148dfe10effb33828783372ba657387243de1", "relations": [], "version": "16.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": []}, {"id": "16.2-a4cff4d0b6050cc8", "cves": [], "html": "<p>Ensure cached statistics are discarded after a change to <code>stats_fetch_consistency</code> (Shinya Kato) <a href=\"https://postgr.es/c/781bc121d\">§</a></p>\n<p>In some code paths, it was possible for stale statistics to be returned.</p>", "text": "Ensure cached statistics are discarded after a change to stats_fetch_consistency (Shinya Kato) § In some code paths, it was possible for stale statistics to be returned.", "title": "Ensure cached statistics are discarded after a change to stats_fetch_consistency", "commits": ["781bc121d"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "926bbbd2db8f7ef0c44a3494358a9bf53e0bf3186cbdc352a57cff77682ec57e", "section_path": ["Changes"], "commit_groups": [["171d21f50", "235c09efb", "781bc121d"]], "identity_text": "Ensure cached statistics are discarded after a change to stats_fetch_consistency (Shinya Kato) In some code paths, it was possible for stale statistics to be returned.", "commit_aliases": ["171d21f50", "235c09efb", "781bc121d"], "source_commits": ["781bc121d"], "source_entry_id": "16.2/changes/026", "db_id": "8f4e8dc135e62ccf67b4b19e877a1bed", "patch_ids": ["6891575048a40472c72fb9435e1bddd7"], "statement_hash": "d93765e3bf00ac740f65a18d8db79413995154171269b2926fce1cee75b9565d", "relations": [{"rule": 2, "type": "equivalent", "target": "c6f6b891f6b2dffba5e4ffac890a4f16", "evidence": {"same_day": true, "patch_ids": ["6891575048a40472c72fb9435e1bddd7"], "statement_hash": "d93765e3bf00ac740f65a18d8db79413995154171269b2926fce1cee75b9565d"}}], "version": "16.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "c6f6b891f6b2dffba5e4ffac890a4f16", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Ensure cached statistics are discarded after a change to stats_fetch_consistency", "evidence": {"same_day": true, "patch_ids": ["6891575048a40472c72fb9435e1bddd7"], "statement_hash": "d93765e3bf00ac740f65a18d8db79413995154171269b2926fce1cee75b9565d"}, "url": "/docs/compare/?release=15.6#15.6-a8f85de6be842446", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}]}, {"id": "16.2-c93324afbe448847", "cves": [], "html": "<p>Make the <code>pg_file_settings</code> view check validity of unapplied values for settings with <code>backend</code> or <code>superuser-backend</code> context (Tom Lane) <a href=\"https://postgr.es/c/e87252ceb\">§</a></p>\n<p>Invalid values were not noted in the view as intended. This escaped detection because there are very few settings in these groups.</p>", "text": "Make the pg_file_settings view check validity of unapplied values for settings with backend or superuser-backend context (Tom Lane) § Invalid values were not noted in the view as intended. This escaped detection because there are very few settings in these groups.", "title": "Make the pg_file_settings view check validity of unapplied values for settings with backend or superuser-backend context", "commits": ["e87252ceb"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "17830d577d805d569abc1b85ffbd4250b35f4890dc0e9171a3109b1641960343", "section_path": ["Changes"], "commit_groups": [["059de3ca4", "76dd3d94a", "bf4f30a0f", "cb88f44ec", "e87252ceb", "ea61b1cf6"]], "identity_text": "Make the pg_file_settings view check validity of unapplied values for settings with backend or superuser-backend context (Tom Lane) Invalid values were not noted in the view as intended. This escaped detection because there are very few settings in these groups.", "commit_aliases": ["059de3ca4", "76dd3d94a", "bf4f30a0f", "cb88f44ec", "e87252ceb", "ea61b1cf6"], "source_commits": ["e87252ceb"], "source_entry_id": "16.2/changes/027", "db_id": "3db29245757c2275cb1906dc50fe70af", "patch_ids": ["83901b2ec1e9cfa9da75130b0aad30fd"], "statement_hash": "96d107e58974e79f27b826497e0b37ef0fe9dc5206908adc1747db24a55f2c64", "relations": [{"rule": 2, "type": "equivalent", "target": "87f43c47b524ff08895c779faefc4768", "evidence": {"same_day": true, "patch_ids": ["83901b2ec1e9cfa9da75130b0aad30fd"], "statement_hash": "96d107e58974e79f27b826497e0b37ef0fe9dc5206908adc1747db24a55f2c64"}}, {"rule": 2, "type": "equivalent", "target": "9d77e0300e534680ba5da44c58825f64", "evidence": {"same_day": true, "patch_ids": ["83901b2ec1e9cfa9da75130b0aad30fd"], "statement_hash": "96d107e58974e79f27b826497e0b37ef0fe9dc5206908adc1747db24a55f2c64"}}, {"rule": 2, "type": "equivalent", "target": "a9460abd7d8abc77ed4bcee18e729774", "evidence": {"same_day": true, "patch_ids": ["83901b2ec1e9cfa9da75130b0aad30fd"], "statement_hash": "96d107e58974e79f27b826497e0b37ef0fe9dc5206908adc1747db24a55f2c64"}}, {"rule": 2, "type": "equivalent", "target": "b7c596be60fb44827b20c134c9ee3d1d", "evidence": {"same_day": true, "patch_ids": ["83901b2ec1e9cfa9da75130b0aad30fd"], "statement_hash": "96d107e58974e79f27b826497e0b37ef0fe9dc5206908adc1747db24a55f2c64"}}], "version": "16.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "9d77e0300e534680ba5da44c58825f64", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Make the pg_file_settings view check validity of unapplied values for settings with backend or superuser-backend context", "evidence": {"same_day": true, "patch_ids": ["83901b2ec1e9cfa9da75130b0aad30fd"], "statement_hash": "96d107e58974e79f27b826497e0b37ef0fe9dc5206908adc1747db24a55f2c64"}, "url": "/docs/compare/?release=15.6#15.6-6c8cc55ac92797bd", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "b7c596be60fb44827b20c134c9ee3d1d", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Make the pg_file_settings view check validity of unapplied values for settings with backend or superuser-backend context", "evidence": {"same_day": true, "patch_ids": ["83901b2ec1e9cfa9da75130b0aad30fd"], "statement_hash": "96d107e58974e79f27b826497e0b37ef0fe9dc5206908adc1747db24a55f2c64"}, "url": "/docs/compare/?release=14.11#14.11-d712b0572113fbb3", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}, {"db_id": "a9460abd7d8abc77ed4bcee18e729774", "kind": "equivalent", "version": "13.14", "label": "13.14", "title": "Make the pg_file_settings view check validity of unapplied values for settings with backend or superuser-backend context", "evidence": {"same_day": true, "patch_ids": ["83901b2ec1e9cfa9da75130b0aad30fd"], "statement_hash": "96d107e58974e79f27b826497e0b37ef0fe9dc5206908adc1747db24a55f2c64"}, "url": "/docs/compare/?release=13.14#13.14-34cdcac299f419d7", "source_url": "/docs/release/13.14/#id-1.11.6.15.5"}, {"db_id": "87f43c47b524ff08895c779faefc4768", "kind": "equivalent", "version": "12.18", "label": "12.18", "title": "Make the pg_file_settings view check validity of unapplied values for settings with backend or superuser-backend context", "evidence": {"same_day": true, "patch_ids": ["83901b2ec1e9cfa9da75130b0aad30fd"], "statement_hash": "96d107e58974e79f27b826497e0b37ef0fe9dc5206908adc1747db24a55f2c64"}, "url": "/docs/compare/?release=12.18#12.18-10451df50692a3ab", "source_url": "/docs/release/12.18/#id-1.11.6.10.6"}]}, {"id": "16.2-433a4a94d844681e", "cves": [], "html": "<p>Match collation too when matching an existing index to a new partitioned index (Peter Eisentraut) <a href=\"https://postgr.es/c/267f33f68\">§</a></p>\n<p>Previously we could accept an index that has a different collation from the corresponding element of the partition key, possibly leading to misbehavior.</p>", "text": "Match collation too when matching an existing index to a new partitioned index (Peter Eisentraut) § Previously we could accept an index that has a different collation from the corresponding element of the partition key, possibly leading to misbehavior.", "title": "Match collation too when matching an existing index to a new partitioned index", "commits": ["267f33f68"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "08d137582c05076052262201ab7c92ea093ad955494fd9c5c0f4ada000e5ed6c", "section_path": ["Changes"], "commit_groups": [["15d485921", "267f33f68", "3c49fa2af", "5d40b3c4f", "a11c9c42e", "e846fc491"]], "identity_text": "Match collation too when matching an existing index to a new partitioned index (Peter Eisentraut) Previously we could accept an index that has a different collation from the corresponding element of the partition key, possibly leading to misbehavior.", "commit_aliases": ["15d485921", "267f33f68", "3c49fa2af", "5d40b3c4f", "a11c9c42e", "e846fc491"], "source_commits": ["267f33f68"], "source_entry_id": "16.2/changes/028", "db_id": "5e2f13ea40694ee201d6ea97646ceff9", "patch_ids": ["fe175bc907b34d79fe401aa5b36d3080"], "statement_hash": "f56f9e808c59a1f6bd6b8a4822f5e59596f81dffed58bb3886f1548bab004a30", "relations": [{"rule": 2, "type": "equivalent", "target": "5965d27d60362bec0e997845e716f978", "evidence": {"same_day": true, "patch_ids": ["fe175bc907b34d79fe401aa5b36d3080"], "statement_hash": "f56f9e808c59a1f6bd6b8a4822f5e59596f81dffed58bb3886f1548bab004a30"}}, {"rule": 2, "type": "equivalent", "target": "66a79b159f03bba15cd6ddaf61dfe586", "evidence": {"same_day": true, "patch_ids": ["fe175bc907b34d79fe401aa5b36d3080"], "statement_hash": "f56f9e808c59a1f6bd6b8a4822f5e59596f81dffed58bb3886f1548bab004a30"}}, {"rule": 2, "type": "equivalent", "target": "ef929832ab06891062003322b8acf97a", "evidence": {"same_day": true, "patch_ids": ["fe175bc907b34d79fe401aa5b36d3080"], "statement_hash": "f56f9e808c59a1f6bd6b8a4822f5e59596f81dffed58bb3886f1548bab004a30"}}, {"rule": 2, "type": "equivalent", "target": "f4fad4bf8c6879c9c18eabf3589d9bad", "evidence": {"same_day": true, "patch_ids": ["fe175bc907b34d79fe401aa5b36d3080"], "statement_hash": "f56f9e808c59a1f6bd6b8a4822f5e59596f81dffed58bb3886f1548bab004a30"}}], "version": "16.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "5965d27d60362bec0e997845e716f978", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Match collation too when matching an existing index to a new partitioned index", "evidence": {"same_day": true, "patch_ids": ["fe175bc907b34d79fe401aa5b36d3080"], "statement_hash": "f56f9e808c59a1f6bd6b8a4822f5e59596f81dffed58bb3886f1548bab004a30"}, "url": "/docs/compare/?release=15.6#15.6-73edf18a0505f77a", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "66a79b159f03bba15cd6ddaf61dfe586", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Match collation too when matching an existing index to a new partitioned index", "evidence": {"same_day": true, "patch_ids": ["fe175bc907b34d79fe401aa5b36d3080"], "statement_hash": "f56f9e808c59a1f6bd6b8a4822f5e59596f81dffed58bb3886f1548bab004a30"}, "url": "/docs/compare/?release=14.11#14.11-895decac6d4f16d3", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}, {"db_id": "f4fad4bf8c6879c9c18eabf3589d9bad", "kind": "equivalent", "version": "13.14", "label": "13.14", "title": "Match collation too when matching an existing index to a new partitioned index", "evidence": {"same_day": true, "patch_ids": ["fe175bc907b34d79fe401aa5b36d3080"], "statement_hash": "f56f9e808c59a1f6bd6b8a4822f5e59596f81dffed58bb3886f1548bab004a30"}, "url": "/docs/compare/?release=13.14#13.14-d58c000a843a9003", "source_url": "/docs/release/13.14/#id-1.11.6.15.5"}, {"db_id": "ef929832ab06891062003322b8acf97a", "kind": "equivalent", "version": "12.18", "label": "12.18", "title": "Match collation too when matching an existing index to a new partitioned index", "evidence": {"same_day": true, "patch_ids": ["fe175bc907b34d79fe401aa5b36d3080"], "statement_hash": "f56f9e808c59a1f6bd6b8a4822f5e59596f81dffed58bb3886f1548bab004a30"}, "url": "/docs/compare/?release=12.18#12.18-9999f9be63bf9c77", "source_url": "/docs/release/12.18/#id-1.11.6.10.6"}]}, {"id": "16.2-cce255972b31d03d", "cves": [], "html": "<p>Avoid failure if a child index is dropped concurrently with <code>REINDEX INDEX</code> on a partitioned index (Fei Changhong) <a href=\"https://postgr.es/c/c030e263e\">§</a> <a href=\"https://postgr.es/c/7ce65c6f7\">§</a></p>", "text": "Avoid failure if a child index is dropped concurrently with REINDEX INDEX on a partitioned index (Fei Changhong) § §", "title": "Avoid failure if a child index is dropped concurrently with REINDEX INDEX on a partitioned index", "commits": ["7ce65c6f7", "c030e263e"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "e49f59e4a0c6e1cdfd564217b98999d71669a9568be0c0d042c8b8518b2886d9", "section_path": ["Changes"], "commit_groups": [["0ae3b4662", "a0c19de11", "b6f2e019d", "c030e263e"], ["1cf2dba84", "7ce65c6f7", "8013850c8", "b685b41cf"]], "identity_text": "Avoid failure if a child index is dropped concurrently with REINDEX INDEX on a partitioned index (Fei Changhong)", "commit_aliases": ["0ae3b4662", "1cf2dba84", "7ce65c6f7", "8013850c8", "a0c19de11", "b685b41cf", "b6f2e019d", "c030e263e"], "source_commits": ["7ce65c6f7", "c030e263e"], "source_entry_id": "16.2/changes/029", "db_id": "9c4ead9868ec582088a7bca4604bbc7f", "patch_ids": ["3e9072ded3fa59975045dc698618d63e", "96984d187a98bf909c41d0e0ac9ff090"], "statement_hash": "ebba88e3b4fe8e68c521561f874e3eb96fa15481c73c6e1c59fca51eac079a07", "relations": [{"rule": 2, "type": "equivalent", "target": "77fd2069f941d58a616702d85f27ee33", "evidence": {"same_day": true, "patch_ids": ["3e9072ded3fa59975045dc698618d63e", "96984d187a98bf909c41d0e0ac9ff090"], "statement_hash": "ebba88e3b4fe8e68c521561f874e3eb96fa15481c73c6e1c59fca51eac079a07"}}, {"rule": 2, "type": "equivalent", "target": "f19047683bc71876bd0749a4a424ed11", "evidence": {"same_day": true, "patch_ids": ["3e9072ded3fa59975045dc698618d63e", "96984d187a98bf909c41d0e0ac9ff090"], "statement_hash": "ebba88e3b4fe8e68c521561f874e3eb96fa15481c73c6e1c59fca51eac079a07"}}], "version": "16.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "77fd2069f941d58a616702d85f27ee33", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Avoid failure if a child index is dropped concurrently with REINDEX INDEX on a partitioned index", "evidence": {"same_day": true, "patch_ids": ["3e9072ded3fa59975045dc698618d63e", "96984d187a98bf909c41d0e0ac9ff090"], "statement_hash": "ebba88e3b4fe8e68c521561f874e3eb96fa15481c73c6e1c59fca51eac079a07"}, "url": "/docs/compare/?release=15.6#15.6-4f1998186db7bd3f", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "f19047683bc71876bd0749a4a424ed11", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Avoid failure if a child index is dropped concurrently with REINDEX INDEX on a partitioned index", "evidence": {"same_day": true, "patch_ids": ["3e9072ded3fa59975045dc698618d63e", "96984d187a98bf909c41d0e0ac9ff090"], "statement_hash": "ebba88e3b4fe8e68c521561f874e3eb96fa15481c73c6e1c59fca51eac079a07"}, "url": "/docs/compare/?release=14.11#14.11-f9338b959c8198c9", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}]}, {"id": "16.2-c1cb14e4dc7dcb20", "cves": [], "html": "<p>Fix insufficient locking when cleaning up an incomplete split of a GIN index's internal page (Fei Changhong, Heikki Linnakangas) <a href=\"https://postgr.es/c/b899e00e7\">§</a></p>\n<p>The code tried to do this with shared rather than exclusive lock on the buffer. This could lead to index corruption if two processes attempted the cleanup concurrently.</p>", "text": "Fix insufficient locking when cleaning up an incomplete split of a GIN index's internal page (Fei Changhong, Heikki Linnakangas) § The code tried to do this with shared rather than exclusive lock on the buffer. This could lead to index corruption if two processes attempted the cleanup concurrently.", "title": "Fix insufficient locking when cleaning up an incomplete split of a GIN index's internal page", "commits": ["b899e00e7"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "39d9fab8943c9b15e749051388510f02872b11cc7c9ddc7d4e095233f322fac2", "section_path": ["Changes"], "commit_groups": [["6a1ea02c4", "b899e00e7", "e43425f48", "e6511fe64", "e74c91665", "f120c0872"]], "identity_text": "Fix insufficient locking when cleaning up an incomplete split of a GIN index's internal page (Fei Changhong, Heikki Linnakangas) The code tried to do this with shared rather than exclusive lock on the buffer. This could lead to index corruption if two processes attempted the cleanup concurrently.", "commit_aliases": ["6a1ea02c4", "b899e00e7", "e43425f48", "e6511fe64", "e74c91665", "f120c0872"], "source_commits": ["b899e00e7"], "source_entry_id": "16.2/changes/030", "db_id": "330aad59c32f5b30bdeb1f4cc701ddfd", "patch_ids": ["0b65e24d04b97cc1fe6b8156ddedbf7e"], "statement_hash": "ce4c1dfa316b698d2be3921cd0c6c399307e915c28b4cd58cad1004b9ceb0179", "relations": [{"rule": 2, "type": "equivalent", "target": "0c9ac9a07148fe78e223533939713637", "evidence": {"same_day": true, "patch_ids": ["0b65e24d04b97cc1fe6b8156ddedbf7e"], "statement_hash": "ce4c1dfa316b698d2be3921cd0c6c399307e915c28b4cd58cad1004b9ceb0179"}}, {"rule": 2, "type": "equivalent", "target": "1ba9c93eb037fb3add268f3af5007e87", "evidence": {"same_day": true, "patch_ids": ["0b65e24d04b97cc1fe6b8156ddedbf7e"], "statement_hash": "ce4c1dfa316b698d2be3921cd0c6c399307e915c28b4cd58cad1004b9ceb0179"}}, {"rule": 2, "type": "equivalent", "target": "40910f3e0c91ee7e288e9cf67052777d", "evidence": {"same_day": true, "patch_ids": ["0b65e24d04b97cc1fe6b8156ddedbf7e"], "statement_hash": "ce4c1dfa316b698d2be3921cd0c6c399307e915c28b4cd58cad1004b9ceb0179"}}, {"rule": 2, "type": "equivalent", "target": "c3f3a147bc5f0bfc0e343208ec810d09", "evidence": {"same_day": true, "patch_ids": ["0b65e24d04b97cc1fe6b8156ddedbf7e"], "statement_hash": "ce4c1dfa316b698d2be3921cd0c6c399307e915c28b4cd58cad1004b9ceb0179"}}], "version": "16.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "0c9ac9a07148fe78e223533939713637", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Fix insufficient locking when cleaning up an incomplete split of a GIN index's internal page", "evidence": {"same_day": true, "patch_ids": ["0b65e24d04b97cc1fe6b8156ddedbf7e"], "statement_hash": "ce4c1dfa316b698d2be3921cd0c6c399307e915c28b4cd58cad1004b9ceb0179"}, "url": "/docs/compare/?release=15.6#15.6-c669a8aebf3355d6", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "40910f3e0c91ee7e288e9cf67052777d", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Fix insufficient locking when cleaning up an incomplete split of a GIN index's internal page", "evidence": {"same_day": true, "patch_ids": ["0b65e24d04b97cc1fe6b8156ddedbf7e"], "statement_hash": "ce4c1dfa316b698d2be3921cd0c6c399307e915c28b4cd58cad1004b9ceb0179"}, "url": "/docs/compare/?release=14.11#14.11-2bdf6d5cbdc7827a", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}, {"db_id": "1ba9c93eb037fb3add268f3af5007e87", "kind": "equivalent", "version": "13.14", "label": "13.14", "title": "Fix insufficient locking when cleaning up an incomplete split of a GIN index's internal page", "evidence": {"same_day": true, "patch_ids": ["0b65e24d04b97cc1fe6b8156ddedbf7e"], "statement_hash": "ce4c1dfa316b698d2be3921cd0c6c399307e915c28b4cd58cad1004b9ceb0179"}, "url": "/docs/compare/?release=13.14#13.14-eecf5551134ff3df", "source_url": "/docs/release/13.14/#id-1.11.6.15.5"}, {"db_id": "c3f3a147bc5f0bfc0e343208ec810d09", "kind": "equivalent", "version": "12.18", "label": "12.18", "title": "Fix insufficient locking when cleaning up an incomplete split of a GIN index's internal page", "evidence": {"same_day": true, "patch_ids": ["0b65e24d04b97cc1fe6b8156ddedbf7e"], "statement_hash": "ce4c1dfa316b698d2be3921cd0c6c399307e915c28b4cd58cad1004b9ceb0179"}, "url": "/docs/compare/?release=12.18#12.18-d109a9fa39955ab0", "source_url": "/docs/release/12.18/#id-1.11.6.10.6"}]}, {"id": "16.2-8ac48afaa8992315", "cves": [], "html": "<p>Avoid premature release of buffer pin in GIN index insertion (Tom Lane) <a href=\"https://postgr.es/c/f76b975d5\">§</a></p>\n<p>If an index root page split occurs concurrently with our own insertion, the code could fail with <span>“<span>buffer NNNN is not owned by resource owner</span>”</span>.</p>", "text": "Avoid premature release of buffer pin in GIN index insertion (Tom Lane) § If an index root page split occurs concurrently with our own insertion, the code could fail with “buffer NNNN is not owned by resource owner”.", "title": "Avoid premature release of buffer pin in GIN index insertion", "commits": ["f76b975d5"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "a6827fd67314f08177c19e155a1055d8163e4df7ee1d23c6e6b9b0716cb33889", "section_path": ["Changes"], "commit_groups": [["4c73ec604", "5a6937ec9", "5c62ecf6e", "c859d688b", "d900e74e0", "f76b975d5"]], "identity_text": "Avoid premature release of buffer pin in GIN index insertion (Tom Lane) If an index root page split occurs concurrently with our own insertion, the code could fail with buffer NNNN is not owned by resource owner.", "commit_aliases": ["4c73ec604", "5a6937ec9", "5c62ecf6e", "c859d688b", "d900e74e0", "f76b975d5"], "source_commits": ["f76b975d5"], "source_entry_id": "16.2/changes/031", "db_id": "439485a9b20eaa41f5de58eb093eb06b", "patch_ids": ["3f249d155b5c2df541d28789fb465925"], "statement_hash": "bb4ac73864cb8b0290e8d72da8ec147875338049505cecf89c4646f61249feb5", "relations": [{"rule": 2, "type": "equivalent", "target": "0e900f8d28f2621d5ed94bbcce3de62a", "evidence": {"same_day": true, "patch_ids": ["3f249d155b5c2df541d28789fb465925"], "statement_hash": "bb4ac73864cb8b0290e8d72da8ec147875338049505cecf89c4646f61249feb5"}}, {"rule": 2, "type": "equivalent", "target": "30792f0b586fc34673ee37b2668327a6", "evidence": {"same_day": true, "patch_ids": ["3f249d155b5c2df541d28789fb465925"], "statement_hash": "bb4ac73864cb8b0290e8d72da8ec147875338049505cecf89c4646f61249feb5"}}, {"rule": 2, "type": "equivalent", "target": "4c02e926b24e937b6203c2bcfe1c0586", "evidence": {"same_day": true, "patch_ids": ["3f249d155b5c2df541d28789fb465925"], "statement_hash": "bb4ac73864cb8b0290e8d72da8ec147875338049505cecf89c4646f61249feb5"}}, {"rule": 2, "type": "equivalent", "target": "a7f7285e23b96dab36479d6ae9473b2e", "evidence": {"same_day": true, "patch_ids": ["3f249d155b5c2df541d28789fb465925"], "statement_hash": "bb4ac73864cb8b0290e8d72da8ec147875338049505cecf89c4646f61249feb5"}}], "version": "16.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "a7f7285e23b96dab36479d6ae9473b2e", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Avoid premature release of buffer pin in GIN index insertion", "evidence": {"same_day": true, "patch_ids": ["3f249d155b5c2df541d28789fb465925"], "statement_hash": "bb4ac73864cb8b0290e8d72da8ec147875338049505cecf89c4646f61249feb5"}, "url": "/docs/compare/?release=15.6#15.6-afdfe4a6efe63f20", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "30792f0b586fc34673ee37b2668327a6", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Avoid premature release of buffer pin in GIN index insertion", "evidence": {"same_day": true, "patch_ids": ["3f249d155b5c2df541d28789fb465925"], "statement_hash": "bb4ac73864cb8b0290e8d72da8ec147875338049505cecf89c4646f61249feb5"}, "url": "/docs/compare/?release=14.11#14.11-d60f13b710117e2a", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}, {"db_id": "0e900f8d28f2621d5ed94bbcce3de62a", "kind": "equivalent", "version": "13.14", "label": "13.14", "title": "Avoid premature release of buffer pin in GIN index insertion", "evidence": {"same_day": true, "patch_ids": ["3f249d155b5c2df541d28789fb465925"], "statement_hash": "bb4ac73864cb8b0290e8d72da8ec147875338049505cecf89c4646f61249feb5"}, "url": "/docs/compare/?release=13.14#13.14-c6db61ffe5134ee9", "source_url": "/docs/release/13.14/#id-1.11.6.15.5"}, {"db_id": "4c02e926b24e937b6203c2bcfe1c0586", "kind": "equivalent", "version": "12.18", "label": "12.18", "title": "Avoid premature release of buffer pin in GIN index insertion", "evidence": {"same_day": true, "patch_ids": ["3f249d155b5c2df541d28789fb465925"], "statement_hash": "bb4ac73864cb8b0290e8d72da8ec147875338049505cecf89c4646f61249feb5"}, "url": "/docs/compare/?release=12.18#12.18-6e5145973214fd42", "source_url": "/docs/release/12.18/#id-1.11.6.10.6"}]}, {"id": "16.2-9806aab5cbb12475", "cves": [], "html": "<p>Avoid failure with partitioned SP-GiST indexes (Tom Lane) <a href=\"https://postgr.es/c/0977bd64e\">§</a></p>\n<p>Trying to use an index of this kind could lead to <span>“<span>No such file or directory</span>”</span> errors.</p>", "text": "Avoid failure with partitioned SP-GiST indexes (Tom Lane) § Trying to use an index of this kind could lead to “No such file or directory” errors.", "title": "Avoid failure with partitioned SP-GiST indexes", "commits": ["0977bd64e"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "2cc6bca5bdf04ad41d5efbb84660697fef3061760f7c5545df4c651c235a878c", "section_path": ["Changes"], "commit_groups": [["0977bd64e", "1771ec9a8", "375f441bd", "903737c5b", "ab04c1901", "cc3865150"]], "identity_text": "Avoid failure with partitioned SP-GiST indexes (Tom Lane) Trying to use an index of this kind could lead to No such file or directory errors.", "commit_aliases": ["0977bd64e", "1771ec9a8", "375f441bd", "903737c5b", "ab04c1901", "cc3865150"], "source_commits": ["0977bd64e"], "source_entry_id": "16.2/changes/032", "db_id": "fb1ba0226cde492bcdfb5ed498002fbd", "patch_ids": ["103c5aa6495f7fbe1fbc2370aaad0b6a"], "statement_hash": "b3d2b70befd4413165a072b5539fef07de41a06e18ae938319c3e1c3a256d455", "relations": [{"rule": 2, "type": "equivalent", "target": "16474720954945b50e674d14f5578461", "evidence": {"same_day": true, "patch_ids": ["103c5aa6495f7fbe1fbc2370aaad0b6a"], "statement_hash": "b3d2b70befd4413165a072b5539fef07de41a06e18ae938319c3e1c3a256d455"}}, {"rule": 2, "type": "equivalent", "target": "af135e7bd056dec3344629f7c6fc5938", "evidence": {"same_day": true, "patch_ids": ["103c5aa6495f7fbe1fbc2370aaad0b6a"], "statement_hash": "b3d2b70befd4413165a072b5539fef07de41a06e18ae938319c3e1c3a256d455"}}, {"rule": 2, "type": "equivalent", "target": "d3c7940e315cc5fc8d6cf1035388baa1", "evidence": {"same_day": true, "patch_ids": ["103c5aa6495f7fbe1fbc2370aaad0b6a"], "statement_hash": "b3d2b70befd4413165a072b5539fef07de41a06e18ae938319c3e1c3a256d455"}}, {"rule": 2, "type": "equivalent", "target": "e072e61fc5941781dd2c3286c4ff7421", "evidence": {"same_day": true, "patch_ids": ["103c5aa6495f7fbe1fbc2370aaad0b6a"], "statement_hash": "b3d2b70befd4413165a072b5539fef07de41a06e18ae938319c3e1c3a256d455"}}], "version": "16.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "af135e7bd056dec3344629f7c6fc5938", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Avoid failure with partitioned SP-GiST indexes", "evidence": {"same_day": true, "patch_ids": ["103c5aa6495f7fbe1fbc2370aaad0b6a"], "statement_hash": "b3d2b70befd4413165a072b5539fef07de41a06e18ae938319c3e1c3a256d455"}, "url": "/docs/compare/?release=15.6#15.6-90baa090b5b70728", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "d3c7940e315cc5fc8d6cf1035388baa1", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Avoid failure with partitioned SP-GiST indexes", "evidence": {"same_day": true, "patch_ids": ["103c5aa6495f7fbe1fbc2370aaad0b6a"], "statement_hash": "b3d2b70befd4413165a072b5539fef07de41a06e18ae938319c3e1c3a256d455"}, "url": "/docs/compare/?release=14.11#14.11-7d51929feb67d0f6", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}, {"db_id": "16474720954945b50e674d14f5578461", "kind": "equivalent", "version": "13.14", "label": "13.14", "title": "Avoid failure with partitioned SP-GiST indexes", "evidence": {"same_day": true, "patch_ids": ["103c5aa6495f7fbe1fbc2370aaad0b6a"], "statement_hash": "b3d2b70befd4413165a072b5539fef07de41a06e18ae938319c3e1c3a256d455"}, "url": "/docs/compare/?release=13.14#13.14-42a1eab36f5a74c6", "source_url": "/docs/release/13.14/#id-1.11.6.15.5"}, {"db_id": "e072e61fc5941781dd2c3286c4ff7421", "kind": "equivalent", "version": "12.18", "label": "12.18", "title": "Avoid failure with partitioned SP-GiST indexes", "evidence": {"same_day": true, "patch_ids": ["103c5aa6495f7fbe1fbc2370aaad0b6a"], "statement_hash": "b3d2b70befd4413165a072b5539fef07de41a06e18ae938319c3e1c3a256d455"}, "url": "/docs/compare/?release=12.18#12.18-33878e0e5856175c", "source_url": "/docs/release/12.18/#id-1.11.6.10.6"}]}, {"id": "16.2-9f815e2c7b969205-1", "cves": [], "html": "<p>Fix ownership tests for large objects (Tom Lane) <a href=\"https://postgr.es/c/152bfc0af\">§</a></p>\n<p>Operations on large objects that require ownership privilege failed with <span>“<span>unrecognized class ID: 2613</span>”</span>, unless run by a superuser.</p>", "text": "Fix ownership tests for large objects (Tom Lane) § Operations on large objects that require ownership privilege failed with “unrecognized class ID: 2613”, unless run by a superuser.", "title": "Fix ownership tests for large objects", "commits": ["152bfc0af"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "ab98225522c9b11e949c7d2c77576d930306e02900315dcf7f65bcf00d559e0d", "section_path": ["Changes"], "commit_groups": [["152bfc0af", "55b5c67da", "59bd34c2f", "7a99fb6e1", "ba66f2533", "f552f2be2"]], "identity_text": "Fix ownership tests for large objects (Tom Lane) Operations on large objects that require ownership privilege failed with unrecognized class ID: 2613, unless run by a superuser.", "commit_aliases": ["152bfc0af", "55b5c67da", "59bd34c2f", "7a99fb6e1", "ba66f2533", "f552f2be2"], "source_commits": ["152bfc0af"], "source_entry_id": "16.2/changes/033", "db_id": "1687451cb0d2d633e50ac97d82a6da6d", "patch_ids": ["e4fcc6453104b25ea29d72873517f170"], "statement_hash": "1985bbaeccdb14dc25e055da3ffed1cfdc4dcde50059702e8073c95496fab523", "relations": [{"rule": 2, "type": "related", "target": "13699f4f3899ac05ef5c9f9f56f38d62", "evidence": {"same_day": true, "patch_ids": ["e4fcc6453104b25ea29d72873517f170"], "ambiguous_patch_ids": ["e4fcc6453104b25ea29d72873517f170"]}}, {"rule": 2, "type": "related", "target": "6411fc0dc1989d2d2bc66d075712fdcd", "evidence": {"same_day": true, "patch_ids": ["e4fcc6453104b25ea29d72873517f170"], "ambiguous_patch_ids": ["e4fcc6453104b25ea29d72873517f170"]}}, {"rule": 2, "type": "related", "target": "64b8edb75ecd0de4824145d278c0e35d", "evidence": {"same_day": true, "patch_ids": ["e4fcc6453104b25ea29d72873517f170"], "ambiguous_patch_ids": ["e4fcc6453104b25ea29d72873517f170"]}}, {"rule": 2, "type": "related", "target": "83b69e7b5675917d023c93bee92e490b", "evidence": {"same_day": true, "patch_ids": ["e4fcc6453104b25ea29d72873517f170"], "ambiguous_patch_ids": ["e4fcc6453104b25ea29d72873517f170"]}}, {"rule": 2, "type": "related", "target": "b52db6d54c1a1d1e6a35b86ca71886d8", "evidence": {"same_day": true, "patch_ids": ["e4fcc6453104b25ea29d72873517f170"], "ambiguous_patch_ids": ["e4fcc6453104b25ea29d72873517f170"]}}], "version": "16.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "64b8edb75ecd0de4824145d278c0e35d", "kind": "related", "version": "16.2", "label": "16.2", "title": "Fix ownership change reporting for large objects", "evidence": {"same_day": true, "patch_ids": ["e4fcc6453104b25ea29d72873517f170"], "ambiguous_patch_ids": ["e4fcc6453104b25ea29d72873517f170"]}, "url": "/docs/compare/?release=16.2#16.2-9f815e2c7b969205-2", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES"}, {"db_id": "b52db6d54c1a1d1e6a35b86ca71886d8", "kind": "related", "version": "15.6", "label": "15.6", "title": "Fix ownership change reporting for large objects", "evidence": {"same_day": true, "patch_ids": ["e4fcc6453104b25ea29d72873517f170"], "ambiguous_patch_ids": ["e4fcc6453104b25ea29d72873517f170"]}, "url": "/docs/compare/?release=15.6#15.6-61b38f2402c7f68c", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "13699f4f3899ac05ef5c9f9f56f38d62", "kind": "related", "version": "14.11", "label": "14.11", "title": "Fix ownership change reporting for large objects", "evidence": {"same_day": true, "patch_ids": ["e4fcc6453104b25ea29d72873517f170"], "ambiguous_patch_ids": ["e4fcc6453104b25ea29d72873517f170"]}, "url": "/docs/compare/?release=14.11#14.11-4dfb7ad104884c27", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}, {"db_id": "6411fc0dc1989d2d2bc66d075712fdcd", "kind": "related", "version": "13.14", "label": "13.14", "title": "Fix ownership change reporting for large objects", "evidence": {"same_day": true, "patch_ids": ["e4fcc6453104b25ea29d72873517f170"], "ambiguous_patch_ids": ["e4fcc6453104b25ea29d72873517f170"]}, "url": "/docs/compare/?release=13.14#13.14-491175e41e7325c7", "source_url": "/docs/release/13.14/#id-1.11.6.15.5"}, {"db_id": "83b69e7b5675917d023c93bee92e490b", "kind": "related", "version": "12.18", "label": "12.18", "title": "Fix ownership change reporting for large objects", "evidence": {"same_day": true, "patch_ids": ["e4fcc6453104b25ea29d72873517f170"], "ambiguous_patch_ids": ["e4fcc6453104b25ea29d72873517f170"]}, "url": "/docs/compare/?release=12.18#12.18-6e0b346d129d4063", "source_url": "/docs/release/12.18/#id-1.11.6.10.6"}]}, {"id": "16.2-9f815e2c7b969205-2", "cves": [], "html": "<p>Fix ownership change reporting for large objects (Tom Lane) <a href=\"https://postgr.es/c/152bfc0af\">§</a></p>\n<p>A no-op <code>ALTER LARGE OBJECT OWNER</code> command (that is, one selecting the existing owner) passed the wrong class ID to the <code>PostAlterHook</code>, probably confusing any extension using that hook.</p>", "text": "Fix ownership change reporting for large objects (Tom Lane) § A no-op ALTER LARGE OBJECT OWNER command (that is, one selecting the existing owner) passed the wrong class ID to the PostAlterHook, probably confusing any extension using that hook.", "title": "Fix ownership change reporting for large objects", "commits": ["152bfc0af"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "8dd6c59dca83e5870320cc77ec6ba904d87f193586491933c75a4d235f863241", "section_path": ["Changes"], "commit_groups": [["152bfc0af", "55b5c67da", "59bd34c2f", "7a99fb6e1", "ba66f2533", "f552f2be2"]], "identity_text": "Fix ownership change reporting for large objects (Tom Lane) A no-op ALTER LARGE OBJECT OWNER command (that is, one selecting the existing owner) passed the wrong class ID to the PostAlterHook, probably confusing any extension using that hook.", "commit_aliases": ["152bfc0af", "55b5c67da", "59bd34c2f", "7a99fb6e1", "ba66f2533", "f552f2be2"], "source_commits": ["152bfc0af"], "source_entry_id": "16.2/changes/034", "db_id": "64b8edb75ecd0de4824145d278c0e35d", "patch_ids": ["e4fcc6453104b25ea29d72873517f170"], "statement_hash": "7306e68a222d47eb279562cb160080e1360168e1b5d1e1341aa1cc543ea2cce8", "relations": [{"rule": 2, "type": "equivalent", "target": "13699f4f3899ac05ef5c9f9f56f38d62", "evidence": {"same_day": true, "patch_ids": ["e4fcc6453104b25ea29d72873517f170"], "statement_hash": "7306e68a222d47eb279562cb160080e1360168e1b5d1e1341aa1cc543ea2cce8", "ambiguous_patch_ids": ["e4fcc6453104b25ea29d72873517f170"]}}, {"rule": 2, "type": "related", "target": "1687451cb0d2d633e50ac97d82a6da6d", "evidence": {"same_day": true, "patch_ids": ["e4fcc6453104b25ea29d72873517f170"], "ambiguous_patch_ids": ["e4fcc6453104b25ea29d72873517f170"]}}, {"rule": 2, "type": "equivalent", "target": "6411fc0dc1989d2d2bc66d075712fdcd", "evidence": {"same_day": true, "patch_ids": ["e4fcc6453104b25ea29d72873517f170"], "statement_hash": "7306e68a222d47eb279562cb160080e1360168e1b5d1e1341aa1cc543ea2cce8", "ambiguous_patch_ids": ["e4fcc6453104b25ea29d72873517f170"]}}, {"rule": 2, "type": "equivalent", "target": "83b69e7b5675917d023c93bee92e490b", "evidence": {"same_day": true, "patch_ids": ["e4fcc6453104b25ea29d72873517f170"], "statement_hash": "7306e68a222d47eb279562cb160080e1360168e1b5d1e1341aa1cc543ea2cce8", "ambiguous_patch_ids": ["e4fcc6453104b25ea29d72873517f170"]}}, {"rule": 2, "type": "equivalent", "target": "b52db6d54c1a1d1e6a35b86ca71886d8", "evidence": {"same_day": true, "patch_ids": ["e4fcc6453104b25ea29d72873517f170"], "statement_hash": "7306e68a222d47eb279562cb160080e1360168e1b5d1e1341aa1cc543ea2cce8", "ambiguous_patch_ids": ["e4fcc6453104b25ea29d72873517f170"]}}], "version": "16.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "1687451cb0d2d633e50ac97d82a6da6d", "kind": "related", "version": "16.2", "label": "16.2", "title": "Fix ownership tests for large objects", "evidence": {"same_day": true, "patch_ids": ["e4fcc6453104b25ea29d72873517f170"], "ambiguous_patch_ids": ["e4fcc6453104b25ea29d72873517f170"]}, "url": "/docs/compare/?release=16.2#16.2-9f815e2c7b969205-1", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES"}, {"db_id": "b52db6d54c1a1d1e6a35b86ca71886d8", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Fix ownership change reporting for large objects", "evidence": {"same_day": true, "patch_ids": ["e4fcc6453104b25ea29d72873517f170"], "statement_hash": "7306e68a222d47eb279562cb160080e1360168e1b5d1e1341aa1cc543ea2cce8", "ambiguous_patch_ids": ["e4fcc6453104b25ea29d72873517f170"]}, "url": "/docs/compare/?release=15.6#15.6-61b38f2402c7f68c", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "13699f4f3899ac05ef5c9f9f56f38d62", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Fix ownership change reporting for large objects", "evidence": {"same_day": true, "patch_ids": ["e4fcc6453104b25ea29d72873517f170"], "statement_hash": "7306e68a222d47eb279562cb160080e1360168e1b5d1e1341aa1cc543ea2cce8", "ambiguous_patch_ids": ["e4fcc6453104b25ea29d72873517f170"]}, "url": "/docs/compare/?release=14.11#14.11-4dfb7ad104884c27", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}, {"db_id": "6411fc0dc1989d2d2bc66d075712fdcd", "kind": "equivalent", "version": "13.14", "label": "13.14", "title": "Fix ownership change reporting for large objects", "evidence": {"same_day": true, "patch_ids": ["e4fcc6453104b25ea29d72873517f170"], "statement_hash": "7306e68a222d47eb279562cb160080e1360168e1b5d1e1341aa1cc543ea2cce8", "ambiguous_patch_ids": ["e4fcc6453104b25ea29d72873517f170"]}, "url": "/docs/compare/?release=13.14#13.14-491175e41e7325c7", "source_url": "/docs/release/13.14/#id-1.11.6.15.5"}, {"db_id": "83b69e7b5675917d023c93bee92e490b", "kind": "equivalent", "version": "12.18", "label": "12.18", "title": "Fix ownership change reporting for large objects", "evidence": {"same_day": true, "patch_ids": ["e4fcc6453104b25ea29d72873517f170"], "statement_hash": "7306e68a222d47eb279562cb160080e1360168e1b5d1e1341aa1cc543ea2cce8", "ambiguous_patch_ids": ["e4fcc6453104b25ea29d72873517f170"]}, "url": "/docs/compare/?release=12.18#12.18-6e0b346d129d4063", "source_url": "/docs/release/12.18/#id-1.11.6.10.6"}]}, {"id": "16.2-3cc5813373771ed0", "cves": [], "html": "<p>Fix reporting of I/O timing data in <code>EXPLAIN (BUFFERS)</code> (Michael Paquier) <a href=\"https://postgr.es/c/db69101a1\">§</a></p>\n<p>The numbers labeled as <span>“<span>shared/local</span>”</span> actually refer only to shared buffers, so change that label to <span>“<span>shared</span>”</span>.</p>", "text": "Fix reporting of I/O timing data in EXPLAIN (BUFFERS) (Michael Paquier) § The numbers labeled as “shared/local” actually refer only to shared buffers, so change that label to “shared”.", "title": "Fix reporting of I/O timing data in EXPLAIN (BUFFERS)", "commits": ["db69101a1"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "e597357b433711c641855d2d2b495563d51791b7005b14a28e98bce4141e84a4", "section_path": ["Changes"], "commit_groups": [["8dd70828b", "db69101a1"]], "identity_text": "Fix reporting of I/O timing data in EXPLAIN (BUFFERS) (Michael Paquier) The numbers labeled as shared/local actually refer only to shared buffers, so change that label to shared.", "commit_aliases": ["8dd70828b", "db69101a1"], "source_commits": ["db69101a1"], "source_entry_id": "16.2/changes/035", "db_id": "08226d202a917f1d9552d0fb9f0ad0e2", "patch_ids": ["b7cd681c428409e8736be2016f19c81e"], "statement_hash": "b90bf9fd60fd3c523c158b48c3e0cd2ceb6c587003e7e4d252218ffa8273fbb5", "relations": [{"rule": 2, "type": "equivalent", "target": "f15ab53e08594513b51caa9620bf4449", "evidence": {"same_day": true, "patch_ids": ["b7cd681c428409e8736be2016f19c81e"], "statement_hash": "b90bf9fd60fd3c523c158b48c3e0cd2ceb6c587003e7e4d252218ffa8273fbb5"}}], "version": "16.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "f15ab53e08594513b51caa9620bf4449", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Fix reporting of I/O timing data in EXPLAIN (BUFFERS)", "evidence": {"same_day": true, "patch_ids": ["b7cd681c428409e8736be2016f19c81e"], "statement_hash": "b90bf9fd60fd3c523c158b48c3e0cd2ceb6c587003e7e4d252218ffa8273fbb5"}, "url": "/docs/compare/?release=15.6#15.6-1efcbfd8e980f476", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}]}, {"id": "16.2-c14a350204765f54", "cves": [], "html": "<p>Ensure durability of <code>CREATE DATABASE</code> (Noah Misch) <a href=\"https://postgr.es/c/6d423e9ff\">§</a> <a href=\"https://postgr.es/c/48a6bf5c4\">§</a></p>\n<p>If an operating system crash occurred during or shortly after <code>CREATE DATABASE</code>, recovery could fail, or subsequent connections to the new database could fail. If a base backup was taken in that window, similar problems could be observed when trying to use the backup. The symptom would be that the database directory, <code>PG_VERSION</code> file, or <code>pg_filenode.map</code> file was missing or empty.</p>", "text": "Ensure durability of CREATE DATABASE (Noah Misch) § § If an operating system crash occurred during or shortly after CREATE DATABASE, recovery could fail, or subsequent connections to the new database could fail. If a base backup was taken in that window, similar problems could be observed when trying to use the backup. The symptom would be that the database directory, PG_VERSION file, or pg_filenode.map file was missing or empty.", "title": "Ensure durability of CREATE DATABASE", "commits": ["48a6bf5c4", "6d423e9ff"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "72bb4e92c218b813fc1e68170eb93b969d1e36f58d0dac5ee9a24a673b1eb417", "section_path": ["Changes"], "commit_groups": [["0b6517a3b", "48a6bf5c4", "8fa4a1ac6"], ["6d423e9ff", "d493bed28", "df220714e"]], "identity_text": "Ensure durability of CREATE DATABASE (Noah Misch) If an operating system crash occurred during or shortly after CREATE DATABASE, recovery could fail, or subsequent connections to the new database could fail. If a base backup was taken in that window, similar problems could be observed when trying to use the backup. The symptom would be that the database directory, PG_VERSION file, or pg_filenode.map file was missing or empty.", "commit_aliases": ["0b6517a3b", "48a6bf5c4", "6d423e9ff", "8fa4a1ac6", "d493bed28", "df220714e"], "source_commits": ["48a6bf5c4", "6d423e9ff"], "source_entry_id": "16.2/changes/036", "db_id": "0600b9b18b77da7f3f6e989fdf532617", "patch_ids": ["bc065b37938e0f3864e33470e2cc4e9d", "f221104fc5fa335ca10a73e3229c03c0"], "statement_hash": "9b0e2cacbd3ad9d67c5bec3c851f1fca0704072736904dadb2cbbd80a8c274fc", "relations": [{"rule": 2, "type": "equivalent", "target": "d9ac943d7a8bcedba14f48e140835daa", "evidence": {"same_day": true, "patch_ids": ["bc065b37938e0f3864e33470e2cc4e9d", "f221104fc5fa335ca10a73e3229c03c0"], "statement_hash": "9b0e2cacbd3ad9d67c5bec3c851f1fca0704072736904dadb2cbbd80a8c274fc"}}], "version": "16.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "d9ac943d7a8bcedba14f48e140835daa", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Ensure durability of CREATE DATABASE", "evidence": {"same_day": true, "patch_ids": ["bc065b37938e0f3864e33470e2cc4e9d", "f221104fc5fa335ca10a73e3229c03c0"], "statement_hash": "9b0e2cacbd3ad9d67c5bec3c851f1fca0704072736904dadb2cbbd80a8c274fc"}, "url": "/docs/compare/?release=15.6#15.6-ad87be641f81e502", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}]}, {"id": "16.2-d324805180111688", "cves": [], "html": "<p>Add more <code>LOG</code> messages when starting and ending recovery from a backup (Andres Freund) <a href=\"https://postgr.es/c/edbd1b41a\">§</a></p>\n<p>This change provides additional information in the postmaster log that may be useful for diagnosing recovery problems.</p>", "text": "Add more LOG messages when starting and ending recovery from a backup (Andres Freund) § This change provides additional information in the postmaster log that may be useful for diagnosing recovery problems.", "title": "Add more LOG messages when starting and ending recovery from a backup", "commits": ["edbd1b41a"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "ba099188f8350c7bf1fbdadaee610bc0eaa27c9ccd4ff281da91c8ae567092a5", "section_path": ["Changes"], "commit_groups": [["1d35f705e", "8b34cff33", "edbd1b41a"]], "identity_text": "Add more LOG messages when starting and ending recovery from a backup (Andres Freund) This change provides additional information in the postmaster log that may be useful for diagnosing recovery problems.", "commit_aliases": ["1d35f705e", "8b34cff33", "edbd1b41a"], "source_commits": ["edbd1b41a"], "source_entry_id": "16.2/changes/037", "db_id": "9cd394066681d267db871196e7aac9a5", "patch_ids": ["a50efcd5666996dbc2b769e9fc73c42b"], "statement_hash": "fc125fe4957e77365c8b9d6e75a054f541f54eb80bbc54f4190ca7952ede7020", "relations": [{"rule": 2, "type": "related", "target": "081db8f02dd3ff1c924983d249d21687", "evidence": {"same_day": false, "patch_ids": ["a50efcd5666996dbc2b769e9fc73c42b"]}}, {"rule": 2, "type": "equivalent", "target": "d9ceaf3109bc4845b8831721fb3487e2", "evidence": {"same_day": true, "patch_ids": ["a50efcd5666996dbc2b769e9fc73c42b"], "statement_hash": "fc125fe4957e77365c8b9d6e75a054f541f54eb80bbc54f4190ca7952ede7020"}}], "version": "16.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "081db8f02dd3ff1c924983d249d21687", "kind": "related", "version": "17.0", "label": "17.0", "title": "Add log messages related to WAL recovery from backups", "evidence": {"same_day": false, "patch_ids": ["a50efcd5666996dbc2b769e9fc73c42b"]}, "url": "/docs/compare/?release=17.0#17.0-9db6dad3f95e0468", "source_url": "/docs/release/17.0/#RELEASE-17-MONITORING"}, {"db_id": "d9ceaf3109bc4845b8831721fb3487e2", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Add more LOG messages when starting and ending recovery from a backup", "evidence": {"same_day": true, "patch_ids": ["a50efcd5666996dbc2b769e9fc73c42b"], "statement_hash": "fc125fe4957e77365c8b9d6e75a054f541f54eb80bbc54f4190ca7952ede7020"}, "url": "/docs/compare/?release=15.6#15.6-5a8bcf4afae18890", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}]}, {"id": "16.2-59dc6aa13dd6622f", "cves": [], "html": "<p>Prevent standby servers from incorrectly processing dead index tuples during subtransactions (Fei Changhong) <a href=\"https://postgr.es/c/0e2c05af9\">§</a></p>\n<p>The <code>startedInRecovery</code> flag was not correctly set for a subtransaction. This affects only processing of dead index tuples. It could allow a query in a subtransaction to ignore index entries that it should return (if they are already dead on the primary server, but not dead to the standby transaction), or to prematurely mark index entries as dead that are not yet dead on the primary. It is not clear that the latter case has any serious consequences, but it's not the intended behavior.</p>", "text": "Prevent standby servers from incorrectly processing dead index tuples during subtransactions (Fei Changhong) § The startedInRecovery flag was not correctly set for a subtransaction. This affects only processing of dead index tuples. It could allow a query in a subtransaction to ignore index entries that it should return (if they are already dead on the primary server, but not dead to the standby transaction), or to prematurely mark index entries as dead that are not yet dead on the primary. It is not clear that the latter case has any serious consequences, but it's not the intended behavior.", "title": "Prevent standby servers from incorrectly processing dead index tuples during subtransactions", "commits": ["0e2c05af9"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "441c1775a3c83276b2734e0e5e8dc3f86ac8361fc4fc5370eebb66b954dab2b4", "section_path": ["Changes"], "commit_groups": [["0cfd3ddfe", "0e2c05af9", "4d45ecc92", "8a7cbfce1", "d99294e77", "f5d8f59ca"]], "identity_text": "Prevent standby servers from incorrectly processing dead index tuples during subtransactions (Fei Changhong) The startedInRecovery flag was not correctly set for a subtransaction. This affects only processing of dead index tuples. It could allow a query in a subtransaction to ignore index entries that it should return (if they are already dead on the primary server, but not dead to the standby transaction), or to prematurely mark index entries as dead that are not yet dead on the primary. It is not clear that the latter case has any serious consequences, but it's not the intended behavior.", "commit_aliases": ["0cfd3ddfe", "0e2c05af9", "4d45ecc92", "8a7cbfce1", "d99294e77", "f5d8f59ca"], "source_commits": ["0e2c05af9"], "source_entry_id": "16.2/changes/038", "db_id": "643ac4ea8dca981aeeb222e413dfe6be", "patch_ids": ["d8054d0d0f88bcda0a22d2d9c164b76e"], "statement_hash": "916bca202b1433e57348dda0ca4a0c821d2b375b7d9b9e070bb66661212afd25", "relations": [{"rule": 2, "type": "equivalent", "target": "961375cdb7d155a66b947339e8ac3bd9", "evidence": {"same_day": true, "patch_ids": ["d8054d0d0f88bcda0a22d2d9c164b76e"], "statement_hash": "916bca202b1433e57348dda0ca4a0c821d2b375b7d9b9e070bb66661212afd25"}}, {"rule": 2, "type": "equivalent", "target": "b58d324934eab625022f743ff0a8ce31", "evidence": {"same_day": true, "patch_ids": ["d8054d0d0f88bcda0a22d2d9c164b76e"], "statement_hash": "916bca202b1433e57348dda0ca4a0c821d2b375b7d9b9e070bb66661212afd25"}}, {"rule": 2, "type": "equivalent", "target": "cd20f791b54451c43b0fa44ddbef31fd", "evidence": {"same_day": true, "patch_ids": ["d8054d0d0f88bcda0a22d2d9c164b76e"], "statement_hash": "916bca202b1433e57348dda0ca4a0c821d2b375b7d9b9e070bb66661212afd25"}}, {"rule": 2, "type": "equivalent", "target": "e2b30c2391d0185c788ee6352d86b9fb", "evidence": {"same_day": true, "patch_ids": ["d8054d0d0f88bcda0a22d2d9c164b76e"], "statement_hash": "916bca202b1433e57348dda0ca4a0c821d2b375b7d9b9e070bb66661212afd25"}}], "version": "16.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "b58d324934eab625022f743ff0a8ce31", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Prevent standby servers from incorrectly processing dead index tuples during subtransactions", "evidence": {"same_day": true, "patch_ids": ["d8054d0d0f88bcda0a22d2d9c164b76e"], "statement_hash": "916bca202b1433e57348dda0ca4a0c821d2b375b7d9b9e070bb66661212afd25"}, "url": "/docs/compare/?release=15.6#15.6-31cdd3df4b3a9585", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "961375cdb7d155a66b947339e8ac3bd9", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Prevent standby servers from incorrectly processing dead index tuples during subtransactions", "evidence": {"same_day": true, "patch_ids": ["d8054d0d0f88bcda0a22d2d9c164b76e"], "statement_hash": "916bca202b1433e57348dda0ca4a0c821d2b375b7d9b9e070bb66661212afd25"}, "url": "/docs/compare/?release=14.11#14.11-299161cef5078868", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}, {"db_id": "e2b30c2391d0185c788ee6352d86b9fb", "kind": "equivalent", "version": "13.14", "label": "13.14", "title": "Prevent standby servers from incorrectly processing dead index tuples during subtransactions", "evidence": {"same_day": true, "patch_ids": ["d8054d0d0f88bcda0a22d2d9c164b76e"], "statement_hash": "916bca202b1433e57348dda0ca4a0c821d2b375b7d9b9e070bb66661212afd25"}, "url": "/docs/compare/?release=13.14#13.14-da30d33023f44966", "source_url": "/docs/release/13.14/#id-1.11.6.15.5"}, {"db_id": "cd20f791b54451c43b0fa44ddbef31fd", "kind": "equivalent", "version": "12.18", "label": "12.18", "title": "Prevent standby servers from incorrectly processing dead index tuples during subtransactions", "evidence": {"same_day": true, "patch_ids": ["d8054d0d0f88bcda0a22d2d9c164b76e"], "statement_hash": "916bca202b1433e57348dda0ca4a0c821d2b375b7d9b9e070bb66661212afd25"}, "url": "/docs/compare/?release=12.18#12.18-96c4a5d59fffd71e", "source_url": "/docs/release/12.18/#id-1.11.6.10.6"}]}, {"id": "16.2-ae0b4bfd6f58e9b4", "cves": [], "html": "<p>Fix signal handling in walreceiver processes (Heikki Linnakangas) <a href=\"https://postgr.es/c/c5a6d5337\">§</a></p>\n<p>Revert a change that made walreceivers non-responsive to <span>SIGTERM</span> while waiting for the replication connection to be established.</p>", "text": "Fix signal handling in walreceiver processes (Heikki Linnakangas) § Revert a change that made walreceivers non-responsive to SIGTERM while waiting for the replication connection to be established.", "title": "Fix signal handling in walreceiver processes", "commits": ["c5a6d5337"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "cd30254652b80305cedd9e883dc7ad54629be612886b55dfa05cedac04baa3af", "section_path": ["Changes"], "commit_groups": [["21ef4d4d8", "c5a6d5337"]], "identity_text": "Fix signal handling in walreceiver processes (Heikki Linnakangas) Revert a change that made walreceivers non-responsive to SIGTERM while waiting for the replication connection to be established.", "commit_aliases": ["21ef4d4d8", "c5a6d5337"], "source_commits": ["c5a6d5337"], "source_entry_id": "16.2/changes/039", "db_id": "1706bf779ca8c2f0a547a4e5f110c3f6", "patch_ids": ["b72a01f17933c35fc5f5725eda897945"], "statement_hash": "a9bee310b9ebb2b8b6cda4ffcbfbfb0f12b1f1b76f1386cb92f2f9d88a97431d", "relations": [], "version": "16.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": []}, {"id": "16.2-17b126054a243286", "cves": [], "html": "<p>Fix integer overflow hazard in checking whether a record will fit into the WAL decoding buffer (Thomas Munro) <a href=\"https://postgr.es/c/8ca56620c\">§</a></p>\n<p>This bug appears to be only latent except when running a 32-bit <span>PostgreSQL</span> build on a 64-bit platform.</p>", "text": "Fix integer overflow hazard in checking whether a record will fit into the WAL decoding buffer (Thomas Munro) § This bug appears to be only latent except when running a 32-bit PostgreSQL build on a 64-bit platform.", "title": "Fix integer overflow hazard in checking whether a record will fit into the WAL decoding buffer", "commits": ["8ca56620c"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "1a693703dfc962353daec2114a6ead899d5777fcd92b0d157acb13064e2fa2fb", "section_path": ["Changes"], "commit_groups": [["8ca56620c", "b9f687f5a", "cd7f19da3"]], "identity_text": "Fix integer overflow hazard in checking whether a record will fit into the WAL decoding buffer (Thomas Munro) This bug appears to be only latent except when running a 32-bit PostgreSQL build on a 64-bit platform.", "commit_aliases": ["8ca56620c", "b9f687f5a", "cd7f19da3"], "source_commits": ["8ca56620c"], "source_entry_id": "16.2/changes/040", "db_id": "5c775eaea0782d4b1d874f765a602c24", "patch_ids": ["d8d7e067d36aa375510d6e28a4fa7120"], "statement_hash": "abbff4e28689cf7bf64d4c7d1fc334710f9a8ce1290bf45369575651731f0852", "relations": [{"rule": 2, "type": "equivalent", "target": "76f7cd102fcb64e0ef0f4827d21ae135", "evidence": {"same_day": true, "patch_ids": ["d8d7e067d36aa375510d6e28a4fa7120"], "statement_hash": "abbff4e28689cf7bf64d4c7d1fc334710f9a8ce1290bf45369575651731f0852"}}], "version": "16.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "76f7cd102fcb64e0ef0f4827d21ae135", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Fix integer overflow hazard in checking whether a record will fit into the WAL decoding buffer", "evidence": {"same_day": true, "patch_ids": ["d8d7e067d36aa375510d6e28a4fa7120"], "statement_hash": "abbff4e28689cf7bf64d4c7d1fc334710f9a8ce1290bf45369575651731f0852"}, "url": "/docs/compare/?release=15.6#15.6-cd57259af01dd683", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}]}, {"id": "16.2-86d10b7fea7df6c7", "cves": [], "html": "<p>Fix deadlock between a logical replication apply worker, its tablesync worker, and a session process trying to alter the subscription (Shlok Kyal) <a href=\"https://postgr.es/c/01cc92fa6\">§</a></p>\n<p>One edge of the deadlock loop did not involve a lock wait, so the deadlock went undetected and would persist until manual intervention.</p>", "text": "Fix deadlock between a logical replication apply worker, its tablesync worker, and a session process trying to alter the subscription (Shlok Kyal) § One edge of the deadlock loop did not involve a lock wait, so the deadlock went undetected and would persist until manual intervention.", "title": "Fix deadlock between a logical replication apply worker, its tablesync worker, and a session process trying to alter the subscription", "commits": ["01cc92fa6"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "c22895b95b7c5f8749ee1c1abf1be4cc91eeedb88a00246ed32ce9b6b04e05d9", "section_path": ["Changes"], "commit_groups": [["01cc92fa6", "332b43063", "3f86867d5", "8d7d2197f", "b47ea4f3d", "e81e617f3"]], "identity_text": "Fix deadlock between a logical replication apply worker, its tablesync worker, and a session process trying to alter the subscription (Shlok Kyal) One edge of the deadlock loop did not involve a lock wait, so the deadlock went undetected and would persist until manual intervention.", "commit_aliases": ["01cc92fa6", "332b43063", "3f86867d5", "8d7d2197f", "b47ea4f3d", "e81e617f3"], "source_commits": ["01cc92fa6"], "source_entry_id": "16.2/changes/041", "db_id": "2a011962b460c2ba9e7ce01c4df22901", "patch_ids": ["5aa8956856b741064c4dd397b8d86172"], "statement_hash": "9644ae9b670e5855502359ee44deb1d70dbfc5123d7656c777122618dcc47f1f", "relations": [{"rule": 2, "type": "equivalent", "target": "a16b5724c7373619ea8caa35f2b5239a", "evidence": {"same_day": true, "patch_ids": ["5aa8956856b741064c4dd397b8d86172"], "statement_hash": "9644ae9b670e5855502359ee44deb1d70dbfc5123d7656c777122618dcc47f1f"}}, {"rule": 2, "type": "equivalent", "target": "c38912d1c2ceb29d1db3b23aaf238c85", "evidence": {"same_day": true, "patch_ids": ["5aa8956856b741064c4dd397b8d86172"], "statement_hash": "9644ae9b670e5855502359ee44deb1d70dbfc5123d7656c777122618dcc47f1f"}}, {"rule": 2, "type": "equivalent", "target": "ce1b6ec0e1a165e554f641b1ab0be72a", "evidence": {"same_day": true, "patch_ids": ["5aa8956856b741064c4dd397b8d86172"], "statement_hash": "9644ae9b670e5855502359ee44deb1d70dbfc5123d7656c777122618dcc47f1f"}}, {"rule": 2, "type": "equivalent", "target": "fed1930920c400f602fd8c892c9284b9", "evidence": {"same_day": true, "patch_ids": ["5aa8956856b741064c4dd397b8d86172"], "statement_hash": "9644ae9b670e5855502359ee44deb1d70dbfc5123d7656c777122618dcc47f1f"}}], "version": "16.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "a16b5724c7373619ea8caa35f2b5239a", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Fix deadlock between a logical replication apply worker, its tablesync worker, and a session process trying to alter the subscription", "evidence": {"same_day": true, "patch_ids": ["5aa8956856b741064c4dd397b8d86172"], "statement_hash": "9644ae9b670e5855502359ee44deb1d70dbfc5123d7656c777122618dcc47f1f"}, "url": "/docs/compare/?release=15.6#15.6-48a084e107535f56", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "ce1b6ec0e1a165e554f641b1ab0be72a", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Fix deadlock between a logical replication apply worker, its tablesync worker, and a session process trying to alter the subscription", "evidence": {"same_day": true, "patch_ids": ["5aa8956856b741064c4dd397b8d86172"], "statement_hash": "9644ae9b670e5855502359ee44deb1d70dbfc5123d7656c777122618dcc47f1f"}, "url": "/docs/compare/?release=14.11#14.11-2a2c07f7cfda5d98", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}, {"db_id": "fed1930920c400f602fd8c892c9284b9", "kind": "equivalent", "version": "13.14", "label": "13.14", "title": "Fix deadlock between a logical replication apply worker, its tablesync worker, and a session process trying to alter the subscription", "evidence": {"same_day": true, "patch_ids": ["5aa8956856b741064c4dd397b8d86172"], "statement_hash": "9644ae9b670e5855502359ee44deb1d70dbfc5123d7656c777122618dcc47f1f"}, "url": "/docs/compare/?release=13.14#13.14-3f22dc610490e54a", "source_url": "/docs/release/13.14/#id-1.11.6.15.5"}, {"db_id": "c38912d1c2ceb29d1db3b23aaf238c85", "kind": "equivalent", "version": "12.18", "label": "12.18", "title": "Fix deadlock between a logical replication apply worker, its tablesync worker, and a session process trying to alter the subscription", "evidence": {"same_day": true, "patch_ids": ["5aa8956856b741064c4dd397b8d86172"], "statement_hash": "9644ae9b670e5855502359ee44deb1d70dbfc5123d7656c777122618dcc47f1f"}, "url": "/docs/compare/?release=12.18#12.18-4cd8e3d52da44b71", "source_url": "/docs/release/12.18/#id-1.11.6.10.6"}]}, {"id": "16.2-aab8faa68684d1d2", "cves": [], "html": "<p>Ensure that column default values are correctly transmitted by the <span>pgoutput</span> logical replication plugin (Nikhil Benesch) <a href=\"https://postgr.es/c/d7ca9209c\">§</a></p>\n<p><code>ALTER TABLE ADD COLUMN</code> with a constant default value for the new column avoids rewriting existing tuples, instead expecting that reading code will insert the correct default into a tuple that lacks that column. If replication was subsequently initiated on the table, <span>pgoutput</span> would transmit NULL instead of the correct default for such a column, causing incorrect replication on the subscriber.</p>", "text": "Ensure that column default values are correctly transmitted by the pgoutput logical replication plugin (Nikhil Benesch) § ALTER TABLE ADD COLUMN with a constant default value for the new column avoids rewriting existing tuples, instead expecting that reading code will insert the correct default into a tuple that lacks that column. If replication was subsequently initiated on the table, pgoutput would transmit NULL instead of the correct default for such a column, causing incorrect replication on the subscriber.", "title": "Ensure that column default values are correctly transmitted by the pgoutput logical replication plugin", "commits": ["d7ca9209c"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "4edd754aacc4380e4e4dddb1e90381a62d025f6d3ad5c7c8a79f53979e06009a", "section_path": ["Changes"], "commit_groups": [["360392fa2", "a77fb8c68", "d7ca9209c"]], "identity_text": "Ensure that column default values are correctly transmitted by the pgoutput logical replication plugin (Nikhil Benesch) ALTER TABLE ADD COLUMN with a constant default value for the new column avoids rewriting existing tuples, instead expecting that reading code will insert the correct default into a tuple that lacks that column. If replication was subsequently initiated on the table, pgoutput would transmit NULL instead of the correct default for such a column, causing incorrect replication on the subscriber.", "commit_aliases": ["360392fa2", "a77fb8c68", "d7ca9209c"], "source_commits": ["d7ca9209c"], "source_entry_id": "16.2/changes/042", "db_id": "0462df9836ae1164cd02af995893e788", "patch_ids": ["0e4d1567b6ef71efb881a1d05d081545"], "statement_hash": "9c978dc577f402308a4c9d847f0fc4f29572d8e6e3beffcd925c0b5c1b6dd8f5", "relations": [{"rule": 2, "type": "equivalent", "target": "085de1a2f444609e2ca254e582309d76", "evidence": {"same_day": true, "patch_ids": ["0e4d1567b6ef71efb881a1d05d081545"], "statement_hash": "9c978dc577f402308a4c9d847f0fc4f29572d8e6e3beffcd925c0b5c1b6dd8f5"}}], "version": "16.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "085de1a2f444609e2ca254e582309d76", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Ensure that column default values are correctly transmitted by the pgoutput logical replication plugin", "evidence": {"same_day": true, "patch_ids": ["0e4d1567b6ef71efb881a1d05d081545"], "statement_hash": "9c978dc577f402308a4c9d847f0fc4f29572d8e6e3beffcd925c0b5c1b6dd8f5"}, "url": "/docs/compare/?release=15.6#15.6-98b34e8ff9c545ff", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}]}, {"id": "16.2-0615e54b964f4d99", "cves": [], "html": "<p>Fix failure of logical replication's initial sync for a table with no columns (Vignesh C) <a href=\"https://postgr.es/c/1b6da28e0\">§</a></p>\n<p>This case generated an improperly-formatted <code>COPY</code> command.</p>", "text": "Fix failure of logical replication's initial sync for a table with no columns (Vignesh C) § This case generated an improperly-formatted COPY command.", "title": "Fix failure of logical replication's initial sync for a table with no columns", "commits": ["1b6da28e0"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "6ad2d37c3b0935caa2ea0a211a5e10edc8073d7c17eda85378e7cad0025e1cf6", "section_path": ["Changes"], "commit_groups": [["1b6da28e0", "57aae65ae", "eeb0ebad7"]], "identity_text": "Fix failure of logical replication's initial sync for a table with no columns (Vignesh C) This case generated an improperly-formatted COPY command.", "commit_aliases": ["1b6da28e0", "57aae65ae", "eeb0ebad7"], "source_commits": ["1b6da28e0"], "source_entry_id": "16.2/changes/043", "db_id": "f61a5d9749ea89c9cc17794ff6e6862b", "patch_ids": ["360bcd7b0c8d6656f16e6f6cac5fb577"], "statement_hash": "5efac7df2bd63737fbd9c9cbc2cafdebd337e107b3f3a809b60bd17e37ae20ef", "relations": [{"rule": 2, "type": "equivalent", "target": "031b903465b88513f1f83be897a89ba9", "evidence": {"same_day": true, "patch_ids": ["360bcd7b0c8d6656f16e6f6cac5fb577"], "statement_hash": "5efac7df2bd63737fbd9c9cbc2cafdebd337e107b3f3a809b60bd17e37ae20ef"}}], "version": "16.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "031b903465b88513f1f83be897a89ba9", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Fix failure of logical replication's initial sync for a table with no columns", "evidence": {"same_day": true, "patch_ids": ["360bcd7b0c8d6656f16e6f6cac5fb577"], "statement_hash": "5efac7df2bd63737fbd9c9cbc2cafdebd337e107b3f3a809b60bd17e37ae20ef"}, "url": "/docs/compare/?release=15.6#15.6-35c972a171c2f04d", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}]}, {"id": "16.2-d32496e44f4b6cdb", "cves": [], "html": "<p>Re-validate a subscription's connection string before use (Vignesh C) <a href=\"https://postgr.es/c/4c03ac7e2\">§</a> <a href=\"https://postgr.es/c/5b5318c38\">§</a></p>\n<p>This is meant to detect cases where a subscription was created without a password (which is allowed to superusers) but then the subscription owner is changed to a non-superuser.</p>", "text": "Re-validate a subscription's connection string before use (Vignesh C) § § This is meant to detect cases where a subscription was created without a password (which is allowed to superusers) but then the subscription owner is changed to a non-superuser.", "title": "Re-validate a subscription's connection string before use", "commits": ["4c03ac7e2", "5b5318c38"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "8496bdccb378fa00655ceea2fba397026704109c4d56e16613847aef7311b3e5", "section_path": ["Changes"], "commit_groups": [["4c03ac7e2", "5c3166905"], ["5b5318c38", "dd3ca8cbb"]], "identity_text": "Re-validate a subscription's connection string before use (Vignesh C) This is meant to detect cases where a subscription was created without a password (which is allowed to superusers) but then the subscription owner is changed to a non-superuser.", "commit_aliases": ["4c03ac7e2", "5b5318c38", "5c3166905", "dd3ca8cbb"], "source_commits": ["4c03ac7e2", "5b5318c38"], "source_entry_id": "16.2/changes/044", "db_id": "ca9dffdaa8c89726f30b33a3cf93a9b4", "patch_ids": ["206cbe667a3193448d459059e3d5f467", "d17580743c903bc38e10857184e5ffc8"], "statement_hash": "dc877242287cabb88712184284ecd40275ad08d8b7d0439c20e0bf2a2a2b5208", "relations": [], "version": "16.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": []}, {"id": "16.2-bb0f9ba5625071cb", "cves": [], "html": "<p>Return the correct status code when a new client disconnects without responding to the server's password challenge (Liu Lang, Tom Lane) <a href=\"https://postgr.es/c/fb464a1ae\">§</a></p>\n<p>In some cases we'd treat this as a loggable error, which was not the intention and tends to create log spam, since common clients like <span>psql</span> frequently do this. It may also confuse extensions that use <code>ClientAuthentication_hook</code>.</p>", "text": "Return the correct status code when a new client disconnects without responding to the server's password challenge (Liu Lang, Tom Lane) § In some cases we'd treat this as a loggable error, which was not the intention and tends to create log spam, since common clients like psql frequently do this. It may also confuse extensions that use ClientAuthentication_hook.", "title": "Return the correct status code when a new client disconnects without responding to the server's password challenge", "commits": ["fb464a1ae"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "75bacdb99bbbe07281075910341824a5d46abcaaabf9b1418bd7a32d0b69e101", "section_path": ["Changes"], "commit_groups": [["5810888c5", "9b042e27e", "a0d016393", "aaf09c592", "c20f2aab6", "fb464a1ae"]], "identity_text": "Return the correct status code when a new client disconnects without responding to the server's password challenge (Liu Lang, Tom Lane) In some cases we'd treat this as a loggable error, which was not the intention and tends to create log spam, since common clients like psql frequently do this. It may also confuse extensions that use ClientAuthentication_hook.", "commit_aliases": ["5810888c5", "9b042e27e", "a0d016393", "aaf09c592", "c20f2aab6", "fb464a1ae"], "source_commits": ["fb464a1ae"], "source_entry_id": "16.2/changes/045", "db_id": "33fbccb8567dde20cdf813eaa2e4248b", "patch_ids": ["600fcbcda940242cb8d07b72efe79e97"], "statement_hash": "dd6a6a810583727dbdb3901944b520c2d84ccf7e68513457882ccb692a87862d", "relations": [{"rule": 2, "type": "equivalent", "target": "5cf518121904488a1036b2e34fe940c5", "evidence": {"same_day": true, "patch_ids": ["600fcbcda940242cb8d07b72efe79e97"], "statement_hash": "dd6a6a810583727dbdb3901944b520c2d84ccf7e68513457882ccb692a87862d"}}, {"rule": 2, "type": "equivalent", "target": "60e58262460d69efc497e3febbee984c", "evidence": {"same_day": true, "patch_ids": ["600fcbcda940242cb8d07b72efe79e97"], "statement_hash": "dd6a6a810583727dbdb3901944b520c2d84ccf7e68513457882ccb692a87862d"}}, {"rule": 2, "type": "equivalent", "target": "a76f6c33750d5e4102f0d752d98e06bd", "evidence": {"same_day": true, "patch_ids": ["600fcbcda940242cb8d07b72efe79e97"], "statement_hash": "dd6a6a810583727dbdb3901944b520c2d84ccf7e68513457882ccb692a87862d"}}, {"rule": 2, "type": "equivalent", "target": "fb5a68741b6be3d251b7acab87a5294d", "evidence": {"same_day": true, "patch_ids": ["600fcbcda940242cb8d07b72efe79e97"], "statement_hash": "dd6a6a810583727dbdb3901944b520c2d84ccf7e68513457882ccb692a87862d"}}], "version": "16.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "fb5a68741b6be3d251b7acab87a5294d", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Return the correct status code when a new client disconnects without responding to the server's password challenge", "evidence": {"same_day": true, "patch_ids": ["600fcbcda940242cb8d07b72efe79e97"], "statement_hash": "dd6a6a810583727dbdb3901944b520c2d84ccf7e68513457882ccb692a87862d"}, "url": "/docs/compare/?release=15.6#15.6-5e8c6bbee0808fca", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "60e58262460d69efc497e3febbee984c", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Return the correct status code when a new client disconnects without responding to the server's password challenge", "evidence": {"same_day": true, "patch_ids": ["600fcbcda940242cb8d07b72efe79e97"], "statement_hash": "dd6a6a810583727dbdb3901944b520c2d84ccf7e68513457882ccb692a87862d"}, "url": "/docs/compare/?release=14.11#14.11-3d419ee2f4ec59f9", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}, {"db_id": "a76f6c33750d5e4102f0d752d98e06bd", "kind": "equivalent", "version": "13.14", "label": "13.14", "title": "Return the correct status code when a new client disconnects without responding to the server's password challenge", "evidence": {"same_day": true, "patch_ids": ["600fcbcda940242cb8d07b72efe79e97"], "statement_hash": "dd6a6a810583727dbdb3901944b520c2d84ccf7e68513457882ccb692a87862d"}, "url": "/docs/compare/?release=13.14#13.14-8051e06c3258cadd", "source_url": "/docs/release/13.14/#id-1.11.6.15.5"}, {"db_id": "5cf518121904488a1036b2e34fe940c5", "kind": "equivalent", "version": "12.18", "label": "12.18", "title": "Return the correct status code when a new client disconnects without responding to the server's password challenge", "evidence": {"same_day": true, "patch_ids": ["600fcbcda940242cb8d07b72efe79e97"], "statement_hash": "dd6a6a810583727dbdb3901944b520c2d84ccf7e68513457882ccb692a87862d"}, "url": "/docs/compare/?release=12.18#12.18-de446b52ea4fe9f3", "source_url": "/docs/release/12.18/#id-1.11.6.10.6"}]}, {"id": "16.2-ee528136ff09b5e4", "cves": [], "html": "<p>Fix incompatibility with <span>OpenSSL</span> 3.2 (Tristan Partin, Bo Andreson) <a href=\"https://postgr.es/c/efa8f6064\">§</a></p>\n<p>Use the BIO <span>“<span>app_data</span>”</span> field for our private storage, instead of assuming it's okay to use the <span>“<span>data</span>”</span> field. This mistake didn't cause problems before, but with 3.2 it leads to crashes and complaints about double frees.</p>", "text": "Fix incompatibility with OpenSSL 3.2 (Tristan Partin, Bo Andreson) § Use the BIO “app_data” field for our private storage, instead of assuming it's okay to use the “data” field. This mistake didn't cause problems before, but with 3.2 it leads to crashes and complaints about double frees.", "title": "Fix incompatibility with OpenSSL 3.2", "commits": ["efa8f6064"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "451217e58ea9fe95200ac362bb5e6adc0a3a54649ec2d5b7229087926ad356a7", "section_path": ["Changes"], "commit_groups": [["0bd682246", "5dd30bb54", "b2b1f1288", "c82207a54", "efa8f6064", "efb804682"]], "identity_text": "Fix incompatibility with OpenSSL 3.2 (Tristan Partin, Bo Andreson) Use the BIO app_data field for our private storage, instead of assuming it's okay to use the data field. This mistake didn't cause problems before, but with 3.2 it leads to crashes and complaints about double frees.", "commit_aliases": ["0bd682246", "5dd30bb54", "b2b1f1288", "c82207a54", "efa8f6064", "efb804682"], "source_commits": ["efa8f6064"], "source_entry_id": "16.2/changes/046", "db_id": "c6175c8583bad1e59d4bb8fc14f711c1", "patch_ids": ["328af78cb482a331443286ce33c08610"], "statement_hash": "656abe98066ffff1bdf4db5407c4228dfb200c39542c14526553d63fbadd2822", "relations": [{"rule": 2, "type": "equivalent", "target": "10899645f953979ed38c090627cf12b1", "evidence": {"same_day": true, "patch_ids": ["328af78cb482a331443286ce33c08610"], "statement_hash": "656abe98066ffff1bdf4db5407c4228dfb200c39542c14526553d63fbadd2822"}}, {"rule": 2, "type": "equivalent", "target": "28737f413863cd4983759979f7d59a6a", "evidence": {"same_day": true, "patch_ids": ["328af78cb482a331443286ce33c08610"], "statement_hash": "656abe98066ffff1bdf4db5407c4228dfb200c39542c14526553d63fbadd2822"}}, {"rule": 2, "type": "equivalent", "target": "5b1578fd1e16d620c13d42b9a134fbd5", "evidence": {"same_day": true, "patch_ids": ["328af78cb482a331443286ce33c08610"], "statement_hash": "656abe98066ffff1bdf4db5407c4228dfb200c39542c14526553d63fbadd2822"}}, {"rule": 2, "type": "equivalent", "target": "f1025ad6e278e9daa4b80572ad09348d", "evidence": {"same_day": true, "patch_ids": ["328af78cb482a331443286ce33c08610"], "statement_hash": "656abe98066ffff1bdf4db5407c4228dfb200c39542c14526553d63fbadd2822"}}], "version": "16.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "10899645f953979ed38c090627cf12b1", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Fix incompatibility with OpenSSL 3.2", "evidence": {"same_day": true, "patch_ids": ["328af78cb482a331443286ce33c08610"], "statement_hash": "656abe98066ffff1bdf4db5407c4228dfb200c39542c14526553d63fbadd2822"}, "url": "/docs/compare/?release=15.6#15.6-297f1bf9fc592bbb", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "5b1578fd1e16d620c13d42b9a134fbd5", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Fix incompatibility with OpenSSL 3.2", "evidence": {"same_day": true, "patch_ids": ["328af78cb482a331443286ce33c08610"], "statement_hash": "656abe98066ffff1bdf4db5407c4228dfb200c39542c14526553d63fbadd2822"}, "url": "/docs/compare/?release=14.11#14.11-3333b88f7c26e326", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}, {"db_id": "28737f413863cd4983759979f7d59a6a", "kind": "equivalent", "version": "13.14", "label": "13.14", "title": "Fix incompatibility with OpenSSL 3.2", "evidence": {"same_day": true, "patch_ids": ["328af78cb482a331443286ce33c08610"], "statement_hash": "656abe98066ffff1bdf4db5407c4228dfb200c39542c14526553d63fbadd2822"}, "url": "/docs/compare/?release=13.14#13.14-9cb54a2eb67835df", "source_url": "/docs/release/13.14/#id-1.11.6.15.5"}, {"db_id": "f1025ad6e278e9daa4b80572ad09348d", "kind": "equivalent", "version": "12.18", "label": "12.18", "title": "Fix incompatibility with OpenSSL 3.2", "evidence": {"same_day": true, "patch_ids": ["328af78cb482a331443286ce33c08610"], "statement_hash": "656abe98066ffff1bdf4db5407c4228dfb200c39542c14526553d63fbadd2822"}, "url": "/docs/compare/?release=12.18#12.18-0615c0d27eeefd45", "source_url": "/docs/release/12.18/#id-1.11.6.10.6"}]}, {"id": "16.2-a041a277f7f9ff3e", "cves": [], "html": "<p>Be more wary about <span>OpenSSL</span> not setting <code>errno</code> on error (Tom Lane) <a href=\"https://postgr.es/c/ebbd499d4\">§</a></p>\n<p>If <code>errno</code> isn't set, assume the cause of the reported failure is read EOF. This fixes rare cases of strange error reports like <span>“<span>could not accept SSL connection: Success</span>”</span>.</p>", "text": "Be more wary about OpenSSL not setting errno on error (Tom Lane) § If errno isn't set, assume the cause of the reported failure is read EOF. This fixes rare cases of strange error reports like “could not accept SSL connection: Success”.", "title": "Be more wary about OpenSSL not setting errno on error", "commits": ["ebbd499d4"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "a949d40655d64e5db69908a7d9439fb155dd5e9d33a70c33ce5253baed57e509", "section_path": ["Changes"], "commit_groups": [["07ce24326", "0a5c46a7a", "271d24f31", "551d4b28e", "87b46ad90", "ebbd499d4"]], "identity_text": "Be more wary about OpenSSL not setting errno on error (Tom Lane) If errno isn't set, assume the cause of the reported failure is read EOF. This fixes rare cases of strange error reports like could not accept SSL connection: Success.", "commit_aliases": ["07ce24326", "0a5c46a7a", "271d24f31", "551d4b28e", "87b46ad90", "ebbd499d4"], "source_commits": ["ebbd499d4"], "source_entry_id": "16.2/changes/047", "db_id": "8782a0c0fcd5cafe4d742791bcd3f1a2", "patch_ids": ["6953425a2eea7ac6a84cd756ce018c20"], "statement_hash": "142b60a1651d51549066bc5185eb65aa2405b3132a6ba713c52373d399121598", "relations": [{"rule": 2, "type": "equivalent", "target": "0de405b5c63b3a733340c6841dcf22e7", "evidence": {"same_day": true, "patch_ids": ["6953425a2eea7ac6a84cd756ce018c20"], "statement_hash": "142b60a1651d51549066bc5185eb65aa2405b3132a6ba713c52373d399121598"}}, {"rule": 2, "type": "equivalent", "target": "1dfca4b39e12431aa4c5699122612283", "evidence": {"same_day": true, "patch_ids": ["6953425a2eea7ac6a84cd756ce018c20"], "statement_hash": "142b60a1651d51549066bc5185eb65aa2405b3132a6ba713c52373d399121598"}}, {"rule": 2, "type": "equivalent", "target": "3c6a174cd2fc223e4c2c3cc5482fa7bb", "evidence": {"same_day": true, "patch_ids": ["6953425a2eea7ac6a84cd756ce018c20"], "statement_hash": "142b60a1651d51549066bc5185eb65aa2405b3132a6ba713c52373d399121598"}}, {"rule": 2, "type": "equivalent", "target": "e0758f0fbda71a97e2ca58da6b506b83", "evidence": {"same_day": true, "patch_ids": ["6953425a2eea7ac6a84cd756ce018c20"], "statement_hash": "142b60a1651d51549066bc5185eb65aa2405b3132a6ba713c52373d399121598"}}], "version": "16.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "e0758f0fbda71a97e2ca58da6b506b83", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Be more wary about OpenSSL not setting errno on error", "evidence": {"same_day": true, "patch_ids": ["6953425a2eea7ac6a84cd756ce018c20"], "statement_hash": "142b60a1651d51549066bc5185eb65aa2405b3132a6ba713c52373d399121598"}, "url": "/docs/compare/?release=15.6#15.6-a42d9aca1f0d71fb", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "1dfca4b39e12431aa4c5699122612283", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Be more wary about OpenSSL not setting errno on error", "evidence": {"same_day": true, "patch_ids": ["6953425a2eea7ac6a84cd756ce018c20"], "statement_hash": "142b60a1651d51549066bc5185eb65aa2405b3132a6ba713c52373d399121598"}, "url": "/docs/compare/?release=14.11#14.11-0dea5424443cf80d", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}, {"db_id": "3c6a174cd2fc223e4c2c3cc5482fa7bb", "kind": "equivalent", "version": "13.14", "label": "13.14", "title": "Be more wary about OpenSSL not setting errno on error", "evidence": {"same_day": true, "patch_ids": ["6953425a2eea7ac6a84cd756ce018c20"], "statement_hash": "142b60a1651d51549066bc5185eb65aa2405b3132a6ba713c52373d399121598"}, "url": "/docs/compare/?release=13.14#13.14-09dfe84dec6cece6", "source_url": "/docs/release/13.14/#id-1.11.6.15.5"}, {"db_id": "0de405b5c63b3a733340c6841dcf22e7", "kind": "equivalent", "version": "12.18", "label": "12.18", "title": "Be more wary about OpenSSL not setting errno on error", "evidence": {"same_day": true, "patch_ids": ["6953425a2eea7ac6a84cd756ce018c20"], "statement_hash": "142b60a1651d51549066bc5185eb65aa2405b3132a6ba713c52373d399121598"}, "url": "/docs/compare/?release=12.18#12.18-1d79ae9588ceab26", "source_url": "/docs/release/12.18/#id-1.11.6.10.6"}]}, {"id": "16.2-90dd1f4784150aee", "cves": [], "html": "<p>Fix file descriptor leakage when a foreign data wrapper's <code>ForeignAsyncRequest</code> function fails (Heikki Linnakangas) <a href=\"https://postgr.es/c/501cfd07d\">§</a></p>", "text": "Fix file descriptor leakage when a foreign data wrapper's ForeignAsyncRequest function fails (Heikki Linnakangas) §", "title": "Fix file descriptor leakage when a foreign data wrapper's ForeignAsyncRequest function fails", "commits": ["501cfd07d"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "d66b9b7bc588c65390fa59dc542455f1ee79182eed6e7dac1eb343d9b463ccde", "section_path": ["Changes"], "commit_groups": [["481d7d1c0", "501cfd07d", "555276f85"]], "identity_text": "Fix file descriptor leakage when a foreign data wrapper's ForeignAsyncRequest function fails (Heikki Linnakangas)", "commit_aliases": ["481d7d1c0", "501cfd07d", "555276f85"], "source_commits": ["501cfd07d"], "source_entry_id": "16.2/changes/048", "db_id": "abab8b4ee8e0c786b90d6233b2266e45", "patch_ids": ["5ae7a33def33628c59e90da0fe0849a5"], "statement_hash": "5ac2abc6fd1f7a97ea4808b20c6be5c23735a7a9f3e47de498b6f0b109d68a07", "relations": [{"rule": 2, "type": "equivalent", "target": "5e6122a0e0303d0aa03b4770c84a0936", "evidence": {"same_day": true, "patch_ids": ["5ae7a33def33628c59e90da0fe0849a5"], "statement_hash": "5ac2abc6fd1f7a97ea4808b20c6be5c23735a7a9f3e47de498b6f0b109d68a07"}}, {"rule": 2, "type": "equivalent", "target": "8c1f436e76b3e60e5e733e473d7c24eb", "evidence": {"same_day": true, "patch_ids": ["5ae7a33def33628c59e90da0fe0849a5"], "statement_hash": "5ac2abc6fd1f7a97ea4808b20c6be5c23735a7a9f3e47de498b6f0b109d68a07"}}], "version": "16.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "8c1f436e76b3e60e5e733e473d7c24eb", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Fix file descriptor leakage when a foreign data wrapper's ForeignAsyncRequest function fails", "evidence": {"same_day": true, "patch_ids": ["5ae7a33def33628c59e90da0fe0849a5"], "statement_hash": "5ac2abc6fd1f7a97ea4808b20c6be5c23735a7a9f3e47de498b6f0b109d68a07"}, "url": "/docs/compare/?release=15.6#15.6-030039be627bf1c9", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "5e6122a0e0303d0aa03b4770c84a0936", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Fix file descriptor leakage when a foreign data wrapper's ForeignAsyncRequest function fails", "evidence": {"same_day": true, "patch_ids": ["5ae7a33def33628c59e90da0fe0849a5"], "statement_hash": "5ac2abc6fd1f7a97ea4808b20c6be5c23735a7a9f3e47de498b6f0b109d68a07"}, "url": "/docs/compare/?release=14.11#14.11-0b77301930c0008d", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}]}, {"id": "16.2-d4080fe2d23dd7be", "cves": [], "html": "<p>Fix minor memory leak in connection string validation for <code>CREATE SUBSCRIPTION</code> (Jeff Davis) <a href=\"https://postgr.es/c/41820e640\">§</a></p>", "text": "Fix minor memory leak in connection string validation for CREATE SUBSCRIPTION (Jeff Davis) §", "title": "Fix minor memory leak in connection string validation for CREATE SUBSCRIPTION", "commits": ["41820e640"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "373ef3afd691a65cc1338bc731f0bce5d89e544978e69fb2ed17813debdaecc7", "section_path": ["Changes"], "commit_groups": [["41820e640", "45da69371"]], "identity_text": "Fix minor memory leak in connection string validation for CREATE SUBSCRIPTION (Jeff Davis)", "commit_aliases": ["41820e640", "45da69371"], "source_commits": ["41820e640"], "source_entry_id": "16.2/changes/049", "db_id": "bbdb303057d532b1429b960e31336f82", "patch_ids": ["5c037c2e8cf837ebcf0686bba97987b8"], "statement_hash": "70922d0fee36214f5855bd7fd1db0e82507b22c8da2dc3741196f9ac6a038b9c", "relations": [], "version": "16.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": []}, {"id": "16.2-3adf2cfa4d0122a0", "cves": [], "html": "<p>Report <span>ENOMEM</span> errors from file-related system calls as <code>ERRCODE_OUT_OF_MEMORY</code>, not <code>ERRCODE_INTERNAL_ERROR</code> (Alexander Kuzmenkov) <a href=\"https://postgr.es/c/a15378100\">§</a></p>", "text": "Report ENOMEM errors from file-related system calls as ERRCODE_OUT_OF_MEMORY, not ERRCODE_INTERNAL_ERROR (Alexander Kuzmenkov) §", "title": "Report ENOMEM errors from file-related system calls as ERRCODE_OUT_OF_MEMORY, not ERRCODE_INTERNAL_ERROR", "commits": ["a15378100"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "51a52db484a33b27dce45a3e3bdc51d8a348d5578e74ab8e4f466f51da2021c6", "section_path": ["Changes"], "commit_groups": [["29df29dad", "329b96882", "3766b8b64", "4493bfb70", "a15378100", "e4e63cd98"]], "identity_text": "Report ENOMEM errors from file-related system calls as ERRCODE_OUT_OF_MEMORY, not ERRCODE_INTERNAL_ERROR (Alexander Kuzmenkov)", "commit_aliases": ["29df29dad", "329b96882", "3766b8b64", "4493bfb70", "a15378100", "e4e63cd98"], "source_commits": ["a15378100"], "source_entry_id": "16.2/changes/050", "db_id": "b1439968b24ab8133db23604b012cdab", "patch_ids": ["f611e3eb84cbec92661c9597a375b4b5"], "statement_hash": "4171bab64e20886662592f4aad293d6f821b3eef377f0d50613431ecc81dc8c7", "relations": [{"rule": 2, "type": "equivalent", "target": "19b2e20fa5218c5a6d99697ef2e95695", "evidence": {"same_day": true, "patch_ids": ["f611e3eb84cbec92661c9597a375b4b5"], "statement_hash": "4171bab64e20886662592f4aad293d6f821b3eef377f0d50613431ecc81dc8c7"}}, {"rule": 2, "type": "equivalent", "target": "538b243e9d7cc07264ad0c8d83bb1fb2", "evidence": {"same_day": true, "patch_ids": ["f611e3eb84cbec92661c9597a375b4b5"], "statement_hash": "4171bab64e20886662592f4aad293d6f821b3eef377f0d50613431ecc81dc8c7"}}, {"rule": 2, "type": "equivalent", "target": "ba3e89b7c0673f1ee6510b2faea72e6e", "evidence": {"same_day": true, "patch_ids": ["f611e3eb84cbec92661c9597a375b4b5"], "statement_hash": "4171bab64e20886662592f4aad293d6f821b3eef377f0d50613431ecc81dc8c7"}}, {"rule": 2, "type": "equivalent", "target": "fb1e7b7167a7374d5d30c2fd0a4ed096", "evidence": {"same_day": true, "patch_ids": ["f611e3eb84cbec92661c9597a375b4b5"], "statement_hash": "4171bab64e20886662592f4aad293d6f821b3eef377f0d50613431ecc81dc8c7"}}], "version": "16.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "19b2e20fa5218c5a6d99697ef2e95695", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Report ENOMEM errors from file-related system calls as ERRCODE_OUT_OF_MEMORY, not ERRCODE_INTERNAL_ERROR", "evidence": {"same_day": true, "patch_ids": ["f611e3eb84cbec92661c9597a375b4b5"], "statement_hash": "4171bab64e20886662592f4aad293d6f821b3eef377f0d50613431ecc81dc8c7"}, "url": "/docs/compare/?release=15.6#15.6-c0636dcdda44c3f5", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "fb1e7b7167a7374d5d30c2fd0a4ed096", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Report ENOMEM errors from file-related system calls as ERRCODE_OUT_OF_MEMORY, not ERRCODE_INTERNAL_ERROR", "evidence": {"same_day": true, "patch_ids": ["f611e3eb84cbec92661c9597a375b4b5"], "statement_hash": "4171bab64e20886662592f4aad293d6f821b3eef377f0d50613431ecc81dc8c7"}, "url": "/docs/compare/?release=14.11#14.11-08f8aa283cbbd9ca", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}, {"db_id": "538b243e9d7cc07264ad0c8d83bb1fb2", "kind": "equivalent", "version": "13.14", "label": "13.14", "title": "Report ENOMEM errors from file-related system calls as ERRCODE_OUT_OF_MEMORY, not ERRCODE_INTERNAL_ERROR", "evidence": {"same_day": true, "patch_ids": ["f611e3eb84cbec92661c9597a375b4b5"], "statement_hash": "4171bab64e20886662592f4aad293d6f821b3eef377f0d50613431ecc81dc8c7"}, "url": "/docs/compare/?release=13.14#13.14-071efdcc752f6080", "source_url": "/docs/release/13.14/#id-1.11.6.15.5"}, {"db_id": "ba3e89b7c0673f1ee6510b2faea72e6e", "kind": "equivalent", "version": "12.18", "label": "12.18", "title": "Report ENOMEM errors from file-related system calls as ERRCODE_OUT_OF_MEMORY, not ERRCODE_INTERNAL_ERROR", "evidence": {"same_day": true, "patch_ids": ["f611e3eb84cbec92661c9597a375b4b5"], "statement_hash": "4171bab64e20886662592f4aad293d6f821b3eef377f0d50613431ecc81dc8c7"}, "url": "/docs/compare/?release=12.18#12.18-7f9aa4a1fdac32af", "source_url": "/docs/release/12.18/#id-1.11.6.10.6"}]}, {"id": "16.2-f248f2124b74198e", "cves": [], "html": "<p>In <span>PL/pgSQL</span>, support SQL commands that are <code>CREATE FUNCTION</code>/<code>CREATE PROCEDURE</code> with SQL-standard bodies (Tom Lane) <a href=\"https://postgr.es/c/00f941356\">§</a></p>\n<p>Previously, such cases failed with parsing errors due to the semicolon(s) appearing in the function body.</p>", "text": "In PL/pgSQL, support SQL commands that are CREATE FUNCTION/CREATE PROCEDURE with SQL-standard bodies (Tom Lane) § Previously, such cases failed with parsing errors due to the semicolon(s) appearing in the function body.", "title": "In PL/pgSQL, support SQL commands that are CREATE FUNCTION/CREATE PROCEDURE with SQL-standard bodies", "commits": ["00f941356"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "b7aa0229369d4f4df027ab64ea6c69372db7379033bd7d0d2fc7d5cf3f827a3a", "section_path": ["Changes"], "commit_groups": [["00f941356", "57b440ec1", "b7e8f27d1", "de2d393a8"]], "identity_text": "In PL/pgSQL, support SQL commands that are CREATE FUNCTION/CREATE PROCEDURE with SQL-standard bodies (Tom Lane) Previously, such cases failed with parsing errors due to the semicolon(s) appearing in the function body.", "commit_aliases": ["00f941356", "57b440ec1", "b7e8f27d1", "de2d393a8"], "source_commits": ["00f941356"], "source_entry_id": "16.2/changes/051", "db_id": "241793796a88e9d5acb7324979611ecc", "patch_ids": ["4e2d77d8fccb5f490fab7588ecfba026"], "statement_hash": "19f8f1339b6ccce81f7f136af228fc4e75eface20936e1ce24a32281866579a6", "relations": [{"rule": 2, "type": "equivalent", "target": "28ab47a378973898906c6bbb3f71a73e", "evidence": {"same_day": true, "patch_ids": ["4e2d77d8fccb5f490fab7588ecfba026"], "statement_hash": "19f8f1339b6ccce81f7f136af228fc4e75eface20936e1ce24a32281866579a6"}}, {"rule": 2, "type": "equivalent", "target": "8f5f688e3de93c0b866a00ec5280ae79", "evidence": {"same_day": true, "patch_ids": ["4e2d77d8fccb5f490fab7588ecfba026"], "statement_hash": "19f8f1339b6ccce81f7f136af228fc4e75eface20936e1ce24a32281866579a6"}}], "version": "16.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "8f5f688e3de93c0b866a00ec5280ae79", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "In PL/pgSQL, support SQL commands that are CREATE FUNCTION/CREATE PROCEDURE with SQL-standard bodies", "evidence": {"same_day": true, "patch_ids": ["4e2d77d8fccb5f490fab7588ecfba026"], "statement_hash": "19f8f1339b6ccce81f7f136af228fc4e75eface20936e1ce24a32281866579a6"}, "url": "/docs/compare/?release=15.6#15.6-3972a58b1b22224b", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "28ab47a378973898906c6bbb3f71a73e", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "In PL/pgSQL, support SQL commands that are CREATE FUNCTION/CREATE PROCEDURE with SQL-standard bodies", "evidence": {"same_day": true, "patch_ids": ["4e2d77d8fccb5f490fab7588ecfba026"], "statement_hash": "19f8f1339b6ccce81f7f136af228fc4e75eface20936e1ce24a32281866579a6"}, "url": "/docs/compare/?release=14.11#14.11-7e07b5be0c57ecf5", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}]}, {"id": "16.2-65c145ab3d40beb5", "cves": [], "html": "<p>Fix <span>libpq</span>'s handling of errors in pipelines (Álvaro Herrera) <a href=\"https://postgr.es/c/878aa41f8\">§</a> <a href=\"https://postgr.es/c/39aab1108\">§</a></p>\n<p>The pipeline state could get out of sync if an error is returned for reasons other than a query problem (for example, if the connection is lost). Potentially this would lead to a busy-loop in the calling application.</p>", "text": "Fix libpq's handling of errors in pipelines (Álvaro Herrera) § § The pipeline state could get out of sync if an error is returned for reasons other than a query problem (for example, if the connection is lost). Potentially this would lead to a busy-loop in the calling application.", "title": "Fix libpq's handling of errors in pipelines", "commits": ["39aab1108", "878aa41f8"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "364ef505bfe90c238d6bc85a11e7a65f4b52dc783ef6b6007d725e334f86fd66", "section_path": ["Changes"], "commit_groups": [["1171c6e74", "878aa41f8", "b8ba7344e", "f89681816"], ["2b656cbd2", "39aab1108", "7a7c8c98a", "c6605c1bd"]], "identity_text": "Fix libpq's handling of errors in pipelines (Álvaro Herrera) The pipeline state could get out of sync if an error is returned for reasons other than a query problem (for example, if the connection is lost). Potentially this would lead to a busy-loop in the calling application.", "commit_aliases": ["1171c6e74", "2b656cbd2", "39aab1108", "7a7c8c98a", "878aa41f8", "b8ba7344e", "c6605c1bd", "f89681816"], "source_commits": ["39aab1108", "878aa41f8"], "source_entry_id": "16.2/changes/052", "db_id": "fde5ec6c5f03851da77b86511892f699", "patch_ids": ["c7e1c6c364c7268e98adf207888e84c4", "deccbe885e235f68b1ddecbd9287c961"], "statement_hash": "6a46288632cb9f38c6b91bdc520c17c212b0c851be375b48185d4c590e263c4b", "relations": [{"rule": 2, "type": "equivalent", "target": "22ff048da37a02f19da8bf04eedfb061", "evidence": {"same_day": true, "patch_ids": ["c7e1c6c364c7268e98adf207888e84c4", "deccbe885e235f68b1ddecbd9287c961"], "statement_hash": "6a46288632cb9f38c6b91bdc520c17c212b0c851be375b48185d4c590e263c4b"}}, {"rule": 2, "type": "equivalent", "target": "913e7113740498d6890012a1d1a0a3de", "evidence": {"same_day": true, "patch_ids": ["c7e1c6c364c7268e98adf207888e84c4", "deccbe885e235f68b1ddecbd9287c961"], "statement_hash": "6a46288632cb9f38c6b91bdc520c17c212b0c851be375b48185d4c590e263c4b"}}], "version": "16.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "22ff048da37a02f19da8bf04eedfb061", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Fix libpq's handling of errors in pipelines", "evidence": {"same_day": true, "patch_ids": ["c7e1c6c364c7268e98adf207888e84c4", "deccbe885e235f68b1ddecbd9287c961"], "statement_hash": "6a46288632cb9f38c6b91bdc520c17c212b0c851be375b48185d4c590e263c4b"}, "url": "/docs/compare/?release=15.6#15.6-78793248f5874f6b", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "913e7113740498d6890012a1d1a0a3de", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Fix libpq's handling of errors in pipelines", "evidence": {"same_day": true, "patch_ids": ["c7e1c6c364c7268e98adf207888e84c4", "deccbe885e235f68b1ddecbd9287c961"], "statement_hash": "6a46288632cb9f38c6b91bdc520c17c212b0c851be375b48185d4c590e263c4b"}, "url": "/docs/compare/?release=14.11#14.11-70bd00d580efa935", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}]}, {"id": "16.2-c7a2605e51ffbfa6", "cves": [], "html": "<p>Make <span>libpq</span>'s <code>PQsendFlushRequest()</code> function flush the client output buffer under the same rules as other <code>PQsend</code> functions (Jelte Fennema-Nio) <a href=\"https://postgr.es/c/42f832685\">§</a></p>\n<p>In pipeline mode, it may still be necessary to call <code>PQflush()</code> as well; but this change removes some inconsistency.</p>", "text": "Make libpq's PQsendFlushRequest() function flush the client output buffer under the same rules as other PQsend functions (Jelte Fennema-Nio) § In pipeline mode, it may still be necessary to call PQflush() as well; but this change removes some inconsistency.", "title": "Make libpq's PQsendFlushRequest() function flush the client output buffer under the same rules as other PQsend functions", "commits": ["42f832685"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "00ecc4b8fb1aa881f1a12ba53ebf5938dbdca769e4f20fd4581f7b1a85c6fef5", "section_path": ["Changes"], "commit_groups": [["0e28091d5", "1a5594b95", "42f832685", "99fa98766"]], "identity_text": "Make libpq's PQsendFlushRequest() function flush the client output buffer under the same rules as other PQsend functions (Jelte Fennema-Nio) In pipeline mode, it may still be necessary to call PQflush() as well; but this change removes some inconsistency.", "commit_aliases": ["0e28091d5", "1a5594b95", "42f832685", "99fa98766"], "source_commits": ["42f832685"], "source_entry_id": "16.2/changes/053", "db_id": "589959955da12b0bf8fbacfa83ad2c00", "patch_ids": ["5e981c205ea144c50dd6b6bc37d4ae79"], "statement_hash": "480223a6b647c6d91a295b7a38cfeddf6cc7eada1e92bbcd47b2d8a51c4a40bf", "relations": [{"rule": 2, "type": "equivalent", "target": "b73b5f2e92253df66c8059a8ba1ff869", "evidence": {"same_day": true, "patch_ids": ["5e981c205ea144c50dd6b6bc37d4ae79"], "statement_hash": "480223a6b647c6d91a295b7a38cfeddf6cc7eada1e92bbcd47b2d8a51c4a40bf"}}, {"rule": 2, "type": "equivalent", "target": "f406b37dbbc0fa4a0674fd76e1b87262", "evidence": {"same_day": true, "patch_ids": ["5e981c205ea144c50dd6b6bc37d4ae79"], "statement_hash": "480223a6b647c6d91a295b7a38cfeddf6cc7eada1e92bbcd47b2d8a51c4a40bf"}}], "version": "16.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "b73b5f2e92253df66c8059a8ba1ff869", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Make libpq's PQsendFlushRequest() function flush the client output buffer under the same rules as other PQsend functions", "evidence": {"same_day": true, "patch_ids": ["5e981c205ea144c50dd6b6bc37d4ae79"], "statement_hash": "480223a6b647c6d91a295b7a38cfeddf6cc7eada1e92bbcd47b2d8a51c4a40bf"}, "url": "/docs/compare/?release=15.6#15.6-1774be8063f76e4c", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "f406b37dbbc0fa4a0674fd76e1b87262", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Make libpq's PQsendFlushRequest() function flush the client output buffer under the same rules as other PQsend functions", "evidence": {"same_day": true, "patch_ids": ["5e981c205ea144c50dd6b6bc37d4ae79"], "statement_hash": "480223a6b647c6d91a295b7a38cfeddf6cc7eada1e92bbcd47b2d8a51c4a40bf"}, "url": "/docs/compare/?release=14.11#14.11-1d2e577f8e981aa3", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}]}, {"id": "16.2-827568cbe1530108", "cves": [], "html": "<p>Avoid race condition when <span>libpq</span> initializes OpenSSL support concurrently in two different threads (Willi Mann, Michael Paquier) <a href=\"https://postgr.es/c/8984480b5\">§</a></p>", "text": "Avoid race condition when libpq initializes OpenSSL support concurrently in two different threads (Willi Mann, Michael Paquier) §", "title": "Avoid race condition when libpq initializes OpenSSL support concurrently in two different threads", "commits": ["8984480b5"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "f027f2024bad4d1c78bf7fc6d41325160c06d5bed65c2110464c99d4cff5e1ca", "section_path": ["Changes"], "commit_groups": [["01eca6a91", "0217a7444", "09f680d11", "8984480b5", "b97226815", "c3b79223f"]], "identity_text": "Avoid race condition when libpq initializes OpenSSL support concurrently in two different threads (Willi Mann, Michael Paquier)", "commit_aliases": ["01eca6a91", "0217a7444", "09f680d11", "8984480b5", "b97226815", "c3b79223f"], "source_commits": ["8984480b5"], "source_entry_id": "16.2/changes/054", "db_id": "718ff93ce220b68d866fe6b6b336927b", "patch_ids": ["4ed2d02fdf5c543f32d1f8787b3a9d87"], "statement_hash": "fae8589fc045dd74996920395c918b35d5bb0ebbb6050512a5ff85ea661c8069", "relations": [{"rule": 2, "type": "equivalent", "target": "64d68e04213dc453dcf3964f2289b306", "evidence": {"same_day": true, "patch_ids": ["4ed2d02fdf5c543f32d1f8787b3a9d87"], "statement_hash": "fae8589fc045dd74996920395c918b35d5bb0ebbb6050512a5ff85ea661c8069"}}, {"rule": 2, "type": "equivalent", "target": "7fafa5567665e704d69bece4003ba049", "evidence": {"same_day": true, "patch_ids": ["4ed2d02fdf5c543f32d1f8787b3a9d87"], "statement_hash": "fae8589fc045dd74996920395c918b35d5bb0ebbb6050512a5ff85ea661c8069"}}, {"rule": 2, "type": "equivalent", "target": "c3a27a028d4e9a50d52b983d239c6e73", "evidence": {"same_day": true, "patch_ids": ["4ed2d02fdf5c543f32d1f8787b3a9d87"], "statement_hash": "fae8589fc045dd74996920395c918b35d5bb0ebbb6050512a5ff85ea661c8069"}}, {"rule": 2, "type": "equivalent", "target": "f3a8efa144dcc1244369dd482a70b568", "evidence": {"same_day": true, "patch_ids": ["4ed2d02fdf5c543f32d1f8787b3a9d87"], "statement_hash": "fae8589fc045dd74996920395c918b35d5bb0ebbb6050512a5ff85ea661c8069"}}], "version": "16.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "c3a27a028d4e9a50d52b983d239c6e73", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Avoid race condition when libpq initializes OpenSSL support concurrently in two different threads", "evidence": {"same_day": true, "patch_ids": ["4ed2d02fdf5c543f32d1f8787b3a9d87"], "statement_hash": "fae8589fc045dd74996920395c918b35d5bb0ebbb6050512a5ff85ea661c8069"}, "url": "/docs/compare/?release=15.6#15.6-82d539774c9a70c2", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "7fafa5567665e704d69bece4003ba049", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Avoid race condition when libpq initializes OpenSSL support concurrently in two different threads", "evidence": {"same_day": true, "patch_ids": ["4ed2d02fdf5c543f32d1f8787b3a9d87"], "statement_hash": "fae8589fc045dd74996920395c918b35d5bb0ebbb6050512a5ff85ea661c8069"}, "url": "/docs/compare/?release=14.11#14.11-5fbdf887231ea656", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}, {"db_id": "64d68e04213dc453dcf3964f2289b306", "kind": "equivalent", "version": "13.14", "label": "13.14", "title": "Avoid race condition when libpq initializes OpenSSL support concurrently in two different threads", "evidence": {"same_day": true, "patch_ids": ["4ed2d02fdf5c543f32d1f8787b3a9d87"], "statement_hash": "fae8589fc045dd74996920395c918b35d5bb0ebbb6050512a5ff85ea661c8069"}, "url": "/docs/compare/?release=13.14#13.14-a4b424fae74598d4", "source_url": "/docs/release/13.14/#id-1.11.6.15.5"}, {"db_id": "f3a8efa144dcc1244369dd482a70b568", "kind": "equivalent", "version": "12.18", "label": "12.18", "title": "Avoid race condition when libpq initializes OpenSSL support concurrently in two different threads", "evidence": {"same_day": true, "patch_ids": ["4ed2d02fdf5c543f32d1f8787b3a9d87"], "statement_hash": "fae8589fc045dd74996920395c918b35d5bb0ebbb6050512a5ff85ea661c8069"}, "url": "/docs/compare/?release=12.18#12.18-198aa8d38017304f", "source_url": "/docs/release/12.18/#id-1.11.6.10.6"}]}, {"id": "16.2-8b35bdb19ba43861", "cves": [], "html": "<p>Fix timing-dependent failure in GSSAPI data transmission (Tom Lane) <a href=\"https://postgr.es/c/85eb77185\">§</a></p>\n<p>When using GSSAPI encryption in non-blocking mode, <span>libpq</span> sometimes failed with <span>“<span>GSSAPI caller failed to retransmit all data needing to be retried</span>”</span>.</p>", "text": "Fix timing-dependent failure in GSSAPI data transmission (Tom Lane) § When using GSSAPI encryption in non-blocking mode, libpq sometimes failed with “GSSAPI caller failed to retransmit all data needing to be retried”.", "title": "Fix timing-dependent failure in GSSAPI data transmission", "commits": ["85eb77185"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "6cadac39c3f3661b958c5f2474630c0bbbec2ceaff9024f2761e6a829021f880", "section_path": ["Changes"], "commit_groups": [["18fad508b", "5abdfd88f", "85eb77185", "8f23e6a45", "a50053777", "d053a879b"]], "identity_text": "Fix timing-dependent failure in GSSAPI data transmission (Tom Lane) When using GSSAPI encryption in non-blocking mode, libpq sometimes failed with GSSAPI caller failed to retransmit all data needing to be retried.", "commit_aliases": ["18fad508b", "5abdfd88f", "85eb77185", "8f23e6a45", "a50053777", "d053a879b"], "source_commits": ["85eb77185"], "source_entry_id": "16.2/changes/055", "db_id": "06e24af44b58190bceeeeeb4622ba2d6", "patch_ids": ["374e76c0c990e89c224b09f0831eae4e"], "statement_hash": "f66b7d052b80eb0940ee004e312188d8b4dbda3fc663a87eff9da76c562aad52", "relations": [{"rule": 2, "type": "equivalent", "target": "26258719d8dae9621aa9117ad4422092", "evidence": {"same_day": true, "patch_ids": ["374e76c0c990e89c224b09f0831eae4e"], "statement_hash": "f66b7d052b80eb0940ee004e312188d8b4dbda3fc663a87eff9da76c562aad52"}}, {"rule": 2, "type": "equivalent", "target": "a03d0fe615fb2448bb621e4b63a37bf8", "evidence": {"same_day": true, "patch_ids": ["374e76c0c990e89c224b09f0831eae4e"], "statement_hash": "f66b7d052b80eb0940ee004e312188d8b4dbda3fc663a87eff9da76c562aad52"}}, {"rule": 2, "type": "equivalent", "target": "c0f1156bbbecb2b0880e4ce6f2ab3a8b", "evidence": {"same_day": true, "patch_ids": ["374e76c0c990e89c224b09f0831eae4e"], "statement_hash": "f66b7d052b80eb0940ee004e312188d8b4dbda3fc663a87eff9da76c562aad52"}}, {"rule": 2, "type": "equivalent", "target": "d7142464a559e3f113b2c9fe54148cb0", "evidence": {"same_day": true, "patch_ids": ["374e76c0c990e89c224b09f0831eae4e"], "statement_hash": "f66b7d052b80eb0940ee004e312188d8b4dbda3fc663a87eff9da76c562aad52"}}], "version": "16.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "a03d0fe615fb2448bb621e4b63a37bf8", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Fix timing-dependent failure in GSSAPI data transmission", "evidence": {"same_day": true, "patch_ids": ["374e76c0c990e89c224b09f0831eae4e"], "statement_hash": "f66b7d052b80eb0940ee004e312188d8b4dbda3fc663a87eff9da76c562aad52"}, "url": "/docs/compare/?release=15.6#15.6-e956a64c990b3f52", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "c0f1156bbbecb2b0880e4ce6f2ab3a8b", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Fix timing-dependent failure in GSSAPI data transmission", "evidence": {"same_day": true, "patch_ids": ["374e76c0c990e89c224b09f0831eae4e"], "statement_hash": "f66b7d052b80eb0940ee004e312188d8b4dbda3fc663a87eff9da76c562aad52"}, "url": "/docs/compare/?release=14.11#14.11-da924a3adcaa7e8b", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}, {"db_id": "26258719d8dae9621aa9117ad4422092", "kind": "equivalent", "version": "13.14", "label": "13.14", "title": "Fix timing-dependent failure in GSSAPI data transmission", "evidence": {"same_day": true, "patch_ids": ["374e76c0c990e89c224b09f0831eae4e"], "statement_hash": "f66b7d052b80eb0940ee004e312188d8b4dbda3fc663a87eff9da76c562aad52"}, "url": "/docs/compare/?release=13.14#13.14-52b6180e41098860", "source_url": "/docs/release/13.14/#id-1.11.6.15.5"}, {"db_id": "d7142464a559e3f113b2c9fe54148cb0", "kind": "equivalent", "version": "12.18", "label": "12.18", "title": "Fix timing-dependent failure in GSSAPI data transmission", "evidence": {"same_day": true, "patch_ids": ["374e76c0c990e89c224b09f0831eae4e"], "statement_hash": "f66b7d052b80eb0940ee004e312188d8b4dbda3fc663a87eff9da76c562aad52"}, "url": "/docs/compare/?release=12.18#12.18-9230ec25b931f9ce", "source_url": "/docs/release/12.18/#id-1.11.6.10.6"}]}, {"id": "16.2-a232c42f24d3b701", "cves": [], "html": "<p>Change <span>initdb</span> to always un-comment the <code>postgresql.conf</code> entries for the <code>lc_<em><code>xxx</code></em></code> parameters (Kyotaro Horiguchi) <a href=\"https://postgr.es/c/ba33775fd\">§</a></p>\n<p><span>initdb</span> used to work this way before v16, and now it does again. The change caused <span>initdb</span>'s <code>--no-locale</code> option to not have the intended effect on <code>lc_messages</code>.</p>", "text": "Change initdb to always un-comment the postgresql.conf entries for the lc_xxx parameters (Kyotaro Horiguchi) § initdb used to work this way before v16, and now it does again. The change caused initdb's --no-locale option to not have the intended effect on lc_messages.", "title": "Change initdb to always un-comment the postgresql.conf entries for the lc_xxx parameters", "commits": ["ba33775fd"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "394edb618b7ac14e93bc51c271c02c8ee4681eef81133cda9cda7693d81d73bf", "section_path": ["Changes"], "commit_groups": [["3d185cfc0", "ba33775fd"]], "identity_text": "Change initdb to always un-comment the postgresql.conf entries for the lc_xxx parameters (Kyotaro Horiguchi) initdb used to work this way before v16, and now it does again. The change caused initdb's --no-locale option to not have the intended effect on lc_messages.", "commit_aliases": ["3d185cfc0", "ba33775fd"], "source_commits": ["ba33775fd"], "source_entry_id": "16.2/changes/056", "db_id": "be8d97bd4c59c591007c119e438fccdd", "patch_ids": ["21ea6cf919b164cfc23a7b95db1492c2"], "statement_hash": "093f4c274541fc25fbe52ad51b40fd81dbc6e45fa122832264b08625dc1c1b05", "relations": [], "version": "16.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": []}, {"id": "16.2-cbfc5bf96ee5d7ea", "cves": [], "html": "<p>In <span>pg_dump</span>, don't dump RLS policies or security labels for extension member objects (Tom Lane, Jacob Champion) <a href=\"https://postgr.es/c/64d2467fc\">§</a> <a href=\"https://postgr.es/c/f1674ac6b\">§</a></p>\n<p>Previously, commands would be included in the dump to set these properties, which is really incorrect since they should be considered as internal affairs of the extension. Moreover, the restoring user might not have adequate privilege to set them, and indeed the dumping user might not have enough privilege to dump them (since dumping RLS policies requires acquiring lock on their table).</p>", "text": "In pg_dump, don't dump RLS policies or security labels for extension member objects (Tom Lane, Jacob Champion) § § Previously, commands would be included in the dump to set these properties, which is really incorrect since they should be considered as internal affairs of the extension. Moreover, the restoring user might not have adequate privilege to set them, and indeed the dumping user might not have enough privilege to dump them (since dumping RLS policies requires acquiring lock on their table).", "title": "In pg_dump, don't dump RLS policies or security labels for extension member objects", "commits": ["64d2467fc", "f1674ac6b"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "7aa6c3e3e97c0cecaad5d45570eacfff162ea941bc048b4a975d54a4866c6b66", "section_path": ["Changes"], "commit_groups": [["15439205d", "64d2467fc", "891afa84c", "9e08789d4", "a70f2a57f", "f15147df6"], ["1e3f461e8", "63c1b4d88", "7836f6838", "c532be99d", "e43790342", "f1674ac6b"]], "identity_text": "In pg_dump, don't dump RLS policies or security labels for extension member objects (Tom Lane, Jacob Champion) Previously, commands would be included in the dump to set these properties, which is really incorrect since they should be considered as internal affairs of the extension. Moreover, the restoring user might not have adequate privilege to set them, and indeed the dumping user might not have enough privilege to dump them (since dumping RLS policies requires acquiring lock on their table).", "commit_aliases": ["15439205d", "1e3f461e8", "63c1b4d88", "64d2467fc", "7836f6838", "891afa84c", "9e08789d4", "a70f2a57f", "c532be99d", "e43790342", "f15147df6", "f1674ac6b"], "source_commits": ["64d2467fc", "f1674ac6b"], "source_entry_id": "16.2/changes/057", "db_id": "3dcb86e2b99ea276f57844cef4ecca3c", "patch_ids": ["7e63c2ba6908240f784865cc6d95b2ba", "b36425e1dff7f2f720d69cf4057afd0c"], "statement_hash": "1623f63f6eaf0d0038dece8862f590c7b41398b1b44a584af77b6ff73e073360", "relations": [{"rule": 2, "type": "equivalent", "target": "631bc217f4a8a4f33e9fad6d4631187a", "evidence": {"same_day": true, "patch_ids": ["7e63c2ba6908240f784865cc6d95b2ba", "b36425e1dff7f2f720d69cf4057afd0c"], "statement_hash": "1623f63f6eaf0d0038dece8862f590c7b41398b1b44a584af77b6ff73e073360"}}, {"rule": 2, "type": "equivalent", "target": "64380aed532b7133629c450f0f558a8a", "evidence": {"same_day": true, "patch_ids": ["7e63c2ba6908240f784865cc6d95b2ba", "b36425e1dff7f2f720d69cf4057afd0c"], "statement_hash": "1623f63f6eaf0d0038dece8862f590c7b41398b1b44a584af77b6ff73e073360"}}, {"rule": 2, "type": "equivalent", "target": "6cc80b1ab137b214de78b71f339ce3d5", "evidence": {"same_day": true, "patch_ids": ["7e63c2ba6908240f784865cc6d95b2ba", "b36425e1dff7f2f720d69cf4057afd0c"], "statement_hash": "1623f63f6eaf0d0038dece8862f590c7b41398b1b44a584af77b6ff73e073360"}}, {"rule": 2, "type": "equivalent", "target": "df4617c9e2c7bd1c4f9bf02865e63970", "evidence": {"same_day": true, "patch_ids": ["7e63c2ba6908240f784865cc6d95b2ba", "b36425e1dff7f2f720d69cf4057afd0c"], "statement_hash": "1623f63f6eaf0d0038dece8862f590c7b41398b1b44a584af77b6ff73e073360"}}], "version": "16.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "631bc217f4a8a4f33e9fad6d4631187a", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "In pg_dump, don't dump RLS policies or security labels for extension member objects", "evidence": {"same_day": true, "patch_ids": ["7e63c2ba6908240f784865cc6d95b2ba", "b36425e1dff7f2f720d69cf4057afd0c"], "statement_hash": "1623f63f6eaf0d0038dece8862f590c7b41398b1b44a584af77b6ff73e073360"}, "url": "/docs/compare/?release=15.6#15.6-10709b005edd4c31", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "6cc80b1ab137b214de78b71f339ce3d5", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "In pg_dump, don't dump RLS policies or security labels for extension member objects", "evidence": {"same_day": true, "patch_ids": ["7e63c2ba6908240f784865cc6d95b2ba", "b36425e1dff7f2f720d69cf4057afd0c"], "statement_hash": "1623f63f6eaf0d0038dece8862f590c7b41398b1b44a584af77b6ff73e073360"}, "url": "/docs/compare/?release=14.11#14.11-8994910fc3e802cf", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}, {"db_id": "df4617c9e2c7bd1c4f9bf02865e63970", "kind": "equivalent", "version": "13.14", "label": "13.14", "title": "In pg_dump, don't dump RLS policies or security labels for extension member objects", "evidence": {"same_day": true, "patch_ids": ["7e63c2ba6908240f784865cc6d95b2ba", "b36425e1dff7f2f720d69cf4057afd0c"], "statement_hash": "1623f63f6eaf0d0038dece8862f590c7b41398b1b44a584af77b6ff73e073360"}, "url": "/docs/compare/?release=13.14#13.14-477fd44d42be8f00", "source_url": "/docs/release/13.14/#id-1.11.6.15.5"}, {"db_id": "64380aed532b7133629c450f0f558a8a", "kind": "equivalent", "version": "12.18", "label": "12.18", "title": "In pg_dump, don't dump RLS policies or security labels for extension member objects", "evidence": {"same_day": true, "patch_ids": ["7e63c2ba6908240f784865cc6d95b2ba", "b36425e1dff7f2f720d69cf4057afd0c"], "statement_hash": "1623f63f6eaf0d0038dece8862f590c7b41398b1b44a584af77b6ff73e073360"}, "url": "/docs/compare/?release=12.18#12.18-3e4e1d41ce8bfc3b", "source_url": "/docs/release/12.18/#id-1.11.6.10.6"}]}, {"id": "16.2-a638873d0f413325", "cves": [], "html": "<p>In <span>pg_dump</span>, don't dump an extended statistics object if its underlying table isn't being dumped (Rian McGuire, Tom Lane) <a href=\"https://postgr.es/c/b2c9936a7\">§</a></p>\n<p>This conforms to the behavior for other dependent objects such as indexes.</p>", "text": "In pg_dump, don't dump an extended statistics object if its underlying table isn't being dumped (Rian McGuire, Tom Lane) § This conforms to the behavior for other dependent objects such as indexes.", "title": "In pg_dump, don't dump an extended statistics object if its underlying table isn't being dumped", "commits": ["b2c9936a7"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "3c8c653ae7e25d060d8eda6cc4e798627e1b8632b02240634087c0b5e8a6ff92", "section_path": ["Changes"], "commit_groups": [["1e0841426", "69d7edb06", "7418767f1", "8d4e8b746", "aa2e323ee", "b2c9936a7"]], "identity_text": "In pg_dump, don't dump an extended statistics object if its underlying table isn't being dumped (Rian McGuire, Tom Lane) This conforms to the behavior for other dependent objects such as indexes.", "commit_aliases": ["1e0841426", "69d7edb06", "7418767f1", "8d4e8b746", "aa2e323ee", "b2c9936a7"], "source_commits": ["b2c9936a7"], "source_entry_id": "16.2/changes/058", "db_id": "96c22c4152e27eecc355832d7bd9b07b", "patch_ids": ["d9dd86c5006edff8bc1d1459d5980be6"], "statement_hash": "4a44dcc65d5f1a458ade5e891a43e04f0b32041636081e5f424b265a22549389", "relations": [{"rule": 2, "type": "equivalent", "target": "120d13fedf0801db04a09cc4297c16a8", "evidence": {"same_day": true, "patch_ids": ["d9dd86c5006edff8bc1d1459d5980be6"], "statement_hash": "4a44dcc65d5f1a458ade5e891a43e04f0b32041636081e5f424b265a22549389"}}, {"rule": 2, "type": "equivalent", "target": "22571a9636c6150390d9c2326367d5bb", "evidence": {"same_day": true, "patch_ids": ["d9dd86c5006edff8bc1d1459d5980be6"], "statement_hash": "4a44dcc65d5f1a458ade5e891a43e04f0b32041636081e5f424b265a22549389"}}, {"rule": 2, "type": "equivalent", "target": "282546f068c1df1036615bb3f20a68eb", "evidence": {"same_day": true, "patch_ids": ["d9dd86c5006edff8bc1d1459d5980be6"], "statement_hash": "4a44dcc65d5f1a458ade5e891a43e04f0b32041636081e5f424b265a22549389"}}, {"rule": 2, "type": "equivalent", "target": "4a3706b4ba11a45fa34962e4e044f0cb", "evidence": {"same_day": true, "patch_ids": ["d9dd86c5006edff8bc1d1459d5980be6"], "statement_hash": "4a44dcc65d5f1a458ade5e891a43e04f0b32041636081e5f424b265a22549389"}}], "version": "16.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "22571a9636c6150390d9c2326367d5bb", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "In pg_dump, don't dump an extended statistics object if its underlying table isn't being dumped", "evidence": {"same_day": true, "patch_ids": ["d9dd86c5006edff8bc1d1459d5980be6"], "statement_hash": "4a44dcc65d5f1a458ade5e891a43e04f0b32041636081e5f424b265a22549389"}, "url": "/docs/compare/?release=15.6#15.6-0aa1bf3343297291", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "282546f068c1df1036615bb3f20a68eb", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "In pg_dump, don't dump an extended statistics object if its underlying table isn't being dumped", "evidence": {"same_day": true, "patch_ids": ["d9dd86c5006edff8bc1d1459d5980be6"], "statement_hash": "4a44dcc65d5f1a458ade5e891a43e04f0b32041636081e5f424b265a22549389"}, "url": "/docs/compare/?release=14.11#14.11-6a74d524e88cd981", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}, {"db_id": "120d13fedf0801db04a09cc4297c16a8", "kind": "equivalent", "version": "13.14", "label": "13.14", "title": "In pg_dump, don't dump an extended statistics object if its underlying table isn't being dumped", "evidence": {"same_day": true, "patch_ids": ["d9dd86c5006edff8bc1d1459d5980be6"], "statement_hash": "4a44dcc65d5f1a458ade5e891a43e04f0b32041636081e5f424b265a22549389"}, "url": "/docs/compare/?release=13.14#13.14-bee8bd7b7098fa40", "source_url": "/docs/release/13.14/#id-1.11.6.15.5"}, {"db_id": "4a3706b4ba11a45fa34962e4e044f0cb", "kind": "equivalent", "version": "12.18", "label": "12.18", "title": "In pg_dump, don't dump an extended statistics object if its underlying table isn't being dumped", "evidence": {"same_day": true, "patch_ids": ["d9dd86c5006edff8bc1d1459d5980be6"], "statement_hash": "4a44dcc65d5f1a458ade5e891a43e04f0b32041636081e5f424b265a22549389"}, "url": "/docs/compare/?release=12.18#12.18-7ce08d4a7a298b32", "source_url": "/docs/release/12.18/#id-1.11.6.10.6"}]}, {"id": "16.2-9c74722746b54d16", "cves": [], "html": "<p>Properly detect out-of-memory in one code path in <span>pg_dump</span> (Daniel Gustafsson) <a href=\"https://postgr.es/c/5b5db413d\">§</a></p>", "text": "Properly detect out-of-memory in one code path in pg_dump (Daniel Gustafsson) §", "title": "Properly detect out-of-memory in one code path in pg_dump", "commits": ["5b5db413d"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "5b51095b953186f7eb4e95505233bf0a4a799a3b6b74f1eb7ba89472d99ff78f", "section_path": ["Changes"], "commit_groups": [["30e54d5c5", "5b5db413d"]], "identity_text": "Properly detect out-of-memory in one code path in pg_dump (Daniel Gustafsson)", "commit_aliases": ["30e54d5c5", "5b5db413d"], "source_commits": ["5b5db413d"], "source_entry_id": "16.2/changes/059", "db_id": "b119d720246eb1a4ca37e1cac7a76578", "patch_ids": ["3493fae5bcbd8748f99bbfa64f857458"], "statement_hash": "16a862de0d2be2c947a6388c0c4aac1df960b0d4fd9ba105026a2efdd9df5d12", "relations": [], "version": "16.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": []}, {"id": "16.2-36a08452636ed0c4", "cves": [], "html": "<p>Make it an error for a <span>pgbench</span> script to end with an open pipeline (Anthonin Bonnefoy) <a href=\"https://postgr.es/c/07b53de70\">§</a></p>\n<p>Previously, <span>pgbench</span> would behave oddly if a <code>\\startpipeline</code> command lacked a matching <code>\\endpipeline</code>. This seems like a scripting mistake rather than a case that <span>pgbench</span> needs to handle nicely, so throw an error.</p>", "text": "Make it an error for a pgbench script to end with an open pipeline (Anthonin Bonnefoy) § Previously, pgbench would behave oddly if a \\startpipeline command lacked a matching \\endpipeline. This seems like a scripting mistake rather than a case that pgbench needs to handle nicely, so throw an error.", "title": "Make it an error for a pgbench script to end with an open pipeline", "commits": ["07b53de70"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "5e4b10193ecab50bd248931f98d9e906bc4447ffd171abd22e5bc9f1c64b8092", "section_path": ["Changes"], "commit_groups": [["07b53de70", "3fd36be52", "49f7c6c44", "85ecff891"]], "identity_text": "Make it an error for a pgbench script to end with an open pipeline (Anthonin Bonnefoy) Previously, pgbench would behave oddly if a \\startpipeline command lacked a matching \\endpipeline. This seems like a scripting mistake rather than a case that pgbench needs to handle nicely, so throw an error.", "commit_aliases": ["07b53de70", "3fd36be52", "49f7c6c44", "85ecff891"], "source_commits": ["07b53de70"], "source_entry_id": "16.2/changes/060", "db_id": "137cc5aafdefbdddb14aa9a5a2bdab7a", "patch_ids": ["be589759b7852d72a2966a6122528c60"], "statement_hash": "4160fb4220613671306ce1823b6a4c9429508bb23ba7c928896ccca2ecdd03bb", "relations": [{"rule": 2, "type": "equivalent", "target": "57f03ae7151a54e1cc66f3e0ca62dd3c", "evidence": {"same_day": true, "patch_ids": ["be589759b7852d72a2966a6122528c60"], "statement_hash": "4160fb4220613671306ce1823b6a4c9429508bb23ba7c928896ccca2ecdd03bb"}}, {"rule": 2, "type": "equivalent", "target": "7fc7276e6ff771e8af612a513a320f20", "evidence": {"same_day": true, "patch_ids": ["be589759b7852d72a2966a6122528c60"], "statement_hash": "4160fb4220613671306ce1823b6a4c9429508bb23ba7c928896ccca2ecdd03bb"}}], "version": "16.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "57f03ae7151a54e1cc66f3e0ca62dd3c", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Make it an error for a pgbench script to end with an open pipeline", "evidence": {"same_day": true, "patch_ids": ["be589759b7852d72a2966a6122528c60"], "statement_hash": "4160fb4220613671306ce1823b6a4c9429508bb23ba7c928896ccca2ecdd03bb"}, "url": "/docs/compare/?release=15.6#15.6-a88cdc403af17279", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "7fc7276e6ff771e8af612a513a320f20", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Make it an error for a pgbench script to end with an open pipeline", "evidence": {"same_day": true, "patch_ids": ["be589759b7852d72a2966a6122528c60"], "statement_hash": "4160fb4220613671306ce1823b6a4c9429508bb23ba7c928896ccca2ecdd03bb"}, "url": "/docs/compare/?release=14.11#14.11-c37ded006c770591", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}]}, {"id": "16.2-7a69ebec4cc012dc", "cves": [], "html": "<p>Fix crash in <code>contrib/intarray</code> if an array with an element equal to <code>INT_MAX</code> is inserted into a <code>gist__int_ops</code> index (Alexander Lakhin, Tom Lane) <a href=\"https://postgr.es/c/cf6f802bf\">§</a></p>", "text": "Fix crash in contrib/intarray if an array with an element equal to INT_MAX is inserted into a gist__int_ops index (Alexander Lakhin, Tom Lane) §", "title": "Fix crash in contrib/intarray if an array with an element equal to INT_MAX is inserted into a gist__int_ops index", "commits": ["cf6f802bf"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "69f061b75965831dc9d179962bb72ba23ba48c6561ef79b893805bfdb256e550", "section_path": ["Changes"], "commit_groups": [["1c7443521", "9034a2d51", "90e8b86fc", "940ab02b5", "9e7432faf", "cf6f802bf"]], "identity_text": "Fix crash in contrib/intarray if an array with an element equal to INT_MAX is inserted into a gist__int_ops index (Alexander Lakhin, Tom Lane)", "commit_aliases": ["1c7443521", "9034a2d51", "90e8b86fc", "940ab02b5", "9e7432faf", "cf6f802bf"], "source_commits": ["cf6f802bf"], "source_entry_id": "16.2/changes/061", "db_id": "48fb3e8080f1fbf35b01976b87c3ba36", "patch_ids": ["a6caa670c76efb4e1ffb72a3f784d637"], "statement_hash": "099e165d7fc2500965d9f130a12440a33cd76a91c3ebebe5ae050880b319bc34", "relations": [{"rule": 2, "type": "equivalent", "target": "3d298de44492bd26d739cfccace03e80", "evidence": {"same_day": true, "patch_ids": ["a6caa670c76efb4e1ffb72a3f784d637"], "statement_hash": "099e165d7fc2500965d9f130a12440a33cd76a91c3ebebe5ae050880b319bc34"}}, {"rule": 2, "type": "equivalent", "target": "b853a21e2df1f9939d1667422f113ac9", "evidence": {"same_day": true, "patch_ids": ["a6caa670c76efb4e1ffb72a3f784d637"], "statement_hash": "099e165d7fc2500965d9f130a12440a33cd76a91c3ebebe5ae050880b319bc34"}}, {"rule": 2, "type": "equivalent", "target": "db9d9fa146cfdeb48c51f8a28c6d61f7", "evidence": {"same_day": true, "patch_ids": ["a6caa670c76efb4e1ffb72a3f784d637"], "statement_hash": "099e165d7fc2500965d9f130a12440a33cd76a91c3ebebe5ae050880b319bc34"}}, {"rule": 2, "type": "equivalent", "target": "ddef6ee4e8dbdfed5abce5395d46645d", "evidence": {"same_day": true, "patch_ids": ["a6caa670c76efb4e1ffb72a3f784d637"], "statement_hash": "099e165d7fc2500965d9f130a12440a33cd76a91c3ebebe5ae050880b319bc34"}}], "version": "16.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "3d298de44492bd26d739cfccace03e80", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Fix crash in contrib/intarray if an array with an element equal to INT_MAX is inserted into a gist__int_ops index", "evidence": {"same_day": true, "patch_ids": ["a6caa670c76efb4e1ffb72a3f784d637"], "statement_hash": "099e165d7fc2500965d9f130a12440a33cd76a91c3ebebe5ae050880b319bc34"}, "url": "/docs/compare/?release=15.6#15.6-615989c8ea7b3a99", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "b853a21e2df1f9939d1667422f113ac9", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Fix crash in contrib/intarray if an array with an element equal to INT_MAX is inserted into a gist__int_ops index", "evidence": {"same_day": true, "patch_ids": ["a6caa670c76efb4e1ffb72a3f784d637"], "statement_hash": "099e165d7fc2500965d9f130a12440a33cd76a91c3ebebe5ae050880b319bc34"}, "url": "/docs/compare/?release=14.11#14.11-22b1b6b26dffe4ec", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}, {"db_id": "db9d9fa146cfdeb48c51f8a28c6d61f7", "kind": "equivalent", "version": "13.14", "label": "13.14", "title": "Fix crash in contrib/intarray if an array with an element equal to INT_MAX is inserted into a gist__int_ops index", "evidence": {"same_day": true, "patch_ids": ["a6caa670c76efb4e1ffb72a3f784d637"], "statement_hash": "099e165d7fc2500965d9f130a12440a33cd76a91c3ebebe5ae050880b319bc34"}, "url": "/docs/compare/?release=13.14#13.14-6bd6d6e0fc2d8452", "source_url": "/docs/release/13.14/#id-1.11.6.15.5"}, {"db_id": "ddef6ee4e8dbdfed5abce5395d46645d", "kind": "equivalent", "version": "12.18", "label": "12.18", "title": "Fix crash in contrib/intarray if an array with an element equal to INT_MAX is inserted into a gist__int_ops index", "evidence": {"same_day": true, "patch_ids": ["a6caa670c76efb4e1ffb72a3f784d637"], "statement_hash": "099e165d7fc2500965d9f130a12440a33cd76a91c3ebebe5ae050880b319bc34"}, "url": "/docs/compare/?release=12.18#12.18-80a87e90701eed78", "source_url": "/docs/release/12.18/#id-1.11.6.10.6"}]}, {"id": "16.2-b5e9566f13d31c99", "cves": [], "html": "<p>Report a better error when <code>contrib/pageinspect</code>'s <code>hash_bitmap_info()</code> function is applied to a partitioned hash index (Alexander Lakhin, Michael Paquier) <a href=\"https://postgr.es/c/7f68b1462\">§</a></p>", "text": "Report a better error when contrib/pageinspect's hash_bitmap_info() function is applied to a partitioned hash index (Alexander Lakhin, Michael Paquier) §", "title": "Report a better error when contrib/pageinspect's hash_bitmap_info() function is applied to a partitioned hash index", "commits": ["7f68b1462"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "148a59c020ea4b93cdc10bab80140a6c2e33a7a7784b909a1dfe9212a503fd49", "section_path": ["Changes"], "commit_groups": [["208470136", "2e08440d6", "586c6a091", "7f68b1462", "bfbe4a146", "f610d4f11"]], "identity_text": "Report a better error when contrib/pageinspect's hash_bitmap_info() function is applied to a partitioned hash index (Alexander Lakhin, Michael Paquier)", "commit_aliases": ["208470136", "2e08440d6", "586c6a091", "7f68b1462", "bfbe4a146", "f610d4f11"], "source_commits": ["7f68b1462"], "source_entry_id": "16.2/changes/062", "db_id": "60a14b6e1ae9222798f9ed04c0f8f564", "patch_ids": ["4a9a9b124c20d9b9e0984633db238139"], "statement_hash": "3ec047bdb4ba9df80ea1b9560cd509b894b649988b48e4e65150c2792c532a69", "relations": [{"rule": 2, "type": "equivalent", "target": "69851714104768799da0b2647c039ed0", "evidence": {"same_day": true, "patch_ids": ["4a9a9b124c20d9b9e0984633db238139"], "statement_hash": "3ec047bdb4ba9df80ea1b9560cd509b894b649988b48e4e65150c2792c532a69"}}, {"rule": 2, "type": "equivalent", "target": "a40dbeddc3b3369704c32f258194e999", "evidence": {"same_day": true, "patch_ids": ["4a9a9b124c20d9b9e0984633db238139"], "statement_hash": "3ec047bdb4ba9df80ea1b9560cd509b894b649988b48e4e65150c2792c532a69"}}, {"rule": 2, "type": "equivalent", "target": "ced1b486c2187f854d5523c562b8f3b0", "evidence": {"same_day": true, "patch_ids": ["4a9a9b124c20d9b9e0984633db238139"], "statement_hash": "3ec047bdb4ba9df80ea1b9560cd509b894b649988b48e4e65150c2792c532a69"}}, {"rule": 2, "type": "equivalent", "target": "ece9264db04c3d20bdfa0d99719ed177", "evidence": {"same_day": true, "patch_ids": ["4a9a9b124c20d9b9e0984633db238139"], "statement_hash": "3ec047bdb4ba9df80ea1b9560cd509b894b649988b48e4e65150c2792c532a69"}}], "version": "16.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "ced1b486c2187f854d5523c562b8f3b0", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Report a better error when contrib/pageinspect's hash_bitmap_info() function is applied to a partitioned hash index", "evidence": {"same_day": true, "patch_ids": ["4a9a9b124c20d9b9e0984633db238139"], "statement_hash": "3ec047bdb4ba9df80ea1b9560cd509b894b649988b48e4e65150c2792c532a69"}, "url": "/docs/compare/?release=15.6#15.6-2ea31d4eb971f484", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "a40dbeddc3b3369704c32f258194e999", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Report a better error when contrib/pageinspect's hash_bitmap_info() function is applied to a partitioned hash index", "evidence": {"same_day": true, "patch_ids": ["4a9a9b124c20d9b9e0984633db238139"], "statement_hash": "3ec047bdb4ba9df80ea1b9560cd509b894b649988b48e4e65150c2792c532a69"}, "url": "/docs/compare/?release=14.11#14.11-e88f9b182ee947ce", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}, {"db_id": "69851714104768799da0b2647c039ed0", "kind": "equivalent", "version": "13.14", "label": "13.14", "title": "Report a better error when contrib/pageinspect's hash_bitmap_info() function is applied to a partitioned hash index", "evidence": {"same_day": true, "patch_ids": ["4a9a9b124c20d9b9e0984633db238139"], "statement_hash": "3ec047bdb4ba9df80ea1b9560cd509b894b649988b48e4e65150c2792c532a69"}, "url": "/docs/compare/?release=13.14#13.14-57a32755d0dc9a67", "source_url": "/docs/release/13.14/#id-1.11.6.15.5"}, {"db_id": "ece9264db04c3d20bdfa0d99719ed177", "kind": "equivalent", "version": "12.18", "label": "12.18", "title": "Report a better error when contrib/pageinspect's hash_bitmap_info() function is applied to a partitioned hash index", "evidence": {"same_day": true, "patch_ids": ["4a9a9b124c20d9b9e0984633db238139"], "statement_hash": "3ec047bdb4ba9df80ea1b9560cd509b894b649988b48e4e65150c2792c532a69"}, "url": "/docs/compare/?release=12.18#12.18-cb0d6d429b83017d", "source_url": "/docs/release/12.18/#id-1.11.6.10.6"}]}, {"id": "16.2-08ebc3eda4b6c0ee", "cves": [], "html": "<p>Report a better error when <code>contrib/pgstattuple</code>'s <code>pgstathashindex()</code> function is applied to a partitioned hash index (Alexander Lakhin) <a href=\"https://postgr.es/c/b4948ed66\">§</a></p>", "text": "Report a better error when contrib/pgstattuple's pgstathashindex() function is applied to a partitioned hash index (Alexander Lakhin) §", "title": "Report a better error when contrib/pgstattuple's pgstathashindex() function is applied to a partitioned hash index", "commits": ["b4948ed66"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "304ff8c46bf1896e6e62aa850d8ade96d29d4260ee5aaba37445c4dbaafee0fc", "section_path": ["Changes"], "commit_groups": [["a8dd62ef4", "b4948ed66", "b4c1d255c", "b745f1680", "bd2d3c928", "f729fdab4"]], "identity_text": "Report a better error when contrib/pgstattuple's pgstathashindex() function is applied to a partitioned hash index (Alexander Lakhin)", "commit_aliases": ["a8dd62ef4", "b4948ed66", "b4c1d255c", "b745f1680", "bd2d3c928", "f729fdab4"], "source_commits": ["b4948ed66"], "source_entry_id": "16.2/changes/063", "db_id": "79592c7ccbc93f8c93f5fd9b89f8a903", "patch_ids": ["a7ffa8d4ea6d0809a54f80ab93f61ab8"], "statement_hash": "05058690f7fb820755524a4375cfe78121249d745dd7fa90b18aec11a2f94860", "relations": [{"rule": 2, "type": "equivalent", "target": "4d737355f33fbe896bee766b85d5a7df", "evidence": {"same_day": true, "patch_ids": ["a7ffa8d4ea6d0809a54f80ab93f61ab8"], "statement_hash": "05058690f7fb820755524a4375cfe78121249d745dd7fa90b18aec11a2f94860"}}, {"rule": 2, "type": "equivalent", "target": "60ea498b840c6f946e2899d20b20fe72", "evidence": {"same_day": true, "patch_ids": ["a7ffa8d4ea6d0809a54f80ab93f61ab8"], "statement_hash": "05058690f7fb820755524a4375cfe78121249d745dd7fa90b18aec11a2f94860"}}, {"rule": 2, "type": "equivalent", "target": "6af75074f7a37949ef9df77a8ac8f790", "evidence": {"same_day": true, "patch_ids": ["a7ffa8d4ea6d0809a54f80ab93f61ab8"], "statement_hash": "05058690f7fb820755524a4375cfe78121249d745dd7fa90b18aec11a2f94860"}}, {"rule": 2, "type": "equivalent", "target": "e6a2d9f6a6d270f83044ca38ffe5d602", "evidence": {"same_day": true, "patch_ids": ["a7ffa8d4ea6d0809a54f80ab93f61ab8"], "statement_hash": "05058690f7fb820755524a4375cfe78121249d745dd7fa90b18aec11a2f94860"}}], "version": "16.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "e6a2d9f6a6d270f83044ca38ffe5d602", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Report a better error when contrib/pgstattuple's pgstathashindex() function is applied to a partitioned hash index", "evidence": {"same_day": true, "patch_ids": ["a7ffa8d4ea6d0809a54f80ab93f61ab8"], "statement_hash": "05058690f7fb820755524a4375cfe78121249d745dd7fa90b18aec11a2f94860"}, "url": "/docs/compare/?release=15.6#15.6-f36a9296035df066", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "6af75074f7a37949ef9df77a8ac8f790", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Report a better error when contrib/pgstattuple's pgstathashindex() function is applied to a partitioned hash index", "evidence": {"same_day": true, "patch_ids": ["a7ffa8d4ea6d0809a54f80ab93f61ab8"], "statement_hash": "05058690f7fb820755524a4375cfe78121249d745dd7fa90b18aec11a2f94860"}, "url": "/docs/compare/?release=14.11#14.11-fdf216f738d801fe", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}, {"db_id": "60ea498b840c6f946e2899d20b20fe72", "kind": "equivalent", "version": "13.14", "label": "13.14", "title": "Report a better error when contrib/pgstattuple's pgstathashindex() function is applied to a partitioned hash index", "evidence": {"same_day": true, "patch_ids": ["a7ffa8d4ea6d0809a54f80ab93f61ab8"], "statement_hash": "05058690f7fb820755524a4375cfe78121249d745dd7fa90b18aec11a2f94860"}, "url": "/docs/compare/?release=13.14#13.14-1945f39e0d38023e", "source_url": "/docs/release/13.14/#id-1.11.6.15.5"}, {"db_id": "4d737355f33fbe896bee766b85d5a7df", "kind": "equivalent", "version": "12.18", "label": "12.18", "title": "Report a better error when contrib/pgstattuple's pgstathashindex() function is applied to a partitioned hash index", "evidence": {"same_day": true, "patch_ids": ["a7ffa8d4ea6d0809a54f80ab93f61ab8"], "statement_hash": "05058690f7fb820755524a4375cfe78121249d745dd7fa90b18aec11a2f94860"}, "url": "/docs/compare/?release=12.18#12.18-d3296278aef3ff90", "source_url": "/docs/release/12.18/#id-1.11.6.10.6"}]}, {"id": "16.2-043e88eefe16789f", "cves": [], "html": "<p>On Windows, suppress autorun options when launching subprocesses in <span>pg_ctl</span> and <span>pg_regress</span> (Kyotaro Horiguchi) <a href=\"https://postgr.es/c/714bfb781\">§</a> <a href=\"https://postgr.es/c/506c77f9b\">§</a></p>\n<p>When launching a child process via <code>cmd.exe</code>, pass the <code>/D</code> flag to prevent executing any autorun commands specified in the registry. This avoids possibly-surprising side effects.</p>", "text": "On Windows, suppress autorun options when launching subprocesses in pg_ctl and pg_regress (Kyotaro Horiguchi) § § When launching a child process via cmd.exe, pass the /D flag to prevent executing any autorun commands specified in the registry. This avoids possibly-surprising side effects.", "title": "On Windows, suppress autorun options when launching subprocesses in pg_ctl and pg_regress", "commits": ["506c77f9b", "714bfb781"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "9a8f5f164f7e7715fbdc23c332bcb94a54d030fb13a27e4e301bb65cc7f574e0", "section_path": ["Changes"], "commit_groups": [["2a0eb80ae", "4a7475e9a", "506c77f9b", "7e7d827f5", "b83747a8a", "e50a52b2b"], ["33d1be06a", "4c6944223", "714bfb781", "9886744a3", "9e70e6564", "c8aab699e"]], "identity_text": "On Windows, suppress autorun options when launching subprocesses in pg_ctl and pg_regress (Kyotaro Horiguchi) When launching a child process via cmd.exe, pass the /D flag to prevent executing any autorun commands specified in the registry. This avoids possibly-surprising side effects.", "commit_aliases": ["2a0eb80ae", "33d1be06a", "4a7475e9a", "4c6944223", "506c77f9b", "714bfb781", "7e7d827f5", "9886744a3", "9e70e6564", "b83747a8a", "c8aab699e", "e50a52b2b"], "source_commits": ["506c77f9b", "714bfb781"], "source_entry_id": "16.2/changes/064", "db_id": "554c074758ea19873a6d5d5882dd5b8d", "patch_ids": ["3781582c9355dae5905c5da2426727cf", "97fd06ae20847c50d0187cf9bceebbc2"], "statement_hash": "ead137f53a5414cad531a6351154e698045882ecb2093bfc9099117eedabf999", "relations": [{"rule": 2, "type": "equivalent", "target": "3c0060b6e310be3855a1d0790a3b8120", "evidence": {"same_day": true, "patch_ids": ["3781582c9355dae5905c5da2426727cf", "97fd06ae20847c50d0187cf9bceebbc2"], "statement_hash": "ead137f53a5414cad531a6351154e698045882ecb2093bfc9099117eedabf999"}}, {"rule": 2, "type": "equivalent", "target": "b15769ee4b74e61a9ef47d81d60d453b", "evidence": {"same_day": true, "patch_ids": ["3781582c9355dae5905c5da2426727cf", "97fd06ae20847c50d0187cf9bceebbc2"], "statement_hash": "ead137f53a5414cad531a6351154e698045882ecb2093bfc9099117eedabf999"}}, {"rule": 2, "type": "equivalent", "target": "c85d072d7ee46d465c92f647e14dc965", "evidence": {"same_day": true, "patch_ids": ["3781582c9355dae5905c5da2426727cf", "97fd06ae20847c50d0187cf9bceebbc2"], "statement_hash": "ead137f53a5414cad531a6351154e698045882ecb2093bfc9099117eedabf999"}}, {"rule": 2, "type": "equivalent", "target": "f7a1f603248f26206e323c3dcf75f1f8", "evidence": {"same_day": true, "patch_ids": ["3781582c9355dae5905c5da2426727cf", "97fd06ae20847c50d0187cf9bceebbc2"], "statement_hash": "ead137f53a5414cad531a6351154e698045882ecb2093bfc9099117eedabf999"}}], "version": "16.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "c85d072d7ee46d465c92f647e14dc965", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "On Windows, suppress autorun options when launching subprocesses in pg_ctl and pg_regress", "evidence": {"same_day": true, "patch_ids": ["3781582c9355dae5905c5da2426727cf", "97fd06ae20847c50d0187cf9bceebbc2"], "statement_hash": "ead137f53a5414cad531a6351154e698045882ecb2093bfc9099117eedabf999"}, "url": "/docs/compare/?release=15.6#15.6-b1b53f2c1c9dc772", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "3c0060b6e310be3855a1d0790a3b8120", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "On Windows, suppress autorun options when launching subprocesses in pg_ctl and pg_regress", "evidence": {"same_day": true, "patch_ids": ["3781582c9355dae5905c5da2426727cf", "97fd06ae20847c50d0187cf9bceebbc2"], "statement_hash": "ead137f53a5414cad531a6351154e698045882ecb2093bfc9099117eedabf999"}, "url": "/docs/compare/?release=14.11#14.11-12efae956186c4c7", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}, {"db_id": "f7a1f603248f26206e323c3dcf75f1f8", "kind": "equivalent", "version": "13.14", "label": "13.14", "title": "On Windows, suppress autorun options when launching subprocesses in pg_ctl and pg_regress", "evidence": {"same_day": true, "patch_ids": ["3781582c9355dae5905c5da2426727cf", "97fd06ae20847c50d0187cf9bceebbc2"], "statement_hash": "ead137f53a5414cad531a6351154e698045882ecb2093bfc9099117eedabf999"}, "url": "/docs/compare/?release=13.14#13.14-9bfe81b91d0ad9a4", "source_url": "/docs/release/13.14/#id-1.11.6.15.5"}, {"db_id": "b15769ee4b74e61a9ef47d81d60d453b", "kind": "equivalent", "version": "12.18", "label": "12.18", "title": "On Windows, suppress autorun options when launching subprocesses in pg_ctl and pg_regress", "evidence": {"same_day": true, "patch_ids": ["3781582c9355dae5905c5da2426727cf", "97fd06ae20847c50d0187cf9bceebbc2"], "statement_hash": "ead137f53a5414cad531a6351154e698045882ecb2093bfc9099117eedabf999"}, "url": "/docs/compare/?release=12.18#12.18-42f132408b629b64", "source_url": "/docs/release/12.18/#id-1.11.6.10.6"}]}, {"id": "16.2-b92f894099d14f5d", "cves": [], "html": "<p>Move <code>is_valid_ascii()</code> from <code>mb/pg_wchar.h</code> to <code>utils/ascii.h</code> (Jubilee Young) <a href=\"https://postgr.es/c/1b924a86e\">§</a></p>\n<p>This change avoids the need to include <code>&lt;simd.h&gt;</code> in <code>pg_wchar.h</code>, which was causing problems for some third-party code.</p>", "text": "Move is_valid_ascii() from mb/pg_wchar.h to utils/ascii.h (Jubilee Young) § This change avoids the need to include <simd.h> in pg_wchar.h, which was causing problems for some third-party code.", "title": "Move is_valid_ascii() from mb/pg_wchar.h to utils/ascii.h", "commits": ["1b924a86e"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "946ad196c46fb5d03b3ff3372afddf401810a7c035f1005d847f2ce5c1267f1c", "section_path": ["Changes"], "commit_groups": [["1b924a86e", "3726c1cb0", "97287bdfa"]], "identity_text": "Move is_valid_ascii() from mb/pg_wchar.h to utils/ascii.h (Jubilee Young) This change avoids the need to include <simd.h> in pg_wchar.h, which was causing problems for some third-party code.", "commit_aliases": ["1b924a86e", "3726c1cb0", "97287bdfa"], "source_commits": ["1b924a86e"], "source_entry_id": "16.2/changes/065", "db_id": "73fb5c9cb4ccd9b699174f8026598034", "patch_ids": ["1bf86559d0664127b7bf520537e3878b"], "statement_hash": "eaf855ea809ed2767fb007e3065d006e8f103ab26945c15b482d97e070d603ee", "relations": [{"rule": 2, "type": "equivalent", "target": "671fe8856cb9db967e06f0dd6bc24757", "evidence": {"same_day": true, "patch_ids": ["1bf86559d0664127b7bf520537e3878b"], "statement_hash": "eaf855ea809ed2767fb007e3065d006e8f103ab26945c15b482d97e070d603ee"}}], "version": "16.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "671fe8856cb9db967e06f0dd6bc24757", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Move is_valid_ascii() from mb/pg_wchar.h to utils/ascii.h", "evidence": {"same_day": true, "patch_ids": ["1bf86559d0664127b7bf520537e3878b"], "statement_hash": "eaf855ea809ed2767fb007e3065d006e8f103ab26945c15b482d97e070d603ee"}, "url": "/docs/compare/?release=15.6#15.6-049ad83bfee8018c", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}]}, {"id": "16.2-b9dcde36e4f352c5", "cves": [], "html": "<p>Fix compilation failures with <span>libxml2</span> version 2.12.0 and later (Tom Lane) <a href=\"https://postgr.es/c/e02fea093\">§</a></p>", "text": "Fix compilation failures with libxml2 version 2.12.0 and later (Tom Lane) §", "title": "Fix compilation failures with libxml2 version 2.12.0 and later", "commits": ["e02fea093"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "e21ccac75f3546aa4db5a501ea77eb0ad5545f5bfc0ff609074ce5a06e74ec97", "section_path": ["Changes"], "commit_groups": [["29e25a6b1", "3f8ac13b1", "400928b83", "7c53b1977", "b2fd1dab9", "e02fea093"]], "identity_text": "Fix compilation failures with libxml2 version 2.12.0 and later (Tom Lane)", "commit_aliases": ["29e25a6b1", "3f8ac13b1", "400928b83", "7c53b1977", "b2fd1dab9", "e02fea093"], "source_commits": ["e02fea093"], "source_entry_id": "16.2/changes/066", "db_id": "cf51a8d5908dd95461315a23ba0c3802", "patch_ids": ["c3068db00f8e4e1e01ad59212b7c05d8"], "statement_hash": "c24297547676c4f8ac71b5b4c7aafc41f3a4230c08ced5632a96ab2797eddbc1", "relations": [{"rule": 2, "type": "equivalent", "target": "5b023ed30bacc5f4fb787f48395c843c", "evidence": {"same_day": true, "patch_ids": ["c3068db00f8e4e1e01ad59212b7c05d8"], "statement_hash": "c24297547676c4f8ac71b5b4c7aafc41f3a4230c08ced5632a96ab2797eddbc1"}}, {"rule": 2, "type": "equivalent", "target": "84765c4db2cb2b24425ccefc7ba28835", "evidence": {"same_day": true, "patch_ids": ["c3068db00f8e4e1e01ad59212b7c05d8"], "statement_hash": "c24297547676c4f8ac71b5b4c7aafc41f3a4230c08ced5632a96ab2797eddbc1"}}, {"rule": 2, "type": "equivalent", "target": "a74d3fbfd01e0c53072646eafb436e28", "evidence": {"same_day": true, "patch_ids": ["c3068db00f8e4e1e01ad59212b7c05d8"], "statement_hash": "c24297547676c4f8ac71b5b4c7aafc41f3a4230c08ced5632a96ab2797eddbc1"}}, {"rule": 2, "type": "equivalent", "target": "cfa3857553a74ef417ebc674152e66cd", "evidence": {"same_day": true, "patch_ids": ["c3068db00f8e4e1e01ad59212b7c05d8"], "statement_hash": "c24297547676c4f8ac71b5b4c7aafc41f3a4230c08ced5632a96ab2797eddbc1"}}], "version": "16.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "84765c4db2cb2b24425ccefc7ba28835", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Fix compilation failures with libxml2 version 2.12.0 and later", "evidence": {"same_day": true, "patch_ids": ["c3068db00f8e4e1e01ad59212b7c05d8"], "statement_hash": "c24297547676c4f8ac71b5b4c7aafc41f3a4230c08ced5632a96ab2797eddbc1"}, "url": "/docs/compare/?release=15.6#15.6-578292a0f0dd28b9", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "cfa3857553a74ef417ebc674152e66cd", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Fix compilation failures with libxml2 version 2.12.0 and later", "evidence": {"same_day": true, "patch_ids": ["c3068db00f8e4e1e01ad59212b7c05d8"], "statement_hash": "c24297547676c4f8ac71b5b4c7aafc41f3a4230c08ced5632a96ab2797eddbc1"}, "url": "/docs/compare/?release=14.11#14.11-230caf5f7381826b", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}, {"db_id": "a74d3fbfd01e0c53072646eafb436e28", "kind": "equivalent", "version": "13.14", "label": "13.14", "title": "Fix compilation failures with libxml2 version 2.12.0 and later", "evidence": {"same_day": true, "patch_ids": ["c3068db00f8e4e1e01ad59212b7c05d8"], "statement_hash": "c24297547676c4f8ac71b5b4c7aafc41f3a4230c08ced5632a96ab2797eddbc1"}, "url": "/docs/compare/?release=13.14#13.14-5cc0e559e039d052", "source_url": "/docs/release/13.14/#id-1.11.6.15.5"}, {"db_id": "5b023ed30bacc5f4fb787f48395c843c", "kind": "equivalent", "version": "12.18", "label": "12.18", "title": "Fix compilation failures with libxml2 version 2.12.0 and later", "evidence": {"same_day": true, "patch_ids": ["c3068db00f8e4e1e01ad59212b7c05d8"], "statement_hash": "c24297547676c4f8ac71b5b4c7aafc41f3a4230c08ced5632a96ab2797eddbc1"}, "url": "/docs/compare/?release=12.18#12.18-25d5b332757b7fa1", "source_url": "/docs/release/12.18/#id-1.11.6.10.6"}]}, {"id": "16.2-8b50a3eca88c2305", "cves": [], "html": "<p>Fix compilation failure of <code>WAL_DEBUG</code> code on Windows (Bharath Rupireddy) <a href=\"https://postgr.es/c/6248a2bb9\">§</a></p>", "text": "Fix compilation failure of WAL_DEBUG code on Windows (Bharath Rupireddy) §", "title": "Fix compilation failure of WAL_DEBUG code on Windows", "commits": ["6248a2bb9"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "aab5a67c8d485adf2fb56361a3a38db9a8534e09c59a92caf7c97de2547c06f0", "section_path": ["Changes"], "commit_groups": [["6248a2bb9", "7636725b9", "7d5a74033", "87ed81a87", "c49b6cab1"]], "identity_text": "Fix compilation failure of WAL_DEBUG code on Windows (Bharath Rupireddy)", "commit_aliases": ["6248a2bb9", "7636725b9", "7d5a74033", "87ed81a87", "c49b6cab1"], "source_commits": ["6248a2bb9"], "source_entry_id": "16.2/changes/067", "db_id": "027a86f4702107495d259ee331d02bcb", "patch_ids": ["022827532688c908995e60e24cfa6e16"], "statement_hash": "87792dc421350af5ba9e40a71b3954e60a90cb3bbc6507b896a527c307712c29", "relations": [{"rule": 2, "type": "equivalent", "target": "62c12b150976d9e4a728590efdec7383", "evidence": {"same_day": true, "patch_ids": ["022827532688c908995e60e24cfa6e16"], "statement_hash": "87792dc421350af5ba9e40a71b3954e60a90cb3bbc6507b896a527c307712c29"}}, {"rule": 2, "type": "equivalent", "target": "eeb8d7afe7ee51660773ad6e82d5bd18", "evidence": {"same_day": true, "patch_ids": ["022827532688c908995e60e24cfa6e16"], "statement_hash": "87792dc421350af5ba9e40a71b3954e60a90cb3bbc6507b896a527c307712c29"}}, {"rule": 2, "type": "equivalent", "target": "f6f5eff34366ea7c9cbbb23d48ca6ed8", "evidence": {"same_day": true, "patch_ids": ["022827532688c908995e60e24cfa6e16"], "statement_hash": "87792dc421350af5ba9e40a71b3954e60a90cb3bbc6507b896a527c307712c29"}}], "version": "16.2", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "f6f5eff34366ea7c9cbbb23d48ca6ed8", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Fix compilation failure of WAL_DEBUG code on Windows", "evidence": {"same_day": true, "patch_ids": ["022827532688c908995e60e24cfa6e16"], "statement_hash": "87792dc421350af5ba9e40a71b3954e60a90cb3bbc6507b896a527c307712c29"}, "url": "/docs/compare/?release=15.6#15.6-69cb42c7e0537291", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "eeb8d7afe7ee51660773ad6e82d5bd18", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Fix compilation failure of WAL_DEBUG code on Windows", "evidence": {"same_day": true, "patch_ids": ["022827532688c908995e60e24cfa6e16"], "statement_hash": "87792dc421350af5ba9e40a71b3954e60a90cb3bbc6507b896a527c307712c29"}, "url": "/docs/compare/?release=14.11#14.11-9d36e93a60e9b065", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}, {"db_id": "62c12b150976d9e4a728590efdec7383", "kind": "equivalent", "version": "13.14", "label": "13.14", "title": "Fix compilation failure of WAL_DEBUG code on Windows", "evidence": {"same_day": true, "patch_ids": ["022827532688c908995e60e24cfa6e16"], "statement_hash": "87792dc421350af5ba9e40a71b3954e60a90cb3bbc6507b896a527c307712c29"}, "url": "/docs/compare/?release=13.14#13.14-8e51e1d841166f85", "source_url": "/docs/release/13.14/#id-1.11.6.15.5"}]}, {"id": "16.2-1f841c2a3a0e759a", "cves": [], "html": "<p>Suppress compiler warnings from Python's header files (Peter Eisentraut, Tom Lane) <a href=\"https://postgr.es/c/b0115e7e2\">§</a> <a href=\"https://postgr.es/c/c72049dbc\">§</a></p>\n<p>Our preferred compiler options provoke warnings about constructs appearing in recent versions of Python's header files. When using <span>gcc</span>, we can suppress these warnings with a pragma.</p>", "text": "Suppress compiler warnings from Python's header files (Peter Eisentraut, Tom Lane) § § Our preferred compiler options provoke warnings about constructs appearing in recent versions of Python's header files. When using gcc, we can suppress these warnings with a pragma.", "title": "Suppress compiler warnings from Python's header files", "commits": ["b0115e7e2", "c72049dbc"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "1efdd2df4506a4b9989d73a44ddbe5e25590fe4e42d429564fffdb4bebb9fce1", "section_path": ["Changes"], "commit_groups": [["1613e2fae", "48e797164", "58c3151bb", "5f8d6d709", "7978eee02", "b0115e7e2"], ["a46972e30", "c72049dbc"]], "identity_text": "Suppress compiler warnings from Python's header files (Peter Eisentraut, Tom Lane) Our preferred compiler options provoke warnings about constructs appearing in recent versions of Python's header files. When using gcc, we can suppress these warnings with a pragma.", "commit_aliases": ["1613e2fae", "48e797164", "58c3151bb", "5f8d6d709", "7978eee02", "a46972e30", "b0115e7e2", "c72049dbc"], "source_commits": ["b0115e7e2", "c72049dbc"], "source_entry_id": "16.2/changes/068", "db_id": "7aab31d140db77b63e20f63fab3c7226", "patch_ids": ["cc2e4cd52878c88c793cc6b854570752", "ce647614af681e740eb4f0bb231c518e"], "statement_hash": "be7583e43343143809ddbfb2e6688e2ce2ad8098d5a2a76ade77a174d24256dc", "relations": [{"rule": 2, "type": "equivalent", "target": "852ed81542d3d9b27d0161e5e9981cc7", "evidence": {"same_day": true, "patch_ids": ["cc2e4cd52878c88c793cc6b854570752", "ce647614af681e740eb4f0bb231c518e"], "statement_hash": "be7583e43343143809ddbfb2e6688e2ce2ad8098d5a2a76ade77a174d24256dc"}}, {"rule": 2, "type": "equivalent", "target": "954096699c950007ddb245ff03ff0b59", "evidence": {"same_day": true, "patch_ids": ["cc2e4cd52878c88c793cc6b854570752", "ce647614af681e740eb4f0bb231c518e"], "statement_hash": "be7583e43343143809ddbfb2e6688e2ce2ad8098d5a2a76ade77a174d24256dc"}}, {"rule": 2, "type": "equivalent", "target": "a341a2ebfecf616114635bbd56556a17", "evidence": {"same_day": true, "patch_ids": ["cc2e4cd52878c88c793cc6b854570752", "ce647614af681e740eb4f0bb231c518e"], "statement_hash": "be7583e43343143809ddbfb2e6688e2ce2ad8098d5a2a76ade77a174d24256dc"}}, {"rule": 2, "type": "equivalent", "target": "a41cccb943226c738e1b328908799d48", "evidence": {"same_day": true, "patch_ids": ["cc2e4cd52878c88c793cc6b854570752", "ce647614af681e740eb4f0bb231c518e"], "statement_hash": "be7583e43343143809ddbfb2e6688e2ce2ad8098d5a2a76ade77a174d24256dc"}}], "version": "16.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "852ed81542d3d9b27d0161e5e9981cc7", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Suppress compiler warnings from Python's header files", "evidence": {"same_day": true, "patch_ids": ["cc2e4cd52878c88c793cc6b854570752", "ce647614af681e740eb4f0bb231c518e"], "statement_hash": "be7583e43343143809ddbfb2e6688e2ce2ad8098d5a2a76ade77a174d24256dc"}, "url": "/docs/compare/?release=15.6#15.6-5990a632889fcc7d", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "a341a2ebfecf616114635bbd56556a17", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Suppress compiler warnings from Python's header files", "evidence": {"same_day": true, "patch_ids": ["cc2e4cd52878c88c793cc6b854570752", "ce647614af681e740eb4f0bb231c518e"], "statement_hash": "be7583e43343143809ddbfb2e6688e2ce2ad8098d5a2a76ade77a174d24256dc"}, "url": "/docs/compare/?release=14.11#14.11-29439e87a30e7f36", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}, {"db_id": "a41cccb943226c738e1b328908799d48", "kind": "equivalent", "version": "13.14", "label": "13.14", "title": "Suppress compiler warnings from Python's header files", "evidence": {"same_day": true, "patch_ids": ["cc2e4cd52878c88c793cc6b854570752", "ce647614af681e740eb4f0bb231c518e"], "statement_hash": "be7583e43343143809ddbfb2e6688e2ce2ad8098d5a2a76ade77a174d24256dc"}, "url": "/docs/compare/?release=13.14#13.14-25aeba382ae85c87", "source_url": "/docs/release/13.14/#id-1.11.6.15.5"}, {"db_id": "954096699c950007ddb245ff03ff0b59", "kind": "equivalent", "version": "12.18", "label": "12.18", "title": "Suppress compiler warnings from Python's header files", "evidence": {"same_day": true, "patch_ids": ["cc2e4cd52878c88c793cc6b854570752", "ce647614af681e740eb4f0bb231c518e"], "statement_hash": "be7583e43343143809ddbfb2e6688e2ce2ad8098d5a2a76ade77a174d24256dc"}, "url": "/docs/compare/?release=12.18#12.18-ba7d9137d000264f", "source_url": "/docs/release/12.18/#id-1.11.6.10.6"}]}, {"id": "16.2-a360209be5141d14", "cves": [], "html": "<p>Avoid deprecation warning when compiling with LLVM 18 (Thomas Munro) <a href=\"https://postgr.es/c/60ba7cae7\">§</a></p>", "text": "Avoid deprecation warning when compiling with LLVM 18 (Thomas Munro) §", "title": "Avoid deprecation warning when compiling with LLVM 18", "commits": ["60ba7cae7"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "4259ae36fab811ba98b81227069ed95ef8934621d59c470edce02dbf1c3071f8", "section_path": ["Changes"], "commit_groups": [["364283c92", "60ba7cae7", "67f7aaa38", "70a82f40a", "d060cb658", "d282e88e5"]], "identity_text": "Avoid deprecation warning when compiling with LLVM 18 (Thomas Munro)", "commit_aliases": ["364283c92", "60ba7cae7", "67f7aaa38", "70a82f40a", "d060cb658", "d282e88e5"], "source_commits": ["60ba7cae7"], "source_entry_id": "16.2/changes/069", "db_id": "38cf791b99b2210f2c266f40a8f67536", "patch_ids": ["62590aec0a16f94a7a8f03888db6a2b4"], "statement_hash": "98e4b8ae0f557b68a31d2d03ab7a859e39a66bb28d541809440301e6a2e65f5e", "relations": [{"rule": 2, "type": "equivalent", "target": "07b2cc619138096345010991487d75c2", "evidence": {"same_day": true, "patch_ids": ["62590aec0a16f94a7a8f03888db6a2b4"], "statement_hash": "98e4b8ae0f557b68a31d2d03ab7a859e39a66bb28d541809440301e6a2e65f5e"}}, {"rule": 2, "type": "equivalent", "target": "424ab5c3dd6eee398b813cdf12d9b14d", "evidence": {"same_day": true, "patch_ids": ["62590aec0a16f94a7a8f03888db6a2b4"], "statement_hash": "98e4b8ae0f557b68a31d2d03ab7a859e39a66bb28d541809440301e6a2e65f5e"}}, {"rule": 2, "type": "equivalent", "target": "441367980f74dbbac5d3e8a2ef709734", "evidence": {"same_day": true, "patch_ids": ["62590aec0a16f94a7a8f03888db6a2b4"], "statement_hash": "98e4b8ae0f557b68a31d2d03ab7a859e39a66bb28d541809440301e6a2e65f5e"}}, {"rule": 2, "type": "equivalent", "target": "52ecf09ff2e503c183ee0ffe79ec0197", "evidence": {"same_day": true, "patch_ids": ["62590aec0a16f94a7a8f03888db6a2b4"], "statement_hash": "98e4b8ae0f557b68a31d2d03ab7a859e39a66bb28d541809440301e6a2e65f5e"}}], "version": "16.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "07b2cc619138096345010991487d75c2", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Avoid deprecation warning when compiling with LLVM 18", "evidence": {"same_day": true, "patch_ids": ["62590aec0a16f94a7a8f03888db6a2b4"], "statement_hash": "98e4b8ae0f557b68a31d2d03ab7a859e39a66bb28d541809440301e6a2e65f5e"}, "url": "/docs/compare/?release=15.6#15.6-310a2d24692789ec", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "441367980f74dbbac5d3e8a2ef709734", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Avoid deprecation warning when compiling with LLVM 18", "evidence": {"same_day": true, "patch_ids": ["62590aec0a16f94a7a8f03888db6a2b4"], "statement_hash": "98e4b8ae0f557b68a31d2d03ab7a859e39a66bb28d541809440301e6a2e65f5e"}, "url": "/docs/compare/?release=14.11#14.11-5765a26271a1f411", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}, {"db_id": "424ab5c3dd6eee398b813cdf12d9b14d", "kind": "equivalent", "version": "13.14", "label": "13.14", "title": "Avoid deprecation warning when compiling with LLVM 18", "evidence": {"same_day": true, "patch_ids": ["62590aec0a16f94a7a8f03888db6a2b4"], "statement_hash": "98e4b8ae0f557b68a31d2d03ab7a859e39a66bb28d541809440301e6a2e65f5e"}, "url": "/docs/compare/?release=13.14#13.14-3d01be243b5e5b12", "source_url": "/docs/release/13.14/#id-1.11.6.15.5"}, {"db_id": "52ecf09ff2e503c183ee0ffe79ec0197", "kind": "equivalent", "version": "12.18", "label": "12.18", "title": "Avoid deprecation warning when compiling with LLVM 18", "evidence": {"same_day": true, "patch_ids": ["62590aec0a16f94a7a8f03888db6a2b4"], "statement_hash": "98e4b8ae0f557b68a31d2d03ab7a859e39a66bb28d541809440301e6a2e65f5e"}, "url": "/docs/compare/?release=12.18#12.18-c691a771a4885e10", "source_url": "/docs/release/12.18/#id-1.11.6.10.6"}]}, {"id": "16.2-4a392c3f7e46b545", "cves": [], "html": "<p>Update time zone data files to <span>tzdata</span> release 2024a for DST law changes in Greenland, Kazakhstan, and Palestine, plus corrections for the Antarctic stations Casey and Vostok. Also historical corrections for Vietnam, Toronto, and Miquelon. (Tom Lane) <a href=\"https://postgr.es/c/b4fb76fb5\">§</a></p>", "text": "Update time zone data files to tzdata release 2024a for DST law changes in Greenland, Kazakhstan, and Palestine, plus corrections for the Antarctic stations Casey and Vostok. Also historical corrections for Vietnam, Toronto, and Miquelon. (Tom Lane) §", "title": "Update time zone data files to tzdata release 2024a for DST law changes in Greenland, Kazakhstan, and Palestine, plus corrections for the Antarctic stations Casey and Vostok. Also historical corrections for Vietnam, Toronto, and Miquelon.", "commits": ["b4fb76fb5"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES", "source_hash": "d5a71006b8a70977ef7fa2abc00d435f941ca9827f79db9f954fa8295bfd9fd8", "section_path": ["Changes"], "commit_groups": [["272a7c303", "35b8b2c4a", "970b1aeeb", "ac3afc3f7", "b4fb76fb5", "b59ae79b7"]], "identity_text": "Update time zone data files to tzdata release 2024a for DST law changes in Greenland, Kazakhstan, and Palestine, plus corrections for the Antarctic stations Casey and Vostok. Also historical corrections for Vietnam, Toronto, and Miquelon. (Tom Lane)", "commit_aliases": ["272a7c303", "35b8b2c4a", "970b1aeeb", "ac3afc3f7", "b4fb76fb5", "b59ae79b7"], "source_commits": ["b4fb76fb5"], "source_entry_id": "16.2/changes/070", "db_id": "426b3a43b768dc823f4a36a714eac17e", "patch_ids": ["c9211f023d841b87aaec6289a28b7882"], "statement_hash": "5153f2e47f97cf80ee445cf8a3567e7ee99fe4574fbc1f09a5a84bbd1d5ddeef", "relations": [{"rule": 2, "type": "equivalent", "target": "49a4ae4ab31e8e73c07ad6e3458b93d2", "evidence": {"same_day": true, "patch_ids": ["c9211f023d841b87aaec6289a28b7882"], "statement_hash": "5153f2e47f97cf80ee445cf8a3567e7ee99fe4574fbc1f09a5a84bbd1d5ddeef"}}, {"rule": 2, "type": "equivalent", "target": "51de5d170db40b14ddb7b74efa896319", "evidence": {"same_day": true, "patch_ids": ["c9211f023d841b87aaec6289a28b7882"], "statement_hash": "5153f2e47f97cf80ee445cf8a3567e7ee99fe4574fbc1f09a5a84bbd1d5ddeef"}}, {"rule": 2, "type": "equivalent", "target": "56ed1ab3c922815168f213dca6bcbda8", "evidence": {"same_day": true, "patch_ids": ["c9211f023d841b87aaec6289a28b7882"], "statement_hash": "5153f2e47f97cf80ee445cf8a3567e7ee99fe4574fbc1f09a5a84bbd1d5ddeef"}}, {"rule": 2, "type": "equivalent", "target": "a62371416253ddeb63d47c8450f87d6f", "evidence": {"same_day": true, "patch_ids": ["c9211f023d841b87aaec6289a28b7882"]}}], "version": "16.2", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "49a4ae4ab31e8e73c07ad6e3458b93d2", "kind": "equivalent", "version": "15.6", "label": "15.6", "title": "Update time zone data files to tzdata release 2024a for DST law changes in Greenland, Kazakhstan, and Palestine, plus corrections for the Antarctic stations Casey and Vostok. Also historical corrections for Vietnam, Toronto, and Miquelon.", "evidence": {"same_day": true, "patch_ids": ["c9211f023d841b87aaec6289a28b7882"], "statement_hash": "5153f2e47f97cf80ee445cf8a3567e7ee99fe4574fbc1f09a5a84bbd1d5ddeef"}, "url": "/docs/compare/?release=15.6#15.6-958d2d41c82492fe", "source_url": "/docs/release/15.6/#id-1.11.6.19.5"}, {"db_id": "56ed1ab3c922815168f213dca6bcbda8", "kind": "equivalent", "version": "14.11", "label": "14.11", "title": "Update time zone data files to tzdata release 2024a for DST law changes in Greenland, Kazakhstan, and Palestine, plus corrections for the Antarctic stations Casey and Vostok. Also historical corrections for Vietnam, Toronto, and Miquelon.", "evidence": {"same_day": true, "patch_ids": ["c9211f023d841b87aaec6289a28b7882"], "statement_hash": "5153f2e47f97cf80ee445cf8a3567e7ee99fe4574fbc1f09a5a84bbd1d5ddeef"}, "url": "/docs/compare/?release=14.11#14.11-278be291ed45b115", "source_url": "/docs/release/14.11/#id-1.11.6.19.5"}, {"db_id": "51de5d170db40b14ddb7b74efa896319", "kind": "equivalent", "version": "13.14", "label": "13.14", "title": "Update time zone data files to tzdata release 2024a for DST law changes in Greenland, Kazakhstan, and Palestine, plus corrections for the Antarctic stations Casey and Vostok. Also historical corrections for Vietnam, Toronto, and Miquelon.", "evidence": {"same_day": true, "patch_ids": ["c9211f023d841b87aaec6289a28b7882"], "statement_hash": "5153f2e47f97cf80ee445cf8a3567e7ee99fe4574fbc1f09a5a84bbd1d5ddeef"}, "url": "/docs/compare/?release=13.14#13.14-3d06a8fc4b93b5e9", "source_url": "/docs/release/13.14/#id-1.11.6.15.5"}, {"db_id": "a62371416253ddeb63d47c8450f87d6f", "kind": "equivalent", "version": "12.18", "label": "12.18", "title": "Update time zone data files to tzdata release 2024a for DST law changes in Greenland, Kazakhstan, and Palestine, plus corrections for the Antarctic stations Casey and Vostok. Also historical corrections for Vietnam, Toronto, and Miquelon", "evidence": {"same_day": true, "patch_ids": ["c9211f023d841b87aaec6289a28b7882"]}, "url": "/docs/compare/?release=12.18#12.18-b31932417e5ba000", "source_url": "/docs/release/12.18/#id-1.11.6.10.6"}]}]}], "stats": [{"key": "all", "label": "All changes", "count": 70}, {"key": "feature", "label": "Features", "count": 0}, {"key": "bugfix", "label": "Bug fixes", "count": 30}, {"key": "security", "label": "Security", "count": 1}, {"key": "performance", "label": "Performance", "count": 0}, {"key": "compatibility", "label": "Compatibility", "count": 0}, {"key": "improvement", "label": "Improvements", "count": 39}], "total": 70, "release_count": 1, "cross_major": false, "cve_count": 1, "cves": [{"id": "CVE-2024-0985", "url": "https://www.postgresql.org/support/security/CVE-2024-0985/", "fixed": {"12": "12.18", "13": "13.14", "14": "14.11", "15": "15.6", "16": "16.2"}, "score": 8.0, "title": "Tighten security restrictions within REFRESH MATERIALIZED VIEW CONCURRENTLY", "vector": "AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H", "cna_url": "https://cveawg.mitre.org/api/cve/CVE-2024-0985", "affected": {"12": "12", "13": "13", "14": "14", "15": "15", "16": "16"}, "component": "core server", "published": {"12": "2024-02-08", "13": "2024-02-08", "14": "2024-02-08", "15": "2024-02-08", "16": "2024-02-08"}, "introduced": {}, "cvss_version": "3.0", "description_en": "UPDATE (June 19, 2024) : Added v16 as impacted. Updated description to clarify the attack vector.\n\nLate privilege drop in REFRESH MATERIALIZED VIEW CONCURRENTLY in PostgreSQL allows an object creator to execute arbitrary SQL functions as the command issuer. The command intends to run SQL functions as the owner of the materialized view, enabling safe refresh of untrusted materialized views. The victim is a superuser or member of one of the attacker's roles. The attack requires luring the victim into running REFRESH MATERIALIZED VIEW CONCURRENTLY on the attacker's materialized view.", "affected_ranges": [{"from": "0", "until": "12.18"}, {"from": "13", "until": "13.14"}, {"from": "14", "until": "14.11"}, {"from": "15", "until": "15.6"}, {"from": "16", "until": "16.2"}], "first_published": "2024-02-08", "fixed_version": "16.2"}], "cve_available": true, "remaining_cves": [], "security_regressions": [], "warnings": [], "candidate_count": 70, "already_in_source_count": 0, "duplicate_count": 0, "excluded_count": 0, "exclusions": [], "source_as_of": "2026-09-26", "security_as_of": "2026-09-26"}