{"format": 1, "mode": "release", "from_release": null, "to_release": {"date": "2012-06-04", "build": "9.0.8", "major": "9.0", "minor": 8, "manual": "9.0", "status": "stable", "doc_git": "", "version": "9.0.8", "eol_date": "2015-10-08", "date_text": "2012-06-04", "supported": false, "manual_url": "/docs/9.0/release-9-0-8.html", "source_url": "/docs/release/9.0.8/", "entry_count": 27, "placeholder": false, "content_hash": "ecf650963b5ff158acde439c9f332356cfd7fdf367afeb5c47c91885402975c8", "manual_build": "9.0.23", "source_as_of": "", "changes_count": 27, "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.8", "status_label": "Historical", "eol": "2015-10-08", "age_days": 5230, "support_days": -4009}, "groups": [{"date": "2012-06-04", "build": "9.0.8", "major": "9.0", "minor": 8, "manual": "9.0", "status": "stable", "doc_git": "", "version": "9.0.8", "eol_date": "2015-10-08", "date_text": "2012-06-04", "supported": false, "manual_url": "/docs/9.0/release-9-0-8.html", "source_url": "/docs/release/9.0.8/", "entry_count": 27, "placeholder": false, "content_hash": "ecf650963b5ff158acde439c9f332356cfd7fdf367afeb5c47c91885402975c8", "manual_build": "9.0.23", "source_as_of": "", "changes_count": 27, "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.8", "status_label": "Historical", "eol": "2015-10-08", "age_days": 5230, "support_days": -4009, "entries": [{"id": "9.0.8-e572f3b965c38e34", "cves": ["CVE-2012-2143"], "html": "<p>Fix incorrect password transformation in contrib/pgcrypto's DES <code>crypt()</code> function (Solar Designer)</p>\n<p>If a password string contained the byte value 0x80, the remainder of the password was ignored, causing the password to be much weaker than it appeared. With this fix, the rest of the string is properly included in the DES hash. Any stored password values that are affected by this bug will thus no longer match, so the stored values may need to be updated. (CVE-2012-2143)</p>", "text": "Fix incorrect password transformation in contrib/pgcrypto's DES crypt() function (Solar Designer) If a password string contained the byte value 0x80, the remainder of the password was ignored, causing the password to be much weaker than it appeared. With this fix, the rest of the string is properly included in the DES hash. Any stored password values that are affected by this bug will thus no longer match, so the stored values may need to be updated. (CVE-2012-2143)", "title": "Fix incorrect password transformation in contrib/pgcrypto's DES crypt() function", "commits": [], "section": "Changes", "category": "security", "source_url": "/docs/release/9.0.8/#AEN101167", "source_hash": "03a1260ee215d2a25cc1484b7103f4107390ddf678301f7bd1ceae282b0d55b1", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix incorrect password transformation in contrib/pgcrypto's DES crypt() function (Solar Designer) If a password string contained the byte value 0x80, the remainder of the password was ignored, causing the password to be much weaker than it appeared. With this fix, the rest of the string is properly included in the DES hash. Any stored password values that are affected by this bug will thus no longer match, so the stored values may need to be updated. (CVE-2012-2143)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.8/changes/001", "db_id": "cb5920a7729a661d027d04e87378653a", "patch_ids": [], "statement_hash": "0f947a81af48a2bd27b30000bab97b036e134d06ee4907612bcff56b4d16f7aa", "relations": [{"rule": 2, "type": "equivalent", "target": "d1c9aa8a6e42b789d6b12bf1c19ff48d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f947a81af48a2bd27b30000bab97b036e134d06ee4907612bcff56b4d16f7aa"}}], "version": "9.0.8", "category_label": "Security", "also_in": [], "variants": [], "related_changes": [{"db_id": "d1c9aa8a6e42b789d6b12bf1c19ff48d", "kind": "equivalent", "version": "9.1.4", "label": "9.1.4", "title": "Fix incorrect password transformation in contrib/pgcrypto's DES crypt() function", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f947a81af48a2bd27b30000bab97b036e134d06ee4907612bcff56b4d16f7aa"}, "url": "/docs/compare/?release=9.1.4#9.1.4-e572f3b965c38e34", "source_url": "/docs/release/9.1.4/#AEN109701"}]}, {"id": "9.0.8-22abb084ee375aae", "cves": ["CVE-2012-2655"], "html": "<p>Ignore SECURITY DEFINER and SET attributes for a procedural language's call handler (Tom Lane)</p>\n<p>Applying such attributes to a call handler could crash the server. (CVE-2012-2655)</p>", "text": "Ignore SECURITY DEFINER and SET attributes for a procedural language's call handler (Tom Lane) Applying such attributes to a call handler could crash the server. (CVE-2012-2655)", "title": "Ignore SECURITY DEFINER and SET attributes for a procedural language's call handler", "commits": [], "section": "Changes", "category": "security", "source_url": "/docs/release/9.0.8/#AEN101167", "source_hash": "bbdb239a6841f1e9d3da8a3a37b3e91395b788f87fd1a80b91653ba2dd93352c", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Ignore SECURITY DEFINER and SET attributes for a procedural language's call handler (Tom Lane) Applying such attributes to a call handler could crash the server. (CVE-2012-2655)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.8/changes/002", "db_id": "2dc791f135e8a00bb8117ee8ba9bbf9f", "patch_ids": [], "statement_hash": "3a45f8c9f78d68b6bb81173d47eee8e0f3bfb011cdfceb55b611990b4bfde531", "relations": [{"rule": 2, "type": "equivalent", "target": "1e9aa9dadb7f705940e29fe92ef4e58c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3a45f8c9f78d68b6bb81173d47eee8e0f3bfb011cdfceb55b611990b4bfde531"}}], "version": "9.0.8", "category_label": "Security", "also_in": [], "variants": [], "related_changes": [{"db_id": "1e9aa9dadb7f705940e29fe92ef4e58c", "kind": "equivalent", "version": "9.1.4", "label": "9.1.4", "title": "Ignore SECURITY DEFINER and SET attributes for a procedural language's call handler", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3a45f8c9f78d68b6bb81173d47eee8e0f3bfb011cdfceb55b611990b4bfde531"}, "url": "/docs/compare/?release=9.1.4#9.1.4-22abb084ee375aae", "source_url": "/docs/release/9.1.4/#AEN109701"}]}, {"id": "9.0.8-a095d0662d392497", "cves": [], "html": "<p>Allow numeric timezone offsets in timestamp input to be up to 16 hours away from UTC (Tom Lane)</p>\n<p>Some historical time zones have offsets larger than 15 hours, the previous limit. This could result in dumped data values being rejected during reload.</p>", "text": "Allow numeric timezone offsets in timestamp input to be up to 16 hours away from UTC (Tom Lane) Some historical time zones have offsets larger than 15 hours, the previous limit. This could result in dumped data values being rejected during reload.", "title": "Allow numeric timezone offsets in timestamp input to be up to 16 hours away from UTC", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.0.8/#AEN101167", "source_hash": "095455017b66c55da7ed039aa3f5560a3263adfea20dda6aa302de82de828030", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Allow numeric timezone offsets in timestamp input to be up to 16 hours away from UTC (Tom Lane) Some historical time zones have offsets larger than 15 hours, the previous limit. This could result in dumped data values being rejected during reload.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.8/changes/003", "db_id": "66dfcc585e0253d76efafa427b1cfacf", "patch_ids": [], "statement_hash": "c3e3ec0ac5c3d36697ec4d7790092641fb62939d3e45a1ab5fb07e9627be88e7", "relations": [{"rule": 2, "type": "equivalent", "target": "148a0e4a0398fc58c07421da3704ba28", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c3e3ec0ac5c3d36697ec4d7790092641fb62939d3e45a1ab5fb07e9627be88e7"}}], "version": "9.0.8", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "148a0e4a0398fc58c07421da3704ba28", "kind": "equivalent", "version": "9.1.4", "label": "9.1.4", "title": "Allow numeric timezone offsets in timestamp input to be up to 16 hours away from UTC", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c3e3ec0ac5c3d36697ec4d7790092641fb62939d3e45a1ab5fb07e9627be88e7"}, "url": "/docs/compare/?release=9.1.4#9.1.4-a095d0662d392497", "source_url": "/docs/release/9.1.4/#AEN109701"}]}, {"id": "9.0.8-6ac4ba6a4dabe8cd", "cves": [], "html": "<p>Fix timestamp conversion to cope when the given time is exactly the last DST transition time for the current timezone (Tom Lane)</p>\n<p>This oversight has been there a long time, but was not noticed previously because most DST-using zones are presumed to have an indefinite sequence of future DST transitions.</p>", "text": "Fix timestamp conversion to cope when the given time is exactly the last DST transition time for the current timezone (Tom Lane) This oversight has been there a long time, but was not noticed previously because most DST-using zones are presumed to have an indefinite sequence of future DST transitions.", "title": "Fix timestamp conversion to cope when the given time is exactly the last DST transition time for the current timezone", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.0.8/#AEN101167", "source_hash": "dcb250ef64a23c07160dcef95f88732260b4bea6fb201bd5fc62375f81319c48", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix timestamp conversion to cope when the given time is exactly the last DST transition time for the current timezone (Tom Lane) This oversight has been there a long time, but was not noticed previously because most DST-using zones are presumed to have an indefinite sequence of future DST transitions.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.8/changes/004", "db_id": "adbae31d5c047fe31754c449e1bbaa24", "patch_ids": [], "statement_hash": "83fe48e3588100d31ea25ded9b792e4acf012f89a6827c2e26ad123c24092655", "relations": [{"rule": 2, "type": "equivalent", "target": "dba677f0792ea4293b27390098dc3d6d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "83fe48e3588100d31ea25ded9b792e4acf012f89a6827c2e26ad123c24092655"}}], "version": "9.0.8", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "dba677f0792ea4293b27390098dc3d6d", "kind": "equivalent", "version": "9.1.4", "label": "9.1.4", "title": "Fix timestamp conversion to cope when the given time is exactly the last DST transition time for the current timezone", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "83fe48e3588100d31ea25ded9b792e4acf012f89a6827c2e26ad123c24092655"}, "url": "/docs/compare/?release=9.1.4#9.1.4-6ac4ba6a4dabe8cd", "source_url": "/docs/release/9.1.4/#AEN109701"}]}, {"id": "9.0.8-854fede49eee61a3", "cves": [], "html": "<p>Fix text to name and char to name casts to perform string truncation correctly in multibyte encodings (Karl Schnaitter)</p>", "text": "Fix text to name and char to name casts to perform string truncation correctly in multibyte encodings (Karl Schnaitter)", "title": "Fix text to name and char to name casts to perform string truncation correctly in multibyte encodings", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.0.8/#AEN101167", "source_hash": "b238c8128f334e29dd27f26a155f4798409dd546ad6a8b2118ce60dec4ea1779", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix text to name and char to name casts to perform string truncation correctly in multibyte encodings (Karl Schnaitter)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.8/changes/005", "db_id": "b62ecf087122590c91da50302d70e3ff", "patch_ids": [], "statement_hash": "2c91579c14e0421cc4befc73e67c9f3a6bdee231311a8a3f88da3cea2f6eaa05", "relations": [{"rule": 2, "type": "equivalent", "target": "d2cebd1f21edbebaa93a2a85740498f1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2c91579c14e0421cc4befc73e67c9f3a6bdee231311a8a3f88da3cea2f6eaa05"}}], "version": "9.0.8", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "d2cebd1f21edbebaa93a2a85740498f1", "kind": "equivalent", "version": "9.1.4", "label": "9.1.4", "title": "Fix text to name and char to name casts to perform string truncation correctly in multibyte encodings", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2c91579c14e0421cc4befc73e67c9f3a6bdee231311a8a3f88da3cea2f6eaa05"}, "url": "/docs/compare/?release=9.1.4#9.1.4-854fede49eee61a3", "source_url": "/docs/release/9.1.4/#AEN109701"}]}, {"id": "9.0.8-55cd3108c9926c31", "cves": [], "html": "<p>Fix memory copying bug in <code>to_tsquery()</code> (Heikki Linnakangas)</p>", "text": "Fix memory copying bug in to_tsquery() (Heikki Linnakangas)", "title": "Fix memory copying bug in to_tsquery()", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.0.8/#AEN101167", "source_hash": "88d94d6ef8e5b743952e58e6e2f93bb4574b553085c6bc89ed71c0e9e1b0413d", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix memory copying bug in to_tsquery() (Heikki Linnakangas)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.8/changes/006", "db_id": "c69a6087c68a06d664f2f8f71e09fb6e", "patch_ids": [], "statement_hash": "17052e5fa0cc283e7f8c8c7f3b11ae8239d038ed05d86b422f744fa3e28545f4", "relations": [{"rule": 2, "type": "equivalent", "target": "246ee9f97ad753e16c3afac6fdea659c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "17052e5fa0cc283e7f8c8c7f3b11ae8239d038ed05d86b422f744fa3e28545f4"}}], "version": "9.0.8", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "246ee9f97ad753e16c3afac6fdea659c", "kind": "equivalent", "version": "9.1.4", "label": "9.1.4", "title": "Fix memory copying bug in to_tsquery()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "17052e5fa0cc283e7f8c8c7f3b11ae8239d038ed05d86b422f744fa3e28545f4"}, "url": "/docs/compare/?release=9.1.4#9.1.4-55cd3108c9926c31", "source_url": "/docs/release/9.1.4/#AEN109701"}]}, {"id": "9.0.8-44c43c1cad7baaf9", "cves": [], "html": "<p>Ensure <code>txid_current()</code> reports the correct epoch when executed in hot standby (Simon Riggs)</p>", "text": "Ensure txid_current() reports the correct epoch when executed in hot standby (Simon Riggs)", "title": "Ensure txid_current() reports the correct epoch when executed in hot standby", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.0.8/#AEN101167", "source_hash": "b0ccb6472cbc75c153b6da657f721258b1d7c69f33eb187eca5ff4774d793988", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Ensure txid_current() reports the correct epoch when executed in hot standby (Simon Riggs)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.8/changes/007", "db_id": "558735af561463755186750792b27395", "patch_ids": [], "statement_hash": "6ff384176800c990eead1448541e563e2034b2d035497e65e5f33c45cff13118", "relations": [{"rule": 2, "type": "equivalent", "target": "2c0dec606905b65df86f3696314a0f28", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6ff384176800c990eead1448541e563e2034b2d035497e65e5f33c45cff13118"}}], "version": "9.0.8", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "2c0dec606905b65df86f3696314a0f28", "kind": "equivalent", "version": "9.1.4", "label": "9.1.4", "title": "Ensure txid_current() reports the correct epoch when executed in hot standby", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6ff384176800c990eead1448541e563e2034b2d035497e65e5f33c45cff13118"}, "url": "/docs/compare/?release=9.1.4#9.1.4-44c43c1cad7baaf9", "source_url": "/docs/release/9.1.4/#AEN109701"}]}, {"id": "9.0.8-672fa046a7ce9b4b", "cves": [], "html": "<p>Fix planner's handling of outer PlaceHolderVars within subqueries (Tom Lane)</p>\n<p>This bug concerns sub-SELECTs that reference variables coming from the nullable side of an outer join of the surrounding query. In 9.1, queries affected by this bug would fail with <span>\"ERROR: Upper-level PlaceHolderVar found where not expected\"</span>. But in 9.0 and 8.4, you'd silently get possibly-wrong answers, since the value transmitted into the subquery wouldn't go to null when it should.</p>", "text": "Fix planner's handling of outer PlaceHolderVars within subqueries (Tom Lane) This bug concerns sub-SELECTs that reference variables coming from the nullable side of an outer join of the surrounding query. In 9.1, queries affected by this bug would fail with \"ERROR: Upper-level PlaceHolderVar found where not expected\". But in 9.0 and 8.4, you'd silently get possibly-wrong answers, since the value transmitted into the subquery wouldn't go to null when it should.", "title": "Fix planner's handling of outer PlaceHolderVars within subqueries", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.0.8/#AEN101167", "source_hash": "74402dad6b2aa4c05f2ded5ac17ec2100eab3cb773d7b741805a6b81b4c7e85b", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix planner's handling of outer PlaceHolderVars within subqueries (Tom Lane) This bug concerns sub-SELECTs that reference variables coming from the nullable side of an outer join of the surrounding query. In 9.1, queries affected by this bug would fail with ERROR: Upper-level PlaceHolderVar found where not expected. But in 9.0 and 8.4, you'd silently get possibly-wrong answers, since the value transmitted into the subquery wouldn't go to null when it should.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.8/changes/008", "db_id": "19a6e1973e59e9da729551e85bc3d665", "patch_ids": [], "statement_hash": "8ee28efc2fbfda74cb453da5f680773337fd25421ee1855c571078dd937bb706", "relations": [{"rule": 2, "type": "equivalent", "target": "ef188976cac2505dda8376e40a42b5d1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8ee28efc2fbfda74cb453da5f680773337fd25421ee1855c571078dd937bb706"}}], "version": "9.0.8", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "ef188976cac2505dda8376e40a42b5d1", "kind": "equivalent", "version": "9.1.4", "label": "9.1.4", "title": "Fix planner's handling of outer PlaceHolderVars within subqueries", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8ee28efc2fbfda74cb453da5f680773337fd25421ee1855c571078dd937bb706"}, "url": "/docs/compare/?release=9.1.4#9.1.4-672fa046a7ce9b4b", "source_url": "/docs/release/9.1.4/#AEN109701"}]}, {"id": "9.0.8-f53fd1ab1aae3c28", "cves": [], "html": "<p>Fix slow session startup when pg_attribute is very large (Tom Lane)</p>\n<p>If pg_attribute exceeds one-fourth of shared_buffers, cache rebuilding code that is sometimes needed during session start would trigger the synchronized-scan logic, causing it to take many times longer than normal. The problem was particularly acute if many new sessions were starting at once.</p>", "text": "Fix slow session startup when pg_attribute is very large (Tom Lane) If pg_attribute exceeds one-fourth of shared_buffers, cache rebuilding code that is sometimes needed during session start would trigger the synchronized-scan logic, causing it to take many times longer than normal. The problem was particularly acute if many new sessions were starting at once.", "title": "Fix slow session startup when pg_attribute is very large", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.0.8/#AEN101167", "source_hash": "f291eb34a8053b272fe285d3cb88a3e84de3ed5e0d6a59c98714e1d708ded0e3", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix slow session startup when pg_attribute is very large (Tom Lane) If pg_attribute exceeds one-fourth of shared_buffers, cache rebuilding code that is sometimes needed during session start would trigger the synchronized-scan logic, causing it to take many times longer than normal. The problem was particularly acute if many new sessions were starting at once.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.8/changes/009", "db_id": "8e30e72a2405bcb8cb42f78c56812986", "patch_ids": [], "statement_hash": "0a7f507b1407c40499c963726716788f68d57c16325ddd52739c2610a0f7af0b", "relations": [{"rule": 2, "type": "equivalent", "target": "3067d257f33b50d90891579b75bb82b1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0a7f507b1407c40499c963726716788f68d57c16325ddd52739c2610a0f7af0b"}}], "version": "9.0.8", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "3067d257f33b50d90891579b75bb82b1", "kind": "equivalent", "version": "9.1.4", "label": "9.1.4", "title": "Fix slow session startup when pg_attribute is very large", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0a7f507b1407c40499c963726716788f68d57c16325ddd52739c2610a0f7af0b"}, "url": "/docs/compare/?release=9.1.4#9.1.4-f53fd1ab1aae3c28", "source_url": "/docs/release/9.1.4/#AEN109701"}]}, {"id": "9.0.8-72f74d32c0ae6c23", "cves": [], "html": "<p>Ensure sequential scans check for query cancel reasonably often (Merlin Moncure)</p>\n<p>A scan encountering many consecutive pages that contain no live tuples would not respond to interrupts meanwhile.</p>", "text": "Ensure sequential scans check for query cancel reasonably often (Merlin Moncure) A scan encountering many consecutive pages that contain no live tuples would not respond to interrupts meanwhile.", "title": "Ensure sequential scans check for query cancel reasonably often", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.0.8/#AEN101167", "source_hash": "48f014989507f574f50e0319eea1787d248a8c0acb89c83bd8cb242202121d25", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Ensure sequential scans check for query cancel reasonably often (Merlin Moncure) A scan encountering many consecutive pages that contain no live tuples would not respond to interrupts meanwhile.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.8/changes/010", "db_id": "1adeba20bc22f27bf9f5441c733c00fe", "patch_ids": [], "statement_hash": "32c4ebad7086dd8ff0fb67a82b5d81e2020c0da9c949bd90c1da163f46f80891", "relations": [{"rule": 2, "type": "equivalent", "target": "bd6436e92343187447f9bd25be2155e3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "32c4ebad7086dd8ff0fb67a82b5d81e2020c0da9c949bd90c1da163f46f80891"}}], "version": "9.0.8", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "bd6436e92343187447f9bd25be2155e3", "kind": "equivalent", "version": "9.1.4", "label": "9.1.4", "title": "Ensure sequential scans check for query cancel reasonably often", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "32c4ebad7086dd8ff0fb67a82b5d81e2020c0da9c949bd90c1da163f46f80891"}, "url": "/docs/compare/?release=9.1.4#9.1.4-72f74d32c0ae6c23", "source_url": "/docs/release/9.1.4/#AEN109701"}]}, {"id": "9.0.8-6f29443ce19348de", "cves": [], "html": "<p>Ensure the Windows implementation of <code>PGSemaphoreLock()</code> clears ImmediateInterruptOK before returning (Tom Lane)</p>\n<p>This oversight meant that a query-cancel interrupt received later in the same query could be accepted at an unsafe time, with unpredictable but not good consequences.</p>", "text": "Ensure the Windows implementation of PGSemaphoreLock() clears ImmediateInterruptOK before returning (Tom Lane) This oversight meant that a query-cancel interrupt received later in the same query could be accepted at an unsafe time, with unpredictable but not good consequences.", "title": "Ensure the Windows implementation of PGSemaphoreLock() clears ImmediateInterruptOK before returning", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.0.8/#AEN101167", "source_hash": "0515df05c357e80f06528ed45102c74a7345c0c78656281ee72ab3a2948a8f1b", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Ensure the Windows implementation of PGSemaphoreLock() clears ImmediateInterruptOK before returning (Tom Lane) This oversight meant that a query-cancel interrupt received later in the same query could be accepted at an unsafe time, with unpredictable but not good consequences.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.8/changes/011", "db_id": "621e08ded86dac462543a1b66528aedf", "patch_ids": [], "statement_hash": "475baa30bf05e7068b9227b884192b9296ffb209bb282f734ab8b4f1bad76d95", "relations": [{"rule": 2, "type": "equivalent", "target": "db01691604fa124e6f972589c146118e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "475baa30bf05e7068b9227b884192b9296ffb209bb282f734ab8b4f1bad76d95"}}], "version": "9.0.8", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "db01691604fa124e6f972589c146118e", "kind": "equivalent", "version": "9.1.4", "label": "9.1.4", "title": "Ensure the Windows implementation of PGSemaphoreLock() clears ImmediateInterruptOK before returning", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "475baa30bf05e7068b9227b884192b9296ffb209bb282f734ab8b4f1bad76d95"}, "url": "/docs/compare/?release=9.1.4#9.1.4-6f29443ce19348de", "source_url": "/docs/release/9.1.4/#AEN109701"}]}, {"id": "9.0.8-f425228a4f106310", "cves": [], "html": "<p>Show whole-row variables safely when printing views or rules (Abbas Butt, Tom Lane)</p>\n<p>Corner cases involving ambiguous names (that is, the name could be either a table or column name of the query) were printed in an ambiguous way, risking that the view or rule would be interpreted differently after dump and reload. Avoid the ambiguous case by attaching a no-op cast.</p>", "text": "Show whole-row variables safely when printing views or rules (Abbas Butt, Tom Lane) Corner cases involving ambiguous names (that is, the name could be either a table or column name of the query) were printed in an ambiguous way, risking that the view or rule would be interpreted differently after dump and reload. Avoid the ambiguous case by attaching a no-op cast.", "title": "Show whole-row variables safely when printing views or rules", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.0.8/#AEN101167", "source_hash": "3e74b472e7c0b99515ebc321a5a5838a351a6c867b3a9ba9b84464243793b519", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Show whole-row variables safely when printing views or rules (Abbas Butt, Tom Lane) Corner cases involving ambiguous names (that is, the name could be either a table or column name of the query) were printed in an ambiguous way, risking that the view or rule would be interpreted differently after dump and reload. Avoid the ambiguous case by attaching a no-op cast.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.8/changes/012", "db_id": "046268baafb6eb208a178d325c4f509f", "patch_ids": [], "statement_hash": "b08bd7aedbfa17f2c0ae9439b638e1f95a9356d905183fa9049d8bf16d7b6dcb", "relations": [{"rule": 2, "type": "equivalent", "target": "4c8e9274b22ace290b1f223746068ee3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b08bd7aedbfa17f2c0ae9439b638e1f95a9356d905183fa9049d8bf16d7b6dcb"}}], "version": "9.0.8", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "4c8e9274b22ace290b1f223746068ee3", "kind": "equivalent", "version": "9.1.4", "label": "9.1.4", "title": "Show whole-row variables safely when printing views or rules", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b08bd7aedbfa17f2c0ae9439b638e1f95a9356d905183fa9049d8bf16d7b6dcb"}, "url": "/docs/compare/?release=9.1.4#9.1.4-f425228a4f106310", "source_url": "/docs/release/9.1.4/#AEN109701"}]}, {"id": "9.0.8-6383db2c20607036", "cves": [], "html": "<p>Fix COPY FROM to properly handle null marker strings that correspond to invalid encoding (Tom Lane)</p>\n<p>A null marker string such as E'\\\\0' should work, and did work in the past, but the case got broken in 8.4.</p>", "text": "Fix COPY FROM to properly handle null marker strings that correspond to invalid encoding (Tom Lane) A null marker string such as E'\\\\0' should work, and did work in the past, but the case got broken in 8.4.", "title": "Fix COPY FROM to properly handle null marker strings that correspond to invalid encoding", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.0.8/#AEN101167", "source_hash": "cae92798a320025c41a60c0b6591a20eb89652cf2db5351718a0341c03f56614", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix COPY FROM to properly handle null marker strings that correspond to invalid encoding (Tom Lane) A null marker string such as E'\\\\0' should work, and did work in the past, but the case got broken in 8.4.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.8/changes/013", "db_id": "2a4117a0b88da00252fd221e090f5545", "patch_ids": [], "statement_hash": "e95a56110050751e2be814ee1968520c2f1bdb1d487ab0ed47dfa2672f30fb83", "relations": [{"rule": 2, "type": "equivalent", "target": "b5da3801ab6a6f88ccbc5d535a02965a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e95a56110050751e2be814ee1968520c2f1bdb1d487ab0ed47dfa2672f30fb83"}}], "version": "9.0.8", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "b5da3801ab6a6f88ccbc5d535a02965a", "kind": "equivalent", "version": "9.1.4", "label": "9.1.4", "title": "Fix COPY FROM to properly handle null marker strings that correspond to invalid encoding", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e95a56110050751e2be814ee1968520c2f1bdb1d487ab0ed47dfa2672f30fb83"}, "url": "/docs/compare/?release=9.1.4#9.1.4-6383db2c20607036", "source_url": "/docs/release/9.1.4/#AEN109701"}]}, {"id": "9.0.8-11ce81bfd73f79af", "cves": [], "html": "<p>Ensure autovacuum worker processes perform stack depth checking properly (Heikki Linnakangas)</p>\n<p>Previously, infinite recursion in a function invoked by auto-ANALYZE could crash worker processes.</p>", "text": "Ensure autovacuum worker processes perform stack depth checking properly (Heikki Linnakangas) Previously, infinite recursion in a function invoked by auto-ANALYZE could crash worker processes.", "title": "Ensure autovacuum worker processes perform stack depth checking properly", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.0.8/#AEN101167", "source_hash": "b794dd5ddc8be160f08b469b5728c89827fbc41451390fb278c4a23161abce8e", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Ensure autovacuum worker processes perform stack depth checking properly (Heikki Linnakangas) Previously, infinite recursion in a function invoked by auto-ANALYZE could crash worker processes.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.8/changes/014", "db_id": "36167ec72ac13f36f65ffe51dfc10ef8", "patch_ids": [], "statement_hash": "0f52396aa707d6b843a52a7c887bbdde0c730d2fec6c70552b6a7c795241c07e", "relations": [{"rule": 2, "type": "equivalent", "target": "5163f9da5a826eaa7bbcf89a43982fec", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f52396aa707d6b843a52a7c887bbdde0c730d2fec6c70552b6a7c795241c07e"}}], "version": "9.0.8", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "5163f9da5a826eaa7bbcf89a43982fec", "kind": "equivalent", "version": "9.1.4", "label": "9.1.4", "title": "Ensure autovacuum worker processes perform stack depth checking properly", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f52396aa707d6b843a52a7c887bbdde0c730d2fec6c70552b6a7c795241c07e"}, "url": "/docs/compare/?release=9.1.4#9.1.4-11ce81bfd73f79af", "source_url": "/docs/release/9.1.4/#AEN109701"}]}, {"id": "9.0.8-c567676d308121d8", "cves": [], "html": "<p>Fix logging collector to not lose log coherency under high load (Andrew Dunstan)</p>\n<p>The collector previously could fail to reassemble large messages if it got too busy.</p>", "text": "Fix logging collector to not lose log coherency under high load (Andrew Dunstan) The collector previously could fail to reassemble large messages if it got too busy.", "title": "Fix logging collector to not lose log coherency under high load", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.0.8/#AEN101167", "source_hash": "92a514017fd659be3e62a4e84ff9ac785df62dba2904561c23526e0231724645", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix logging collector to not lose log coherency under high load (Andrew Dunstan) The collector previously could fail to reassemble large messages if it got too busy.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.8/changes/015", "db_id": "7bf5d3e7f3ea95a754f5c5a79f806a3b", "patch_ids": [], "statement_hash": "a8f1eaf60d9cbec4f01617787fed23b1a7342ea79b3c4a281c02d49023cafb0e", "relations": [{"rule": 2, "type": "equivalent", "target": "b153bdac2cdae4cf4c2db4419094a37c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a8f1eaf60d9cbec4f01617787fed23b1a7342ea79b3c4a281c02d49023cafb0e"}}], "version": "9.0.8", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "b153bdac2cdae4cf4c2db4419094a37c", "kind": "equivalent", "version": "9.1.4", "label": "9.1.4", "title": "Fix logging collector to not lose log coherency under high load", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a8f1eaf60d9cbec4f01617787fed23b1a7342ea79b3c4a281c02d49023cafb0e"}, "url": "/docs/compare/?release=9.1.4#9.1.4-c567676d308121d8", "source_url": "/docs/release/9.1.4/#AEN109701"}]}, {"id": "9.0.8-d392dac1daa79a66", "cves": [], "html": "<p>Fix logging collector to ensure it will restart file rotation after receiving <span>SIGHUP</span> (Tom Lane)</p>", "text": "Fix logging collector to ensure it will restart file rotation after receiving SIGHUP (Tom Lane)", "title": "Fix logging collector to ensure it will restart file rotation after receiving SIGHUP", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.0.8/#AEN101167", "source_hash": "ab1071859ba97152c11f5b6a38b747a6de1aab06302f74487e414a0272650715", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix logging collector to ensure it will restart file rotation after receiving SIGHUP (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.8/changes/016", "db_id": "848cae60cce40e40e5f5d0f271a779af", "patch_ids": [], "statement_hash": "6fac7f36ad3dde95d58b318c8f49bfa7bae648666592c387f0e27dca94ab7c6b", "relations": [{"rule": 2, "type": "equivalent", "target": "874b3ea93908f9ba5c8325180087db06", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6fac7f36ad3dde95d58b318c8f49bfa7bae648666592c387f0e27dca94ab7c6b"}}], "version": "9.0.8", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "874b3ea93908f9ba5c8325180087db06", "kind": "equivalent", "version": "9.1.4", "label": "9.1.4", "title": "Fix logging collector to ensure it will restart file rotation after receiving SIGHUP", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6fac7f36ad3dde95d58b318c8f49bfa7bae648666592c387f0e27dca94ab7c6b"}, "url": "/docs/compare/?release=9.1.4#9.1.4-d392dac1daa79a66", "source_url": "/docs/release/9.1.4/#AEN109701"}]}, {"id": "9.0.8-2babc0fb7e7d1f51", "cves": [], "html": "<p>Fix WAL replay logic for GIN indexes to not fail if the index was subsequently dropped (Tom Lane)</p>", "text": "Fix WAL replay logic for GIN indexes to not fail if the index was subsequently dropped (Tom Lane)", "title": "Fix WAL replay logic for GIN indexes to not fail if the index was subsequently dropped", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.0.8/#AEN101167", "source_hash": "9c968194c67f0d8782fce65804003937935d85c5c96170c7279f172e067c889e", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix WAL replay logic for GIN indexes to not fail if the index was subsequently dropped (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.8/changes/017", "db_id": "f31f64f9c579661cdacb2fbfa7f24af1", "patch_ids": [], "statement_hash": "3c20319e0fbcbc1ecbf8cc8cc2c9c0d70f21c12ade0d88c48cc5722447792d84", "relations": [{"rule": 2, "type": "equivalent", "target": "78130b6a8a0ac77de9d35f9a208a5366", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3c20319e0fbcbc1ecbf8cc8cc2c9c0d70f21c12ade0d88c48cc5722447792d84"}}], "version": "9.0.8", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "78130b6a8a0ac77de9d35f9a208a5366", "kind": "equivalent", "version": "9.1.4", "label": "9.1.4", "title": "Fix WAL replay logic for GIN indexes to not fail if the index was subsequently dropped", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3c20319e0fbcbc1ecbf8cc8cc2c9c0d70f21c12ade0d88c48cc5722447792d84"}, "url": "/docs/compare/?release=9.1.4#9.1.4-2babc0fb7e7d1f51", "source_url": "/docs/release/9.1.4/#AEN109701"}]}, {"id": "9.0.8-9ad194a1cd8f8f1f", "cves": [], "html": "<p>Fix memory leak in PL/pgSQL's RETURN NEXT command (Joe Conway)</p>", "text": "Fix memory leak in PL/pgSQL's RETURN NEXT command (Joe Conway)", "title": "Fix memory leak in PL/pgSQL's RETURN NEXT command", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.0.8/#AEN101167", "source_hash": "d6994eee9cd96838028f24df93e4f13f0c4a1e76dc3d347dee298abb934442e1", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix memory leak in PL/pgSQL's RETURN NEXT command (Joe Conway)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.8/changes/018", "db_id": "540f10a54d1bf2813fecd40209bc5457", "patch_ids": [], "statement_hash": "ff4f48f8b2ccc6064b6ea5b63e49627a4fff4828e77ab95c5cb88d7917cd3e05", "relations": [{"rule": 2, "type": "equivalent", "target": "ae5ee9f16eeeec833b76b57a9a9ce715", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ff4f48f8b2ccc6064b6ea5b63e49627a4fff4828e77ab95c5cb88d7917cd3e05"}}], "version": "9.0.8", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "ae5ee9f16eeeec833b76b57a9a9ce715", "kind": "equivalent", "version": "9.1.4", "label": "9.1.4", "title": "Fix memory leak in PL/pgSQL's RETURN NEXT command", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ff4f48f8b2ccc6064b6ea5b63e49627a4fff4828e77ab95c5cb88d7917cd3e05"}, "url": "/docs/compare/?release=9.1.4#9.1.4-9ad194a1cd8f8f1f", "source_url": "/docs/release/9.1.4/#AEN109701"}]}, {"id": "9.0.8-8c00a3297041a76f", "cves": [], "html": "<p>Fix PL/pgSQL's GET DIAGNOSTICS command when the target is the function's first variable (Tom Lane)</p>", "text": "Fix PL/pgSQL's GET DIAGNOSTICS command when the target is the function's first variable (Tom Lane)", "title": "Fix PL/pgSQL's GET DIAGNOSTICS command when the target is the function's first variable", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.0.8/#AEN101167", "source_hash": "c45f1bfd877d53a249b8e330a739f5cf5ac77d73651702b41c94463e1223fd18", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix PL/pgSQL's GET DIAGNOSTICS command when the target is the function's first variable (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.8/changes/019", "db_id": "7f0bc33006563175bc5414d7816dcf96", "patch_ids": [], "statement_hash": "ac74968daa2b65e50dc6e0d049d58e3be94549e24bc4bf9939ab692a8b4b4222", "relations": [{"rule": 2, "type": "equivalent", "target": "87472d649a176ede91baaebedd0b831d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ac74968daa2b65e50dc6e0d049d58e3be94549e24bc4bf9939ab692a8b4b4222"}}], "version": "9.0.8", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "87472d649a176ede91baaebedd0b831d", "kind": "equivalent", "version": "9.1.4", "label": "9.1.4", "title": "Fix PL/pgSQL's GET DIAGNOSTICS command when the target is the function's first variable", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ac74968daa2b65e50dc6e0d049d58e3be94549e24bc4bf9939ab692a8b4b4222"}, "url": "/docs/compare/?release=9.1.4#9.1.4-8c00a3297041a76f", "source_url": "/docs/release/9.1.4/#AEN109701"}]}, {"id": "9.0.8-47290352b0f24163", "cves": [], "html": "<p>Fix potential access off the end of memory in <span>psql</span>'s expanded display (\\x) mode (Peter Eisentraut)</p>", "text": "Fix potential access off the end of memory in psql's expanded display (\\x) mode (Peter Eisentraut)", "title": "Fix potential access off the end of memory in psql's expanded display (\\x) mode", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.0.8/#AEN101167", "source_hash": "589cf070918bbc41aa76c74fc9ab68b3c5b10e1f95bba059b7ebf1eae17d599f", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix potential access off the end of memory in psql's expanded display (\\x) mode (Peter Eisentraut)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.8/changes/020", "db_id": "73ebf284c9b01ca4b21dd84fb622e363", "patch_ids": [], "statement_hash": "cd3f8f30a929dcb62c007262f8144eb4ff9da0bb6418fc7c9f05188a025e2d00", "relations": [{"rule": 2, "type": "equivalent", "target": "03d3ce536e76a31bdcc0cc050132798f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cd3f8f30a929dcb62c007262f8144eb4ff9da0bb6418fc7c9f05188a025e2d00"}}], "version": "9.0.8", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "03d3ce536e76a31bdcc0cc050132798f", "kind": "equivalent", "version": "9.1.4", "label": "9.1.4", "title": "Fix potential access off the end of memory in psql's expanded display (\\x) mode", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cd3f8f30a929dcb62c007262f8144eb4ff9da0bb6418fc7c9f05188a025e2d00"}, "url": "/docs/compare/?release=9.1.4#9.1.4-47290352b0f24163", "source_url": "/docs/release/9.1.4/#AEN109701"}]}, {"id": "9.0.8-1e5e0cef30b15ef7", "cves": [], "html": "<p>Fix several performance problems in <span>pg_dump</span> when the database contains many objects (Jeff Janes, Tom Lane)</p>\n<p><span>pg_dump</span> could get very slow if the database contained many schemas, or if many objects are in dependency loops, or if there are many owned sequences.</p>", "text": "Fix several performance problems in pg_dump when the database contains many objects (Jeff Janes, Tom Lane) pg_dump could get very slow if the database contained many schemas, or if many objects are in dependency loops, or if there are many owned sequences.", "title": "Fix several performance problems in pg_dump when the database contains many objects", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.0.8/#AEN101167", "source_hash": "0b7b863e6ad07da1a0c1b29b0e6399b9cbafefcbfb400ad6e854033bf55f1521", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix several performance problems in pg_dump when the database contains many objects (Jeff Janes, Tom Lane) pg_dump could get very slow if the database contained many schemas, or if many objects are in dependency loops, or if there are many owned sequences.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.8/changes/021", "db_id": "5b97b955dcbbdace43be1ac7e00eca55", "patch_ids": [], "statement_hash": "ba9de3cb96597ea955a9878da3161da87dfdaf13e916d135578cb969c0f0a402", "relations": [{"rule": 2, "type": "equivalent", "target": "e3be79fdcc3d8276f9c34911da1b31e1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ba9de3cb96597ea955a9878da3161da87dfdaf13e916d135578cb969c0f0a402"}}], "version": "9.0.8", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "e3be79fdcc3d8276f9c34911da1b31e1", "kind": "equivalent", "version": "9.1.4", "label": "9.1.4", "title": "Fix several performance problems in pg_dump when the database contains many objects", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ba9de3cb96597ea955a9878da3161da87dfdaf13e916d135578cb969c0f0a402"}, "url": "/docs/compare/?release=9.1.4#9.1.4-1e5e0cef30b15ef7", "source_url": "/docs/release/9.1.4/#AEN109701"}]}, {"id": "9.0.8-7e4596d72a1be367", "cves": [], "html": "<p>Fix <span>pg_upgrade</span> for the case that a database stored in a non-default tablespace contains a table in the cluster's default tablespace (Bruce Momjian)</p>", "text": "Fix pg_upgrade for the case that a database stored in a non-default tablespace contains a table in the cluster's default tablespace (Bruce Momjian)", "title": "Fix pg_upgrade for the case that a database stored in a non-default tablespace contains a table in the cluster's default tablespace", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.0.8/#AEN101167", "source_hash": "3a5130d2f40e09ab624cebd62dfdebfddab087f3853ddfbded5155986a620e56", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix pg_upgrade for the case that a database stored in a non-default tablespace contains a table in the cluster's default tablespace (Bruce Momjian)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.8/changes/022", "db_id": "01705f9cce568b7bae7577ad54fe41ee", "patch_ids": [], "statement_hash": "8aad3c1d6704206ddf8218a7c0e100bc2566e7363ba0fcc9658c1870879f552d", "relations": [{"rule": 2, "type": "equivalent", "target": "c7ed7794cd7dd70f465e312ef9cf1d26", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8aad3c1d6704206ddf8218a7c0e100bc2566e7363ba0fcc9658c1870879f552d"}}], "version": "9.0.8", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "c7ed7794cd7dd70f465e312ef9cf1d26", "kind": "equivalent", "version": "9.1.4", "label": "9.1.4", "title": "Fix pg_upgrade for the case that a database stored in a non-default tablespace contains a table in the cluster's default tablespace", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8aad3c1d6704206ddf8218a7c0e100bc2566e7363ba0fcc9658c1870879f552d"}, "url": "/docs/compare/?release=9.1.4#9.1.4-7e4596d72a1be367", "source_url": "/docs/release/9.1.4/#AEN109701"}]}, {"id": "9.0.8-43e42056abae80e3", "cves": [], "html": "<p>In <span>ecpg</span>, fix rare memory leaks and possible overwrite of one byte after the sqlca_t structure (Peter Eisentraut)</p>", "text": "In ecpg, fix rare memory leaks and possible overwrite of one byte after the sqlca_t structure (Peter Eisentraut)", "title": "In ecpg, fix rare memory leaks and possible overwrite of one byte after the sqlca_t structure", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.0.8/#AEN101167", "source_hash": "6c439c4f1d44043b85741512b28bdd168696c05a022adc48627638aef88e23ff", "section_path": ["Changes"], "commit_groups": [], "identity_text": "In ecpg, fix rare memory leaks and possible overwrite of one byte after the sqlca_t structure (Peter Eisentraut)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.8/changes/023", "db_id": "968b61bf5aa38dbfd77252a6036bdf7e", "patch_ids": [], "statement_hash": "cd0d7d48c81eb93b5adce5ca4e2079fcd7d857236d49b52474fb34287e7501f0", "relations": [{"rule": 2, "type": "equivalent", "target": "0e0311bb9e47ab1a5317107abd83681e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cd0d7d48c81eb93b5adce5ca4e2079fcd7d857236d49b52474fb34287e7501f0"}}], "version": "9.0.8", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "0e0311bb9e47ab1a5317107abd83681e", "kind": "equivalent", "version": "9.1.4", "label": "9.1.4", "title": "In ecpg, fix rare memory leaks and possible overwrite of one byte after the sqlca_t structure", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cd0d7d48c81eb93b5adce5ca4e2079fcd7d857236d49b52474fb34287e7501f0"}, "url": "/docs/compare/?release=9.1.4#9.1.4-43e42056abae80e3", "source_url": "/docs/release/9.1.4/#AEN109701"}]}, {"id": "9.0.8-113b51ee244d3d97", "cves": [], "html": "<p>Fix contrib/dblink's <code>dblink_exec()</code> to not leak temporary database connections upon error (Tom Lane)</p>", "text": "Fix contrib/dblink's dblink_exec() to not leak temporary database connections upon error (Tom Lane)", "title": "Fix contrib/dblink's dblink_exec() to not leak temporary database connections upon error", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.0.8/#AEN101167", "source_hash": "a470ae866f4e01750447f1fdf06ef55889b7db57a610b08252029e543c795568", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix contrib/dblink's dblink_exec() to not leak temporary database connections upon error (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.8/changes/024", "db_id": "0a4347750fa1fc8bdc0b002851db44ff", "patch_ids": [], "statement_hash": "162444061d4bb632cb068bb4a6f0205104aeb64fea3c3c2a7ac8203c344b958e", "relations": [{"rule": 2, "type": "equivalent", "target": "4a40399bde68729941fab650eecad469", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "162444061d4bb632cb068bb4a6f0205104aeb64fea3c3c2a7ac8203c344b958e"}}], "version": "9.0.8", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "4a40399bde68729941fab650eecad469", "kind": "equivalent", "version": "9.1.4", "label": "9.1.4", "title": "Fix contrib/dblink's dblink_exec() to not leak temporary database connections upon error", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "162444061d4bb632cb068bb4a6f0205104aeb64fea3c3c2a7ac8203c344b958e"}, "url": "/docs/compare/?release=9.1.4#9.1.4-113b51ee244d3d97", "source_url": "/docs/release/9.1.4/#AEN109701"}]}, {"id": "9.0.8-7a01fa3cd1f4dbc2", "cves": [], "html": "<p>Fix contrib/dblink to report the correct connection name in error messages (Kyotaro Horiguchi)</p>", "text": "Fix contrib/dblink to report the correct connection name in error messages (Kyotaro Horiguchi)", "title": "Fix contrib/dblink to report the correct connection name in error messages", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.0.8/#AEN101167", "source_hash": "b9663f734e81c9170f9ba6ef52e2d1004f33b98d2a59f9df1f6e205f5ab8b572", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix contrib/dblink to report the correct connection name in error messages (Kyotaro Horiguchi)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.8/changes/025", "db_id": "debb644b8744c4750b6f6786febb0987", "patch_ids": [], "statement_hash": "73885a3938aa56d22a54a4a7b9f4738ae3ca9e973105cdf6dddb2d188782ee30", "relations": [{"rule": 2, "type": "equivalent", "target": "8f6f7773f98b1d3398f9747ac43e8ead", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "73885a3938aa56d22a54a4a7b9f4738ae3ca9e973105cdf6dddb2d188782ee30"}}], "version": "9.0.8", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "8f6f7773f98b1d3398f9747ac43e8ead", "kind": "equivalent", "version": "9.1.4", "label": "9.1.4", "title": "Fix contrib/dblink to report the correct connection name in error messages", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "73885a3938aa56d22a54a4a7b9f4738ae3ca9e973105cdf6dddb2d188782ee30"}, "url": "/docs/compare/?release=9.1.4#9.1.4-7a01fa3cd1f4dbc2", "source_url": "/docs/release/9.1.4/#AEN109701"}]}, {"id": "9.0.8-5528da127cb2e178", "cves": [], "html": "<p>Fix contrib/vacuumlo to use multiple transactions when dropping many large objects (Tim Lewis, Robert Haas, Tom Lane)</p>\n<p>This change avoids exceeding max_locks_per_transaction when many objects need to be dropped. The behavior can be adjusted with the new -l (limit) option.</p>", "text": "Fix contrib/vacuumlo to use multiple transactions when dropping many large objects (Tim Lewis, Robert Haas, Tom Lane) This change avoids exceeding max_locks_per_transaction when many objects need to be dropped. The behavior can be adjusted with the new -l (limit) option.", "title": "Fix contrib/vacuumlo to use multiple transactions when dropping many large objects", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.0.8/#AEN101167", "source_hash": "b4a2df1eb0447802de26c326832d9843c2242374b13f375b386e450227910397", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix contrib/vacuumlo to use multiple transactions when dropping many large objects (Tim Lewis, Robert Haas, Tom Lane) This change avoids exceeding max_locks_per_transaction when many objects need to be dropped. The behavior can be adjusted with the new -l (limit) option.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.8/changes/026", "db_id": "9e65fef5790e9fb2e40776c0dce94ba1", "patch_ids": [], "statement_hash": "fa38809048291f61b64535c94125b01f22bbe03881cae84b7aa8f3448aa98433", "relations": [{"rule": 2, "type": "equivalent", "target": "041593791e94dea325e10e027f7ff0c2", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fa38809048291f61b64535c94125b01f22bbe03881cae84b7aa8f3448aa98433"}}], "version": "9.0.8", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "041593791e94dea325e10e027f7ff0c2", "kind": "equivalent", "version": "9.1.4", "label": "9.1.4", "title": "Fix contrib/vacuumlo to use multiple transactions when dropping many large objects", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fa38809048291f61b64535c94125b01f22bbe03881cae84b7aa8f3448aa98433"}, "url": "/docs/compare/?release=9.1.4#9.1.4-5528da127cb2e178", "source_url": "/docs/release/9.1.4/#AEN109701"}]}, {"id": "9.0.8-4189de2570bac196", "cves": [], "html": "<p>Update time zone data files to <span>tzdata</span> release 2012c for DST law changes in Antarctica, Armenia, Chile, Cuba, Falkland Islands, Gaza, Haiti, Hebron, Morocco, Syria, and Tokelau Islands; also historical corrections for Canada.</p>", "text": "Update time zone data files to tzdata release 2012c for DST law changes in Antarctica, Armenia, Chile, Cuba, Falkland Islands, Gaza, Haiti, Hebron, Morocco, Syria, and Tokelau Islands; also historical corrections for Canada.", "title": "Update time zone data files to tzdata release 2012c for DST law changes in Antarctica, Armenia, Chile, Cuba, Falkland Islands, Gaza, Haiti, Hebron, Morocco, Syria, and Tokelau Islands; also historical corrections for Canada.", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.0.8/#AEN101167", "source_hash": "dc0176a41c662846b8edd357cf239310d2889274a66ba9ecc80334be96fa97b7", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Update time zone data files to tzdata release 2012c for DST law changes in Antarctica, Armenia, Chile, Cuba, Falkland Islands, Gaza, Haiti, Hebron, Morocco, Syria, and Tokelau Islands; also historical corrections for Canada.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.0.8/changes/027", "db_id": "545903ff595e4f4546424f7f487341da", "patch_ids": [], "statement_hash": "3f17c38061acf5621020544a0ed298975c38f8f64df80267f36868e3cdcb8114", "relations": [{"rule": 2, "type": "equivalent", "target": "0a49d71104e76727e9d5ecdcfc06035e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3f17c38061acf5621020544a0ed298975c38f8f64df80267f36868e3cdcb8114"}}], "version": "9.0.8", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "0a49d71104e76727e9d5ecdcfc06035e", "kind": "equivalent", "version": "9.1.4", "label": "9.1.4", "title": "Update time zone data files to tzdata release 2012c for DST law changes in Antarctica, Armenia, Chile, Cuba, Falkland Islands, Gaza, Haiti, Hebron, Morocco, Syria, and Tokelau Islands; also historical corrections for Canada.", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3f17c38061acf5621020544a0ed298975c38f8f64df80267f36868e3cdcb8114"}, "url": "/docs/compare/?release=9.1.4#9.1.4-4189de2570bac196", "source_url": "/docs/release/9.1.4/#AEN109701"}]}]}], "stats": [{"key": "all", "label": "All changes", "count": 27}, {"key": "feature", "label": "Features", "count": 0}, {"key": "bugfix", "label": "Bug fixes", "count": 19}, {"key": "security", "label": "Security", "count": 2}, {"key": "performance", "label": "Performance", "count": 0}, {"key": "compatibility", "label": "Compatibility", "count": 0}, {"key": "improvement", "label": "Improvements", "count": 6}], "total": 27, "release_count": 1, "cross_major": false, "cve_count": 2, "cves": [{"id": "CVE-2012-2655", "url": "https://www.postgresql.org/support/security/CVE-2012-2655/", "fixed": {"8.3": "8.3.19", "8.4": "8.4.12", "9.0": "9.0.8", "9.1": "9.1.4"}, "score": null, "title": "Ignore SECURITY DEFINER and SET attributes for a procedural language's call handler", "vector": "", "affected": {"8.3": "8.3", "8.4": "8.4", "9.0": "9.0", "9.1": "9.1"}, "component": "", "published": {}, "introduced": {}, "cvss_version": "", "description_en": "", "first_published": null, "fixed_version": "9.0.8"}, {"id": "CVE-2012-2143", "url": "https://www.postgresql.org/support/security/CVE-2012-2143/", "fixed": {"8.3": "8.3.19", "8.4": "8.4.12", "9.0": "9.0.8", "9.1": "9.1.4"}, "score": null, "title": "Fix incorrect password transformation in contrib/pgcrypto's DES crypt() function", "vector": "", "affected": {"8.3": "8.3", "8.4": "8.4", "9.0": "9.0", "9.1": "9.1"}, "component": "", "published": {}, "introduced": {}, "cvss_version": "", "description_en": "", "first_published": null, "fixed_version": "9.0.8"}], "cve_available": true, "remaining_cves": [], "security_regressions": [], "warnings": [], "candidate_count": 27, "already_in_source_count": 0, "duplicate_count": 0, "excluded_count": 0, "exclusions": [], "source_as_of": "2026-09-26", "security_as_of": "2026-09-26"}