{"format": 1, "mode": "release", "from_release": null, "to_release": {"date": "2022-06-16", "build": "14.4", "major": "14", "minor": 4, "manual": "14", "status": "stable", "doc_git": "", "version": "14.4", "eol_date": "2026-11-12", "date_text": "2022-06-16", "supported": true, "manual_url": "/docs/14/release-14-4.html", "source_url": "/docs/release/14.4/", "entry_count": 19, "placeholder": false, "content_hash": "a5e8c0e53350ce91c866b754f4a13e4758bf2b4b78899630cba93d4ded631345", "manual_build": "14.24", "source_as_of": "", "changes_count": 19, "doc_loaded_at": "2026-09-25T02:22:44.760693", "migration_html": "<p>A dump/restore is not required for those running 14.X.</p>\n<p>However, if you have any indexes that were created using the <code>CONCURRENTLY</code> option under 14.X, you should re-index them after updating. See the first changelog entry below.</p>\n<p>Also, if you are upgrading from a version earlier than 14.3, see <a href=\"/docs/14/release-14-3.html\" title=\"E.22. Release 14.3\">Section E.22</a>.</p>", "compatibility_count": 0, "label": "14.4", "status_label": "Supported", "eol": "2026-11-12", "age_days": 1566, "support_days": 44}, "groups": [{"date": "2022-06-16", "build": "14.4", "major": "14", "minor": 4, "manual": "14", "status": "stable", "doc_git": "", "version": "14.4", "eol_date": "2026-11-12", "date_text": "2022-06-16", "supported": true, "manual_url": "/docs/14/release-14-4.html", "source_url": "/docs/release/14.4/", "entry_count": 19, "placeholder": false, "content_hash": "a5e8c0e53350ce91c866b754f4a13e4758bf2b4b78899630cba93d4ded631345", "manual_build": "14.24", "source_as_of": "", "changes_count": 19, "doc_loaded_at": "2026-09-25T02:22:44.760693", "migration_html": "<p>A dump/restore is not required for those running 14.X.</p>\n<p>However, if you have any indexes that were created using the <code>CONCURRENTLY</code> option under 14.X, you should re-index them after updating. See the first changelog entry below.</p>\n<p>Also, if you are upgrading from a version earlier than 14.3, see <a href=\"/docs/14/release-14-3.html\" title=\"E.22. Release 14.3\">Section E.22</a>.</p>", "compatibility_count": 0, "label": "14.4", "status_label": "Supported", "eol": "2026-11-12", "age_days": 1566, "support_days": 44, "entries": [{"id": "14.4-5ac6da95bbe21802", "cves": [], "html": "<p>Prevent possible corruption of indexes created or rebuilt with the <code>CONCURRENTLY</code> option (Álvaro Herrera) <a href=\"https://postgr.es/c/042b584c7\">§</a></p>\n<p>An optimization added in v14 caused <code>CREATE INDEX ... CONCURRENTLY</code> and <code>REINDEX ... CONCURRENTLY</code> to sometimes miss indexing rows that were updated during the index build. Revert that optimization. It is recommended that any indexes made with the <code>CONCURRENTLY</code> option be rebuilt after installing this update. (Alternatively, rebuild them without <code>CONCURRENTLY</code>.)</p>", "text": "Prevent possible corruption of indexes created or rebuilt with the CONCURRENTLY option (Álvaro Herrera) § An optimization added in v14 caused CREATE INDEX ... CONCURRENTLY and REINDEX ... CONCURRENTLY to sometimes miss indexing rows that were updated during the index build. Revert that optimization. It is recommended that any indexes made with the CONCURRENTLY option be rebuilt after installing this update. (Alternatively, rebuild them without CONCURRENTLY.)", "title": "Prevent possible corruption of indexes created or rebuilt with the CONCURRENTLY option", "commits": ["042b584c7"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.4/#id-1.11.6.26.5", "source_hash": "9f6f78c5e930015a412abf9355ca517b54cf56b340c47c790b7b4be0d92037e9", "section_path": ["Changes"], "commit_groups": [["042b584c7", "e28bb8851"]], "identity_text": "Prevent possible corruption of indexes created or rebuilt with the CONCURRENTLY option (Álvaro Herrera) An optimization added in v14 caused CREATE INDEX ... CONCURRENTLY and REINDEX ... CONCURRENTLY to sometimes miss indexing rows that were updated during the index build. Revert that optimization. It is recommended that any indexes made with the CONCURRENTLY option be rebuilt after installing this update. (Alternatively, rebuild them without CONCURRENTLY.)", "commit_aliases": ["042b584c7", "e28bb8851"], "source_commits": ["042b584c7"], "source_entry_id": "14.4/changes/001", "db_id": "082f18c84b9f39b11b0d5ca1a31feca2", "patch_ids": ["85c712c5f0129622922db49f9c720b97"], "statement_hash": "8ef3a88554194dc0ab029a0d7a37bcb5cf9e8848f74602d4c35ba5a07f7eb213", "relations": [], "version": "14.4", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.4-dd1b112cbcb1ecc8", "cves": [], "html": "<p>Harden Memoize plan node against non-deterministic equality functions (David Rowley) <a href=\"https://postgr.es/c/cbcea3b91\">§</a></p>\n<p>Memoize could crash if a data type's equality or hash functions gave inconsistent results across different calls. Throw a runtime error instead.</p>", "text": "Harden Memoize plan node against non-deterministic equality functions (David Rowley) § Memoize could crash if a data type's equality or hash functions gave inconsistent results across different calls. Throw a runtime error instead.", "title": "Harden Memoize plan node against non-deterministic equality functions", "commits": ["cbcea3b91"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.4/#id-1.11.6.26.5", "source_hash": "be4c9558c09fcd4bc2e615aafb1f2dd89832ca2c1218d4fe8b4e71282b5d8090", "section_path": ["Changes"], "commit_groups": [["cbcea3b91", "fa5185b26"]], "identity_text": "Harden Memoize plan node against non-deterministic equality functions (David Rowley) Memoize could crash if a data type's equality or hash functions gave inconsistent results across different calls. Throw a runtime error instead.", "commit_aliases": ["cbcea3b91", "fa5185b26"], "source_commits": ["cbcea3b91"], "source_entry_id": "14.4/changes/002", "db_id": "d8b2e6dcbd5e951d86d7665cd3156351", "patch_ids": ["8eaca48f1b75c862e7448b84db48c070"], "statement_hash": "e66db84a015987791db54ea46db51124d7422d017d709f8bb9306b801f16178f", "relations": [], "version": "14.4", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.4-e554a3c981ecdd29", "cves": [], "html": "<p>Fix incorrect cost estimates for Memoize plans (David Rowley) <a href=\"https://postgr.es/c/23c2b76a8\">§</a></p>\n<p>This mistake could lead to Memoize being used when it isn't really the best plan, or to very long executor startup times due to initializing an overly-large hash table for a Memoize node.</p>", "text": "Fix incorrect cost estimates for Memoize plans (David Rowley) § This mistake could lead to Memoize being used when it isn't really the best plan, or to very long executor startup times due to initializing an overly-large hash table for a Memoize node.", "title": "Fix incorrect cost estimates for Memoize plans", "commits": ["23c2b76a8"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.4/#id-1.11.6.26.5", "source_hash": "83c007202d1df0ccf708a4f667d23b8577ee59fc3bf1394477733ef297b2e482", "section_path": ["Changes"], "commit_groups": [["1e731ed12", "23c2b76a8"]], "identity_text": "Fix incorrect cost estimates for Memoize plans (David Rowley) This mistake could lead to Memoize being used when it isn't really the best plan, or to very long executor startup times due to initializing an overly-large hash table for a Memoize node.", "commit_aliases": ["1e731ed12", "23c2b76a8"], "source_commits": ["23c2b76a8"], "source_entry_id": "14.4/changes/003", "db_id": "66ceb2a9671950d2933e79a7b4d75885", "patch_ids": ["9099f0cb68e85033e1b946bb7c37382f"], "statement_hash": "4c76b0c4c9d1f982995f9cbf18ebadbcebd8c48e6b797e0b6739056417224699", "relations": [], "version": "14.4", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.4-0c9e3885001069b1", "cves": [], "html": "<p>Fix queries in which a <span>“<span>whole-row variable</span>”</span> references the result of a function that returns a domain over composite type (Tom Lane) <a href=\"https://postgr.es/c/77c1d92cb\">§</a></p>", "text": "Fix queries in which a “whole-row variable” references the result of a function that returns a domain over composite type (Tom Lane) §", "title": "Fix queries in which a “whole-row variable” references the result of a function that returns a domain over composite type", "commits": ["77c1d92cb"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.4/#id-1.11.6.26.5", "source_hash": "1ef4f2c514b41ecd200635b4f8a8ca02f7c3fe2e33eab0ed95a825de519e1d03", "section_path": ["Changes"], "commit_groups": [["1218780cc", "199aac8b2", "254cd7f31", "77c1d92cb", "d3ef5c3ef"]], "identity_text": "Fix queries in which a whole-row variable references the result of a function that returns a domain over composite type (Tom Lane)", "commit_aliases": ["1218780cc", "199aac8b2", "254cd7f31", "77c1d92cb", "d3ef5c3ef"], "source_commits": ["77c1d92cb"], "source_entry_id": "14.4/changes/004", "db_id": "0a6d4e2e5dc07a3bcb6eca8cf6ddadc0", "patch_ids": ["51d7b41fce0d47c9c4ae18945c7aec6b"], "statement_hash": "f5ea095d9134daf52abae195e003fdf71711430459badb1005c1400f3fdb9e2b", "relations": [{"rule": 2, "type": "equivalent", "target": "2715d5d7fa23e626decd1a6f9533ba78", "evidence": {"same_day": false, "patch_ids": ["51d7b41fce0d47c9c4ae18945c7aec6b"], "statement_hash": "f5ea095d9134daf52abae195e003fdf71711430459badb1005c1400f3fdb9e2b"}}, {"rule": 2, "type": "equivalent", "target": "3eceed07396e504740e2f516b576d5a4", "evidence": {"same_day": false, "patch_ids": ["51d7b41fce0d47c9c4ae18945c7aec6b"], "statement_hash": "f5ea095d9134daf52abae195e003fdf71711430459badb1005c1400f3fdb9e2b"}}, {"rule": 2, "type": "equivalent", "target": "dba584dfbf44825e073ad5b5c532f321", "evidence": {"same_day": false, "patch_ids": ["51d7b41fce0d47c9c4ae18945c7aec6b"], "statement_hash": "f5ea095d9134daf52abae195e003fdf71711430459badb1005c1400f3fdb9e2b"}}], "version": "14.4", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "2715d5d7fa23e626decd1a6f9533ba78", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "Fix queries in which a “whole-row variable” references the result of a function that returns a domain over composite type", "evidence": {"same_day": false, "patch_ids": ["51d7b41fce0d47c9c4ae18945c7aec6b"], "statement_hash": "f5ea095d9134daf52abae195e003fdf71711430459badb1005c1400f3fdb9e2b"}, "url": "/docs/compare/?release=13.8#13.8-50726d68310ba0be", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "3eceed07396e504740e2f516b576d5a4", "kind": "equivalent", "version": "12.12", "label": "12.12", "title": "Fix queries in which a “whole-row variable” references the result of a function that returns a domain over composite type", "evidence": {"same_day": false, "patch_ids": ["51d7b41fce0d47c9c4ae18945c7aec6b"], "statement_hash": "f5ea095d9134daf52abae195e003fdf71711430459badb1005c1400f3fdb9e2b"}, "url": "/docs/compare/?release=12.12#12.12-77cd15dba68234b7", "source_url": "/docs/release/12.12/#id-1.11.6.16.5"}, {"db_id": "dba584dfbf44825e073ad5b5c532f321", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "Fix queries in which a “whole-row variable” references the result of a function that returns a domain over composite type", "evidence": {"same_day": false, "patch_ids": ["51d7b41fce0d47c9c4ae18945c7aec6b"], "statement_hash": "f5ea095d9134daf52abae195e003fdf71711430459badb1005c1400f3fdb9e2b"}, "url": "/docs/compare/?release=11.17#11.17-346c40101c54eb47", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}]}, {"id": "14.4-b447fc5799dd6dff", "cves": [], "html": "<p>Fix <span>“<span>variable not found in subplan target list</span>”</span> planner error when pulling up a sub-<code>SELECT</code> that's referenced in a <code>GROUPING</code> function (Richard Guo) <a href=\"https://postgr.es/c/ac51c9fba\">§</a></p>", "text": "Fix “variable not found in subplan target list” planner error when pulling up a sub-SELECT that's referenced in a GROUPING function (Richard Guo) §", "title": "Fix “variable not found in subplan target list” planner error when pulling up a sub-SELECT that's referenced in a GROUPING function", "commits": ["ac51c9fba"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.4/#id-1.11.6.26.5", "source_hash": "e9c2ee228cbd8afabb1b7574d01768ce9c6f1ddb8a3d911ae13a55dc73a8053f", "section_path": ["Changes"], "commit_groups": [["301b91c56", "79b58c6f6", "7f7f1750d", "ac51c9fba", "b53442f6f", "b7579b25c"]], "identity_text": "Fix variable not found in subplan target list planner error when pulling up a sub-SELECT that's referenced in a GROUPING function (Richard Guo)", "commit_aliases": ["301b91c56", "79b58c6f6", "7f7f1750d", "ac51c9fba", "b53442f6f", "b7579b25c"], "source_commits": ["ac51c9fba"], "source_entry_id": "14.4/changes/005", "db_id": "270df56feaedbbacf9dd5f5ae3d67663", "patch_ids": ["f7c8eddb4b46334cd940960efb577a92"], "statement_hash": "f1870dc18c9de1f38427ef2d0e6c7ad5f678a1caa5959ecdf490795627ba8a12", "relations": [{"rule": 2, "type": "equivalent", "target": "3e1fc0407079adc134fb84e2cd2fd098", "evidence": {"same_day": false, "patch_ids": ["f7c8eddb4b46334cd940960efb577a92"], "statement_hash": "f1870dc18c9de1f38427ef2d0e6c7ad5f678a1caa5959ecdf490795627ba8a12"}}, {"rule": 2, "type": "equivalent", "target": "3ebf1da3c1bec8887c59e66653e663dc", "evidence": {"same_day": false, "patch_ids": ["f7c8eddb4b46334cd940960efb577a92"], "statement_hash": "f1870dc18c9de1f38427ef2d0e6c7ad5f678a1caa5959ecdf490795627ba8a12"}}, {"rule": 2, "type": "equivalent", "target": "5d2b06adbdf7fdd32a87835d06909207", "evidence": {"same_day": false, "patch_ids": ["f7c8eddb4b46334cd940960efb577a92"], "statement_hash": "f1870dc18c9de1f38427ef2d0e6c7ad5f678a1caa5959ecdf490795627ba8a12"}}, {"rule": 2, "type": "equivalent", "target": "ec1b7d59eeee7e177e1970ec8f3e0194", "evidence": {"same_day": false, "patch_ids": ["f7c8eddb4b46334cd940960efb577a92"], "statement_hash": "f1870dc18c9de1f38427ef2d0e6c7ad5f678a1caa5959ecdf490795627ba8a12"}}], "version": "14.4", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "3e1fc0407079adc134fb84e2cd2fd098", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "Fix “variable not found in subplan target list” planner error when pulling up a sub-SELECT that's referenced in a GROUPING function", "evidence": {"same_day": false, "patch_ids": ["f7c8eddb4b46334cd940960efb577a92"], "statement_hash": "f1870dc18c9de1f38427ef2d0e6c7ad5f678a1caa5959ecdf490795627ba8a12"}, "url": "/docs/compare/?release=13.8#13.8-7963cc2b0388fba8", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "ec1b7d59eeee7e177e1970ec8f3e0194", "kind": "equivalent", "version": "12.12", "label": "12.12", "title": "Fix “variable not found in subplan target list” planner error when pulling up a sub-SELECT that's referenced in a GROUPING function", "evidence": {"same_day": false, "patch_ids": ["f7c8eddb4b46334cd940960efb577a92"], "statement_hash": "f1870dc18c9de1f38427ef2d0e6c7ad5f678a1caa5959ecdf490795627ba8a12"}, "url": "/docs/compare/?release=12.12#12.12-2e869022f4df7d4e", "source_url": "/docs/release/12.12/#id-1.11.6.16.5"}, {"db_id": "3ebf1da3c1bec8887c59e66653e663dc", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "Fix “variable not found in subplan target list” planner error when pulling up a sub-SELECT that's referenced in a GROUPING function", "evidence": {"same_day": false, "patch_ids": ["f7c8eddb4b46334cd940960efb577a92"], "statement_hash": "f1870dc18c9de1f38427ef2d0e6c7ad5f678a1caa5959ecdf490795627ba8a12"}, "url": "/docs/compare/?release=11.17#11.17-6fe50195c6ba6ccf", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "5d2b06adbdf7fdd32a87835d06909207", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "Fix “variable not found in subplan target list” planner error when pulling up a sub-SELECT that's referenced in a GROUPING function", "evidence": {"same_day": false, "patch_ids": ["f7c8eddb4b46334cd940960efb577a92"], "statement_hash": "f1870dc18c9de1f38427ef2d0e6c7ad5f678a1caa5959ecdf490795627ba8a12"}, "url": "/docs/compare/?release=10.22#10.22-6fe50195c6ba6ccf", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "14.4-5c87f8885e89afb5", "cves": [], "html": "<p>Prevent <code>pg_stat_get_subscription()</code> from possibly returning an extra row containing garbage values (Kuntal Ghosh) <a href=\"https://postgr.es/c/5c3b5f7db\">§</a></p>", "text": "Prevent pg_stat_get_subscription() from possibly returning an extra row containing garbage values (Kuntal Ghosh) §", "title": "Prevent pg_stat_get_subscription() from possibly returning an extra row containing garbage values", "commits": ["5c3b5f7db"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.4/#id-1.11.6.26.5", "source_hash": "0f0be17c9d4ab5876046b414c96bd8dfe0d78f042bf50ad5f3c4a0a3d6a6ce7b", "section_path": ["Changes"], "commit_groups": [["435251b85", "5c3b5f7db", "a36196972", "bf4717b09", "d628ce048", "fb646cbd5"]], "identity_text": "Prevent pg_stat_get_subscription() from possibly returning an extra row containing garbage values (Kuntal Ghosh)", "commit_aliases": ["435251b85", "5c3b5f7db", "a36196972", "bf4717b09", "d628ce048", "fb646cbd5"], "source_commits": ["5c3b5f7db"], "source_entry_id": "14.4/changes/006", "db_id": "ee8923fb2ef35829290a311870639d99", "patch_ids": ["e58ac21a56bb415ac5bda28ffa577be5"], "statement_hash": "c8ac2dca4ec0a441436c658d4756f19dab9db63cba92ce282c8bc6dbbd20dc7a", "relations": [{"rule": 2, "type": "equivalent", "target": "13961e1bd87dbb0b588679dda60fb184", "evidence": {"same_day": false, "patch_ids": ["e58ac21a56bb415ac5bda28ffa577be5"], "statement_hash": "c8ac2dca4ec0a441436c658d4756f19dab9db63cba92ce282c8bc6dbbd20dc7a"}}, {"rule": 2, "type": "equivalent", "target": "47db1e2fecdbb9f828ab575fa0c54020", "evidence": {"same_day": false, "patch_ids": ["e58ac21a56bb415ac5bda28ffa577be5"], "statement_hash": "c8ac2dca4ec0a441436c658d4756f19dab9db63cba92ce282c8bc6dbbd20dc7a"}}, {"rule": 2, "type": "equivalent", "target": "7c00cba5230e85d84e5a09d3f2a16a2e", "evidence": {"same_day": false, "patch_ids": ["e58ac21a56bb415ac5bda28ffa577be5"], "statement_hash": "c8ac2dca4ec0a441436c658d4756f19dab9db63cba92ce282c8bc6dbbd20dc7a"}}, {"rule": 2, "type": "equivalent", "target": "adc075e5952807492ebed310fbea961d", "evidence": {"same_day": false, "patch_ids": ["e58ac21a56bb415ac5bda28ffa577be5"], "statement_hash": "c8ac2dca4ec0a441436c658d4756f19dab9db63cba92ce282c8bc6dbbd20dc7a"}}], "version": "14.4", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "adc075e5952807492ebed310fbea961d", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "Prevent pg_stat_get_subscription() from possibly returning an extra row containing garbage values", "evidence": {"same_day": false, "patch_ids": ["e58ac21a56bb415ac5bda28ffa577be5"], "statement_hash": "c8ac2dca4ec0a441436c658d4756f19dab9db63cba92ce282c8bc6dbbd20dc7a"}, "url": "/docs/compare/?release=13.8#13.8-5f2bac0ad7f1eb8f", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "7c00cba5230e85d84e5a09d3f2a16a2e", "kind": "equivalent", "version": "12.12", "label": "12.12", "title": "Prevent pg_stat_get_subscription() from possibly returning an extra row containing garbage values", "evidence": {"same_day": false, "patch_ids": ["e58ac21a56bb415ac5bda28ffa577be5"], "statement_hash": "c8ac2dca4ec0a441436c658d4756f19dab9db63cba92ce282c8bc6dbbd20dc7a"}, "url": "/docs/compare/?release=12.12#12.12-eaf89439508f29ec", "source_url": "/docs/release/12.12/#id-1.11.6.16.5"}, {"db_id": "13961e1bd87dbb0b588679dda60fb184", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "Prevent pg_stat_get_subscription() from possibly returning an extra row containing garbage values", "evidence": {"same_day": false, "patch_ids": ["e58ac21a56bb415ac5bda28ffa577be5"], "statement_hash": "c8ac2dca4ec0a441436c658d4756f19dab9db63cba92ce282c8bc6dbbd20dc7a"}, "url": "/docs/compare/?release=11.17#11.17-aa5b9a17767e02ac", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "47db1e2fecdbb9f828ab575fa0c54020", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "Prevent pg_stat_get_subscription() from possibly returning an extra row containing garbage values", "evidence": {"same_day": false, "patch_ids": ["e58ac21a56bb415ac5bda28ffa577be5"], "statement_hash": "c8ac2dca4ec0a441436c658d4756f19dab9db63cba92ce282c8bc6dbbd20dc7a"}, "url": "/docs/compare/?release=10.22#10.22-aa5b9a17767e02ac", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "14.4-8c698565d5b0c2fa", "cves": [], "html": "<p>Fix <code>COPY FROM</code>'s error checking in the case where the database encoding is <code>SQL_ASCII</code> while the client's encoding is a multi-byte encoding (Heikki Linnakangas) <a href=\"https://postgr.es/c/f82595ac9\">§</a></p>\n<p>This mistake could lead to false complaints of invalidly-encoded input data.</p>", "text": "Fix COPY FROM's error checking in the case where the database encoding is SQL_ASCII while the client's encoding is a multi-byte encoding (Heikki Linnakangas) § This mistake could lead to false complaints of invalidly-encoded input data.", "title": "Fix COPY FROM's error checking in the case where the database encoding is SQL_ASCII while the client's encoding is a multi-byte encoding", "commits": ["f82595ac9"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.4/#id-1.11.6.26.5", "source_hash": "59aedac426c145f5978de4e180209ec024da9d576b4807c876705eb1930cf199", "section_path": ["Changes"], "commit_groups": [["f82595ac9", "fc36ac52e"]], "identity_text": "Fix COPY FROM's error checking in the case where the database encoding is SQL_ASCII while the client's encoding is a multi-byte encoding (Heikki Linnakangas) This mistake could lead to false complaints of invalidly-encoded input data.", "commit_aliases": ["f82595ac9", "fc36ac52e"], "source_commits": ["f82595ac9"], "source_entry_id": "14.4/changes/007", "db_id": "146cf63bb044542906ffb41e4fdbce06", "patch_ids": ["218b7fceed89818872d088cd112c98e0"], "statement_hash": "3b89890114b20f9d224a06879c4687344e779243c146ea1985dd58b2eb9be4ae", "relations": [], "version": "14.4", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.4-346917e4213a38e1", "cves": [], "html": "<p>Avoid crashing if too many column aliases are attached to an <code>XMLTABLE</code> or <code>JSON_TABLE</code> construct (Álvaro Herrera) <a href=\"https://postgr.es/c/94edb85d2\">§</a> <a href=\"https://postgr.es/c/e8b93c6e2\">§</a></p>", "text": "Avoid crashing if too many column aliases are attached to an XMLTABLE or JSON_TABLE construct (Álvaro Herrera) § §", "title": "Avoid crashing if too many column aliases are attached to an XMLTABLE or JSON_TABLE construct", "commits": ["94edb85d2", "e8b93c6e2"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.4/#id-1.11.6.26.5", "source_hash": "887f3e47f965b9823d1f15c7e4a19fd39dc57718ac30b0577e062748fd3015a0", "section_path": ["Changes"], "commit_groups": [["0ebd20e20", "29d111518", "50bf3157a", "5139db556", "62221ef18", "e8b93c6e2"], ["0fbf01120", "16cb7db34", "80656f00f", "94edb85d2", "ade17703d", "ba83de8ad"]], "identity_text": "Avoid crashing if too many column aliases are attached to an XMLTABLE or JSON_TABLE construct (Álvaro Herrera)", "commit_aliases": ["0ebd20e20", "0fbf01120", "16cb7db34", "29d111518", "50bf3157a", "5139db556", "62221ef18", "80656f00f", "94edb85d2", "ade17703d", "ba83de8ad", "e8b93c6e2"], "source_commits": ["94edb85d2", "e8b93c6e2"], "source_entry_id": "14.4/changes/008", "db_id": "4d5a074b371db69dfe09c7a179298842", "patch_ids": ["2ac708542e6368e258ee1ef8bfca944d", "44fd0c3f9c64e92e37a4866f26b2dd11"], "statement_hash": "60cf2317bf09c52bd685e4c9c121b4c1daa64d3ed73ad8ed3a9eb5c85ac4ed69", "relations": [{"rule": 2, "type": "equivalent", "target": "5f220cf6c0dca4f9694ee12ef7134b0e", "evidence": {"same_day": false, "patch_ids": ["2ac708542e6368e258ee1ef8bfca944d", "44fd0c3f9c64e92e37a4866f26b2dd11"], "statement_hash": "60cf2317bf09c52bd685e4c9c121b4c1daa64d3ed73ad8ed3a9eb5c85ac4ed69"}}, {"rule": 2, "type": "equivalent", "target": "c04873471898c42aaf3cefd843d371c1", "evidence": {"same_day": false, "patch_ids": ["2ac708542e6368e258ee1ef8bfca944d", "44fd0c3f9c64e92e37a4866f26b2dd11"], "statement_hash": "60cf2317bf09c52bd685e4c9c121b4c1daa64d3ed73ad8ed3a9eb5c85ac4ed69"}}, {"rule": 2, "type": "equivalent", "target": "d33f457fb8ef4b93dc2dab4d95d5445d", "evidence": {"same_day": false, "patch_ids": ["2ac708542e6368e258ee1ef8bfca944d", "44fd0c3f9c64e92e37a4866f26b2dd11"], "statement_hash": "60cf2317bf09c52bd685e4c9c121b4c1daa64d3ed73ad8ed3a9eb5c85ac4ed69"}}, {"rule": 2, "type": "equivalent", "target": "efba4d4a3a277da0ffb24f2a779b5b08", "evidence": {"same_day": false, "patch_ids": ["2ac708542e6368e258ee1ef8bfca944d", "44fd0c3f9c64e92e37a4866f26b2dd11"], "statement_hash": "60cf2317bf09c52bd685e4c9c121b4c1daa64d3ed73ad8ed3a9eb5c85ac4ed69"}}], "version": "14.4", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "d33f457fb8ef4b93dc2dab4d95d5445d", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "Avoid crashing if too many column aliases are attached to an XMLTABLE or JSON_TABLE construct", "evidence": {"same_day": false, "patch_ids": ["2ac708542e6368e258ee1ef8bfca944d", "44fd0c3f9c64e92e37a4866f26b2dd11"], "statement_hash": "60cf2317bf09c52bd685e4c9c121b4c1daa64d3ed73ad8ed3a9eb5c85ac4ed69"}, "url": "/docs/compare/?release=13.8#13.8-edfc478a291046f5", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "efba4d4a3a277da0ffb24f2a779b5b08", "kind": "equivalent", "version": "12.12", "label": "12.12", "title": "Avoid crashing if too many column aliases are attached to an XMLTABLE or JSON_TABLE construct", "evidence": {"same_day": false, "patch_ids": ["2ac708542e6368e258ee1ef8bfca944d", "44fd0c3f9c64e92e37a4866f26b2dd11"], "statement_hash": "60cf2317bf09c52bd685e4c9c121b4c1daa64d3ed73ad8ed3a9eb5c85ac4ed69"}, "url": "/docs/compare/?release=12.12#12.12-f5822aa16dc340c9", "source_url": "/docs/release/12.12/#id-1.11.6.16.5"}, {"db_id": "5f220cf6c0dca4f9694ee12ef7134b0e", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "Avoid crashing if too many column aliases are attached to an XMLTABLE or JSON_TABLE construct", "evidence": {"same_day": false, "patch_ids": ["2ac708542e6368e258ee1ef8bfca944d", "44fd0c3f9c64e92e37a4866f26b2dd11"], "statement_hash": "60cf2317bf09c52bd685e4c9c121b4c1daa64d3ed73ad8ed3a9eb5c85ac4ed69"}, "url": "/docs/compare/?release=11.17#11.17-0d0dcabbf51638d1", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "c04873471898c42aaf3cefd843d371c1", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "Avoid crashing if too many column aliases are attached to an XMLTABLE or JSON_TABLE construct", "evidence": {"same_day": false, "patch_ids": ["2ac708542e6368e258ee1ef8bfca944d", "44fd0c3f9c64e92e37a4866f26b2dd11"], "statement_hash": "60cf2317bf09c52bd685e4c9c121b4c1daa64d3ed73ad8ed3a9eb5c85ac4ed69"}, "url": "/docs/compare/?release=10.22#10.22-0d0dcabbf51638d1", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "14.4-7b6276b49463a2f2", "cves": [], "html": "<p>When decompiling a view or rule, show a <code>SELECT</code> output column's <code>AS \"?column?\"</code> alias clause if it could be referenced elsewhere (Tom Lane) <a href=\"https://postgr.es/c/6f7eec119\">§</a></p>\n<p>Previously, this auto-generated alias was always hidden; but there are corner cases where doing so results in a non-restorable view or rule definition.</p>", "text": "When decompiling a view or rule, show a SELECT output column's AS \"?column?\" alias clause if it could be referenced elsewhere (Tom Lane) § Previously, this auto-generated alias was always hidden; but there are corner cases where doing so results in a non-restorable view or rule definition.", "title": "When decompiling a view or rule, show a SELECT output column's AS \"?column?\" alias clause if it could be referenced elsewhere", "commits": ["6f7eec119"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.4/#id-1.11.6.26.5", "source_hash": "a7bccb25ba13eef6927dff4687a5a798a4120629db3123f06138b14b7bb0d8b9", "section_path": ["Changes"], "commit_groups": [["6f7eec119", "7686403b4", "bb2c04676", "c7461fc25", "f3b8d7244", "fefd54631"]], "identity_text": "When decompiling a view or rule, show a SELECT output column's AS \"?column?\" alias clause if it could be referenced elsewhere (Tom Lane) Previously, this auto-generated alias was always hidden; but there are corner cases where doing so results in a non-restorable view or rule definition.", "commit_aliases": ["6f7eec119", "7686403b4", "bb2c04676", "c7461fc25", "f3b8d7244", "fefd54631"], "source_commits": ["6f7eec119"], "source_entry_id": "14.4/changes/009", "db_id": "af308fd0f2827f58ef71882b372ca7ef", "patch_ids": ["1330204c6ba1f59852f0fe7be53a07c9"], "statement_hash": "698afc18b0e28e6841ddb506f80ea53d77327f2a19c53ccfa4455ff6a7131218", "relations": [{"rule": 2, "type": "equivalent", "target": "313e40dc9d395a6dbf2528f584379a47", "evidence": {"same_day": false, "patch_ids": ["1330204c6ba1f59852f0fe7be53a07c9"], "statement_hash": "698afc18b0e28e6841ddb506f80ea53d77327f2a19c53ccfa4455ff6a7131218"}}, {"rule": 2, "type": "equivalent", "target": "5fa002a97fa01b1f94b24f6eb31db8a6", "evidence": {"same_day": false, "patch_ids": ["1330204c6ba1f59852f0fe7be53a07c9"], "statement_hash": "698afc18b0e28e6841ddb506f80ea53d77327f2a19c53ccfa4455ff6a7131218"}}, {"rule": 2, "type": "equivalent", "target": "a731a211dd4dbfbec7e91c436caa320b", "evidence": {"same_day": false, "patch_ids": ["1330204c6ba1f59852f0fe7be53a07c9"], "statement_hash": "698afc18b0e28e6841ddb506f80ea53d77327f2a19c53ccfa4455ff6a7131218"}}, {"rule": 2, "type": "equivalent", "target": "dd2ef8e063083bac893b2d5f38044e18", "evidence": {"same_day": false, "patch_ids": ["1330204c6ba1f59852f0fe7be53a07c9"], "statement_hash": "698afc18b0e28e6841ddb506f80ea53d77327f2a19c53ccfa4455ff6a7131218"}}], "version": "14.4", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "313e40dc9d395a6dbf2528f584379a47", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "When decompiling a view or rule, show a SELECT output column's AS \"?column?\" alias clause if it could be referenced elsewhere", "evidence": {"same_day": false, "patch_ids": ["1330204c6ba1f59852f0fe7be53a07c9"], "statement_hash": "698afc18b0e28e6841ddb506f80ea53d77327f2a19c53ccfa4455ff6a7131218"}, "url": "/docs/compare/?release=13.8#13.8-591b12862d3feb2f", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "dd2ef8e063083bac893b2d5f38044e18", "kind": "equivalent", "version": "12.12", "label": "12.12", "title": "When decompiling a view or rule, show a SELECT output column's AS \"?column?\" alias clause if it could be referenced elsewhere", "evidence": {"same_day": false, "patch_ids": ["1330204c6ba1f59852f0fe7be53a07c9"], "statement_hash": "698afc18b0e28e6841ddb506f80ea53d77327f2a19c53ccfa4455ff6a7131218"}, "url": "/docs/compare/?release=12.12#12.12-909f700f4b83a01d", "source_url": "/docs/release/12.12/#id-1.11.6.16.5"}, {"db_id": "a731a211dd4dbfbec7e91c436caa320b", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "When decompiling a view or rule, show a SELECT output column's AS \"?column?\" alias clause if it could be referenced elsewhere", "evidence": {"same_day": false, "patch_ids": ["1330204c6ba1f59852f0fe7be53a07c9"], "statement_hash": "698afc18b0e28e6841ddb506f80ea53d77327f2a19c53ccfa4455ff6a7131218"}, "url": "/docs/compare/?release=11.17#11.17-759d1eaf5fe4efa8", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "5fa002a97fa01b1f94b24f6eb31db8a6", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "When decompiling a view or rule, show a SELECT output column's AS \"?column?\" alias clause if it could be referenced elsewhere", "evidence": {"same_day": false, "patch_ids": ["1330204c6ba1f59852f0fe7be53a07c9"], "statement_hash": "698afc18b0e28e6841ddb506f80ea53d77327f2a19c53ccfa4455ff6a7131218"}, "url": "/docs/compare/?release=10.22#10.22-759d1eaf5fe4efa8", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "14.4-31e77f02a0e7ba60", "cves": [], "html": "<p>Report implicitly-created operator families to event triggers (Masahiko Sawada) <a href=\"https://postgr.es/c/58b088a9b\">§</a></p>\n<p>If <code>CREATE OPERATOR CLASS</code> results in the implicit creation of an operator family, that object was not reported to event triggers that should capture such events.</p>", "text": "Report implicitly-created operator families to event triggers (Masahiko Sawada) § If CREATE OPERATOR CLASS results in the implicit creation of an operator family, that object was not reported to event triggers that should capture such events.", "title": "Report implicitly-created operator families to event triggers", "commits": ["58b088a9b"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.4/#id-1.11.6.26.5", "source_hash": "6259e981e4e04f3c28fd972b722a27f8ffdb11e2543a30e4ca9fe806e073bc63", "section_path": ["Changes"], "commit_groups": [["3753a169e", "4492e73a6", "58b088a9b", "602986191", "6c6ea6ea8", "70f70d7d3"], ["8c47622bb"]], "identity_text": "Report implicitly-created operator families to event triggers (Masahiko Sawada) If CREATE OPERATOR CLASS results in the implicit creation of an operator family, that object was not reported to event triggers that should capture such events.", "commit_aliases": ["3753a169e", "4492e73a6", "58b088a9b", "602986191", "6c6ea6ea8", "70f70d7d3", "8c47622bb"], "source_commits": ["58b088a9b", "8c47622bb"], "source_entry_id": "14.4/changes/010", "db_id": "a1d71cc4675ee08f791262f34e2e2451", "patch_ids": ["2717938e6d6fe60de2ee5994194e0458", "3d58b6474ece3ddc52926cfd9a5b773c"], "statement_hash": "7da9c81bf12ed53f61ed3a0723f31f3eef01eadbd463e36910c444b713d2746f", "relations": [{"rule": 2, "type": "equivalent", "target": "244cc3a1a6c6ca75296e8aa7208e62b8", "evidence": {"same_day": false, "patch_ids": ["2717938e6d6fe60de2ee5994194e0458", "3d58b6474ece3ddc52926cfd9a5b773c"], "statement_hash": "7da9c81bf12ed53f61ed3a0723f31f3eef01eadbd463e36910c444b713d2746f"}}, {"rule": 2, "type": "equivalent", "target": "86b4c8fa3b0570ecc99ae9e64dcc575e", "evidence": {"same_day": false, "patch_ids": ["2717938e6d6fe60de2ee5994194e0458", "3d58b6474ece3ddc52926cfd9a5b773c"], "statement_hash": "7da9c81bf12ed53f61ed3a0723f31f3eef01eadbd463e36910c444b713d2746f"}}, {"rule": 2, "type": "equivalent", "target": "e11e5b616cec639c8c1fe7eba0182f7c", "evidence": {"same_day": false, "patch_ids": ["2717938e6d6fe60de2ee5994194e0458", "3d58b6474ece3ddc52926cfd9a5b773c"], "statement_hash": "7da9c81bf12ed53f61ed3a0723f31f3eef01eadbd463e36910c444b713d2746f"}}, {"rule": 2, "type": "equivalent", "target": "e31c503f99be7439dbfc4f021f076a6c", "evidence": {"same_day": false, "patch_ids": ["2717938e6d6fe60de2ee5994194e0458", "3d58b6474ece3ddc52926cfd9a5b773c"], "statement_hash": "7da9c81bf12ed53f61ed3a0723f31f3eef01eadbd463e36910c444b713d2746f"}}], "version": "14.4", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "86b4c8fa3b0570ecc99ae9e64dcc575e", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "Report implicitly-created operator families to event triggers", "evidence": {"same_day": false, "patch_ids": ["2717938e6d6fe60de2ee5994194e0458", "3d58b6474ece3ddc52926cfd9a5b773c"], "statement_hash": "7da9c81bf12ed53f61ed3a0723f31f3eef01eadbd463e36910c444b713d2746f"}, "url": "/docs/compare/?release=13.8#13.8-2f2d7a63f5f28497", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "e11e5b616cec639c8c1fe7eba0182f7c", "kind": "equivalent", "version": "12.12", "label": "12.12", "title": "Report implicitly-created operator families to event triggers", "evidence": {"same_day": false, "patch_ids": ["2717938e6d6fe60de2ee5994194e0458", "3d58b6474ece3ddc52926cfd9a5b773c"], "statement_hash": "7da9c81bf12ed53f61ed3a0723f31f3eef01eadbd463e36910c444b713d2746f"}, "url": "/docs/compare/?release=12.12#12.12-1993477aa68aad89", "source_url": "/docs/release/12.12/#id-1.11.6.16.5"}, {"db_id": "244cc3a1a6c6ca75296e8aa7208e62b8", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "Report implicitly-created operator families to event triggers", "evidence": {"same_day": false, "patch_ids": ["2717938e6d6fe60de2ee5994194e0458", "3d58b6474ece3ddc52926cfd9a5b773c"], "statement_hash": "7da9c81bf12ed53f61ed3a0723f31f3eef01eadbd463e36910c444b713d2746f"}, "url": "/docs/compare/?release=11.17#11.17-39d324cc03545886", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "e31c503f99be7439dbfc4f021f076a6c", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "Report implicitly-created operator families to event triggers", "evidence": {"same_day": false, "patch_ids": ["2717938e6d6fe60de2ee5994194e0458", "3d58b6474ece3ddc52926cfd9a5b773c"], "statement_hash": "7da9c81bf12ed53f61ed3a0723f31f3eef01eadbd463e36910c444b713d2746f"}, "url": "/docs/compare/?release=10.22#10.22-39d324cc03545886", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "14.4-2545ec133605503f", "cves": [], "html": "<p>Fix control file updates made when a restartpoint is running during promotion of a standby server (Kyotaro Horiguchi) <a href=\"https://postgr.es/c/6dced63b4\">§</a></p>\n<p>Previously, when the restartpoint completed it could incorrectly update the last-checkpoint fields of the control file, potentially leading to PANIC and failure to restart if the server crashes before the next normal checkpoint completes.</p>", "text": "Fix control file updates made when a restartpoint is running during promotion of a standby server (Kyotaro Horiguchi) § Previously, when the restartpoint completed it could incorrectly update the last-checkpoint fields of the control file, potentially leading to PANIC and failure to restart if the server crashes before the next normal checkpoint completes.", "title": "Fix control file updates made when a restartpoint is running during promotion of a standby server", "commits": ["6dced63b4"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.4/#id-1.11.6.26.5", "source_hash": "d196f48ae77d77eccfece7a2f418e7c2241fc07bc7d2d0690bceab2d920d52a6", "section_path": ["Changes"], "commit_groups": [["2e9559b30", "4525151d4", "60e956eb8", "6dced63b4", "7e59b1219"]], "identity_text": "Fix control file updates made when a restartpoint is running during promotion of a standby server (Kyotaro Horiguchi) Previously, when the restartpoint completed it could incorrectly update the last-checkpoint fields of the control file, potentially leading to PANIC and failure to restart if the server crashes before the next normal checkpoint completes.", "commit_aliases": ["2e9559b30", "4525151d4", "60e956eb8", "6dced63b4", "7e59b1219"], "source_commits": ["6dced63b4"], "source_entry_id": "14.4/changes/011", "db_id": "47af627fcd6b43b17a606802a2d03900", "patch_ids": ["15e7a9569ab88f0979df49c823ee4496"], "statement_hash": "8f92c46925e34c83015ec4c77b2411f7c9193b725a4f89c39940a157d63a54d2", "relations": [{"rule": 2, "type": "equivalent", "target": "29658bdf45a44c7a8384338f4c04a789", "evidence": {"same_day": false, "patch_ids": ["15e7a9569ab88f0979df49c823ee4496"], "statement_hash": "8f92c46925e34c83015ec4c77b2411f7c9193b725a4f89c39940a157d63a54d2"}}, {"rule": 2, "type": "equivalent", "target": "6970a8cf5cd0499de93d3c894c47ec70", "evidence": {"same_day": false, "patch_ids": ["15e7a9569ab88f0979df49c823ee4496"], "statement_hash": "8f92c46925e34c83015ec4c77b2411f7c9193b725a4f89c39940a157d63a54d2"}}, {"rule": 2, "type": "equivalent", "target": "8db46d882c5d61b149607c464f64490b", "evidence": {"same_day": false, "patch_ids": ["15e7a9569ab88f0979df49c823ee4496"], "statement_hash": "8f92c46925e34c83015ec4c77b2411f7c9193b725a4f89c39940a157d63a54d2"}}, {"rule": 2, "type": "equivalent", "target": "a363c71cf596a090f1c6be889f284e5a", "evidence": {"same_day": false, "patch_ids": ["15e7a9569ab88f0979df49c823ee4496"], "statement_hash": "8f92c46925e34c83015ec4c77b2411f7c9193b725a4f89c39940a157d63a54d2"}}], "version": "14.4", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "6970a8cf5cd0499de93d3c894c47ec70", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "Fix control file updates made when a restartpoint is running during promotion of a standby server", "evidence": {"same_day": false, "patch_ids": ["15e7a9569ab88f0979df49c823ee4496"], "statement_hash": "8f92c46925e34c83015ec4c77b2411f7c9193b725a4f89c39940a157d63a54d2"}, "url": "/docs/compare/?release=13.8#13.8-7e3a060c80ffe05c", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "29658bdf45a44c7a8384338f4c04a789", "kind": "equivalent", "version": "12.12", "label": "12.12", "title": "Fix control file updates made when a restartpoint is running during promotion of a standby server", "evidence": {"same_day": false, "patch_ids": ["15e7a9569ab88f0979df49c823ee4496"], "statement_hash": "8f92c46925e34c83015ec4c77b2411f7c9193b725a4f89c39940a157d63a54d2"}, "url": "/docs/compare/?release=12.12#12.12-6977f097afc70d21", "source_url": "/docs/release/12.12/#id-1.11.6.16.5"}, {"db_id": "8db46d882c5d61b149607c464f64490b", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "Fix control file updates made when a restartpoint is running during promotion of a standby server", "evidence": {"same_day": false, "patch_ids": ["15e7a9569ab88f0979df49c823ee4496"], "statement_hash": "8f92c46925e34c83015ec4c77b2411f7c9193b725a4f89c39940a157d63a54d2"}, "url": "/docs/compare/?release=11.17#11.17-4fe9f7a2b23c1b33", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "a363c71cf596a090f1c6be889f284e5a", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "Fix control file updates made when a restartpoint is running during promotion of a standby server", "evidence": {"same_day": false, "patch_ids": ["15e7a9569ab88f0979df49c823ee4496"], "statement_hash": "8f92c46925e34c83015ec4c77b2411f7c9193b725a4f89c39940a157d63a54d2"}, "url": "/docs/compare/?release=10.22#10.22-4fe9f7a2b23c1b33", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "14.4-29f8835cbd99b475", "cves": [], "html": "<p>Prevent triggering of standby's <code>wal_receiver_timeout</code> during logical replication of large transactions (Wang Wei, Amit Kapila) <a href=\"https://postgr.es/c/d6da71fa8\">§</a></p>\n<p>If a large transaction on the primary server sends no data to the standby (perhaps because no table it changes is published), it was possible for the standby to timeout. Fix that by ensuring we send keepalive messages periodically in such situations.</p>", "text": "Prevent triggering of standby's wal_receiver_timeout during logical replication of large transactions (Wang Wei, Amit Kapila) § If a large transaction on the primary server sends no data to the standby (perhaps because no table it changes is published), it was possible for the standby to timeout. Fix that by ensuring we send keepalive messages periodically in such situations.", "title": "Prevent triggering of standby's wal_receiver_timeout during logical replication of large transactions", "commits": ["d6da71fa8"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.4/#id-1.11.6.26.5", "source_hash": "97bdbc38b6faeda1bb130adc498334a25c50a307f41afbef190e400c7914f4d5", "section_path": ["Changes"], "commit_groups": [["55558df23", "87c1dd246", "a4015ec03", "d6da71fa8", "f832b5007", "f95d53ede"]], "identity_text": "Prevent triggering of standby's wal_receiver_timeout during logical replication of large transactions (Wang Wei, Amit Kapila) If a large transaction on the primary server sends no data to the standby (perhaps because no table it changes is published), it was possible for the standby to timeout. Fix that by ensuring we send keepalive messages periodically in such situations.", "commit_aliases": ["55558df23", "87c1dd246", "a4015ec03", "d6da71fa8", "f832b5007", "f95d53ede"], "source_commits": ["d6da71fa8"], "source_entry_id": "14.4/changes/012", "db_id": "42acb28481bd6af31cd3abb574751c5a", "patch_ids": ["1530f34ec3d691ea5f0eba6d7f9745c3"], "statement_hash": "1ad1be7c02ac4530f5478b1ded4c37634a417269bf0902f1753841c0bfe4074b", "relations": [{"rule": 2, "type": "equivalent", "target": "16e9b2df9d407d45a26371aa78b3ac1b", "evidence": {"same_day": false, "patch_ids": ["1530f34ec3d691ea5f0eba6d7f9745c3"], "statement_hash": "1ad1be7c02ac4530f5478b1ded4c37634a417269bf0902f1753841c0bfe4074b"}}, {"rule": 2, "type": "equivalent", "target": "417ccfe7dbce14777e9a783cedac8ada", "evidence": {"same_day": false, "patch_ids": ["1530f34ec3d691ea5f0eba6d7f9745c3"], "statement_hash": "1ad1be7c02ac4530f5478b1ded4c37634a417269bf0902f1753841c0bfe4074b"}}, {"rule": 2, "type": "equivalent", "target": "cae95cd54c53ad287f2bb5a5f356bdd0", "evidence": {"same_day": false, "patch_ids": ["1530f34ec3d691ea5f0eba6d7f9745c3"], "statement_hash": "1ad1be7c02ac4530f5478b1ded4c37634a417269bf0902f1753841c0bfe4074b"}}, {"rule": 2, "type": "equivalent", "target": "e32cbd7f4170feb0afdf981793dfbf64", "evidence": {"same_day": false, "patch_ids": ["1530f34ec3d691ea5f0eba6d7f9745c3"], "statement_hash": "1ad1be7c02ac4530f5478b1ded4c37634a417269bf0902f1753841c0bfe4074b"}}], "version": "14.4", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "cae95cd54c53ad287f2bb5a5f356bdd0", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "Prevent triggering of standby's wal_receiver_timeout during logical replication of large transactions", "evidence": {"same_day": false, "patch_ids": ["1530f34ec3d691ea5f0eba6d7f9745c3"], "statement_hash": "1ad1be7c02ac4530f5478b1ded4c37634a417269bf0902f1753841c0bfe4074b"}, "url": "/docs/compare/?release=13.8#13.8-5bed5c6f59c21a5c", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "e32cbd7f4170feb0afdf981793dfbf64", "kind": "equivalent", "version": "12.12", "label": "12.12", "title": "Prevent triggering of standby's wal_receiver_timeout during logical replication of large transactions", "evidence": {"same_day": false, "patch_ids": ["1530f34ec3d691ea5f0eba6d7f9745c3"], "statement_hash": "1ad1be7c02ac4530f5478b1ded4c37634a417269bf0902f1753841c0bfe4074b"}, "url": "/docs/compare/?release=12.12#12.12-070db65928599a8d", "source_url": "/docs/release/12.12/#id-1.11.6.16.5"}, {"db_id": "417ccfe7dbce14777e9a783cedac8ada", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "Prevent triggering of standby's wal_receiver_timeout during logical replication of large transactions", "evidence": {"same_day": false, "patch_ids": ["1530f34ec3d691ea5f0eba6d7f9745c3"], "statement_hash": "1ad1be7c02ac4530f5478b1ded4c37634a417269bf0902f1753841c0bfe4074b"}, "url": "/docs/compare/?release=11.17#11.17-918e19f3e6b24162", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "16e9b2df9d407d45a26371aa78b3ac1b", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "Prevent triggering of standby's wal_receiver_timeout during logical replication of large transactions", "evidence": {"same_day": false, "patch_ids": ["1530f34ec3d691ea5f0eba6d7f9745c3"], "statement_hash": "1ad1be7c02ac4530f5478b1ded4c37634a417269bf0902f1753841c0bfe4074b"}, "url": "/docs/compare/?release=10.22#10.22-918e19f3e6b24162", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "14.4-96fb7c4d60448fe6", "cves": [], "html": "<p>Prevent open-file leak when reading an invalid timezone abbreviation file (Kyotaro Horiguchi) <a href=\"https://postgr.es/c/c47a55852\">§</a></p>\n<p>Such cases could result in harmless warning messages.</p>", "text": "Prevent open-file leak when reading an invalid timezone abbreviation file (Kyotaro Horiguchi) § Such cases could result in harmless warning messages.", "title": "Prevent open-file leak when reading an invalid timezone abbreviation file", "commits": ["c47a55852"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.4/#id-1.11.6.26.5", "source_hash": "252308a9e6986d10be7550a13891da6c115e8ce9899448478a4e127464731e8b", "section_path": ["Changes"], "commit_groups": [["16c80e7d0", "2114910ca", "a3faebd6a", "ae758e603", "c47a55852", "c73748b68"]], "identity_text": "Prevent open-file leak when reading an invalid timezone abbreviation file (Kyotaro Horiguchi) Such cases could result in harmless warning messages.", "commit_aliases": ["16c80e7d0", "2114910ca", "a3faebd6a", "ae758e603", "c47a55852", "c73748b68"], "source_commits": ["c47a55852"], "source_entry_id": "14.4/changes/013", "db_id": "07fe7bdcc314b8b8e7591f75c3ce07cc", "patch_ids": ["57dfc389692272f52882320d3c9d4b97"], "statement_hash": "8acbf40b5c103e45ccc79db3b1cec33fd7db4ecacae9bb90726dba78e007aa9c", "relations": [{"rule": 2, "type": "equivalent", "target": "4a5d6351b37425bd4223c246effcb4d7", "evidence": {"same_day": false, "patch_ids": ["57dfc389692272f52882320d3c9d4b97"], "statement_hash": "8acbf40b5c103e45ccc79db3b1cec33fd7db4ecacae9bb90726dba78e007aa9c"}}, {"rule": 2, "type": "equivalent", "target": "6dc1762a69b1b8e6998d39ff7acd3719", "evidence": {"same_day": false, "patch_ids": ["57dfc389692272f52882320d3c9d4b97"], "statement_hash": "8acbf40b5c103e45ccc79db3b1cec33fd7db4ecacae9bb90726dba78e007aa9c"}}, {"rule": 2, "type": "equivalent", "target": "b7388343276b32b204401ea9ae9de70d", "evidence": {"same_day": false, "patch_ids": ["57dfc389692272f52882320d3c9d4b97"], "statement_hash": "8acbf40b5c103e45ccc79db3b1cec33fd7db4ecacae9bb90726dba78e007aa9c"}}, {"rule": 2, "type": "equivalent", "target": "df4c23579a74f79ac4c7191ad0cfbae9", "evidence": {"same_day": false, "patch_ids": ["57dfc389692272f52882320d3c9d4b97"], "statement_hash": "8acbf40b5c103e45ccc79db3b1cec33fd7db4ecacae9bb90726dba78e007aa9c"}}], "version": "14.4", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "df4c23579a74f79ac4c7191ad0cfbae9", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "Prevent open-file leak when reading an invalid timezone abbreviation file", "evidence": {"same_day": false, "patch_ids": ["57dfc389692272f52882320d3c9d4b97"], "statement_hash": "8acbf40b5c103e45ccc79db3b1cec33fd7db4ecacae9bb90726dba78e007aa9c"}, "url": "/docs/compare/?release=13.8#13.8-a253150b44167651", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "b7388343276b32b204401ea9ae9de70d", "kind": "equivalent", "version": "12.12", "label": "12.12", "title": "Prevent open-file leak when reading an invalid timezone abbreviation file", "evidence": {"same_day": false, "patch_ids": ["57dfc389692272f52882320d3c9d4b97"], "statement_hash": "8acbf40b5c103e45ccc79db3b1cec33fd7db4ecacae9bb90726dba78e007aa9c"}, "url": "/docs/compare/?release=12.12#12.12-24c0b218ae896606", "source_url": "/docs/release/12.12/#id-1.11.6.16.5"}, {"db_id": "6dc1762a69b1b8e6998d39ff7acd3719", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "Prevent open-file leak when reading an invalid timezone abbreviation file", "evidence": {"same_day": false, "patch_ids": ["57dfc389692272f52882320d3c9d4b97"], "statement_hash": "8acbf40b5c103e45ccc79db3b1cec33fd7db4ecacae9bb90726dba78e007aa9c"}, "url": "/docs/compare/?release=11.17#11.17-275035522b1f03f5", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "4a5d6351b37425bd4223c246effcb4d7", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "Prevent open-file leak when reading an invalid timezone abbreviation file", "evidence": {"same_day": false, "patch_ids": ["57dfc389692272f52882320d3c9d4b97"], "statement_hash": "8acbf40b5c103e45ccc79db3b1cec33fd7db4ecacae9bb90726dba78e007aa9c"}, "url": "/docs/compare/?release=10.22#10.22-275035522b1f03f5", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "14.4-8b84ff7b68f6eea0", "cves": [], "html": "<p>Allow custom server parameters to have short descriptions that are NULL (Steve Chavez) <a href=\"https://postgr.es/c/fe441a031\">§</a></p>\n<p>Previously, although extensions could choose to create such settings, some code paths would crash while processing them.</p>", "text": "Allow custom server parameters to have short descriptions that are NULL (Steve Chavez) § Previously, although extensions could choose to create such settings, some code paths would crash while processing them.", "title": "Allow custom server parameters to have short descriptions that are NULL", "commits": ["fe441a031"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.4/#id-1.11.6.26.5", "source_hash": "1d4f1253fbd89327e6108ceea5ce046cbd7b826d77dec00f7c62f0cc5c4da43d", "section_path": ["Changes"], "commit_groups": [["1b40ceea2", "1e6802990", "ae236bf66", "c3db8a2e2", "f1431f3bf", "fe441a031"]], "identity_text": "Allow custom server parameters to have short descriptions that are NULL (Steve Chavez) Previously, although extensions could choose to create such settings, some code paths would crash while processing them.", "commit_aliases": ["1b40ceea2", "1e6802990", "ae236bf66", "c3db8a2e2", "f1431f3bf", "fe441a031"], "source_commits": ["fe441a031"], "source_entry_id": "14.4/changes/014", "db_id": "15787b38474cabde4ed787ee0ea849e4", "patch_ids": ["6f26a07a5ff6fe0e3ef6fd8d4dc369e5"], "statement_hash": "3abd4e5d08992e04bc25a61695c3927530baa406649e9a4b5f10ba890db2d2fc", "relations": [{"rule": 2, "type": "equivalent", "target": "83a9a8613f0fb6f9c9bec05ab27e6874", "evidence": {"same_day": false, "patch_ids": ["6f26a07a5ff6fe0e3ef6fd8d4dc369e5"], "statement_hash": "3abd4e5d08992e04bc25a61695c3927530baa406649e9a4b5f10ba890db2d2fc"}}, {"rule": 2, "type": "equivalent", "target": "85ebfd35c671e894717fdd49e5994567", "evidence": {"same_day": false, "patch_ids": ["6f26a07a5ff6fe0e3ef6fd8d4dc369e5"], "statement_hash": "3abd4e5d08992e04bc25a61695c3927530baa406649e9a4b5f10ba890db2d2fc"}}, {"rule": 2, "type": "equivalent", "target": "9e01c5e70ead8eb482ef06763d8ff745", "evidence": {"same_day": false, "patch_ids": ["6f26a07a5ff6fe0e3ef6fd8d4dc369e5"], "statement_hash": "3abd4e5d08992e04bc25a61695c3927530baa406649e9a4b5f10ba890db2d2fc"}}, {"rule": 2, "type": "equivalent", "target": "b8560733dbf9efd6e6cc1b34c6135d92", "evidence": {"same_day": false, "patch_ids": ["6f26a07a5ff6fe0e3ef6fd8d4dc369e5"], "statement_hash": "3abd4e5d08992e04bc25a61695c3927530baa406649e9a4b5f10ba890db2d2fc"}}], "version": "14.4", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "b8560733dbf9efd6e6cc1b34c6135d92", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "Allow custom server parameters to have short descriptions that are NULL", "evidence": {"same_day": false, "patch_ids": ["6f26a07a5ff6fe0e3ef6fd8d4dc369e5"], "statement_hash": "3abd4e5d08992e04bc25a61695c3927530baa406649e9a4b5f10ba890db2d2fc"}, "url": "/docs/compare/?release=13.8#13.8-e9902cfd52652d6c", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "9e01c5e70ead8eb482ef06763d8ff745", "kind": "equivalent", "version": "12.12", "label": "12.12", "title": "Allow custom server parameters to have short descriptions that are NULL", "evidence": {"same_day": false, "patch_ids": ["6f26a07a5ff6fe0e3ef6fd8d4dc369e5"], "statement_hash": "3abd4e5d08992e04bc25a61695c3927530baa406649e9a4b5f10ba890db2d2fc"}, "url": "/docs/compare/?release=12.12#12.12-d713a6e5e495d81e", "source_url": "/docs/release/12.12/#id-1.11.6.16.5"}, {"db_id": "85ebfd35c671e894717fdd49e5994567", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "Allow custom server parameters to have short descriptions that are NULL", "evidence": {"same_day": false, "patch_ids": ["6f26a07a5ff6fe0e3ef6fd8d4dc369e5"], "statement_hash": "3abd4e5d08992e04bc25a61695c3927530baa406649e9a4b5f10ba890db2d2fc"}, "url": "/docs/compare/?release=11.17#11.17-67e597e0cfb4f0c3", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "83a9a8613f0fb6f9c9bec05ab27e6874", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "Allow custom server parameters to have short descriptions that are NULL", "evidence": {"same_day": false, "patch_ids": ["6f26a07a5ff6fe0e3ef6fd8d4dc369e5"], "statement_hash": "3abd4e5d08992e04bc25a61695c3927530baa406649e9a4b5f10ba890db2d2fc"}, "url": "/docs/compare/?release=10.22#10.22-67e597e0cfb4f0c3", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "14.4-5b6e2d7df84f87be", "cves": [], "html": "<p>Remove misguided SSL key file ownership check in <span>libpq</span> (Tom Lane) <a href=\"https://postgr.es/c/b4be4a082\">§</a></p>\n<p>In the previous minor releases, we copied the server's permission checking rules for SSL private key files into libpq. But we should not have also copied the server's file-ownership check. While that works in normal use-cases, it can result in an unexpected failure for clients running as root, and perhaps in other cases.</p>", "text": "Remove misguided SSL key file ownership check in libpq (Tom Lane) § In the previous minor releases, we copied the server's permission checking rules for SSL private key files into libpq. But we should not have also copied the server's file-ownership check. While that works in normal use-cases, it can result in an unexpected failure for clients running as root, and perhaps in other cases.", "title": "Remove misguided SSL key file ownership check in libpq", "commits": ["b4be4a082"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.4/#id-1.11.6.26.5", "source_hash": "47015e4a05eacb2e92afc8a61489c7b84a9b25c6748a455f64485cfc7b7cae94", "section_path": ["Changes"], "commit_groups": [["01ab9fb7d", "2b65de7fc", "9e3dbc6fd", "a44bc8b8f", "b4be4a082", "ef54a6576"]], "identity_text": "Remove misguided SSL key file ownership check in libpq (Tom Lane) In the previous minor releases, we copied the server's permission checking rules for SSL private key files into libpq. But we should not have also copied the server's file-ownership check. While that works in normal use-cases, it can result in an unexpected failure for clients running as root, and perhaps in other cases.", "commit_aliases": ["01ab9fb7d", "2b65de7fc", "9e3dbc6fd", "a44bc8b8f", "b4be4a082", "ef54a6576"], "source_commits": ["b4be4a082"], "source_entry_id": "14.4/changes/015", "db_id": "87ec4dfcaa656b77e208e62fae117396", "patch_ids": ["d8dd8878b155405be50eb1d29fe2e356"], "statement_hash": "e3197a87e285933376cb8fce81898e45702089915329ddeeb22e41d441233a23", "relations": [{"rule": 2, "type": "equivalent", "target": "6dca87110e704a26bb818967b4bcc868", "evidence": {"same_day": false, "patch_ids": ["d8dd8878b155405be50eb1d29fe2e356"], "statement_hash": "e3197a87e285933376cb8fce81898e45702089915329ddeeb22e41d441233a23"}}, {"rule": 2, "type": "equivalent", "target": "808ddcf7300d73cfc75141bd60205968", "evidence": {"same_day": false, "patch_ids": ["d8dd8878b155405be50eb1d29fe2e356"], "statement_hash": "e3197a87e285933376cb8fce81898e45702089915329ddeeb22e41d441233a23"}}, {"rule": 2, "type": "equivalent", "target": "c32010b470a422cb9cab4ab6ba21e2e3", "evidence": {"same_day": false, "patch_ids": ["d8dd8878b155405be50eb1d29fe2e356"], "statement_hash": "e3197a87e285933376cb8fce81898e45702089915329ddeeb22e41d441233a23"}}, {"rule": 2, "type": "equivalent", "target": "e0fda3fa1fd5bd65ff3880d496bda2dd", "evidence": {"same_day": false, "patch_ids": ["d8dd8878b155405be50eb1d29fe2e356"], "statement_hash": "e3197a87e285933376cb8fce81898e45702089915329ddeeb22e41d441233a23"}}], "version": "14.4", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "c32010b470a422cb9cab4ab6ba21e2e3", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "Remove misguided SSL key file ownership check in libpq", "evidence": {"same_day": false, "patch_ids": ["d8dd8878b155405be50eb1d29fe2e356"], "statement_hash": "e3197a87e285933376cb8fce81898e45702089915329ddeeb22e41d441233a23"}, "url": "/docs/compare/?release=13.8#13.8-a41827c9671df1a0", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "808ddcf7300d73cfc75141bd60205968", "kind": "equivalent", "version": "12.12", "label": "12.12", "title": "Remove misguided SSL key file ownership check in libpq", "evidence": {"same_day": false, "patch_ids": ["d8dd8878b155405be50eb1d29fe2e356"], "statement_hash": "e3197a87e285933376cb8fce81898e45702089915329ddeeb22e41d441233a23"}, "url": "/docs/compare/?release=12.12#12.12-e39963543620ce56", "source_url": "/docs/release/12.12/#id-1.11.6.16.5"}, {"db_id": "e0fda3fa1fd5bd65ff3880d496bda2dd", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "Remove misguided SSL key file ownership check in libpq", "evidence": {"same_day": false, "patch_ids": ["d8dd8878b155405be50eb1d29fe2e356"], "statement_hash": "e3197a87e285933376cb8fce81898e45702089915329ddeeb22e41d441233a23"}, "url": "/docs/compare/?release=11.17#11.17-0c537256f5802891", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "6dca87110e704a26bb818967b4bcc868", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "Remove misguided SSL key file ownership check in libpq", "evidence": {"same_day": false, "patch_ids": ["d8dd8878b155405be50eb1d29fe2e356"], "statement_hash": "e3197a87e285933376cb8fce81898e45702089915329ddeeb22e41d441233a23"}, "url": "/docs/compare/?release=10.22#10.22-0c537256f5802891", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "14.4-7581c8cc53ace1e3", "cves": [], "html": "<p>Ensure <span>ecpg</span> reports server connection loss sanely (Tom Lane) <a href=\"https://postgr.es/c/a5dbca460\">§</a></p>\n<p>Misprocessing of a libpq-generated error result, such as a report of lost connection, would lead to printing <span>“<span>(null)</span>”</span> instead of a useful error message; or in older releases it would lead to a crash.</p>", "text": "Ensure ecpg reports server connection loss sanely (Tom Lane) § Misprocessing of a libpq-generated error result, such as a report of lost connection, would lead to printing “(null)” instead of a useful error message; or in older releases it would lead to a crash.", "title": "Ensure ecpg reports server connection loss sanely", "commits": ["a5dbca460"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.4/#id-1.11.6.26.5", "source_hash": "6822e9480b5721f3f60f3b1b29bf150b85519b6a83bcd12d96bf2669e50d5f9b", "section_path": ["Changes"], "commit_groups": [["02026cadb", "16d68007c", "6d157e7cb", "89254606b", "a5dbca460", "d82ed5b2f"]], "identity_text": "Ensure ecpg reports server connection loss sanely (Tom Lane) Misprocessing of a libpq-generated error result, such as a report of lost connection, would lead to printing (null) instead of a useful error message; or in older releases it would lead to a crash.", "commit_aliases": ["02026cadb", "16d68007c", "6d157e7cb", "89254606b", "a5dbca460", "d82ed5b2f"], "source_commits": ["a5dbca460"], "source_entry_id": "14.4/changes/016", "db_id": "7f35c3853013434255cd2f579c928965", "patch_ids": ["0dc2b7824381eab04941b47efcdc409f"], "statement_hash": "c0763bbed91862aacac198cb8923b83f789153dcaf96668d2229bcbaa849f038", "relations": [{"rule": 2, "type": "equivalent", "target": "9a2d1904fd7c6edbed2eaa066e2fb9af", "evidence": {"same_day": false, "patch_ids": ["0dc2b7824381eab04941b47efcdc409f"], "statement_hash": "c0763bbed91862aacac198cb8923b83f789153dcaf96668d2229bcbaa849f038"}}, {"rule": 2, "type": "equivalent", "target": "b69ca81749a3d3c124f2d922b0c164e3", "evidence": {"same_day": false, "patch_ids": ["0dc2b7824381eab04941b47efcdc409f"], "statement_hash": "c0763bbed91862aacac198cb8923b83f789153dcaf96668d2229bcbaa849f038"}}, {"rule": 2, "type": "equivalent", "target": "d1e3be98acf75dfcc864e82ac2600966", "evidence": {"same_day": false, "patch_ids": ["0dc2b7824381eab04941b47efcdc409f"], "statement_hash": "c0763bbed91862aacac198cb8923b83f789153dcaf96668d2229bcbaa849f038"}}, {"rule": 2, "type": "equivalent", "target": "d49bae63b2f43da94a73cff71067eb58", "evidence": {"same_day": false, "patch_ids": ["0dc2b7824381eab04941b47efcdc409f"], "statement_hash": "c0763bbed91862aacac198cb8923b83f789153dcaf96668d2229bcbaa849f038"}}], "version": "14.4", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "d1e3be98acf75dfcc864e82ac2600966", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "Ensure ecpg reports server connection loss sanely", "evidence": {"same_day": false, "patch_ids": ["0dc2b7824381eab04941b47efcdc409f"], "statement_hash": "c0763bbed91862aacac198cb8923b83f789153dcaf96668d2229bcbaa849f038"}, "url": "/docs/compare/?release=13.8#13.8-fa3bfe6b812ffde2", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "9a2d1904fd7c6edbed2eaa066e2fb9af", "kind": "equivalent", "version": "12.12", "label": "12.12", "title": "Ensure ecpg reports server connection loss sanely", "evidence": {"same_day": false, "patch_ids": ["0dc2b7824381eab04941b47efcdc409f"], "statement_hash": "c0763bbed91862aacac198cb8923b83f789153dcaf96668d2229bcbaa849f038"}, "url": "/docs/compare/?release=12.12#12.12-f9009fa3cb561e5a", "source_url": "/docs/release/12.12/#id-1.11.6.16.5"}, {"db_id": "d49bae63b2f43da94a73cff71067eb58", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "Ensure ecpg reports server connection loss sanely", "evidence": {"same_day": false, "patch_ids": ["0dc2b7824381eab04941b47efcdc409f"], "statement_hash": "c0763bbed91862aacac198cb8923b83f789153dcaf96668d2229bcbaa849f038"}, "url": "/docs/compare/?release=11.17#11.17-0e7ad16a5f7f0afc", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "b69ca81749a3d3c124f2d922b0c164e3", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "Ensure ecpg reports server connection loss sanely", "evidence": {"same_day": false, "patch_ids": ["0dc2b7824381eab04941b47efcdc409f"], "statement_hash": "c0763bbed91862aacac198cb8923b83f789153dcaf96668d2229bcbaa849f038"}, "url": "/docs/compare/?release=10.22#10.22-0e7ad16a5f7f0afc", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "14.4-db10950d0a6192b2", "cves": [], "html": "<p>Prevent crash after server connection loss in <span>pg_amcheck</span> (Tom Lane) <a href=\"https://postgr.es/c/32a85ee46\">§</a></p>\n<p>Misprocessing of a libpq-generated error result, such as a report of lost connection, would lead to a crash.</p>", "text": "Prevent crash after server connection loss in pg_amcheck (Tom Lane) § Misprocessing of a libpq-generated error result, such as a report of lost connection, would lead to a crash.", "title": "Prevent crash after server connection loss in pg_amcheck", "commits": ["32a85ee46"], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/14.4/#id-1.11.6.26.5", "source_hash": "95f1c1729a5b32e8f57e91b66243e74db518145a7b9d931e1d406a10d7d217be", "section_path": ["Changes"], "commit_groups": [["32a85ee46", "51da23159"]], "identity_text": "Prevent crash after server connection loss in pg_amcheck (Tom Lane) Misprocessing of a libpq-generated error result, such as a report of lost connection, would lead to a crash.", "commit_aliases": ["32a85ee46", "51da23159"], "source_commits": ["32a85ee46"], "source_entry_id": "14.4/changes/017", "db_id": "2f0c3a540df3ff630382a88a704dc602", "patch_ids": ["3a39afa9e257ca72f8ef46e0b5adaec9"], "statement_hash": "1f458a3183e103e22062434424ee49990cd2dc947babe00d85cc973a78bc53bb", "relations": [], "version": "14.4", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.4-2da4ec6f6035d837", "cves": [], "html": "<p>Adjust PL/Perl test case so it will work under Perl 5.36 (Dagfinn Ilmari Mannsåker) <a href=\"https://postgr.es/c/1072e4c45\">§</a></p>", "text": "Adjust PL/Perl test case so it will work under Perl 5.36 (Dagfinn Ilmari Mannsåker) §", "title": "Adjust PL/Perl test case so it will work under Perl 5.36", "commits": ["1072e4c45"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.4/#id-1.11.6.26.5", "source_hash": "0149a8cdd79f1957ad21e18181809fec7b87dc9c1f25091a8c133cf55d1d569f", "section_path": ["Changes"], "commit_groups": [["1072e4c45", "6f9ea6cf3", "9fdeae848", "a3b685fdd", "b5265196e", "b53780e1b", "c08538734", "d4c161842", "d5e1d5ed9", "eb39610f8", "eeac7dd9f"]], "identity_text": "Adjust PL/Perl test case so it will work under Perl 5.36 (Dagfinn Ilmari Mannsåker)", "commit_aliases": ["1072e4c45", "6f9ea6cf3", "9fdeae848", "a3b685fdd", "b5265196e", "b53780e1b", "c08538734", "d4c161842", "d5e1d5ed9", "eb39610f8", "eeac7dd9f"], "source_commits": ["1072e4c45"], "source_entry_id": "14.4/changes/018", "db_id": "64b9516f2fe9689f5aa6a0bc772d95fa", "patch_ids": ["2804187c844a2be6a8ae446d5125e0a3"], "statement_hash": "34d38786996b7e7e66b48d84f1727292009455d3373ac1627b25a2120a844ace", "relations": [{"rule": 2, "type": "equivalent", "target": "47d1163a6615975f3b84a168cbb7925e", "evidence": {"same_day": false, "patch_ids": ["2804187c844a2be6a8ae446d5125e0a3"], "statement_hash": "34d38786996b7e7e66b48d84f1727292009455d3373ac1627b25a2120a844ace"}}, {"rule": 2, "type": "equivalent", "target": "bcfadd2e923bb787399f120459ed0831", "evidence": {"same_day": false, "patch_ids": ["2804187c844a2be6a8ae446d5125e0a3"], "statement_hash": "34d38786996b7e7e66b48d84f1727292009455d3373ac1627b25a2120a844ace"}}, {"rule": 2, "type": "equivalent", "target": "cc6e49273f37e92a8f11c42c0dceafce", "evidence": {"same_day": false, "patch_ids": ["2804187c844a2be6a8ae446d5125e0a3"], "statement_hash": "34d38786996b7e7e66b48d84f1727292009455d3373ac1627b25a2120a844ace"}}, {"rule": 2, "type": "equivalent", "target": "dc9d8077d31346ea833fcdc740b65306", "evidence": {"same_day": false, "patch_ids": ["2804187c844a2be6a8ae446d5125e0a3"], "statement_hash": "34d38786996b7e7e66b48d84f1727292009455d3373ac1627b25a2120a844ace"}}], "version": "14.4", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "cc6e49273f37e92a8f11c42c0dceafce", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "Adjust PL/Perl test case so it will work under Perl 5.36", "evidence": {"same_day": false, "patch_ids": ["2804187c844a2be6a8ae446d5125e0a3"], "statement_hash": "34d38786996b7e7e66b48d84f1727292009455d3373ac1627b25a2120a844ace"}, "url": "/docs/compare/?release=13.8#13.8-a579a743a3bd2184", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "47d1163a6615975f3b84a168cbb7925e", "kind": "equivalent", "version": "12.12", "label": "12.12", "title": "Adjust PL/Perl test case so it will work under Perl 5.36", "evidence": {"same_day": false, "patch_ids": ["2804187c844a2be6a8ae446d5125e0a3"], "statement_hash": "34d38786996b7e7e66b48d84f1727292009455d3373ac1627b25a2120a844ace"}, "url": "/docs/compare/?release=12.12#12.12-c41e42afc5fdf78b", "source_url": "/docs/release/12.12/#id-1.11.6.16.5"}, {"db_id": "dc9d8077d31346ea833fcdc740b65306", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "Adjust PL/Perl test case so it will work under Perl 5.36", "evidence": {"same_day": false, "patch_ids": ["2804187c844a2be6a8ae446d5125e0a3"], "statement_hash": "34d38786996b7e7e66b48d84f1727292009455d3373ac1627b25a2120a844ace"}, "url": "/docs/compare/?release=11.17#11.17-c8d0c43a83021f7a", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "bcfadd2e923bb787399f120459ed0831", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "Adjust PL/Perl test case so it will work under Perl 5.36", "evidence": {"same_day": false, "patch_ids": ["2804187c844a2be6a8ae446d5125e0a3"], "statement_hash": "34d38786996b7e7e66b48d84f1727292009455d3373ac1627b25a2120a844ace"}, "url": "/docs/compare/?release=10.22#10.22-c8d0c43a83021f7a", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}, {"id": "14.4-f29ee6319361f0d0", "cves": [], "html": "<p>Avoid incorrectly using an out-of-date <span>libldap_r</span> library when multiple <span>OpenLDAP</span> installations are present while building <span>PostgreSQL</span> (Tom Lane) <a href=\"https://postgr.es/c/12736e7dc\">§</a></p>", "text": "Avoid incorrectly using an out-of-date libldap_r library when multiple OpenLDAP installations are present while building PostgreSQL (Tom Lane) §", "title": "Avoid incorrectly using an out-of-date libldap_r library when multiple OpenLDAP installations are present while building PostgreSQL", "commits": ["12736e7dc"], "section": "Changes", "category": "improvement", "source_url": "/docs/release/14.4/#id-1.11.6.26.5", "source_hash": "0ce12963d12c1343a5e79b3e57ec6d70770f0c529ec353e9ad8fd694c5306ec4", "section_path": ["Changes"], "commit_groups": [["12736e7dc", "36d76da81", "8ed13fb93", "af9b96767", "aff45c879", "c61f36d99"]], "identity_text": "Avoid incorrectly using an out-of-date libldap_r library when multiple OpenLDAP installations are present while building PostgreSQL (Tom Lane)", "commit_aliases": ["12736e7dc", "36d76da81", "8ed13fb93", "af9b96767", "aff45c879", "c61f36d99"], "source_commits": ["12736e7dc"], "source_entry_id": "14.4/changes/019", "db_id": "82a710a75821d2587b33f9bba342afcc", "patch_ids": ["88f4aa1042a3ce9789841eb94e25f7e1"], "statement_hash": "020e08f1a9d4fe1667360a127e6c77087983492a390e21ca9f2cd7c3222ff290", "relations": [{"rule": 2, "type": "equivalent", "target": "3e14d39949f688e375f392927caf9175", "evidence": {"same_day": false, "patch_ids": ["88f4aa1042a3ce9789841eb94e25f7e1"], "statement_hash": "020e08f1a9d4fe1667360a127e6c77087983492a390e21ca9f2cd7c3222ff290"}}, {"rule": 2, "type": "equivalent", "target": "502938bb3d9e079af311ef7d9e687ebd", "evidence": {"same_day": false, "patch_ids": ["88f4aa1042a3ce9789841eb94e25f7e1"], "statement_hash": "020e08f1a9d4fe1667360a127e6c77087983492a390e21ca9f2cd7c3222ff290"}}, {"rule": 2, "type": "equivalent", "target": "7f99accadfbc1312c99d86def5380258", "evidence": {"same_day": false, "patch_ids": ["88f4aa1042a3ce9789841eb94e25f7e1"], "statement_hash": "020e08f1a9d4fe1667360a127e6c77087983492a390e21ca9f2cd7c3222ff290"}}, {"rule": 2, "type": "equivalent", "target": "996cc9ec86c642d266926eadc263addb", "evidence": {"same_day": false, "patch_ids": ["88f4aa1042a3ce9789841eb94e25f7e1"], "statement_hash": "020e08f1a9d4fe1667360a127e6c77087983492a390e21ca9f2cd7c3222ff290"}}], "version": "14.4", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "3e14d39949f688e375f392927caf9175", "kind": "equivalent", "version": "13.8", "label": "13.8", "title": "Avoid incorrectly using an out-of-date libldap_r library when multiple OpenLDAP installations are present while building PostgreSQL", "evidence": {"same_day": false, "patch_ids": ["88f4aa1042a3ce9789841eb94e25f7e1"], "statement_hash": "020e08f1a9d4fe1667360a127e6c77087983492a390e21ca9f2cd7c3222ff290"}, "url": "/docs/compare/?release=13.8#13.8-cf362bf167ab3f6f", "source_url": "/docs/release/13.8/#id-1.11.6.21.5"}, {"db_id": "996cc9ec86c642d266926eadc263addb", "kind": "equivalent", "version": "12.12", "label": "12.12", "title": "Avoid incorrectly using an out-of-date libldap_r library when multiple OpenLDAP installations are present while building PostgreSQL", "evidence": {"same_day": false, "patch_ids": ["88f4aa1042a3ce9789841eb94e25f7e1"], "statement_hash": "020e08f1a9d4fe1667360a127e6c77087983492a390e21ca9f2cd7c3222ff290"}, "url": "/docs/compare/?release=12.12#12.12-6b525fcf72baa25d", "source_url": "/docs/release/12.12/#id-1.11.6.16.5"}, {"db_id": "502938bb3d9e079af311ef7d9e687ebd", "kind": "equivalent", "version": "11.17", "label": "11.17", "title": "Avoid incorrectly using an out-of-date libldap_r library when multiple OpenLDAP installations are present while building PostgreSQL", "evidence": {"same_day": false, "patch_ids": ["88f4aa1042a3ce9789841eb94e25f7e1"], "statement_hash": "020e08f1a9d4fe1667360a127e6c77087983492a390e21ca9f2cd7c3222ff290"}, "url": "/docs/compare/?release=11.17#11.17-055a27964bc5278d", "source_url": "/docs/release/11.17/#id-1.11.6.10.5"}, {"db_id": "7f99accadfbc1312c99d86def5380258", "kind": "equivalent", "version": "10.22", "label": "10.22", "title": "Avoid incorrectly using an out-of-date libldap_r library when multiple OpenLDAP installations are present while building PostgreSQL", "evidence": {"same_day": false, "patch_ids": ["88f4aa1042a3ce9789841eb94e25f7e1"], "statement_hash": "020e08f1a9d4fe1667360a127e6c77087983492a390e21ca9f2cd7c3222ff290"}, "url": "/docs/compare/?release=10.22#10.22-055a27964bc5278d", "source_url": "/docs/release/10.22/#id-1.11.6.6.6"}]}]}], "stats": [{"key": "all", "label": "All changes", "count": 19}, {"key": "feature", "label": "Features", "count": 0}, {"key": "bugfix", "label": "Bug fixes", "count": 9}, {"key": "security", "label": "Security", "count": 0}, {"key": "performance", "label": "Performance", "count": 0}, {"key": "compatibility", "label": "Compatibility", "count": 0}, {"key": "improvement", "label": "Improvements", "count": 10}], "total": 19, "release_count": 1, "cross_major": false, "cve_count": 0, "cves": [], "cve_available": true, "remaining_cves": [], "security_regressions": [], "warnings": [], "candidate_count": 19, "already_in_source_count": 0, "duplicate_count": 0, "excluded_count": 0, "exclusions": [], "source_as_of": "2026-09-26", "security_as_of": "2026-09-26"}