{"format": 1, "mode": "release", "from_release": null, "to_release": {"date": "2015-02-05", "build": "9.1.15", "major": "9.1", "minor": 15, "manual": "9.1", "status": "stable", "doc_git": "", "version": "9.1.15", "eol_date": "2016-10-27", "date_text": "2015-02-05", "supported": false, "manual_url": "/docs/9.1/release-9-1-15.html", "source_url": "/docs/release/9.1.15/", "entry_count": 60, "placeholder": false, "content_hash": "7536cdd0e11538c41d7616a8a4f47ac80d4a48f06744bcdc9452651b41608c00", "manual_build": "9.1.24", "source_as_of": "", "changes_count": 60, "doc_loaded_at": "2026-09-25T02:22:44.760693", "migration_html": "<p>A dump/restore is not required for those running 9.1.X.</p>\n<p>However, if you are upgrading from a version earlier than 9.1.14, see <a href=\"/docs/9.1/release-9-1-14.html\">Section E.11</a>.</p>", "compatibility_count": 0, "label": "9.1.15", "status_label": "Historical", "eol": "2016-10-27", "age_days": 4254, "support_days": -3624}, "groups": [{"date": "2015-02-05", "build": "9.1.15", "major": "9.1", "minor": 15, "manual": "9.1", "status": "stable", "doc_git": "", "version": "9.1.15", "eol_date": "2016-10-27", "date_text": "2015-02-05", "supported": false, "manual_url": "/docs/9.1/release-9-1-15.html", "source_url": "/docs/release/9.1.15/", "entry_count": 60, "placeholder": false, "content_hash": "7536cdd0e11538c41d7616a8a4f47ac80d4a48f06744bcdc9452651b41608c00", "manual_build": "9.1.24", "source_as_of": "", "changes_count": 60, "doc_loaded_at": "2026-09-25T02:22:44.760693", "migration_html": "<p>A dump/restore is not required for those running 9.1.X.</p>\n<p>However, if you are upgrading from a version earlier than 9.1.14, see <a href=\"/docs/9.1/release-9-1-14.html\">Section E.11</a>.</p>", "compatibility_count": 0, "label": "9.1.15", "status_label": "Historical", "eol": "2016-10-27", "age_days": 4254, "support_days": -3624, "entries": [{"id": "9.1.15-b14fa5bd2e8358b6", "cves": ["CVE-2015-0241"], "html": "<p>Fix buffer overruns in <code>to_char()</code> (Bruce Momjian)</p>\n<p>When <code>to_char()</code> processes a numeric formatting template calling for a large number of digits, <span>PostgreSQL</span> would read past the end of a buffer. When processing a crafted timestamp formatting template, <span>PostgreSQL</span> would write past the end of a buffer. Either case could crash the server. We have not ruled out the possibility of attacks that lead to privilege escalation, though they seem unlikely. (CVE-2015-0241)</p>", "text": "Fix buffer overruns in to_char() (Bruce Momjian) When to_char() processes a numeric formatting template calling for a large number of digits, PostgreSQL would read past the end of a buffer. When processing a crafted timestamp formatting template, PostgreSQL would write past the end of a buffer. Either case could crash the server. We have not ruled out the possibility of attacks that lead to privilege escalation, though they seem unlikely. (CVE-2015-0241)", "title": "Fix buffer overruns in to_char()", "commits": [], "section": "Changes", "category": "security", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "a157f7c661ad1795b8f502da571420c55546c4ef56ac40f33766f0c94b1ec064", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix buffer overruns in to_char() (Bruce Momjian) When to_char() processes a numeric formatting template calling for a large number of digits, PostgreSQL would read past the end of a buffer. When processing a crafted timestamp formatting template, PostgreSQL would write past the end of a buffer. Either case could crash the server. We have not ruled out the possibility of attacks that lead to privilege escalation, though they seem unlikely. (CVE-2015-0241)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/001", "db_id": "7fbcc218f6fcc168e6abdb0c1a7eada0", "patch_ids": [], "statement_hash": "0b49ca898c6d415c3166eb73b67fa5eaf5f0fe783bf9f1382d2b0d585d9412bc", "relations": [{"rule": 2, "type": "equivalent", "target": "00433c31ad068919dad0d185b0e0830b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0b49ca898c6d415c3166eb73b67fa5eaf5f0fe783bf9f1382d2b0d585d9412bc"}}, {"rule": 2, "type": "equivalent", "target": "990e692bca9e900ed4c908bc797fc663", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0b49ca898c6d415c3166eb73b67fa5eaf5f0fe783bf9f1382d2b0d585d9412bc"}}, {"rule": 2, "type": "equivalent", "target": "b9ffdfeacae629cd4f9feb83065e7139", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0b49ca898c6d415c3166eb73b67fa5eaf5f0fe783bf9f1382d2b0d585d9412bc"}}, {"rule": 2, "type": "equivalent", "target": "c631a08d16c113f5569d11ae86171cd7", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0b49ca898c6d415c3166eb73b67fa5eaf5f0fe783bf9f1382d2b0d585d9412bc"}}], "version": "9.1.15", "category_label": "Security", "also_in": [], "variants": [], "related_changes": [{"db_id": "990e692bca9e900ed4c908bc797fc663", "kind": "equivalent", "version": "9.4.1", "label": "9.4.1", "title": "Fix buffer overruns in to_char()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0b49ca898c6d415c3166eb73b67fa5eaf5f0fe783bf9f1382d2b0d585d9412bc"}, "url": "/docs/compare/?release=9.4.1#9.4.1-b14fa5bd2e8358b6", "source_url": "/docs/release/9.4.1/#AEN123581"}, {"db_id": "c631a08d16c113f5569d11ae86171cd7", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Fix buffer overruns in to_char()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0b49ca898c6d415c3166eb73b67fa5eaf5f0fe783bf9f1382d2b0d585d9412bc"}, "url": "/docs/compare/?release=9.3.6#9.3.6-b14fa5bd2e8358b6", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "b9ffdfeacae629cd4f9feb83065e7139", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Fix buffer overruns in to_char()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0b49ca898c6d415c3166eb73b67fa5eaf5f0fe783bf9f1382d2b0d585d9412bc"}, "url": "/docs/compare/?release=9.2.10#9.2.10-b14fa5bd2e8358b6", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "00433c31ad068919dad0d185b0e0830b", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Fix buffer overruns in to_char()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0b49ca898c6d415c3166eb73b67fa5eaf5f0fe783bf9f1382d2b0d585d9412bc"}, "url": "/docs/compare/?release=9.0.19#9.0.19-b14fa5bd2e8358b6", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-4675e91d87d4362c", "cves": ["CVE-2015-0242"], "html": "<p>Fix buffer overrun in replacement <code>*printf()</code> functions (Tom Lane)</p>\n<p><span>PostgreSQL</span> includes a replacement implementation of <code>printf</code> and related functions. This code will overrun a stack buffer when formatting a floating point number (conversion specifiers e, E, f, F, g or G) with requested precision greater than about 500. This will crash the server, and we have not ruled out the possibility of attacks that lead to privilege escalation. A database user can trigger such a buffer overrun through the <code>to_char()</code> SQL function. While that is the only affected core <span>PostgreSQL</span> functionality, extension modules that use printf-family functions may be at risk as well.</p>\n<p>This issue primarily affects <span>PostgreSQL</span> on Windows. <span>PostgreSQL</span> uses the system implementation of these functions where adequate, which it is on other modern platforms. (CVE-2015-0242)</p>", "text": "Fix buffer overrun in replacement *printf() functions (Tom Lane) PostgreSQL includes a replacement implementation of printf and related functions. This code will overrun a stack buffer when formatting a floating point number (conversion specifiers e, E, f, F, g or G) with requested precision greater than about 500. This will crash the server, and we have not ruled out the possibility of attacks that lead to privilege escalation. A database user can trigger such a buffer overrun through the to_char() SQL function. While that is the only affected core PostgreSQL functionality, extension modules that use printf-family functions may be at risk as well. This issue primarily affects PostgreSQL on Windows. PostgreSQL uses the system implementation of these functions where adequate, which it is on other modern platforms. (CVE-2015-0242)", "title": "Fix buffer overrun in replacement *printf() functions", "commits": [], "section": "Changes", "category": "security", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "5f47e489d7749693fe5aa1a29c694d7974a60dd1287f042f49b84c30616a8a3e", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix buffer overrun in replacement *printf() functions (Tom Lane) PostgreSQL includes a replacement implementation of printf and related functions. This code will overrun a stack buffer when formatting a floating point number (conversion specifiers e, E, f, F, g or G) with requested precision greater than about 500. This will crash the server, and we have not ruled out the possibility of attacks that lead to privilege escalation. A database user can trigger such a buffer overrun through the to_char() SQL function. While that is the only affected core PostgreSQL functionality, extension modules that use printf-family functions may be at risk as well. This issue primarily affects PostgreSQL on Windows. PostgreSQL uses the system implementation of these functions where adequate, which it is on other modern platforms. (CVE-2015-0242)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/002", "db_id": "e8f6fe7647398f6730a6866289021746", "patch_ids": [], "statement_hash": "6facd7936457ceefa6a83c5c66eca1a3f1ad14d6f02936eb2b530f3aa0f72fdd", "relations": [{"rule": 2, "type": "equivalent", "target": "20377b1aff86d05b63b56759b510d2ee", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6facd7936457ceefa6a83c5c66eca1a3f1ad14d6f02936eb2b530f3aa0f72fdd"}}, {"rule": 2, "type": "equivalent", "target": "258b89db478fc51a49887ec39072dadd", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6facd7936457ceefa6a83c5c66eca1a3f1ad14d6f02936eb2b530f3aa0f72fdd"}}, {"rule": 2, "type": "equivalent", "target": "b0c008a254ec058d02a2618bd567cf4c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6facd7936457ceefa6a83c5c66eca1a3f1ad14d6f02936eb2b530f3aa0f72fdd"}}, {"rule": 2, "type": "equivalent", "target": "d75d745b8f5d780f4c0162a00c5eaabd", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6facd7936457ceefa6a83c5c66eca1a3f1ad14d6f02936eb2b530f3aa0f72fdd"}}], "version": "9.1.15", "category_label": "Security", "also_in": [], "variants": [], "related_changes": [{"db_id": "20377b1aff86d05b63b56759b510d2ee", "kind": "equivalent", "version": "9.4.1", "label": "9.4.1", "title": "Fix buffer overrun in replacement *printf() functions", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6facd7936457ceefa6a83c5c66eca1a3f1ad14d6f02936eb2b530f3aa0f72fdd"}, "url": "/docs/compare/?release=9.4.1#9.4.1-4675e91d87d4362c", "source_url": "/docs/release/9.4.1/#AEN123581"}, {"db_id": "d75d745b8f5d780f4c0162a00c5eaabd", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Fix buffer overrun in replacement *printf() functions", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6facd7936457ceefa6a83c5c66eca1a3f1ad14d6f02936eb2b530f3aa0f72fdd"}, "url": "/docs/compare/?release=9.3.6#9.3.6-4675e91d87d4362c", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "258b89db478fc51a49887ec39072dadd", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Fix buffer overrun in replacement *printf() functions", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6facd7936457ceefa6a83c5c66eca1a3f1ad14d6f02936eb2b530f3aa0f72fdd"}, "url": "/docs/compare/?release=9.2.10#9.2.10-4675e91d87d4362c", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "b0c008a254ec058d02a2618bd567cf4c", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Fix buffer overrun in replacement *printf() functions", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6facd7936457ceefa6a83c5c66eca1a3f1ad14d6f02936eb2b530f3aa0f72fdd"}, "url": "/docs/compare/?release=9.0.19#9.0.19-4675e91d87d4362c", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-5aa013167d4d5dac", "cves": ["CVE-2015-0243"], "html": "<p>Fix buffer overruns in contrib/pgcrypto (Marko Tiikkaja, Noah Misch)</p>\n<p>Errors in memory size tracking within the pgcrypto module permitted stack buffer overruns and improper dependence on the contents of uninitialized memory. The buffer overrun cases can crash the server, and we have not ruled out the possibility of attacks that lead to privilege escalation. (CVE-2015-0243)</p>", "text": "Fix buffer overruns in contrib/pgcrypto (Marko Tiikkaja, Noah Misch) Errors in memory size tracking within the pgcrypto module permitted stack buffer overruns and improper dependence on the contents of uninitialized memory. The buffer overrun cases can crash the server, and we have not ruled out the possibility of attacks that lead to privilege escalation. (CVE-2015-0243)", "title": "Fix buffer overruns in contrib/pgcrypto", "commits": [], "section": "Changes", "category": "security", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "86edd1b7baf7d6ad7e9d4a8aa8a78d09fa3b30d46d8468ac4d8ba0e4557aac63", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix buffer overruns in contrib/pgcrypto (Marko Tiikkaja, Noah Misch) Errors in memory size tracking within the pgcrypto module permitted stack buffer overruns and improper dependence on the contents of uninitialized memory. The buffer overrun cases can crash the server, and we have not ruled out the possibility of attacks that lead to privilege escalation. (CVE-2015-0243)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/003", "db_id": "b63889e55d5fcf7ed29673a3f75e4ffb", "patch_ids": [], "statement_hash": "bd8a10aa11b9ca6eafb69e0e4b9559deb38d5d2794efb5dedec97ae522d4da7a", "relations": [{"rule": 2, "type": "equivalent", "target": "33a5647981837b909c2bb075f8f38a0b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bd8a10aa11b9ca6eafb69e0e4b9559deb38d5d2794efb5dedec97ae522d4da7a"}}, {"rule": 2, "type": "equivalent", "target": "3ed48b6f2719f35041f836ac6e215fb0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bd8a10aa11b9ca6eafb69e0e4b9559deb38d5d2794efb5dedec97ae522d4da7a"}}, {"rule": 2, "type": "equivalent", "target": "6a3ee8f85359a8b979be3eb7a4ca87d6", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bd8a10aa11b9ca6eafb69e0e4b9559deb38d5d2794efb5dedec97ae522d4da7a"}}, {"rule": 2, "type": "equivalent", "target": "f5f49269e786e76501353fb6c32e22bb", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bd8a10aa11b9ca6eafb69e0e4b9559deb38d5d2794efb5dedec97ae522d4da7a"}}], "version": "9.1.15", "category_label": "Security", "also_in": [], "variants": [], "related_changes": [{"db_id": "f5f49269e786e76501353fb6c32e22bb", "kind": "equivalent", "version": "9.4.1", "label": "9.4.1", "title": "Fix buffer overruns in contrib/pgcrypto", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bd8a10aa11b9ca6eafb69e0e4b9559deb38d5d2794efb5dedec97ae522d4da7a"}, "url": "/docs/compare/?release=9.4.1#9.4.1-5aa013167d4d5dac", "source_url": "/docs/release/9.4.1/#AEN123581"}, {"db_id": "6a3ee8f85359a8b979be3eb7a4ca87d6", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Fix buffer overruns in contrib/pgcrypto", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bd8a10aa11b9ca6eafb69e0e4b9559deb38d5d2794efb5dedec97ae522d4da7a"}, "url": "/docs/compare/?release=9.3.6#9.3.6-5aa013167d4d5dac", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "33a5647981837b909c2bb075f8f38a0b", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Fix buffer overruns in contrib/pgcrypto", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bd8a10aa11b9ca6eafb69e0e4b9559deb38d5d2794efb5dedec97ae522d4da7a"}, "url": "/docs/compare/?release=9.2.10#9.2.10-5aa013167d4d5dac", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "3ed48b6f2719f35041f836ac6e215fb0", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Fix buffer overruns in contrib/pgcrypto", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bd8a10aa11b9ca6eafb69e0e4b9559deb38d5d2794efb5dedec97ae522d4da7a"}, "url": "/docs/compare/?release=9.0.19#9.0.19-5aa013167d4d5dac", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-12c77bc376a81e88", "cves": ["CVE-2015-0244"], "html": "<p>Fix possible loss of frontend/backend protocol synchronization after an error (Heikki Linnakangas)</p>\n<p>If any error occurred while the server was in the middle of reading a protocol message from the client, it could lose synchronization and incorrectly try to interpret part of the message's data as a new protocol message. An attacker able to submit crafted binary data within a command parameter might succeed in injecting his own SQL commands this way. Statement timeout and query cancellation are the most likely sources of errors triggering this scenario. Particularly vulnerable are applications that use a timeout and also submit arbitrary user-crafted data as binary query parameters. Disabling statement timeout will reduce, but not eliminate, the risk of exploit. Our thanks to Emil Lenngren for reporting this issue. (CVE-2015-0244)</p>", "text": "Fix possible loss of frontend/backend protocol synchronization after an error (Heikki Linnakangas) If any error occurred while the server was in the middle of reading a protocol message from the client, it could lose synchronization and incorrectly try to interpret part of the message's data as a new protocol message. An attacker able to submit crafted binary data within a command parameter might succeed in injecting his own SQL commands this way. Statement timeout and query cancellation are the most likely sources of errors triggering this scenario. Particularly vulnerable are applications that use a timeout and also submit arbitrary user-crafted data as binary query parameters. Disabling statement timeout will reduce, but not eliminate, the risk of exploit. Our thanks to Emil Lenngren for reporting this issue. (CVE-2015-0244)", "title": "Fix possible loss of frontend/backend protocol synchronization after an error", "commits": [], "section": "Changes", "category": "security", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "b6ba8159ac979144f6bc22585121f572db487e2f39a79a3d7069c31aaf961002", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix possible loss of frontend/backend protocol synchronization after an error (Heikki Linnakangas) If any error occurred while the server was in the middle of reading a protocol message from the client, it could lose synchronization and incorrectly try to interpret part of the message's data as a new protocol message. An attacker able to submit crafted binary data within a command parameter might succeed in injecting his own SQL commands this way. Statement timeout and query cancellation are the most likely sources of errors triggering this scenario. Particularly vulnerable are applications that use a timeout and also submit arbitrary user-crafted data as binary query parameters. Disabling statement timeout will reduce, but not eliminate, the risk of exploit. Our thanks to Emil Lenngren for reporting this issue. (CVE-2015-0244)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/004", "db_id": "58ef80e95adca1b234c4943ae030d777", "patch_ids": [], "statement_hash": "48ad257f35f4224a927c2505d1745f6abd99f358e996b644e00ab7263992a1c0", "relations": [{"rule": 2, "type": "equivalent", "target": "1c2e17a917530e1056e37a0fd57770c8", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "48ad257f35f4224a927c2505d1745f6abd99f358e996b644e00ab7263992a1c0"}}, {"rule": 2, "type": "equivalent", "target": "52fd0db7fb421f3b0015c80774055b74", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "48ad257f35f4224a927c2505d1745f6abd99f358e996b644e00ab7263992a1c0"}}, {"rule": 2, "type": "equivalent", "target": "c30f7e4786dc10d32b60a9b2623b0f1b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "48ad257f35f4224a927c2505d1745f6abd99f358e996b644e00ab7263992a1c0"}}, {"rule": 2, "type": "equivalent", "target": "f341e3494142a5b46900f555e822f4b3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "48ad257f35f4224a927c2505d1745f6abd99f358e996b644e00ab7263992a1c0"}}], "version": "9.1.15", "category_label": "Security", "also_in": [], "variants": [], "related_changes": [{"db_id": "c30f7e4786dc10d32b60a9b2623b0f1b", "kind": "equivalent", "version": "9.4.1", "label": "9.4.1", "title": "Fix possible loss of frontend/backend protocol synchronization after an error", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "48ad257f35f4224a927c2505d1745f6abd99f358e996b644e00ab7263992a1c0"}, "url": "/docs/compare/?release=9.4.1#9.4.1-12c77bc376a81e88", "source_url": "/docs/release/9.4.1/#AEN123581"}, {"db_id": "f341e3494142a5b46900f555e822f4b3", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Fix possible loss of frontend/backend protocol synchronization after an error", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "48ad257f35f4224a927c2505d1745f6abd99f358e996b644e00ab7263992a1c0"}, "url": "/docs/compare/?release=9.3.6#9.3.6-12c77bc376a81e88", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "52fd0db7fb421f3b0015c80774055b74", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Fix possible loss of frontend/backend protocol synchronization after an error", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "48ad257f35f4224a927c2505d1745f6abd99f358e996b644e00ab7263992a1c0"}, "url": "/docs/compare/?release=9.2.10#9.2.10-12c77bc376a81e88", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "1c2e17a917530e1056e37a0fd57770c8", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Fix possible loss of frontend/backend protocol synchronization after an error", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "48ad257f35f4224a927c2505d1745f6abd99f358e996b644e00ab7263992a1c0"}, "url": "/docs/compare/?release=9.0.19#9.0.19-12c77bc376a81e88", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-f3d42e35f2630f9f", "cves": ["CVE-2014-8161"], "html": "<p>Fix information leak via constraint-violation error messages (Stephen Frost)</p>\n<p>Some server error messages show the values of columns that violate a constraint, such as a unique constraint. If the user does not have SELECT privilege on all columns of the table, this could mean exposing values that the user should not be able to see. Adjust the code so that values are displayed only when they came from the SQL command or could be selected by the user. (CVE-2014-8161)</p>", "text": "Fix information leak via constraint-violation error messages (Stephen Frost) Some server error messages show the values of columns that violate a constraint, such as a unique constraint. If the user does not have SELECT privilege on all columns of the table, this could mean exposing values that the user should not be able to see. Adjust the code so that values are displayed only when they came from the SQL command or could be selected by the user. (CVE-2014-8161)", "title": "Fix information leak via constraint-violation error messages", "commits": [], "section": "Changes", "category": "security", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "32f79c1afb24b91afe4cb279d629760313d220027dfc3787501c33dd579b449e", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix information leak via constraint-violation error messages (Stephen Frost) Some server error messages show the values of columns that violate a constraint, such as a unique constraint. If the user does not have SELECT privilege on all columns of the table, this could mean exposing values that the user should not be able to see. Adjust the code so that values are displayed only when they came from the SQL command or could be selected by the user. (CVE-2014-8161)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/005", "db_id": "b5b170039eff8c708d777a87cc56f4ee", "patch_ids": [], "statement_hash": "dd2b73b11818dd3a1fff35706b46ac7cadcadcaa414dd330a192424304534f7c", "relations": [{"rule": 2, "type": "equivalent", "target": "258c224c072d8571536846c0f589715b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dd2b73b11818dd3a1fff35706b46ac7cadcadcaa414dd330a192424304534f7c"}}, {"rule": 2, "type": "equivalent", "target": "2ba0e0820371c50e724133f60a0846df", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dd2b73b11818dd3a1fff35706b46ac7cadcadcaa414dd330a192424304534f7c"}}, {"rule": 2, "type": "equivalent", "target": "707992cea29a842212624b2871eda46f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dd2b73b11818dd3a1fff35706b46ac7cadcadcaa414dd330a192424304534f7c"}}, {"rule": 2, "type": "equivalent", "target": "cb23b2e67a0393165767d5061c7ff291", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dd2b73b11818dd3a1fff35706b46ac7cadcadcaa414dd330a192424304534f7c"}}], "version": "9.1.15", "category_label": "Security", "also_in": [], "variants": [], "related_changes": [{"db_id": "258c224c072d8571536846c0f589715b", "kind": "equivalent", "version": "9.4.1", "label": "9.4.1", "title": "Fix information leak via constraint-violation error messages", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dd2b73b11818dd3a1fff35706b46ac7cadcadcaa414dd330a192424304534f7c"}, "url": "/docs/compare/?release=9.4.1#9.4.1-f3d42e35f2630f9f", "source_url": "/docs/release/9.4.1/#AEN123581"}, {"db_id": "707992cea29a842212624b2871eda46f", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Fix information leak via constraint-violation error messages", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dd2b73b11818dd3a1fff35706b46ac7cadcadcaa414dd330a192424304534f7c"}, "url": "/docs/compare/?release=9.3.6#9.3.6-f3d42e35f2630f9f", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "cb23b2e67a0393165767d5061c7ff291", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Fix information leak via constraint-violation error messages", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dd2b73b11818dd3a1fff35706b46ac7cadcadcaa414dd330a192424304534f7c"}, "url": "/docs/compare/?release=9.2.10#9.2.10-f3d42e35f2630f9f", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "2ba0e0820371c50e724133f60a0846df", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Fix information leak via constraint-violation error messages", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dd2b73b11818dd3a1fff35706b46ac7cadcadcaa414dd330a192424304534f7c"}, "url": "/docs/compare/?release=9.0.19#9.0.19-f3d42e35f2630f9f", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-8c669d79f99ea120", "cves": ["CVE-2014-0067"], "html": "<p>Lock down regression testing's temporary installations on Windows (Noah Misch)</p>\n<p>Use SSPI authentication to allow connections only from the OS user who launched the test suite. This closes on Windows the same vulnerability previously closed on other platforms, namely that other users might be able to connect to the test postmaster. (CVE-2014-0067)</p>", "text": "Lock down regression testing's temporary installations on Windows (Noah Misch) Use SSPI authentication to allow connections only from the OS user who launched the test suite. This closes on Windows the same vulnerability previously closed on other platforms, namely that other users might be able to connect to the test postmaster. (CVE-2014-0067)", "title": "Lock down regression testing's temporary installations on Windows", "commits": [], "section": "Changes", "category": "security", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "b9e8d9bca46e10d5d0eba76f0382cf1347dcb30daad63a5f9e1ba659b291cea0", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Lock down regression testing's temporary installations on Windows (Noah Misch) Use SSPI authentication to allow connections only from the OS user who launched the test suite. This closes on Windows the same vulnerability previously closed on other platforms, namely that other users might be able to connect to the test postmaster. (CVE-2014-0067)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/006", "db_id": "c9e6817fa33417170bff26fa71630be0", "patch_ids": [], "statement_hash": "a634794025e560be39918325339ff67cd524350a326f395531d18ad3ef17869d", "relations": [{"rule": 2, "type": "equivalent", "target": "779b293b81f06e9a89366b402c92716f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a634794025e560be39918325339ff67cd524350a326f395531d18ad3ef17869d"}}, {"rule": 2, "type": "equivalent", "target": "c55d12255d904c843b58f7491c8c32f0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a634794025e560be39918325339ff67cd524350a326f395531d18ad3ef17869d"}}, {"rule": 2, "type": "equivalent", "target": "d1316adb0f1a83d10b6bceddd551ca7d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a634794025e560be39918325339ff67cd524350a326f395531d18ad3ef17869d"}}, {"rule": 2, "type": "equivalent", "target": "e40096ec33c08b11ceda62b0eeaed41b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a634794025e560be39918325339ff67cd524350a326f395531d18ad3ef17869d"}}], "version": "9.1.15", "category_label": "Security", "also_in": [], "variants": [], "related_changes": [{"db_id": "e40096ec33c08b11ceda62b0eeaed41b", "kind": "equivalent", "version": "9.4.1", "label": "9.4.1", "title": "Lock down regression testing's temporary installations on Windows", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a634794025e560be39918325339ff67cd524350a326f395531d18ad3ef17869d"}, "url": "/docs/compare/?release=9.4.1#9.4.1-8c669d79f99ea120", "source_url": "/docs/release/9.4.1/#AEN123581"}, {"db_id": "d1316adb0f1a83d10b6bceddd551ca7d", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Lock down regression testing's temporary installations on Windows", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a634794025e560be39918325339ff67cd524350a326f395531d18ad3ef17869d"}, "url": "/docs/compare/?release=9.3.6#9.3.6-8c669d79f99ea120", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "779b293b81f06e9a89366b402c92716f", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Lock down regression testing's temporary installations on Windows", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a634794025e560be39918325339ff67cd524350a326f395531d18ad3ef17869d"}, "url": "/docs/compare/?release=9.2.10#9.2.10-8c669d79f99ea120", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "c55d12255d904c843b58f7491c8c32f0", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Lock down regression testing's temporary installations on Windows", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a634794025e560be39918325339ff67cd524350a326f395531d18ad3ef17869d"}, "url": "/docs/compare/?release=9.0.19#9.0.19-8c669d79f99ea120", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-774eb58c341d217e", "cves": [], "html": "<p>Avoid possible data corruption if ALTER DATABASE SET TABLESPACE is used to move a database to a new tablespace and then shortly later move it back to its original tablespace (Tom Lane)</p>", "text": "Avoid possible data corruption if ALTER DATABASE SET TABLESPACE is used to move a database to a new tablespace and then shortly later move it back to its original tablespace (Tom Lane)", "title": "Avoid possible data corruption if ALTER DATABASE SET TABLESPACE is used to move a database to a new tablespace and then shortly later move it back to its original tablespace", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "70fd72b4ea72ba4029d67c8f13d3080081900c59f6ad4e2cc8a6548c6ba47dcc", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Avoid possible data corruption if ALTER DATABASE SET TABLESPACE is used to move a database to a new tablespace and then shortly later move it back to its original tablespace (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/007", "db_id": "34a819efecd6cbded98343eed96ecd44", "patch_ids": [], "statement_hash": "fdbacc0c7248772ecfddc674160c2748a9f5ee110d9ce2119b4e78bfa7c2bfea", "relations": [{"rule": 2, "type": "equivalent", "target": "413d24efd179754607333c77f109c91c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fdbacc0c7248772ecfddc674160c2748a9f5ee110d9ce2119b4e78bfa7c2bfea"}}, {"rule": 2, "type": "equivalent", "target": "45486756689bc9c137b3abbd2a8866d4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fdbacc0c7248772ecfddc674160c2748a9f5ee110d9ce2119b4e78bfa7c2bfea"}}, {"rule": 2, "type": "equivalent", "target": "7278db76e96b7e107724639fc17e62da", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fdbacc0c7248772ecfddc674160c2748a9f5ee110d9ce2119b4e78bfa7c2bfea"}}], "version": "9.1.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "7278db76e96b7e107724639fc17e62da", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Avoid possible data corruption if ALTER DATABASE SET TABLESPACE is used to move a database to a new tablespace and then shortly later move it back to its original tablespace", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fdbacc0c7248772ecfddc674160c2748a9f5ee110d9ce2119b4e78bfa7c2bfea"}, "url": "/docs/compare/?release=9.3.6#9.3.6-774eb58c341d217e", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "45486756689bc9c137b3abbd2a8866d4", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Avoid possible data corruption if ALTER DATABASE SET TABLESPACE is used to move a database to a new tablespace and then shortly later move it back to its original tablespace", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fdbacc0c7248772ecfddc674160c2748a9f5ee110d9ce2119b4e78bfa7c2bfea"}, "url": "/docs/compare/?release=9.2.10#9.2.10-774eb58c341d217e", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "413d24efd179754607333c77f109c91c", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Avoid possible data corruption if ALTER DATABASE SET TABLESPACE is used to move a database to a new tablespace and then shortly later move it back to its original tablespace", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fdbacc0c7248772ecfddc674160c2748a9f5ee110d9ce2119b4e78bfa7c2bfea"}, "url": "/docs/compare/?release=9.0.19#9.0.19-774eb58c341d217e", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-b3dbf7444d4d9e79", "cves": [], "html": "<p>Avoid corrupting tables when ANALYZE inside a transaction is rolled back (Andres Freund, Tom Lane, Michael Paquier)</p>\n<p>If the failing transaction had earlier removed the last index, rule, or trigger from the table, the table would be left in a corrupted state with the relevant pg_class flags not set though they should be.</p>", "text": "Avoid corrupting tables when ANALYZE inside a transaction is rolled back (Andres Freund, Tom Lane, Michael Paquier) If the failing transaction had earlier removed the last index, rule, or trigger from the table, the table would be left in a corrupted state with the relevant pg_class flags not set though they should be.", "title": "Avoid corrupting tables when ANALYZE inside a transaction is rolled back", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "9fea2c6377c3768797cd70e9f60c884679a8e254b6345821ba5fc33d5d503490", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Avoid corrupting tables when ANALYZE inside a transaction is rolled back (Andres Freund, Tom Lane, Michael Paquier) If the failing transaction had earlier removed the last index, rule, or trigger from the table, the table would be left in a corrupted state with the relevant pg_class flags not set though they should be.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/008", "db_id": "23b53ecd652d84dd2dd413294fd6521d", "patch_ids": [], "statement_hash": "316139d0974234907cd01c27df24264c574ded69c2b48264a6b98e2ddd03575e", "relations": [{"rule": 2, "type": "equivalent", "target": "8caf71bc52ba8ad5f05273584f0dddd5", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "316139d0974234907cd01c27df24264c574ded69c2b48264a6b98e2ddd03575e"}}, {"rule": 2, "type": "equivalent", "target": "9a9d0dcf2f63e759f5380b51fd62a4ca", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "316139d0974234907cd01c27df24264c574ded69c2b48264a6b98e2ddd03575e"}}, {"rule": 2, "type": "equivalent", "target": "e8e57e07476a94a6d6d8d7584f04f055", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "316139d0974234907cd01c27df24264c574ded69c2b48264a6b98e2ddd03575e"}}], "version": "9.1.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "8caf71bc52ba8ad5f05273584f0dddd5", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Avoid corrupting tables when ANALYZE inside a transaction is rolled back", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "316139d0974234907cd01c27df24264c574ded69c2b48264a6b98e2ddd03575e"}, "url": "/docs/compare/?release=9.3.6#9.3.6-b3dbf7444d4d9e79", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "9a9d0dcf2f63e759f5380b51fd62a4ca", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Avoid corrupting tables when ANALYZE inside a transaction is rolled back", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "316139d0974234907cd01c27df24264c574ded69c2b48264a6b98e2ddd03575e"}, "url": "/docs/compare/?release=9.2.10#9.2.10-b3dbf7444d4d9e79", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "e8e57e07476a94a6d6d8d7584f04f055", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Avoid corrupting tables when ANALYZE inside a transaction is rolled back", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "316139d0974234907cd01c27df24264c574ded69c2b48264a6b98e2ddd03575e"}, "url": "/docs/compare/?release=9.0.19#9.0.19-b3dbf7444d4d9e79", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-1e13993da3a570c3", "cves": [], "html": "<p>Ensure that unlogged tables are copied correctly during CREATE DATABASE or ALTER DATABASE SET TABLESPACE (Pavan Deolasee, Andres Freund)</p>", "text": "Ensure that unlogged tables are copied correctly during CREATE DATABASE or ALTER DATABASE SET TABLESPACE (Pavan Deolasee, Andres Freund)", "title": "Ensure that unlogged tables are copied correctly during CREATE DATABASE or ALTER DATABASE SET TABLESPACE", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "06bce4418dde73ea1cf562383261324343226e0e860b5cfeee215152cc052d85", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Ensure that unlogged tables are copied correctly during CREATE DATABASE or ALTER DATABASE SET TABLESPACE (Pavan Deolasee, Andres Freund)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/009", "db_id": "43d598433928f4bdb36c22af6ef3fd4b", "patch_ids": [], "statement_hash": "1765d291e11bf9b9242104dfe85a372abcbf1e5e8b3534708eaf02f64e356ebf", "relations": [{"rule": 2, "type": "equivalent", "target": "7920aa42c426337455a425f3a1380d61", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1765d291e11bf9b9242104dfe85a372abcbf1e5e8b3534708eaf02f64e356ebf"}}, {"rule": 2, "type": "equivalent", "target": "bfc54c05d73c99f569d6a48ede51b9e1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1765d291e11bf9b9242104dfe85a372abcbf1e5e8b3534708eaf02f64e356ebf"}}], "version": "9.1.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "7920aa42c426337455a425f3a1380d61", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Ensure that unlogged tables are copied correctly during CREATE DATABASE or ALTER DATABASE SET TABLESPACE", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1765d291e11bf9b9242104dfe85a372abcbf1e5e8b3534708eaf02f64e356ebf"}, "url": "/docs/compare/?release=9.3.6#9.3.6-1e13993da3a570c3", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "bfc54c05d73c99f569d6a48ede51b9e1", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Ensure that unlogged tables are copied correctly during CREATE DATABASE or ALTER DATABASE SET TABLESPACE", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1765d291e11bf9b9242104dfe85a372abcbf1e5e8b3534708eaf02f64e356ebf"}, "url": "/docs/compare/?release=9.2.10#9.2.10-1e13993da3a570c3", "source_url": "/docs/release/9.2.10/#AEN112547"}]}, {"id": "9.1.15-631cec54ae59e326", "cves": [], "html": "<p>Fix DROP's dependency searching to correctly handle the case where a table column is recursively visited before its table (Petr Jelinek, Tom Lane)</p>\n<p>This case is only known to arise when an extension creates both a datatype and a table using that datatype. The faulty code might refuse a DROP EXTENSION unless CASCADE is specified, which should not be required.</p>", "text": "Fix DROP's dependency searching to correctly handle the case where a table column is recursively visited before its table (Petr Jelinek, Tom Lane) This case is only known to arise when an extension creates both a datatype and a table using that datatype. The faulty code might refuse a DROP EXTENSION unless CASCADE is specified, which should not be required.", "title": "Fix DROP's dependency searching to correctly handle the case where a table column is recursively visited before its table", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "db2a590b27063749efb1f4c80b161c4a1503041992c100bf67af1563d7adf544", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix DROP's dependency searching to correctly handle the case where a table column is recursively visited before its table (Petr Jelinek, Tom Lane) This case is only known to arise when an extension creates both a datatype and a table using that datatype. The faulty code might refuse a DROP EXTENSION unless CASCADE is specified, which should not be required.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/010", "db_id": "d73f6423d6a396667a57ae5e63a97aff", "patch_ids": [], "statement_hash": "c6d6640c8f1ec0ca181f63c6cc48501c04afcfc27087522bfcae8634243e3900", "relations": [{"rule": 2, "type": "equivalent", "target": "8893c22d1c28aeb5aa71ff5a98b0fc93", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c6d6640c8f1ec0ca181f63c6cc48501c04afcfc27087522bfcae8634243e3900"}}, {"rule": 2, "type": "equivalent", "target": "c8dd553fbb303c1aba44f4e7eb876826", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c6d6640c8f1ec0ca181f63c6cc48501c04afcfc27087522bfcae8634243e3900"}}], "version": "9.1.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "c8dd553fbb303c1aba44f4e7eb876826", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Fix DROP's dependency searching to correctly handle the case where a table column is recursively visited before its table", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c6d6640c8f1ec0ca181f63c6cc48501c04afcfc27087522bfcae8634243e3900"}, "url": "/docs/compare/?release=9.3.6#9.3.6-631cec54ae59e326", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "8893c22d1c28aeb5aa71ff5a98b0fc93", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Fix DROP's dependency searching to correctly handle the case where a table column is recursively visited before its table", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c6d6640c8f1ec0ca181f63c6cc48501c04afcfc27087522bfcae8634243e3900"}, "url": "/docs/compare/?release=9.2.10#9.2.10-631cec54ae59e326", "source_url": "/docs/release/9.2.10/#AEN112547"}]}, {"id": "9.1.15-f77d6efd5869cfd0", "cves": [], "html": "<p>Fix use-of-already-freed-memory problem in EvalPlanQual processing (Tom Lane)</p>\n<p>In READ COMMITTED mode, queries that lock or update recently-updated rows could crash as a result of this bug.</p>", "text": "Fix use-of-already-freed-memory problem in EvalPlanQual processing (Tom Lane) In READ COMMITTED mode, queries that lock or update recently-updated rows could crash as a result of this bug.", "title": "Fix use-of-already-freed-memory problem in EvalPlanQual processing", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "36d067ad9cfb32b16eadf51fcf4be023de02358ae07224d1d7cc7509035c6f18", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix use-of-already-freed-memory problem in EvalPlanQual processing (Tom Lane) In READ COMMITTED mode, queries that lock or update recently-updated rows could crash as a result of this bug.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/011", "db_id": "897dbd23f31c45b407d751eaf85051d7", "patch_ids": [], "statement_hash": "26c0a7d85f5805b580b6a294fb05aed11b824299101debe409c4d1842cd97910", "relations": [{"rule": 2, "type": "equivalent", "target": "086c756fd0e9397971b54d7a28c49444", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "26c0a7d85f5805b580b6a294fb05aed11b824299101debe409c4d1842cd97910"}}, {"rule": 2, "type": "equivalent", "target": "0f099841cca4b33405c3ddc8f4fead00", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "26c0a7d85f5805b580b6a294fb05aed11b824299101debe409c4d1842cd97910"}}, {"rule": 2, "type": "equivalent", "target": "518b6f89d70c4bd72f57e27b1c90c8aa", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "26c0a7d85f5805b580b6a294fb05aed11b824299101debe409c4d1842cd97910"}}, {"rule": 2, "type": "equivalent", "target": "c232791f560eab5b20a7fd1cced3be9c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "26c0a7d85f5805b580b6a294fb05aed11b824299101debe409c4d1842cd97910"}}], "version": "9.1.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "518b6f89d70c4bd72f57e27b1c90c8aa", "kind": "equivalent", "version": "9.4.1", "label": "9.4.1", "title": "Fix use-of-already-freed-memory problem in EvalPlanQual processing", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "26c0a7d85f5805b580b6a294fb05aed11b824299101debe409c4d1842cd97910"}, "url": "/docs/compare/?release=9.4.1#9.4.1-f77d6efd5869cfd0", "source_url": "/docs/release/9.4.1/#AEN123581"}, {"db_id": "086c756fd0e9397971b54d7a28c49444", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Fix use-of-already-freed-memory problem in EvalPlanQual processing", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "26c0a7d85f5805b580b6a294fb05aed11b824299101debe409c4d1842cd97910"}, "url": "/docs/compare/?release=9.3.6#9.3.6-f77d6efd5869cfd0", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "c232791f560eab5b20a7fd1cced3be9c", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Fix use-of-already-freed-memory problem in EvalPlanQual processing", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "26c0a7d85f5805b580b6a294fb05aed11b824299101debe409c4d1842cd97910"}, "url": "/docs/compare/?release=9.2.10#9.2.10-f77d6efd5869cfd0", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "0f099841cca4b33405c3ddc8f4fead00", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Fix use-of-already-freed-memory problem in EvalPlanQual processing", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "26c0a7d85f5805b580b6a294fb05aed11b824299101debe409c4d1842cd97910"}, "url": "/docs/compare/?release=9.0.19#9.0.19-f77d6efd5869cfd0", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-5d92fe8be180b575", "cves": [], "html": "<p>Fix planning of SELECT FOR UPDATE when using a partial index on a child table (Kyotaro Horiguchi)</p>\n<p>In READ COMMITTED mode, SELECT FOR UPDATE must also recheck the partial index's WHERE condition when rechecking a recently-updated row to see if it still satisfies the query's WHERE condition. This requirement was missed if the index belonged to an inheritance child table, so that it was possible to incorrectly return rows that no longer satisfy the query condition.</p>", "text": "Fix planning of SELECT FOR UPDATE when using a partial index on a child table (Kyotaro Horiguchi) In READ COMMITTED mode, SELECT FOR UPDATE must also recheck the partial index's WHERE condition when rechecking a recently-updated row to see if it still satisfies the query's WHERE condition. This requirement was missed if the index belonged to an inheritance child table, so that it was possible to incorrectly return rows that no longer satisfy the query condition.", "title": "Fix planning of SELECT FOR UPDATE when using a partial index on a child table", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "bc996767707e2361bc3f18f596c9eec0ee1d5fe39e8ae19435f9f7dae5624418", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix planning of SELECT FOR UPDATE when using a partial index on a child table (Kyotaro Horiguchi) In READ COMMITTED mode, SELECT FOR UPDATE must also recheck the partial index's WHERE condition when rechecking a recently-updated row to see if it still satisfies the query's WHERE condition. This requirement was missed if the index belonged to an inheritance child table, so that it was possible to incorrectly return rows that no longer satisfy the query condition.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/012", "db_id": "5ddd034f28b89f798a4c7c670c6c478b", "patch_ids": [], "statement_hash": "36908b6ff0ae3603effb5d580a33f80dbaf095b34c33a38ec0653a51e0c34435", "relations": [{"rule": 2, "type": "equivalent", "target": "146aec752b81b2b4395318ac831a802d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "36908b6ff0ae3603effb5d580a33f80dbaf095b34c33a38ec0653a51e0c34435"}}, {"rule": 2, "type": "equivalent", "target": "59fd481145887a120dad83abb8869791", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "36908b6ff0ae3603effb5d580a33f80dbaf095b34c33a38ec0653a51e0c34435"}}, {"rule": 2, "type": "equivalent", "target": "d7be3c4335349cd5c1a397c0f662487b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "36908b6ff0ae3603effb5d580a33f80dbaf095b34c33a38ec0653a51e0c34435"}}], "version": "9.1.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "146aec752b81b2b4395318ac831a802d", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Fix planning of SELECT FOR UPDATE when using a partial index on a child table", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "36908b6ff0ae3603effb5d580a33f80dbaf095b34c33a38ec0653a51e0c34435"}, "url": "/docs/compare/?release=9.3.6#9.3.6-5d92fe8be180b575", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "59fd481145887a120dad83abb8869791", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Fix planning of SELECT FOR UPDATE when using a partial index on a child table", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "36908b6ff0ae3603effb5d580a33f80dbaf095b34c33a38ec0653a51e0c34435"}, "url": "/docs/compare/?release=9.2.10#9.2.10-5d92fe8be180b575", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "d7be3c4335349cd5c1a397c0f662487b", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Fix planning of SELECT FOR UPDATE when using a partial index on a child table", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "36908b6ff0ae3603effb5d580a33f80dbaf095b34c33a38ec0653a51e0c34435"}, "url": "/docs/compare/?release=9.0.19#9.0.19-5d92fe8be180b575", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-5b1c392b61a67e26", "cves": [], "html": "<p>Fix corner case wherein SELECT FOR UPDATE could return a row twice, and possibly miss returning other rows (Tom Lane)</p>\n<p>In READ COMMITTED mode, a SELECT FOR UPDATE that is scanning an inheritance tree could incorrectly return a row from a prior child table instead of the one it should return from a later child table.</p>", "text": "Fix corner case wherein SELECT FOR UPDATE could return a row twice, and possibly miss returning other rows (Tom Lane) In READ COMMITTED mode, a SELECT FOR UPDATE that is scanning an inheritance tree could incorrectly return a row from a prior child table instead of the one it should return from a later child table.", "title": "Fix corner case wherein SELECT FOR UPDATE could return a row twice, and possibly miss returning other rows", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "84021473aab8be3d6294dcc7737c996fe92227622d5116af873f28b26affa75d", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix corner case wherein SELECT FOR UPDATE could return a row twice, and possibly miss returning other rows (Tom Lane) In READ COMMITTED mode, a SELECT FOR UPDATE that is scanning an inheritance tree could incorrectly return a row from a prior child table instead of the one it should return from a later child table.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/013", "db_id": "d2306970eb0b897986d601c730f7f559", "patch_ids": [], "statement_hash": "50e0848c1827ba8c6efc14c54fba1123fe9547b2c4df6757f3537d4a8131b9d6", "relations": [{"rule": 2, "type": "equivalent", "target": "aaeaed3b9b37367a610922fde7031533", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "50e0848c1827ba8c6efc14c54fba1123fe9547b2c4df6757f3537d4a8131b9d6"}}, {"rule": 2, "type": "equivalent", "target": "fbef46d750d950e659efa4e806de3441", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "50e0848c1827ba8c6efc14c54fba1123fe9547b2c4df6757f3537d4a8131b9d6"}}, {"rule": 2, "type": "equivalent", "target": "fe162f08321da551b1a14893a637f697", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "50e0848c1827ba8c6efc14c54fba1123fe9547b2c4df6757f3537d4a8131b9d6"}}], "version": "9.1.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "fbef46d750d950e659efa4e806de3441", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Fix corner case wherein SELECT FOR UPDATE could return a row twice, and possibly miss returning other rows", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "50e0848c1827ba8c6efc14c54fba1123fe9547b2c4df6757f3537d4a8131b9d6"}, "url": "/docs/compare/?release=9.3.6#9.3.6-5b1c392b61a67e26", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "aaeaed3b9b37367a610922fde7031533", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Fix corner case wherein SELECT FOR UPDATE could return a row twice, and possibly miss returning other rows", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "50e0848c1827ba8c6efc14c54fba1123fe9547b2c4df6757f3537d4a8131b9d6"}, "url": "/docs/compare/?release=9.2.10#9.2.10-5b1c392b61a67e26", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "fe162f08321da551b1a14893a637f697", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Fix corner case wherein SELECT FOR UPDATE could return a row twice, and possibly miss returning other rows", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "50e0848c1827ba8c6efc14c54fba1123fe9547b2c4df6757f3537d4a8131b9d6"}, "url": "/docs/compare/?release=9.0.19#9.0.19-5b1c392b61a67e26", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-a2dc8ccaabd0b190", "cves": [], "html": "<p>Reject duplicate column names in the referenced-columns list of a FOREIGN KEY declaration (David Rowley)</p>\n<p>This restriction is per SQL standard. Previously we did not reject the case explicitly, but later on the code would fail with bizarre-looking errors.</p>", "text": "Reject duplicate column names in the referenced-columns list of a FOREIGN KEY declaration (David Rowley) This restriction is per SQL standard. Previously we did not reject the case explicitly, but later on the code would fail with bizarre-looking errors.", "title": "Reject duplicate column names in the referenced-columns list of a FOREIGN KEY declaration", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "a5194c55b9935e8f3a4d3ba5b355c816e136d16dc69954da1365317a6d486145", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Reject duplicate column names in the referenced-columns list of a FOREIGN KEY declaration (David Rowley) This restriction is per SQL standard. Previously we did not reject the case explicitly, but later on the code would fail with bizarre-looking errors.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/014", "db_id": "c35e86e1c1b6302743853aada4360120", "patch_ids": [], "statement_hash": "3f94d513bde91f1a555ed53315658e982a8ac98d877b83f0919f02d3e28d9a8f", "relations": [{"rule": 2, "type": "equivalent", "target": "14d041c9b061879311a6d5818de548cd", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3f94d513bde91f1a555ed53315658e982a8ac98d877b83f0919f02d3e28d9a8f"}}, {"rule": 2, "type": "equivalent", "target": "41f72220da3db16a17eaec14c2e627a5", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3f94d513bde91f1a555ed53315658e982a8ac98d877b83f0919f02d3e28d9a8f"}}, {"rule": 2, "type": "equivalent", "target": "b0ae638906d62ba0cb7e686757b226b9", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3f94d513bde91f1a555ed53315658e982a8ac98d877b83f0919f02d3e28d9a8f"}}], "version": "9.1.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "b0ae638906d62ba0cb7e686757b226b9", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Reject duplicate column names in the referenced-columns list of a FOREIGN KEY declaration", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3f94d513bde91f1a555ed53315658e982a8ac98d877b83f0919f02d3e28d9a8f"}, "url": "/docs/compare/?release=9.3.6#9.3.6-a2dc8ccaabd0b190", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "41f72220da3db16a17eaec14c2e627a5", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Reject duplicate column names in the referenced-columns list of a FOREIGN KEY declaration", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3f94d513bde91f1a555ed53315658e982a8ac98d877b83f0919f02d3e28d9a8f"}, "url": "/docs/compare/?release=9.2.10#9.2.10-a2dc8ccaabd0b190", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "14d041c9b061879311a6d5818de548cd", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Reject duplicate column names in the referenced-columns list of a FOREIGN KEY declaration", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3f94d513bde91f1a555ed53315658e982a8ac98d877b83f0919f02d3e28d9a8f"}, "url": "/docs/compare/?release=9.0.19#9.0.19-a2dc8ccaabd0b190", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-c634cae21fdf6dbd", "cves": [], "html": "<p>Fix bugs in raising a numeric value to a large integral power (Tom Lane)</p>\n<p>The previous code could get a wrong answer, or consume excessive amounts of time and memory before realizing that the answer must overflow.</p>", "text": "Fix bugs in raising a numeric value to a large integral power (Tom Lane) The previous code could get a wrong answer, or consume excessive amounts of time and memory before realizing that the answer must overflow.", "title": "Fix bugs in raising a numeric value to a large integral power", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "88168a773634c7ac151c23e83993e58b44c4ecbe58aa122c49b13e3fe6ad1f5f", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix bugs in raising a numeric value to a large integral power (Tom Lane) The previous code could get a wrong answer, or consume excessive amounts of time and memory before realizing that the answer must overflow.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/015", "db_id": "ca1d795c6c39392c30dcb77106377778", "patch_ids": [], "statement_hash": "4f6285d1d3128b3d16a0317de5d824d9cf7270ce1dd2bf93afdea25e3d34e180", "relations": [{"rule": 2, "type": "equivalent", "target": "226b0d2f03397d7dbf0638a08d8da624", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4f6285d1d3128b3d16a0317de5d824d9cf7270ce1dd2bf93afdea25e3d34e180"}}, {"rule": 2, "type": "equivalent", "target": "7d0d18ac69223d1468f26a28418eefe6", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4f6285d1d3128b3d16a0317de5d824d9cf7270ce1dd2bf93afdea25e3d34e180"}}, {"rule": 2, "type": "equivalent", "target": "c30ea11602d9305c6c10179bf6a5819f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4f6285d1d3128b3d16a0317de5d824d9cf7270ce1dd2bf93afdea25e3d34e180"}}], "version": "9.1.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "c30ea11602d9305c6c10179bf6a5819f", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Fix bugs in raising a numeric value to a large integral power", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4f6285d1d3128b3d16a0317de5d824d9cf7270ce1dd2bf93afdea25e3d34e180"}, "url": "/docs/compare/?release=9.3.6#9.3.6-c634cae21fdf6dbd", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "7d0d18ac69223d1468f26a28418eefe6", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Fix bugs in raising a numeric value to a large integral power", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4f6285d1d3128b3d16a0317de5d824d9cf7270ce1dd2bf93afdea25e3d34e180"}, "url": "/docs/compare/?release=9.2.10#9.2.10-c634cae21fdf6dbd", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "226b0d2f03397d7dbf0638a08d8da624", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Fix bugs in raising a numeric value to a large integral power", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4f6285d1d3128b3d16a0317de5d824d9cf7270ce1dd2bf93afdea25e3d34e180"}, "url": "/docs/compare/?release=9.0.19#9.0.19-c634cae21fdf6dbd", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-9312a1a153267a20", "cves": [], "html": "<p>In <code>numeric_recv()</code>, truncate away any fractional digits that would be hidden according to the value's dscale field (Tom Lane)</p>\n<p>A numeric value's display scale (dscale) should never be less than the number of nonzero fractional digits; but apparently there's at least one broken client application that transmits binary numeric values in which that's true. This leads to strange behavior since the extra digits are taken into account by arithmetic operations even though they aren't printed. The least risky fix seems to be to truncate away such <span>\"hidden\"</span> digits on receipt, so that the value is indeed what it prints as.</p>", "text": "In numeric_recv(), truncate away any fractional digits that would be hidden according to the value's dscale field (Tom Lane) A numeric value's display scale (dscale) should never be less than the number of nonzero fractional digits; but apparently there's at least one broken client application that transmits binary numeric values in which that's true. This leads to strange behavior since the extra digits are taken into account by arithmetic operations even though they aren't printed. The least risky fix seems to be to truncate away such \"hidden\" digits on receipt, so that the value is indeed what it prints as.", "title": "In numeric_recv(), truncate away any fractional digits that would be hidden according to the value's dscale field", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "266ed7ecc62946f2d9b7be44c50ab48c100cb08ece5dcaea758eac79caa8a631", "section_path": ["Changes"], "commit_groups": [], "identity_text": "In numeric_recv(), truncate away any fractional digits that would be hidden according to the value's dscale field (Tom Lane) A numeric value's display scale (dscale) should never be less than the number of nonzero fractional digits; but apparently there's at least one broken client application that transmits binary numeric values in which that's true. This leads to strange behavior since the extra digits are taken into account by arithmetic operations even though they aren't printed. The least risky fix seems to be to truncate away such hidden digits on receipt, so that the value is indeed what it prints as.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/016", "db_id": "dd6854dbfb0e874f5cb956a1ec05afb5", "patch_ids": [], "statement_hash": "d3bce8c380d14c365384a17ea6e41dfc2e4cd35690f37cc861cfbb0916d3c6c6", "relations": [{"rule": 2, "type": "equivalent", "target": "21fb91e361458197ee38691243863b4b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d3bce8c380d14c365384a17ea6e41dfc2e4cd35690f37cc861cfbb0916d3c6c6"}}, {"rule": 2, "type": "equivalent", "target": "4834f26d14365fb568228674fbec047d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d3bce8c380d14c365384a17ea6e41dfc2e4cd35690f37cc861cfbb0916d3c6c6"}}, {"rule": 2, "type": "equivalent", "target": "845e86021abbcc7c1b02acb5271bd874", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d3bce8c380d14c365384a17ea6e41dfc2e4cd35690f37cc861cfbb0916d3c6c6"}}], "version": "9.1.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "4834f26d14365fb568228674fbec047d", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "In numeric_recv(), truncate away any fractional digits that would be hidden according to the value's dscale field", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d3bce8c380d14c365384a17ea6e41dfc2e4cd35690f37cc861cfbb0916d3c6c6"}, "url": "/docs/compare/?release=9.3.6#9.3.6-9312a1a153267a20", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "845e86021abbcc7c1b02acb5271bd874", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "In numeric_recv(), truncate away any fractional digits that would be hidden according to the value's dscale field", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d3bce8c380d14c365384a17ea6e41dfc2e4cd35690f37cc861cfbb0916d3c6c6"}, "url": "/docs/compare/?release=9.2.10#9.2.10-9312a1a153267a20", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "21fb91e361458197ee38691243863b4b", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "In numeric_recv(), truncate away any fractional digits that would be hidden according to the value's dscale field", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d3bce8c380d14c365384a17ea6e41dfc2e4cd35690f37cc861cfbb0916d3c6c6"}, "url": "/docs/compare/?release=9.0.19#9.0.19-9312a1a153267a20", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-0f2061a9207474b3", "cves": [], "html": "<p>Reject out-of-range numeric timezone specifications (Tom Lane)</p>\n<p>Simple numeric timezone specifications exceeding +/- 168 hours (one week) would be accepted, but could then cause null-pointer dereference crashes in certain operations. There's no use-case for such large UTC offsets, so reject them.</p>", "text": "Reject out-of-range numeric timezone specifications (Tom Lane) Simple numeric timezone specifications exceeding +/- 168 hours (one week) would be accepted, but could then cause null-pointer dereference crashes in certain operations. There's no use-case for such large UTC offsets, so reject them.", "title": "Reject out-of-range numeric timezone specifications", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "41abc2abc81d19f9928d7d157c7e472f6b1e1f2cdf41e4189c66ac8507f3c290", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Reject out-of-range numeric timezone specifications (Tom Lane) Simple numeric timezone specifications exceeding +/- 168 hours (one week) would be accepted, but could then cause null-pointer dereference crashes in certain operations. There's no use-case for such large UTC offsets, so reject them.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/017", "db_id": "e8f6b0bd9c7bc0ac116bfb195304c0e6", "patch_ids": [], "statement_hash": "2e9cfd0353b581050111091b8a05b8dda8f193ffb78ec52305943659206a1491", "relations": [{"rule": 2, "type": "equivalent", "target": "339967c45fa7f4dcd7b22794dae2b3be", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2e9cfd0353b581050111091b8a05b8dda8f193ffb78ec52305943659206a1491"}}, {"rule": 2, "type": "equivalent", "target": "616840fcef2dec6122d552f0c0182a76", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2e9cfd0353b581050111091b8a05b8dda8f193ffb78ec52305943659206a1491"}}, {"rule": 2, "type": "equivalent", "target": "ec3e5c8b8132753010f98027b961bf1c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2e9cfd0353b581050111091b8a05b8dda8f193ffb78ec52305943659206a1491"}}], "version": "9.1.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "616840fcef2dec6122d552f0c0182a76", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Reject out-of-range numeric timezone specifications", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2e9cfd0353b581050111091b8a05b8dda8f193ffb78ec52305943659206a1491"}, "url": "/docs/compare/?release=9.3.6#9.3.6-0f2061a9207474b3", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "ec3e5c8b8132753010f98027b961bf1c", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Reject out-of-range numeric timezone specifications", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2e9cfd0353b581050111091b8a05b8dda8f193ffb78ec52305943659206a1491"}, "url": "/docs/compare/?release=9.2.10#9.2.10-0f2061a9207474b3", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "339967c45fa7f4dcd7b22794dae2b3be", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Reject out-of-range numeric timezone specifications", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2e9cfd0353b581050111091b8a05b8dda8f193ffb78ec52305943659206a1491"}, "url": "/docs/compare/?release=9.0.19#9.0.19-0f2061a9207474b3", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-557583afef18c54f", "cves": [], "html": "<p>Fix bugs in tsquery @&gt; tsquery operator (Heikki Linnakangas)</p>\n<p>Two different terms would be considered to match if they had the same CRC. Also, if the second operand had more terms than the first, it would be assumed not to be contained in the first; which is wrong since it might contain duplicate terms.</p>", "text": "Fix bugs in tsquery @> tsquery operator (Heikki Linnakangas) Two different terms would be considered to match if they had the same CRC. Also, if the second operand had more terms than the first, it would be assumed not to be contained in the first; which is wrong since it might contain duplicate terms.", "title": "Fix bugs in tsquery @> tsquery operator", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "b0d33c96b2d6d490b313d4a9c43af74e09000b73db3c5fbdcdb9ea5078902a7b", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix bugs in tsquery @> tsquery operator (Heikki Linnakangas) Two different terms would be considered to match if they had the same CRC. Also, if the second operand had more terms than the first, it would be assumed not to be contained in the first; which is wrong since it might contain duplicate terms.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/018", "db_id": "593eb443e8f3a2f59e5a0a7ff457e9a0", "patch_ids": [], "statement_hash": "5f57753b4271a1bf7953422aa3a6f3bf14abae9655079807c17ebed56df3e18c", "relations": [{"rule": 2, "type": "equivalent", "target": "073908f63316621ce9f92daf5cd1cf99", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5f57753b4271a1bf7953422aa3a6f3bf14abae9655079807c17ebed56df3e18c"}}, {"rule": 2, "type": "equivalent", "target": "0b356da5acc14069e9074d5617ae6eb5", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5f57753b4271a1bf7953422aa3a6f3bf14abae9655079807c17ebed56df3e18c"}}, {"rule": 2, "type": "equivalent", "target": "8b4d94e9c711372745f6e4bde08b6260", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5f57753b4271a1bf7953422aa3a6f3bf14abae9655079807c17ebed56df3e18c"}}], "version": "9.1.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "073908f63316621ce9f92daf5cd1cf99", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Fix bugs in tsquery @> tsquery operator", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5f57753b4271a1bf7953422aa3a6f3bf14abae9655079807c17ebed56df3e18c"}, "url": "/docs/compare/?release=9.3.6#9.3.6-557583afef18c54f", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "0b356da5acc14069e9074d5617ae6eb5", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Fix bugs in tsquery @> tsquery operator", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5f57753b4271a1bf7953422aa3a6f3bf14abae9655079807c17ebed56df3e18c"}, "url": "/docs/compare/?release=9.2.10#9.2.10-557583afef18c54f", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "8b4d94e9c711372745f6e4bde08b6260", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Fix bugs in tsquery @> tsquery operator", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5f57753b4271a1bf7953422aa3a6f3bf14abae9655079807c17ebed56df3e18c"}, "url": "/docs/compare/?release=9.0.19#9.0.19-557583afef18c54f", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-ad9aa2cbb84d4255", "cves": [], "html": "<p>Improve ispell dictionary's defenses against bad affix files (Tom Lane)</p>", "text": "Improve ispell dictionary's defenses against bad affix files (Tom Lane)", "title": "Improve ispell dictionary's defenses against bad affix files", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "d9cfebb08027ff8d459138adc40bc0ce0dbbc1c91f5580beaa4bb69acca89ef6", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Improve ispell dictionary's defenses against bad affix files (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/019", "db_id": "87198737c4c8031534103083ea445bd6", "patch_ids": [], "statement_hash": "7a6e2bb64a9d55946b95c6c16c51a92ec875e069f33efc63ecb9fb66403aea6b", "relations": [{"rule": 2, "type": "equivalent", "target": "6069d8e7563f29922ec06939c7c0cb97", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7a6e2bb64a9d55946b95c6c16c51a92ec875e069f33efc63ecb9fb66403aea6b"}}, {"rule": 2, "type": "equivalent", "target": "7a03301f2c1d0351aad964b6396bc43c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7a6e2bb64a9d55946b95c6c16c51a92ec875e069f33efc63ecb9fb66403aea6b"}}, {"rule": 2, "type": "equivalent", "target": "8e5a4722ccc9e5ab562e61c96a54009e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7a6e2bb64a9d55946b95c6c16c51a92ec875e069f33efc63ecb9fb66403aea6b"}}], "version": "9.1.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "8e5a4722ccc9e5ab562e61c96a54009e", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Improve ispell dictionary's defenses against bad affix files", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7a6e2bb64a9d55946b95c6c16c51a92ec875e069f33efc63ecb9fb66403aea6b"}, "url": "/docs/compare/?release=9.3.6#9.3.6-ad9aa2cbb84d4255", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "6069d8e7563f29922ec06939c7c0cb97", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Improve ispell dictionary's defenses against bad affix files", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7a6e2bb64a9d55946b95c6c16c51a92ec875e069f33efc63ecb9fb66403aea6b"}, "url": "/docs/compare/?release=9.2.10#9.2.10-ad9aa2cbb84d4255", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "7a03301f2c1d0351aad964b6396bc43c", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Improve ispell dictionary's defenses against bad affix files", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7a6e2bb64a9d55946b95c6c16c51a92ec875e069f33efc63ecb9fb66403aea6b"}, "url": "/docs/compare/?release=9.0.19#9.0.19-ad9aa2cbb84d4255", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-ecc8ad2c2d394555", "cves": [], "html": "<p>Allow more than 64K phrases in a thesaurus dictionary (David Boutin)</p>\n<p>The previous coding could crash on an oversize dictionary, so this was deemed a back-patchable bug fix rather than a feature addition.</p>", "text": "Allow more than 64K phrases in a thesaurus dictionary (David Boutin) The previous coding could crash on an oversize dictionary, so this was deemed a back-patchable bug fix rather than a feature addition.", "title": "Allow more than 64K phrases in a thesaurus dictionary", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "8ddc2c7bf4eca3c0d8cf5f4dcdb2ab3a5cd9fcbded0b3891cab194911491cd8d", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Allow more than 64K phrases in a thesaurus dictionary (David Boutin) The previous coding could crash on an oversize dictionary, so this was deemed a back-patchable bug fix rather than a feature addition.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/020", "db_id": "dcd9cf15046d50a017d352f989a52ab0", "patch_ids": [], "statement_hash": "cddc90bbe8355fb1d2f6f42bc9c7be15e6551770a751e7afa7958447c89f9b90", "relations": [{"rule": 2, "type": "equivalent", "target": "c2458801a6ce67d19f1f06934babf983", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cddc90bbe8355fb1d2f6f42bc9c7be15e6551770a751e7afa7958447c89f9b90"}}, {"rule": 2, "type": "equivalent", "target": "cbd68185635558db05c9a186c164dd54", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cddc90bbe8355fb1d2f6f42bc9c7be15e6551770a751e7afa7958447c89f9b90"}}, {"rule": 2, "type": "equivalent", "target": "e199b788726a407a7bf779038ca7a189", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cddc90bbe8355fb1d2f6f42bc9c7be15e6551770a751e7afa7958447c89f9b90"}}], "version": "9.1.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "c2458801a6ce67d19f1f06934babf983", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Allow more than 64K phrases in a thesaurus dictionary", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cddc90bbe8355fb1d2f6f42bc9c7be15e6551770a751e7afa7958447c89f9b90"}, "url": "/docs/compare/?release=9.3.6#9.3.6-ecc8ad2c2d394555", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "e199b788726a407a7bf779038ca7a189", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Allow more than 64K phrases in a thesaurus dictionary", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cddc90bbe8355fb1d2f6f42bc9c7be15e6551770a751e7afa7958447c89f9b90"}, "url": "/docs/compare/?release=9.2.10#9.2.10-ecc8ad2c2d394555", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "cbd68185635558db05c9a186c164dd54", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Allow more than 64K phrases in a thesaurus dictionary", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cddc90bbe8355fb1d2f6f42bc9c7be15e6551770a751e7afa7958447c89f9b90"}, "url": "/docs/compare/?release=9.0.19#9.0.19-ecc8ad2c2d394555", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-4454078bb51ffe8b", "cves": [], "html": "<p>Fix namespace handling in <code>xpath()</code> (Ali Akbar)</p>\n<p>Previously, the xml value resulting from an <code>xpath()</code> call would not have namespace declarations if the namespace declarations were attached to an ancestor element in the input xml value, rather than to the specific element being returned. Propagate the ancestral declaration so that the result is correct when considered in isolation.</p>", "text": "Fix namespace handling in xpath() (Ali Akbar) Previously, the xml value resulting from an xpath() call would not have namespace declarations if the namespace declarations were attached to an ancestor element in the input xml value, rather than to the specific element being returned. Propagate the ancestral declaration so that the result is correct when considered in isolation.", "title": "Fix namespace handling in xpath()", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "7ac603500dfc58d6564df309d6da3d444c956764581d16f3181a2aee86c5fcfb", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix namespace handling in xpath() (Ali Akbar) Previously, the xml value resulting from an xpath() call would not have namespace declarations if the namespace declarations were attached to an ancestor element in the input xml value, rather than to the specific element being returned. Propagate the ancestral declaration so that the result is correct when considered in isolation.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/021", "db_id": "5fa736d394abe62f83fa3c9db7f944fe", "patch_ids": [], "statement_hash": "f1095981c5514e207fc476a0e5c243c61b068273f93b3c2c5f2b54b0a9a5cba4", "relations": [{"rule": 2, "type": "equivalent", "target": "4f5d5dacfc520d2589717a919c2fcd88", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f1095981c5514e207fc476a0e5c243c61b068273f93b3c2c5f2b54b0a9a5cba4"}}, {"rule": 2, "type": "equivalent", "target": "6f9cd2c1e9b116425ea46c74fab68a9b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f1095981c5514e207fc476a0e5c243c61b068273f93b3c2c5f2b54b0a9a5cba4"}}, {"rule": 2, "type": "equivalent", "target": "757dff59c4efdb461302def83729216c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f1095981c5514e207fc476a0e5c243c61b068273f93b3c2c5f2b54b0a9a5cba4"}}, {"rule": 2, "type": "equivalent", "target": "e02e7ae3730aeb589ddb39a776a2c0bd", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f1095981c5514e207fc476a0e5c243c61b068273f93b3c2c5f2b54b0a9a5cba4"}}], "version": "9.1.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "4f5d5dacfc520d2589717a919c2fcd88", "kind": "equivalent", "version": "9.4.1", "label": "9.4.1", "title": "Fix namespace handling in xpath()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f1095981c5514e207fc476a0e5c243c61b068273f93b3c2c5f2b54b0a9a5cba4"}, "url": "/docs/compare/?release=9.4.1#9.4.1-4454078bb51ffe8b", "source_url": "/docs/release/9.4.1/#AEN123581"}, {"db_id": "6f9cd2c1e9b116425ea46c74fab68a9b", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Fix namespace handling in xpath()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f1095981c5514e207fc476a0e5c243c61b068273f93b3c2c5f2b54b0a9a5cba4"}, "url": "/docs/compare/?release=9.3.6#9.3.6-4454078bb51ffe8b", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "757dff59c4efdb461302def83729216c", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Fix namespace handling in xpath()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f1095981c5514e207fc476a0e5c243c61b068273f93b3c2c5f2b54b0a9a5cba4"}, "url": "/docs/compare/?release=9.2.10#9.2.10-4454078bb51ffe8b", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "e02e7ae3730aeb589ddb39a776a2c0bd", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Fix namespace handling in xpath()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f1095981c5514e207fc476a0e5c243c61b068273f93b3c2c5f2b54b0a9a5cba4"}, "url": "/docs/compare/?release=9.0.19#9.0.19-4454078bb51ffe8b", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-88bbc5edcef5e533", "cves": [], "html": "<p>Fix planner problems with nested append relations, such as inherited tables within UNION ALL subqueries (Tom Lane)</p>", "text": "Fix planner problems with nested append relations, such as inherited tables within UNION ALL subqueries (Tom Lane)", "title": "Fix planner problems with nested append relations, such as inherited tables within UNION ALL subqueries", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "8156e38f210636e9025a8cc5c62a660e6c43dacd4d472fb8657c10fcf08670da", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix planner problems with nested append relations, such as inherited tables within UNION ALL subqueries (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/022", "db_id": "d35026742dc052608b333f774e064754", "patch_ids": [], "statement_hash": "7a72a900e52604a6102568e9f327b239341cc465b13a30da5ae99135a6e327fc", "relations": [{"rule": 2, "type": "equivalent", "target": "578b2c370af1a37ba126b76d6f8d3c2a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7a72a900e52604a6102568e9f327b239341cc465b13a30da5ae99135a6e327fc"}}, {"rule": 2, "type": "equivalent", "target": "6786a15e534b5f80e0a3500d1dc889ff", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7a72a900e52604a6102568e9f327b239341cc465b13a30da5ae99135a6e327fc"}}, {"rule": 2, "type": "equivalent", "target": "e4a28641d3f94493cc6a014bf16ab7a4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7a72a900e52604a6102568e9f327b239341cc465b13a30da5ae99135a6e327fc"}}], "version": "9.1.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "578b2c370af1a37ba126b76d6f8d3c2a", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Fix planner problems with nested append relations, such as inherited tables within UNION ALL subqueries", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7a72a900e52604a6102568e9f327b239341cc465b13a30da5ae99135a6e327fc"}, "url": "/docs/compare/?release=9.3.6#9.3.6-88bbc5edcef5e533", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "e4a28641d3f94493cc6a014bf16ab7a4", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Fix planner problems with nested append relations, such as inherited tables within UNION ALL subqueries", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7a72a900e52604a6102568e9f327b239341cc465b13a30da5ae99135a6e327fc"}, "url": "/docs/compare/?release=9.2.10#9.2.10-88bbc5edcef5e533", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "6786a15e534b5f80e0a3500d1dc889ff", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Fix planner problems with nested append relations, such as inherited tables within UNION ALL subqueries", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7a72a900e52604a6102568e9f327b239341cc465b13a30da5ae99135a6e327fc"}, "url": "/docs/compare/?release=9.0.19#9.0.19-88bbc5edcef5e533", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-6f57e0a45d6460df", "cves": [], "html": "<p>Fail cleanly when a GiST index tuple doesn't fit on a page, rather than going into infinite recursion (Andrew Gierth)</p>", "text": "Fail cleanly when a GiST index tuple doesn't fit on a page, rather than going into infinite recursion (Andrew Gierth)", "title": "Fail cleanly when a GiST index tuple doesn't fit on a page, rather than going into infinite recursion", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "de8a5a9c086b08c080ccbfc16fea13314ece31f14ea1ada035bf4a1fb1dfc1fa", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fail cleanly when a GiST index tuple doesn't fit on a page, rather than going into infinite recursion (Andrew Gierth)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/023", "db_id": "2a89c2a630bfe3801c6decd95a8602bd", "patch_ids": [], "statement_hash": "6b59a6887fad265effd526836171db8562e60058729064be2f54fcd778904202", "relations": [{"rule": 2, "type": "equivalent", "target": "8ff81901ffd63447d66288aace0171c9", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6b59a6887fad265effd526836171db8562e60058729064be2f54fcd778904202"}}, {"rule": 2, "type": "equivalent", "target": "a2c1f03fa4e2ce0cae9abf5f3f8aa6e1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6b59a6887fad265effd526836171db8562e60058729064be2f54fcd778904202"}}, {"rule": 2, "type": "equivalent", "target": "c037035d6e4e6a7175e2e60b010a2a9a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6b59a6887fad265effd526836171db8562e60058729064be2f54fcd778904202"}}], "version": "9.1.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "a2c1f03fa4e2ce0cae9abf5f3f8aa6e1", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Fail cleanly when a GiST index tuple doesn't fit on a page, rather than going into infinite recursion", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6b59a6887fad265effd526836171db8562e60058729064be2f54fcd778904202"}, "url": "/docs/compare/?release=9.3.6#9.3.6-6f57e0a45d6460df", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "c037035d6e4e6a7175e2e60b010a2a9a", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Fail cleanly when a GiST index tuple doesn't fit on a page, rather than going into infinite recursion", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6b59a6887fad265effd526836171db8562e60058729064be2f54fcd778904202"}, "url": "/docs/compare/?release=9.2.10#9.2.10-6f57e0a45d6460df", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "8ff81901ffd63447d66288aace0171c9", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Fail cleanly when a GiST index tuple doesn't fit on a page, rather than going into infinite recursion", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6b59a6887fad265effd526836171db8562e60058729064be2f54fcd778904202"}, "url": "/docs/compare/?release=9.0.19#9.0.19-6f57e0a45d6460df", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-1c099cec926950d5", "cves": [], "html": "<p>Exempt tables that have per-table cost_limit and/or cost_delay settings from autovacuum's global cost balancing rules (Álvaro Herrera)</p>\n<p>The previous behavior resulted in basically ignoring these per-table settings, which was unintended. Now, a table having such settings will be vacuumed using those settings, independently of what is going on in other autovacuum workers. This may result in heavier total I/O load than before, so such settings should be re-examined for sanity.</p>", "text": "Exempt tables that have per-table cost_limit and/or cost_delay settings from autovacuum's global cost balancing rules (Álvaro Herrera) The previous behavior resulted in basically ignoring these per-table settings, which was unintended. Now, a table having such settings will be vacuumed using those settings, independently of what is going on in other autovacuum workers. This may result in heavier total I/O load than before, so such settings should be re-examined for sanity.", "title": "Exempt tables that have per-table cost_limit and/or cost_delay settings from autovacuum's global cost balancing rules", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "160140f905ffb989e5b71071d037d891413a45ae4c137f99fdb42585097b48cf", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Exempt tables that have per-table cost_limit and/or cost_delay settings from autovacuum's global cost balancing rules (Álvaro Herrera) The previous behavior resulted in basically ignoring these per-table settings, which was unintended. Now, a table having such settings will be vacuumed using those settings, independently of what is going on in other autovacuum workers. This may result in heavier total I/O load than before, so such settings should be re-examined for sanity.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/024", "db_id": "56d5db1144cfc063b85f91bc6a0d7bf5", "patch_ids": [], "statement_hash": "05ab5ca671c5fa63a75076111bedf822445ddefbfb6dc509f760fded9dc027dd", "relations": [{"rule": 2, "type": "equivalent", "target": "6fa7ebcd4913be2aaf2b370d81141ccd", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "05ab5ca671c5fa63a75076111bedf822445ddefbfb6dc509f760fded9dc027dd"}}, {"rule": 2, "type": "equivalent", "target": "752436ccd6f81cb8be968c3b7e60ac30", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "05ab5ca671c5fa63a75076111bedf822445ddefbfb6dc509f760fded9dc027dd"}}, {"rule": 2, "type": "equivalent", "target": "ecfffbd33f49c11764c0f639e106a243", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "05ab5ca671c5fa63a75076111bedf822445ddefbfb6dc509f760fded9dc027dd"}}], "version": "9.1.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "6fa7ebcd4913be2aaf2b370d81141ccd", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Exempt tables that have per-table cost_limit and/or cost_delay settings from autovacuum's global cost balancing rules", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "05ab5ca671c5fa63a75076111bedf822445ddefbfb6dc509f760fded9dc027dd"}, "url": "/docs/compare/?release=9.3.6#9.3.6-1c099cec926950d5", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "ecfffbd33f49c11764c0f639e106a243", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Exempt tables that have per-table cost_limit and/or cost_delay settings from autovacuum's global cost balancing rules", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "05ab5ca671c5fa63a75076111bedf822445ddefbfb6dc509f760fded9dc027dd"}, "url": "/docs/compare/?release=9.2.10#9.2.10-1c099cec926950d5", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "752436ccd6f81cb8be968c3b7e60ac30", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Exempt tables that have per-table cost_limit and/or cost_delay settings from autovacuum's global cost balancing rules", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "05ab5ca671c5fa63a75076111bedf822445ddefbfb6dc509f760fded9dc027dd"}, "url": "/docs/compare/?release=9.0.19#9.0.19-1c099cec926950d5", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-4a1420591aada848", "cves": [], "html": "<p>Avoid wholesale autovacuuming when autovacuum is nominally off (Tom Lane)</p>\n<p>Even when autovacuum is nominally off, we will still launch autovacuum worker processes to vacuum tables that are at risk of XID wraparound. However, such a worker process then proceeded to vacuum all tables in the target database, if they met the usual thresholds for autovacuuming. This is at best pretty unexpected; at worst it delays response to the wraparound threat. Fix it so that if autovacuum is turned off, workers <span><i>only</i></span> do anti-wraparound vacuums and not any other work.</p>", "text": "Avoid wholesale autovacuuming when autovacuum is nominally off (Tom Lane) Even when autovacuum is nominally off, we will still launch autovacuum worker processes to vacuum tables that are at risk of XID wraparound. However, such a worker process then proceeded to vacuum all tables in the target database, if they met the usual thresholds for autovacuuming. This is at best pretty unexpected; at worst it delays response to the wraparound threat. Fix it so that if autovacuum is turned off, workers only do anti-wraparound vacuums and not any other work.", "title": "Avoid wholesale autovacuuming when autovacuum is nominally off", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "97fa61d66728343e4c897c17eb67417cb0321f322b0e52ee10c332b3b652f985", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Avoid wholesale autovacuuming when autovacuum is nominally off (Tom Lane) Even when autovacuum is nominally off, we will still launch autovacuum worker processes to vacuum tables that are at risk of XID wraparound. However, such a worker process then proceeded to vacuum all tables in the target database, if they met the usual thresholds for autovacuuming. This is at best pretty unexpected; at worst it delays response to the wraparound threat. Fix it so that if autovacuum is turned off, workers only do anti-wraparound vacuums and not any other work.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/025", "db_id": "4021bf65a4b3bf1ea4f6bfdb6dc900e9", "patch_ids": [], "statement_hash": "4f6a0932ed1423c95a0f69c862e00f9185b4444c11eb989bd7686cab28244de0", "relations": [{"rule": 2, "type": "equivalent", "target": "82cf724f9159190d006bc1596327a197", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4f6a0932ed1423c95a0f69c862e00f9185b4444c11eb989bd7686cab28244de0"}}, {"rule": 2, "type": "equivalent", "target": "aee4d00422aeaf5bd89e855f09b8a5d2", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4f6a0932ed1423c95a0f69c862e00f9185b4444c11eb989bd7686cab28244de0"}}, {"rule": 2, "type": "equivalent", "target": "c851c1ab8a2dc9e8932b5f25e7417219", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4f6a0932ed1423c95a0f69c862e00f9185b4444c11eb989bd7686cab28244de0"}}], "version": "9.1.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "c851c1ab8a2dc9e8932b5f25e7417219", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Avoid wholesale autovacuuming when autovacuum is nominally off", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4f6a0932ed1423c95a0f69c862e00f9185b4444c11eb989bd7686cab28244de0"}, "url": "/docs/compare/?release=9.3.6#9.3.6-4a1420591aada848", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "aee4d00422aeaf5bd89e855f09b8a5d2", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Avoid wholesale autovacuuming when autovacuum is nominally off", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4f6a0932ed1423c95a0f69c862e00f9185b4444c11eb989bd7686cab28244de0"}, "url": "/docs/compare/?release=9.2.10#9.2.10-4a1420591aada848", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "82cf724f9159190d006bc1596327a197", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Avoid wholesale autovacuuming when autovacuum is nominally off", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4f6a0932ed1423c95a0f69c862e00f9185b4444c11eb989bd7686cab28244de0"}, "url": "/docs/compare/?release=9.0.19#9.0.19-4a1420591aada848", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-2f828cafd371b9e2", "cves": [], "html": "<p>During crash recovery, ensure that unlogged relations are rewritten as empty and are synced to disk before recovery is considered complete (Abhijit Menon-Sen, Andres Freund)</p>\n<p>This prevents scenarios in which unlogged relations might contain garbage data following database crash recovery.</p>", "text": "During crash recovery, ensure that unlogged relations are rewritten as empty and are synced to disk before recovery is considered complete (Abhijit Menon-Sen, Andres Freund) This prevents scenarios in which unlogged relations might contain garbage data following database crash recovery.", "title": "During crash recovery, ensure that unlogged relations are rewritten as empty and are synced to disk before recovery is considered complete", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "41d280bdf7bcb9fa95085c0a183c7baf5856eaf96440618c48ca9b7d95035dcc", "section_path": ["Changes"], "commit_groups": [], "identity_text": "During crash recovery, ensure that unlogged relations are rewritten as empty and are synced to disk before recovery is considered complete (Abhijit Menon-Sen, Andres Freund) This prevents scenarios in which unlogged relations might contain garbage data following database crash recovery.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/026", "db_id": "9512919e849c098edd3edad79e7b18ea", "patch_ids": [], "statement_hash": "b99073c05b245440c5c52ce338e0dc2f1961e77d833229ed40d92a1661651174", "relations": [{"rule": 2, "type": "equivalent", "target": "61787cb1f7ddb3bcdb9ec0901a518b9e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b99073c05b245440c5c52ce338e0dc2f1961e77d833229ed40d92a1661651174"}}, {"rule": 2, "type": "equivalent", "target": "d01fc65f390d9bf6719082fe6336e305", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b99073c05b245440c5c52ce338e0dc2f1961e77d833229ed40d92a1661651174"}}], "version": "9.1.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "d01fc65f390d9bf6719082fe6336e305", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "During crash recovery, ensure that unlogged relations are rewritten as empty and are synced to disk before recovery is considered complete", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b99073c05b245440c5c52ce338e0dc2f1961e77d833229ed40d92a1661651174"}, "url": "/docs/compare/?release=9.3.6#9.3.6-2f828cafd371b9e2", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "61787cb1f7ddb3bcdb9ec0901a518b9e", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "During crash recovery, ensure that unlogged relations are rewritten as empty and are synced to disk before recovery is considered complete", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b99073c05b245440c5c52ce338e0dc2f1961e77d833229ed40d92a1661651174"}, "url": "/docs/compare/?release=9.2.10#9.2.10-2f828cafd371b9e2", "source_url": "/docs/release/9.2.10/#AEN112547"}]}, {"id": "9.1.15-a30cf3ad525837c2", "cves": [], "html": "<p>Fix race condition between hot standby queries and replaying a full-page image (Heikki Linnakangas)</p>\n<p>This mistake could result in transient errors in queries being executed in hot standby.</p>", "text": "Fix race condition between hot standby queries and replaying a full-page image (Heikki Linnakangas) This mistake could result in transient errors in queries being executed in hot standby.", "title": "Fix race condition between hot standby queries and replaying a full-page image", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "ff75b1bc136cc42321b14804a857bf50e9029ec861166b372ad7e18e2d360db9", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix race condition between hot standby queries and replaying a full-page image (Heikki Linnakangas) This mistake could result in transient errors in queries being executed in hot standby.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/027", "db_id": "5ea44d80df5105bfd05afc6f9c39e246", "patch_ids": [], "statement_hash": "efc7aa39025dfeb03323743ae1e06ffaf163edec3cad5d324d6ffd19caf31593", "relations": [{"rule": 2, "type": "equivalent", "target": "1bd1bad09b77ea48409873a7eeea80d1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "efc7aa39025dfeb03323743ae1e06ffaf163edec3cad5d324d6ffd19caf31593"}}, {"rule": 2, "type": "equivalent", "target": "4b29a174aae1beeef99fc80afd93f64c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "efc7aa39025dfeb03323743ae1e06ffaf163edec3cad5d324d6ffd19caf31593"}}, {"rule": 2, "type": "equivalent", "target": "4b5dfc49ec998d2fc465eb58c75d725e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "efc7aa39025dfeb03323743ae1e06ffaf163edec3cad5d324d6ffd19caf31593"}}], "version": "9.1.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "1bd1bad09b77ea48409873a7eeea80d1", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Fix race condition between hot standby queries and replaying a full-page image", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "efc7aa39025dfeb03323743ae1e06ffaf163edec3cad5d324d6ffd19caf31593"}, "url": "/docs/compare/?release=9.3.6#9.3.6-a30cf3ad525837c2", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "4b29a174aae1beeef99fc80afd93f64c", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Fix race condition between hot standby queries and replaying a full-page image", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "efc7aa39025dfeb03323743ae1e06ffaf163edec3cad5d324d6ffd19caf31593"}, "url": "/docs/compare/?release=9.2.10#9.2.10-a30cf3ad525837c2", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "4b5dfc49ec998d2fc465eb58c75d725e", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Fix race condition between hot standby queries and replaying a full-page image", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "efc7aa39025dfeb03323743ae1e06ffaf163edec3cad5d324d6ffd19caf31593"}, "url": "/docs/compare/?release=9.0.19#9.0.19-a30cf3ad525837c2", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-88ce07cefbff9fd6", "cves": [], "html": "<p>Fix several cases where recovery logic improperly ignored WAL records for COMMIT/ABORT PREPARED (Heikki Linnakangas)</p>\n<p>The most notable oversight was that recovery_target_xid could not be used to stop at a two-phase commit.</p>", "text": "Fix several cases where recovery logic improperly ignored WAL records for COMMIT/ABORT PREPARED (Heikki Linnakangas) The most notable oversight was that recovery_target_xid could not be used to stop at a two-phase commit.", "title": "Fix several cases where recovery logic improperly ignored WAL records for COMMIT/ABORT PREPARED", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "2824f9bf9fd3961557f00d4fbc0f81c04251137ae7bafd90de1fd873a38463c3", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix several cases where recovery logic improperly ignored WAL records for COMMIT/ABORT PREPARED (Heikki Linnakangas) The most notable oversight was that recovery_target_xid could not be used to stop at a two-phase commit.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/028", "db_id": "c7083f8b0373a3b3e89eb120425b5f30", "patch_ids": [], "statement_hash": "a61320b4fa04e5e2d2bfdb5789c601a9c38013b0ffbf6274192ef3de932ed7c2", "relations": [{"rule": 2, "type": "equivalent", "target": "09d4561021808a1ed734d6ef2764f905", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a61320b4fa04e5e2d2bfdb5789c601a9c38013b0ffbf6274192ef3de932ed7c2"}}, {"rule": 2, "type": "equivalent", "target": "b516663cc01b3ef97c89b733a8012d95", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a61320b4fa04e5e2d2bfdb5789c601a9c38013b0ffbf6274192ef3de932ed7c2"}}], "version": "9.1.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "09d4561021808a1ed734d6ef2764f905", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Fix several cases where recovery logic improperly ignored WAL records for COMMIT/ABORT PREPARED", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a61320b4fa04e5e2d2bfdb5789c601a9c38013b0ffbf6274192ef3de932ed7c2"}, "url": "/docs/compare/?release=9.3.6#9.3.6-88ce07cefbff9fd6", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "b516663cc01b3ef97c89b733a8012d95", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Fix several cases where recovery logic improperly ignored WAL records for COMMIT/ABORT PREPARED", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a61320b4fa04e5e2d2bfdb5789c601a9c38013b0ffbf6274192ef3de932ed7c2"}, "url": "/docs/compare/?release=9.2.10#9.2.10-88ce07cefbff9fd6", "source_url": "/docs/release/9.2.10/#AEN112547"}]}, {"id": "9.1.15-0692a6f7be490f31", "cves": [], "html": "<p>Avoid creating unnecessary .ready marker files for timeline history files (Fujii Masao)</p>", "text": "Avoid creating unnecessary .ready marker files for timeline history files (Fujii Masao)", "title": "Avoid creating unnecessary .ready marker files for timeline history files", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "2da8e8677e411b584cbc684e4318e194875efeac1f55f6dc1a0ada95eec759b7", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Avoid creating unnecessary .ready marker files for timeline history files (Fujii Masao)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/029", "db_id": "5dda04433a1fdbb90a67624a8cf43bb8", "patch_ids": [], "statement_hash": "05b47e6f45e602e3981b081d13456b0b2f12eda9da59db4f7918011a600a4e73", "relations": [{"rule": 2, "type": "equivalent", "target": "5626ddd890f9da57afc15adf99201eb6", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "05b47e6f45e602e3981b081d13456b0b2f12eda9da59db4f7918011a600a4e73"}}, {"rule": 2, "type": "equivalent", "target": "9f6159c73a83f3abd22d7549db8622fd", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "05b47e6f45e602e3981b081d13456b0b2f12eda9da59db4f7918011a600a4e73"}}, {"rule": 2, "type": "equivalent", "target": "d058ab05f49b8043e2f2c69c112629db", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "05b47e6f45e602e3981b081d13456b0b2f12eda9da59db4f7918011a600a4e73"}}], "version": "9.1.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "d058ab05f49b8043e2f2c69c112629db", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Avoid creating unnecessary .ready marker files for timeline history files", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "05b47e6f45e602e3981b081d13456b0b2f12eda9da59db4f7918011a600a4e73"}, "url": "/docs/compare/?release=9.3.6#9.3.6-0692a6f7be490f31", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "5626ddd890f9da57afc15adf99201eb6", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Avoid creating unnecessary .ready marker files for timeline history files", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "05b47e6f45e602e3981b081d13456b0b2f12eda9da59db4f7918011a600a4e73"}, "url": "/docs/compare/?release=9.2.10#9.2.10-0692a6f7be490f31", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "9f6159c73a83f3abd22d7549db8622fd", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Avoid creating unnecessary .ready marker files for timeline history files", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "05b47e6f45e602e3981b081d13456b0b2f12eda9da59db4f7918011a600a4e73"}, "url": "/docs/compare/?release=9.0.19#9.0.19-0692a6f7be490f31", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-80a504bfcb228950", "cves": [], "html": "<p>Fix possible null pointer dereference when an empty prepared statement is used and the log_statement setting is mod or ddl (Fujii Masao)</p>", "text": "Fix possible null pointer dereference when an empty prepared statement is used and the log_statement setting is mod or ddl (Fujii Masao)", "title": "Fix possible null pointer dereference when an empty prepared statement is used and the log_statement setting is mod or ddl", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "2d7a0be309fb5f7b2b9051f9311d7fd205573ec8d8830224f67429c31bbb465d", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix possible null pointer dereference when an empty prepared statement is used and the log_statement setting is mod or ddl (Fujii Masao)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/030", "db_id": "43a4b956b83b1f3782c8fb2999348d92", "patch_ids": [], "statement_hash": "05c556fc9b663c22641cad8eac80810450ad172e09f19a15867bf3c09b3b3509", "relations": [{"rule": 2, "type": "equivalent", "target": "aee5363880e440aa1fae90fda8e97ef5", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "05c556fc9b663c22641cad8eac80810450ad172e09f19a15867bf3c09b3b3509"}}, {"rule": 2, "type": "equivalent", "target": "b2864447ef6fc392d6814fff230bd635", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "05c556fc9b663c22641cad8eac80810450ad172e09f19a15867bf3c09b3b3509"}}, {"rule": 2, "type": "equivalent", "target": "c94832afdf3c4a7eeb0b3f20b4963e53", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "05c556fc9b663c22641cad8eac80810450ad172e09f19a15867bf3c09b3b3509"}}], "version": "9.1.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "c94832afdf3c4a7eeb0b3f20b4963e53", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Fix possible null pointer dereference when an empty prepared statement is used and the log_statement setting is mod or ddl", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "05c556fc9b663c22641cad8eac80810450ad172e09f19a15867bf3c09b3b3509"}, "url": "/docs/compare/?release=9.3.6#9.3.6-80a504bfcb228950", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "b2864447ef6fc392d6814fff230bd635", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Fix possible null pointer dereference when an empty prepared statement is used and the log_statement setting is mod or ddl", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "05c556fc9b663c22641cad8eac80810450ad172e09f19a15867bf3c09b3b3509"}, "url": "/docs/compare/?release=9.2.10#9.2.10-80a504bfcb228950", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "aee5363880e440aa1fae90fda8e97ef5", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Fix possible null pointer dereference when an empty prepared statement is used and the log_statement setting is mod or ddl", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "05c556fc9b663c22641cad8eac80810450ad172e09f19a15867bf3c09b3b3509"}, "url": "/docs/compare/?release=9.0.19#9.0.19-80a504bfcb228950", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-a3efd5d7816bc662", "cves": [], "html": "<p>Change <span>\"pgstat wait timeout\"</span> warning message to be LOG level, and rephrase it to be more understandable (Tom Lane)</p>\n<p>This message was originally thought to be essentially a can't-happen case, but it occurs often enough on our slower buildfarm members to be a nuisance. Reduce it to LOG level, and expend a bit more effort on the wording: it now reads <span>\"using stale statistics instead of current ones because stats collector is not responding\"</span>.</p>", "text": "Change \"pgstat wait timeout\" warning message to be LOG level, and rephrase it to be more understandable (Tom Lane) This message was originally thought to be essentially a can't-happen case, but it occurs often enough on our slower buildfarm members to be a nuisance. Reduce it to LOG level, and expend a bit more effort on the wording: it now reads \"using stale statistics instead of current ones because stats collector is not responding\".", "title": "Change \"pgstat wait timeout\" warning message to be LOG level, and rephrase it to be more understandable", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "ac8bc74e7f55b25d3daa5736d86a507fab2aa80715cbb1e8ed4017359881f17d", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Change pgstat wait timeout warning message to be LOG level, and rephrase it to be more understandable (Tom Lane) This message was originally thought to be essentially a can't-happen case, but it occurs often enough on our slower buildfarm members to be a nuisance. Reduce it to LOG level, and expend a bit more effort on the wording: it now reads using stale statistics instead of current ones because stats collector is not responding.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/031", "db_id": "35162f08ef3a72d38987f0163e12f3e5", "patch_ids": [], "statement_hash": "be09e2d0ef78836a7fcb6aa09f4095f35050152d08f7e9bc5a4060e5ae30b2cf", "relations": [{"rule": 2, "type": "equivalent", "target": "0474cd50c0922f5a041997400d962d1e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "be09e2d0ef78836a7fcb6aa09f4095f35050152d08f7e9bc5a4060e5ae30b2cf"}}, {"rule": 2, "type": "equivalent", "target": "0b651e33c4d526e69e239435ca24fcf9", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "be09e2d0ef78836a7fcb6aa09f4095f35050152d08f7e9bc5a4060e5ae30b2cf"}}, {"rule": 2, "type": "equivalent", "target": "62eb1e3aaeb610d31969b8496b7dd78a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "be09e2d0ef78836a7fcb6aa09f4095f35050152d08f7e9bc5a4060e5ae30b2cf"}}, {"rule": 2, "type": "equivalent", "target": "6eab481f0c4e8b30bf398f7471b58468", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "be09e2d0ef78836a7fcb6aa09f4095f35050152d08f7e9bc5a4060e5ae30b2cf"}}], "version": "9.1.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "0474cd50c0922f5a041997400d962d1e", "kind": "equivalent", "version": "9.4.1", "label": "9.4.1", "title": "Change \"pgstat wait timeout\" warning message to be LOG level, and rephrase it to be more understandable", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "be09e2d0ef78836a7fcb6aa09f4095f35050152d08f7e9bc5a4060e5ae30b2cf"}, "url": "/docs/compare/?release=9.4.1#9.4.1-a3efd5d7816bc662", "source_url": "/docs/release/9.4.1/#AEN123581"}, {"db_id": "0b651e33c4d526e69e239435ca24fcf9", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Change \"pgstat wait timeout\" warning message to be LOG level, and rephrase it to be more understandable", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "be09e2d0ef78836a7fcb6aa09f4095f35050152d08f7e9bc5a4060e5ae30b2cf"}, "url": "/docs/compare/?release=9.3.6#9.3.6-a3efd5d7816bc662", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "6eab481f0c4e8b30bf398f7471b58468", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Change \"pgstat wait timeout\" warning message to be LOG level, and rephrase it to be more understandable", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "be09e2d0ef78836a7fcb6aa09f4095f35050152d08f7e9bc5a4060e5ae30b2cf"}, "url": "/docs/compare/?release=9.2.10#9.2.10-a3efd5d7816bc662", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "62eb1e3aaeb610d31969b8496b7dd78a", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Change \"pgstat wait timeout\" warning message to be LOG level, and rephrase it to be more understandable", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "be09e2d0ef78836a7fcb6aa09f4095f35050152d08f7e9bc5a4060e5ae30b2cf"}, "url": "/docs/compare/?release=9.0.19#9.0.19-a3efd5d7816bc662", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-aa43371cfec4d671", "cves": [], "html": "<p>Fix SPARC spinlock implementation to ensure correctness if the CPU is being run in a non-TSO coherency mode, as some non-Solaris kernels do (Andres Freund)</p>", "text": "Fix SPARC spinlock implementation to ensure correctness if the CPU is being run in a non-TSO coherency mode, as some non-Solaris kernels do (Andres Freund)", "title": "Fix SPARC spinlock implementation to ensure correctness if the CPU is being run in a non-TSO coherency mode, as some non-Solaris kernels do", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "2d92a2b21b738d8c0219817ba530673c22c9c1168b95b0cab4d2793775466bd4", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix SPARC spinlock implementation to ensure correctness if the CPU is being run in a non-TSO coherency mode, as some non-Solaris kernels do (Andres Freund)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/032", "db_id": "c353e481398d01be81553c69bf39bfdd", "patch_ids": [], "statement_hash": "ff3d1bf2e727091664f6bf0db072a5c7550fe8a243ada6ef095494b74968508a", "relations": [{"rule": 2, "type": "equivalent", "target": "319eef87dc40a316cd10ec86f5d885c3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ff3d1bf2e727091664f6bf0db072a5c7550fe8a243ada6ef095494b74968508a"}}, {"rule": 2, "type": "equivalent", "target": "d10959407e154f7adf545eadb49401bd", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ff3d1bf2e727091664f6bf0db072a5c7550fe8a243ada6ef095494b74968508a"}}, {"rule": 2, "type": "equivalent", "target": "d5b8d25a68184225b1d75e10b77d2a0f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ff3d1bf2e727091664f6bf0db072a5c7550fe8a243ada6ef095494b74968508a"}}], "version": "9.1.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "319eef87dc40a316cd10ec86f5d885c3", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Fix SPARC spinlock implementation to ensure correctness if the CPU is being run in a non-TSO coherency mode, as some non-Solaris kernels do", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ff3d1bf2e727091664f6bf0db072a5c7550fe8a243ada6ef095494b74968508a"}, "url": "/docs/compare/?release=9.3.6#9.3.6-aa43371cfec4d671", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "d10959407e154f7adf545eadb49401bd", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Fix SPARC spinlock implementation to ensure correctness if the CPU is being run in a non-TSO coherency mode, as some non-Solaris kernels do", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ff3d1bf2e727091664f6bf0db072a5c7550fe8a243ada6ef095494b74968508a"}, "url": "/docs/compare/?release=9.2.10#9.2.10-aa43371cfec4d671", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "d5b8d25a68184225b1d75e10b77d2a0f", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Fix SPARC spinlock implementation to ensure correctness if the CPU is being run in a non-TSO coherency mode, as some non-Solaris kernels do", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ff3d1bf2e727091664f6bf0db072a5c7550fe8a243ada6ef095494b74968508a"}, "url": "/docs/compare/?release=9.0.19#9.0.19-aa43371cfec4d671", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-bf13998ae823f9fa", "cves": [], "html": "<p>Warn if macOS's <code>setlocale()</code> starts an unwanted extra thread inside the postmaster (Noah Misch)</p>", "text": "Warn if macOS's setlocale() starts an unwanted extra thread inside the postmaster (Noah Misch)", "title": "Warn if macOS's setlocale() starts an unwanted extra thread inside the postmaster", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "68d16761a408fa50cd116708cc1d7cdaaa60db6eb7754c73a0a403405caa24d4", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Warn if macOS's setlocale() starts an unwanted extra thread inside the postmaster (Noah Misch)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/033", "db_id": "76c638badda1373ddd9539e8143b24d0", "patch_ids": [], "statement_hash": "04baeba120c58a8529c6a98d7656feb8715d40cd5e5024ad4b70de417f372f77", "relations": [{"rule": 2, "type": "equivalent", "target": "280cd3c47ac48d99b82e537149509cc8", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "04baeba120c58a8529c6a98d7656feb8715d40cd5e5024ad4b70de417f372f77"}}, {"rule": 2, "type": "equivalent", "target": "361e0cf1a49a0793420573a3a470712c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "04baeba120c58a8529c6a98d7656feb8715d40cd5e5024ad4b70de417f372f77"}}, {"rule": 2, "type": "equivalent", "target": "a20ef697cf014a8231a41b82ec46bbfe", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "04baeba120c58a8529c6a98d7656feb8715d40cd5e5024ad4b70de417f372f77"}}], "version": "9.1.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "361e0cf1a49a0793420573a3a470712c", "kind": "equivalent", "version": "9.4.1", "label": "9.4.1", "title": "Warn if macOS's setlocale() starts an unwanted extra thread inside the postmaster", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "04baeba120c58a8529c6a98d7656feb8715d40cd5e5024ad4b70de417f372f77"}, "url": "/docs/compare/?release=9.4.1#9.4.1-bf13998ae823f9fa", "source_url": "/docs/release/9.4.1/#AEN123581"}, {"db_id": "280cd3c47ac48d99b82e537149509cc8", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Warn if macOS's setlocale() starts an unwanted extra thread inside the postmaster", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "04baeba120c58a8529c6a98d7656feb8715d40cd5e5024ad4b70de417f372f77"}, "url": "/docs/compare/?release=9.3.6#9.3.6-bf13998ae823f9fa", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "a20ef697cf014a8231a41b82ec46bbfe", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Warn if macOS's setlocale() starts an unwanted extra thread inside the postmaster", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "04baeba120c58a8529c6a98d7656feb8715d40cd5e5024ad4b70de417f372f77"}, "url": "/docs/compare/?release=9.2.10#9.2.10-bf13998ae823f9fa", "source_url": "/docs/release/9.2.10/#AEN112547"}]}, {"id": "9.1.15-f73e746342efc6f1", "cves": [], "html": "<p>Fix processing of repeated dbname parameters in <code>PQconnectdbParams()</code> (Alex Shulgin)</p>\n<p>Unexpected behavior ensued if the first occurrence of dbname contained a connection string or URI to be expanded.</p>", "text": "Fix processing of repeated dbname parameters in PQconnectdbParams() (Alex Shulgin) Unexpected behavior ensued if the first occurrence of dbname contained a connection string or URI to be expanded.", "title": "Fix processing of repeated dbname parameters in PQconnectdbParams()", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "22df625bd9028a602c1d1f3b3de6d6828f9de7afe3906f333a60e8164af2c980", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix processing of repeated dbname parameters in PQconnectdbParams() (Alex Shulgin) Unexpected behavior ensued if the first occurrence of dbname contained a connection string or URI to be expanded.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/034", "db_id": "36c1a4788f4f14522706fd9200223785", "patch_ids": [], "statement_hash": "7ceba4bea8d0240359e4d29bc7b986d4a07d7763a8674fb1270a10dc82ef3a67", "relations": [{"rule": 2, "type": "equivalent", "target": "1ec13702362288c8cb7b3540e0deb270", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7ceba4bea8d0240359e4d29bc7b986d4a07d7763a8674fb1270a10dc82ef3a67"}}, {"rule": 2, "type": "equivalent", "target": "429fd1863dbd274ded147132bf138eb0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7ceba4bea8d0240359e4d29bc7b986d4a07d7763a8674fb1270a10dc82ef3a67"}}, {"rule": 2, "type": "equivalent", "target": "5535075e605e8c0c19c566809fa3e5c8", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7ceba4bea8d0240359e4d29bc7b986d4a07d7763a8674fb1270a10dc82ef3a67"}}], "version": "9.1.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "429fd1863dbd274ded147132bf138eb0", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Fix processing of repeated dbname parameters in PQconnectdbParams()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7ceba4bea8d0240359e4d29bc7b986d4a07d7763a8674fb1270a10dc82ef3a67"}, "url": "/docs/compare/?release=9.3.6#9.3.6-f73e746342efc6f1", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "1ec13702362288c8cb7b3540e0deb270", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Fix processing of repeated dbname parameters in PQconnectdbParams()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7ceba4bea8d0240359e4d29bc7b986d4a07d7763a8674fb1270a10dc82ef3a67"}, "url": "/docs/compare/?release=9.2.10#9.2.10-f73e746342efc6f1", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "5535075e605e8c0c19c566809fa3e5c8", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Fix processing of repeated dbname parameters in PQconnectdbParams()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7ceba4bea8d0240359e4d29bc7b986d4a07d7763a8674fb1270a10dc82ef3a67"}, "url": "/docs/compare/?release=9.0.19#9.0.19-f73e746342efc6f1", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-f6a6c62671262c9f", "cves": [], "html": "<p>Ensure that <span>libpq</span> reports a suitable error message on unexpected socket EOF (Marko Tiikkaja, Tom Lane)</p>\n<p>Depending on kernel behavior, <span>libpq</span> might return an empty error string rather than something useful when the server unexpectedly closed the socket.</p>", "text": "Ensure that libpq reports a suitable error message on unexpected socket EOF (Marko Tiikkaja, Tom Lane) Depending on kernel behavior, libpq might return an empty error string rather than something useful when the server unexpectedly closed the socket.", "title": "Ensure that libpq reports a suitable error message on unexpected socket EOF", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "8ce9a73ce34980fbc611fa3388fc103d48d4fa4c262d9b046e82a3c436ff64d8", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Ensure that libpq reports a suitable error message on unexpected socket EOF (Marko Tiikkaja, Tom Lane) Depending on kernel behavior, libpq might return an empty error string rather than something useful when the server unexpectedly closed the socket.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/035", "db_id": "905c10a90927728d9e7a58be115b5bda", "patch_ids": [], "statement_hash": "fd98673f71e6e40941059ed0738c306eb878019708436b45c80c4e60121809f2", "relations": [{"rule": 2, "type": "equivalent", "target": "69925bd3fcd0c10bffa088f121766ee3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fd98673f71e6e40941059ed0738c306eb878019708436b45c80c4e60121809f2"}}, {"rule": 2, "type": "equivalent", "target": "931a577f6233c9dfa0b9f4a5b46f450e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fd98673f71e6e40941059ed0738c306eb878019708436b45c80c4e60121809f2"}}, {"rule": 2, "type": "equivalent", "target": "bc1eee2995ef4bc97ef72bd0bb83f7d9", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fd98673f71e6e40941059ed0738c306eb878019708436b45c80c4e60121809f2"}}], "version": "9.1.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "69925bd3fcd0c10bffa088f121766ee3", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Ensure that libpq reports a suitable error message on unexpected socket EOF", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fd98673f71e6e40941059ed0738c306eb878019708436b45c80c4e60121809f2"}, "url": "/docs/compare/?release=9.3.6#9.3.6-f6a6c62671262c9f", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "931a577f6233c9dfa0b9f4a5b46f450e", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Ensure that libpq reports a suitable error message on unexpected socket EOF", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fd98673f71e6e40941059ed0738c306eb878019708436b45c80c4e60121809f2"}, "url": "/docs/compare/?release=9.2.10#9.2.10-f6a6c62671262c9f", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "bc1eee2995ef4bc97ef72bd0bb83f7d9", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Ensure that libpq reports a suitable error message on unexpected socket EOF", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fd98673f71e6e40941059ed0738c306eb878019708436b45c80c4e60121809f2"}, "url": "/docs/compare/?release=9.0.19#9.0.19-f6a6c62671262c9f", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-616608d8e4df4779", "cves": [], "html": "<p>Clear any old error message during <code>PQreset()</code> (Heikki Linnakangas)</p>\n<p>If <code>PQreset()</code> is called repeatedly, and the connection cannot be re-established, error messages from the failed connection attempts kept accumulating in the PGconn's error string.</p>", "text": "Clear any old error message during PQreset() (Heikki Linnakangas) If PQreset() is called repeatedly, and the connection cannot be re-established, error messages from the failed connection attempts kept accumulating in the PGconn's error string.", "title": "Clear any old error message during PQreset()", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "f78be59e7f7ef3bf6357424c81dd6b82ad11644fbcbfc4b55b81e4aa1332834b", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Clear any old error message during PQreset() (Heikki Linnakangas) If PQreset() is called repeatedly, and the connection cannot be re-established, error messages from the failed connection attempts kept accumulating in the PGconn's error string.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/036", "db_id": "960e6797c9197011d2898fc9e8d85a05", "patch_ids": [], "statement_hash": "df696ebc08e23ce5c97d0ca0762046fa6b86f96c3d6dac650584e2552935aee0", "relations": [{"rule": 2, "type": "equivalent", "target": "b98cf3c852159bab7dc0775181034270", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "df696ebc08e23ce5c97d0ca0762046fa6b86f96c3d6dac650584e2552935aee0"}}, {"rule": 2, "type": "equivalent", "target": "c30ff216bec4a74e7f470d4d01042034", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "df696ebc08e23ce5c97d0ca0762046fa6b86f96c3d6dac650584e2552935aee0"}}, {"rule": 2, "type": "equivalent", "target": "cab90edf3b85ffb5926159fe7de57166", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "df696ebc08e23ce5c97d0ca0762046fa6b86f96c3d6dac650584e2552935aee0"}}], "version": "9.1.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "b98cf3c852159bab7dc0775181034270", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Clear any old error message during PQreset()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "df696ebc08e23ce5c97d0ca0762046fa6b86f96c3d6dac650584e2552935aee0"}, "url": "/docs/compare/?release=9.3.6#9.3.6-616608d8e4df4779", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "c30ff216bec4a74e7f470d4d01042034", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Clear any old error message during PQreset()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "df696ebc08e23ce5c97d0ca0762046fa6b86f96c3d6dac650584e2552935aee0"}, "url": "/docs/compare/?release=9.2.10#9.2.10-616608d8e4df4779", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "cab90edf3b85ffb5926159fe7de57166", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Clear any old error message during PQreset()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "df696ebc08e23ce5c97d0ca0762046fa6b86f96c3d6dac650584e2552935aee0"}, "url": "/docs/compare/?release=9.0.19#9.0.19-616608d8e4df4779", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-9b7898c22d67983e", "cves": [], "html": "<p>Properly handle out-of-memory conditions while parsing connection options in <span>libpq</span> (Alex Shulgin, Heikki Linnakangas)</p>", "text": "Properly handle out-of-memory conditions while parsing connection options in libpq (Alex Shulgin, Heikki Linnakangas)", "title": "Properly handle out-of-memory conditions while parsing connection options in libpq", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "7f87a53c8703966808084fe0d7d9776552cf04171dbfca83796e7dc0b3952a83", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Properly handle out-of-memory conditions while parsing connection options in libpq (Alex Shulgin, Heikki Linnakangas)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/037", "db_id": "73293bd1607fa18a4bd43ec76539c423", "patch_ids": [], "statement_hash": "a996d059f0db0ccf017af25a0fe1db34242e8579fba35c6aa295f8f485254a9a", "relations": [{"rule": 2, "type": "equivalent", "target": "9213565e1e2863749f4433b0c32824ab", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a996d059f0db0ccf017af25a0fe1db34242e8579fba35c6aa295f8f485254a9a"}}, {"rule": 2, "type": "equivalent", "target": "c5207154e564cef8a9fa0e50944287d6", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a996d059f0db0ccf017af25a0fe1db34242e8579fba35c6aa295f8f485254a9a"}}, {"rule": 2, "type": "equivalent", "target": "ff2ff23fd845e95265615670699b5e33", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a996d059f0db0ccf017af25a0fe1db34242e8579fba35c6aa295f8f485254a9a"}}], "version": "9.1.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "ff2ff23fd845e95265615670699b5e33", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Properly handle out-of-memory conditions while parsing connection options in libpq", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a996d059f0db0ccf017af25a0fe1db34242e8579fba35c6aa295f8f485254a9a"}, "url": "/docs/compare/?release=9.3.6#9.3.6-9b7898c22d67983e", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "9213565e1e2863749f4433b0c32824ab", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Properly handle out-of-memory conditions while parsing connection options in libpq", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a996d059f0db0ccf017af25a0fe1db34242e8579fba35c6aa295f8f485254a9a"}, "url": "/docs/compare/?release=9.2.10#9.2.10-9b7898c22d67983e", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "c5207154e564cef8a9fa0e50944287d6", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Properly handle out-of-memory conditions while parsing connection options in libpq", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a996d059f0db0ccf017af25a0fe1db34242e8579fba35c6aa295f8f485254a9a"}, "url": "/docs/compare/?release=9.0.19#9.0.19-9b7898c22d67983e", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-824b3e3b17fed739", "cves": [], "html": "<p>Fix array overrun in <span>ecpg</span>'s version of <code>ParseDateTime()</code> (Michael Paquier)</p>", "text": "Fix array overrun in ecpg's version of ParseDateTime() (Michael Paquier)", "title": "Fix array overrun in ecpg's version of ParseDateTime()", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "238484a2b1dc772e720cabf1f217b466f21b46d09e8ac42a929a32222cf44967", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix array overrun in ecpg's version of ParseDateTime() (Michael Paquier)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/038", "db_id": "908c54fd4ec279884f38ce05b0d2ad88", "patch_ids": [], "statement_hash": "81e3afc68d041031ef42e2ffb3a26b68f9f989de4e82eedc2118f5f2cd0cf9f2", "relations": [{"rule": 2, "type": "equivalent", "target": "7fba479cce1339bd2f646da92c078d50", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "81e3afc68d041031ef42e2ffb3a26b68f9f989de4e82eedc2118f5f2cd0cf9f2"}}, {"rule": 2, "type": "equivalent", "target": "ac56a52bc22f77a1933b82006ef42391", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "81e3afc68d041031ef42e2ffb3a26b68f9f989de4e82eedc2118f5f2cd0cf9f2"}}, {"rule": 2, "type": "equivalent", "target": "dcf9b81abf48d31da8d984f4426fc7ac", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "81e3afc68d041031ef42e2ffb3a26b68f9f989de4e82eedc2118f5f2cd0cf9f2"}}], "version": "9.1.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "7fba479cce1339bd2f646da92c078d50", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Fix array overrun in ecpg's version of ParseDateTime()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "81e3afc68d041031ef42e2ffb3a26b68f9f989de4e82eedc2118f5f2cd0cf9f2"}, "url": "/docs/compare/?release=9.3.6#9.3.6-824b3e3b17fed739", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "dcf9b81abf48d31da8d984f4426fc7ac", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Fix array overrun in ecpg's version of ParseDateTime()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "81e3afc68d041031ef42e2ffb3a26b68f9f989de4e82eedc2118f5f2cd0cf9f2"}, "url": "/docs/compare/?release=9.2.10#9.2.10-824b3e3b17fed739", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "ac56a52bc22f77a1933b82006ef42391", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Fix array overrun in ecpg's version of ParseDateTime()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "81e3afc68d041031ef42e2ffb3a26b68f9f989de4e82eedc2118f5f2cd0cf9f2"}, "url": "/docs/compare/?release=9.0.19#9.0.19-824b3e3b17fed739", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-3689e9c2d3547ecc", "cves": [], "html": "<p>In <span>initdb</span>, give a clearer error message if a password file is specified but is empty (Mats Erik Andersson)</p>", "text": "In initdb, give a clearer error message if a password file is specified but is empty (Mats Erik Andersson)", "title": "In initdb, give a clearer error message if a password file is specified but is empty", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "1ad618638095695b91078a2b82d92ed2d7df08c384a65af83bcfe06cb6766527", "section_path": ["Changes"], "commit_groups": [], "identity_text": "In initdb, give a clearer error message if a password file is specified but is empty (Mats Erik Andersson)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/039", "db_id": "a795460f251295767d33e073790eed3d", "patch_ids": [], "statement_hash": "f5dccae8c244bb531458ce2d6b4b4ba44277e009c5f640307de6e660b0cc53f8", "relations": [{"rule": 2, "type": "equivalent", "target": "974589163a17c6bb747036121730c0c6", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f5dccae8c244bb531458ce2d6b4b4ba44277e009c5f640307de6e660b0cc53f8"}}, {"rule": 2, "type": "equivalent", "target": "a9559aee91978fd59ff877e9805a2c45", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f5dccae8c244bb531458ce2d6b4b4ba44277e009c5f640307de6e660b0cc53f8"}}, {"rule": 2, "type": "equivalent", "target": "ae26abaab93a54279a6ce7f8e136ad07", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f5dccae8c244bb531458ce2d6b4b4ba44277e009c5f640307de6e660b0cc53f8"}}], "version": "9.1.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "ae26abaab93a54279a6ce7f8e136ad07", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "In initdb, give a clearer error message if a password file is specified but is empty", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f5dccae8c244bb531458ce2d6b4b4ba44277e009c5f640307de6e660b0cc53f8"}, "url": "/docs/compare/?release=9.3.6#9.3.6-3689e9c2d3547ecc", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "974589163a17c6bb747036121730c0c6", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "In initdb, give a clearer error message if a password file is specified but is empty", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f5dccae8c244bb531458ce2d6b4b4ba44277e009c5f640307de6e660b0cc53f8"}, "url": "/docs/compare/?release=9.2.10#9.2.10-3689e9c2d3547ecc", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "a9559aee91978fd59ff877e9805a2c45", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "In initdb, give a clearer error message if a password file is specified but is empty", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f5dccae8c244bb531458ce2d6b4b4ba44277e009c5f640307de6e660b0cc53f8"}, "url": "/docs/compare/?release=9.0.19#9.0.19-3689e9c2d3547ecc", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-aae549d4d364832d", "cves": [], "html": "<p>Fix <span>psql</span>'s \\s command to work nicely with libedit, and add pager support (Stepan Rutz, Tom Lane)</p>\n<p>When using libedit rather than readline, \\s printed the command history in a fairly unreadable encoded format, and on recent libedit versions might fail altogether. Fix that by printing the history ourselves rather than having the library do it. A pleasant side-effect is that the pager is used if appropriate.</p>\n<p>This patch also fixes a bug that caused newline encoding to be applied inconsistently when saving the command history with libedit. Multiline history entries written by older <span>psql</span> versions will be read cleanly with this patch, but perhaps not vice versa, depending on the exact libedit versions involved.</p>", "text": "Fix psql's \\s command to work nicely with libedit, and add pager support (Stepan Rutz, Tom Lane) When using libedit rather than readline, \\s printed the command history in a fairly unreadable encoded format, and on recent libedit versions might fail altogether. Fix that by printing the history ourselves rather than having the library do it. A pleasant side-effect is that the pager is used if appropriate. This patch also fixes a bug that caused newline encoding to be applied inconsistently when saving the command history with libedit. Multiline history entries written by older psql versions will be read cleanly with this patch, but perhaps not vice versa, depending on the exact libedit versions involved.", "title": "Fix psql's \\s command to work nicely with libedit, and add pager support", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "e9a663c41108f759cd2de57b8d49aa014ac0f875d24f47886c0f5147d8d05d2b", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix psql's \\s command to work nicely with libedit, and add pager support (Stepan Rutz, Tom Lane) When using libedit rather than readline, \\s printed the command history in a fairly unreadable encoded format, and on recent libedit versions might fail altogether. Fix that by printing the history ourselves rather than having the library do it. A pleasant side-effect is that the pager is used if appropriate. This patch also fixes a bug that caused newline encoding to be applied inconsistently when saving the command history with libedit. Multiline history entries written by older psql versions will be read cleanly with this patch, but perhaps not vice versa, depending on the exact libedit versions involved.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/040", "db_id": "02964a88cdd4606e839eeff016bf8979", "patch_ids": [], "statement_hash": "13c163b3c2affe207fece28813d56bf5fbadecdb5f69210129e68bf5a11498f5", "relations": [{"rule": 2, "type": "equivalent", "target": "27a012123eafccd78fd4148b7d003897", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "13c163b3c2affe207fece28813d56bf5fbadecdb5f69210129e68bf5a11498f5"}}, {"rule": 2, "type": "equivalent", "target": "290ba69d6a7bf963e6ff4eea69530d6a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "13c163b3c2affe207fece28813d56bf5fbadecdb5f69210129e68bf5a11498f5"}}, {"rule": 2, "type": "equivalent", "target": "d0b653e8011bfcc7e5d6bf63673fcb2c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "13c163b3c2affe207fece28813d56bf5fbadecdb5f69210129e68bf5a11498f5"}}], "version": "9.1.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "290ba69d6a7bf963e6ff4eea69530d6a", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Fix psql's \\s command to work nicely with libedit, and add pager support", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "13c163b3c2affe207fece28813d56bf5fbadecdb5f69210129e68bf5a11498f5"}, "url": "/docs/compare/?release=9.3.6#9.3.6-aae549d4d364832d", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "27a012123eafccd78fd4148b7d003897", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Fix psql's \\s command to work nicely with libedit, and add pager support", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "13c163b3c2affe207fece28813d56bf5fbadecdb5f69210129e68bf5a11498f5"}, "url": "/docs/compare/?release=9.2.10#9.2.10-aae549d4d364832d", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "d0b653e8011bfcc7e5d6bf63673fcb2c", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Fix psql's \\s command to work nicely with libedit, and add pager support", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "13c163b3c2affe207fece28813d56bf5fbadecdb5f69210129e68bf5a11498f5"}, "url": "/docs/compare/?release=9.0.19#9.0.19-aae549d4d364832d", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-4262a03bb62ba43b", "cves": [], "html": "<p>Improve consistency of parsing of <span>psql</span>'s special variables (Tom Lane)</p>\n<p>Allow variant spellings of on and off (such as 1/0) for ECHO_HIDDEN and ON_ERROR_ROLLBACK. Report a warning for unrecognized values for COMP_KEYWORD_CASE, ECHO, ECHO_HIDDEN, HISTCONTROL, ON_ERROR_ROLLBACK, and VERBOSITY. Recognize all values for all these variables case-insensitively; previously there was a mishmash of case-sensitive and case-insensitive behaviors.</p>", "text": "Improve consistency of parsing of psql's special variables (Tom Lane) Allow variant spellings of on and off (such as 1/0) for ECHO_HIDDEN and ON_ERROR_ROLLBACK. Report a warning for unrecognized values for COMP_KEYWORD_CASE, ECHO, ECHO_HIDDEN, HISTCONTROL, ON_ERROR_ROLLBACK, and VERBOSITY. Recognize all values for all these variables case-insensitively; previously there was a mishmash of case-sensitive and case-insensitive behaviors.", "title": "Improve consistency of parsing of psql's special variables", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "befee15c5e3c14ceb2fd186d2f000e46dc5ba17cb987b7c48491cc5be7fb8cf5", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Improve consistency of parsing of psql's special variables (Tom Lane) Allow variant spellings of on and off (such as 1/0) for ECHO_HIDDEN and ON_ERROR_ROLLBACK. Report a warning for unrecognized values for COMP_KEYWORD_CASE, ECHO, ECHO_HIDDEN, HISTCONTROL, ON_ERROR_ROLLBACK, and VERBOSITY. Recognize all values for all these variables case-insensitively; previously there was a mishmash of case-sensitive and case-insensitive behaviors.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/041", "db_id": "6b862f27f186fc8fdf2591fac34b4934", "patch_ids": [], "statement_hash": "ab61658ff899e3c5d3d9358baf98c7bac86ab1b118ca97ffdb2776457dd6ba13", "relations": [{"rule": 2, "type": "equivalent", "target": "8457f5bc11a38b4a799092ba2f1545b6", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ab61658ff899e3c5d3d9358baf98c7bac86ab1b118ca97ffdb2776457dd6ba13"}}, {"rule": 2, "type": "equivalent", "target": "af5039a683c6a7e653cce3887d3626d2", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ab61658ff899e3c5d3d9358baf98c7bac86ab1b118ca97ffdb2776457dd6ba13"}}, {"rule": 2, "type": "equivalent", "target": "d1293e0760f984f1b45e41b61d4b70d2", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ab61658ff899e3c5d3d9358baf98c7bac86ab1b118ca97ffdb2776457dd6ba13"}}, {"rule": 2, "type": "equivalent", "target": "d59d691cdb6b5319e9be7cab3e536274", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ab61658ff899e3c5d3d9358baf98c7bac86ab1b118ca97ffdb2776457dd6ba13"}}], "version": "9.1.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "8457f5bc11a38b4a799092ba2f1545b6", "kind": "equivalent", "version": "9.4.1", "label": "9.4.1", "title": "Improve consistency of parsing of psql's special variables", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ab61658ff899e3c5d3d9358baf98c7bac86ab1b118ca97ffdb2776457dd6ba13"}, "url": "/docs/compare/?release=9.4.1#9.4.1-4262a03bb62ba43b", "source_url": "/docs/release/9.4.1/#AEN123581"}, {"db_id": "d59d691cdb6b5319e9be7cab3e536274", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Improve consistency of parsing of psql's special variables", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ab61658ff899e3c5d3d9358baf98c7bac86ab1b118ca97ffdb2776457dd6ba13"}, "url": "/docs/compare/?release=9.3.6#9.3.6-4262a03bb62ba43b", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "af5039a683c6a7e653cce3887d3626d2", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Improve consistency of parsing of psql's special variables", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ab61658ff899e3c5d3d9358baf98c7bac86ab1b118ca97ffdb2776457dd6ba13"}, "url": "/docs/compare/?release=9.2.10#9.2.10-4262a03bb62ba43b", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "d1293e0760f984f1b45e41b61d4b70d2", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Improve consistency of parsing of psql's special variables", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ab61658ff899e3c5d3d9358baf98c7bac86ab1b118ca97ffdb2776457dd6ba13"}, "url": "/docs/compare/?release=9.0.19#9.0.19-4262a03bb62ba43b", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-37366b919a576c7e", "cves": [], "html": "<p>Fix <span>psql</span>'s expanded-mode display to work consistently when using border = 3 and linestyle = ascii or unicode (Stephen Frost)</p>", "text": "Fix psql's expanded-mode display to work consistently when using border = 3 and linestyle = ascii or unicode (Stephen Frost)", "title": "Fix psql's expanded-mode display to work consistently when using border = 3 and linestyle = ascii or unicode", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "7217e4604421c4804e435236b7f090020278bf8a00a7447d17f16fc98a0a50a8", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix psql's expanded-mode display to work consistently when using border = 3 and linestyle = ascii or unicode (Stephen Frost)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/042", "db_id": "34c1f1a9ca9bb94fd0844d7522b0f57f", "patch_ids": [], "statement_hash": "d05d54b7763f502c0c7e58a17c5a696fac6cc527045a69af075629f66fe4edb9", "relations": [{"rule": 2, "type": "equivalent", "target": "2c3da90d7164c9dd244aa36b890d1216", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d05d54b7763f502c0c7e58a17c5a696fac6cc527045a69af075629f66fe4edb9"}}, {"rule": 2, "type": "equivalent", "target": "b359ff590bc99913ca7a1b4bd65f094d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d05d54b7763f502c0c7e58a17c5a696fac6cc527045a69af075629f66fe4edb9"}}, {"rule": 2, "type": "equivalent", "target": "e1cecfa2bf0dbfc22ff01487c60201a4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d05d54b7763f502c0c7e58a17c5a696fac6cc527045a69af075629f66fe4edb9"}}], "version": "9.1.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "b359ff590bc99913ca7a1b4bd65f094d", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Fix psql's expanded-mode display to work consistently when using border = 3 and linestyle = ascii or unicode", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d05d54b7763f502c0c7e58a17c5a696fac6cc527045a69af075629f66fe4edb9"}, "url": "/docs/compare/?release=9.3.6#9.3.6-37366b919a576c7e", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "e1cecfa2bf0dbfc22ff01487c60201a4", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Fix psql's expanded-mode display to work consistently when using border = 3 and linestyle = ascii or unicode", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d05d54b7763f502c0c7e58a17c5a696fac6cc527045a69af075629f66fe4edb9"}, "url": "/docs/compare/?release=9.2.10#9.2.10-37366b919a576c7e", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "2c3da90d7164c9dd244aa36b890d1216", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Fix psql's expanded-mode display to work consistently when using border = 3 and linestyle = ascii or unicode", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d05d54b7763f502c0c7e58a17c5a696fac6cc527045a69af075629f66fe4edb9"}, "url": "/docs/compare/?release=9.0.19#9.0.19-37366b919a576c7e", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-8d53c4f748ada7c7", "cves": [], "html": "<p>Improve performance of <span>pg_dump</span> when the database contains many instances of multiple dependency paths between the same two objects (Tom Lane)</p>", "text": "Improve performance of pg_dump when the database contains many instances of multiple dependency paths between the same two objects (Tom Lane)", "title": "Improve performance of pg_dump when the database contains many instances of multiple dependency paths between the same two objects", "commits": [], "section": "Changes", "category": "performance", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "1c698de3b57a82b590d9921085b71f6f15f6cf60f390284d3935f4ad4d4c3ce8", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Improve performance of pg_dump when the database contains many instances of multiple dependency paths between the same two objects (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/043", "db_id": "18537692103d8ad806c3a2a4f1f89d52", "patch_ids": [], "statement_hash": "ca37bf5434e420ab3d67760741b3e6dccbb35362044088d2e2483ec111ecb2ef", "relations": [{"rule": 2, "type": "equivalent", "target": "317b2d7b9fb00ccec2fc8eda11078224", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ca37bf5434e420ab3d67760741b3e6dccbb35362044088d2e2483ec111ecb2ef"}}, {"rule": 2, "type": "equivalent", "target": "ae9390ac2a359e1e38c9fa9fea5acc3b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ca37bf5434e420ab3d67760741b3e6dccbb35362044088d2e2483ec111ecb2ef"}}], "version": "9.1.15", "category_label": "Performance", "also_in": [], "variants": [], "related_changes": [{"db_id": "ae9390ac2a359e1e38c9fa9fea5acc3b", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Improve performance of pg_dump when the database contains many instances of multiple dependency paths between the same two objects", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ca37bf5434e420ab3d67760741b3e6dccbb35362044088d2e2483ec111ecb2ef"}, "url": "/docs/compare/?release=9.3.6#9.3.6-8d53c4f748ada7c7", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "317b2d7b9fb00ccec2fc8eda11078224", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Improve performance of pg_dump when the database contains many instances of multiple dependency paths between the same two objects", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ca37bf5434e420ab3d67760741b3e6dccbb35362044088d2e2483ec111ecb2ef"}, "url": "/docs/compare/?release=9.2.10#9.2.10-8d53c4f748ada7c7", "source_url": "/docs/release/9.2.10/#AEN112547"}]}, {"id": "9.1.15-d2980475b73b5992", "cves": [], "html": "<p>Fix possible deadlock during parallel restore of a schema-only dump (Robert Haas, Tom Lane)</p>", "text": "Fix possible deadlock during parallel restore of a schema-only dump (Robert Haas, Tom Lane)", "title": "Fix possible deadlock during parallel restore of a schema-only dump", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "8d904175b3bbe0c6f45766b497b7de864a7090cc217e652d94ea16a1b375df1f", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix possible deadlock during parallel restore of a schema-only dump (Robert Haas, Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/044", "db_id": "6eb333d11c6d582ce3dd202a37f4194b", "patch_ids": [], "statement_hash": "d2e0364e74e9a24ea45a95351481921cc85a67dbbd150f19038e5f0b3d6efa45", "relations": [{"rule": 2, "type": "equivalent", "target": "58ee380475fa28f09ecaf41e43f74d8b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d2e0364e74e9a24ea45a95351481921cc85a67dbbd150f19038e5f0b3d6efa45"}}, {"rule": 2, "type": "equivalent", "target": "9f2c83b34e3cfe73bfcab264d8e2e926", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d2e0364e74e9a24ea45a95351481921cc85a67dbbd150f19038e5f0b3d6efa45"}}, {"rule": 2, "type": "equivalent", "target": "dbcddf562b2cbe77538f45f2edf102f3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d2e0364e74e9a24ea45a95351481921cc85a67dbbd150f19038e5f0b3d6efa45"}}], "version": "9.1.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "9f2c83b34e3cfe73bfcab264d8e2e926", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Fix possible deadlock during parallel restore of a schema-only dump", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d2e0364e74e9a24ea45a95351481921cc85a67dbbd150f19038e5f0b3d6efa45"}, "url": "/docs/compare/?release=9.3.6#9.3.6-d2980475b73b5992", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "58ee380475fa28f09ecaf41e43f74d8b", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Fix possible deadlock during parallel restore of a schema-only dump", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d2e0364e74e9a24ea45a95351481921cc85a67dbbd150f19038e5f0b3d6efa45"}, "url": "/docs/compare/?release=9.2.10#9.2.10-d2980475b73b5992", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "dbcddf562b2cbe77538f45f2edf102f3", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Fix possible deadlock during parallel restore of a schema-only dump", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d2e0364e74e9a24ea45a95351481921cc85a67dbbd150f19038e5f0b3d6efa45"}, "url": "/docs/compare/?release=9.0.19#9.0.19-d2980475b73b5992", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-05420421a62e4a2d", "cves": [], "html": "<p>Fix core dump in pg_dump --binary-upgrade on zero-column composite type (Rushabh Lathia)</p>", "text": "Fix core dump in pg_dump --binary-upgrade on zero-column composite type (Rushabh Lathia)", "title": "Fix core dump in pg_dump --binary-upgrade on zero-column composite type", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "a5997f21a089dd290ff24dfcecb02dca0b8c9c33429843bbe189c40ae5adb347", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix core dump in pg_dump --binary-upgrade on zero-column composite type (Rushabh Lathia)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/045", "db_id": "23179df9ec3dbbf3bc4bcadaed80f32e", "patch_ids": [], "statement_hash": "7cef21de2b663b8fcb5b1907b9258fb7bbd2d377c304de74be1ebba790f6657c", "relations": [{"rule": 2, "type": "equivalent", "target": "7937c4ae1b68553949f2a704ff0a8b15", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7cef21de2b663b8fcb5b1907b9258fb7bbd2d377c304de74be1ebba790f6657c"}}, {"rule": 2, "type": "equivalent", "target": "864879357283b1121b56454d7dc1c48e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7cef21de2b663b8fcb5b1907b9258fb7bbd2d377c304de74be1ebba790f6657c"}}, {"rule": 2, "type": "equivalent", "target": "a42c556b4c8ae7a58ee8036468a35823", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7cef21de2b663b8fcb5b1907b9258fb7bbd2d377c304de74be1ebba790f6657c"}}], "version": "9.1.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "864879357283b1121b56454d7dc1c48e", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Fix core dump in pg_dump --binary-upgrade on zero-column composite type", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7cef21de2b663b8fcb5b1907b9258fb7bbd2d377c304de74be1ebba790f6657c"}, "url": "/docs/compare/?release=9.3.6#9.3.6-05420421a62e4a2d", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "7937c4ae1b68553949f2a704ff0a8b15", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Fix core dump in pg_dump --binary-upgrade on zero-column composite type", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7cef21de2b663b8fcb5b1907b9258fb7bbd2d377c304de74be1ebba790f6657c"}, "url": "/docs/compare/?release=9.2.10#9.2.10-05420421a62e4a2d", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "a42c556b4c8ae7a58ee8036468a35823", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Fix core dump in pg_dump --binary-upgrade on zero-column composite type", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7cef21de2b663b8fcb5b1907b9258fb7bbd2d377c304de74be1ebba790f6657c"}, "url": "/docs/compare/?release=9.0.19#9.0.19-05420421a62e4a2d", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-b1dcfdbd3e97e238", "cves": [], "html": "<p>Prevent WAL files created by pg_basebackup -x/-X from being archived again when the standby is promoted (Andres Freund)</p>", "text": "Prevent WAL files created by pg_basebackup -x/-X from being archived again when the standby is promoted (Andres Freund)", "title": "Prevent WAL files created by pg_basebackup -x/-X from being archived again when the standby is promoted", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "c3bd049c28c395fda460739b8e13b5d4d4624e6163519fd236ddced29f02adbf", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Prevent WAL files created by pg_basebackup -x/-X from being archived again when the standby is promoted (Andres Freund)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/046", "db_id": "0992c99442353c726c5ec5c3c95afcc6", "patch_ids": [], "statement_hash": "7a22fda7a5998f2d560a1d2473f27e45dff1d56e5912c9bef22ce9bdb6d2dcbb", "relations": [{"rule": 2, "type": "equivalent", "target": "1fa016f6402c7f3db3fb9a3f43ff1f40", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7a22fda7a5998f2d560a1d2473f27e45dff1d56e5912c9bef22ce9bdb6d2dcbb"}}, {"rule": 2, "type": "equivalent", "target": "a797e860b2b98a442a6af2c958faafe0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7a22fda7a5998f2d560a1d2473f27e45dff1d56e5912c9bef22ce9bdb6d2dcbb"}}, {"rule": 2, "type": "equivalent", "target": "bd65e05ffdfcc52803baeb984e770928", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7a22fda7a5998f2d560a1d2473f27e45dff1d56e5912c9bef22ce9bdb6d2dcbb"}}], "version": "9.1.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "a797e860b2b98a442a6af2c958faafe0", "kind": "equivalent", "version": "9.4.1", "label": "9.4.1", "title": "Prevent WAL files created by pg_basebackup -x/-X from being archived again when the standby is promoted", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7a22fda7a5998f2d560a1d2473f27e45dff1d56e5912c9bef22ce9bdb6d2dcbb"}, "url": "/docs/compare/?release=9.4.1#9.4.1-b1dcfdbd3e97e238", "source_url": "/docs/release/9.4.1/#AEN123581"}, {"db_id": "1fa016f6402c7f3db3fb9a3f43ff1f40", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Prevent WAL files created by pg_basebackup -x/-X from being archived again when the standby is promoted", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7a22fda7a5998f2d560a1d2473f27e45dff1d56e5912c9bef22ce9bdb6d2dcbb"}, "url": "/docs/compare/?release=9.3.6#9.3.6-b1dcfdbd3e97e238", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "bd65e05ffdfcc52803baeb984e770928", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Prevent WAL files created by pg_basebackup -x/-X from being archived again when the standby is promoted", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7a22fda7a5998f2d560a1d2473f27e45dff1d56e5912c9bef22ce9bdb6d2dcbb"}, "url": "/docs/compare/?release=9.2.10#9.2.10-b1dcfdbd3e97e238", "source_url": "/docs/release/9.2.10/#AEN112547"}]}, {"id": "9.1.15-75df8e5ae334b333", "cves": [], "html": "<p>Fix upgrade-from-unpackaged script for contrib/citext (Tom Lane)</p>", "text": "Fix upgrade-from-unpackaged script for contrib/citext (Tom Lane)", "title": "Fix upgrade-from-unpackaged script for contrib/citext", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "7cd26efe3e2bdbcc4b8150acfdb2b4ec07f178fd845ba81e873ff8288b5d8d0f", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix upgrade-from-unpackaged script for contrib/citext (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/047", "db_id": "d725b12085f2a3a8f8731eced81b152b", "patch_ids": [], "statement_hash": "ec6e11bde94bf287e02fe4b7ff71d1882fbb3a13a68b9c360503fc94c5d3b414", "relations": [{"rule": 2, "type": "equivalent", "target": "0443ed736eb38d6c9ee693368cb03591", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ec6e11bde94bf287e02fe4b7ff71d1882fbb3a13a68b9c360503fc94c5d3b414"}}, {"rule": 2, "type": "equivalent", "target": "e331f7ddf5b80d07cee538e297d0e5b6", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ec6e11bde94bf287e02fe4b7ff71d1882fbb3a13a68b9c360503fc94c5d3b414"}}], "version": "9.1.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "e331f7ddf5b80d07cee538e297d0e5b6", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Fix upgrade-from-unpackaged script for contrib/citext", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ec6e11bde94bf287e02fe4b7ff71d1882fbb3a13a68b9c360503fc94c5d3b414"}, "url": "/docs/compare/?release=9.3.6#9.3.6-75df8e5ae334b333", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "0443ed736eb38d6c9ee693368cb03591", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Fix upgrade-from-unpackaged script for contrib/citext", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ec6e11bde94bf287e02fe4b7ff71d1882fbb3a13a68b9c360503fc94c5d3b414"}, "url": "/docs/compare/?release=9.2.10#9.2.10-75df8e5ae334b333", "source_url": "/docs/release/9.2.10/#AEN112547"}]}, {"id": "9.1.15-0948713b7f7957d7", "cves": [], "html": "<p>Fix block number checking in contrib/pageinspect's <code>get_raw_page()</code> (Tom Lane)</p>\n<p>The incorrect checking logic could prevent access to some pages in non-main relation forks.</p>", "text": "Fix block number checking in contrib/pageinspect's get_raw_page() (Tom Lane) The incorrect checking logic could prevent access to some pages in non-main relation forks.", "title": "Fix block number checking in contrib/pageinspect's get_raw_page()", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "4de281b058e4b28da441fa4f7a4bc9dc1211f749a4f0e3921750e70913d83d4d", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix block number checking in contrib/pageinspect's get_raw_page() (Tom Lane) The incorrect checking logic could prevent access to some pages in non-main relation forks.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/048", "db_id": "9e217fbd497cec2831c099fa83a38b5c", "patch_ids": [], "statement_hash": "d9cf7939f3b575d0c96ced6029d1c43059b8d6bd02bfd6c43656cb2dda598b9a", "relations": [{"rule": 2, "type": "equivalent", "target": "ba48e31797b3b09a0b2d9a3d707b4c53", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d9cf7939f3b575d0c96ced6029d1c43059b8d6bd02bfd6c43656cb2dda598b9a"}}, {"rule": 2, "type": "equivalent", "target": "f0339297b7e6afe8e77c299dbb905dfc", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d9cf7939f3b575d0c96ced6029d1c43059b8d6bd02bfd6c43656cb2dda598b9a"}}, {"rule": 2, "type": "equivalent", "target": "f0995d643272cf222f23311a0cccbac8", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d9cf7939f3b575d0c96ced6029d1c43059b8d6bd02bfd6c43656cb2dda598b9a"}}], "version": "9.1.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "f0995d643272cf222f23311a0cccbac8", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Fix block number checking in contrib/pageinspect's get_raw_page()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d9cf7939f3b575d0c96ced6029d1c43059b8d6bd02bfd6c43656cb2dda598b9a"}, "url": "/docs/compare/?release=9.3.6#9.3.6-0948713b7f7957d7", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "ba48e31797b3b09a0b2d9a3d707b4c53", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Fix block number checking in contrib/pageinspect's get_raw_page()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d9cf7939f3b575d0c96ced6029d1c43059b8d6bd02bfd6c43656cb2dda598b9a"}, "url": "/docs/compare/?release=9.2.10#9.2.10-0948713b7f7957d7", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "f0339297b7e6afe8e77c299dbb905dfc", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Fix block number checking in contrib/pageinspect's get_raw_page()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d9cf7939f3b575d0c96ced6029d1c43059b8d6bd02bfd6c43656cb2dda598b9a"}, "url": "/docs/compare/?release=9.0.19#9.0.19-0948713b7f7957d7", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-b9019db50b1a824d", "cves": [], "html": "<p>Fix contrib/pgcrypto's <code>pgp_sym_decrypt()</code> to not fail on messages whose length is 6 less than a power of 2 (Marko Tiikkaja)</p>", "text": "Fix contrib/pgcrypto's pgp_sym_decrypt() to not fail on messages whose length is 6 less than a power of 2 (Marko Tiikkaja)", "title": "Fix contrib/pgcrypto's pgp_sym_decrypt() to not fail on messages whose length is 6 less than a power of 2", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "884ccc9a0990fb25587ad9dce1cd2ededacd91aceb2d5fc62b896f3e744a96db", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix contrib/pgcrypto's pgp_sym_decrypt() to not fail on messages whose length is 6 less than a power of 2 (Marko Tiikkaja)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/049", "db_id": "5471e9acf040392515f6c47d09bbff7b", "patch_ids": [], "statement_hash": "c4b10794c6f34ab3b038e7b46005d31d86c769d27695d9d3e2070fca3ccbb2d4", "relations": [{"rule": 2, "type": "equivalent", "target": "5e7d1d638b65429f916f7bfbe132d440", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c4b10794c6f34ab3b038e7b46005d31d86c769d27695d9d3e2070fca3ccbb2d4"}}, {"rule": 2, "type": "equivalent", "target": "d5d6f1e8428e9b7961a20fbdf71e1891", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c4b10794c6f34ab3b038e7b46005d31d86c769d27695d9d3e2070fca3ccbb2d4"}}, {"rule": 2, "type": "equivalent", "target": "ee61fdabf015150c1a79b27a40eae0cb", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c4b10794c6f34ab3b038e7b46005d31d86c769d27695d9d3e2070fca3ccbb2d4"}}], "version": "9.1.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "ee61fdabf015150c1a79b27a40eae0cb", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Fix contrib/pgcrypto's pgp_sym_decrypt() to not fail on messages whose length is 6 less than a power of 2", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c4b10794c6f34ab3b038e7b46005d31d86c769d27695d9d3e2070fca3ccbb2d4"}, "url": "/docs/compare/?release=9.3.6#9.3.6-b9019db50b1a824d", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "5e7d1d638b65429f916f7bfbe132d440", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Fix contrib/pgcrypto's pgp_sym_decrypt() to not fail on messages whose length is 6 less than a power of 2", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c4b10794c6f34ab3b038e7b46005d31d86c769d27695d9d3e2070fca3ccbb2d4"}, "url": "/docs/compare/?release=9.2.10#9.2.10-b9019db50b1a824d", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "d5d6f1e8428e9b7961a20fbdf71e1891", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Fix contrib/pgcrypto's pgp_sym_decrypt() to not fail on messages whose length is 6 less than a power of 2", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c4b10794c6f34ab3b038e7b46005d31d86c769d27695d9d3e2070fca3ccbb2d4"}, "url": "/docs/compare/?release=9.0.19#9.0.19-b9019db50b1a824d", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-9634e6c7b0c4edde", "cves": [], "html": "<p>Fix file descriptor leak in contrib/pg_test_fsync (Jeff Janes)</p>\n<p>This could cause failure to remove temporary files on Windows.</p>", "text": "Fix file descriptor leak in contrib/pg_test_fsync (Jeff Janes) This could cause failure to remove temporary files on Windows.", "title": "Fix file descriptor leak in contrib/pg_test_fsync", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "8a8653df69eec10835c690737c54287089145fd76d4ec1e2eba7b5cd44e2b4c8", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix file descriptor leak in contrib/pg_test_fsync (Jeff Janes) This could cause failure to remove temporary files on Windows.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/050", "db_id": "3a86cc1445b328c4269f5d7634130b5c", "patch_ids": [], "statement_hash": "9387df12da214654707d3fb4041663e67d40589fed416a16d62eb84b519077b8", "relations": [{"rule": 2, "type": "equivalent", "target": "11fdd86bd0f7cca2713955fb570506df", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9387df12da214654707d3fb4041663e67d40589fed416a16d62eb84b519077b8"}}, {"rule": 2, "type": "equivalent", "target": "8ac78be25e02c807cc73377e71bd3914", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9387df12da214654707d3fb4041663e67d40589fed416a16d62eb84b519077b8"}}], "version": "9.1.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "11fdd86bd0f7cca2713955fb570506df", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Fix file descriptor leak in contrib/pg_test_fsync", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9387df12da214654707d3fb4041663e67d40589fed416a16d62eb84b519077b8"}, "url": "/docs/compare/?release=9.3.6#9.3.6-9634e6c7b0c4edde", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "8ac78be25e02c807cc73377e71bd3914", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Fix file descriptor leak in contrib/pg_test_fsync", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9387df12da214654707d3fb4041663e67d40589fed416a16d62eb84b519077b8"}, "url": "/docs/compare/?release=9.2.10#9.2.10-9634e6c7b0c4edde", "source_url": "/docs/release/9.2.10/#AEN112547"}]}, {"id": "9.1.15-4e1c8c9e18691823", "cves": [], "html": "<p>Handle unexpected query results, especially NULLs, safely in contrib/tablefunc's <code>connectby()</code> (Michael Paquier)</p>\n<p><code>connectby()</code> previously crashed if it encountered a NULL key value. It now prints that row but doesn't recurse further.</p>", "text": "Handle unexpected query results, especially NULLs, safely in contrib/tablefunc's connectby() (Michael Paquier) connectby() previously crashed if it encountered a NULL key value. It now prints that row but doesn't recurse further.", "title": "Handle unexpected query results, especially NULLs, safely in contrib/tablefunc's connectby()", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "fe58586e3f0b43cae1ff17c5ae4a0a6bf9aad38683b3c934f15d4fdaa6456865", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Handle unexpected query results, especially NULLs, safely in contrib/tablefunc's connectby() (Michael Paquier) connectby() previously crashed if it encountered a NULL key value. It now prints that row but doesn't recurse further.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/051", "db_id": "80b793a52a226eb5e5ae486e51a6bca3", "patch_ids": [], "statement_hash": "9c8e178e32c521ec5f76336818de13a8dd8a1c4826cb40f74b746e87c1094544", "relations": [{"rule": 2, "type": "equivalent", "target": "067eb3e6a757e657b3b5527615fcb4ec", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9c8e178e32c521ec5f76336818de13a8dd8a1c4826cb40f74b746e87c1094544"}}, {"rule": 2, "type": "equivalent", "target": "2c6aca44c0dcee7e3437799520e1e667", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9c8e178e32c521ec5f76336818de13a8dd8a1c4826cb40f74b746e87c1094544"}}, {"rule": 2, "type": "equivalent", "target": "490569980196c2e8fc0b80c5f5022562", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9c8e178e32c521ec5f76336818de13a8dd8a1c4826cb40f74b746e87c1094544"}}, {"rule": 2, "type": "equivalent", "target": "5189b93a8cf6cb0e00c3fcf1dbab030d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9c8e178e32c521ec5f76336818de13a8dd8a1c4826cb40f74b746e87c1094544"}}], "version": "9.1.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "490569980196c2e8fc0b80c5f5022562", "kind": "equivalent", "version": "9.4.1", "label": "9.4.1", "title": "Handle unexpected query results, especially NULLs, safely in contrib/tablefunc's connectby()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9c8e178e32c521ec5f76336818de13a8dd8a1c4826cb40f74b746e87c1094544"}, "url": "/docs/compare/?release=9.4.1#9.4.1-4e1c8c9e18691823", "source_url": "/docs/release/9.4.1/#AEN123581"}, {"db_id": "5189b93a8cf6cb0e00c3fcf1dbab030d", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Handle unexpected query results, especially NULLs, safely in contrib/tablefunc's connectby()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9c8e178e32c521ec5f76336818de13a8dd8a1c4826cb40f74b746e87c1094544"}, "url": "/docs/compare/?release=9.3.6#9.3.6-4e1c8c9e18691823", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "2c6aca44c0dcee7e3437799520e1e667", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Handle unexpected query results, especially NULLs, safely in contrib/tablefunc's connectby()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9c8e178e32c521ec5f76336818de13a8dd8a1c4826cb40f74b746e87c1094544"}, "url": "/docs/compare/?release=9.2.10#9.2.10-4e1c8c9e18691823", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "067eb3e6a757e657b3b5527615fcb4ec", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Handle unexpected query results, especially NULLs, safely in contrib/tablefunc's connectby()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9c8e178e32c521ec5f76336818de13a8dd8a1c4826cb40f74b746e87c1094544"}, "url": "/docs/compare/?release=9.0.19#9.0.19-4e1c8c9e18691823", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-6cdd6615506075c8", "cves": [], "html": "<p>Avoid a possible crash in contrib/xml2's <code>xslt_process()</code> (Mark Simonetti)</p>\n<p><span>libxslt</span> seems to have an undocumented dependency on the order in which resources are freed; reorder our calls to avoid a crash.</p>", "text": "Avoid a possible crash in contrib/xml2's xslt_process() (Mark Simonetti) libxslt seems to have an undocumented dependency on the order in which resources are freed; reorder our calls to avoid a crash.", "title": "Avoid a possible crash in contrib/xml2's xslt_process()", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "51e7e7a6b7cae368a3be510b5548e6a4630007cd71d43efd23c78418b1ddb16d", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Avoid a possible crash in contrib/xml2's xslt_process() (Mark Simonetti) libxslt seems to have an undocumented dependency on the order in which resources are freed; reorder our calls to avoid a crash.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/052", "db_id": "48853351ecacaed5d6768613fbf3e7cf", "patch_ids": [], "statement_hash": "b6793b5c6b6c7ea8509b5eedd285785cfce1ab0c45c109f3fb0da2d87a9a65b4", "relations": [{"rule": 2, "type": "equivalent", "target": "29cf6c481771d774d265144eae224bd8", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b6793b5c6b6c7ea8509b5eedd285785cfce1ab0c45c109f3fb0da2d87a9a65b4"}}, {"rule": 2, "type": "equivalent", "target": "5af728f73487987279bb4143394ed5c7", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b6793b5c6b6c7ea8509b5eedd285785cfce1ab0c45c109f3fb0da2d87a9a65b4"}}, {"rule": 2, "type": "equivalent", "target": "bc4ee3cc962cb26439a428b20a1904b2", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b6793b5c6b6c7ea8509b5eedd285785cfce1ab0c45c109f3fb0da2d87a9a65b4"}}], "version": "9.1.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "29cf6c481771d774d265144eae224bd8", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Avoid a possible crash in contrib/xml2's xslt_process()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b6793b5c6b6c7ea8509b5eedd285785cfce1ab0c45c109f3fb0da2d87a9a65b4"}, "url": "/docs/compare/?release=9.3.6#9.3.6-6cdd6615506075c8", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "bc4ee3cc962cb26439a428b20a1904b2", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Avoid a possible crash in contrib/xml2's xslt_process()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b6793b5c6b6c7ea8509b5eedd285785cfce1ab0c45c109f3fb0da2d87a9a65b4"}, "url": "/docs/compare/?release=9.2.10#9.2.10-6cdd6615506075c8", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "5af728f73487987279bb4143394ed5c7", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Avoid a possible crash in contrib/xml2's xslt_process()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b6793b5c6b6c7ea8509b5eedd285785cfce1ab0c45c109f3fb0da2d87a9a65b4"}, "url": "/docs/compare/?release=9.0.19#9.0.19-6cdd6615506075c8", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-696d2e4c2d791841", "cves": [], "html": "<p>Mark some contrib I/O functions with correct volatility properties (Tom Lane)</p>\n<p>The previous over-conservative marking was immaterial in normal use, but could cause optimization problems or rejection of valid index expression definitions. Since the consequences are not large, we've just adjusted the function definitions in the extension modules' scripts, without changing version numbers.</p>", "text": "Mark some contrib I/O functions with correct volatility properties (Tom Lane) The previous over-conservative marking was immaterial in normal use, but could cause optimization problems or rejection of valid index expression definitions. Since the consequences are not large, we've just adjusted the function definitions in the extension modules' scripts, without changing version numbers.", "title": "Mark some contrib I/O functions with correct volatility properties", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "2148f82e5969dbd969b80af2a82fc1d077ade30370299cbcee635a4682a67ff4", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Mark some contrib I/O functions with correct volatility properties (Tom Lane) The previous over-conservative marking was immaterial in normal use, but could cause optimization problems or rejection of valid index expression definitions. Since the consequences are not large, we've just adjusted the function definitions in the extension modules' scripts, without changing version numbers.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/053", "db_id": "dec6132ce2064557e4801a9fcdcd73e1", "patch_ids": [], "statement_hash": "c3971be2babcb7f43085cda29cbf5723b863e1cfbf8bc1d7e0823bfc197a019f", "relations": [{"rule": 2, "type": "equivalent", "target": "3d4b903a27f4b06f43b3a114644c4c67", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c3971be2babcb7f43085cda29cbf5723b863e1cfbf8bc1d7e0823bfc197a019f"}}, {"rule": 2, "type": "equivalent", "target": "a298c361f874e67445b3836a6e9aaf7d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c3971be2babcb7f43085cda29cbf5723b863e1cfbf8bc1d7e0823bfc197a019f"}}], "version": "9.1.15", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "3d4b903a27f4b06f43b3a114644c4c67", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Mark some contrib I/O functions with correct volatility properties", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c3971be2babcb7f43085cda29cbf5723b863e1cfbf8bc1d7e0823bfc197a019f"}, "url": "/docs/compare/?release=9.3.6#9.3.6-696d2e4c2d791841", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "a298c361f874e67445b3836a6e9aaf7d", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Mark some contrib I/O functions with correct volatility properties", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c3971be2babcb7f43085cda29cbf5723b863e1cfbf8bc1d7e0823bfc197a019f"}, "url": "/docs/compare/?release=9.2.10#9.2.10-696d2e4c2d791841", "source_url": "/docs/release/9.2.10/#AEN112547"}]}, {"id": "9.1.15-fb1aad2311a88ec7", "cves": [], "html": "<p>Numerous cleanups of warnings from Coverity static code analyzer (Andres Freund, Tatsuo Ishii, Marko Kreen, Tom Lane, Michael Paquier)</p>\n<p>These changes are mostly cosmetic but in some cases fix corner-case bugs, for example a crash rather than a proper error report after an out-of-memory failure. None are believed to represent security issues.</p>", "text": "Numerous cleanups of warnings from Coverity static code analyzer (Andres Freund, Tatsuo Ishii, Marko Kreen, Tom Lane, Michael Paquier) These changes are mostly cosmetic but in some cases fix corner-case bugs, for example a crash rather than a proper error report after an out-of-memory failure. None are believed to represent security issues.", "title": "Numerous cleanups of warnings from Coverity static code analyzer", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "446a1dd7e2e6dfd1abff77145b75741c6dc93ddf88272da460b23d612413aff3", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Numerous cleanups of warnings from Coverity static code analyzer (Andres Freund, Tatsuo Ishii, Marko Kreen, Tom Lane, Michael Paquier) These changes are mostly cosmetic but in some cases fix corner-case bugs, for example a crash rather than a proper error report after an out-of-memory failure. None are believed to represent security issues.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/054", "db_id": "4c8bc0c63a589cdc2848abaf2c856854", "patch_ids": [], "statement_hash": "e56a1015631e5a567dbe6b36b79f66bbf141543885654fc4906a0126c90f8e16", "relations": [{"rule": 2, "type": "equivalent", "target": "12e33c2f4f0e430ce044b6c5ba7659e9", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e56a1015631e5a567dbe6b36b79f66bbf141543885654fc4906a0126c90f8e16"}}, {"rule": 2, "type": "equivalent", "target": "52c3d51c1d613490a4737cc67d575159", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e56a1015631e5a567dbe6b36b79f66bbf141543885654fc4906a0126c90f8e16"}}, {"rule": 2, "type": "equivalent", "target": "c0dea398485ffb3ab2ee0b2344343d54", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e56a1015631e5a567dbe6b36b79f66bbf141543885654fc4906a0126c90f8e16"}}, {"rule": 2, "type": "equivalent", "target": "ee40bf4e7114e983b86aef19f50a756d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e56a1015631e5a567dbe6b36b79f66bbf141543885654fc4906a0126c90f8e16"}}], "version": "9.1.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "c0dea398485ffb3ab2ee0b2344343d54", "kind": "equivalent", "version": "9.4.1", "label": "9.4.1", "title": "Numerous cleanups of warnings from Coverity static code analyzer", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e56a1015631e5a567dbe6b36b79f66bbf141543885654fc4906a0126c90f8e16"}, "url": "/docs/compare/?release=9.4.1#9.4.1-fb1aad2311a88ec7", "source_url": "/docs/release/9.4.1/#AEN123581"}, {"db_id": "12e33c2f4f0e430ce044b6c5ba7659e9", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Numerous cleanups of warnings from Coverity static code analyzer", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e56a1015631e5a567dbe6b36b79f66bbf141543885654fc4906a0126c90f8e16"}, "url": "/docs/compare/?release=9.3.6#9.3.6-fb1aad2311a88ec7", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "ee40bf4e7114e983b86aef19f50a756d", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Numerous cleanups of warnings from Coverity static code analyzer", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e56a1015631e5a567dbe6b36b79f66bbf141543885654fc4906a0126c90f8e16"}, "url": "/docs/compare/?release=9.2.10#9.2.10-fb1aad2311a88ec7", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "52c3d51c1d613490a4737cc67d575159", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Numerous cleanups of warnings from Coverity static code analyzer", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e56a1015631e5a567dbe6b36b79f66bbf141543885654fc4906a0126c90f8e16"}, "url": "/docs/compare/?release=9.0.19#9.0.19-fb1aad2311a88ec7", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-9f783c807ba1700e", "cves": [], "html": "<p>Detect incompatible OpenLDAP versions during build (Noah Misch)</p>\n<p>With OpenLDAP versions 2.4.24 through 2.4.31, inclusive, <span>PostgreSQL</span> backends can crash at exit. Raise a warning during <span>configure</span> based on the compile-time OpenLDAP version number, and test the crashing scenario in the contrib/dblink regression test.</p>", "text": "Detect incompatible OpenLDAP versions during build (Noah Misch) With OpenLDAP versions 2.4.24 through 2.4.31, inclusive, PostgreSQL backends can crash at exit. Raise a warning during configure based on the compile-time OpenLDAP version number, and test the crashing scenario in the contrib/dblink regression test.", "title": "Detect incompatible OpenLDAP versions during build", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "5fb7429dfd885c4d994f69d56c40132191dd154ef7d13a64e5359bc75afbf085", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Detect incompatible OpenLDAP versions during build (Noah Misch) With OpenLDAP versions 2.4.24 through 2.4.31, inclusive, PostgreSQL backends can crash at exit. Raise a warning during configure based on the compile-time OpenLDAP version number, and test the crashing scenario in the contrib/dblink regression test.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/055", "db_id": "c24848632f8fe17c9f5cfb8c353abc23", "patch_ids": [], "statement_hash": "0d065bbeb86f700a618de8e8d237089a131521696632720be7a6ac97377a41d1", "relations": [{"rule": 2, "type": "equivalent", "target": "683140e5c1ecc12f0ea43d872bd098ea", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0d065bbeb86f700a618de8e8d237089a131521696632720be7a6ac97377a41d1"}}, {"rule": 2, "type": "equivalent", "target": "79ac97dd69845b99033f6ee8bcc77cb1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0d065bbeb86f700a618de8e8d237089a131521696632720be7a6ac97377a41d1"}}, {"rule": 2, "type": "equivalent", "target": "dd89a54e049b842da00d4fe92a80425a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0d065bbeb86f700a618de8e8d237089a131521696632720be7a6ac97377a41d1"}}], "version": "9.1.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "dd89a54e049b842da00d4fe92a80425a", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Detect incompatible OpenLDAP versions during build", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0d065bbeb86f700a618de8e8d237089a131521696632720be7a6ac97377a41d1"}, "url": "/docs/compare/?release=9.3.6#9.3.6-9f783c807ba1700e", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "79ac97dd69845b99033f6ee8bcc77cb1", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Detect incompatible OpenLDAP versions during build", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0d065bbeb86f700a618de8e8d237089a131521696632720be7a6ac97377a41d1"}, "url": "/docs/compare/?release=9.2.10#9.2.10-9f783c807ba1700e", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "683140e5c1ecc12f0ea43d872bd098ea", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Detect incompatible OpenLDAP versions during build", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0d065bbeb86f700a618de8e8d237089a131521696632720be7a6ac97377a41d1"}, "url": "/docs/compare/?release=9.0.19#9.0.19-9f783c807ba1700e", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-a754998e437279ad", "cves": [], "html": "<p>In non-MSVC Windows builds, ensure libpq.dll is installed with execute permissions (Noah Misch)</p>", "text": "In non-MSVC Windows builds, ensure libpq.dll is installed with execute permissions (Noah Misch)", "title": "In non-MSVC Windows builds, ensure libpq.dll is installed with execute permissions", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "7b278a93af318f4ccb7ecd85bf145d1889e6c511f2d3877e52ebcfad7e5beb17", "section_path": ["Changes"], "commit_groups": [], "identity_text": "In non-MSVC Windows builds, ensure libpq.dll is installed with execute permissions (Noah Misch)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/056", "db_id": "9d39c42de62004fc65b9ee9ae06eda1d", "patch_ids": [], "statement_hash": "ba116a1a91d979fda4e6a890869fb980d0832321c68478e928f711046b37739e", "relations": [{"rule": 2, "type": "equivalent", "target": "226af100e754c994ca40d8f93abcdd6f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ba116a1a91d979fda4e6a890869fb980d0832321c68478e928f711046b37739e"}}, {"rule": 2, "type": "equivalent", "target": "7556256b3c127b4489aa25e04b1ae5d6", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ba116a1a91d979fda4e6a890869fb980d0832321c68478e928f711046b37739e"}}, {"rule": 2, "type": "equivalent", "target": "e377f519b858553b153c1e7082d3a479", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ba116a1a91d979fda4e6a890869fb980d0832321c68478e928f711046b37739e"}}], "version": "9.1.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "226af100e754c994ca40d8f93abcdd6f", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "In non-MSVC Windows builds, ensure libpq.dll is installed with execute permissions", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ba116a1a91d979fda4e6a890869fb980d0832321c68478e928f711046b37739e"}, "url": "/docs/compare/?release=9.3.6#9.3.6-a754998e437279ad", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "7556256b3c127b4489aa25e04b1ae5d6", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "In non-MSVC Windows builds, ensure libpq.dll is installed with execute permissions", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ba116a1a91d979fda4e6a890869fb980d0832321c68478e928f711046b37739e"}, "url": "/docs/compare/?release=9.2.10#9.2.10-a754998e437279ad", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "e377f519b858553b153c1e7082d3a479", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "In non-MSVC Windows builds, ensure libpq.dll is installed with execute permissions", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ba116a1a91d979fda4e6a890869fb980d0832321c68478e928f711046b37739e"}, "url": "/docs/compare/?release=9.0.19#9.0.19-a754998e437279ad", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-f116ef63f68e2e91", "cves": [], "html": "<p>Make <span>pg_regress</span> remove any temporary installation it created upon successful exit (Tom Lane)</p>\n<p>This results in a very substantial reduction in disk space usage during make check-world, since that sequence involves creation of numerous temporary installations.</p>", "text": "Make pg_regress remove any temporary installation it created upon successful exit (Tom Lane) This results in a very substantial reduction in disk space usage during make check-world, since that sequence involves creation of numerous temporary installations.", "title": "Make pg_regress remove any temporary installation it created upon successful exit", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "fbcebfcbdaa9df663aac90e74851baf3e3e1ce4773d9210434ab8e653e351f20", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Make pg_regress remove any temporary installation it created upon successful exit (Tom Lane) This results in a very substantial reduction in disk space usage during make check-world, since that sequence involves creation of numerous temporary installations.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/057", "db_id": "4a7e136d6a905f01773a4c148760dc26", "patch_ids": [], "statement_hash": "ee2f2ab7ad29356e5dddb6ffb4676a5c8faf6faac6f66444faf34c6a824c8f03", "relations": [{"rule": 2, "type": "equivalent", "target": "0f21fd45378823224fb8cd2c35018e1d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ee2f2ab7ad29356e5dddb6ffb4676a5c8faf6faac6f66444faf34c6a824c8f03"}}, {"rule": 2, "type": "equivalent", "target": "90cf5b9ee2356d5408f6174d793511a2", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ee2f2ab7ad29356e5dddb6ffb4676a5c8faf6faac6f66444faf34c6a824c8f03"}}, {"rule": 2, "type": "equivalent", "target": "f80a99586906e281b180c32f9f1f8305", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ee2f2ab7ad29356e5dddb6ffb4676a5c8faf6faac6f66444faf34c6a824c8f03"}}, {"rule": 2, "type": "equivalent", "target": "f93cb3800fc70d52a0eaf7ac3db017d0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ee2f2ab7ad29356e5dddb6ffb4676a5c8faf6faac6f66444faf34c6a824c8f03"}}], "version": "9.1.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "0f21fd45378823224fb8cd2c35018e1d", "kind": "equivalent", "version": "9.4.1", "label": "9.4.1", "title": "Make pg_regress remove any temporary installation it created upon successful exit", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ee2f2ab7ad29356e5dddb6ffb4676a5c8faf6faac6f66444faf34c6a824c8f03"}, "url": "/docs/compare/?release=9.4.1#9.4.1-f116ef63f68e2e91", "source_url": "/docs/release/9.4.1/#AEN123581"}, {"db_id": "90cf5b9ee2356d5408f6174d793511a2", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Make pg_regress remove any temporary installation it created upon successful exit", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ee2f2ab7ad29356e5dddb6ffb4676a5c8faf6faac6f66444faf34c6a824c8f03"}, "url": "/docs/compare/?release=9.3.6#9.3.6-f116ef63f68e2e91", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "f80a99586906e281b180c32f9f1f8305", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Make pg_regress remove any temporary installation it created upon successful exit", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ee2f2ab7ad29356e5dddb6ffb4676a5c8faf6faac6f66444faf34c6a824c8f03"}, "url": "/docs/compare/?release=9.2.10#9.2.10-f116ef63f68e2e91", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "f93cb3800fc70d52a0eaf7ac3db017d0", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Make pg_regress remove any temporary installation it created upon successful exit", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ee2f2ab7ad29356e5dddb6ffb4676a5c8faf6faac6f66444faf34c6a824c8f03"}, "url": "/docs/compare/?release=9.0.19#9.0.19-f116ef63f68e2e91", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-e7903bd697407838", "cves": [], "html": "<p>Support time zone abbreviations that change UTC offset from time to time (Tom Lane)</p>\n<p>Previously, <span>PostgreSQL</span> assumed that the UTC offset associated with a time zone abbreviation (such as EST) never changes in the usage of any particular locale. However this assumption fails in the real world, so introduce the ability for a zone abbreviation to represent a UTC offset that sometimes changes. Update the zone abbreviation definition files to make use of this feature in timezone locales that have changed the UTC offset of their abbreviations since 1970 (according to the IANA timezone database). In such timezones, <span>PostgreSQL</span> will now associate the correct UTC offset with the abbreviation depending on the given date.</p>", "text": "Support time zone abbreviations that change UTC offset from time to time (Tom Lane) Previously, PostgreSQL assumed that the UTC offset associated with a time zone abbreviation (such as EST) never changes in the usage of any particular locale. However this assumption fails in the real world, so introduce the ability for a zone abbreviation to represent a UTC offset that sometimes changes. Update the zone abbreviation definition files to make use of this feature in timezone locales that have changed the UTC offset of their abbreviations since 1970 (according to the IANA timezone database). In such timezones, PostgreSQL will now associate the correct UTC offset with the abbreviation depending on the given date.", "title": "Support time zone abbreviations that change UTC offset from time to time", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "37f5837e4d94ff2d4f597952bf4e68071d256cf607472d8da905c8f70d95a36d", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Support time zone abbreviations that change UTC offset from time to time (Tom Lane) Previously, PostgreSQL assumed that the UTC offset associated with a time zone abbreviation (such as EST) never changes in the usage of any particular locale. However this assumption fails in the real world, so introduce the ability for a zone abbreviation to represent a UTC offset that sometimes changes. Update the zone abbreviation definition files to make use of this feature in timezone locales that have changed the UTC offset of their abbreviations since 1970 (according to the IANA timezone database). In such timezones, PostgreSQL will now associate the correct UTC offset with the abbreviation depending on the given date.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/058", "db_id": "f08e49dc6b542196f8383acd3b0b9c65", "patch_ids": [], "statement_hash": "a6501e3be8faaec1aef9006ff3436c99d826569caaba0e379a16ca0000209bff", "relations": [{"rule": 2, "type": "equivalent", "target": "854ddf984dcdb9921b26d5ae0ee9de60", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a6501e3be8faaec1aef9006ff3436c99d826569caaba0e379a16ca0000209bff"}}, {"rule": 2, "type": "equivalent", "target": "9231b02c97705c0ca64095e3e093c6de", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a6501e3be8faaec1aef9006ff3436c99d826569caaba0e379a16ca0000209bff"}}, {"rule": 2, "type": "equivalent", "target": "b4cdc7057684904bbb5e7ccbfa582405", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a6501e3be8faaec1aef9006ff3436c99d826569caaba0e379a16ca0000209bff"}}], "version": "9.1.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "854ddf984dcdb9921b26d5ae0ee9de60", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Support time zone abbreviations that change UTC offset from time to time", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a6501e3be8faaec1aef9006ff3436c99d826569caaba0e379a16ca0000209bff"}, "url": "/docs/compare/?release=9.3.6#9.3.6-e7903bd697407838", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "9231b02c97705c0ca64095e3e093c6de", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Support time zone abbreviations that change UTC offset from time to time", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a6501e3be8faaec1aef9006ff3436c99d826569caaba0e379a16ca0000209bff"}, "url": "/docs/compare/?release=9.2.10#9.2.10-e7903bd697407838", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "b4cdc7057684904bbb5e7ccbfa582405", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Support time zone abbreviations that change UTC offset from time to time", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a6501e3be8faaec1aef9006ff3436c99d826569caaba0e379a16ca0000209bff"}, "url": "/docs/compare/?release=9.0.19#9.0.19-e7903bd697407838", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-1ddb498d1e51e878", "cves": [], "html": "<p>Update time zone abbreviations lists (Tom Lane)</p>\n<p>Add CST (China Standard Time) to our lists. Remove references to ADT as <span>\"Arabia Daylight Time\"</span>, an abbreviation that's been out of use since 2007; therefore, claiming there is a conflict with <span>\"Atlantic Daylight Time\"</span> doesn't seem especially helpful. Fix entirely incorrect GMT offsets for CKT (Cook Islands), FJT, and FJST (Fiji); we didn't even have them on the proper side of the date line.</p>", "text": "Update time zone abbreviations lists (Tom Lane) Add CST (China Standard Time) to our lists. Remove references to ADT as \"Arabia Daylight Time\", an abbreviation that's been out of use since 2007; therefore, claiming there is a conflict with \"Atlantic Daylight Time\" doesn't seem especially helpful. Fix entirely incorrect GMT offsets for CKT (Cook Islands), FJT, and FJST (Fiji); we didn't even have them on the proper side of the date line.", "title": "Update time zone abbreviations lists", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "62eb29478137c34690e7bfb0f041a9d373272d8140386f23cf3181bd5c015219", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Update time zone abbreviations lists (Tom Lane) Add CST (China Standard Time) to our lists. Remove references to ADT as Arabia Daylight Time, an abbreviation that's been out of use since 2007; therefore, claiming there is a conflict with Atlantic Daylight Time doesn't seem especially helpful. Fix entirely incorrect GMT offsets for CKT (Cook Islands), FJT, and FJST (Fiji); we didn't even have them on the proper side of the date line.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/059", "db_id": "25cb740945059a2a5b40cb5773d4c0b1", "patch_ids": [], "statement_hash": "e01d16beb0301981dff1bb6ff34c6f2da9b0baeb108e73d27dbe4698e6b8bc4c", "relations": [{"rule": 2, "type": "equivalent", "target": "494c4fbd0c9ea7e750866c69da07da6b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e01d16beb0301981dff1bb6ff34c6f2da9b0baeb108e73d27dbe4698e6b8bc4c"}}, {"rule": 2, "type": "equivalent", "target": "92a800a5f70e680321cac35d4c4bd97e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e01d16beb0301981dff1bb6ff34c6f2da9b0baeb108e73d27dbe4698e6b8bc4c"}}, {"rule": 2, "type": "equivalent", "target": "f4166fde9bded9b1fc5f96fb69019308", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e01d16beb0301981dff1bb6ff34c6f2da9b0baeb108e73d27dbe4698e6b8bc4c"}}], "version": "9.1.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "92a800a5f70e680321cac35d4c4bd97e", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Update time zone abbreviations lists", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e01d16beb0301981dff1bb6ff34c6f2da9b0baeb108e73d27dbe4698e6b8bc4c"}, "url": "/docs/compare/?release=9.3.6#9.3.6-1ddb498d1e51e878", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "494c4fbd0c9ea7e750866c69da07da6b", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Update time zone abbreviations lists", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e01d16beb0301981dff1bb6ff34c6f2da9b0baeb108e73d27dbe4698e6b8bc4c"}, "url": "/docs/compare/?release=9.2.10#9.2.10-1ddb498d1e51e878", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "f4166fde9bded9b1fc5f96fb69019308", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Update time zone abbreviations lists", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e01d16beb0301981dff1bb6ff34c6f2da9b0baeb108e73d27dbe4698e6b8bc4c"}, "url": "/docs/compare/?release=9.0.19#9.0.19-1ddb498d1e51e878", "source_url": "/docs/release/9.0.19/#AEN99745"}]}, {"id": "9.1.15-0f5df444c0e3cb6e", "cves": [], "html": "<p>Update time zone data files to <span>tzdata</span> release 2015a.</p>\n<p>The IANA timezone database has adopted abbreviations of the form A<i>x</i>ST/A<i>x</i>DT for all Australian time zones, reflecting what they believe to be current majority practice Down Under. These names do not conflict with usage elsewhere (other than ACST for Acre Summer Time, which has been in disuse since 1994). Accordingly, adopt these names into our <span>\"Default\"</span> timezone abbreviation set. The <span>\"Australia\"</span> abbreviation set now contains only CST, EAST, EST, SAST, SAT, and WST, all of which are thought to be mostly historical usage. Note that SAST has also been changed to be South Africa Standard Time in the <span>\"Default\"</span> abbreviation set.</p>\n<p>Also, add zone abbreviations SRET (Asia/Srednekolymsk) and XJT (Asia/Urumqi), and use WSST/WSDT for western Samoa. Also, there were DST law changes in Chile, Mexico, the Turks &amp; Caicos Islands (America/Grand_Turk), and Fiji. There is a new zone Pacific/Bougainville for portions of Papua New Guinea. Also, numerous corrections for historical (pre-1970) time zone data.</p>", "text": "Update time zone data files to tzdata release 2015a. The IANA timezone database has adopted abbreviations of the form AxST/AxDT for all Australian time zones, reflecting what they believe to be current majority practice Down Under. These names do not conflict with usage elsewhere (other than ACST for Acre Summer Time, which has been in disuse since 1994). Accordingly, adopt these names into our \"Default\" timezone abbreviation set. The \"Australia\" abbreviation set now contains only CST, EAST, EST, SAST, SAT, and WST, all of which are thought to be mostly historical usage. Note that SAST has also been changed to be South Africa Standard Time in the \"Default\" abbreviation set. Also, add zone abbreviations SRET (Asia/Srednekolymsk) and XJT (Asia/Urumqi), and use WSST/WSDT for western Samoa. Also, there were DST law changes in Chile, Mexico, the Turks & Caicos Islands (America/Grand_Turk), and Fiji. There is a new zone Pacific/Bougainville for portions of Papua New Guinea. Also, numerous corrections for historical (pre-1970) time zone data.", "title": "Update time zone data files to tzdata release 2015a.", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.1.15/#AEN108024", "source_hash": "83e5ecb974e959239ee6a7726116927441ffa698206fe7f5b4a8c88068ac90d4", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Update time zone data files to tzdata release 2015a. The IANA timezone database has adopted abbreviations of the form AxST/AxDT for all Australian time zones, reflecting what they believe to be current majority practice Down Under. These names do not conflict with usage elsewhere (other than ACST for Acre Summer Time, which has been in disuse since 1994). Accordingly, adopt these names into our Default timezone abbreviation set. The Australia abbreviation set now contains only CST, EAST, EST, SAST, SAT, and WST, all of which are thought to be mostly historical usage. Note that SAST has also been changed to be South Africa Standard Time in the Default abbreviation set. Also, add zone abbreviations SRET (Asia/Srednekolymsk) and XJT (Asia/Urumqi), and use WSST/WSDT for western Samoa. Also, there were DST law changes in Chile, Mexico, the Turks & Caicos Islands (America/Grand_Turk), and Fiji. There is a new zone Pacific/Bougainville for portions of Papua New Guinea. Also, numerous corrections for historical (pre-1970) time zone data.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.1.15/changes/060", "db_id": "4fd9baa5e7f7c8b8ac2b40971340517c", "patch_ids": [], "statement_hash": "e6fa98831ae8effbbe330002e232775d03710e117ba2b88169925b7e86f63346", "relations": [{"rule": 2, "type": "equivalent", "target": "1bea67b9bb186fcda99a837258183e3c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e6fa98831ae8effbbe330002e232775d03710e117ba2b88169925b7e86f63346"}}, {"rule": 2, "type": "equivalent", "target": "3e80abb929ccd280ce8be6e8d43d4b7b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e6fa98831ae8effbbe330002e232775d03710e117ba2b88169925b7e86f63346"}}, {"rule": 2, "type": "equivalent", "target": "87ee59fa9d13e6f01840f0900a31de50", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e6fa98831ae8effbbe330002e232775d03710e117ba2b88169925b7e86f63346"}}], "version": "9.1.15", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "87ee59fa9d13e6f01840f0900a31de50", "kind": "equivalent", "version": "9.3.6", "label": "9.3.6", "title": "Update time zone data files to tzdata release 2015a.", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e6fa98831ae8effbbe330002e232775d03710e117ba2b88169925b7e86f63346"}, "url": "/docs/compare/?release=9.3.6#9.3.6-0f5df444c0e3cb6e", "source_url": "/docs/release/9.3.6/#AEN117727"}, {"db_id": "1bea67b9bb186fcda99a837258183e3c", "kind": "equivalent", "version": "9.2.10", "label": "9.2.10", "title": "Update time zone data files to tzdata release 2015a.", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e6fa98831ae8effbbe330002e232775d03710e117ba2b88169925b7e86f63346"}, "url": "/docs/compare/?release=9.2.10#9.2.10-0f5df444c0e3cb6e", "source_url": "/docs/release/9.2.10/#AEN112547"}, {"db_id": "3e80abb929ccd280ce8be6e8d43d4b7b", "kind": "equivalent", "version": "9.0.19", "label": "9.0.19", "title": "Update time zone data files to tzdata release 2015a.", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e6fa98831ae8effbbe330002e232775d03710e117ba2b88169925b7e86f63346"}, "url": "/docs/compare/?release=9.0.19#9.0.19-0f5df444c0e3cb6e", "source_url": "/docs/release/9.0.19/#AEN99745"}]}]}], "stats": [{"key": "all", "label": "All changes", "count": 60}, {"key": "feature", "label": "Features", "count": 0}, {"key": "bugfix", "label": "Bug fixes", "count": 26}, {"key": "security", "label": "Security", "count": 6}, {"key": "performance", "label": "Performance", "count": 1}, {"key": "compatibility", "label": "Compatibility", "count": 0}, {"key": "improvement", "label": "Improvements", "count": 27}], "total": 60, "release_count": 1, "cross_major": false, "cve_count": 6, "cves": [{"id": "CVE-2015-0244", "url": "https://www.postgresql.org/support/security/CVE-2015-0244/", "fixed": {"9.0": "9.0.19", "9.1": "9.1.15", "9.2": "9.2.10", "9.3": "9.3.6", "9.4": "9.4.1"}, "score": 8.1, "title": "Fix possible loss of frontend/backend protocol synchronization after an error", "vector": "AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H", "affected": {"9.0": "9.0", "9.1": "9.1", "9.2": "9.2", "9.3": "9.3", "9.4": "9.4"}, "component": "core server", "published": {"9.0": "2015-02-05", "9.1": "2015-02-05", "9.2": "2015-02-05", "9.3": "2015-02-05", "9.4": "2015-02-05"}, "introduced": {}, "cvss_version": "3.0", "description_en": "", "first_published": "2015-02-05", "fixed_version": "9.1.15"}, {"id": "CVE-2014-0067", "url": "https://www.postgresql.org/support/security/CVE-2014-0067/", "fixed": {"9.0": "9.0.19", "9.1": "9.1.15", "9.2": "9.2.10", "9.3": "9.3.6", "9.4": "9.4.1"}, "score": 7.0, "title": "Lock down regression testing's temporary installations on Windows", "vector": "AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H", "affected": {"9.0": "9.0", "9.1": "9.1", "9.2": "9.2", "9.3": "9.3", "9.4": "9.4"}, "component": "other", "published": {}, "introduced": {}, "cvss_version": "3.0", "description_en": "", "first_published": null, "fixed_version": "9.1.15"}, {"id": "CVE-2015-0243", "url": "https://www.postgresql.org/support/security/CVE-2015-0243/", "fixed": {"9.0": "9.0.19", "9.1": "9.1.15", "9.2": "9.2.10", "9.3": "9.3.6", "9.4": "9.4.1"}, "score": 6.5, "title": "Fix buffer overruns in contrib/pgcrypto", "vector": "AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:H", "affected": {"9.0": "9.0", "9.1": "9.1", "9.2": "9.2", "9.3": "9.3", "9.4": "9.4"}, "component": "contrib module", "published": {"9.0": "2015-02-05", "9.1": "2015-02-05", "9.2": "2015-02-05", "9.3": "2015-02-05", "9.4": "2015-02-05"}, "introduced": {}, "cvss_version": "3.0", "description_en": "", "first_published": "2015-02-05", "fixed_version": "9.1.15"}, {"id": "CVE-2015-0242", "url": "https://www.postgresql.org/support/security/CVE-2015-0242/", "fixed": {"9.0": "9.0.19", "9.1": "9.1.15", "9.2": "9.2.10", "9.3": "9.3.6", "9.4": "9.4.1"}, "score": 4.2, "title": "Fix buffer overrun in replacement *printf() functions", "vector": "AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N", "affected": {"9.0": "9.0", "9.1": "9.1", "9.2": "9.2", "9.3": "9.3", "9.4": "9.4"}, "component": "core server", "published": {"9.0": "2015-02-05", "9.1": "2015-02-05", "9.2": "2015-02-05", "9.3": "2015-02-05", "9.4": "2015-02-05"}, "introduced": {}, "cvss_version": "3.0", "description_en": "", "first_published": "2015-02-05", "fixed_version": "9.1.15"}, {"id": "CVE-2015-0241", "url": "https://www.postgresql.org/support/security/CVE-2015-0241/", "fixed": {"9.0": "9.0.19", "9.1": "9.1.15", "9.2": "9.2.10", "9.3": "9.3.6", "9.4": "9.4.1"}, "score": 4.2, "title": "Fix buffer overruns in to_char()", "vector": "AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N", "affected": {"9.0": "9.0", "9.1": "9.1", "9.2": "9.2", "9.3": "9.3", "9.4": "9.4"}, "component": "core server", "published": {"9.0": "2015-02-05", "9.1": "2015-02-05", "9.2": "2015-02-05", "9.3": "2015-02-05", "9.4": "2015-02-05"}, "introduced": {}, "cvss_version": "3.0", "description_en": "", "first_published": "2015-02-05", "fixed_version": "9.1.15"}, {"id": "CVE-2014-8161", "url": "https://www.postgresql.org/support/security/CVE-2014-8161/", "fixed": {"9.0": "9.0.19", "9.1": "9.1.15", "9.2": "9.2.10", "9.3": "9.3.6", "9.4": "9.4.1"}, "score": 3.1, "title": "Fix information leak via constraint-violation error messages", "vector": "AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N", "affected": {"9.0": "9.0", "9.1": "9.1", "9.2": "9.2", "9.3": "9.3", "9.4": "9.4"}, "component": "core server", "published": {}, "introduced": {}, "cvss_version": "3.0", "description_en": "", "first_published": null, "fixed_version": "9.1.15"}], "cve_available": true, "remaining_cves": [], "security_regressions": [], "warnings": [], "candidate_count": 60, "already_in_source_count": 0, "duplicate_count": 0, "excluded_count": 0, "exclusions": [], "source_as_of": "2026-09-26", "security_as_of": "2026-09-26"}