{"format": 1, "mode": "release", "from_release": null, "to_release": {"date": "2013-02-07", "build": "9.0.12", "major": "9.0", "minor": 12, "manual": "9.0", "status": "stable", "doc_git": "", "version": "9.0.12", "eol_date": "2015-10-08", "date_text": "2013-02-07", "supported": false, "manual_url": "/docs/9.0/release-9-0-12.html", "source_url": "/docs/release/9.0.12/", "entry_count": 23, "placeholder": false, "content_hash": "bd29a1a7f457dfc44968fc92dffb298319887c668e3e4baff5f815d46e694abf", "manual_build": "9.0.23", "source_as_of": "", "changes_count": 23, "doc_loaded_at": "2026-09-25T02:22:44.760693", "migration_html": "<p>A dump/restore is not required for those running 9.0.X.</p>\n<p>However, if you are upgrading from a version earlier than 9.0.6, see <a href=\"/docs/9.0/release-9-0-6.html\">Section E.18</a>.</p>", "compatibility_count": 0, "label": "9.0.12", "status_label": "Historical", "eol": "2015-10-08", "age_days": 4982, "support_days": -4009}, "groups": [{"date": "2013-02-07", "build": "9.0.12", "major": "9.0", "minor": 12, "manual": "9.0", "status": "stable", "doc_git": "", "version": "9.0.12", "eol_date": "2015-10-08", "date_text": "2013-02-07", "supported": false, "manual_url": "/docs/9.0/release-9-0-12.html", "source_url": "/docs/release/9.0.12/", "entry_count": 23, "placeholder": false, "content_hash": "bd29a1a7f457dfc44968fc92dffb298319887c668e3e4baff5f815d46e694abf", "manual_build": "9.0.23", "source_as_of": "", "changes_count": 23, "doc_loaded_at": "2026-09-25T02:22:44.760693", "migration_html": "<p>A dump/restore is not required for those running 9.0.X.</p>\n<p>However, if you are upgrading from a version earlier than 9.0.6, see <a href=\"/docs/9.0/release-9-0-6.html\">Section E.18</a>.</p>", "compatibility_count": 0, "label": "9.0.12", "status_label": "Historical", "eol": "2015-10-08", "age_days": 4982, "support_days": -4009, "entries": [{"id": "9.0.12-7ddd7fc10c7cce6e", "cves": ["CVE-2013-0255"], "html": "<p>Prevent execution of <code>enum_recv</code> from SQL (Tom Lane)</p>\n<p>The function was misdeclared, allowing a simple SQL command to crash the server. In principle an attacker might be able to use it to examine the contents of server memory. Our thanks to Sumit Soni (via Secunia SVCRP) for reporting this issue. (CVE-2013-0255)</p>", "text": "Prevent execution of enum_recv from SQL (Tom Lane) The function was misdeclared, allowing a simple SQL command to crash the server. In principle an attacker might be able to use it to examine the contents of server memory. Our thanks to Sumit Soni (via Secunia SVCRP) for reporting this issue. (CVE-2013-0255)", "title": "Prevent execution of enum_recv from SQL", "commits": [], "section": "Changes", "category": "security", "source_url": "/docs/release/9.0.12/#AEN100734", "source_hash": "a6b3429df40917e804ae9f3df02667745382dc8e344f06fc0212a4d806fbf864", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Prevent execution of enum_recv from SQL (Tom Lane) The function was misdeclared, allowing a simple SQL command to crash the server. In principle an attacker might be able to use it to examine the contents of server memory. Our thanks to Sumit Soni (via Secunia SVCRP) for reporting this issue. (CVE-2013-0255)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.12/changes/001", "db_id": "3e2c12362d5d790ac381850df41ba0d4", "patch_ids": [], "statement_hash": "8018138401c4605fd69a4015bbddab1708da0a341d9b5372ef38bd70bef6e31e", "relations": [{"rule": 2, "type": "equivalent", "target": "4221aaac3275bb1ce0907871e741ff8e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8018138401c4605fd69a4015bbddab1708da0a341d9b5372ef38bd70bef6e31e"}}, {"rule": 2, "type": "equivalent", "target": "e4073a2043e993fe80ee86d66eaf52c3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8018138401c4605fd69a4015bbddab1708da0a341d9b5372ef38bd70bef6e31e"}}], "version": "9.0.12", "category_label": "Security", "also_in": [], "variants": [], "related_changes": [{"db_id": "e4073a2043e993fe80ee86d66eaf52c3", "kind": "equivalent", "version": "9.2.3", "label": "9.2.3", "title": "Prevent execution of enum_recv from SQL", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8018138401c4605fd69a4015bbddab1708da0a341d9b5372ef38bd70bef6e31e"}, "url": "/docs/compare/?release=9.2.3#9.2.3-7ddd7fc10c7cce6e", "source_url": "/docs/release/9.2.3/#AEN113847"}, {"db_id": "4221aaac3275bb1ce0907871e741ff8e", "kind": "equivalent", "version": "9.1.8", "label": "9.1.8", "title": "Prevent execution of enum_recv from SQL", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8018138401c4605fd69a4015bbddab1708da0a341d9b5372ef38bd70bef6e31e"}, "url": "/docs/compare/?release=9.1.8#9.1.8-7ddd7fc10c7cce6e", "source_url": "/docs/release/9.1.8/#AEN109130"}]}, {"id": "9.0.12-4d71c164d895b752", "cves": [], "html": "<p>Fix multiple problems in detection of when a consistent database state has been reached during WAL replay (Fujii Masao, Heikki Linnakangas, Simon Riggs, Andres Freund)</p>", "text": "Fix multiple problems in detection of when a consistent database state has been reached during WAL replay (Fujii Masao, Heikki Linnakangas, Simon Riggs, Andres Freund)", "title": "Fix multiple problems in detection of when a consistent database state has been reached during WAL replay", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.0.12/#AEN100734", "source_hash": "d2a1de107ada35245453aa44fcff32b17449af03a1e931c9baa08b66d5f28029", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix multiple problems in detection of when a consistent database state has been reached during WAL replay (Fujii Masao, Heikki Linnakangas, Simon Riggs, Andres Freund)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.12/changes/002", "db_id": "3ef43a101b38a8f7bcd2f8fcd43c625b", "patch_ids": [], "statement_hash": "5bcb0538e465c57e132664b1fe18882dc87dd6b8088f72c9541a72b30c63499d", "relations": [{"rule": 2, "type": "equivalent", "target": "fadb263785b5197f9c4077e21ddd41bd", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5bcb0538e465c57e132664b1fe18882dc87dd6b8088f72c9541a72b30c63499d"}}, {"rule": 2, "type": "equivalent", "target": "fdaa210137246825261db30f9a6f36f5", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5bcb0538e465c57e132664b1fe18882dc87dd6b8088f72c9541a72b30c63499d"}}], "version": "9.0.12", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "fdaa210137246825261db30f9a6f36f5", "kind": "equivalent", "version": "9.2.3", "label": "9.2.3", "title": "Fix multiple problems in detection of when a consistent database state has been reached during WAL replay", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5bcb0538e465c57e132664b1fe18882dc87dd6b8088f72c9541a72b30c63499d"}, "url": "/docs/compare/?release=9.2.3#9.2.3-4d71c164d895b752", "source_url": "/docs/release/9.2.3/#AEN113847"}, {"db_id": "fadb263785b5197f9c4077e21ddd41bd", "kind": "equivalent", "version": "9.1.8", "label": "9.1.8", "title": "Fix multiple problems in detection of when a consistent database state has been reached during WAL replay", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5bcb0538e465c57e132664b1fe18882dc87dd6b8088f72c9541a72b30c63499d"}, "url": "/docs/compare/?release=9.1.8#9.1.8-4d71c164d895b752", "source_url": "/docs/release/9.1.8/#AEN109130"}]}, {"id": "9.0.12-1958df596fa3fad4", "cves": [], "html": "<p>Update minimum recovery point when truncating a relation file (Heikki Linnakangas)</p>\n<p>Once data has been discarded, it's no longer safe to stop recovery at an earlier point in the timeline.</p>", "text": "Update minimum recovery point when truncating a relation file (Heikki Linnakangas) Once data has been discarded, it's no longer safe to stop recovery at an earlier point in the timeline.", "title": "Update minimum recovery point when truncating a relation file", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.0.12/#AEN100734", "source_hash": "a19081b86e225c7e1f77e7a07bede0f90b47c18b9bef0e8de5fb02a87b49c0d0", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Update minimum recovery point when truncating a relation file (Heikki Linnakangas) Once data has been discarded, it's no longer safe to stop recovery at an earlier point in the timeline.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.12/changes/003", "db_id": "2429e8033349c37ddbdf001d05122236", "patch_ids": [], "statement_hash": "b238a16c4484b5e1ebde5f1462c1da23e79e4b0922fd4628fded093e4cefb1fe", "relations": [{"rule": 2, "type": "equivalent", "target": "a2897187973796aa1f3cb5aaf9592aea", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b238a16c4484b5e1ebde5f1462c1da23e79e4b0922fd4628fded093e4cefb1fe"}}, {"rule": 2, "type": "equivalent", "target": "f08672018f8003de3ab8249659f9d52c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b238a16c4484b5e1ebde5f1462c1da23e79e4b0922fd4628fded093e4cefb1fe"}}], "version": "9.0.12", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "a2897187973796aa1f3cb5aaf9592aea", "kind": "equivalent", "version": "9.2.3", "label": "9.2.3", "title": "Update minimum recovery point when truncating a relation file", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b238a16c4484b5e1ebde5f1462c1da23e79e4b0922fd4628fded093e4cefb1fe"}, "url": "/docs/compare/?release=9.2.3#9.2.3-1958df596fa3fad4", "source_url": "/docs/release/9.2.3/#AEN113847"}, {"db_id": "f08672018f8003de3ab8249659f9d52c", "kind": "equivalent", "version": "9.1.8", "label": "9.1.8", "title": "Update minimum recovery point when truncating a relation file", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b238a16c4484b5e1ebde5f1462c1da23e79e4b0922fd4628fded093e4cefb1fe"}, "url": "/docs/compare/?release=9.1.8#9.1.8-1958df596fa3fad4", "source_url": "/docs/release/9.1.8/#AEN109130"}]}, {"id": "9.0.12-3bfc2bd529780922", "cves": [], "html": "<p>Fix missing cancellations in hot standby mode (Noah Misch, Simon Riggs)</p>\n<p>The need to cancel conflicting hot-standby queries would sometimes be missed, allowing those queries to see inconsistent data.</p>", "text": "Fix missing cancellations in hot standby mode (Noah Misch, Simon Riggs) The need to cancel conflicting hot-standby queries would sometimes be missed, allowing those queries to see inconsistent data.", "title": "Fix missing cancellations in hot standby mode", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.0.12/#AEN100734", "source_hash": "396803c519b895fe106e82514c6a553be7f6eca24f44f97f9be044c28c2b7aed", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix missing cancellations in hot standby mode (Noah Misch, Simon Riggs) The need to cancel conflicting hot-standby queries would sometimes be missed, allowing those queries to see inconsistent data.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.12/changes/004", "db_id": "ab59487cc20954116d3a7c00f88d6c0b", "patch_ids": [], "statement_hash": "29691cf096ef2b8f7772c0c1a88f12b6a33a9b74c22e16511a5504c941ef3faf", "relations": [{"rule": 2, "type": "equivalent", "target": "1c332c471d743826c8bbd21e8da0f88b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "29691cf096ef2b8f7772c0c1a88f12b6a33a9b74c22e16511a5504c941ef3faf"}}, {"rule": 2, "type": "equivalent", "target": "fdb7b6975ab326ff1a56eb83c39c639b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "29691cf096ef2b8f7772c0c1a88f12b6a33a9b74c22e16511a5504c941ef3faf"}}], "version": "9.0.12", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "1c332c471d743826c8bbd21e8da0f88b", "kind": "equivalent", "version": "9.2.3", "label": "9.2.3", "title": "Fix missing cancellations in hot standby mode", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "29691cf096ef2b8f7772c0c1a88f12b6a33a9b74c22e16511a5504c941ef3faf"}, "url": "/docs/compare/?release=9.2.3#9.2.3-3bfc2bd529780922", "source_url": "/docs/release/9.2.3/#AEN113847"}, {"db_id": "fdb7b6975ab326ff1a56eb83c39c639b", "kind": "equivalent", "version": "9.1.8", "label": "9.1.8", "title": "Fix missing cancellations in hot standby mode", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "29691cf096ef2b8f7772c0c1a88f12b6a33a9b74c22e16511a5504c941ef3faf"}, "url": "/docs/compare/?release=9.1.8#9.1.8-3bfc2bd529780922", "source_url": "/docs/release/9.1.8/#AEN109130"}]}, {"id": "9.0.12-045d7e431d6bbdb8", "cves": [], "html": "<p>Fix SQL grammar to allow subscripting or field selection from a sub-SELECT result (Tom Lane)</p>", "text": "Fix SQL grammar to allow subscripting or field selection from a sub-SELECT result (Tom Lane)", "title": "Fix SQL grammar to allow subscripting or field selection from a sub-SELECT result", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.0.12/#AEN100734", "source_hash": "148f9632eda6ffb3bf75bbdc9d4d413a00ea6b27fdddb6f5cec7d4db82c5b60a", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix SQL grammar to allow subscripting or field selection from a sub-SELECT result (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.12/changes/005", "db_id": "39aafb0dd7097f163535b703f0bb8fa0", "patch_ids": [], "statement_hash": "bd01a0fa0aae935547790272a58548938856e616c9f336714db28f524b5c676d", "relations": [{"rule": 2, "type": "equivalent", "target": "895374fe22ae5293bb5f8959e25772e8", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bd01a0fa0aae935547790272a58548938856e616c9f336714db28f524b5c676d"}}, {"rule": 2, "type": "equivalent", "target": "c172c281ebf7ef05d7151ba47e04c582", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bd01a0fa0aae935547790272a58548938856e616c9f336714db28f524b5c676d"}}], "version": "9.0.12", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "c172c281ebf7ef05d7151ba47e04c582", "kind": "equivalent", "version": "9.2.3", "label": "9.2.3", "title": "Fix SQL grammar to allow subscripting or field selection from a sub-SELECT result", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bd01a0fa0aae935547790272a58548938856e616c9f336714db28f524b5c676d"}, "url": "/docs/compare/?release=9.2.3#9.2.3-045d7e431d6bbdb8", "source_url": "/docs/release/9.2.3/#AEN113847"}, {"db_id": "895374fe22ae5293bb5f8959e25772e8", "kind": "equivalent", "version": "9.1.8", "label": "9.1.8", "title": "Fix SQL grammar to allow subscripting or field selection from a sub-SELECT result", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bd01a0fa0aae935547790272a58548938856e616c9f336714db28f524b5c676d"}, "url": "/docs/compare/?release=9.1.8#9.1.8-045d7e431d6bbdb8", "source_url": "/docs/release/9.1.8/#AEN109130"}]}, {"id": "9.0.12-0cb8f7657a2c49b1", "cves": [], "html": "<p>Fix performance problems with autovacuum truncation in busy workloads (Jan Wieck)</p>\n<p>Truncation of empty pages at the end of a table requires exclusive lock, but autovacuum was coded to fail (and release the table lock) when there are conflicting lock requests. Under load, it is easily possible that truncation would never occur, resulting in table bloat. Fix by performing a partial truncation, releasing the lock, then attempting to re-acquire the lock and continue. This fix also greatly reduces the average time before autovacuum releases the lock after a conflicting request arrives.</p>", "text": "Fix performance problems with autovacuum truncation in busy workloads (Jan Wieck) Truncation of empty pages at the end of a table requires exclusive lock, but autovacuum was coded to fail (and release the table lock) when there are conflicting lock requests. Under load, it is easily possible that truncation would never occur, resulting in table bloat. Fix by performing a partial truncation, releasing the lock, then attempting to re-acquire the lock and continue. This fix also greatly reduces the average time before autovacuum releases the lock after a conflicting request arrives.", "title": "Fix performance problems with autovacuum truncation in busy workloads", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.0.12/#AEN100734", "source_hash": "a783d1fc824a4b1541252431039f7f3c7b846d5559c86a17852ffe205b266154", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix performance problems with autovacuum truncation in busy workloads (Jan Wieck) Truncation of empty pages at the end of a table requires exclusive lock, but autovacuum was coded to fail (and release the table lock) when there are conflicting lock requests. Under load, it is easily possible that truncation would never occur, resulting in table bloat. Fix by performing a partial truncation, releasing the lock, then attempting to re-acquire the lock and continue. This fix also greatly reduces the average time before autovacuum releases the lock after a conflicting request arrives.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.12/changes/006", "db_id": "3d37c1cba00aaff6d71eb9162c03d0a4", "patch_ids": [], "statement_hash": "875ccfe31c156a689602f0b94b37996e94934844623d1dc53baaeb2f3f262707", "relations": [{"rule": 2, "type": "equivalent", "target": "54219d51cf8c2a51712e6c63125aa984", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "875ccfe31c156a689602f0b94b37996e94934844623d1dc53baaeb2f3f262707"}}, {"rule": 2, "type": "equivalent", "target": "ff055e53d870d7dc5b5d43ba36306047", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "875ccfe31c156a689602f0b94b37996e94934844623d1dc53baaeb2f3f262707"}}], "version": "9.0.12", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "54219d51cf8c2a51712e6c63125aa984", "kind": "equivalent", "version": "9.2.3", "label": "9.2.3", "title": "Fix performance problems with autovacuum truncation in busy workloads", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "875ccfe31c156a689602f0b94b37996e94934844623d1dc53baaeb2f3f262707"}, "url": "/docs/compare/?release=9.2.3#9.2.3-0cb8f7657a2c49b1", "source_url": "/docs/release/9.2.3/#AEN113847"}, {"db_id": "ff055e53d870d7dc5b5d43ba36306047", "kind": "equivalent", "version": "9.1.8", "label": "9.1.8", "title": "Fix performance problems with autovacuum truncation in busy workloads", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "875ccfe31c156a689602f0b94b37996e94934844623d1dc53baaeb2f3f262707"}, "url": "/docs/compare/?release=9.1.8#9.1.8-0cb8f7657a2c49b1", "source_url": "/docs/release/9.1.8/#AEN109130"}]}, {"id": "9.0.12-e66cf0eadcfcfaae", "cves": [], "html": "<p>Protect against race conditions when scanning pg_tablespace (Stephen Frost, Tom Lane)</p>\n<p>CREATE DATABASE and DROP DATABASE could misbehave if there were concurrent updates of pg_tablespace entries.</p>", "text": "Protect against race conditions when scanning pg_tablespace (Stephen Frost, Tom Lane) CREATE DATABASE and DROP DATABASE could misbehave if there were concurrent updates of pg_tablespace entries.", "title": "Protect against race conditions when scanning pg_tablespace", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.0.12/#AEN100734", "source_hash": "5ff82aa81813c538b10c1e7b22a4bf18e141a16b9c995ffce967c2ecb9fcc4b4", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Protect against race conditions when scanning pg_tablespace (Stephen Frost, Tom Lane) CREATE DATABASE and DROP DATABASE could misbehave if there were concurrent updates of pg_tablespace entries.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.12/changes/007", "db_id": "2f381663c3a7a7bdd131d724a1a19a0e", "patch_ids": [], "statement_hash": "f461ffca2349ac9eb5575bef8efe8af6be2c265a65f284d9e5e825a49f3cdae2", "relations": [{"rule": 2, "type": "equivalent", "target": "4124539c48cb4ae98e125ea6487e211e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f461ffca2349ac9eb5575bef8efe8af6be2c265a65f284d9e5e825a49f3cdae2"}}, {"rule": 2, "type": "equivalent", "target": "94f35d956572a282768b13ff3370ea5b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f461ffca2349ac9eb5575bef8efe8af6be2c265a65f284d9e5e825a49f3cdae2"}}], "version": "9.0.12", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "4124539c48cb4ae98e125ea6487e211e", "kind": "equivalent", "version": "9.2.3", "label": "9.2.3", "title": "Protect against race conditions when scanning pg_tablespace", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f461ffca2349ac9eb5575bef8efe8af6be2c265a65f284d9e5e825a49f3cdae2"}, "url": "/docs/compare/?release=9.2.3#9.2.3-e66cf0eadcfcfaae", "source_url": "/docs/release/9.2.3/#AEN113847"}, {"db_id": "94f35d956572a282768b13ff3370ea5b", "kind": "equivalent", "version": "9.1.8", "label": "9.1.8", "title": "Protect against race conditions when scanning pg_tablespace", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f461ffca2349ac9eb5575bef8efe8af6be2c265a65f284d9e5e825a49f3cdae2"}, "url": "/docs/compare/?release=9.1.8#9.1.8-e66cf0eadcfcfaae", "source_url": "/docs/release/9.1.8/#AEN109130"}]}, {"id": "9.0.12-4b068c0991eb5650", "cves": [], "html": "<p>Prevent DROP OWNED from trying to drop whole databases or tablespaces (Álvaro Herrera)</p>\n<p>For safety, ownership of these objects must be reassigned, not dropped.</p>", "text": "Prevent DROP OWNED from trying to drop whole databases or tablespaces (Álvaro Herrera) For safety, ownership of these objects must be reassigned, not dropped.", "title": "Prevent DROP OWNED from trying to drop whole databases or tablespaces", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.0.12/#AEN100734", "source_hash": "d9c83aaab2e664a263f83f14c989c447b35b6d1deae3f9eab497191c19eb25e1", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Prevent DROP OWNED from trying to drop whole databases or tablespaces (Álvaro Herrera) For safety, ownership of these objects must be reassigned, not dropped.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.12/changes/008", "db_id": "91872261cc4f61e151e9a7d0ad8c8923", "patch_ids": [], "statement_hash": "14ac52f7c4085a31a2f64a07f6bcff3dc98a49399939b3110e5e00c4fb9d7597", "relations": [{"rule": 2, "type": "equivalent", "target": "4591577da65e3adbae050099c8f44547", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "14ac52f7c4085a31a2f64a07f6bcff3dc98a49399939b3110e5e00c4fb9d7597"}}, {"rule": 2, "type": "equivalent", "target": "fd69836f756ccf7e773d19a70c716b6f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "14ac52f7c4085a31a2f64a07f6bcff3dc98a49399939b3110e5e00c4fb9d7597"}}], "version": "9.0.12", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "fd69836f756ccf7e773d19a70c716b6f", "kind": "equivalent", "version": "9.2.3", "label": "9.2.3", "title": "Prevent DROP OWNED from trying to drop whole databases or tablespaces", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "14ac52f7c4085a31a2f64a07f6bcff3dc98a49399939b3110e5e00c4fb9d7597"}, "url": "/docs/compare/?release=9.2.3#9.2.3-4b068c0991eb5650", "source_url": "/docs/release/9.2.3/#AEN113847"}, {"db_id": "4591577da65e3adbae050099c8f44547", "kind": "equivalent", "version": "9.1.8", "label": "9.1.8", "title": "Prevent DROP OWNED from trying to drop whole databases or tablespaces", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "14ac52f7c4085a31a2f64a07f6bcff3dc98a49399939b3110e5e00c4fb9d7597"}, "url": "/docs/compare/?release=9.1.8#9.1.8-4b068c0991eb5650", "source_url": "/docs/release/9.1.8/#AEN109130"}]}, {"id": "9.0.12-cce3549773f6bb6b", "cves": [], "html": "<p>Fix error in <a href=\"/docs/9.0/runtime-config-client.html#GUC-VACUUM-FREEZE-TABLE-AGE\">vacuum_freeze_table_age</a> implementation (Andres Freund)</p>\n<p>In installations that have existed for more than <a href=\"/docs/9.0/runtime-config-client.html#GUC-VACUUM-FREEZE-MIN-AGE\">vacuum_freeze_min_age</a> transactions, this mistake prevented autovacuum from using partial-table scans, so that a full-table scan would always happen instead.</p>", "text": "Fix error in vacuum_freeze_table_age implementation (Andres Freund) In installations that have existed for more than vacuum_freeze_min_age transactions, this mistake prevented autovacuum from using partial-table scans, so that a full-table scan would always happen instead.", "title": "Fix error in vacuum_freeze_table_age implementation", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.0.12/#AEN100734", "source_hash": "4555198b984fe48b89f4f07b3dea7e6b589716d32762b4bc23edd9b6a1220b79", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix error in vacuum_freeze_table_age implementation (Andres Freund) In installations that have existed for more than vacuum_freeze_min_age transactions, this mistake prevented autovacuum from using partial-table scans, so that a full-table scan would always happen instead.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.12/changes/009", "db_id": "9d4f22a0dc36ff7537a2941b36c17cda", "patch_ids": [], "statement_hash": "31737a66953407683721d550c53a8505df249a78ff018e38154783e9a292a10d", "relations": [{"rule": 2, "type": "equivalent", "target": "45ba7a11d967e4a207296b4efecc0632", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "31737a66953407683721d550c53a8505df249a78ff018e38154783e9a292a10d"}}, {"rule": 2, "type": "equivalent", "target": "8143e55d91b5a9a1e07cd5db3b0829b6", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "31737a66953407683721d550c53a8505df249a78ff018e38154783e9a292a10d"}}], "version": "9.0.12", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "8143e55d91b5a9a1e07cd5db3b0829b6", "kind": "equivalent", "version": "9.2.3", "label": "9.2.3", "title": "Fix error in vacuum_freeze_table_age implementation", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "31737a66953407683721d550c53a8505df249a78ff018e38154783e9a292a10d"}, "url": "/docs/compare/?release=9.2.3#9.2.3-cce3549773f6bb6b", "source_url": "/docs/release/9.2.3/#AEN113847"}, {"db_id": "45ba7a11d967e4a207296b4efecc0632", "kind": "equivalent", "version": "9.1.8", "label": "9.1.8", "title": "Fix error in vacuum_freeze_table_age implementation", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "31737a66953407683721d550c53a8505df249a78ff018e38154783e9a292a10d"}, "url": "/docs/compare/?release=9.1.8#9.1.8-cce3549773f6bb6b", "source_url": "/docs/release/9.1.8/#AEN109130"}]}, {"id": "9.0.12-ac34bf2d449debbe", "cves": [], "html": "<p>Prevent misbehavior when a RowExpr or XmlExpr is parse-analyzed twice (Andres Freund, Tom Lane)</p>\n<p>This mistake could be user-visible in contexts such as CREATE TABLE LIKE INCLUDING INDEXES.</p>", "text": "Prevent misbehavior when a RowExpr or XmlExpr is parse-analyzed twice (Andres Freund, Tom Lane) This mistake could be user-visible in contexts such as CREATE TABLE LIKE INCLUDING INDEXES.", "title": "Prevent misbehavior when a RowExpr or XmlExpr is parse-analyzed twice", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.0.12/#AEN100734", "source_hash": "0542ad2f0bc683d8c5f6a898fc67cf88873f388584ab6e81f145d165697589a5", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Prevent misbehavior when a RowExpr or XmlExpr is parse-analyzed twice (Andres Freund, Tom Lane) This mistake could be user-visible in contexts such as CREATE TABLE LIKE INCLUDING INDEXES.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.12/changes/010", "db_id": "055a5e4dfa780543619f924473d914a2", "patch_ids": [], "statement_hash": "2447d16e3a70a94c93e81ceadfeb4a1621775052861bb147afdaf2c0010afcbc", "relations": [{"rule": 2, "type": "equivalent", "target": "26657ea883bf7500ee7cb741c6b4aea6", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2447d16e3a70a94c93e81ceadfeb4a1621775052861bb147afdaf2c0010afcbc"}}, {"rule": 2, "type": "equivalent", "target": "a845baa996857f87eee3efa1ce1336a8", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2447d16e3a70a94c93e81ceadfeb4a1621775052861bb147afdaf2c0010afcbc"}}], "version": "9.0.12", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "a845baa996857f87eee3efa1ce1336a8", "kind": "equivalent", "version": "9.2.3", "label": "9.2.3", "title": "Prevent misbehavior when a RowExpr or XmlExpr is parse-analyzed twice", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2447d16e3a70a94c93e81ceadfeb4a1621775052861bb147afdaf2c0010afcbc"}, "url": "/docs/compare/?release=9.2.3#9.2.3-ac34bf2d449debbe", "source_url": "/docs/release/9.2.3/#AEN113847"}, {"db_id": "26657ea883bf7500ee7cb741c6b4aea6", "kind": "equivalent", "version": "9.1.8", "label": "9.1.8", "title": "Prevent misbehavior when a RowExpr or XmlExpr is parse-analyzed twice", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2447d16e3a70a94c93e81ceadfeb4a1621775052861bb147afdaf2c0010afcbc"}, "url": "/docs/compare/?release=9.1.8#9.1.8-ac34bf2d449debbe", "source_url": "/docs/release/9.1.8/#AEN109130"}]}, {"id": "9.0.12-29d7089835a85fdd", "cves": [], "html": "<p>Improve defenses against integer overflow in hashtable sizing calculations (Jeff Davis)</p>", "text": "Improve defenses against integer overflow in hashtable sizing calculations (Jeff Davis)", "title": "Improve defenses against integer overflow in hashtable sizing calculations", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.0.12/#AEN100734", "source_hash": "f7fbe3b839f1826fbb542e1588af73d4f6bd9c66c931f4428f2a793badc03399", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Improve defenses against integer overflow in hashtable sizing calculations (Jeff Davis)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.12/changes/011", "db_id": "7a490a116aa2738e282697a6f4adbb39", "patch_ids": [], "statement_hash": "c40eb99c68dea04c5fb7bddd9508bb7faa85f02166cf3ea732045bafdb466912", "relations": [{"rule": 2, "type": "equivalent", "target": "407aa706c6605ff416cb7c4e4e75428f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c40eb99c68dea04c5fb7bddd9508bb7faa85f02166cf3ea732045bafdb466912"}}, {"rule": 2, "type": "equivalent", "target": "8ace4c7a60dfb373dc4953a9dc984660", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c40eb99c68dea04c5fb7bddd9508bb7faa85f02166cf3ea732045bafdb466912"}}], "version": "9.0.12", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "8ace4c7a60dfb373dc4953a9dc984660", "kind": "equivalent", "version": "9.2.3", "label": "9.2.3", "title": "Improve defenses against integer overflow in hashtable sizing calculations", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c40eb99c68dea04c5fb7bddd9508bb7faa85f02166cf3ea732045bafdb466912"}, "url": "/docs/compare/?release=9.2.3#9.2.3-29d7089835a85fdd", "source_url": "/docs/release/9.2.3/#AEN113847"}, {"db_id": "407aa706c6605ff416cb7c4e4e75428f", "kind": "equivalent", "version": "9.1.8", "label": "9.1.8", "title": "Improve defenses against integer overflow in hashtable sizing calculations", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c40eb99c68dea04c5fb7bddd9508bb7faa85f02166cf3ea732045bafdb466912"}, "url": "/docs/compare/?release=9.1.8#9.1.8-29d7089835a85fdd", "source_url": "/docs/release/9.1.8/#AEN109130"}]}, {"id": "9.0.12-5cd98dbe3e248a8d", "cves": [], "html": "<p>Reject out-of-range dates in <code>to_date()</code> (Hitoshi Harada)</p>", "text": "Reject out-of-range dates in to_date() (Hitoshi Harada)", "title": "Reject out-of-range dates in to_date()", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.0.12/#AEN100734", "source_hash": "4dde155dbc0607f0d1b5d7057d0b71a0253185c75ff9ce281e535661777bde35", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Reject out-of-range dates in to_date() (Hitoshi Harada)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.12/changes/012", "db_id": "87f59fd57277f3abf8be6ed0e44f2608", "patch_ids": [], "statement_hash": "52e9b6d4e125702cff946186f4421ab26fc28169969af07f2af9986913483863", "relations": [{"rule": 2, "type": "equivalent", "target": "9446cc85054ad889ee6c47b88e9b5b2f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "52e9b6d4e125702cff946186f4421ab26fc28169969af07f2af9986913483863"}}, {"rule": 2, "type": "equivalent", "target": "a0ada91c26ced365b2eb8779f5f204c3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "52e9b6d4e125702cff946186f4421ab26fc28169969af07f2af9986913483863"}}], "version": "9.0.12", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "9446cc85054ad889ee6c47b88e9b5b2f", "kind": "equivalent", "version": "9.2.3", "label": "9.2.3", "title": "Reject out-of-range dates in to_date()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "52e9b6d4e125702cff946186f4421ab26fc28169969af07f2af9986913483863"}, "url": "/docs/compare/?release=9.2.3#9.2.3-5cd98dbe3e248a8d", "source_url": "/docs/release/9.2.3/#AEN113847"}, {"db_id": "a0ada91c26ced365b2eb8779f5f204c3", "kind": "equivalent", "version": "9.1.8", "label": "9.1.8", "title": "Reject out-of-range dates in to_date()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "52e9b6d4e125702cff946186f4421ab26fc28169969af07f2af9986913483863"}, "url": "/docs/compare/?release=9.1.8#9.1.8-5cd98dbe3e248a8d", "source_url": "/docs/release/9.1.8/#AEN109130"}]}, {"id": "9.0.12-a0ff843072221c0a", "cves": [], "html": "<p>Ensure that non-ASCII prompt strings are translated to the correct code page on Windows (Alexander Law, Noah Misch)</p>\n<p>This bug affected <span>psql</span> and some other client programs.</p>", "text": "Ensure that non-ASCII prompt strings are translated to the correct code page on Windows (Alexander Law, Noah Misch) This bug affected psql and some other client programs.", "title": "Ensure that non-ASCII prompt strings are translated to the correct code page on Windows", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.0.12/#AEN100734", "source_hash": "1dbf2fd4f0dbed50334ceee12a8ee4b5d67575590c022af59893f0a412a083c0", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Ensure that non-ASCII prompt strings are translated to the correct code page on Windows (Alexander Law, Noah Misch) This bug affected psql and some other client programs.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.12/changes/013", "db_id": "9edd7b917ecb849fa7360d797874307b", "patch_ids": [], "statement_hash": "f69a3f45358c1387bcd2664f6ff27dceb55540cdd9a475deeebc350b2489c7c8", "relations": [{"rule": 2, "type": "equivalent", "target": "499d7f239bc7f7516c6ee6d43cc02a93", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f69a3f45358c1387bcd2664f6ff27dceb55540cdd9a475deeebc350b2489c7c8"}}, {"rule": 2, "type": "equivalent", "target": "8190c8b07e5709730eb6d83c24f133db", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f69a3f45358c1387bcd2664f6ff27dceb55540cdd9a475deeebc350b2489c7c8"}}], "version": "9.0.12", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "499d7f239bc7f7516c6ee6d43cc02a93", "kind": "equivalent", "version": "9.2.3", "label": "9.2.3", "title": "Ensure that non-ASCII prompt strings are translated to the correct code page on Windows", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f69a3f45358c1387bcd2664f6ff27dceb55540cdd9a475deeebc350b2489c7c8"}, "url": "/docs/compare/?release=9.2.3#9.2.3-a0ff843072221c0a", "source_url": "/docs/release/9.2.3/#AEN113847"}, {"db_id": "8190c8b07e5709730eb6d83c24f133db", "kind": "equivalent", "version": "9.1.8", "label": "9.1.8", "title": "Ensure that non-ASCII prompt strings are translated to the correct code page on Windows", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f69a3f45358c1387bcd2664f6ff27dceb55540cdd9a475deeebc350b2489c7c8"}, "url": "/docs/compare/?release=9.1.8#9.1.8-a0ff843072221c0a", "source_url": "/docs/release/9.1.8/#AEN109130"}]}, {"id": "9.0.12-a1436d539c4a73a0", "cves": [], "html": "<p>Fix possible crash in <span>psql</span>'s \\? command when not connected to a database (Meng Qingzhong)</p>", "text": "Fix possible crash in psql's \\? command when not connected to a database (Meng Qingzhong)", "title": "Fix possible crash in psql's \\? command when not connected to a database", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.0.12/#AEN100734", "source_hash": "bebbd0e33366ac1ad910e05ec19db26c0cc3178762049f7f3ef1cbe09f68b151", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix possible crash in psql's \\? command when not connected to a database (Meng Qingzhong)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.12/changes/014", "db_id": "d43347afb56978270318afc517d27c00", "patch_ids": [], "statement_hash": "bbd8f4452bb6fb33b4c85757846e000963fc2089ae0590cd589bd0229eedad6c", "relations": [{"rule": 2, "type": "equivalent", "target": "154a8896f3df6ea0b381f0dc5fd1ffb1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bbd8f4452bb6fb33b4c85757846e000963fc2089ae0590cd589bd0229eedad6c"}}, {"rule": 2, "type": "equivalent", "target": "7825d1cf06ef5c81b077f288f9aeb1a6", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bbd8f4452bb6fb33b4c85757846e000963fc2089ae0590cd589bd0229eedad6c"}}], "version": "9.0.12", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "7825d1cf06ef5c81b077f288f9aeb1a6", "kind": "equivalent", "version": "9.2.3", "label": "9.2.3", "title": "Fix possible crash in psql's \\? command when not connected to a database", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bbd8f4452bb6fb33b4c85757846e000963fc2089ae0590cd589bd0229eedad6c"}, "url": "/docs/compare/?release=9.2.3#9.2.3-a1436d539c4a73a0", "source_url": "/docs/release/9.2.3/#AEN113847"}, {"db_id": "154a8896f3df6ea0b381f0dc5fd1ffb1", "kind": "equivalent", "version": "9.1.8", "label": "9.1.8", "title": "Fix possible crash in psql's \\? command when not connected to a database", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bbd8f4452bb6fb33b4c85757846e000963fc2089ae0590cd589bd0229eedad6c"}, "url": "/docs/compare/?release=9.1.8#9.1.8-a1436d539c4a73a0", "source_url": "/docs/release/9.1.8/#AEN109130"}]}, {"id": "9.0.12-2565e6223a932838", "cves": [], "html": "<p>Fix <span>pg_upgrade</span> to deal with invalid indexes safely (Bruce Momjian)</p>", "text": "Fix pg_upgrade to deal with invalid indexes safely (Bruce Momjian)", "title": "Fix pg_upgrade to deal with invalid indexes safely", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.0.12/#AEN100734", "source_hash": "71dc780c3de016743bc6aa8d54ffc6828e9138d5442c234a9a48783d1ea1b5af", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix pg_upgrade to deal with invalid indexes safely (Bruce Momjian)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.12/changes/015", "db_id": "c131f4fa68c816d68243f49e0e66d505", "patch_ids": [], "statement_hash": "4e11bc10b70c7c08a4bae50beef46b806a60dc077df9e13e1f7f9317daaf815e", "relations": [{"rule": 2, "type": "equivalent", "target": "92f2eedd0191008895ecc47a0381e525", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4e11bc10b70c7c08a4bae50beef46b806a60dc077df9e13e1f7f9317daaf815e"}}, {"rule": 2, "type": "equivalent", "target": "a67066b1ca30377c447faab9ede582e0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4e11bc10b70c7c08a4bae50beef46b806a60dc077df9e13e1f7f9317daaf815e"}}], "version": "9.0.12", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "a67066b1ca30377c447faab9ede582e0", "kind": "equivalent", "version": "9.2.3", "label": "9.2.3", "title": "Fix pg_upgrade to deal with invalid indexes safely", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4e11bc10b70c7c08a4bae50beef46b806a60dc077df9e13e1f7f9317daaf815e"}, "url": "/docs/compare/?release=9.2.3#9.2.3-2565e6223a932838", "source_url": "/docs/release/9.2.3/#AEN113847"}, {"db_id": "92f2eedd0191008895ecc47a0381e525", "kind": "equivalent", "version": "9.1.8", "label": "9.1.8", "title": "Fix pg_upgrade to deal with invalid indexes safely", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4e11bc10b70c7c08a4bae50beef46b806a60dc077df9e13e1f7f9317daaf815e"}, "url": "/docs/compare/?release=9.1.8#9.1.8-2565e6223a932838", "source_url": "/docs/release/9.1.8/#AEN109130"}]}, {"id": "9.0.12-36d74cfc52c10c6d", "cves": [], "html": "<p>Fix one-byte buffer overrun in <span>libpq</span>'s <code>PQprintTuples</code> (Xi Wang)</p>\n<p>This ancient function is not used anywhere by <span>PostgreSQL</span> itself, but it might still be used by some client code.</p>", "text": "Fix one-byte buffer overrun in libpq's PQprintTuples (Xi Wang) This ancient function is not used anywhere by PostgreSQL itself, but it might still be used by some client code.", "title": "Fix one-byte buffer overrun in libpq's PQprintTuples", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.0.12/#AEN100734", "source_hash": "37c5424b096a29e41b2206748cefb02b89f0feb843cdd9fd20ece00ad1fd3e2b", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix one-byte buffer overrun in libpq's PQprintTuples (Xi Wang) This ancient function is not used anywhere by PostgreSQL itself, but it might still be used by some client code.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.12/changes/016", "db_id": "ed8b11f668bf27965f1486ee0ee6c1dc", "patch_ids": [], "statement_hash": "649cc796ce72b235c2b327eed32d383596d5163a8c749997d087c3d5c39cf421", "relations": [{"rule": 2, "type": "equivalent", "target": "55a3aa9b84d8e18a8636a2bf960e674c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "649cc796ce72b235c2b327eed32d383596d5163a8c749997d087c3d5c39cf421"}}, {"rule": 2, "type": "equivalent", "target": "c7f27d190db5f6d76239b290151cabe0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "649cc796ce72b235c2b327eed32d383596d5163a8c749997d087c3d5c39cf421"}}], "version": "9.0.12", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "c7f27d190db5f6d76239b290151cabe0", "kind": "equivalent", "version": "9.2.3", "label": "9.2.3", "title": "Fix one-byte buffer overrun in libpq's PQprintTuples", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "649cc796ce72b235c2b327eed32d383596d5163a8c749997d087c3d5c39cf421"}, "url": "/docs/compare/?release=9.2.3#9.2.3-36d74cfc52c10c6d", "source_url": "/docs/release/9.2.3/#AEN113847"}, {"db_id": "55a3aa9b84d8e18a8636a2bf960e674c", "kind": "equivalent", "version": "9.1.8", "label": "9.1.8", "title": "Fix one-byte buffer overrun in libpq's PQprintTuples", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "649cc796ce72b235c2b327eed32d383596d5163a8c749997d087c3d5c39cf421"}, "url": "/docs/compare/?release=9.1.8#9.1.8-36d74cfc52c10c6d", "source_url": "/docs/release/9.1.8/#AEN109130"}]}, {"id": "9.0.12-deec9f1d3990c039", "cves": [], "html": "<p>Make <span>ecpglib</span> use translated messages properly (Chen Huajun)</p>", "text": "Make ecpglib use translated messages properly (Chen Huajun)", "title": "Make ecpglib use translated messages properly", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.0.12/#AEN100734", "source_hash": "f8caa4d3fd2cf60a37d71b4ddad1d7c08751b7c61104b1fd2669154c5d250896", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Make ecpglib use translated messages properly (Chen Huajun)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.12/changes/017", "db_id": "310e1bbd2a63a2c3059a7ab89d5a51ad", "patch_ids": [], "statement_hash": "49a7631fea6e863d77c30b1a1cd722c8fac60892e288dea3eb95e2b39ea43b33", "relations": [{"rule": 2, "type": "equivalent", "target": "c9f8816bc5e0b59b3a950e7ba129bbd9", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "49a7631fea6e863d77c30b1a1cd722c8fac60892e288dea3eb95e2b39ea43b33"}}, {"rule": 2, "type": "equivalent", "target": "eea8e6946233ce55a4993f604dc80f93", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "49a7631fea6e863d77c30b1a1cd722c8fac60892e288dea3eb95e2b39ea43b33"}}], "version": "9.0.12", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "eea8e6946233ce55a4993f604dc80f93", "kind": "equivalent", "version": "9.2.3", "label": "9.2.3", "title": "Make ecpglib use translated messages properly", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "49a7631fea6e863d77c30b1a1cd722c8fac60892e288dea3eb95e2b39ea43b33"}, "url": "/docs/compare/?release=9.2.3#9.2.3-deec9f1d3990c039", "source_url": "/docs/release/9.2.3/#AEN113847"}, {"db_id": "c9f8816bc5e0b59b3a950e7ba129bbd9", "kind": "equivalent", "version": "9.1.8", "label": "9.1.8", "title": "Make ecpglib use translated messages properly", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "49a7631fea6e863d77c30b1a1cd722c8fac60892e288dea3eb95e2b39ea43b33"}, "url": "/docs/compare/?release=9.1.8#9.1.8-deec9f1d3990c039", "source_url": "/docs/release/9.1.8/#AEN109130"}]}, {"id": "9.0.12-93e02c44ac64feff", "cves": [], "html": "<p>Properly install <span>ecpg_compat</span> and <span>pgtypes</span> libraries on MSVC (Jiang Guiqing)</p>", "text": "Properly install ecpg_compat and pgtypes libraries on MSVC (Jiang Guiqing)", "title": "Properly install ecpg_compat and pgtypes libraries on MSVC", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.0.12/#AEN100734", "source_hash": "aed9c30dba7d684dd617cae9fb1b11df4b882f0a0d3393078ff1da10bb2cbc40", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Properly install ecpg_compat and pgtypes libraries on MSVC (Jiang Guiqing)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.12/changes/018", "db_id": "10b62e8f30a945f4bebfae2e42174fa3", "patch_ids": [], "statement_hash": "0937e1a464eaade0933dd613a8a81f57b0bc406eec60623021c3cbc7c0f65d8f", "relations": [{"rule": 2, "type": "equivalent", "target": "1e024e7c1038e29cadc05c57a2c91683", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0937e1a464eaade0933dd613a8a81f57b0bc406eec60623021c3cbc7c0f65d8f"}}, {"rule": 2, "type": "equivalent", "target": "326a49f11dc364f4304b26e7f911cc66", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0937e1a464eaade0933dd613a8a81f57b0bc406eec60623021c3cbc7c0f65d8f"}}], "version": "9.0.12", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "1e024e7c1038e29cadc05c57a2c91683", "kind": "equivalent", "version": "9.2.3", "label": "9.2.3", "title": "Properly install ecpg_compat and pgtypes libraries on MSVC", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0937e1a464eaade0933dd613a8a81f57b0bc406eec60623021c3cbc7c0f65d8f"}, "url": "/docs/compare/?release=9.2.3#9.2.3-93e02c44ac64feff", "source_url": "/docs/release/9.2.3/#AEN113847"}, {"db_id": "326a49f11dc364f4304b26e7f911cc66", "kind": "equivalent", "version": "9.1.8", "label": "9.1.8", "title": "Properly install ecpg_compat and pgtypes libraries on MSVC", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0937e1a464eaade0933dd613a8a81f57b0bc406eec60623021c3cbc7c0f65d8f"}, "url": "/docs/compare/?release=9.1.8#9.1.8-93e02c44ac64feff", "source_url": "/docs/release/9.1.8/#AEN109130"}]}, {"id": "9.0.12-12cc8a9e6487d7d1", "cves": [], "html": "<p>Include our version of <code>isinf()</code> in <span>libecpg</span> if it's not provided by the system (Jiang Guiqing)</p>", "text": "Include our version of isinf() in libecpg if it's not provided by the system (Jiang Guiqing)", "title": "Include our version of isinf() in libecpg if it's not provided by the system", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.0.12/#AEN100734", "source_hash": "186fb6ca8d1e5991561c8bcac92ba53ab3e80c94238454aa0ab0f51de9cbe993", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Include our version of isinf() in libecpg if it's not provided by the system (Jiang Guiqing)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.12/changes/019", "db_id": "044e78f6b1acb208579c1ada54ee03ef", "patch_ids": [], "statement_hash": "93b37c1e29b31c1dd61fd56d7a42457b0b9e57c768d3138398c4b1f575e348e4", "relations": [{"rule": 2, "type": "equivalent", "target": "9264d25d4dc7016c8663a4ed60254ea0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "93b37c1e29b31c1dd61fd56d7a42457b0b9e57c768d3138398c4b1f575e348e4"}}, {"rule": 2, "type": "equivalent", "target": "b7e8f4df499535ec1cda04ae40f923fc", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "93b37c1e29b31c1dd61fd56d7a42457b0b9e57c768d3138398c4b1f575e348e4"}}], "version": "9.0.12", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "b7e8f4df499535ec1cda04ae40f923fc", "kind": "equivalent", "version": "9.2.3", "label": "9.2.3", "title": "Include our version of isinf() in libecpg if it's not provided by the system", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "93b37c1e29b31c1dd61fd56d7a42457b0b9e57c768d3138398c4b1f575e348e4"}, "url": "/docs/compare/?release=9.2.3#9.2.3-12cc8a9e6487d7d1", "source_url": "/docs/release/9.2.3/#AEN113847"}, {"db_id": "9264d25d4dc7016c8663a4ed60254ea0", "kind": "equivalent", "version": "9.1.8", "label": "9.1.8", "title": "Include our version of isinf() in libecpg if it's not provided by the system", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "93b37c1e29b31c1dd61fd56d7a42457b0b9e57c768d3138398c4b1f575e348e4"}, "url": "/docs/compare/?release=9.1.8#9.1.8-12cc8a9e6487d7d1", "source_url": "/docs/release/9.1.8/#AEN109130"}]}, {"id": "9.0.12-28467aa331744902", "cves": [], "html": "<p>Rearrange configure's tests for supplied functions so it is not fooled by bogus exports from libedit/libreadline (Christoph Berg)</p>", "text": "Rearrange configure's tests for supplied functions so it is not fooled by bogus exports from libedit/libreadline (Christoph Berg)", "title": "Rearrange configure's tests for supplied functions so it is not fooled by bogus exports from libedit/libreadline", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.0.12/#AEN100734", "source_hash": "6863599e7568406f5a840997ce623afd0185622163f9e61d7f7c9602d0ee9602", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Rearrange configure's tests for supplied functions so it is not fooled by bogus exports from libedit/libreadline (Christoph Berg)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.12/changes/020", "db_id": "0458d6b686242b9a6e4bed416ba3491e", "patch_ids": [], "statement_hash": "e158edd89dba605daf3b829b35ea5c84462911f2139c0b4bf0e8791365292202", "relations": [{"rule": 2, "type": "equivalent", "target": "74c00b37070e969a13d784c94a8a0e0d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e158edd89dba605daf3b829b35ea5c84462911f2139c0b4bf0e8791365292202"}}, {"rule": 2, "type": "equivalent", "target": "c5d8b22210ced8efa76a0da9a474bff0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e158edd89dba605daf3b829b35ea5c84462911f2139c0b4bf0e8791365292202"}}], "version": "9.0.12", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "74c00b37070e969a13d784c94a8a0e0d", "kind": "equivalent", "version": "9.2.3", "label": "9.2.3", "title": "Rearrange configure's tests for supplied functions so it is not fooled by bogus exports from libedit/libreadline", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e158edd89dba605daf3b829b35ea5c84462911f2139c0b4bf0e8791365292202"}, "url": "/docs/compare/?release=9.2.3#9.2.3-28467aa331744902", "source_url": "/docs/release/9.2.3/#AEN113847"}, {"db_id": "c5d8b22210ced8efa76a0da9a474bff0", "kind": "equivalent", "version": "9.1.8", "label": "9.1.8", "title": "Rearrange configure's tests for supplied functions so it is not fooled by bogus exports from libedit/libreadline", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e158edd89dba605daf3b829b35ea5c84462911f2139c0b4bf0e8791365292202"}, "url": "/docs/compare/?release=9.1.8#9.1.8-28467aa331744902", "source_url": "/docs/release/9.1.8/#AEN109130"}]}, {"id": "9.0.12-8ad916fc9d3f2bbc", "cves": [], "html": "<p>Ensure Windows build number increases over time (Magnus Hagander)</p>", "text": "Ensure Windows build number increases over time (Magnus Hagander)", "title": "Ensure Windows build number increases over time", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.0.12/#AEN100734", "source_hash": "4d4767de9d270208a9b5635f3301ca8ac9769c6a9911655406c6d6ec8d29aded", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Ensure Windows build number increases over time (Magnus Hagander)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.12/changes/021", "db_id": "6681c1784c69da9ff076d5c63c8309ac", "patch_ids": [], "statement_hash": "0ca2e5abb4edad748a9aa524fd49f8a90c3fa461ae8270bd9f592b8508de122b", "relations": [{"rule": 2, "type": "equivalent", "target": "173fab1f3c4b0a7ef20016598398a204", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0ca2e5abb4edad748a9aa524fd49f8a90c3fa461ae8270bd9f592b8508de122b"}}, {"rule": 2, "type": "equivalent", "target": "2b2e51914cac3e5f3c525689533f8f61", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0ca2e5abb4edad748a9aa524fd49f8a90c3fa461ae8270bd9f592b8508de122b"}}], "version": "9.0.12", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "173fab1f3c4b0a7ef20016598398a204", "kind": "equivalent", "version": "9.2.3", "label": "9.2.3", "title": "Ensure Windows build number increases over time", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0ca2e5abb4edad748a9aa524fd49f8a90c3fa461ae8270bd9f592b8508de122b"}, "url": "/docs/compare/?release=9.2.3#9.2.3-8ad916fc9d3f2bbc", "source_url": "/docs/release/9.2.3/#AEN113847"}, {"db_id": "2b2e51914cac3e5f3c525689533f8f61", "kind": "equivalent", "version": "9.1.8", "label": "9.1.8", "title": "Ensure Windows build number increases over time", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0ca2e5abb4edad748a9aa524fd49f8a90c3fa461ae8270bd9f592b8508de122b"}, "url": "/docs/compare/?release=9.1.8#9.1.8-8ad916fc9d3f2bbc", "source_url": "/docs/release/9.1.8/#AEN109130"}]}, {"id": "9.0.12-9f49bccbd9d671e4", "cves": [], "html": "<p>Make <span>pgxs</span> build executables with the right .exe suffix when cross-compiling for Windows (Zoltan Boszormenyi)</p>", "text": "Make pgxs build executables with the right .exe suffix when cross-compiling for Windows (Zoltan Boszormenyi)", "title": "Make pgxs build executables with the right .exe suffix when cross-compiling for Windows", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.0.12/#AEN100734", "source_hash": "4fe3f5d834e7f6666c3bd267ff1af5962cce965f5cb612157a2e237ef19ed87d", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Make pgxs build executables with the right .exe suffix when cross-compiling for Windows (Zoltan Boszormenyi)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.12/changes/022", "db_id": "e670243d5c363a1b9013fe1497817d61", "patch_ids": [], "statement_hash": "ae0d12b9413e4d73aa9e9fb0a0d6dfb98d3c7b12cd1cf5d04b20d41b7bb44b4a", "relations": [{"rule": 2, "type": "equivalent", "target": "6d5fc75d8bb762e5f4f74e73a3ad3dbf", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ae0d12b9413e4d73aa9e9fb0a0d6dfb98d3c7b12cd1cf5d04b20d41b7bb44b4a"}}, {"rule": 2, "type": "equivalent", "target": "db862cbcf7e6eed60db6e3530705a00a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ae0d12b9413e4d73aa9e9fb0a0d6dfb98d3c7b12cd1cf5d04b20d41b7bb44b4a"}}], "version": "9.0.12", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "6d5fc75d8bb762e5f4f74e73a3ad3dbf", "kind": "equivalent", "version": "9.2.3", "label": "9.2.3", "title": "Make pgxs build executables with the right .exe suffix when cross-compiling for Windows", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ae0d12b9413e4d73aa9e9fb0a0d6dfb98d3c7b12cd1cf5d04b20d41b7bb44b4a"}, "url": "/docs/compare/?release=9.2.3#9.2.3-9f49bccbd9d671e4", "source_url": "/docs/release/9.2.3/#AEN113847"}, {"db_id": "db862cbcf7e6eed60db6e3530705a00a", "kind": "equivalent", "version": "9.1.8", "label": "9.1.8", "title": "Make pgxs build executables with the right .exe suffix when cross-compiling for Windows", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ae0d12b9413e4d73aa9e9fb0a0d6dfb98d3c7b12cd1cf5d04b20d41b7bb44b4a"}, "url": "/docs/compare/?release=9.1.8#9.1.8-9f49bccbd9d671e4", "source_url": "/docs/release/9.1.8/#AEN109130"}]}, {"id": "9.0.12-0071c5e36ef774a0", "cves": [], "html": "<p>Add new timezone abbreviation FET (Tom Lane)</p>\n<p>This is now used in some eastern-European time zones.</p>", "text": "Add new timezone abbreviation FET (Tom Lane) This is now used in some eastern-European time zones.", "title": "Add new timezone abbreviation FET", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.0.12/#AEN100734", "source_hash": "8aef290f6113515dd4315e1910737d8651f3165fb01e42377ac5be1b5c8c0298", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Add new timezone abbreviation FET (Tom Lane) This is now used in some eastern-European time zones.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.12/changes/023", "db_id": "cdda8dde81204828d84a1c6d648c9ae1", "patch_ids": [], "statement_hash": "bc4823c1eddd1ec9cb04935f009f536696269e6c70a152290f84faf52cb18c67", "relations": [{"rule": 2, "type": "equivalent", "target": "3e41b446a44f803d89320f2560115d34", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bc4823c1eddd1ec9cb04935f009f536696269e6c70a152290f84faf52cb18c67"}}, {"rule": 2, "type": "equivalent", "target": "d8df38792917705a75a7dd9d051709cb", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bc4823c1eddd1ec9cb04935f009f536696269e6c70a152290f84faf52cb18c67"}}], "version": "9.0.12", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "d8df38792917705a75a7dd9d051709cb", "kind": "equivalent", "version": "9.2.3", "label": "9.2.3", "title": "Add new timezone abbreviation FET", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bc4823c1eddd1ec9cb04935f009f536696269e6c70a152290f84faf52cb18c67"}, "url": "/docs/compare/?release=9.2.3#9.2.3-0071c5e36ef774a0", "source_url": "/docs/release/9.2.3/#AEN113847"}, {"db_id": "3e41b446a44f803d89320f2560115d34", "kind": "equivalent", "version": "9.1.8", "label": "9.1.8", "title": "Add new timezone abbreviation FET", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bc4823c1eddd1ec9cb04935f009f536696269e6c70a152290f84faf52cb18c67"}, "url": "/docs/compare/?release=9.1.8#9.1.8-0071c5e36ef774a0", "source_url": "/docs/release/9.1.8/#AEN109130"}]}]}], "stats": [{"key": "all", "label": "All changes", "count": 23}, {"key": "feature", "label": "Features", "count": 0}, {"key": "bugfix", "label": "Bug fixes", "count": 9}, {"key": "security", "label": "Security", "count": 1}, {"key": "performance", "label": "Performance", "count": 0}, {"key": "compatibility", "label": "Compatibility", "count": 0}, {"key": "improvement", "label": "Improvements", "count": 13}], "total": 23, "release_count": 1, "cross_major": false, "cve_count": 1, "cves": [{"id": "CVE-2013-0255", "url": "https://www.postgresql.org/support/security/CVE-2013-0255/", "fixed": {"8.3": "8.3.23", "8.4": "8.4.16", "9.0": "9.0.12", "9.1": "9.1.8", "9.2": "9.2.3"}, "score": null, "title": "Prevent execution of enum_recv from SQL", "vector": "", "affected": {"8.3": "8.3", "8.4": "8.4", "9.0": "9.0", "9.1": "9.1", "9.2": "9.2"}, "component": "", "published": {}, "introduced": {}, "cvss_version": "", "description_en": "", "first_published": null, "fixed_version": "9.0.12"}], "cve_available": true, "remaining_cves": [], "security_regressions": [], "warnings": [], "candidate_count": 23, "already_in_source_count": 0, "duplicate_count": 0, "excluded_count": 0, "exclusions": [], "source_as_of": "2026-09-26", "security_as_of": "2026-09-26"}