{"format": 1, "version": {"branch": "13", "url": "/wiki/versions/13/", "state": "eol", "state_label": "End of life", "tag": "", "build": "13.23", "first_release": "2020-09-24", "end_of_life": "2025-11-13", "latest_release_date": "2025-11-13", "manual_url": "/docs/13/index.html", "manual_slug": "13", "manual_pages": 1142, "manual_loaded_at": "2026-09-27T00:10:47.078613", "source_revision": "", "release_count": 24, "entry_count": 1164, "initial": {"version": "13.0", "build": "13.0", "status": "stable", "date": "2020-09-24", "source_as_of": "", "url": "/docs/compare/?release=13.0", "manual_url": "/docs/13/release-13.html", "source_url": "/docs/release/13.0/", "entry_count": 178, "categories": {"compatibility": 15, "feature": 143, "performance": 16, "bugfix": 4}, "compatibility_count": 15, "cves": [], "cve_count": 0}, "latest": {"version": "13.23", "build": "13.23", "status": "stable", "date": "2025-11-13", "source_as_of": "", "url": "/docs/compare/?release=13.23", "manual_url": "/docs/13/release-13-23.html", "source_url": "/docs/release/13.23/", "entry_count": 43, "categories": {"security": 2, "bugfix": 22, "improvement": 19}, "compatibility_count": 0, "cves": ["CVE-2025-12817", "CVE-2025-12818"], "cve_count": 2}, "comparison_url": "/docs/compare/?from=13.0&to=13.23"}, "releases": [{"version": "13.23", "build": "13.23", "status": "stable", "date": "2025-11-13", "source_as_of": "", "url": "/docs/compare/?release=13.23", "manual_url": "/docs/13/release-13-23.html", "source_url": "/docs/release/13.23/", "entry_count": 43, "categories": {"security": 2, "bugfix": 22, "improvement": 19}, "compatibility_count": 0, "cves": ["CVE-2025-12817", "CVE-2025-12818"], "cve_count": 2}, {"version": "13.22", "build": "13.22", "status": "stable", "date": "2025-08-14", "source_as_of": "", "url": "/docs/compare/?release=13.22", "manual_url": "/docs/13/release-13-22.html", "source_url": "/docs/release/13.22/", "entry_count": 44, "categories": {"security": 3, "improvement": 31, "bugfix": 10}, "compatibility_count": 0, "cves": ["CVE-2012-0868", "CVE-2017-7484", "CVE-2025-8713", "CVE-2025-8714", "CVE-2025-8715"], "cve_count": 5}, {"version": "13.21", "build": "13.21", "status": "stable", "date": "2025-05-08", "source_as_of": "", "url": "/docs/compare/?release=13.21", "manual_url": "/docs/13/release-13-21.html", "source_url": "/docs/release/13.21/", "entry_count": 28, "categories": {"security": 1, "improvement": 15, "bugfix": 12}, "compatibility_count": 0, "cves": ["CVE-2025-4207"], "cve_count": 1}, {"version": "13.20", "build": "13.20", "status": "stable", "date": "2025-02-20", "source_as_of": "", "url": "/docs/compare/?release=13.20", "manual_url": "/docs/13/release-13-20.html", "source_url": "/docs/release/13.20/", "entry_count": 2, "categories": {"security": 1, "bugfix": 1}, "compatibility_count": 0, "cves": ["CVE-2025-1094"], "cve_count": 1}, {"version": "13.19", "build": "13.19", "status": "stable", "date": "2025-02-13", "source_as_of": "", "url": "/docs/compare/?release=13.19", "manual_url": "/docs/13/release-13-19.html", "source_url": "/docs/release/13.19/", "entry_count": 45, "categories": {"security": 1, "improvement": 18, "bugfix": 26}, "compatibility_count": 0, "cves": ["CVE-2025-1094"], "cve_count": 1}, {"version": "13.18", "build": "13.18", "status": "stable", "date": "2024-11-21", "source_as_of": "", "url": "/docs/compare/?release=13.18", "manual_url": "/docs/13/release-13-18.html", "source_url": "/docs/release/13.18/", "entry_count": 4, "categories": {"security": 1, "bugfix": 2, "improvement": 1}, "compatibility_count": 0, "cves": ["CVE-2024-10978"], "cve_count": 1}, {"version": "13.17", "build": "13.17", "status": "stable", "date": "2024-11-14", "source_as_of": "", "url": "/docs/compare/?release=13.17", "manual_url": "/docs/13/release-13-17.html", "source_url": "/docs/release/13.17/", "entry_count": 38, "categories": {"security": 4, "bugfix": 14, "improvement": 20}, "compatibility_count": 0, "cves": ["CVE-2024-10976", "CVE-2024-10977", "CVE-2024-10978", "CVE-2024-10979"], "cve_count": 4}, {"version": "13.16", "build": "13.16", "status": "stable", "date": "2024-08-08", "source_as_of": "", "url": "/docs/compare/?release=13.16", "manual_url": "/docs/13/release-13-16.html", "source_url": "/docs/release/13.16/", "entry_count": 36, "categories": {"security": 2, "bugfix": 17, "improvement": 17}, "compatibility_count": 0, "cves": ["CVE-2023-5869", "CVE-2024-7348"], "cve_count": 2}, {"version": "13.15", "build": "13.15", "status": "stable", "date": "2024-05-09", "source_as_of": "", "url": "/docs/compare/?release=13.15", "manual_url": "/docs/13/release-13-15.html", "source_url": "/docs/release/13.15/", "entry_count": 35, "categories": {"bugfix": 15, "improvement": 20}, "compatibility_count": 0, "cves": [], "cve_count": 0}, {"version": "13.14", "build": "13.14", "status": "stable", "date": "2024-02-08", "source_as_of": "", "url": "/docs/compare/?release=13.14", "manual_url": "/docs/13/release-13-14.html", "source_url": "/docs/release/13.14/", "entry_count": 40, "categories": {"security": 1, "bugfix": 15, "improvement": 24}, "compatibility_count": 0, "cves": ["CVE-2024-0985"], "cve_count": 1}, {"version": "13.13", "build": "13.13", "status": "stable", "date": "2023-11-09", "source_as_of": "", "url": "/docs/compare/?release=13.13", "manual_url": "/docs/13/release-13-13.html", "source_url": "/docs/release/13.13/", "entry_count": 48, "categories": {"security": 3, "bugfix": 17, "improvement": 28}, "compatibility_count": 0, "cves": ["CVE-2023-5868", "CVE-2023-5869", "CVE-2023-5870"], "cve_count": 3}, {"version": "13.12", "build": "13.12", "status": "stable", "date": "2023-08-10", "source_as_of": "", "url": "/docs/compare/?release=13.12", "manual_url": "/docs/13/release-13-12.html", "source_url": "/docs/release/13.12/", "entry_count": 36, "categories": {"security": 1, "bugfix": 17, "improvement": 18}, "compatibility_count": 0, "cves": ["CVE-2023-39417"], "cve_count": 1}, {"version": "13.11", "build": "13.11", "status": "stable", "date": "2023-05-11", "source_as_of": "", "url": "/docs/compare/?release=13.11", "manual_url": "/docs/13/release-13-11.html", "source_url": "/docs/release/13.11/", "entry_count": 55, "categories": {"security": 2, "bugfix": 28, "improvement": 25}, "compatibility_count": 0, "cves": ["CVE-2023-2454", "CVE-2023-2455"], "cve_count": 2}, {"version": "13.10", "build": "13.10", "status": "stable", "date": "2023-02-09", "source_as_of": "", "url": "/docs/compare/?release=13.10", "manual_url": "/docs/13/release-13-10.html", "source_url": "/docs/release/13.10/", "entry_count": 38, "categories": {"security": 1, "bugfix": 15, "improvement": 22}, "compatibility_count": 0, "cves": ["CVE-2022-41862"], "cve_count": 1}, {"version": "13.9", "build": "13.9", "status": "stable", "date": "2022-11-10", "source_as_of": "", "url": "/docs/compare/?release=13.9", "manual_url": "/docs/13/release-13-9.html", "source_url": "/docs/release/13.9/", "entry_count": 41, "categories": {"improvement": 22, "bugfix": 19}, "compatibility_count": 0, "cves": [], "cve_count": 0}, {"version": "13.8", "build": "13.8", "status": "stable", "date": "2022-08-11", "source_as_of": "", "url": "/docs/compare/?release=13.8", "manual_url": "/docs/13/release-13-8.html", "source_url": "/docs/release/13.8/", "entry_count": 43, "categories": {"security": 2, "bugfix": 18, "improvement": 23}, "compatibility_count": 0, "cves": ["CVE-2022-1552", "CVE-2022-2625"], "cve_count": 2}, {"version": "13.7", "build": "13.7", "status": "stable", "date": "2022-05-12", "source_as_of": "", "url": "/docs/compare/?release=13.7", "manual_url": "/docs/13/release-13-7.html", "source_url": "/docs/release/13.7/", "entry_count": 38, "categories": {"security": 1, "bugfix": 20, "improvement": 17}, "compatibility_count": 0, "cves": ["CVE-2022-1552"], "cve_count": 1}, {"version": "13.6", "build": "13.6", "status": "stable", "date": "2022-02-10", "source_as_of": "", "url": "/docs/compare/?release=13.6", "manual_url": "/docs/13/release-13-6.html", "source_url": "/docs/release/13.6/", "entry_count": 41, "categories": {"improvement": 19, "bugfix": 21, "performance": 1}, "compatibility_count": 0, "cves": [], "cve_count": 0}, {"version": "13.5", "build": "13.5", "status": "stable", "date": "2021-11-11", "source_as_of": "", "url": "/docs/compare/?release=13.5", "manual_url": "/docs/13/release-13-5.html", "source_url": "/docs/release/13.5/", "entry_count": 77, "categories": {"security": 2, "bugfix": 36, "improvement": 38, "performance": 1}, "compatibility_count": 0, "cves": ["CVE-2021-23214", "CVE-2021-23222"], "cve_count": 2}, {"version": "13.4", "build": "13.4", "status": "stable", "date": "2021-08-12", "source_as_of": "", "url": "/docs/compare/?release=13.4", "manual_url": "/docs/13/release-13-4.html", "source_url": "/docs/release/13.4/", "entry_count": 77, "categories": {"security": 3, "improvement": 45, "bugfix": 28, "performance": 1}, "compatibility_count": 0, "cves": ["CVE-2006-2313", "CVE-2021-3449", "CVE-2021-3677"], "cve_count": 3}, {"version": "13.3", "build": "13.3", "status": "stable", "date": "2021-05-13", "source_as_of": "", "url": "/docs/compare/?release=13.3", "manual_url": "/docs/13/release-13-3.html", "source_url": "/docs/release/13.3/", "entry_count": 48, "categories": {"security": 3, "bugfix": 27, "improvement": 17, "performance": 1}, "compatibility_count": 0, "cves": ["CVE-2021-32027", "CVE-2021-32028", "CVE-2021-32029"], "cve_count": 3}, {"version": "13.2", "build": "13.2", "status": "stable", "date": "2021-02-11", "source_as_of": "", "url": "/docs/compare/?release=13.2", "manual_url": "/docs/13/release-13-2.html", "source_url": "/docs/release/13.2/", "entry_count": 80, "categories": {"security": 2, "bugfix": 42, "improvement": 36}, "compatibility_count": 0, "cves": ["CVE-2021-20229", "CVE-2021-3393"], "cve_count": 2}, {"version": "13.1", "build": "13.1", "status": "stable", "date": "2020-11-12", "source_as_of": "", "url": "/docs/compare/?release=13.1", "manual_url": "/docs/13/release-13-1.html", "source_url": "/docs/release/13.1/", "entry_count": 49, "categories": {"security": 4, "bugfix": 24, "improvement": 21}, "compatibility_count": 0, "cves": ["CVE-2020-25694", "CVE-2020-25695", "CVE-2020-25696"], "cve_count": 3}, {"version": "13.0", "build": "13.0", "status": "stable", "date": "2020-09-24", "source_as_of": "", "url": "/docs/compare/?release=13.0", "manual_url": "/docs/13/release-13.html", "source_url": "/docs/release/13.0/", "entry_count": 178, "categories": {"compatibility": 15, "feature": 143, "performance": 16, "bugfix": 4}, "compatibility_count": 15, "cves": [], "cve_count": 0}], "initial_entries": [{"id": "13.0-33b58367d6134838", "cves": [], "html": "<p>Change <a href=\"/docs/13/functions-matching.html#FUNCTIONS-SIMILARTO-REGEXP\" title=\"9.7.2.\u00a0SIMILAR TO Regular Expressions\"><code>SIMILAR TO ... ESCAPE NULL</code></a> to return <code>NULL</code> (Tom Lane) <a href=\"https://postgr.es/c/ca70bdaef\">\u00a7</a></p>\n<p>This new behavior matches the <acronym>SQL</acronym> specification. Previously a null <code>ESCAPE</code> value was taken to mean using the default escape string (a backslash character). This also applies to <code>substring(<em><code>text</code></em> FROM <em><code>pattern</code></em> ESCAPE <em><code>text</code></em>)</code>. The previous behavior has been retained in old views by keeping the original function unchanged.</p>", "text": "Change SIMILAR TO ... ESCAPE NULL to return NULL (Tom Lane) \u00a7 This new behavior matches the SQL specification. Previously a null ESCAPE value was taken to mean using the default escape string (a backslash character). This also applies to substring(text FROM pattern ESCAPE text). The previous behavior has been retained in old views by keeping the original function unchanged.", "title": "Change SIMILAR TO ... ESCAPE NULL to return NULL", "commits": ["ca70bdaef"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/13.0/#id-1.11.6.29.4", "source_hash": "3239b92d8dfa2b955503fed1b9647544aaf3f4d9bf9cc3c03c39d38985271d81", "section_path": ["Compatibility"], "commit_groups": [["ca70bdaef"]], "identity_text": "Change SIMILAR TO ... ESCAPE NULL to return NULL (Tom Lane) This new behavior matches the SQL specification. Previously a null ESCAPE value was taken to mean using the default escape string (a backslash character). This also applies to substring(text FROM pattern ESCAPE text). The previous behavior has been retained in old views by keeping the original function unchanged.", "commit_aliases": ["ca70bdaef"], "source_commits": ["ca70bdaef"], "source_entry_id": "13.0/migration/001", "db_id": "002b80591bc6fee2e2ce080680a7ad46", "patch_ids": ["eeb400fcc67921acf6635ffdabaa5f5e"], "statement_hash": "44ce1777acf91f4c78ee797940714f9eca4eccd515b461fe601c69c438680ce1", "relations": [], "category_label": "Compatibility", "url": "/docs/compare/?release=13.0#13.0-33b58367d6134838", "migration": true}, {"id": "13.0-cff16c52bc843914", "cves": [], "html": "<p>Make <a href=\"/docs/13/functions-textsearch.html#TEXTSEARCH-FUNCTIONS-TABLE\" title=\"Table\u00a09.42.\u00a0Text Search Functions\"><code>json[b]_to_tsvector()</code></a> fully check the spelling of its <code>string</code> option (Dominik Czarnota) <a href=\"https://postgr.es/c/870ad6a59\">\u00a7</a></p>", "text": "Make json[b]_to_tsvector() fully check the spelling of its string option (Dominik Czarnota) \u00a7", "title": "Make json[b]_to_tsvector() fully check the spelling of its string option", "commits": ["870ad6a59"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/13.0/#id-1.11.6.29.4", "source_hash": "3579faf3bac4ad82fadaa4a0d1357b7b6044b0b0788992215f1bb1ba52e40790", "section_path": ["Compatibility"], "commit_groups": [["870ad6a59"]], "identity_text": "Make json[b]_to_tsvector() fully check the spelling of its string option (Dominik Czarnota)", "commit_aliases": ["870ad6a59"], "source_commits": ["870ad6a59"], "source_entry_id": "13.0/migration/002", "db_id": "e2cf4b32f04aff6b7c45a6ae1c7e99ce", "patch_ids": ["616c06ded99aeeb20cbb2862ee8abe37"], "statement_hash": "c9c9edb5e2391b4403d18b698234c6d9f4cf3a615017875b508fec85deda544b", "relations": [], "category_label": "Compatibility", "url": "/docs/compare/?release=13.0#13.0-cff16c52bc843914", "migration": true}, {"id": "13.0-5efddc7fe669340c", "cves": [], "html": "<p>Change the way non-default <a href=\"/docs/13/runtime-config-resource.html#GUC-EFFECTIVE-IO-CONCURRENCY\">effective_io_concurrency</a> values affect concurrency (Thomas Munro) <a href=\"https://postgr.es/c/b09ff5366\">\u00a7</a></p>\n<p>Previously, this value was adjusted before setting the number of concurrent requests. The value is now used directly. Conversion of old values to new ones can be done using:</p>\n<pre>SELECT round(sum(<em><code>OLDVALUE</code></em> / n::float)) AS newvalue FROM generate_series(1, <em><code>OLDVALUE</code></em>) s(n);\n</pre>", "text": "Change the way non-default effective_io_concurrency values affect concurrency (Thomas Munro) \u00a7 Previously, this value was adjusted before setting the number of concurrent requests. The value is now used directly. Conversion of old values to new ones can be done using: SELECT round(sum(OLDVALUE / n::float)) AS newvalue FROM generate_series(1, OLDVALUE) s(n);", "title": "Change the way non-default effective_io_concurrency values affect concurrency", "commits": ["b09ff5366"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/13.0/#id-1.11.6.29.4", "source_hash": "887d98f1c5f3458eeca123ae4b8ef91d64967e790cff24b3841e20144be679d8", "section_path": ["Compatibility"], "commit_groups": [["b09ff5366"]], "identity_text": "Change the way non-default guc-effective-io-concurrency values affect concurrency (Thomas Munro) Previously, this value was adjusted before setting the number of concurrent requests. The value is now used directly. Conversion of old values to new ones can be done using: SELECT round(sum(OLDVALUE / n::float)) AS newvalue FROM generate_series(1, OLDVALUE) s(n);", "commit_aliases": ["b09ff5366"], "source_commits": ["b09ff5366"], "source_entry_id": "13.0/migration/003", "db_id": "62eeb3605c46c2db1d264b35b8f0eb40", "patch_ids": ["09811ae59f6e55e41d6231afcb24cf3b"], "statement_hash": "86f867b4d46c0f6eb3c9078cc12c90da564979ed93bf6b5d74c99015dd62daf6", "relations": [], "category_label": "Compatibility", "url": "/docs/compare/?release=13.0#13.0-5efddc7fe669340c", "migration": true}, {"id": "13.0-d3d1409eb3c66993", "cves": [], "html": "<p>Prevent display of auxiliary processes in <a href=\"/docs/13/monitoring-stats.html#PG-STAT-SSL-VIEW\" title=\"Table\u00a027.17.\u00a0pg_stat_ssl View\">pg_stat_ssl</a> and <a href=\"/docs/13/monitoring-stats.html#PG-STAT-GSSAPI-VIEW\" title=\"Table\u00a027.18.\u00a0pg_stat_gssapi View\">pg_stat_gssapi</a> system views (Euler Taveira) <a href=\"https://postgr.es/c/5c46e7d82\">\u00a7</a></p>\n<p>Queries that join these views to <a href=\"/docs/13/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW\" title=\"Table\u00a027.3.\u00a0pg_stat_activity View\">pg_stat_activity</a> and wish to see auxiliary processes will need to use left joins.</p>", "text": "Prevent display of auxiliary processes in pg_stat_ssl and pg_stat_gssapi system views (Euler Taveira) \u00a7 Queries that join these views to pg_stat_activity and wish to see auxiliary processes will need to use left joins.", "title": "Prevent display of auxiliary processes in pg_stat_ssl and pg_stat_gssapi system views", "commits": ["5c46e7d82"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/13.0/#id-1.11.6.29.4", "source_hash": "f143a020e659d77b071b21ca82777b03a4905c81240c8b6733a7b3067f59a8ed", "section_path": ["Compatibility"], "commit_groups": [["5c46e7d82"]], "identity_text": "Prevent display of auxiliary processes in pg-stat-ssl-view and pg-stat-gssapi-view system views (Euler Taveira) Queries that join these views to pg-stat-activity-view and wish to see auxiliary processes will need to use left joins.", "commit_aliases": ["5c46e7d82"], "source_commits": ["5c46e7d82"], "source_entry_id": "13.0/migration/004", "db_id": "9313d0f386baf2e63f4d460b3f905624", "patch_ids": ["96747b44433d92350891ffedfc74bea6"], "statement_hash": "c8cd602d26bb43a8b55cdedc086a5b8f103cbcfcc8b07d3afe9ad23f0f0d5648", "relations": [], "category_label": "Compatibility", "url": "/docs/compare/?release=13.0#13.0-d3d1409eb3c66993", "migration": true}, {"id": "13.0-300271e52a32d70f", "cves": [], "html": "<p>Rename various <a href=\"/docs/13/monitoring-stats.html#WAIT-EVENT-TABLE\" title=\"Table\u00a027.4.\u00a0Wait Event Types\">wait events</a> to improve consistency (Fujii Masao, Tom Lane) <a href=\"https://postgr.es/c/1d253bae5\">\u00a7</a> <a href=\"https://postgr.es/c/36ac359d3\">\u00a7</a> <a href=\"https://postgr.es/c/474e7da64\">\u00a7</a> <a href=\"https://postgr.es/c/14a910109\">\u00a7</a> <a href=\"https://postgr.es/c/3048898e7\">\u00a7</a></p>", "text": "Rename various wait events to improve consistency (Fujii Masao, Tom Lane) \u00a7 \u00a7 \u00a7 \u00a7 \u00a7", "title": "Rename various wait events to improve consistency", "commits": ["14a910109", "1d253bae5", "3048898e7", "36ac359d3", "474e7da64"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/13.0/#id-1.11.6.29.4", "source_hash": "71f0d0c1714b7dbcd63c7a1cf2b14a54dc09ff4fd9606d66064c5f930bcc8d5d", "section_path": ["Compatibility"], "commit_groups": [["14a910109"], ["1d253bae5"], ["3048898e7"], ["36ac359d3"], ["474e7da64"]], "identity_text": "Rename various wait events to improve consistency (Fujii Masao, Tom Lane)", "commit_aliases": ["14a910109", "1d253bae5", "3048898e7", "36ac359d3", "474e7da64"], "source_commits": ["14a910109", "1d253bae5", "3048898e7", "36ac359d3", "474e7da64"], "source_entry_id": "13.0/migration/005", "db_id": "f1444cb151ee5ea496b7e4b3275b2b25", "patch_ids": ["195ace185d7f5b3a4da50890b98068c0", "243bd4fa4d8a5f651aab0f2ea7eb5404", "4217cca386c79401079c66baa5b24ded", "46cc2e60fc20da950850633e14c8925c", "c638cb4d385eefbf24b61f62574666cd"], "statement_hash": "34b21a81588e567c1ea58fc48e626cb5838521aea92107512b2f2c9d37de94ef", "relations": [], "category_label": "Compatibility", "url": "/docs/compare/?release=13.0#13.0-300271e52a32d70f", "migration": true}, {"id": "13.0-315c02f83f3e1e65-1", "cves": [], "html": "<p>Fix <a href=\"/docs/13/sql-alterforeigntable.html\" title=\"ALTER FOREIGN TABLE\"><code>ALTER FOREIGN TABLE ... RENAME COLUMN</code></a> to return a more appropriate command tag (Fujii Masao) <a href=\"https://postgr.es/c/979766c0a\">\u00a7</a></p>\n<p>Previously it returned <code>ALTER TABLE</code>; now it returns <code>ALTER FOREIGN TABLE</code>.</p>", "text": "Fix ALTER FOREIGN TABLE ... RENAME COLUMN to return a more appropriate command tag (Fujii Masao) \u00a7 Previously it returned ALTER TABLE; now it returns ALTER FOREIGN TABLE.", "title": "Fix ALTER FOREIGN TABLE ... RENAME COLUMN to return a more appropriate command tag", "commits": ["979766c0a"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/13.0/#id-1.11.6.29.4", "source_hash": "5bdff730d497c3ae85e39ee89a7b7abc3156b283e8df56bca59a9568cf0da75b", "section_path": ["Compatibility"], "commit_groups": [["979766c0a"]], "identity_text": "Fix ALTER FOREIGN TABLE ... RENAME COLUMN to return a more appropriate command tag (Fujii Masao) Previously it returned ALTER TABLE; now it returns ALTER FOREIGN TABLE.", "commit_aliases": ["979766c0a"], "source_commits": ["979766c0a"], "source_entry_id": "13.0/migration/006", "db_id": "51e4db761d371a4c2f201d0fc7486749", "patch_ids": ["8f4a02aa3d3a1d5200b89b1e95bc7cce"], "statement_hash": "0768a9870e858df0edac2ef034cd7a05b7035a71d4f77bed4b06817e2efd7286", "relations": [{"rule": 2, "type": "related", "target": "cbfeffa69ae1858c0ab9cb978bcb4d69", "evidence": {"same_day": true, "patch_ids": ["8f4a02aa3d3a1d5200b89b1e95bc7cce"], "ambiguous_patch_ids": ["8f4a02aa3d3a1d5200b89b1e95bc7cce"]}}], "category_label": "Compatibility", "url": "/docs/compare/?release=13.0#13.0-315c02f83f3e1e65-1", "migration": true}, {"id": "13.0-315c02f83f3e1e65-2", "cves": [], "html": "<p>Fix <a href=\"/docs/13/sql-altermaterializedview.html\" title=\"ALTER MATERIALIZED VIEW\"><code>ALTER MATERIALIZED VIEW ... RENAME COLUMN</code></a> to return a more appropriate command tag (Fujii Masao) <a href=\"https://postgr.es/c/979766c0a\">\u00a7</a></p>\n<p>Previously it returned <code>ALTER TABLE</code>; now it returns <code>ALTER MATERIALIZED VIEW</code>.</p>", "text": "Fix ALTER MATERIALIZED VIEW ... RENAME COLUMN to return a more appropriate command tag (Fujii Masao) \u00a7 Previously it returned ALTER TABLE; now it returns ALTER MATERIALIZED VIEW.", "title": "Fix ALTER MATERIALIZED VIEW ... RENAME COLUMN to return a more appropriate command tag", "commits": ["979766c0a"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/13.0/#id-1.11.6.29.4", "source_hash": "52bec337a7f0afd45589a781987131e7852b81e00da5df8494e52a4b03e4d31f", "section_path": ["Compatibility"], "commit_groups": [["979766c0a"]], "identity_text": "Fix ALTER MATERIALIZED VIEW ... RENAME COLUMN to return a more appropriate command tag (Fujii Masao) Previously it returned ALTER TABLE; now it returns ALTER MATERIALIZED VIEW.", "commit_aliases": ["979766c0a"], "source_commits": ["979766c0a"], "source_entry_id": "13.0/migration/007", "db_id": "cbfeffa69ae1858c0ab9cb978bcb4d69", "patch_ids": ["8f4a02aa3d3a1d5200b89b1e95bc7cce"], "statement_hash": "88ff6676d694c92a6cf84342a67f2b565f4d6ac51be5312b8b474314f5fa0d7c", "relations": [{"rule": 2, "type": "related", "target": "51e4db761d371a4c2f201d0fc7486749", "evidence": {"same_day": true, "patch_ids": ["8f4a02aa3d3a1d5200b89b1e95bc7cce"], "ambiguous_patch_ids": ["8f4a02aa3d3a1d5200b89b1e95bc7cce"]}}], "category_label": "Compatibility", "url": "/docs/compare/?release=13.0#13.0-315c02f83f3e1e65-2", "migration": true}, {"id": "13.0-611ec07ad6a9e83c", "cves": [], "html": "<p>Rename configuration parameter <code>wal_keep_segments</code> to <a href=\"/docs/13/runtime-config-replication.html#GUC-WAL-KEEP-SIZE\">wal_keep_size</a> (Fujii Masao) <a href=\"https://postgr.es/c/f5dff45962\">\u00a7</a></p>\n<p>This determines how much WAL to retain for standby servers. It is specified in megabytes, rather than number of files as with the old parameter. If you previously used <code>wal_keep_segments</code>, the following formula will give you an approximately equivalent setting:</p>\n<pre>wal_keep_size = wal_keep_segments * wal_segment_size (typically 16MB)\n</pre>", "text": "Rename configuration parameter wal_keep_segments to wal_keep_size (Fujii Masao) \u00a7 This determines how much WAL to retain for standby servers. It is specified in megabytes, rather than number of files as with the old parameter. If you previously used wal_keep_segments, the following formula will give you an approximately equivalent setting: wal_keep_size = wal_keep_segments * wal_segment_size (typically 16MB)", "title": "Rename configuration parameter wal_keep_segments to wal_keep_size", "commits": ["f5dff45962"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/13.0/#id-1.11.6.29.4", "source_hash": "5247db2ac5fe00062643e042cf5fa48abbadabf2d713b848e51877e0a199da8e", "section_path": ["Compatibility"], "commit_groups": [["f5dff45962"]], "identity_text": "Rename configuration parameter wal_keep_segments to guc-wal-keep-size (Fujii Masao) This determines how much WAL to retain for standby servers. It is specified in megabytes, rather than number of files as with the old parameter. If you previously used wal_keep_segments, the following formula will give you an approximately equivalent setting: wal_keep_size = wal_keep_segments * wal_segment_size (typically 16MB)", "commit_aliases": ["f5dff45962"], "source_commits": ["f5dff45962"], "source_entry_id": "13.0/migration/008", "db_id": "87d08c201e2ac67f6d62188bb16926b9", "patch_ids": ["fea7ca80079c4413db2f8830f6353864"], "statement_hash": "83a238007d82d98ff7e12463b63c4b4c41cfe26f20e00841e3f2a08a5010dab1", "relations": [], "category_label": "Compatibility", "url": "/docs/compare/?release=13.0#13.0-611ec07ad6a9e83c", "migration": true}, {"id": "13.0-0deec1e0e7129d4b", "cves": [], "html": "<p>Remove support for defining <a href=\"/docs/13/sql-createopclass.html\" title=\"CREATE OPERATOR CLASS\">operator classes</a> using pre-<span>PostgreSQL</span> 8.0 syntax (Daniel Gustafsson) <a href=\"https://postgr.es/c/84eca14bc\">\u00a7</a></p>", "text": "Remove support for defining operator classes using pre-PostgreSQL 8.0 syntax (Daniel Gustafsson) \u00a7", "title": "Remove support for defining operator classes using pre-PostgreSQL 8.0 syntax", "commits": ["84eca14bc"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/13.0/#id-1.11.6.29.4", "source_hash": "74187af3391ddc0fa17fd55f5a5429942075681f777a0a8aa884e76e0ac5255e", "section_path": ["Compatibility"], "commit_groups": [["84eca14bc"]], "identity_text": "Remove support for defining operator classes using pre-PostgreSQL 8.0 syntax (Daniel Gustafsson)", "commit_aliases": ["84eca14bc"], "source_commits": ["84eca14bc"], "source_entry_id": "13.0/migration/009", "db_id": "00cdd4565943a99c71ac24dd72c69a5d", "patch_ids": ["462d626bf85e27e1ecf4e17d1b973712"], "statement_hash": "4d1c6b3a631af6a14564f453c23960f5730654034dcc77957fbe83be5df44ffb", "relations": [], "category_label": "Compatibility", "url": "/docs/compare/?release=13.0#13.0-0deec1e0e7129d4b", "migration": true}, {"id": "13.0-181ce8a6cc7d16d5", "cves": [], "html": "<p>Remove support for defining <a href=\"/docs/13/sql-altertable.html\" title=\"ALTER TABLE\">foreign key constraints</a> using pre-<span>PostgreSQL</span> 7.3 syntax (Daniel Gustafsson) <a href=\"https://postgr.es/c/e58a59975\">\u00a7</a></p>", "text": "Remove support for defining foreign key constraints using pre-PostgreSQL 7.3 syntax (Daniel Gustafsson) \u00a7", "title": "Remove support for defining foreign key constraints using pre-PostgreSQL 7.3 syntax", "commits": ["e58a59975"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/13.0/#id-1.11.6.29.4", "source_hash": "62c50582b07ca26907178805fd3733688c10bafc434eaeb087814b47ff5198bd", "section_path": ["Compatibility"], "commit_groups": [["e58a59975"]], "identity_text": "Remove support for defining foreign key constraints using pre-PostgreSQL 7.3 syntax (Daniel Gustafsson)", "commit_aliases": ["e58a59975"], "source_commits": ["e58a59975"], "source_entry_id": "13.0/migration/010", "db_id": "a4731981520d809b1764f36804869b0f", "patch_ids": ["b01af42c52dd802bb31bd86bdef135c6"], "statement_hash": "d1988126fb6693abe4be81ca0189d490c9b271a8b56ba72b11a717bc61458ea2", "relations": [], "category_label": "Compatibility", "url": "/docs/compare/?release=13.0#13.0-181ce8a6cc7d16d5", "migration": true}, {"id": "13.0-a4c99539e3f91994", "cves": [], "html": "<p>Remove support for \"opaque\" <a href=\"/docs/13/sql-createtype.html\" title=\"CREATE TYPE\">pseudo-types</a> used by pre-<span>PostgreSQL</span> 7.3 servers (Daniel Gustafsson) <a href=\"https://postgr.es/c/bb03010b9\">\u00a7</a></p>", "text": "Remove support for \"opaque\" pseudo-types used by pre-PostgreSQL 7.3 servers (Daniel Gustafsson) \u00a7", "title": "Remove support for \"opaque\" pseudo-types used by pre-PostgreSQL 7.3 servers", "commits": ["bb03010b9"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/13.0/#id-1.11.6.29.4", "source_hash": "62be98f085cfb7121765762115068cf66f6e71ff82615faf7b3aabfbf4026cd8", "section_path": ["Compatibility"], "commit_groups": [["bb03010b9"]], "identity_text": "Remove support for \"opaque\" pseudo-types used by pre-PostgreSQL 7.3 servers (Daniel Gustafsson)", "commit_aliases": ["bb03010b9"], "source_commits": ["bb03010b9"], "source_entry_id": "13.0/migration/011", "db_id": "a17abaa2942f10365a93775b57760c98", "patch_ids": ["841feb81d4817adce792d43370b2b3a1"], "statement_hash": "6d8b1f94d19be6214cb12adaf11ef0b636519d57ceb8e6d43819cb6d5457a05b", "relations": [], "category_label": "Compatibility", "url": "/docs/compare/?release=13.0#13.0-a4c99539e3f91994", "migration": true}, {"id": "13.0-e0e2f90b4addfeae", "cves": [], "html": "<p>Remove support for upgrading unpackaged (pre-9.1) extensions (Tom Lane) <a href=\"https://postgr.es/c/70a773200\">\u00a7</a></p>\n<p>The <code>FROM</code> option of <a href=\"/docs/13/sql-createextension.html\" title=\"CREATE EXTENSION\"><code>CREATE EXTENSION</code></a> is no longer supported. Any installations still using unpackaged extensions should upgrade them to a packaged version before updating to <span>PostgreSQL</span> 13.</p>", "text": "Remove support for upgrading unpackaged (pre-9.1) extensions (Tom Lane) \u00a7 The FROM option of CREATE EXTENSION is no longer supported. Any installations still using unpackaged extensions should upgrade them to a packaged version before updating to PostgreSQL 13.", "title": "Remove support for upgrading unpackaged (pre-9.1) extensions", "commits": ["70a773200"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/13.0/#id-1.11.6.29.4", "source_hash": "6a8c53b62999753cb82cabf7dd9d03ebf3d23513e393ac50577d3507e7ffb9a7", "section_path": ["Compatibility"], "commit_groups": [["70a773200"]], "identity_text": "Remove support for upgrading unpackaged (pre-9.1) extensions (Tom Lane) The FROM option of CREATE EXTENSION is no longer supported. Any installations still using unpackaged extensions should upgrade them to a packaged version before updating to PostgreSQL 13.", "commit_aliases": ["70a773200"], "source_commits": ["70a773200"], "source_entry_id": "13.0/migration/012", "db_id": "358f1a2edb8d44d028ddbb5a723810cd", "patch_ids": ["b55d5d8f2beb4548aa95c9d237e10be3"], "statement_hash": "f1cd8cea4ecd03f359eb207b8a8d3f1fca26f5dfba1b008abd1645847a92d139", "relations": [], "category_label": "Compatibility", "url": "/docs/compare/?release=13.0#13.0-e0e2f90b4addfeae", "migration": true}, {"id": "13.0-c5adedfa4dad8bb1", "cves": [], "html": "<p>Remove support for <code>posixrules</code> files in the timezone database (Tom Lane) <a href=\"https://postgr.es/c/21aac2ff9\">\u00a7</a></p>\n<p>IANA's timezone group has deprecated this feature, meaning that it will gradually disappear from systems' timezone databases over the next few years. Rather than have a behavioral change appear unexpectedly with a timezone data update, we have removed <span>PostgreSQL</span>'s support for this feature as of version 13. This affects only the behavior of <a href=\"/docs/13/datetime-posix-timezone-specs.html\" title=\"B.5.\u00a0POSIX Time Zone Specifications\">POSIX-style time zone specifications</a> that lack an explicit daylight savings transition rule; formerly the transition rule could be determined by installing a custom <code>posixrules</code> file, but now it is hard-wired. The recommended fix for any affected installations is to start using a geographical time zone name.</p>", "text": "Remove support for posixrules files in the timezone database (Tom Lane) \u00a7 IANA's timezone group has deprecated this feature, meaning that it will gradually disappear from systems' timezone databases over the next few years. Rather than have a behavioral change appear unexpectedly with a timezone data update, we have removed PostgreSQL's support for this feature as of version 13. This affects only the behavior of POSIX-style time zone specifications that lack an explicit daylight savings transition rule; formerly the transition rule could be determined by installing a custom posixrules file, but now it is hard-wired. The recommended fix for any affected installations is to start using a geographical time zone name.", "title": "Remove support for posixrules files in the timezone database", "commits": ["21aac2ff9"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/13.0/#id-1.11.6.29.4", "source_hash": "51daf2ed426c4469ed563daea3d2df20e679e49787cd6352fd64256cde12464e", "section_path": ["Compatibility"], "commit_groups": [["21aac2ff9"]], "identity_text": "Remove support for posixrules files in the timezone database (Tom Lane) IANA's timezone group has deprecated this feature, meaning that it will gradually disappear from systems' timezone databases over the next few years. Rather than have a behavioral change appear unexpectedly with a timezone data update, we have removed PostgreSQL's support for this feature as of version 13. This affects only the behavior of POSIX-style time zone specifications that lack an explicit daylight savings transition rule; formerly the transition rule could be determined by installing a custom posixrules file, but now it is hard-wired. The recommended fix for any affected installations is to start using a geographical time zone name.", "commit_aliases": ["21aac2ff9"], "source_commits": ["21aac2ff9"], "source_entry_id": "13.0/migration/013", "db_id": "c6a108a84b372a96c616b764a8c2e29f", "patch_ids": ["4c3cb7db97952e6ee49b12bec6ee41ff"], "statement_hash": "8c1eb545f9ac635f1a57b569d3e2687ede939d7c6553ad81d8574d9024741f5d", "relations": [], "category_label": "Compatibility", "url": "/docs/compare/?release=13.0#13.0-c5adedfa4dad8bb1", "migration": true}, {"id": "13.0-7969da79516db007", "cves": [], "html": "<p>In <a href=\"/docs/13/ltree.html\" title=\"F.21.\u00a0ltree\">ltree</a>, when an <code>lquery</code> pattern contains adjacent asterisks with braces, e.g., <code>*{2}.*{3}</code>, properly interpret that as <code>*{5}</code> (Nikita Glukhov) <a href=\"https://postgr.es/c/9950c8aad\">\u00a7</a></p>", "text": "In ltree, when an lquery pattern contains adjacent asterisks with braces, e.g., *{2}.*{3}, properly interpret that as *{5} (Nikita Glukhov) \u00a7", "title": "In ltree, when an lquery pattern contains adjacent asterisks with braces, e.g., *{2}.*{3}, properly interpret that as *{5}", "commits": ["9950c8aad"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/13.0/#id-1.11.6.29.4", "source_hash": "027524cc8373e1c28f7e5f68279308e636b317d16331e88c13cb18d73e1a7d5c", "section_path": ["Compatibility"], "commit_groups": [["9950c8aad"]], "identity_text": "In ltree , when an lquery pattern contains adjacent asterisks with braces, e.g., *{2}.*{3}, properly interpret that as *{5} (Nikita Glukhov)", "commit_aliases": ["9950c8aad"], "source_commits": ["9950c8aad"], "source_entry_id": "13.0/migration/014", "db_id": "1bb06fafe760d8a4f29ad3fc346f4ffd", "patch_ids": ["7f9857baee0ae728daa2cd24a7a21101"], "statement_hash": "5b2d8c3d0f366318ce723a0975f877c1777432850dc2a4cff2606704af9a6e91", "relations": [], "category_label": "Compatibility", "url": "/docs/compare/?release=13.0#13.0-7969da79516db007", "migration": true}, {"id": "13.0-ff7a2c984c3d3a04", "cves": [], "html": "<p>Fix <a href=\"/docs/13/pageinspect.html\" title=\"F.22.\u00a0pageinspect\">pageinspect</a>'s <code>bt_metap()</code> to return more appropriate data types that are less likely to overflow (Peter Geoghegan) <a href=\"https://postgr.es/c/691e8b2e1\">\u00a7</a></p>", "text": "Fix pageinspect's bt_metap() to return more appropriate data types that are less likely to overflow (Peter Geoghegan) \u00a7", "title": "Fix pageinspect's bt_metap() to return more appropriate data types that are less likely to overflow", "commits": ["691e8b2e1"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/13.0/#id-1.11.6.29.4", "source_hash": "f7fe09cc788d91411776d1e4528a830323aa9d18c8bc0569e0ccc5d1cde6e7c4", "section_path": ["Compatibility"], "commit_groups": [["691e8b2e1"]], "identity_text": "Fix pageinspect 's bt_metap() to return more appropriate data types that are less likely to overflow (Peter Geoghegan)", "commit_aliases": ["691e8b2e1"], "source_commits": ["691e8b2e1"], "source_entry_id": "13.0/migration/015", "db_id": "30272e62115718c16aea57bf80affb17", "patch_ids": ["cd78a2c4c01e9fc325e81bc87c0418a3"], "statement_hash": "7f36c9d80e20274fcd83d94aae76c3e4b5db2a9d2dfca6246842bc92dbc17498", "relations": [], "category_label": "Compatibility", "url": "/docs/compare/?release=13.0#13.0-ff7a2c984c3d3a04", "migration": true}, {"id": "13.0-18c83083dcc35652", "cves": [], "html": "<p>Allow <a href=\"/docs/13/ddl-partitioning.html#DDL-PARTITION-PRUNING\" title=\"5.11.4.\u00a0Partition Pruning\">pruning</a> of partitions to happen in more cases (Yuzuko Hosoya, Amit Langote, \u00c1lvaro Herrera) <a href=\"https://postgr.es/c/4e85642d9\">\u00a7</a> <a href=\"https://postgr.es/c/815ef2f56\">\u00a7</a></p>", "text": "Allow pruning of partitions to happen in more cases (Yuzuko Hosoya, Amit Langote, \u00c1lvaro Herrera) \u00a7 \u00a7", "title": "Allow pruning of partitions to happen in more cases", "commits": ["4e85642d9", "815ef2f56"], "section": "Server / Partitioning", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.2", "source_hash": "64c3c2751270ec5e94aa97d9bdd63bf4965d68adef735cf6f469eecb0a903365", "section_path": ["Server", "Partitioning"], "commit_groups": [["4e85642d9"], ["815ef2f56"]], "identity_text": "Allow pruning of partitions to happen in more cases (Yuzuko Hosoya, Amit Langote, \u00c1lvaro Herrera)", "commit_aliases": ["4e85642d9", "815ef2f56"], "source_commits": ["4e85642d9", "815ef2f56"], "source_entry_id": "13.0/changes/001", "db_id": "1163eca048c7512a1194c404ff4a5d31", "patch_ids": ["8d707c3ed0d6ed27bbc2208ab0715fe4", "be2d57e2e5b19a51edc2d004e9edbae8"], "statement_hash": "80cae61bcf28137813bdf2ee17baac735061de0f672b9bc52d324b7dfd2e7bdd", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-18c83083dcc35652", "migration": false}, {"id": "13.0-4ef20501f0c2a7f0", "cves": [], "html": "<p>Allow <a href=\"/docs/13/runtime-config-query.html#GUC-ENABLE-PARTITIONWISE-JOIN\">partitionwise joins</a> to happen in more cases (Ashutosh Bapat, Etsuro Fujita, Amit Langote, Tom Lane) <a href=\"https://postgr.es/c/c8434d64c\">\u00a7</a> <a href=\"https://postgr.es/c/981643dcd\">\u00a7</a></p>\n<p>For example, partitionwise joins can now happen between partitioned tables even when their partition bounds do not match exactly.</p>", "text": "Allow partitionwise joins to happen in more cases (Ashutosh Bapat, Etsuro Fujita, Amit Langote, Tom Lane) \u00a7 \u00a7 For example, partitionwise joins can now happen between partitioned tables even when their partition bounds do not match exactly.", "title": "Allow partitionwise joins to happen in more cases", "commits": ["981643dcd", "c8434d64c"], "section": "Server / Partitioning", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.2", "source_hash": "51285655786ce74d28ff0a20fd74ffd1cf0653a8b0dcc273c218ca53b5b410e4", "section_path": ["Server", "Partitioning"], "commit_groups": [["981643dcd"], ["c8434d64c"]], "identity_text": "Allow partitionwise joins to happen in more cases (Ashutosh Bapat, Etsuro Fujita, Amit Langote, Tom Lane) For example, partitionwise joins can now happen between partitioned tables even when their partition bounds do not match exactly.", "commit_aliases": ["981643dcd", "c8434d64c"], "source_commits": ["981643dcd", "c8434d64c"], "source_entry_id": "13.0/changes/002", "db_id": "013e9e4c0c64877c23c756c68b800b84", "patch_ids": ["5510e3129a6cd5fd7303183bb169773b", "cea05edc62e6634bae9280680618d3e9"], "statement_hash": "97d3c09ac8016dd55ea466ff69ec48804edf66491d17f9a611dda4ab420aca60", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-4ef20501f0c2a7f0", "migration": false}, {"id": "13.0-47966bef593b9f1e", "cves": [], "html": "<p>Support row-level <code>BEFORE</code> <a href=\"/docs/13/triggers.html\" title=\"Chapter\u00a038.\u00a0Triggers\">triggers</a> on partitioned tables (\u00c1lvaro Herrera) <a href=\"https://postgr.es/c/487e9861d\">\u00a7</a></p>\n<p>However, such a trigger is not allowed to change which partition is the destination.</p>", "text": "Support row-level BEFORE triggers on partitioned tables (\u00c1lvaro Herrera) \u00a7 However, such a trigger is not allowed to change which partition is the destination.", "title": "Support row-level BEFORE triggers on partitioned tables", "commits": ["487e9861d"], "section": "Server / Partitioning", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.2", "source_hash": "7375c39dfdea7a22eda5060d1e383b507617eda7f4c53dbaa92837c2c26ec4b2", "section_path": ["Server", "Partitioning"], "commit_groups": [["487e9861d"]], "identity_text": "Support row-level BEFORE triggers on partitioned tables (\u00c1lvaro Herrera) However, such a trigger is not allowed to change which partition is the destination.", "commit_aliases": ["487e9861d"], "source_commits": ["487e9861d"], "source_entry_id": "13.0/changes/003", "db_id": "abb3546ba651a44c0b85673ae967e58b", "patch_ids": ["13594f035854cbbbd68f0945daceb87f"], "statement_hash": "b8576476e5ca0bb20544cc08df083f8993b8a732cbfaff7c89be1f618cfe841a", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-47966bef593b9f1e", "migration": false}, {"id": "13.0-61c06b21aa3697cb", "cves": [], "html": "<p>Allow partitioned tables to be logically replicated via <a href=\"/docs/13/sql-createpublication.html\" title=\"CREATE PUBLICATION\">publications</a> (Amit Langote) <a href=\"https://postgr.es/c/17b9e7f9f\">\u00a7</a> <a href=\"https://postgr.es/c/83fd4532a\">\u00a7</a></p>\n<p>Previously, partitions had to be replicated individually. Now a partitioned table can be published explicitly, causing all its partitions to be published automatically. Addition/removal of a partition causes it to be likewise added to or removed from the publication. The <a href=\"/docs/13/sql-createpublication.html\" title=\"CREATE PUBLICATION\"><code>CREATE PUBLICATION</code></a> option <code>publish_via_partition_root</code> controls whether changes to partitions are published as their own changes or their parent's.</p>", "text": "Allow partitioned tables to be logically replicated via publications (Amit Langote) \u00a7 \u00a7 Previously, partitions had to be replicated individually. Now a partitioned table can be published explicitly, causing all its partitions to be published automatically. Addition/removal of a partition causes it to be likewise added to or removed from the publication. The CREATE PUBLICATION option publish_via_partition_root controls whether changes to partitions are published as their own changes or their parent's.", "title": "Allow partitioned tables to be logically replicated via publications", "commits": ["17b9e7f9f", "83fd4532a"], "section": "Server / Partitioning", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.2", "source_hash": "af221f1a6ede44db4b8025c4ee849342c696ffcbc69c55300f9297fb4605de03", "section_path": ["Server", "Partitioning"], "commit_groups": [["17b9e7f9f"], ["83fd4532a"]], "identity_text": "Allow partitioned tables to be logically replicated via publications (Amit Langote) Previously, partitions had to be replicated individually. Now a partitioned table can be published explicitly, causing all its partitions to be published automatically. Addition/removal of a partition causes it to be likewise added to or removed from the publication. The CREATE PUBLICATION option publish_via_partition_root controls whether changes to partitions are published as their own changes or their parent's.", "commit_aliases": ["17b9e7f9f", "83fd4532a"], "source_commits": ["17b9e7f9f", "83fd4532a"], "source_entry_id": "13.0/changes/004", "db_id": "e776d3a6e65553e82bc735c1931a3dac", "patch_ids": ["5154a5b10e14b0e087b1225afabf9b7b", "6461991c93daf94f79a59366d55d04ea"], "statement_hash": "7a27502769aeb7a3157d549e79e30d8ae3b75886b99ff11fa96c64a8bbc4edce", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-61c06b21aa3697cb", "migration": false}, {"id": "13.0-dcec7fef4f8dd2c1", "cves": [], "html": "<p>Allow logical replication into partitioned tables on subscribers (Amit Langote) <a href=\"https://postgr.es/c/f1ac27bfd\">\u00a7</a></p>\n<p>Previously, subscribers could only receive rows into non-partitioned tables.</p>", "text": "Allow logical replication into partitioned tables on subscribers (Amit Langote) \u00a7 Previously, subscribers could only receive rows into non-partitioned tables.", "title": "Allow logical replication into partitioned tables on subscribers", "commits": ["f1ac27bfd"], "section": "Server / Partitioning", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.2", "source_hash": "4f2d505a3c5fd9289ae421e32aa70368ab94cb0444fe7a3a546be1a91a291340", "section_path": ["Server", "Partitioning"], "commit_groups": [["f1ac27bfd"]], "identity_text": "Allow logical replication into partitioned tables on subscribers (Amit Langote) Previously, subscribers could only receive rows into non-partitioned tables.", "commit_aliases": ["f1ac27bfd"], "source_commits": ["f1ac27bfd"], "source_entry_id": "13.0/changes/005", "db_id": "29b3866c33eac57d46f54be9cf89ac2f", "patch_ids": ["81816bd4b7a1cf1504a8ef1ca01d9b07"], "statement_hash": "4893e4d4af22c64f70d9da6c3a93060c2ef4d24884e77428adf6910bba7ba642", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-dcec7fef4f8dd2c1", "migration": false}, {"id": "13.0-3d6bcd2c0a79a5e0", "cves": [], "html": "<p>Allow whole-row variables (that is, <em><code>table</code></em><code>.*</code>) to be used in partitioning expressions (Amit Langote) <a href=\"https://postgr.es/c/bb4114a4e\">\u00a7</a></p>", "text": "Allow whole-row variables (that is, table.*) to be used in partitioning expressions (Amit Langote) \u00a7", "title": "Allow whole-row variables (that is, table.*) to be used in partitioning expressions", "commits": ["bb4114a4e"], "section": "Server / Partitioning", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.2", "source_hash": "33f16080e5993ca3a30fb907914a336ac3b0425dd26d1c4df456c882f48edfc7", "section_path": ["Server", "Partitioning"], "commit_groups": [["bb4114a4e"]], "identity_text": "Allow whole-row variables (that is, table.*) to be used in partitioning expressions (Amit Langote)", "commit_aliases": ["bb4114a4e"], "source_commits": ["bb4114a4e"], "source_entry_id": "13.0/changes/006", "db_id": "f0b6fbb0929910f112fb4e6842ff8455", "patch_ids": ["d2ab49f1b25dbf9d3c9528250b821b3e"], "statement_hash": "e4ab1167aaf9f53c02fd9adbe35dcc11c9cc942db848daf76b63ec3e20d266d0", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-3d6bcd2c0a79a5e0", "migration": false}, {"id": "13.0-facb70372d9a70f3", "cves": [], "html": "<p>More efficiently store <a href=\"/docs/13/btree-implementation.html#BTREE-DEDUPLICATION\" title=\"63.4.2.\u00a0Deduplication\">duplicates</a> in B-tree indexes (Anastasia Lubennikova, Peter Geoghegan) <a href=\"https://postgr.es/c/0d861bbb7\">\u00a7</a></p>\n<p>This allows efficient B-tree indexing of low-cardinality columns by storing duplicate keys only once. Users upgrading with <a href=\"/docs/13/pgupgrade.html\" title=\"pg_upgrade\"><span>pg_upgrade</span></a> will need to use <a href=\"/docs/13/sql-reindex.html\" title=\"REINDEX\"><code>REINDEX</code></a> to make an existing index use this feature.</p>", "text": "More efficiently store duplicates in B-tree indexes (Anastasia Lubennikova, Peter Geoghegan) \u00a7 This allows efficient B-tree indexing of low-cardinality columns by storing duplicate keys only once. Users upgrading with pg_upgrade will need to use REINDEX to make an existing index use this feature.", "title": "More efficiently store duplicates in B-tree indexes", "commits": ["0d861bbb7"], "section": "Server / Indexes", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.3", "source_hash": "457dba99f7a1805257fb259267a5c39ffdde8bb4a9151a9bd48da8d0c947c32a", "section_path": ["Server", "Indexes"], "commit_groups": [["0d861bbb7"]], "identity_text": "More efficiently store duplicates in B-tree indexes (Anastasia Lubennikova, Peter Geoghegan) This allows efficient B-tree indexing of low-cardinality columns by storing duplicate keys only once. Users upgrading with pg_upgrade will need to use REINDEX to make an existing index use this feature.", "commit_aliases": ["0d861bbb7"], "source_commits": ["0d861bbb7"], "source_entry_id": "13.0/changes/007", "db_id": "d833bd0d99c4a57c1b761f159ec2f3c0", "patch_ids": ["acab2cc8b425271004686df6325d3bd1"], "statement_hash": "9e60858f6ca6abd1c2ba12d0ce0af8956a0f4c8b1b051c1997b8861bf2fc32f1", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-facb70372d9a70f3", "migration": false}, {"id": "13.0-f0222ee4efa6b0b9", "cves": [], "html": "<p>Allow <a href=\"/docs/13/gist.html\" title=\"Chapter\u00a064.\u00a0GiST Indexes\">GiST</a> and <a href=\"/docs/13/spgist.html\" title=\"Chapter\u00a065.\u00a0SP-GiST Indexes\">SP-GiST</a> indexes on <code>box</code> columns to support <code>ORDER BY <em><code>box</code></em> &lt;-&gt; <em><code>point</code></em></code> queries (Nikita Glukhov) <a href=\"https://postgr.es/c/c085e1c1c\">\u00a7</a> <a href=\"https://postgr.es/c/075f0a880\">\u00a7</a></p>", "text": "Allow GiST and SP-GiST indexes on box columns to support ORDER BY box <-> point queries (Nikita Glukhov) \u00a7 \u00a7", "title": "Allow GiST and SP-GiST indexes on box columns to support ORDER BY box <-> point queries", "commits": ["075f0a880", "c085e1c1c"], "section": "Server / Indexes", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.3", "source_hash": "7605b2482cdc38bc6a0d0de772c27acc8e766bb63435ff9509ff08aadb632cd6", "section_path": ["Server", "Indexes"], "commit_groups": [["075f0a880"], ["c085e1c1c"]], "identity_text": "Allow GiST and SP-GiST indexes on box columns to support ORDER BY box <-> point queries (Nikita Glukhov)", "commit_aliases": ["075f0a880", "c085e1c1c"], "source_commits": ["075f0a880", "c085e1c1c"], "source_entry_id": "13.0/changes/008", "db_id": "615d2aa1884c047755b722661c41251e", "patch_ids": ["3f3a46b0586643e90b417d932b11a8cc", "a29904bdb9b56e328355d0d2e0ff4bff"], "statement_hash": "dc0268b2baa8b6c98c269851125af3a3ea6158392ca3f708c32cf1a909249a38", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-f0222ee4efa6b0b9", "migration": false}, {"id": "13.0-ede1b1f13116e4f3", "cves": [], "html": "<p>Allow <a href=\"/docs/13/gin.html\" title=\"Chapter\u00a066.\u00a0GIN Indexes\"><acronym>GIN</acronym></a> indexes to more efficiently handle <code>!</code> (NOT) clauses in <code>tsquery</code> searches (Nikita Glukhov, Alexander Korotkov, Tom Lane, Julien Rouhaud) <a href=\"https://postgr.es/c/4b754d6c1\">\u00a7</a></p>", "text": "Allow GIN indexes to more efficiently handle ! (NOT) clauses in tsquery searches (Nikita Glukhov, Alexander Korotkov, Tom Lane, Julien Rouhaud) \u00a7", "title": "Allow GIN indexes to more efficiently handle ! (NOT) clauses in tsquery searches", "commits": ["4b754d6c1"], "section": "Server / Indexes", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.3", "source_hash": "1dc0ac4918120ac49f0339b516cd8a92809f6a3f3d7193316568420d7766a9fc", "section_path": ["Server", "Indexes"], "commit_groups": [["4b754d6c1"]], "identity_text": "Allow GIN indexes to more efficiently handle ! (NOT) clauses in tsquery searches (Nikita Glukhov, Alexander Korotkov, Tom Lane, Julien Rouhaud)", "commit_aliases": ["4b754d6c1"], "source_commits": ["4b754d6c1"], "source_entry_id": "13.0/changes/009", "db_id": "5585d45eb2a9826973b6e37e17836995", "patch_ids": ["3777fee47d2c18ce8371efd83b1860b3"], "statement_hash": "838742eb6724d663a97d7eb0c89892e5a0bfa9188f266279e4c7a46a328137d3", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-ede1b1f13116e4f3", "migration": false}, {"id": "13.0-86e470c378b579c1-1", "cves": [], "html": "<p>Allow <a href=\"/docs/13/sql-createindex.html\" title=\"CREATE INDEX\">index operator classes</a> to take parameters (Nikita Glukhov) <a href=\"https://postgr.es/c/911e70207\">\u00a7</a></p>", "text": "Allow index operator classes to take parameters (Nikita Glukhov) \u00a7", "title": "Allow index operator classes to take parameters", "commits": ["911e70207"], "section": "Server / Indexes", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.3", "source_hash": "0f9476c7168b00a1e61423650c5f35cd1e09dbf327ced72223f8c6f138414b3b", "section_path": ["Server", "Indexes"], "commit_groups": [["911e70207"]], "identity_text": "Allow index operator classes to take parameters (Nikita Glukhov)", "commit_aliases": ["911e70207"], "source_commits": ["911e70207"], "source_entry_id": "13.0/changes/010", "db_id": "afc765d9b390c3bbd435caf0e408dff0", "patch_ids": ["5d17b7356f8a8c6cc4be66f2a9088b55"], "statement_hash": "9525aa704c4214fe4350f3e334c6d630248c39a93a9ef32c1e4c677c8c74c2f5", "relations": [{"rule": 2, "type": "related", "target": "c7ba4ea9be933a69c1ae4032bdf26ff9", "evidence": {"same_day": true, "patch_ids": ["5d17b7356f8a8c6cc4be66f2a9088b55"], "ambiguous_patch_ids": ["5d17b7356f8a8c6cc4be66f2a9088b55"]}}], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-86e470c378b579c1-1", "migration": false}, {"id": "13.0-86e470c378b579c1-2", "cves": [], "html": "<p>Allow <code>CREATE INDEX</code> to specify the GiST signature length and maximum number of integer ranges (Nikita Glukhov) <a href=\"https://postgr.es/c/911e70207\">\u00a7</a></p>\n<p>Indexes created on four and eight-byte <a href=\"/docs/13/intarray.html\" title=\"F.18.\u00a0intarray\">integer array</a>, <a href=\"/docs/13/textsearch.html\" title=\"Chapter\u00a012.\u00a0Full Text Search\">tsvector</a>, <a href=\"/docs/13/pgtrgm.html\" title=\"F.31.\u00a0pg_trgm\">pg_trgm</a>, <a href=\"/docs/13/ltree.html\" title=\"F.21.\u00a0ltree\">ltree</a>, and <a href=\"/docs/13/hstore.html\" title=\"F.16.\u00a0hstore\">hstore</a> columns can now control these GiST index parameters, rather than using the defaults.</p>", "text": "Allow CREATE INDEX to specify the GiST signature length and maximum number of integer ranges (Nikita Glukhov) \u00a7 Indexes created on four and eight-byte integer array, tsvector, pg_trgm, ltree, and hstore columns can now control these GiST index parameters, rather than using the defaults.", "title": "Allow CREATE INDEX to specify the GiST signature length and maximum number of integer ranges", "commits": ["911e70207"], "section": "Server / Indexes", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.3", "source_hash": "47f7609aa0fed7770f1d7940bf6a78b2301df1870d1ef7c62d273ddf64c90ec8", "section_path": ["Server", "Indexes"], "commit_groups": [["911e70207"]], "identity_text": "Allow CREATE INDEX to specify the GiST signature length and maximum number of integer ranges (Nikita Glukhov) Indexes created on four and eight-byte integer array, tsvector, pgtrgm , ltree , and hstore columns can now control these GiST index parameters, rather than using the defaults.", "commit_aliases": ["911e70207"], "source_commits": ["911e70207"], "source_entry_id": "13.0/changes/011", "db_id": "c7ba4ea9be933a69c1ae4032bdf26ff9", "patch_ids": ["5d17b7356f8a8c6cc4be66f2a9088b55"], "statement_hash": "4657e287462a6c024cbc4d7512fb6af446d72e0827a97dc15abd13095c084b98", "relations": [{"rule": 2, "type": "related", "target": "afc765d9b390c3bbd435caf0e408dff0", "evidence": {"same_day": true, "patch_ids": ["5d17b7356f8a8c6cc4be66f2a9088b55"], "ambiguous_patch_ids": ["5d17b7356f8a8c6cc4be66f2a9088b55"]}}], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-86e470c378b579c1-2", "migration": false}, {"id": "13.0-e0f856d7d8e39d1e", "cves": [], "html": "<p>Prevent indexes that use non-default collations from being <a href=\"/docs/13/sql-altertable.html\" title=\"ALTER TABLE\">added</a> as a table's unique or primary key constraint (Tom Lane) <a href=\"https://postgr.es/c/fbbf68094\">\u00a7</a></p>\n<p>The index's collation must match that of the underlying column, but <code>ALTER TABLE</code> previously failed to check this.</p>", "text": "Prevent indexes that use non-default collations from being added as a table's unique or primary key constraint (Tom Lane) \u00a7 The index's collation must match that of the underlying column, but ALTER TABLE previously failed to check this.", "title": "Prevent indexes that use non-default collations from being added as a table's unique or primary key constraint", "commits": ["fbbf68094"], "section": "Server / Indexes", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.3", "source_hash": "4b2a2b835f60f4e244b0192b712a2f81e4b40bbe118c2b031a1f18dc4882400e", "section_path": ["Server", "Indexes"], "commit_groups": [["fbbf68094"]], "identity_text": "Prevent indexes that use non-default collations from being added as a table's unique or primary key constraint (Tom Lane) The index's collation must match that of the underlying column, but ALTER TABLE previously failed to check this.", "commit_aliases": ["fbbf68094"], "source_commits": ["fbbf68094"], "source_entry_id": "13.0/changes/012", "db_id": "18782b2fdacfe578e9cfe56330a6800b", "patch_ids": ["209c4eded0352d27fdebc9be81626b6e"], "statement_hash": "cec6b4927e06e45032c5699bdf54a07d4ce44f7baf1012b2fa1dbc013b7e967b", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-e0f856d7d8e39d1e", "migration": false}, {"id": "13.0-adfdc05bbfe513cd", "cves": [], "html": "<p>Improve the optimizer's <a href=\"/docs/13/planner-stats-details.html\" title=\"Chapter\u00a071.\u00a0How the Planner Uses Statistics\">selectivity</a> estimation for containment/match operators (Tom Lane) <a href=\"https://postgr.es/c/a80818605\">\u00a7</a></p>", "text": "Improve the optimizer's selectivity estimation for containment/match operators (Tom Lane) \u00a7", "title": "Improve the optimizer's selectivity estimation for containment/match operators", "commits": ["a80818605"], "section": "Server / Optimizer", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.4", "source_hash": "db8598d459670ad5b71679fbbfb2011cf1b783a366e1368ef138427d63e06e8f", "section_path": ["Server", "Optimizer"], "commit_groups": [["a80818605"]], "identity_text": "Improve the optimizer's selectivity estimation for containment/match operators (Tom Lane)", "commit_aliases": ["a80818605"], "source_commits": ["a80818605"], "source_entry_id": "13.0/changes/013", "db_id": "e03a2f4748c20b9fa3d57bebb562d54d", "patch_ids": ["e0a203af7ecf47c845d60dffea038bd8"], "statement_hash": "d0efeabdaee1d449eb29f81fdd08331ec5d70d7df958c8731c07e08e2e2efae9", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-adfdc05bbfe513cd", "migration": false}, {"id": "13.0-43686cc7489f49d8", "cves": [], "html": "<p>Allow setting the <a href=\"/docs/13/sql-altertable.html\" title=\"ALTER TABLE\">statistics target</a> for <a href=\"/docs/13/sql-createstatistics.html\" title=\"CREATE STATISTICS\">extended statistics</a> (Tomas Vondra) <a href=\"https://postgr.es/c/d06215d03\">\u00a7</a></p>\n<p>This is controlled with the new command option <code>ALTER STATISTICS ... SET STATISTICS</code>. Previously this was computed based on more general statistics target settings.</p>", "text": "Allow setting the statistics target for extended statistics (Tomas Vondra) \u00a7 This is controlled with the new command option ALTER STATISTICS ... SET STATISTICS. Previously this was computed based on more general statistics target settings.", "title": "Allow setting the statistics target for extended statistics", "commits": ["d06215d03"], "section": "Server / Optimizer", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.4", "source_hash": "d50bde3e1bcd3c65174901e0b9ed6e782af4e03a8a8e3e64b9df02201c65fab1", "section_path": ["Server", "Optimizer"], "commit_groups": [["d06215d03"]], "identity_text": "Allow setting the statistics target for extended statistics (Tomas Vondra) This is controlled with the new command option ALTER STATISTICS ... SET STATISTICS. Previously this was computed based on more general statistics target settings.", "commit_aliases": ["d06215d03"], "source_commits": ["d06215d03"], "source_entry_id": "13.0/changes/014", "db_id": "d1b8fe7431b3c7b3e9f713d6f2cd914b", "patch_ids": ["79fb7d0e773a57353956b6aaa9d857f0"], "statement_hash": "ac0933c8c7c890731e4fc0a4e3f8eb34b4e2106404775577b357aea6fe7fc26b", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-43686cc7489f49d8", "migration": false}, {"id": "13.0-add4554f0afbee2f", "cves": [], "html": "<p>Allow use of multiple extended statistics objects in a single query (Tomas Vondra) <a href=\"https://postgr.es/c/aaa676187\">\u00a7</a> <a href=\"https://postgr.es/c/eae056c19\">\u00a7</a></p>", "text": "Allow use of multiple extended statistics objects in a single query (Tomas Vondra) \u00a7 \u00a7", "title": "Allow use of multiple extended statistics objects in a single query", "commits": ["aaa676187", "eae056c19"], "section": "Server / Optimizer", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.4", "source_hash": "a06a591b00c801eb07849c0caa2b451e1ff4837e89ae9e5aa85fc35909a5d0db", "section_path": ["Server", "Optimizer"], "commit_groups": [["aaa676187"], ["eae056c19"]], "identity_text": "Allow use of multiple extended statistics objects in a single query (Tomas Vondra)", "commit_aliases": ["aaa676187", "eae056c19"], "source_commits": ["aaa676187", "eae056c19"], "source_entry_id": "13.0/changes/015", "db_id": "ea0131e2b4726edb47e2476c2d94fb81", "patch_ids": ["0517460781f8025da7b77fa6bc8064f3", "93a0e941b5a99c891e70cb6275232dfd"], "statement_hash": "6291ceaadec03b1969b571f95fe0f7c568efd1c25a1ae62e3aa6a503bf2ca415", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-add4554f0afbee2f", "migration": false}, {"id": "13.0-ced7bc580834ba44", "cves": [], "html": "<p>Allow use of extended statistics objects for OR clauses and <a href=\"/docs/13/functions-subquery.html\" title=\"9.23.\u00a0Subquery Expressions\">IN</a>/<code>ANY</code> constant lists (Pierre Ducroquet, Tomas Vondra) <a href=\"https://postgr.es/c/8f321bd16\">\u00a7</a> <a href=\"https://postgr.es/c/e83daa7e3\">\u00a7</a> <a href=\"https://postgr.es/c/ccaa3569f\">\u00a7</a></p>", "text": "Allow use of extended statistics objects for OR clauses and IN/ANY constant lists (Pierre Ducroquet, Tomas Vondra) \u00a7 \u00a7 \u00a7", "title": "Allow use of extended statistics objects for OR clauses and IN/ANY constant lists", "commits": ["8f321bd16", "ccaa3569f", "e83daa7e3"], "section": "Server / Optimizer", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.4", "source_hash": "14a997d01bcc94ffe3c626beb931c652705aa8ee5ded45e567874787a9072e22", "section_path": ["Server", "Optimizer"], "commit_groups": [["8f321bd16"], ["ccaa3569f"], ["e83daa7e3"]], "identity_text": "Allow use of extended statistics objects for OR clauses and IN/ANY constant lists (Pierre Ducroquet, Tomas Vondra)", "commit_aliases": ["8f321bd16", "ccaa3569f", "e83daa7e3"], "source_commits": ["8f321bd16", "ccaa3569f", "e83daa7e3"], "source_entry_id": "13.0/changes/016", "db_id": "6806eac80c0336a665b6e2df84c0f155", "patch_ids": ["150ac4fd4e0e8fdd34babedfa097818b", "38ac19fb8e12fec91d75e5f36fd168c9", "e7f243bba210fe45f85ae05d307c4ca2"], "statement_hash": "795fff38e7725fb791b96c7e2645c74a2465f441e7bab14004fb0a6f25aaeb97", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-ced7bc580834ba44", "migration": false}, {"id": "13.0-d52b749235409d1c", "cves": [], "html": "<p>Allow functions in <code>FROM</code> clauses to be pulled up (inlined) if they evaluate to constants (Alexander Kuzmenkov, Aleksandr Parfenov) <a href=\"https://postgr.es/c/7266d0997\">\u00a7</a> <a href=\"https://postgr.es/c/a9ae99d01\">\u00a7</a></p>", "text": "Allow functions in FROM clauses to be pulled up (inlined) if they evaluate to constants (Alexander Kuzmenkov, Aleksandr Parfenov) \u00a7 \u00a7", "title": "Allow functions in FROM clauses to be pulled up (inlined) if they evaluate to constants", "commits": ["7266d0997", "a9ae99d01"], "section": "Server / Optimizer", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.4", "source_hash": "0dce30a490d80789dc0670de01eb156848407463f779494fc42a5aabef06fdaa", "section_path": ["Server", "Optimizer"], "commit_groups": [["7266d0997"], ["a9ae99d01"]], "identity_text": "Allow functions in FROM clauses to be pulled up (inlined) if they evaluate to constants (Alexander Kuzmenkov, Aleksandr Parfenov)", "commit_aliases": ["7266d0997", "a9ae99d01"], "source_commits": ["7266d0997", "a9ae99d01"], "source_entry_id": "13.0/changes/017", "db_id": "4bad3aab680b71cc3601066e7e3a5065", "patch_ids": ["1348da700e41cce5f75d2f64f7e6cc31", "ac2fe31721e84f58dcff2b6ef7433b5c"], "statement_hash": "c65bcc23a4c1d5235891d4b7a71178641c78391779ea64934861403c844b8390", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-d52b749235409d1c", "migration": false}, {"id": "13.0-7bac33f53288199d", "cves": [], "html": "<p>Implement <a href=\"/docs/13/runtime-config-query.html#GUC-ENABLE-INCREMENTAL-SORT\">incremental sorting</a> (James Coleman, Alexander Korotkov, Tomas Vondra) <a href=\"https://postgr.es/c/d2d8a229b\">\u00a7</a> <a href=\"https://postgr.es/c/94e454cdd\">\u00a7</a></p>\n<p>If an intermediate query result is known to be sorted by one or more leading keys of a required sort ordering, the additional sorting can be done considering only the remaining keys, if the rows are sorted in batches that have equal leading keys.</p>\n<p>If necessary, this can be controlled using <a href=\"/docs/13/runtime-config-query.html#GUC-ENABLE-INCREMENTAL-SORT\">enable_incremental_sort</a>.</p>", "text": "Implement incremental sorting (James Coleman, Alexander Korotkov, Tomas Vondra) \u00a7 \u00a7 If an intermediate query result is known to be sorted by one or more leading keys of a required sort ordering, the additional sorting can be done considering only the remaining keys, if the rows are sorted in batches that have equal leading keys. If necessary, this can be controlled using enable_incremental_sort.", "title": "Implement incremental sorting", "commits": ["94e454cdd", "d2d8a229b"], "section": "Server / General Performance", "category": "performance", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.5", "source_hash": "7326147e882b0a4166ec3b84287d9b9d0920e4953c41bfd832ae421a2029ff7b", "section_path": ["Server", "General Performance"], "commit_groups": [["94e454cdd"], ["d2d8a229b"]], "identity_text": "Implement incremental sorting (James Coleman, Alexander Korotkov, Tomas Vondra) If an intermediate query result is known to be sorted by one or more leading keys of a required sort ordering, the additional sorting can be done considering only the remaining keys, if the rows are sorted in batches that have equal leading keys. If necessary, this can be controlled using guc-enable-incremental-sort .", "commit_aliases": ["94e454cdd", "d2d8a229b"], "source_commits": ["94e454cdd", "d2d8a229b"], "source_entry_id": "13.0/changes/018", "db_id": "6f3fd1946c685503344ef054a587b1dd", "patch_ids": ["278a92e39d69c168ad24a9167f2174b7", "3dc77609ae64140459d9a9afec908107"], "statement_hash": "b7d27834a05b9b8046d54286391fa61e92ec190e4bfa43505d0a8604e9f4ed8c", "relations": [], "category_label": "Performance", "url": "/docs/compare/?release=13.0#13.0-7bac33f53288199d", "migration": false}, {"id": "13.0-5d58a3deb9011d41", "cves": [], "html": "<p>Improve the performance of sorting <a href=\"/docs/13/datatype-net-types.html#DATATYPE-INET\" title=\"8.9.1.\u00a0inet\">inet</a> values (Brandur Leach) <a href=\"https://postgr.es/c/71dcd7438\">\u00a7</a></p>", "text": "Improve the performance of sorting inet values (Brandur Leach) \u00a7", "title": "Improve the performance of sorting inet values", "commits": ["71dcd7438"], "section": "Server / General Performance", "category": "performance", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.5", "source_hash": "83a3067bfd228a4d71e4935e7691c9be60dd5b90024a43f53f37464ca3988502", "section_path": ["Server", "General Performance"], "commit_groups": [["71dcd7438"]], "identity_text": "Improve the performance of sorting inet values (Brandur Leach)", "commit_aliases": ["71dcd7438"], "source_commits": ["71dcd7438"], "source_entry_id": "13.0/changes/019", "db_id": "7be3e1713fbe303ab454a9c923d9a047", "patch_ids": ["6b8159f858e88c6984f443855e76682a"], "statement_hash": "fcdbcac1c219036114076c98db61e8bfcccee2b814ca49423663db86ecc69d1c", "relations": [], "category_label": "Performance", "url": "/docs/compare/?release=13.0#13.0-5d58a3deb9011d41", "migration": false}, {"id": "13.0-906824d201b8e2c5", "cves": [], "html": "<p>Allow <a href=\"/docs/13/runtime-config-query.html#GUC-ENABLE-HASHAGG\">hash aggregation</a> to use disk storage for large aggregation result sets (Jeff Davis) <a href=\"https://postgr.es/c/1f39bce02\">\u00a7</a> <a href=\"https://postgr.es/c/dd8e19132\">\u00a7</a> <a href=\"https://postgr.es/c/78530c8e7\">\u00a7</a></p>\n<p>Previously, hash aggregation was avoided if it was expected to use more than <a href=\"/docs/13/runtime-config-resource.html#GUC-WORK-MEM\">work_mem</a> memory. Now, a hash aggregation plan can be chosen despite that. The hash table will be spilled to disk if it exceeds <code>work_mem</code> times <a href=\"/docs/13/runtime-config-resource.html#GUC-HASH-MEM-MULTIPLIER\">hash_mem_multiplier</a>.</p>\n<p>This behavior is normally preferable to the old behavior, in which once hash aggregation had been chosen, the hash table would be kept in memory no matter how large it got \u2014 which could be very large if the planner had misestimated. If necessary, behavior similar to that can be obtained by increasing <code>hash_mem_multiplier</code>.</p>", "text": "Allow hash aggregation to use disk storage for large aggregation result sets (Jeff Davis) \u00a7 \u00a7 \u00a7 Previously, hash aggregation was avoided if it was expected to use more than work_mem memory. Now, a hash aggregation plan can be chosen despite that. The hash table will be spilled to disk if it exceeds work_mem times hash_mem_multiplier. This behavior is normally preferable to the old behavior, in which once hash aggregation had been chosen, the hash table would be kept in memory no matter how large it got \u2014 which could be very large if the planner had misestimated. If necessary, behavior similar to that can be obtained by increasing hash_mem_multiplier.", "title": "Allow hash aggregation to use disk storage for large aggregation result sets", "commits": ["1f39bce02", "78530c8e7", "dd8e19132"], "section": "Server / General Performance", "category": "performance", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.5", "source_hash": "6505ea5cd4b84a9b5dc886175f0abcc90e064e5cc54d158934cfa5585220afae", "section_path": ["Server", "General Performance"], "commit_groups": [["1f39bce02"], ["78530c8e7"], ["dd8e19132"]], "identity_text": "Allow hash aggregation to use disk storage for large aggregation result sets (Jeff Davis) Previously, hash aggregation was avoided if it was expected to use more than guc-work-mem memory. Now, a hash aggregation plan can be chosen despite that. The hash table will be spilled to disk if it exceeds work_mem times guc-hash-mem-multiplier . This behavior is normally preferable to the old behavior, in which once hash aggregation had been chosen, the hash table would be kept in memory no matter how large it got \u2014 which could be very large if the planner had misestimated. If necessary, behavior similar to that can be obtained by increasing hash_mem_multiplier.", "commit_aliases": ["1f39bce02", "78530c8e7", "dd8e19132"], "source_commits": ["1f39bce02", "78530c8e7", "dd8e19132"], "source_entry_id": "13.0/changes/020", "db_id": "6442f5ad4bd8d8b4591ad34801b96bb9", "patch_ids": ["8b1a1c056d175ee893c832f51943a10f", "aea0626a54fed81f85e92bd61da850dd", "c7f1e60b068a27818a75177db44aedde"], "statement_hash": "36045a241dec61a916dd7330db7524f0c2dc5f27ad197295e958a18649895843", "relations": [], "category_label": "Performance", "url": "/docs/compare/?release=13.0#13.0-906824d201b8e2c5", "migration": false}, {"id": "13.0-b4dfea5bc3dc5278", "cves": [], "html": "<p>Allow inserts, not only updates and deletes, to trigger vacuuming activity in <a href=\"/docs/13/routine-vacuuming.html#AUTOVACUUM\" title=\"24.1.6.\u00a0The Autovacuum Daemon\">autovacuum</a> (Laurenz Albe, Darafei Praliaskouski) <a href=\"https://postgr.es/c/b07642dbc\">\u00a7</a></p>\n<p>Previously, insert-only activity would trigger auto-analyze but not auto-vacuum, on the grounds that there could not be any dead tuples to remove. However, a vacuum scan has other useful side-effects such as setting page-all-visible bits, which improves the efficiency of index-only scans. Also, allowing an insert-only table to receive periodic vacuuming helps to spread out the work of <span>\u201c<span>freezing</span>\u201d</span> old tuples, so that there is not suddenly a large amount of freezing work to do when the entire table reaches the anti-wraparound threshold all at once.</p>\n<p>If necessary, this behavior can be adjusted with the new parameters <a href=\"/docs/13/runtime-config-autovacuum.html#GUC-AUTOVACUUM-VACUUM-INSERT-THRESHOLD\">autovacuum_vacuum_insert_threshold</a> and <a href=\"/docs/13/runtime-config-autovacuum.html#GUC-AUTOVACUUM-VACUUM-INSERT-SCALE-FACTOR\">autovacuum_vacuum_insert_scale_factor</a>, or the equivalent table storage options.</p>", "text": "Allow inserts, not only updates and deletes, to trigger vacuuming activity in autovacuum (Laurenz Albe, Darafei Praliaskouski) \u00a7 Previously, insert-only activity would trigger auto-analyze but not auto-vacuum, on the grounds that there could not be any dead tuples to remove. However, a vacuum scan has other useful side-effects such as setting page-all-visible bits, which improves the efficiency of index-only scans. Also, allowing an insert-only table to receive periodic vacuuming helps to spread out the work of \u201cfreezing\u201d old tuples, so that there is not suddenly a large amount of freezing work to do when the entire table reaches the anti-wraparound threshold all at once. If necessary, this behavior can be adjusted with the new parameters autovacuum_vacuum_insert_threshold and autovacuum_vacuum_insert_scale_factor, or the equivalent table storage options.", "title": "Allow inserts, not only updates and deletes, to trigger vacuuming activity in autovacuum", "commits": ["b07642dbc"], "section": "Server / General Performance", "category": "performance", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.5", "source_hash": "d039b6b317faabbf49abde232f85e0528f56777455f2ca9be46ada3232d18fdc", "section_path": ["Server", "General Performance"], "commit_groups": [["b07642dbc"]], "identity_text": "Allow inserts, not only updates and deletes, to trigger vacuuming activity in autovacuum (Laurenz Albe, Darafei Praliaskouski) Previously, insert-only activity would trigger auto-analyze but not auto-vacuum, on the grounds that there could not be any dead tuples to remove. However, a vacuum scan has other useful side-effects such as setting page-all-visible bits, which improves the efficiency of index-only scans. Also, allowing an insert-only table to receive periodic vacuuming helps to spread out the work of freezing old tuples, so that there is not suddenly a large amount of freezing work to do when the entire table reaches the anti-wraparound threshold all at once. If necessary, this behavior can be adjusted with the new parameters guc-autovacuum-vacuum-insert-threshold and guc-autovacuum-vacuum-insert-scale-factor , or the equivalent table storage options.", "commit_aliases": ["b07642dbc"], "source_commits": ["b07642dbc"], "source_entry_id": "13.0/changes/021", "db_id": "ff243b43c207ec3e528bcb615e41e0ad", "patch_ids": ["dd4a38c2cef7db1665e28a1a9ff16317"], "statement_hash": "a75fea2e370989e623b4dd0557b356397fde08d58f02154768c4bf5eeae19679", "relations": [], "category_label": "Performance", "url": "/docs/compare/?release=13.0#13.0-b4dfea5bc3dc5278", "migration": false}, {"id": "13.0-b0c7f9051bc50aeb", "cves": [], "html": "<p>Add <a href=\"/docs/13/runtime-config-resource.html#GUC-MAINTENANCE-IO-CONCURRENCY\">maintenance_io_concurrency</a> parameter to control I/O concurrency for maintenance operations (Thomas Munro) <a href=\"https://postgr.es/c/fc34b0d9d\">\u00a7</a></p>", "text": "Add maintenance_io_concurrency parameter to control I/O concurrency for maintenance operations (Thomas Munro) \u00a7", "title": "Add maintenance_io_concurrency parameter to control I/O concurrency for maintenance operations", "commits": ["fc34b0d9d"], "section": "Server / General Performance", "category": "performance", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.5", "source_hash": "efd0b9ce10b052bb1682f544584949baad36d92419138589c516bf10911ee3ea", "section_path": ["Server", "General Performance"], "commit_groups": [["fc34b0d9d"]], "identity_text": "Add guc-maintenance-io-concurrency parameter to control I/O concurrency for maintenance operations (Thomas Munro)", "commit_aliases": ["fc34b0d9d"], "source_commits": ["fc34b0d9d"], "source_entry_id": "13.0/changes/022", "db_id": "295f700db62c2f12965dacb55956fa60", "patch_ids": ["12c1a95ce51d50f455dccf8066eba9e7"], "statement_hash": "1d736eb5805e08baea756c991a9fbab291d5b7e7cb5fb9f84c3ba70281036636", "relations": [], "category_label": "Performance", "url": "/docs/compare/?release=13.0#13.0-b0c7f9051bc50aeb", "migration": false}, {"id": "13.0-6e1cdece994230d9", "cves": [], "html": "<p>Allow <acronym>WAL</acronym> writes to be skipped during a transaction that creates or rewrites a relation, if <a href=\"/docs/13/runtime-config-wal.html#GUC-WAL-LEVEL\">wal_level</a> is <code>minimal</code> (Kyotaro Horiguchi) <a href=\"https://postgr.es/c/c6b92041d\">\u00a7</a></p>\n<p>Relations larger than <a href=\"/docs/13/runtime-config-wal.html#GUC-WAL-SKIP-THRESHOLD\">wal_skip_threshold</a> will have their files fsync'ed rather than generating <acronym>WAL</acronym>. Previously this was done only for <code>COPY</code> operations, but the implementation had a bug that could cause data loss during crash recovery.</p>", "text": "Allow WAL writes to be skipped during a transaction that creates or rewrites a relation, if wal_level is minimal (Kyotaro Horiguchi) \u00a7 Relations larger than wal_skip_threshold will have their files fsync'ed rather than generating WAL. Previously this was done only for COPY operations, but the implementation had a bug that could cause data loss during crash recovery.", "title": "Allow WAL writes to be skipped during a transaction that creates or rewrites a relation, if wal_level is minimal", "commits": ["c6b92041d"], "section": "Server / General Performance", "category": "performance", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.5", "source_hash": "cd126d964c1306b4eb5abb3509e5c4f2239cf7bcd5930659493c8ade889a8c1f", "section_path": ["Server", "General Performance"], "commit_groups": [["c6b92041d"]], "identity_text": "Allow WAL writes to be skipped during a transaction that creates or rewrites a relation, if guc-wal-level is minimal (Kyotaro Horiguchi) Relations larger than guc-wal-skip-threshold will have their files fsync'ed rather than generating WAL. Previously this was done only for COPY operations, but the implementation had a bug that could cause data loss during crash recovery.", "commit_aliases": ["c6b92041d"], "source_commits": ["c6b92041d"], "source_entry_id": "13.0/changes/023", "db_id": "30220ba09b5895e9693d456c854b4b9a", "patch_ids": ["3102d077d66fee2dfbbf3f49416f0976"], "statement_hash": "7bc93299750a74078e761ced8ff9f816bc9639125caec32a7497914dcc49918a", "relations": [], "category_label": "Performance", "url": "/docs/compare/?release=13.0#13.0-6e1cdece994230d9", "migration": false}, {"id": "13.0-3365d16768a9e792", "cves": [], "html": "<p>Improve performance when replaying <a href=\"/docs/13/sql-dropdatabase.html\" title=\"DROP DATABASE\"><code>DROP DATABASE</code></a> commands when many tablespaces are in use (Fujii Masao) <a href=\"https://postgr.es/c/e6d806952\">\u00a7</a></p>", "text": "Improve performance when replaying DROP DATABASE commands when many tablespaces are in use (Fujii Masao) \u00a7", "title": "Improve performance when replaying DROP DATABASE commands when many tablespaces are in use", "commits": ["e6d806952"], "section": "Server / General Performance", "category": "performance", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.5", "source_hash": "6344f97399fa516ff4358f637f8bbd4f4a7e21b925a687f1c72cb710a7191dba", "section_path": ["Server", "General Performance"], "commit_groups": [["e6d806952"]], "identity_text": "Improve performance when replaying DROP DATABASE commands when many tablespaces are in use (Fujii Masao)", "commit_aliases": ["e6d806952"], "source_commits": ["e6d806952"], "source_entry_id": "13.0/changes/024", "db_id": "a9b6bade4ee22fc67b760b2ea0980f08", "patch_ids": ["c669522b6d5e90b906fc018e3b7c0f1a"], "statement_hash": "9e4369a1bad90e265f2f0a1414b2171057535813f740f6d06bd1d84171530514", "relations": [], "category_label": "Performance", "url": "/docs/compare/?release=13.0#13.0-3365d16768a9e792", "migration": false}, {"id": "13.0-e43132b33be51e9f", "cves": [], "html": "<p>Improve performance for <a href=\"/docs/13/sql-truncate.html\" title=\"TRUNCATE\">truncation</a> of very large relations (Kirk Jamison) <a href=\"https://postgr.es/c/6d05086c0\">\u00a7</a></p>", "text": "Improve performance for truncation of very large relations (Kirk Jamison) \u00a7", "title": "Improve performance for truncation of very large relations", "commits": ["6d05086c0"], "section": "Server / General Performance", "category": "performance", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.5", "source_hash": "a74fce7166d12ebc59a9d7e2e907fa8a8b9248991de7cd81df67a8eb6e400cef", "section_path": ["Server", "General Performance"], "commit_groups": [["6d05086c0"]], "identity_text": "Improve performance for truncation of very large relations (Kirk Jamison)", "commit_aliases": ["6d05086c0"], "source_commits": ["6d05086c0"], "source_entry_id": "13.0/changes/025", "db_id": "1e9006896a1af69d834a155edb3255de", "patch_ids": ["10115d396c71180e50c1b8fcf075a3fb"], "statement_hash": "df9c6284cc83d08f40b230c5abfba2165dd6eba4883666826d24e121acb12f69", "relations": [], "category_label": "Performance", "url": "/docs/compare/?release=13.0#13.0-e43132b33be51e9f", "migration": false}, {"id": "13.0-fb2599d2a11a759d", "cves": [], "html": "<p>Improve retrieval of the leading bytes of <a href=\"/docs/13/storage-toast.html\" title=\"69.2.\u00a0TOAST\"><acronym>TOAST</acronym></a>'ed values (Binguo Bao, Andrey Borodin) <a href=\"https://postgr.es/c/11a078cf8\">\u00a7</a></p>\n<p>Previously, compressed out-of-line <acronym>TOAST</acronym> values were fully fetched even when it's known that only some leading bytes are needed. Now, only enough data to produce the result is fetched.</p>", "text": "Improve retrieval of the leading bytes of TOAST'ed values (Binguo Bao, Andrey Borodin) \u00a7 Previously, compressed out-of-line TOAST values were fully fetched even when it's known that only some leading bytes are needed. Now, only enough data to produce the result is fetched.", "title": "Improve retrieval of the leading bytes of TOAST'ed values", "commits": ["11a078cf8"], "section": "Server / General Performance", "category": "performance", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.5", "source_hash": "1c388da4bcfbb54bdeeb8251d35ba6b66b5eb69951c3822509bad3e4ba0841a1", "section_path": ["Server", "General Performance"], "commit_groups": [["11a078cf8"]], "identity_text": "Improve retrieval of the leading bytes of TOAST'ed values (Binguo Bao, Andrey Borodin) Previously, compressed out-of-line TOAST values were fully fetched even when it's known that only some leading bytes are needed. Now, only enough data to produce the result is fetched.", "commit_aliases": ["11a078cf8"], "source_commits": ["11a078cf8"], "source_entry_id": "13.0/changes/026", "db_id": "f5fb1b1f9ded8c1ceb227b00db1c2958", "patch_ids": ["cef0836907cdb9beac39ce5b71086988"], "statement_hash": "bc342db307b119cd9c25d5ce61994249266ffa0a3ce8a83153209bcbf0b1dccd", "relations": [], "category_label": "Performance", "url": "/docs/compare/?release=13.0#13.0-fb2599d2a11a759d", "migration": false}, {"id": "13.0-8c3802ee25f7f7c1", "cves": [], "html": "<p>Improve performance of <a href=\"/docs/13/sql-listen.html\" title=\"LISTEN\"><code>LISTEN</code></a>/<code>NOTIFY</code> (Martijn van Oosterhout, Tom Lane) <a href=\"https://postgr.es/c/bca6e6435\">\u00a7</a> <a href=\"https://postgr.es/c/51004c717\">\u00a7</a> <a href=\"https://postgr.es/c/bb5ae8f6c\">\u00a7</a></p>", "text": "Improve performance of LISTEN/NOTIFY (Martijn van Oosterhout, Tom Lane) \u00a7 \u00a7 \u00a7", "title": "Improve performance of LISTEN/NOTIFY", "commits": ["51004c717", "bb5ae8f6c", "bca6e6435"], "section": "Server / General Performance", "category": "performance", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.5", "source_hash": "fb780bf746f5a3624ca523ace8bb3d3e687c835561624a0c1d6c593142e963f3", "section_path": ["Server", "General Performance"], "commit_groups": [["51004c717"], ["bb5ae8f6c"], ["bca6e6435"]], "identity_text": "Improve performance of LISTEN/NOTIFY (Martijn van Oosterhout, Tom Lane)", "commit_aliases": ["51004c717", "bb5ae8f6c", "bca6e6435"], "source_commits": ["51004c717", "bb5ae8f6c", "bca6e6435"], "source_entry_id": "13.0/changes/027", "db_id": "39aeeff4a065d1e88fa614ebd7e37a10", "patch_ids": ["7d646f6c58ff910e7dd9a5d0eb625fdc", "94ae3f18f3c79d85a0a3e73c7c28a07b", "df7551865fdd0590b5acb5ca137f3280"], "statement_hash": "2d6903fd34b84130f869ce3b12c71d550a0cf93bc58ec4e5d79572f69d85773f", "relations": [], "category_label": "Performance", "url": "/docs/compare/?release=13.0#13.0-8c3802ee25f7f7c1", "migration": false}, {"id": "13.0-df1ac603263ae370", "cves": [], "html": "<p>Speed up conversions of integers to text (David Fetter) <a href=\"https://postgr.es/c/1fd687a03\">\u00a7</a></p>", "text": "Speed up conversions of integers to text (David Fetter) \u00a7", "title": "Speed up conversions of integers to text", "commits": ["1fd687a03"], "section": "Server / General Performance", "category": "performance", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.5", "source_hash": "36af82f7d62ee80b507e36be1c04de924bb9f167a72733bf906cf2a10d3d03a4", "section_path": ["Server", "General Performance"], "commit_groups": [["1fd687a03"]], "identity_text": "Speed up conversions of integers to text (David Fetter)", "commit_aliases": ["1fd687a03"], "source_commits": ["1fd687a03"], "source_entry_id": "13.0/changes/028", "db_id": "146793203d27f4483566ccde04c0a80f", "patch_ids": ["45afb2686c385bef49fee44bcead94ed"], "statement_hash": "cb987b4d56de264131e4a585e21034140003fee4012425d64f137d8229b137a4", "relations": [], "category_label": "Performance", "url": "/docs/compare/?release=13.0#13.0-df1ac603263ae370", "migration": false}, {"id": "13.0-07e7f5d54d3ca66a", "cves": [], "html": "<p>Reduce memory usage for query strings and extension scripts that contain many <acronym>SQL</acronym> statements (Amit Langote) <a href=\"https://postgr.es/c/b5810de3f\">\u00a7</a></p>", "text": "Reduce memory usage for query strings and extension scripts that contain many SQL statements (Amit Langote) \u00a7", "title": "Reduce memory usage for query strings and extension scripts that contain many SQL statements", "commits": ["b5810de3f"], "section": "Server / General Performance", "category": "performance", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.5", "source_hash": "8fb7798c19e322d4dd0521369b4269d3f226e165d46a42e66bf6eeedf484aebd", "section_path": ["Server", "General Performance"], "commit_groups": [["b5810de3f"]], "identity_text": "Reduce memory usage for query strings and extension scripts that contain many SQL statements (Amit Langote)", "commit_aliases": ["b5810de3f"], "source_commits": ["b5810de3f"], "source_entry_id": "13.0/changes/029", "db_id": "15e468abbb5e4eccab6f4881331a59fd", "patch_ids": ["1ab927c2f38b29e4895f038a2f2ec8e2"], "statement_hash": "fef69d605d385fbcff9f772a04be8789d4733cd24dae1d94a1f66041d951ffe2", "relations": [], "category_label": "Performance", "url": "/docs/compare/?release=13.0#13.0-07e7f5d54d3ca66a", "migration": false}, {"id": "13.0-a9d862c482363efe", "cves": [], "html": "<p>Allow <a href=\"/docs/13/sql-explain.html\" title=\"EXPLAIN\"><code>EXPLAIN</code></a>, <a href=\"/docs/13/auto-explain.html\" title=\"F.4.\u00a0auto_explain\">auto_explain</a>, <a href=\"/docs/13/routine-vacuuming.html#AUTOVACUUM\" title=\"24.1.6.\u00a0The Autovacuum Daemon\">autovacuum</a>, and <a href=\"/docs/13/pgstatstatements.html\" title=\"F.29.\u00a0pg_stat_statements\">pg_stat_statements</a> to track <acronym>WAL</acronym> usage statistics (Kirill Bychik, Julien Rouhaud) <a href=\"https://postgr.es/c/6b466bf5f\">\u00a7</a> <a href=\"https://postgr.es/c/33e05f89c\">\u00a7</a> <a href=\"https://postgr.es/c/b7ce6de93\">\u00a7</a></p>", "text": "Allow EXPLAIN, auto_explain, autovacuum, and pg_stat_statements to track WAL usage statistics (Kirill Bychik, Julien Rouhaud) \u00a7 \u00a7 \u00a7", "title": "Allow EXPLAIN, auto_explain, autovacuum, and pg_stat_statements to track WAL usage statistics", "commits": ["33e05f89c", "6b466bf5f", "b7ce6de93"], "section": "Server / Monitoring", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.6", "source_hash": "fe57ed5e272beb286e871294fb61af1e52d3915327a84f1534d0c7254cee6e56", "section_path": ["Server", "Monitoring"], "commit_groups": [["33e05f89c"], ["6b466bf5f"], ["b7ce6de93"]], "identity_text": "Allow EXPLAIN, auto-explain , autovacuum, and pgstatstatements to track WAL usage statistics (Kirill Bychik, Julien Rouhaud)", "commit_aliases": ["33e05f89c", "6b466bf5f", "b7ce6de93"], "source_commits": ["33e05f89c", "6b466bf5f", "b7ce6de93"], "source_entry_id": "13.0/changes/030", "db_id": "a81bca950723330723a396880d7230a2", "patch_ids": ["31925c9b2818b267801035402c499e9e", "6c03acae0cf345cf70fa5c0ee8270beb", "fb3d78d447fffec325ed73861b82ea2a"], "statement_hash": "ad6c2f4a105ad1fbba32edbf61724b4df3fc58f2f02ab482297d761eceedfbf0", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-a9d862c482363efe", "migration": false}, {"id": "13.0-a0084606588c2fed", "cves": [], "html": "<p>Allow a sample of SQL statements, rather than all statements, to be logged (Adrien Nayrat) <a href=\"https://postgr.es/c/6e3e6cc0e\">\u00a7</a></p>\n<p>A <a href=\"/docs/13/runtime-config-logging.html#GUC-LOG-STATEMENT-SAMPLE-RATE\">log_statement_sample_rate</a> fraction of those statements taking more than <a href=\"/docs/13/runtime-config-logging.html#GUC-LOG-MIN-DURATION-SAMPLE\">log_min_duration_sample</a> duration will be logged.</p>", "text": "Allow a sample of SQL statements, rather than all statements, to be logged (Adrien Nayrat) \u00a7 A log_statement_sample_rate fraction of those statements taking more than log_min_duration_sample duration will be logged.", "title": "Allow a sample of SQL statements, rather than all statements, to be logged", "commits": ["6e3e6cc0e"], "section": "Server / Monitoring", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.6", "source_hash": "100d1f479e612787e8ef6dacf4641291e7cc0aaa46bc87560848bbdf111c5a4a", "section_path": ["Server", "Monitoring"], "commit_groups": [["6e3e6cc0e"]], "identity_text": "Allow a sample of SQL statements, rather than all statements, to be logged (Adrien Nayrat) A guc-log-statement-sample-rate fraction of those statements taking more than guc-log-min-duration-sample duration will be logged.", "commit_aliases": ["6e3e6cc0e"], "source_commits": ["6e3e6cc0e"], "source_entry_id": "13.0/changes/031", "db_id": "cf598e0ff1ed5c6895694ec0468b72fa", "patch_ids": ["d42d5bf0a2809f3449a7fdf44b63bd36"], "statement_hash": "64e01dd1f610133710962064b5af48ec6117ad653650460f9708d279b8b41a9c", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-a0084606588c2fed", "migration": false}, {"id": "13.0-f305e57aff5469b0", "cves": [], "html": "<p>Add the backend type to <a href=\"/docs/13/runtime-config-logging.html\" title=\"19.8.\u00a0Error Reporting and Logging\">csvlog</a> and optionally <a href=\"/docs/13/runtime-config-logging.html#GUC-LOG-LINE-PREFIX\">log_line_prefix</a> log output (Peter Eisentraut) <a href=\"https://postgr.es/c/70a7b4776\">\u00a7</a></p>", "text": "Add the backend type to csvlog and optionally log_line_prefix log output (Peter Eisentraut) \u00a7", "title": "Add the backend type to csvlog and optionally log_line_prefix log output", "commits": ["70a7b4776"], "section": "Server / Monitoring", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.6", "source_hash": "286f96e316ce9805db24da0ccaed504a25d16433ac06fb901d54b2facf785992", "section_path": ["Server", "Monitoring"], "commit_groups": [["70a7b4776"]], "identity_text": "Add the backend type to csvlog and optionally guc-log-line-prefix log output (Peter Eisentraut)", "commit_aliases": ["70a7b4776"], "source_commits": ["70a7b4776"], "source_entry_id": "13.0/changes/032", "db_id": "235ce2c10b18e0cca4fef6d1580b942e", "patch_ids": ["b3bde18d195ab3e72dc9c103507df8a9"], "statement_hash": "0279638c7ed6b0977a0432345b3efaa639531996cb1b75ed5b95926de0099acf", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-f305e57aff5469b0", "migration": false}, {"id": "13.0-1f2de1547a895834", "cves": [], "html": "<p>Improve control of prepared statement parameter logging (Alexey Bashtanov, \u00c1lvaro Herrera) <a href=\"https://postgr.es/c/ba79cb5dc\">\u00a7</a> <a href=\"https://postgr.es/c/0b34e7d30\">\u00a7</a></p>\n<p>The <acronym>GUC</acronym> setting <a href=\"/docs/13/runtime-config-logging.html#GUC-LOG-PARAMETER-MAX-LENGTH\">log_parameter_max_length</a> controls the maximum length of parameter values output during logging of non-error statements, while <a href=\"/docs/13/runtime-config-logging.html#GUC-LOG-PARAMETER-MAX-LENGTH-ON-ERROR\">log_parameter_max_length_on_error</a> does the same for logging of statements with errors. Previously, prepared statement parameters were never logged during errors.</p>", "text": "Improve control of prepared statement parameter logging (Alexey Bashtanov, \u00c1lvaro Herrera) \u00a7 \u00a7 The GUC setting log_parameter_max_length controls the maximum length of parameter values output during logging of non-error statements, while log_parameter_max_length_on_error does the same for logging of statements with errors. Previously, prepared statement parameters were never logged during errors.", "title": "Improve control of prepared statement parameter logging", "commits": ["0b34e7d30", "ba79cb5dc"], "section": "Server / Monitoring", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.6", "source_hash": "7f237edc904bad8c0bf5ab2893ef9f4d1981a1fd2ab9c35a0b09649315e41eca", "section_path": ["Server", "Monitoring"], "commit_groups": [["0b34e7d30"], ["ba79cb5dc"]], "identity_text": "Improve control of prepared statement parameter logging (Alexey Bashtanov, \u00c1lvaro Herrera) The GUC setting guc-log-parameter-max-length controls the maximum length of parameter values output during logging of non-error statements, while guc-log-parameter-max-length-on-error does the same for logging of statements with errors. Previously, prepared statement parameters were never logged during errors.", "commit_aliases": ["0b34e7d30", "ba79cb5dc"], "source_commits": ["0b34e7d30", "ba79cb5dc"], "source_entry_id": "13.0/changes/033", "db_id": "0eda34f47222bdf23c7178dbd7af0d7d", "patch_ids": ["892abc33cd6c56564cf2c12133a2d045", "f081b1d898afefe2d7eb29013c75bd56"], "statement_hash": "b00d94b41be0ecba2efa1d14b97fa13f2b5cb1b4e9e93d3210706381c1da32ae", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-1f2de1547a895834", "migration": false}, {"id": "13.0-eb6dae15ffd8344c", "cves": [], "html": "<p>Allow function call backtraces to be logged after errors (Peter Eisentraut, \u00c1lvaro Herrera) <a href=\"https://postgr.es/c/71a8a4f6e\">\u00a7</a> <a href=\"https://postgr.es/c/8ff4d1277\">\u00a7</a></p>\n<p>The new parameter <a href=\"/docs/13/runtime-config-developer.html#GUC-BACKTRACE-FUNCTIONS\">backtrace_functions</a> specifies which C functions should generate backtraces on error.</p>", "text": "Allow function call backtraces to be logged after errors (Peter Eisentraut, \u00c1lvaro Herrera) \u00a7 \u00a7 The new parameter backtrace_functions specifies which C functions should generate backtraces on error.", "title": "Allow function call backtraces to be logged after errors", "commits": ["71a8a4f6e", "8ff4d1277"], "section": "Server / Monitoring", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.6", "source_hash": "cabf22c51494731865edb0153f669c4f67bcef906a6b06ec9ede4bf55c823173", "section_path": ["Server", "Monitoring"], "commit_groups": [["71a8a4f6e"], ["8ff4d1277"]], "identity_text": "Allow function call backtraces to be logged after errors (Peter Eisentraut, \u00c1lvaro Herrera) The new parameter guc-backtrace-functions specifies which C functions should generate backtraces on error.", "commit_aliases": ["71a8a4f6e", "8ff4d1277"], "source_commits": ["71a8a4f6e", "8ff4d1277"], "source_entry_id": "13.0/changes/034", "db_id": "3699aac582bc0eec78d81d91995a0354", "patch_ids": ["2b80fdf05010f615558b8d50d0660b55", "65bdf4c3f4fde73434e42e2b52f30b2d"], "statement_hash": "7cbdab52fc728b1acb9d4e8935fac7e137cb73e832b5aeee1c1b420811870209", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-eb6dae15ffd8344c", "migration": false}, {"id": "13.0-486eb8bd34629b39", "cves": [], "html": "<p>Make <a href=\"/docs/13/sql-vacuum.html\" title=\"VACUUM\">vacuum</a> buffer counters 64-bits wide to avoid overflow (\u00c1lvaro Herrera) <a href=\"https://postgr.es/c/15d13e829\">\u00a7</a></p>", "text": "Make vacuum buffer counters 64-bits wide to avoid overflow (\u00c1lvaro Herrera) \u00a7", "title": "Make vacuum buffer counters 64-bits wide to avoid overflow", "commits": ["15d13e829"], "section": "Server / Monitoring", "category": "bugfix", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.6", "source_hash": "e7ad771b468244f1b6bda4035a36701e031b8fa8eb99c340dc2cdf28aeb6d1f7", "section_path": ["Server", "Monitoring"], "commit_groups": [["15d13e829"]], "identity_text": "Make vacuum buffer counters 64-bits wide to avoid overflow (\u00c1lvaro Herrera)", "commit_aliases": ["15d13e829"], "source_commits": ["15d13e829"], "source_entry_id": "13.0/changes/035", "db_id": "66d40f6696228d548d1e3c049c034faa", "patch_ids": ["9ab19debd02d99f33901d8bd052a90c6"], "statement_hash": "a9f6ab10bce886b9cdab2527b5d0ac7a46e36bf00130974a62b0adf41efaca5a", "relations": [], "category_label": "Bug fixes", "url": "/docs/compare/?release=13.0#13.0-486eb8bd34629b39", "migration": false}, {"id": "13.0-8b49673f00b1c71f", "cves": [], "html": "<p>Add <code>leader_pid</code> to <a href=\"/docs/13/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW\" title=\"Table\u00a027.3.\u00a0pg_stat_activity View\">pg_stat_activity</a> to report a parallel worker's leader process (Julien Rouhaud) <a href=\"https://postgr.es/c/b025f32e0\">\u00a7</a></p>", "text": "Add leader_pid to pg_stat_activity to report a parallel worker's leader process (Julien Rouhaud) \u00a7", "title": "Add leader_pid to pg_stat_activity to report a parallel worker's leader process", "commits": ["b025f32e0"], "section": "Server / System Views", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.7", "source_hash": "d956b342fc3c4e0765164c943359a8b278c5ef021d17f98ffff7e07e52461185", "section_path": ["Server", "System Views"], "commit_groups": [["b025f32e0"]], "identity_text": "Add leader_pid to pg-stat-activity-view to report a parallel worker's leader process (Julien Rouhaud)", "commit_aliases": ["b025f32e0"], "source_commits": ["b025f32e0"], "source_entry_id": "13.0/changes/036", "db_id": "3829667db5ef5abb8ecfa3e27063691d", "patch_ids": ["8a3e2dd87ee7e018d4907a02460ed5f9"], "statement_hash": "c21d0caea9034f42e6df62777dad0f11e586ee80990f3f80578532bc490b96b6", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-8b49673f00b1c71f", "migration": false}, {"id": "13.0-3562ab31118a256d", "cves": [], "html": "<p>Add system view <a href=\"/docs/13/progress-reporting.html#BASEBACKUP-PROGRESS-REPORTING\" title=\"27.4.5.\u00a0Base Backup Progress Reporting\"><code>pg_stat_progress_basebackup</code></a> to report the progress of streaming base backups (Fujii Masao) <a href=\"https://postgr.es/c/e65497df8\">\u00a7</a></p>", "text": "Add system view pg_stat_progress_basebackup to report the progress of streaming base backups (Fujii Masao) \u00a7", "title": "Add system view pg_stat_progress_basebackup to report the progress of streaming base backups", "commits": ["e65497df8"], "section": "Server / System Views", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.7", "source_hash": "def8a2b9dfe79e30a6fd6a8d776ba7d5b5927e31e2190b8cc50338e5a3ecfd62", "section_path": ["Server", "System Views"], "commit_groups": [["e65497df8"]], "identity_text": "Add system view pg_stat_progress_basebackup to report the progress of streaming base backups (Fujii Masao)", "commit_aliases": ["e65497df8"], "source_commits": ["e65497df8"], "source_entry_id": "13.0/changes/037", "db_id": "19aacbebb92d873e455decfecd371b65", "patch_ids": ["ccbaef50c0f84ce962782a4c5b7e4a67"], "statement_hash": "2a70debc21d91de9cc6b929813b79bce3babf16cfa26bb69dc0a807356387f46", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-3562ab31118a256d", "migration": false}, {"id": "13.0-9ed18b5d71d8e971", "cves": [], "html": "<p>Add system view <a href=\"/docs/13/monitoring-stats.html#MONITORING-STATS-DYNAMIC-VIEWS-TABLE\" title=\"Table\u00a027.1.\u00a0Dynamic Statistics Views\"><code>pg_stat_progress_analyze</code></a> to report <a href=\"/docs/13/sql-analyze.html\" title=\"ANALYZE\">ANALYZE</a> progress (\u00c1lvaro Herrera, Tatsuro Yamada, Vinayak Pokale) <a href=\"https://postgr.es/c/a166d408e\">\u00a7</a></p>", "text": "Add system view pg_stat_progress_analyze to report ANALYZE progress (\u00c1lvaro Herrera, Tatsuro Yamada, Vinayak Pokale) \u00a7", "title": "Add system view pg_stat_progress_analyze to report ANALYZE progress", "commits": ["a166d408e"], "section": "Server / System Views", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.7", "source_hash": "95936c0ebe7b72fee353dadbe162a4372ec3cb664b34381d875e205412cffdf7", "section_path": ["Server", "System Views"], "commit_groups": [["a166d408e"]], "identity_text": "Add system view pg_stat_progress_analyze to report ANALYZE progress (\u00c1lvaro Herrera, Tatsuro Yamada, Vinayak Pokale)", "commit_aliases": ["a166d408e"], "source_commits": ["a166d408e"], "source_entry_id": "13.0/changes/038", "db_id": "a48a84e7270ac0e05b97a4d1d7fc798e", "patch_ids": ["6e4fa850d433253028205d99c7c88062"], "statement_hash": "b1b838c9f484907552e2630e233ff18d2a0ceb7b2cd58bc755c6638ded7b66cd", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-9ed18b5d71d8e971", "migration": false}, {"id": "13.0-d803bcbb97aeb798", "cves": [], "html": "<p>Add system view <a href=\"/docs/13/view-pg-shmem-allocations.html\" title=\"51.87.\u00a0pg_shmem_allocations\"><code>pg_shmem_allocations</code></a> to display shared memory usage (Andres Freund, Robert Haas) <a href=\"https://postgr.es/c/ed10f32e3\">\u00a7</a></p>", "text": "Add system view pg_shmem_allocations to display shared memory usage (Andres Freund, Robert Haas) \u00a7", "title": "Add system view pg_shmem_allocations to display shared memory usage", "commits": ["ed10f32e3"], "section": "Server / System Views", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.7", "source_hash": "9efc244ed6000d308e65e57cfe8ced07c424aa35768ad447f29cfa857525e6df", "section_path": ["Server", "System Views"], "commit_groups": [["ed10f32e3"]], "identity_text": "Add system view pg_shmem_allocations to display shared memory usage (Andres Freund, Robert Haas)", "commit_aliases": ["ed10f32e3"], "source_commits": ["ed10f32e3"], "source_entry_id": "13.0/changes/039", "db_id": "cba4db38ac0164a9d21fde5b11b6d07d", "patch_ids": ["d2d0ffce2915c3bd42733485b3aee687"], "statement_hash": "4ebeba8e5fbeb44a2759c0b3b23eae36b77ea775ab42c97819b95c2656b7c77f", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-d803bcbb97aeb798", "migration": false}, {"id": "13.0-ea02482391352330", "cves": [], "html": "<p>Add system view <a href=\"/docs/13/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE\" title=\"Table\u00a027.2.\u00a0Collected Statistics Views\"><code>pg_stat_slru</code></a> to monitor internal <acronym>SLRU</acronym> caches (Tomas Vondra) <a href=\"https://postgr.es/c/28cac71bd\">\u00a7</a></p>", "text": "Add system view pg_stat_slru to monitor internal SLRU caches (Tomas Vondra) \u00a7", "title": "Add system view pg_stat_slru to monitor internal SLRU caches", "commits": ["28cac71bd"], "section": "Server / System Views", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.7", "source_hash": "50fd7875ce57d8a4cf5bff2b01b2202e84a84742a0157f53507aff3a1aad6afe", "section_path": ["Server", "System Views"], "commit_groups": [["28cac71bd"]], "identity_text": "Add system view pg_stat_slru to monitor internal SLRU caches (Tomas Vondra)", "commit_aliases": ["28cac71bd"], "source_commits": ["28cac71bd"], "source_entry_id": "13.0/changes/040", "db_id": "4ac603ffd8700dfbbb1b178dad2f0291", "patch_ids": ["d3f0356030aac8aa504f09a9db23373c"], "statement_hash": "f227196df87df56552b46927586f89258080083396a177907c13380b9637f8ea", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-ea02482391352330", "migration": false}, {"id": "13.0-38e60c9d95492567", "cves": [], "html": "<p>Allow <a href=\"/docs/13/runtime-config-statistics.html#GUC-TRACK-ACTIVITY-QUERY-SIZE\">track_activity_query_size</a> to be set as high as 1MB (Vyacheslav Makarov) <a href=\"https://postgr.es/c/814727858\">\u00a7</a></p>\n<p>The previous maximum was 100kB.</p>", "text": "Allow track_activity_query_size to be set as high as 1MB (Vyacheslav Makarov) \u00a7 The previous maximum was 100kB.", "title": "Allow track_activity_query_size to be set as high as 1MB", "commits": ["814727858"], "section": "Server / System Views", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.7", "source_hash": "c88a542e752b5c2dc9dcdda9577ba71511df010d224db0cd9a584896e22284c7", "section_path": ["Server", "System Views"], "commit_groups": [["814727858"]], "identity_text": "Allow guc-track-activity-query-size to be set as high as 1MB (Vyacheslav Makarov) The previous maximum was 100kB.", "commit_aliases": ["814727858"], "source_commits": ["814727858"], "source_entry_id": "13.0/changes/041", "db_id": "1170c2e60e7bbe067fa09f4e9a55b00a", "patch_ids": ["bf97a0a3c183a355a1d122307df06933"], "statement_hash": "cf8794c0b094a8c67e221836d2a4030b0980db77036b83a8229ae1ceba7c8134", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-38e60c9d95492567", "migration": false}, {"id": "13.0-6cecf61b47b2c5e2", "cves": [], "html": "<p>Report a wait event while creating a DSM segment with <code>posix_fallocate()</code> (Thomas Munro) <a href=\"https://postgr.es/c/ef02fb15a\">\u00a7</a></p>", "text": "Report a wait event while creating a DSM segment with posix_fallocate() (Thomas Munro) \u00a7", "title": "Report a wait event while creating a DSM segment with posix_fallocate()", "commits": ["ef02fb15a"], "section": "Server / Wait Events", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.8", "source_hash": "827d946fcbd20e09f82a3961ba03323796bc92d5700fe179b21fd020900be56e", "section_path": ["Server", "Wait Events"], "commit_groups": [["ef02fb15a"]], "identity_text": "Report a wait event while creating a DSM segment with posix_fallocate() (Thomas Munro)", "commit_aliases": ["ef02fb15a"], "source_commits": ["ef02fb15a"], "source_entry_id": "13.0/changes/042", "db_id": "4cc4f68ab90a326ee93be5a2e752a028", "patch_ids": ["ff3febcddeaf331f02b7fabffbf20ed4"], "statement_hash": "66476d803519ef5d3ae621b4dc36c36b14ff4e9fffa68fec01f21648beca68f2", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-6cecf61b47b2c5e2", "migration": false}, {"id": "13.0-6061745b549de988", "cves": [], "html": "<p>Add wait event VacuumDelay to report on cost-based vacuum delay (Justin Pryzby) <a href=\"https://postgr.es/c/cedffbdb8\">\u00a7</a></p>", "text": "Add wait event VacuumDelay to report on cost-based vacuum delay (Justin Pryzby) \u00a7", "title": "Add wait event VacuumDelay to report on cost-based vacuum delay", "commits": ["cedffbdb8"], "section": "Server / Wait Events", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.8", "source_hash": "5773676cc2f68f1e0dbd1e2163ea9b22673b4de138de51352f7e2b25741756c4", "section_path": ["Server", "Wait Events"], "commit_groups": [["cedffbdb8"]], "identity_text": "Add wait event VacuumDelay to report on cost-based vacuum delay (Justin Pryzby)", "commit_aliases": ["cedffbdb8"], "source_commits": ["cedffbdb8"], "source_entry_id": "13.0/changes/043", "db_id": "f8e060090e970c464b4288abe46d6d5f", "patch_ids": ["37e1b1003b1d18374b97562b7bc17a9b"], "statement_hash": "7bc8ff86a40914648be320bdce08e73d9848768f2d359beea99252d39313dc8c", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-6061745b549de988", "migration": false}, {"id": "13.0-dbab36dc22c98de2", "cves": [], "html": "<p>Add wait events for <acronym>WAL</acronym> archive and recovery pause (Fujii Masao) <a href=\"https://postgr.es/c/b8e20d6da\">\u00a7</a></p>\n<p>The new events are BackupWaitWalArchive and RecoveryPause.</p>", "text": "Add wait events for WAL archive and recovery pause (Fujii Masao) \u00a7 The new events are BackupWaitWalArchive and RecoveryPause.", "title": "Add wait events for WAL archive and recovery pause", "commits": ["b8e20d6da"], "section": "Server / Wait Events", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.8", "source_hash": "e96b3f4bbe439ca9ed1fb70f6a06424c4b82bf8776ac994ee2ad39f768498b8a", "section_path": ["Server", "Wait Events"], "commit_groups": [["b8e20d6da"]], "identity_text": "Add wait events for WAL archive and recovery pause (Fujii Masao) The new events are BackupWaitWalArchive and RecoveryPause.", "commit_aliases": ["b8e20d6da"], "source_commits": ["b8e20d6da"], "source_entry_id": "13.0/changes/044", "db_id": "3c5c0ec2c2eaaf0e60de9d8776cca018", "patch_ids": ["6fe0a06951d273b69d16762c4bbd476d"], "statement_hash": "1455246aa9e8be1b2c6db7f90fd462c183efc2b262421b54a0f53189470dcd8d", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-dbab36dc22c98de2", "migration": false}, {"id": "13.0-5c05ab1c247e71fc", "cves": [], "html": "<p>Add wait events RecoveryConflictSnapshot and RecoveryConflictTablespace to monitor recovery conflicts (Masahiko Sawada) <a href=\"https://postgr.es/c/18808f8c8\">\u00a7</a></p>", "text": "Add wait events RecoveryConflictSnapshot and RecoveryConflictTablespace to monitor recovery conflicts (Masahiko Sawada) \u00a7", "title": "Add wait events RecoveryConflictSnapshot and RecoveryConflictTablespace to monitor recovery conflicts", "commits": ["18808f8c8"], "section": "Server / Wait Events", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.8", "source_hash": "548d1dd2d926b717d99f3836ed6e79841853ca9e3fc9ec2ada1a41ce520853e9", "section_path": ["Server", "Wait Events"], "commit_groups": [["18808f8c8"]], "identity_text": "Add wait events RecoveryConflictSnapshot and RecoveryConflictTablespace to monitor recovery conflicts (Masahiko Sawada)", "commit_aliases": ["18808f8c8"], "source_commits": ["18808f8c8"], "source_entry_id": "13.0/changes/045", "db_id": "18551dad406ad2db47d34eac3fe960a8", "patch_ids": ["f6119c017b405cdac8f6d130d83da14f"], "statement_hash": "60b28341cf367db6caaa1a879ab3c02364e4bb58eee1c4efb0f3edb7f66c70e9", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-5c05ab1c247e71fc", "migration": false}, {"id": "13.0-b116e54059e9b150", "cves": [], "html": "<p>Improve performance of wait events on <acronym>BSD</acronym>-based systems (Thomas Munro) <a href=\"https://postgr.es/c/815c2f097\">\u00a7</a></p>", "text": "Improve performance of wait events on BSD-based systems (Thomas Munro) \u00a7", "title": "Improve performance of wait events on BSD-based systems", "commits": ["815c2f097"], "section": "Server / Wait Events", "category": "performance", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.8", "source_hash": "69f83a91fc14e426f8beffe2317bdab23f2bcb05549e2273d8cc94a01c924b43", "section_path": ["Server", "Wait Events"], "commit_groups": [["815c2f097"]], "identity_text": "Improve performance of wait events on BSD-based systems (Thomas Munro)", "commit_aliases": ["815c2f097"], "source_commits": ["815c2f097"], "source_entry_id": "13.0/changes/046", "db_id": "49a30a50342df4fd32c125ea122f1a25", "patch_ids": ["7997291c64481ef3186b842291852cf4"], "statement_hash": "300271c104184e5ec2c00e0c6dc5a11c973212edbcb91fd4f7dd8000e2526019", "relations": [], "category_label": "Performance", "url": "/docs/compare/?release=13.0#13.0-b116e54059e9b150", "migration": false}, {"id": "13.0-03783cadd68b00e2", "cves": [], "html": "<p>Allow only superusers to view the <a href=\"/docs/13/runtime-config-connection.html#GUC-SSL-PASSPHRASE-COMMAND\">ssl_passphrase_command</a> setting (Insung Moon) <a href=\"https://postgr.es/c/d9249441e\">\u00a7</a></p>\n<p>This was changed as a security precaution.</p>", "text": "Allow only superusers to view the ssl_passphrase_command setting (Insung Moon) \u00a7 This was changed as a security precaution.", "title": "Allow only superusers to view the ssl_passphrase_command setting", "commits": ["d9249441e"], "section": "Server / Authentication", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.9", "source_hash": "226c42b74a60629e3f8a4260a367987baac11178c074d5f8aa01046752e6fc79", "section_path": ["Server", "Authentication"], "commit_groups": [["d9249441e"]], "identity_text": "Allow only superusers to view the guc-ssl-passphrase-command setting (Insung Moon) This was changed as a security precaution.", "commit_aliases": ["d9249441e"], "source_commits": ["d9249441e"], "source_entry_id": "13.0/changes/047", "db_id": "c66ac81f2a3b5ecd323a61be808b8429", "patch_ids": ["5280dc5a8da5303479b58c8240552d8c"], "statement_hash": "9c0220af1b7541e620bd0ca827dcfbb7c50c38d697dc0fcd4e076808b3d60681", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-03783cadd68b00e2", "migration": false}, {"id": "13.0-deabbd452fa6893b", "cves": [], "html": "<p>Change the server's default minimum <acronym>TLS</acronym> version for encrypted connections from 1.0 to 1.2 (Peter Eisentraut) <a href=\"https://postgr.es/c/b1abfec82\">\u00a7</a></p>\n<p>This choice can be controlled by <a href=\"/docs/13/runtime-config-connection.html#GUC-SSL-MIN-PROTOCOL-VERSION\">ssl_min_protocol_version</a>.</p>", "text": "Change the server's default minimum TLS version for encrypted connections from 1.0 to 1.2 (Peter Eisentraut) \u00a7 This choice can be controlled by ssl_min_protocol_version.", "title": "Change the server's default minimum TLS version for encrypted connections from 1.0 to 1.2", "commits": ["b1abfec82"], "section": "Server / Authentication", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.9", "source_hash": "c6b0eba6301163530b5745be783c8877ab471814003afbd69cf45f845c9037c9", "section_path": ["Server", "Authentication"], "commit_groups": [["b1abfec82"]], "identity_text": "Change the server's default minimum TLS version for encrypted connections from 1.0 to 1.2 (Peter Eisentraut) This choice can be controlled by guc-ssl-min-protocol-version .", "commit_aliases": ["b1abfec82"], "source_commits": ["b1abfec82"], "source_entry_id": "13.0/changes/048", "db_id": "5c2c5a268df7491419c32bc517eaea8c", "patch_ids": ["7ad6a5fe72361815924c7802609eaf1c"], "statement_hash": "4a13db69ffd2882e8200179c884898dae52dc72e16d20356bf6f7195e2c9f608", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-deabbd452fa6893b", "migration": false}, {"id": "13.0-b6520b054ceec4ec", "cves": [], "html": "<p>Tighten rules on which utility commands are allowed in read-only transaction mode (Robert Haas) <a href=\"https://postgr.es/c/2eb34ac36\">\u00a7</a></p>\n<p>This change also increases the number of utility commands that can run in parallel queries.</p>", "text": "Tighten rules on which utility commands are allowed in read-only transaction mode (Robert Haas) \u00a7 This change also increases the number of utility commands that can run in parallel queries.", "title": "Tighten rules on which utility commands are allowed in read-only transaction mode", "commits": ["2eb34ac36"], "section": "Server / Server Configuration", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.10", "source_hash": "38e74dfdae557f021130443065eb136f078a15ff7eb2847bbbb73910f765b401", "section_path": ["Server", "Server Configuration"], "commit_groups": [["2eb34ac36"]], "identity_text": "Tighten rules on which utility commands are allowed in read-only transaction mode (Robert Haas) This change also increases the number of utility commands that can run in parallel queries.", "commit_aliases": ["2eb34ac36"], "source_commits": ["2eb34ac36"], "source_entry_id": "13.0/changes/049", "db_id": "3f841bd64c40391a956b84092c26442f", "patch_ids": ["7d03e2a8274f02d98945329edc68e378"], "statement_hash": "8fe790f3c0f31459a2487610657bbf8256e98f5e3f53a9a453f354afdb4e3a57", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-b6520b054ceec4ec", "migration": false}, {"id": "13.0-7c1e05857816d2e9", "cves": [], "html": "<p>Allow <a href=\"/docs/13/runtime-config-developer.html#GUC-ALLOW-SYSTEM-TABLE-MODS\">allow_system_table_mods</a> to be changed after server start (Peter Eisentraut) <a href=\"https://postgr.es/c/c4a7a392e\">\u00a7</a></p>", "text": "Allow allow_system_table_mods to be changed after server start (Peter Eisentraut) \u00a7", "title": "Allow allow_system_table_mods to be changed after server start", "commits": ["c4a7a392e"], "section": "Server / Server Configuration", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.10", "source_hash": "12b0ba5414b928e3869101f3390ccee89605a91c8904cce92c42c501494fc396", "section_path": ["Server", "Server Configuration"], "commit_groups": [["c4a7a392e"]], "identity_text": "Allow guc-allow-system-table-mods to be changed after server start (Peter Eisentraut)", "commit_aliases": ["c4a7a392e"], "source_commits": ["c4a7a392e"], "source_entry_id": "13.0/changes/050", "db_id": "9e89d87637b1b9e7d2afa6f5a00ae036", "patch_ids": ["cd9fcb222f261787497a20ccb7db1cd7"], "statement_hash": "740b7abc54511ea4ef9b23e51c8b02d585bcb76088b628e407a6a3aa43c2b817", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-7c1e05857816d2e9", "migration": false}, {"id": "13.0-316c616c4e151e8a", "cves": [], "html": "<p>Disallow non-superusers from modifying system tables when <a href=\"/docs/13/runtime-config-developer.html#GUC-ALLOW-SYSTEM-TABLE-MODS\">allow_system_table_mods</a> is set (Peter Eisentraut) <a href=\"https://postgr.es/c/508bf95b7\">\u00a7</a></p>\n<p>Previously, if <a href=\"/docs/13/runtime-config-developer.html#GUC-ALLOW-SYSTEM-TABLE-MODS\">allow_system_table_mods</a> was set at server start, non-superusers could issue <code>INSERT</code>/<code>UPDATE</code>/<code>DELETE</code> commands on system tables.</p>", "text": "Disallow non-superusers from modifying system tables when allow_system_table_mods is set (Peter Eisentraut) \u00a7 Previously, if allow_system_table_mods was set at server start, non-superusers could issue INSERT/UPDATE/DELETE commands on system tables.", "title": "Disallow non-superusers from modifying system tables when allow_system_table_mods is set", "commits": ["508bf95b7"], "section": "Server / Server Configuration", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.10", "source_hash": "695c93636bc72f14b4a2580068be6b826cd70208926ef549f993e7c2242b8f5f", "section_path": ["Server", "Server Configuration"], "commit_groups": [["508bf95b7"]], "identity_text": "Disallow non-superusers from modifying system tables when guc-allow-system-table-mods is set (Peter Eisentraut) Previously, if guc-allow-system-table-mods was set at server start, non-superusers could issue INSERT/UPDATE/DELETE commands on system tables.", "commit_aliases": ["508bf95b7"], "source_commits": ["508bf95b7"], "source_entry_id": "13.0/changes/051", "db_id": "e31f4c31f6f53e0ec0a56b0bba443c2f", "patch_ids": ["5ac2835ad7c212ab93f49d2f731977c8"], "statement_hash": "13747ec7824c60a01b218a1442d90ca658debc27b19da8f0d45e366bb272c133", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-316c616c4e151e8a", "migration": false}, {"id": "13.0-b942cbb3cf51e798", "cves": [], "html": "<p>Enable support for <a href=\"/docs/13/runtime-config-connection.html#RUNTIME-CONFIG-CONNECTION-SETTINGS\" title=\"19.3.1.\u00a0Connection Settings\">Unix-domain sockets</a> on Windows (Peter Eisentraut) <a href=\"https://postgr.es/c/8f3ec75de\">\u00a7</a></p>", "text": "Enable support for Unix-domain sockets on Windows (Peter Eisentraut) \u00a7", "title": "Enable support for Unix-domain sockets on Windows", "commits": ["8f3ec75de"], "section": "Server / Server Configuration", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.10", "source_hash": "870ffbbc6dd8154cef58e9ddf5f2b6e790b52111b54f0fa717ae17d70f1aca5f", "section_path": ["Server", "Server Configuration"], "commit_groups": [["8f3ec75de"]], "identity_text": "Enable support for Unix-domain sockets on Windows (Peter Eisentraut)", "commit_aliases": ["8f3ec75de"], "source_commits": ["8f3ec75de"], "source_entry_id": "13.0/changes/052", "db_id": "085a6be2139c683f39bc852acb6047da", "patch_ids": ["2df2d63d3558909645f3e95415869b78"], "statement_hash": "bc449d57dbff88a63bd227b82e80cc902427f599b4f3f72d74542af75a9cbf0d", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-b942cbb3cf51e798", "migration": false}, {"id": "13.0-62eaaeae600fc796", "cves": [], "html": "<p>Allow streaming replication configuration settings to be changed by reload (Sergei Kornilov) <a href=\"https://postgr.es/c/1e6148032\">\u00a7</a></p>\n<p>Previously, a server restart was required to change <a href=\"/docs/13/runtime-config-replication.html#GUC-PRIMARY-CONNINFO\">primary_conninfo</a> and <a href=\"/docs/13/runtime-config-replication.html#GUC-PRIMARY-SLOT-NAME\">primary_slot_name</a>.</p>", "text": "Allow streaming replication configuration settings to be changed by reload (Sergei Kornilov) \u00a7 Previously, a server restart was required to change primary_conninfo and primary_slot_name.", "title": "Allow streaming replication configuration settings to be changed by reload", "commits": ["1e6148032"], "section": "Streaming Replication and Recovery", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.4", "source_hash": "8b377a2a3c1cdc3523750f5f949de1ecf799d56c0dbcce8ec4bc8f63270a197b", "section_path": ["Streaming Replication and Recovery"], "commit_groups": [["1e6148032"]], "identity_text": "Allow streaming replication configuration settings to be changed by reload (Sergei Kornilov) Previously, a server restart was required to change guc-primary-conninfo and guc-primary-slot-name .", "commit_aliases": ["1e6148032"], "source_commits": ["1e6148032"], "source_entry_id": "13.0/changes/053", "db_id": "d0505e2cb7f102e3e085be5d4d522af6", "patch_ids": ["b24cedea135a297c03667904d6bfe734"], "statement_hash": "463baf5e6ec87607839da705f542525b6a3154b4c33c9ef9f7a9c28bb01ee40d", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-62eaaeae600fc796", "migration": false}, {"id": "13.0-7735c757f0ebe6e6", "cves": [], "html": "<p>Allow <acronym>WAL</acronym> receivers to use a temporary replication slot when a permanent one is not specified (Peter Eisentraut, Sergei Kornilov) <a href=\"https://postgr.es/c/329730827\">\u00a7</a> <a href=\"https://postgr.es/c/092c6936d\">\u00a7</a></p>\n<p>This behavior can be enabled using <a href=\"/docs/13/runtime-config-replication.html#GUC-WAL-RECEIVER-CREATE-TEMP-SLOT\">wal_receiver_create_temp_slot</a>.</p>", "text": "Allow WAL receivers to use a temporary replication slot when a permanent one is not specified (Peter Eisentraut, Sergei Kornilov) \u00a7 \u00a7 This behavior can be enabled using wal_receiver_create_temp_slot.", "title": "Allow WAL receivers to use a temporary replication slot when a permanent one is not specified", "commits": ["092c6936d", "329730827"], "section": "Streaming Replication and Recovery", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.4", "source_hash": "6418c303e2a89e7b07e7524311a5c1adbf78f7d60f8eba946dff4f942940d46f", "section_path": ["Streaming Replication and Recovery"], "commit_groups": [["092c6936d"], ["329730827"]], "identity_text": "Allow WAL receivers to use a temporary replication slot when a permanent one is not specified (Peter Eisentraut, Sergei Kornilov) This behavior can be enabled using guc-wal-receiver-create-temp-slot .", "commit_aliases": ["092c6936d", "329730827"], "source_commits": ["092c6936d", "329730827"], "source_entry_id": "13.0/changes/054", "db_id": "ea2877c8cb768c4a3911e75b41113785", "patch_ids": ["3c629804e6f984eceaf172deb0a1589d", "de0e9551aee5abf4bbafd350c8d5c725"], "statement_hash": "cc6cafbb7486fa67f5b8d9adcb065a330360a8dbf8fe764f77d20ce2cfa198f3", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-7735c757f0ebe6e6", "migration": false}, {"id": "13.0-df94f1b21aed2867", "cves": [], "html": "<p>Allow WAL storage for replication slots to be limited by <a href=\"/docs/13/runtime-config-replication.html#GUC-MAX-SLOT-WAL-KEEP-SIZE\">max_slot_wal_keep_size</a> (Kyotaro Horiguchi) <a href=\"https://postgr.es/c/c65507763\">\u00a7</a></p>\n<p>Replication slots that would require exceeding this value are marked invalid.</p>", "text": "Allow WAL storage for replication slots to be limited by max_slot_wal_keep_size (Kyotaro Horiguchi) \u00a7 Replication slots that would require exceeding this value are marked invalid.", "title": "Allow WAL storage for replication slots to be limited by max_slot_wal_keep_size", "commits": ["c65507763"], "section": "Streaming Replication and Recovery", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.4", "source_hash": "870d0258609dbf9104424fc8cf7f075fc96c798f19ac27cf3d63e28bbd48fc70", "section_path": ["Streaming Replication and Recovery"], "commit_groups": [["c65507763"]], "identity_text": "Allow WAL storage for replication slots to be limited by guc-max-slot-wal-keep-size (Kyotaro Horiguchi) Replication slots that would require exceeding this value are marked invalid.", "commit_aliases": ["c65507763"], "source_commits": ["c65507763"], "source_entry_id": "13.0/changes/055", "db_id": "110211fc7e7685a87adb6710b56b43e5", "patch_ids": ["60c0ed98bb39ff47b8b77fc8c96f0458"], "statement_hash": "916f9b60abad1762852445e4836b01f37ed5b1596ea142fda4a335c6368c40b0", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-df94f1b21aed2867", "migration": false}, {"id": "13.0-e1a62bd855f2dee7", "cves": [], "html": "<p>Allow <a href=\"/docs/13/runtime-config-replication.html#GUC-PROMOTE-TRIGGER-FILE\">standby promotion</a> to cancel any requested pause (Fujii Masao) <a href=\"https://postgr.es/c/496ee647e\">\u00a7</a></p>\n<p>Previously, promotion could not happen while the standby was in paused state.</p>", "text": "Allow standby promotion to cancel any requested pause (Fujii Masao) \u00a7 Previously, promotion could not happen while the standby was in paused state.", "title": "Allow standby promotion to cancel any requested pause", "commits": ["496ee647e"], "section": "Streaming Replication and Recovery", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.4", "source_hash": "b908fa6dc2dd2e7573a2aae30f1cdfc5227684b6a98a4220951455485d848f45", "section_path": ["Streaming Replication and Recovery"], "commit_groups": [["496ee647e"]], "identity_text": "Allow standby promotion to cancel any requested pause (Fujii Masao) Previously, promotion could not happen while the standby was in paused state.", "commit_aliases": ["496ee647e"], "source_commits": ["496ee647e"], "source_entry_id": "13.0/changes/056", "db_id": "f85af48367bb3e0eb4f9b26373696b68", "patch_ids": ["7162fd0b5dda9a3a9555ae9ffcb3a29b"], "statement_hash": "05d0f6083463f1395bd4d594aa8309af8f8c37e1011c001ce0d7924ac24c8d10", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-e1a62bd855f2dee7", "migration": false}, {"id": "13.0-e0b646179fecb382", "cves": [], "html": "<p>Generate an error if recovery does not reach the specified <a href=\"/docs/13/runtime-config-wal.html#RUNTIME-CONFIG-WAL-RECOVERY-TARGET\" title=\"19.5.5.\u00a0Recovery Target\">recovery target</a> (Leif Gunnar Erlandsen, Peter Eisentraut) <a href=\"https://postgr.es/c/dc788668b\">\u00a7</a></p>\n<p>Previously, a standby would promote itself upon reaching the end of <acronym>WAL</acronym>, even if the target was not reached.</p>", "text": "Generate an error if recovery does not reach the specified recovery target (Leif Gunnar Erlandsen, Peter Eisentraut) \u00a7 Previously, a standby would promote itself upon reaching the end of WAL, even if the target was not reached.", "title": "Generate an error if recovery does not reach the specified recovery target", "commits": ["dc788668b"], "section": "Streaming Replication and Recovery", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.4", "source_hash": "a4242e1d543af272ba3ca66e31dcea62ead47c486b8920f817a540d124a83f00", "section_path": ["Streaming Replication and Recovery"], "commit_groups": [["dc788668b"]], "identity_text": "Generate an error if recovery does not reach the specified recovery target (Leif Gunnar Erlandsen, Peter Eisentraut) Previously, a standby would promote itself upon reaching the end of WAL, even if the target was not reached.", "commit_aliases": ["dc788668b"], "source_commits": ["dc788668b"], "source_entry_id": "13.0/changes/057", "db_id": "77b80acc34a77ffea5bc5dc1b6d4bb95", "patch_ids": ["043d34097516e02b303b661eb5f157cc"], "statement_hash": "41149dd4a61e3bdf7ede3011b3776e9576e65e503f2a7a1b6e74fb33867d2c37", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-e0b646179fecb382", "migration": false}, {"id": "13.0-f9ed4425a63dc9ca", "cves": [], "html": "<p>Allow control over how much memory is used by logical decoding before it is spilled to disk (Tomas Vondra, Dilip Kumar, Amit Kapila) <a href=\"https://postgr.es/c/cec2edfa7\">\u00a7</a></p>\n<p>This is controlled by <a href=\"/docs/13/runtime-config-resource.html#GUC-LOGICAL-DECODING-WORK-MEM\">logical_decoding_work_mem</a>.</p>", "text": "Allow control over how much memory is used by logical decoding before it is spilled to disk (Tomas Vondra, Dilip Kumar, Amit Kapila) \u00a7 This is controlled by logical_decoding_work_mem.", "title": "Allow control over how much memory is used by logical decoding before it is spilled to disk", "commits": ["cec2edfa7"], "section": "Streaming Replication and Recovery", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.4", "source_hash": "41a5662f166bb1635058f113c68f1c893ab8086221871e957115c781dacb8272", "section_path": ["Streaming Replication and Recovery"], "commit_groups": [["cec2edfa7"]], "identity_text": "Allow control over how much memory is used by logical decoding before it is spilled to disk (Tomas Vondra, Dilip Kumar, Amit Kapila) This is controlled by guc-logical-decoding-work-mem .", "commit_aliases": ["cec2edfa7"], "source_commits": ["cec2edfa7"], "source_entry_id": "13.0/changes/058", "db_id": "7ccd917692de25d8ae4dd65d0306be35", "patch_ids": ["a532f21cdbf2e4ad880e24f2b6e4d871"], "statement_hash": "96de4a3584ba794d000c1756787dc0644dbcf908172edfb04b8958c27ac6474a", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-f9ed4425a63dc9ca", "migration": false}, {"id": "13.0-895103f94aecc2db", "cves": [], "html": "<p>Allow recovery to continue even if invalid pages are referenced by <acronym>WAL</acronym> (Fujii Masao) <a href=\"https://postgr.es/c/41c184bc6\">\u00a7</a></p>\n<p>This is enabled using <a href=\"/docs/13/runtime-config-developer.html#GUC-IGNORE-INVALID-PAGES\">ignore_invalid_pages</a>.</p>", "text": "Allow recovery to continue even if invalid pages are referenced by WAL (Fujii Masao) \u00a7 This is enabled using ignore_invalid_pages.", "title": "Allow recovery to continue even if invalid pages are referenced by WAL", "commits": ["41c184bc6"], "section": "Streaming Replication and Recovery", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.4", "source_hash": "6ec200812b6ad4cec0918c3f9b747705f82eb5085ba0276a1d6f5ecde78d267f", "section_path": ["Streaming Replication and Recovery"], "commit_groups": [["41c184bc6"]], "identity_text": "Allow recovery to continue even if invalid pages are referenced by WAL (Fujii Masao) This is enabled using guc-ignore-invalid-pages .", "commit_aliases": ["41c184bc6"], "source_commits": ["41c184bc6"], "source_entry_id": "13.0/changes/059", "db_id": "a973ea53ebce821fb732b93cfef17dbb", "patch_ids": ["8a817a60461bc1bb19f7799d2c329690"], "statement_hash": "265a9f63d0731f9c9381933d095869d8f52f32b13691b0e87d141379cf5a4db9", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-895103f94aecc2db", "migration": false}, {"id": "13.0-44f10c3cd8ff9999", "cves": [], "html": "<p>Allow <a href=\"/docs/13/sql-vacuum.html\" title=\"VACUUM\"><code>VACUUM</code></a> to process a table's indexes in parallel (Masahiko Sawada, Amit Kapila) <a href=\"https://postgr.es/c/40d964ec9\">\u00a7</a></p>\n<p>The new <code>PARALLEL</code> option controls this.</p>", "text": "Allow VACUUM to process a table's indexes in parallel (Masahiko Sawada, Amit Kapila) \u00a7 The new PARALLEL option controls this.", "title": "Allow VACUUM to process a table's indexes in parallel", "commits": ["40d964ec9"], "section": "Utility Commands", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.5", "source_hash": "8c5fb4badc383f663abb314c7ba271e41d78b1b22fd2de2573df755dbbf42cad", "section_path": ["Utility Commands"], "commit_groups": [["40d964ec9"]], "identity_text": "Allow VACUUM to process a table's indexes in parallel (Masahiko Sawada, Amit Kapila) The new PARALLEL option controls this.", "commit_aliases": ["40d964ec9"], "source_commits": ["40d964ec9"], "source_entry_id": "13.0/changes/060", "db_id": "cf5f1bf04f38474a35b23c6e8730f5be", "patch_ids": ["81966cbd859a9b651705aeb1297d84c1"], "statement_hash": "4d37e4010fd7be3258aa32e99e29420d020e5135bb87054534898c9cc560ee6e", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-44f10c3cd8ff9999", "migration": false}, {"id": "13.0-f93748a185de364e", "cves": [], "html": "<p>Allow <a href=\"/docs/13/sql-select.html#SQL-LIMIT\" title=\"LIMIT Clause\"><code>FETCH FIRST</code></a> to use <code>WITH TIES</code> to return any additional rows that match the last result row (Surafel Temesgen) <a href=\"https://postgr.es/c/357889eb1\">\u00a7</a></p>", "text": "Allow FETCH FIRST to use WITH TIES to return any additional rows that match the last result row (Surafel Temesgen) \u00a7", "title": "Allow FETCH FIRST to use WITH TIES to return any additional rows that match the last result row", "commits": ["357889eb1"], "section": "Utility Commands", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.5", "source_hash": "0a5a209cdae566268f5bbc156e3545329214c9b3a0b713582c510e3cb63de91d", "section_path": ["Utility Commands"], "commit_groups": [["357889eb1"]], "identity_text": "Allow FETCH FIRST to use WITH TIES to return any additional rows that match the last result row (Surafel Temesgen)", "commit_aliases": ["357889eb1"], "source_commits": ["357889eb1"], "source_entry_id": "13.0/changes/061", "db_id": "758167f947d41f691132c5a0b79c738d", "patch_ids": ["0722c634d85b79722461a3c3d7a52374"], "statement_hash": "1934d04ca961148f105c5943abc1e0270a1f7b0f501aac9cf3ed2b243bb81994", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-f93748a185de364e", "migration": false}, {"id": "13.0-1fecffd86229e942", "cves": [], "html": "<p>Report planning-time buffer usage in <a href=\"/docs/13/sql-explain.html\" title=\"EXPLAIN\"><code>EXPLAIN</code></a>'s <code>BUFFER</code> output (Julien Rouhaud) <a href=\"https://postgr.es/c/ce77abe63\">\u00a7</a></p>", "text": "Report planning-time buffer usage in EXPLAIN's BUFFER output (Julien Rouhaud) \u00a7", "title": "Report planning-time buffer usage in EXPLAIN's BUFFER output", "commits": ["ce77abe63"], "section": "Utility Commands", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.5", "source_hash": "5f768b3880d7ce630ba8e0b2a592f0aacc75ac47f2903183b5375047004eaf7e", "section_path": ["Utility Commands"], "commit_groups": [["ce77abe63"]], "identity_text": "Report planning-time buffer usage in EXPLAIN's BUFFER output (Julien Rouhaud)", "commit_aliases": ["ce77abe63"], "source_commits": ["ce77abe63"], "source_entry_id": "13.0/changes/062", "db_id": "8f07d9accb5991fa6400a4429b787491", "patch_ids": ["600fc008248baef05e03a4746a9853fc"], "statement_hash": "fbc91931464891df07f845627e2b99ac0f0f34140fb6a72298704109e749abbe", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-1fecffd86229e942", "migration": false}, {"id": "13.0-86920cc08b19ead5", "cves": [], "html": "<p>Make <a href=\"/docs/13/sql-createtable.html\" title=\"CREATE TABLE\"><code>CREATE TABLE LIKE</code></a> propagate a <code>CHECK</code> constraint's <code>NO INHERIT</code> property to the created table (Ildar Musin, Chris Travers) <a href=\"https://postgr.es/c/cacef1722\">\u00a7</a></p>", "text": "Make CREATE TABLE LIKE propagate a CHECK constraint's NO INHERIT property to the created table (Ildar Musin, Chris Travers) \u00a7", "title": "Make CREATE TABLE LIKE propagate a CHECK constraint's NO INHERIT property to the created table", "commits": ["cacef1722"], "section": "Utility Commands", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.5", "source_hash": "0914e5543bad0d497a8b6b5f03e632eb66c8a61da44d4a4dfa0a168bdb704cf5", "section_path": ["Utility Commands"], "commit_groups": [["cacef1722"]], "identity_text": "Make CREATE TABLE LIKE propagate a CHECK constraint's NO INHERIT property to the created table (Ildar Musin, Chris Travers)", "commit_aliases": ["cacef1722"], "source_commits": ["cacef1722"], "source_entry_id": "13.0/changes/063", "db_id": "2a1767e797337dae88fa6fb7fa257b84", "patch_ids": ["8deb804e5729e0cb774f15860f71b5ea"], "statement_hash": "b936a3d20fed8417436b28a331248d1405ca9de80dd53f5469464fe38f4fa7d9", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-86920cc08b19ead5", "migration": false}, {"id": "13.0-e88adedd6eb56d0f", "cves": [], "html": "<p>When using <a href=\"/docs/13/sql-lock.html\" title=\"LOCK\"><code>LOCK TABLE</code></a> on a partitioned table, do not check permissions on the child tables (Amit Langote) <a href=\"https://postgr.es/c/b7e51b350\">\u00a7</a></p>", "text": "When using LOCK TABLE on a partitioned table, do not check permissions on the child tables (Amit Langote) \u00a7", "title": "When using LOCK TABLE on a partitioned table, do not check permissions on the child tables", "commits": ["b7e51b350"], "section": "Utility Commands", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.5", "source_hash": "d8cbda949883773d712b91c2a5d42465a58a61bf717ff529494ed40e1e1a8e36", "section_path": ["Utility Commands"], "commit_groups": [["b7e51b350"]], "identity_text": "When using LOCK TABLE on a partitioned table, do not check permissions on the child tables (Amit Langote)", "commit_aliases": ["b7e51b350"], "source_commits": ["b7e51b350"], "source_entry_id": "13.0/changes/064", "db_id": "ad223e09d65b05a33fd10e892f343b30", "patch_ids": ["55ab6dc638d5c00a6992294ef163c3c0"], "statement_hash": "883db03d1be129e69c9524a51b12bedc0531c36ee3d5395b1239b39c8e9c3f3c", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-e88adedd6eb56d0f", "migration": false}, {"id": "13.0-4c71740143667429", "cves": [], "html": "<p>Allow <a href=\"/docs/13/sql-insert.html\" title=\"INSERT\"><code>OVERRIDING USER VALUE</code></a> on inserts into identity columns (Dean Rasheed) <a href=\"https://postgr.es/c/de3bbfcc9\">\u00a7</a></p>", "text": "Allow OVERRIDING USER VALUE on inserts into identity columns (Dean Rasheed) \u00a7", "title": "Allow OVERRIDING USER VALUE on inserts into identity columns", "commits": ["de3bbfcc9"], "section": "Utility Commands", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.5", "source_hash": "a3af6b41de8c028527b409028ad4c4353ab999c42c74d6f54c7478f2cb31c177", "section_path": ["Utility Commands"], "commit_groups": [["de3bbfcc9"]], "identity_text": "Allow OVERRIDING USER VALUE on inserts into identity columns (Dean Rasheed)", "commit_aliases": ["de3bbfcc9"], "source_commits": ["de3bbfcc9"], "source_entry_id": "13.0/changes/065", "db_id": "1a6ad6c838826c96b5e51935250ab35a", "patch_ids": ["e3afc56ca7ad296f02951aa2cecadaaa"], "statement_hash": "4b7dc0af9747eb0f3ea238a31b4627478d842bc0f962a9e859846fbd42073111", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-4c71740143667429", "migration": false}, {"id": "13.0-c2fdaee5723478c7", "cves": [], "html": "<p>Add <a href=\"/docs/13/sql-altertable.html\" title=\"ALTER TABLE\"><code>ALTER TABLE ... DROP EXPRESSION</code></a> to allow removing the <code>GENERATED</code> property from a column (Peter Eisentraut) <a href=\"https://postgr.es/c/f595117e2\">\u00a7</a></p>", "text": "Add ALTER TABLE ... DROP EXPRESSION to allow removing the GENERATED property from a column (Peter Eisentraut) \u00a7", "title": "Add ALTER TABLE ... DROP EXPRESSION to allow removing the GENERATED property from a column", "commits": ["f595117e2"], "section": "Utility Commands", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.5", "source_hash": "69479a9c46c2ce8b78485f035e9b5a2b37ce88393c21be215d3bcf43e0f7e3a3", "section_path": ["Utility Commands"], "commit_groups": [["f595117e2"]], "identity_text": "Add ALTER TABLE ... DROP EXPRESSION to allow removing the GENERATED property from a column (Peter Eisentraut)", "commit_aliases": ["f595117e2"], "source_commits": ["f595117e2"], "source_entry_id": "13.0/changes/066", "db_id": "be5da8da8cf68702f9985b784015e0c0", "patch_ids": ["1e49a2990cdf1aa180697a8c3055a6de"], "statement_hash": "9a8d670fa1ec2f99924dbf4cfc75d2a60fddd716b6325170b4304d0f4f82cfe0", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-c2fdaee5723478c7", "migration": false}, {"id": "13.0-7763351e4a644d45", "cves": [], "html": "<p>Fix bugs in multi-step <code>ALTER TABLE</code> commands (Tom Lane) <a href=\"https://postgr.es/c/1281a5c90\">\u00a7</a></p>\n<p><code>IF NOT EXISTS</code> clauses now work as expected, in that derived actions (such as index creation) do not execute if the column already exists. Also, certain cases of combining related actions into one <code>ALTER TABLE</code> now work when they did not before.</p>", "text": "Fix bugs in multi-step ALTER TABLE commands (Tom Lane) \u00a7 IF NOT EXISTS clauses now work as expected, in that derived actions (such as index creation) do not execute if the column already exists. Also, certain cases of combining related actions into one ALTER TABLE now work when they did not before.", "title": "Fix bugs in multi-step ALTER TABLE commands", "commits": ["1281a5c90"], "section": "Utility Commands", "category": "bugfix", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.5", "source_hash": "8a705852a509054a8ea12e82d822b113314d4ff37cfb4e922d351065249075b2", "section_path": ["Utility Commands"], "commit_groups": [["1281a5c90"]], "identity_text": "Fix bugs in multi-step ALTER TABLE commands (Tom Lane) IF NOT EXISTS clauses now work as expected, in that derived actions (such as index creation) do not execute if the column already exists. Also, certain cases of combining related actions into one ALTER TABLE now work when they did not before.", "commit_aliases": ["1281a5c90"], "source_commits": ["1281a5c90"], "source_entry_id": "13.0/changes/067", "db_id": "cc302a41190b65a4967014539fe1fc20", "patch_ids": ["2f8c8a4fbd0230ca2bcc14c05668ca67"], "statement_hash": "11c9aac65b733ab0100f78933573bf3b6bb29b6006220a8678521cf8c291aa8b", "relations": [], "category_label": "Bug fixes", "url": "/docs/compare/?release=13.0#13.0-7763351e4a644d45", "migration": false}, {"id": "13.0-99805fc4e2661a0d", "cves": [], "html": "<p>Add <a href=\"/docs/13/sql-alterview.html\" title=\"ALTER VIEW\"><code>ALTER VIEW</code></a> syntax to rename view columns (Fujii Masao) <a href=\"https://postgr.es/c/30840c92a\">\u00a7</a></p>\n<p>Renaming view columns was already possible, but one had to write <code>ALTER TABLE RENAME COLUMN</code>, which is confusing.</p>", "text": "Add ALTER VIEW syntax to rename view columns (Fujii Masao) \u00a7 Renaming view columns was already possible, but one had to write ALTER TABLE RENAME COLUMN, which is confusing.", "title": "Add ALTER VIEW syntax to rename view columns", "commits": ["30840c92a"], "section": "Utility Commands", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.5", "source_hash": "2b130f68a5f74b033441cd31be7fc480e406bbaa4e2c5ffcf79facd70b3766f7", "section_path": ["Utility Commands"], "commit_groups": [["30840c92a"]], "identity_text": "Add ALTER VIEW syntax to rename view columns (Fujii Masao) Renaming view columns was already possible, but one had to write ALTER TABLE RENAME COLUMN, which is confusing.", "commit_aliases": ["30840c92a"], "source_commits": ["30840c92a"], "source_entry_id": "13.0/changes/068", "db_id": "84484d08c97382d08ed635f4c9c97732", "patch_ids": ["c902672f363b15ead3613dd9190f78cb"], "statement_hash": "b6ae2651a09c5c699f396aa078d85620a9f7aa6b6328b267dabf0a3f4128d25d", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-99805fc4e2661a0d", "migration": false}, {"id": "13.0-a62763e0765a2b56", "cves": [], "html": "<p>Add <a href=\"/docs/13/sql-altertype.html\" title=\"ALTER TYPE\"><code>ALTER TYPE</code></a> options to modify a base type's <acronym>TOAST</acronym> properties and support functions (Tomas Vondra, Tom Lane) <a href=\"https://postgr.es/c/fe30e7ebf\">\u00a7</a></p>", "text": "Add ALTER TYPE options to modify a base type's TOAST properties and support functions (Tomas Vondra, Tom Lane) \u00a7", "title": "Add ALTER TYPE options to modify a base type's TOAST properties and support functions", "commits": ["fe30e7ebf"], "section": "Utility Commands", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.5", "source_hash": "684a8bac49c1e39937a449c029216ca17abd67d22347493bff1704bc48864a66", "section_path": ["Utility Commands"], "commit_groups": [["fe30e7ebf"]], "identity_text": "Add ALTER TYPE options to modify a base type's TOAST properties and support functions (Tomas Vondra, Tom Lane)", "commit_aliases": ["fe30e7ebf"], "source_commits": ["fe30e7ebf"], "source_entry_id": "13.0/changes/069", "db_id": "2f798bfa54abc8d4e5584fde4addb07e", "patch_ids": ["4ecc919cfbc47008d7afe18311435c55"], "statement_hash": "5db207ded51c198669892ba947e687a430539885b104ab797967fd02a53b7de8", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-a62763e0765a2b56", "migration": false}, {"id": "13.0-6dc56efb108438d6", "cves": [], "html": "<p>Add <a href=\"/docs/13/sql-createdatabase.html\" title=\"CREATE DATABASE\"><code>CREATE DATABASE</code></a> <code>LOCALE</code> option (Peter Eisentraut) <a href=\"https://postgr.es/c/06140c201\">\u00a7</a></p>\n<p>This combines the existing options <code>LC_COLLATE</code> and <code>LC_CTYPE</code> into a single option.</p>", "text": "Add CREATE DATABASE LOCALE option (Peter Eisentraut) \u00a7 This combines the existing options LC_COLLATE and LC_CTYPE into a single option.", "title": "Add CREATE DATABASE LOCALE option", "commits": ["06140c201"], "section": "Utility Commands", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.5", "source_hash": "4b6fc481ce9b9fc0ded987c7af32f7225efe7d632810b7ae7047988d8f1f834a", "section_path": ["Utility Commands"], "commit_groups": [["06140c201"]], "identity_text": "Add CREATE DATABASE LOCALE option (Peter Eisentraut) This combines the existing options LC_COLLATE and LC_CTYPE into a single option.", "commit_aliases": ["06140c201"], "source_commits": ["06140c201"], "source_entry_id": "13.0/changes/070", "db_id": "753c38fd0c0a897330a68e7b56c01304", "patch_ids": ["401f1d5e36c99145cd07b94c944949c7"], "statement_hash": "05b37b0f519737c502ae03946f6ed6e56d4ee38fbcd91f2a882bc7f2051268a5", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-6dc56efb108438d6", "migration": false}, {"id": "13.0-0beaeabcb601566f", "cves": [], "html": "<p>Allow <a href=\"/docs/13/sql-dropdatabase.html\" title=\"DROP DATABASE\"><code>DROP DATABASE</code></a> to disconnect sessions using the target database, allowing the drop to succeed (Pavel Stehule, Amit Kapila) <a href=\"https://postgr.es/c/1379fd537\">\u00a7</a></p>\n<p>This is enabled by the <code>FORCE</code> option.</p>", "text": "Allow DROP DATABASE to disconnect sessions using the target database, allowing the drop to succeed (Pavel Stehule, Amit Kapila) \u00a7 This is enabled by the FORCE option.", "title": "Allow DROP DATABASE to disconnect sessions using the target database, allowing the drop to succeed", "commits": ["1379fd537"], "section": "Utility Commands", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.5", "source_hash": "e02a480ecb734e4759437f1c13efc310068b80f152e625a35f1ef1c3804fc464", "section_path": ["Utility Commands"], "commit_groups": [["1379fd537"]], "identity_text": "Allow DROP DATABASE to disconnect sessions using the target database, allowing the drop to succeed (Pavel Stehule, Amit Kapila) This is enabled by the FORCE option.", "commit_aliases": ["1379fd537"], "source_commits": ["1379fd537"], "source_entry_id": "13.0/changes/071", "db_id": "c0ce12c9e221027935a2dac8861859ff", "patch_ids": ["38184ef7af1b5d694051c5be13eb663f"], "statement_hash": "445bc3c17fb1e1e9c5d9a8edc078fd1c6193160132ac62bed8f4c15b651993b0", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-0beaeabcb601566f", "migration": false}, {"id": "13.0-81e48f5f94edbbf5", "cves": [], "html": "<p>Add structure member <a href=\"/docs/13/trigger-interface.html\" title=\"38.3.\u00a0Writing Trigger Functions in C\"><code>tg_updatedcols</code></a> to allow C-language update triggers to know which column(s) were updated (Peter Eisentraut) <a href=\"https://postgr.es/c/71d60e2aa\">\u00a7</a></p>", "text": "Add structure member tg_updatedcols to allow C-language update triggers to know which column(s) were updated (Peter Eisentraut) \u00a7", "title": "Add structure member tg_updatedcols to allow C-language update triggers to know which column(s) were updated", "commits": ["71d60e2aa"], "section": "Utility Commands", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.5", "source_hash": "9c1bdce5d8d053249deb52c5b044ac4da8c3d169f357acae25fba6b224d2d5b8", "section_path": ["Utility Commands"], "commit_groups": [["71d60e2aa"]], "identity_text": "Add structure member tg_updatedcols to allow C-language update triggers to know which column(s) were updated (Peter Eisentraut)", "commit_aliases": ["71d60e2aa"], "source_commits": ["71d60e2aa"], "source_entry_id": "13.0/changes/072", "db_id": "90e704a95f1166eca3ab3747c3de73ac", "patch_ids": ["a3ea931a85a831bb97428aa67f12105e"], "statement_hash": "54d88b10478a770da96283f37554e2768ef3da2d5dbbb79db854b9cde6785a1c", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-81e48f5f94edbbf5", "migration": false}, {"id": "13.0-6933db3ca5e42edd", "cves": [], "html": "<p>Add polymorphic data types for use by functions requiring compatible arguments (Pavel Stehule) <a href=\"https://postgr.es/c/24e2885ee\">\u00a7</a></p>\n<p>The new data types are <a href=\"/docs/13/datatype-pseudo.html#DATATYPE-PSEUDOTYPES-TABLE\" title=\"Table\u00a08.27.\u00a0Pseudo-Types\"><code>anycompatible</code></a>, <code>anycompatiblearray</code>, <code>anycompatiblenonarray</code>, and <code>anycompatiblerange</code>.</p>", "text": "Add polymorphic data types for use by functions requiring compatible arguments (Pavel Stehule) \u00a7 The new data types are anycompatible, anycompatiblearray, anycompatiblenonarray, and anycompatiblerange.", "title": "Add polymorphic data types for use by functions requiring compatible arguments", "commits": ["24e2885ee"], "section": "Data Types", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.6", "source_hash": "c1d763e333dfda8a0c60ed6522ce7c3dc18c5b2b1703726801f592a986f53e4f", "section_path": ["Data Types"], "commit_groups": [["24e2885ee"]], "identity_text": "Add polymorphic data types for use by functions requiring compatible arguments (Pavel Stehule) The new data types are anycompatible, anycompatiblearray, anycompatiblenonarray, and anycompatiblerange.", "commit_aliases": ["24e2885ee"], "source_commits": ["24e2885ee"], "source_entry_id": "13.0/changes/073", "db_id": "77a491b175523af3d3900863a7960cdc", "patch_ids": ["a3dd3189ba7ff8e07ae3ff005b7d6cc7"], "statement_hash": "af5d83b8c8225114334db658c8c5c13c116f4eb0a5f86f38b31ba73626f365f8", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-6933db3ca5e42edd", "migration": false}, {"id": "13.0-86ab866f1325f23a", "cves": [], "html": "<p>Add <acronym>SQL</acronym> data type <a href=\"/docs/13/datatype-oid.html\" title=\"8.19.\u00a0Object Identifier Types\"><code>xid8</code></a> to expose FullTransactionId (Thomas Munro) <a href=\"https://postgr.es/c/aeec457de\">\u00a7</a></p>\n<p>The existing <code>xid</code> data type is only four bytes so it does not provide the transaction epoch.</p>", "text": "Add SQL data type xid8 to expose FullTransactionId (Thomas Munro) \u00a7 The existing xid data type is only four bytes so it does not provide the transaction epoch.", "title": "Add SQL data type xid8 to expose FullTransactionId", "commits": ["aeec457de"], "section": "Data Types", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.6", "source_hash": "82c608dcdf5fc34ba9d216563d767d16c6edc048504a8d7e4499dc528a1e799d", "section_path": ["Data Types"], "commit_groups": [["aeec457de"]], "identity_text": "Add SQL data type xid8 to expose FullTransactionId (Thomas Munro) The existing xid data type is only four bytes so it does not provide the transaction epoch.", "commit_aliases": ["aeec457de"], "source_commits": ["aeec457de"], "source_entry_id": "13.0/changes/074", "db_id": "8bcb81ac747ec3a08b5d7e1bdf941be5", "patch_ids": ["3ed44926ceffd5acb458c665c96cfb58"], "statement_hash": "64027723f5fa89f4f5e5f12b16a2b642bdf087678e2384a3fad89d01303b775c", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-86ab866f1325f23a", "migration": false}, {"id": "13.0-19c47b4d0131abde", "cves": [], "html": "<p>Add data type <a href=\"/docs/13/datatype-oid.html\" title=\"8.19.\u00a0Object Identifier Types\"><code>regcollation</code></a> and associated functions, to represent OIDs of collation objects (Julien Rouhaud) <a href=\"https://postgr.es/c/a2b1faa0f\">\u00a7</a></p>", "text": "Add data type regcollation and associated functions, to represent OIDs of collation objects (Julien Rouhaud) \u00a7", "title": "Add data type regcollation and associated functions, to represent OIDs of collation objects", "commits": ["a2b1faa0f"], "section": "Data Types", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.6", "source_hash": "5b2cc84157350128aa7f9222af28d45ac011595be18d7e38d12f1a1a5cb2a43b", "section_path": ["Data Types"], "commit_groups": [["a2b1faa0f"]], "identity_text": "Add data type regcollation and associated functions, to represent OIDs of collation objects (Julien Rouhaud)", "commit_aliases": ["a2b1faa0f"], "source_commits": ["a2b1faa0f"], "source_entry_id": "13.0/changes/075", "db_id": "786fbab9326af95a6ffa057a404afa63", "patch_ids": ["1e693527b8710036799a22fb19a1d040"], "statement_hash": "b35e86ad98c0bc664f7c87941e997b16e3fa017a74ae605959f73475311d394e", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-19c47b4d0131abde", "migration": false}, {"id": "13.0-045460ccc75cc4a4", "cves": [], "html": "<p>Use the glibc version in some cases as a <a href=\"/docs/13/collation.html\" title=\"23.2.\u00a0Collation Support\">collation</a> version identifier (Thomas Munro) <a href=\"https://postgr.es/c/d5ac14f9c\">\u00a7</a></p>\n<p>If the glibc version changes, a warning will be issued about possible corruption of collation-dependent indexes.</p>", "text": "Use the glibc version in some cases as a collation version identifier (Thomas Munro) \u00a7 If the glibc version changes, a warning will be issued about possible corruption of collation-dependent indexes.", "title": "Use the glibc version in some cases as a collation version identifier", "commits": ["d5ac14f9c"], "section": "Data Types", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.6", "source_hash": "88fdf729ffed84b75085cc232b2b803d7fa7047bd499dd3d01c14c514f0c60e0", "section_path": ["Data Types"], "commit_groups": [["d5ac14f9c"]], "identity_text": "Use the glibc version in some cases as a collation version identifier (Thomas Munro) If the glibc version changes, a warning will be issued about possible corruption of collation-dependent indexes.", "commit_aliases": ["d5ac14f9c"], "source_commits": ["d5ac14f9c"], "source_entry_id": "13.0/changes/076", "db_id": "2112991b419924b3c9cce1c25a99b003", "patch_ids": ["dd8938ae23058a0c2360546e02ccde5f"], "statement_hash": "510169bca5deb6093d9d2446f57efad54e9e515e11f02d10feb2ff5aec787541", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-045460ccc75cc4a4", "migration": false}, {"id": "13.0-c85c9fb686e4bbf4", "cves": [], "html": "<p>Add support for collation versions on Windows (Thomas Munro) <a href=\"https://postgr.es/c/352f6f2df\">\u00a7</a></p>", "text": "Add support for collation versions on Windows (Thomas Munro) \u00a7", "title": "Add support for collation versions on Windows", "commits": ["352f6f2df"], "section": "Data Types", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.6", "source_hash": "f57ec1495bdec4185ecebbf0268db20021bb74709d940f241a3d6df45980796a", "section_path": ["Data Types"], "commit_groups": [["352f6f2df"]], "identity_text": "Add support for collation versions on Windows (Thomas Munro)", "commit_aliases": ["352f6f2df"], "source_commits": ["352f6f2df"], "source_entry_id": "13.0/changes/077", "db_id": "5876645bd72a51f36c3b30f431806d2d", "patch_ids": ["579e9e0e30f65b8135af1391d8f77abc"], "statement_hash": "1010e98f9be3c000eaf6586981afde64f65de803b8e85baf09fce89610b8e53f", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-c85c9fb686e4bbf4", "migration": false}, {"id": "13.0-08d254c713531cef", "cves": [], "html": "<p>Allow <a href=\"/docs/13/sql-expressions.html#SQL-SYNTAX-ROW-CONSTRUCTORS\" title=\"4.2.13.\u00a0Row Constructors\"><code>ROW</code> expressions</a> to have their members extracted with suffix notation (Tom Lane) <a href=\"https://postgr.es/c/8b7a0f1d1\">\u00a7</a></p>\n<p>For example, <code>(ROW(4, 5.0)).f1</code> now returns 4.</p>", "text": "Allow ROW expressions to have their members extracted with suffix notation (Tom Lane) \u00a7 For example, (ROW(4, 5.0)).f1 now returns 4.", "title": "Allow ROW expressions to have their members extracted with suffix notation", "commits": ["8b7a0f1d1"], "section": "Data Types", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.6", "source_hash": "6595d662e06b7c5b0625b727f98d1e5bb05e23c766826dafd68eba934a1e56cf", "section_path": ["Data Types"], "commit_groups": [["8b7a0f1d1"]], "identity_text": "Allow ROW expressions to have their members extracted with suffix notation (Tom Lane) For example, (ROW(4, 5.0)).f1 now returns 4.", "commit_aliases": ["8b7a0f1d1"], "source_commits": ["8b7a0f1d1"], "source_entry_id": "13.0/changes/078", "db_id": "c16fc94742b9381b7ac5e9d38f9b71be", "patch_ids": ["a1515ceb7b42bee5d2138e3ddb80d233"], "statement_hash": "f3d4a99d305c1a78f8e7e36f39034ef9edd55842943d8edc27f0c387f9e1b6a4", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-08d254c713531cef", "migration": false}, {"id": "13.0-601ac2f4a5160ca0", "cves": [], "html": "<p>Add alternate version of <a href=\"/docs/13/functions-json.html#FUNCTIONS-JSON-PROCESSING-TABLE\" title=\"Table\u00a09.47.\u00a0JSON Processing Functions\"><code>jsonb_set()</code></a> with improved <code>NULL</code> handling (Andrew Dunstan) <a href=\"https://postgr.es/c/a83586b55\">\u00a7</a></p>\n<p>The new function, <code>jsonb_set_lax()</code>, handles a <code>NULL</code> new value by either setting the specified key to a <acronym>JSON</acronym> null, deleting the key, raising an exception, or returning the <code>jsonb</code> value unmodified, as requested.</p>", "text": "Add alternate version of jsonb_set() with improved NULL handling (Andrew Dunstan) \u00a7 The new function, jsonb_set_lax(), handles a NULL new value by either setting the specified key to a JSON null, deleting the key, raising an exception, or returning the jsonb value unmodified, as requested.", "title": "Add alternate version of jsonb_set() with improved NULL handling", "commits": ["a83586b55"], "section": "Functions", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.7", "source_hash": "72c325ed3e2e86370b11da881cec7b6ab24b3fba2ee077d661a2f39d199ad958", "section_path": ["Functions"], "commit_groups": [["a83586b55"]], "identity_text": "Add alternate version of jsonb_set() with improved NULL handling (Andrew Dunstan) The new function, jsonb_set_lax(), handles a NULL new value by either setting the specified key to a JSON null, deleting the key, raising an exception, or returning the jsonb value unmodified, as requested.", "commit_aliases": ["a83586b55"], "source_commits": ["a83586b55"], "source_entry_id": "13.0/changes/079", "db_id": "cdbc5e90b442ec91ae913a9dfdfffe8b", "patch_ids": ["58e0b5b2c5b897b7d2027af527b5a0f5"], "statement_hash": "f56e469ec21f3adaf82d2c21e3c6108279187d9fec3584a9cf2e73a25afd7d4d", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-601ac2f4a5160ca0", "migration": false}, {"id": "13.0-0435117a742113ba", "cves": [], "html": "<p>Add jsonpath <a href=\"/docs/13/functions-json.html#FUNCTIONS-SQLJSON-PATH-OPERATORS\" title=\"9.16.2.2.\u00a0SQL/JSON Path Operators and Methods\">.<code>datetime()</code></a> method (Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov) <a href=\"https://postgr.es/c/bffe1bd68\">\u00a7</a></p>\n<p>This function allows <acronym>JSON</acronym> values to be converted to timestamps, which can then be processed in <code>jsonpath</code> expressions. This change also adds <code>jsonpath</code> functions that support time-zone-aware output.</p>", "text": "Add jsonpath .datetime() method (Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov) \u00a7 This function allows JSON values to be converted to timestamps, which can then be processed in jsonpath expressions. This change also adds jsonpath functions that support time-zone-aware output.", "title": "Add jsonpath .datetime() method", "commits": ["bffe1bd68"], "section": "Functions", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.7", "source_hash": "d77cde429eb5249d5d51d30d35a4e4ae79c2b7b864e3cc4d2fa56c90ed7f3777", "section_path": ["Functions"], "commit_groups": [["bffe1bd68"]], "identity_text": "Add jsonpath .datetime() method (Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov) This function allows JSON values to be converted to timestamps, which can then be processed in jsonpath expressions. This change also adds jsonpath functions that support time-zone-aware output.", "commit_aliases": ["bffe1bd68"], "source_commits": ["bffe1bd68"], "source_entry_id": "13.0/changes/080", "db_id": "5e422727306afe91a025582f308a050a", "patch_ids": ["02e7a8f2a8c7ce346b5f66c06ac30da9"], "statement_hash": "0b1f4beb67a53bbfc2685867910c67502726623bb800b43de437d45721f45314", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-0435117a742113ba", "migration": false}, {"id": "13.0-71599adb92d847bf", "cves": [], "html": "<p>Add <acronym>SQL</acronym> functions <a href=\"/docs/13/functions-string.html#FUNCTIONS-STRING-SQL\" title=\"Table\u00a09.9.\u00a0SQL String Functions and Operators\"><code>NORMALIZE</code>()</a> to normalize Unicode strings, and <a href=\"/docs/13/collation.html#COLLATION-NONDETERMINISTIC\" title=\"23.2.2.4.\u00a0Nondeterministic Collations\"><code>IS NORMALIZED</code></a> to check for normalization (Peter Eisentraut) <a href=\"https://postgr.es/c/2991ac5fc\">\u00a7</a></p>", "text": "Add SQL functions NORMALIZE() to normalize Unicode strings, and IS NORMALIZED to check for normalization (Peter Eisentraut) \u00a7", "title": "Add SQL functions NORMALIZE() to normalize Unicode strings, and IS NORMALIZED to check for normalization", "commits": ["2991ac5fc"], "section": "Functions", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.7", "source_hash": "ba3c4fc1280dab787264e805009a1c421d273fce0e58c3fe262314592d862d5d", "section_path": ["Functions"], "commit_groups": [["2991ac5fc"]], "identity_text": "Add SQL functions NORMALIZE() to normalize Unicode strings, and IS NORMALIZED to check for normalization (Peter Eisentraut)", "commit_aliases": ["2991ac5fc"], "source_commits": ["2991ac5fc"], "source_entry_id": "13.0/changes/081", "db_id": "2255bf3ab839b8397e52e46de440ef10", "patch_ids": ["648c1d73755f5b8579052de3db99ae2e"], "statement_hash": "dd1f48d03beb9bfe796328d04fdadcb5a65079855509f043b8e380199d4f2211", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-71599adb92d847bf", "migration": false}, {"id": "13.0-40da0d037f2aa212", "cves": [], "html": "<p>Add <code>min()</code> and <code>max()</code> aggregates for <a href=\"/docs/13/datatype-pg-lsn.html\" title=\"8.20.\u00a0pg_lsn Type\"><code>pg_lsn</code></a> (Fabr\u00edzio de Royes Mello) <a href=\"https://postgr.es/c/313f87a17\">\u00a7</a></p>\n<p>These are particularly useful in monitoring queries.</p>", "text": "Add min() and max() aggregates for pg_lsn (Fabr\u00edzio de Royes Mello) \u00a7 These are particularly useful in monitoring queries.", "title": "Add min() and max() aggregates for pg_lsn", "commits": ["313f87a17"], "section": "Functions", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.7", "source_hash": "0db90e1d5d7f0c0d3ac48485aea537c933467addc708dcb35625ef7da45424b0", "section_path": ["Functions"], "commit_groups": [["313f87a17"]], "identity_text": "Add min() and max() aggregates for pg_lsn (Fabr\u00edzio de Royes Mello) These are particularly useful in monitoring queries.", "commit_aliases": ["313f87a17"], "source_commits": ["313f87a17"], "source_entry_id": "13.0/changes/082", "db_id": "8275cf4baee9025dd4071968c61fa1a3", "patch_ids": ["1e0bf1ac81a6ea2abc9254b35d3ba621"], "statement_hash": "06932c69ae6af7967400d799d342082fcbd48cdb2c584041e9e473e7624d7aa1", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-40da0d037f2aa212", "migration": false}, {"id": "13.0-e683b727bb3cfe5a", "cves": [], "html": "<p>Allow <a href=\"/docs/13/sql-syntax-lexical.html#SQL-SYNTAX-STRINGS-UESCAPE\" title=\"4.1.2.3.\u00a0String Constants with Unicode Escapes\">Unicode escapes</a>, e.g., <code>E'\\u<em><code>nnnn</code></em>'</code> or <code>U&amp;'\\<em><code>nnnn</code></em>'</code>, to specify any character available in the database encoding, even when the database encoding is not <acronym>UTF</acronym>-8 (Tom Lane) <a href=\"https://postgr.es/c/a6525588b\">\u00a7</a></p>", "text": "Allow Unicode escapes, e.g., E'\\unnnn' or U&'\\nnnn', to specify any character available in the database encoding, even when the database encoding is not UTF-8 (Tom Lane) \u00a7", "title": "Allow Unicode escapes, e.g., E'\\unnnn' or U&'\\nnnn', to specify any character available in the database encoding, even when the database encoding is not UTF-8", "commits": ["a6525588b"], "section": "Functions", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.7", "source_hash": "78c51e482847e1cbae2906a81f36ee8ed065babc31cd17894165e0481f28cd8e", "section_path": ["Functions"], "commit_groups": [["a6525588b"]], "identity_text": "Allow Unicode escapes, e.g., E'\\unnnn' or U&'\\nnnn', to specify any character available in the database encoding, even when the database encoding is not UTF-8 (Tom Lane)", "commit_aliases": ["a6525588b"], "source_commits": ["a6525588b"], "source_entry_id": "13.0/changes/083", "db_id": "282403394cfc6fd7dc464eb42353d0ad", "patch_ids": ["d253b738a0be3e73ddc9e130347e9da0"], "statement_hash": "e4872c6d02098a8e67976907b7622a9bd3a05c4d730a060c07e6cf22e721d56c", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-e683b727bb3cfe5a", "migration": false}, {"id": "13.0-9afd0c7c46666a0e", "cves": [], "html": "<p>Allow <a href=\"/docs/13/functions-formatting.html\" title=\"9.8.\u00a0Data Type Formatting Functions\"><code>to_date()</code></a> and <code>to_timestamp()</code> to recognize non-English month/day names (Juan Jos\u00e9 Santamar\u00eda Flecha, Tom Lane) <a href=\"https://postgr.es/c/d67755049\">\u00a7</a></p>\n<p>The names recognized are the same as those output by <a href=\"/docs/13/functions-formatting.html\" title=\"9.8.\u00a0Data Type Formatting Functions\"><code>to_char()</code></a> with the same format patterns.</p>", "text": "Allow to_date() and to_timestamp() to recognize non-English month/day names (Juan Jos\u00e9 Santamar\u00eda Flecha, Tom Lane) \u00a7 The names recognized are the same as those output by to_char() with the same format patterns.", "title": "Allow to_date() and to_timestamp() to recognize non-English month/day names", "commits": ["d67755049"], "section": "Functions", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.7", "source_hash": "fbb938c212b23a464eeb753b76ea29fb903ba3281ae071d3e17089048c5ed5d0", "section_path": ["Functions"], "commit_groups": [["d67755049"]], "identity_text": "Allow to_date() and to_timestamp() to recognize non-English month/day names (Juan Jos\u00e9 Santamar\u00eda Flecha, Tom Lane) The names recognized are the same as those output by to_char() with the same format patterns.", "commit_aliases": ["d67755049"], "source_commits": ["d67755049"], "source_entry_id": "13.0/changes/084", "db_id": "a5b65c37623bf85f4d3b73e83cad2c7d", "patch_ids": ["3f18056cd37a6e0636f54a68e4d70d4f"], "statement_hash": "842e3b3c0d66e85d98e8419bd896ee5d69ddcffe92cd02c3b1fe6f57b49aafef", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-9afd0c7c46666a0e", "migration": false}, {"id": "13.0-e7281f97f8fc0641", "cves": [], "html": "<p>Add datetime format patterns <code>FF1</code> \u2013 <code>FF6</code> to specify input or output of 1 to 6 fractional-second digits (Alexander Korotkov, Nikita Glukhov, Teodor Sigaev, Oleg Bartunov) <a href=\"https://postgr.es/c/d589f9446\">\u00a7</a></p>\n<p>These patterns can be used by <code>to_char()</code>, <code>to_timestamp()</code>, and jsonpath's .<code>datetime()</code>.</p>", "text": "Add datetime format patterns FF1 \u2013 FF6 to specify input or output of 1 to 6 fractional-second digits (Alexander Korotkov, Nikita Glukhov, Teodor Sigaev, Oleg Bartunov) \u00a7 These patterns can be used by to_char(), to_timestamp(), and jsonpath's .datetime().", "title": "Add datetime format patterns FF1 \u2013 FF6 to specify input or output of 1 to 6 fractional-second digits", "commits": ["d589f9446"], "section": "Functions", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.7", "source_hash": "8d62f87ff4c8d5c7f55bc1f437d5ed6009670affcdfa29c78bae825716ac4b8f", "section_path": ["Functions"], "commit_groups": [["d589f9446"]], "identity_text": "Add datetime format patterns FF1 \u2013 FF6 to specify input or output of 1 to 6 fractional-second digits (Alexander Korotkov, Nikita Glukhov, Teodor Sigaev, Oleg Bartunov) These patterns can be used by to_char(), to_timestamp(), and jsonpath's .datetime().", "commit_aliases": ["d589f9446"], "source_commits": ["d589f9446"], "source_entry_id": "13.0/changes/085", "db_id": "f0e375cec237a7426a4f4bc68932a63c", "patch_ids": ["9cd71740792d2e16f8fcf54f6952d6b3"], "statement_hash": "a22298470729ba96dd0f8f1287f1f9e4329d0f23238911a61c265e58b86a4140", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-e7281f97f8fc0641", "migration": false}, {"id": "13.0-83f7ab20095c866e", "cves": [], "html": "<p>Add <code>SSSSS</code> datetime format pattern as an <acronym>SQL</acronym>-standard alias for <code>SSSS</code> (Nikita Glukhov, Alexander Korotkov) <a href=\"https://postgr.es/c/b64b857f5\">\u00a7</a></p>", "text": "Add SSSSS datetime format pattern as an SQL-standard alias for SSSS (Nikita Glukhov, Alexander Korotkov) \u00a7", "title": "Add SSSSS datetime format pattern as an SQL-standard alias for SSSS", "commits": ["b64b857f5"], "section": "Functions", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.7", "source_hash": "a5e9c7709b31c7e864de8dd221a852152e789450a2c4a3bf4ec4d0c2f81366f0", "section_path": ["Functions"], "commit_groups": [["b64b857f5"]], "identity_text": "Add SSSSS datetime format pattern as an SQL-standard alias for SSSS (Nikita Glukhov, Alexander Korotkov)", "commit_aliases": ["b64b857f5"], "source_commits": ["b64b857f5"], "source_entry_id": "13.0/changes/086", "db_id": "c8aba4275da02dba62b0d1865019b213", "patch_ids": ["47c5c2a3fabbaa8f36431621f2dbd903"], "statement_hash": "e1049cfcd946f845d41886b2cc77adc6ddb39bc85f572f13eba7c538c4836539", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-83f7ab20095c866e", "migration": false}, {"id": "13.0-8d0680511f4787ef", "cves": [], "html": "<p>Add function <a href=\"/docs/13/functions-uuid.html\" title=\"9.14.\u00a0UUID Functions\"><code>gen_random_uuid()</code></a> to generate version-4 UUIDs (Peter Eisentraut) <a href=\"https://postgr.es/c/5925e5549\">\u00a7</a></p>\n<p>Previously <acronym>UUID</acronym> generation functions were only available in the external modules <a href=\"/docs/13/uuid-ossp.html\" title=\"F.44.\u00a0uuid-ossp\">uuid-ossp</a> and <a href=\"/docs/13/pgcrypto.html\" title=\"F.25.\u00a0pgcrypto\">pgcrypto</a>.</p>", "text": "Add function gen_random_uuid() to generate version-4 UUIDs (Peter Eisentraut) \u00a7 Previously UUID generation functions were only available in the external modules uuid-ossp and pgcrypto.", "title": "Add function gen_random_uuid() to generate version-4 UUIDs", "commits": ["5925e5549"], "section": "Functions", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.7", "source_hash": "ac35620caa4b27676c709d82c8aa359cfe0b27223b7a352899ce0726c2f21257", "section_path": ["Functions"], "commit_groups": [["5925e5549"]], "identity_text": "Add function gen_random_uuid() to generate version-4 UUIDs (Peter Eisentraut) Previously UUID generation functions were only available in the external modules uuid-ossp and pgcrypto .", "commit_aliases": ["5925e5549"], "source_commits": ["5925e5549"], "source_entry_id": "13.0/changes/087", "db_id": "b895a2216a6fbafd2e9584a71512f72a", "patch_ids": ["008ef746edcac5ea010a7840277bc9e8"], "statement_hash": "70b08cf8aaf86d4997741eafa69741f0d4e3fbb2c9ce210f1030b44672280c08", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-8d0680511f4787ef", "migration": false}, {"id": "13.0-b883a004a51e29bb", "cves": [], "html": "<p>Add greatest-common-denominator (<a href=\"/docs/13/functions-math.html#FUNCTIONS-MATH-FUNC-TABLE\" title=\"Table\u00a09.5.\u00a0Mathematical Functions\"><code>gcd</code></a>) and least-common-multiple (<code>lcm</code>) functions (Vik Fearing) <a href=\"https://postgr.es/c/13661ddd7\">\u00a7</a></p>", "text": "Add greatest-common-denominator (gcd) and least-common-multiple (lcm) functions (Vik Fearing) \u00a7", "title": "Add greatest-common-denominator (gcd) and least-common-multiple (lcm) functions", "commits": ["13661ddd7"], "section": "Functions", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.7", "source_hash": "c23af798b04a9bb3548c856f8acf6bcc033aec769300f1454fe613a946db2d34", "section_path": ["Functions"], "commit_groups": [["13661ddd7"]], "identity_text": "Add greatest-common-denominator (gcd) and least-common-multiple (lcm) functions (Vik Fearing)", "commit_aliases": ["13661ddd7"], "source_commits": ["13661ddd7"], "source_entry_id": "13.0/changes/088", "db_id": "4e78a24f8741de598d2e0d7ac7c045d4", "patch_ids": ["47c5c790d9aa212c6cd313fe2699c17f"], "statement_hash": "98eb4c96ed9083b5726d003b92721bfb7a556988d77c58b6f630dd236ddc1162", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-b883a004a51e29bb", "migration": false}, {"id": "13.0-1d52417f1bcb7e0a", "cves": [], "html": "<p>Improve the performance and accuracy of the <code>numeric</code> type's <a href=\"/docs/13/functions-math.html#FUNCTIONS-MATH-FUNC-TABLE\" title=\"Table\u00a09.5.\u00a0Mathematical Functions\">square root</a> (<code>sqrt</code>) and natural log (<code>ln</code>) functions (Dean Rasheed) <a href=\"https://postgr.es/c/43a899f41\">\u00a7</a> <a href=\"https://postgr.es/c/4083f445c\">\u00a7</a></p>", "text": "Improve the performance and accuracy of the numeric type's square root (sqrt) and natural log (ln) functions (Dean Rasheed) \u00a7 \u00a7", "title": "Improve the performance and accuracy of the numeric type's square root (sqrt) and natural log (ln) functions", "commits": ["4083f445c", "43a899f41"], "section": "Functions", "category": "performance", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.7", "source_hash": "27c2c92d512421e9e759633e8c701c7620a19be5052557aea076bd8af58267b4", "section_path": ["Functions"], "commit_groups": [["4083f445c"], ["43a899f41"]], "identity_text": "Improve the performance and accuracy of the numeric type's square root (sqrt) and natural log (ln) functions (Dean Rasheed)", "commit_aliases": ["4083f445c", "43a899f41"], "source_commits": ["4083f445c", "43a899f41"], "source_entry_id": "13.0/changes/089", "db_id": "43ad4875ff066bbd0353ae790f8e818f", "patch_ids": ["520dedfae89bc7aa77ce47084fa941bd", "d41bfcd3f739e399d8493c36d6cdcce4"], "statement_hash": "c66e16dd283eca550790707b19e97bf87862ccca9af80c1d32db9e51fc4e1139", "relations": [], "category_label": "Performance", "url": "/docs/compare/?release=13.0#13.0-1d52417f1bcb7e0a", "migration": false}, {"id": "13.0-4217a2bb05dabb72-1", "cves": [], "html": "<p>Add function <a href=\"/docs/13/functions-math.html#FUNCTIONS-MATH-FUNC-TABLE\" title=\"Table\u00a09.5.\u00a0Mathematical Functions\"><code>min_scale()</code></a> that returns the number of digits to the right of the decimal point that are required to represent a <code>numeric</code> value with full accuracy (Pavel Stehule) <a href=\"https://postgr.es/c/20d6225d1\">\u00a7</a></p>", "text": "Add function min_scale() that returns the number of digits to the right of the decimal point that are required to represent a numeric value with full accuracy (Pavel Stehule) \u00a7", "title": "Add function min_scale() that returns the number of digits to the right of the decimal point that are required to represent a numeric value with full accuracy", "commits": ["20d6225d1"], "section": "Functions", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.7", "source_hash": "6449e412dd138e3df0edaa051a6a6bd0dc08631ed49219f0a672a95cb0912fb0", "section_path": ["Functions"], "commit_groups": [["20d6225d1"]], "identity_text": "Add function min_scale() that returns the number of digits to the right of the decimal point that are required to represent a numeric value with full accuracy (Pavel Stehule)", "commit_aliases": ["20d6225d1"], "source_commits": ["20d6225d1"], "source_entry_id": "13.0/changes/090", "db_id": "8ae062c3a2e5e881e047434684aaa7b1", "patch_ids": ["105d8c21d8657838f615d760fe5c2ece"], "statement_hash": "da403a185e6588a49f43a7589c23c1df339de0d04fa64a7dde8512a8485aa926", "relations": [{"rule": 2, "type": "related", "target": "c4810e7f7c6747d9f5b80ebf01ada2ec", "evidence": {"same_day": true, "patch_ids": ["105d8c21d8657838f615d760fe5c2ece"], "ambiguous_patch_ids": ["105d8c21d8657838f615d760fe5c2ece"]}}], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-4217a2bb05dabb72-1", "migration": false}, {"id": "13.0-4217a2bb05dabb72-2", "cves": [], "html": "<p>Add function <a href=\"/docs/13/functions-math.html#FUNCTIONS-MATH-FUNC-TABLE\" title=\"Table\u00a09.5.\u00a0Mathematical Functions\"><code>trim_scale()</code></a> to reduce the scale of a <code>numeric</code> value by removing trailing zeros (Pavel Stehule) <a href=\"https://postgr.es/c/20d6225d1\">\u00a7</a></p>", "text": "Add function trim_scale() to reduce the scale of a numeric value by removing trailing zeros (Pavel Stehule) \u00a7", "title": "Add function trim_scale() to reduce the scale of a numeric value by removing trailing zeros", "commits": ["20d6225d1"], "section": "Functions", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.7", "source_hash": "a6fe5a4431c4c495e7670e8c02847a0857fedac91123121607256e9cd9213961", "section_path": ["Functions"], "commit_groups": [["20d6225d1"]], "identity_text": "Add function trim_scale() to reduce the scale of a numeric value by removing trailing zeros (Pavel Stehule)", "commit_aliases": ["20d6225d1"], "source_commits": ["20d6225d1"], "source_entry_id": "13.0/changes/091", "db_id": "c4810e7f7c6747d9f5b80ebf01ada2ec", "patch_ids": ["105d8c21d8657838f615d760fe5c2ece"], "statement_hash": "148b05e07bea492ed40c92e9b09559976cc565efe4cd5aa68f0aa96d125704a7", "relations": [{"rule": 2, "type": "related", "target": "8ae062c3a2e5e881e047434684aaa7b1", "evidence": {"same_day": true, "patch_ids": ["105d8c21d8657838f615d760fe5c2ece"], "ambiguous_patch_ids": ["105d8c21d8657838f615d760fe5c2ece"]}}], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-4217a2bb05dabb72-2", "migration": false}, {"id": "13.0-31069a65f661aaa5", "cves": [], "html": "<p>Add commutators of <a href=\"/docs/13/functions-geometry.html#FUNCTIONS-GEOMETRY-OP-TABLE\" title=\"Table\u00a09.35.\u00a0Geometric Operators\">distance operators</a> (Nikita Glukhov) <a href=\"https://postgr.es/c/6254c55f8\">\u00a7</a></p>\n<p>For example, previously only <code>point</code> <code>&lt;-&gt;</code> <code>line</code> was supported, now <code>line</code> <code>&lt;-&gt;</code> <code>point</code> works too.</p>", "text": "Add commutators of distance operators (Nikita Glukhov) \u00a7 For example, previously only point <-> line was supported, now line <-> point works too.", "title": "Add commutators of distance operators", "commits": ["6254c55f8"], "section": "Functions", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.7", "source_hash": "b27770badcc9af696b1bc9bdd9cb98ce3140d594b37eafe88ba13e073ff98aed", "section_path": ["Functions"], "commit_groups": [["6254c55f8"]], "identity_text": "Add commutators of distance operators (Nikita Glukhov) For example, previously only point <-> line was supported, now line <-> point works too.", "commit_aliases": ["6254c55f8"], "source_commits": ["6254c55f8"], "source_entry_id": "13.0/changes/092", "db_id": "24873edef0f32eb7cfbec0d8cd99b48a", "patch_ids": ["6002f69e4dac70cbbd0da1974670ab86"], "statement_hash": "caf1a03d70bf9b73f4e72c4d7cdc61b9db6a85b609798a9d4097d0ccc6216b82", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-31069a65f661aaa5", "migration": false}, {"id": "13.0-49ca760dfa22f297", "cves": [], "html": "<p>Create <code>xid8</code> versions of all <a href=\"/docs/13/functions-info.html#FUNCTIONS-PG-SNAPSHOT\" title=\"Table\u00a09.74.\u00a0Transaction ID and Snapshot Information Functions\">transaction ID functions</a> (Thomas Munro) <a href=\"https://postgr.es/c/4c04be9b0\">\u00a7</a></p>\n<p>The old <code>xid</code>-based functions still exist, for backward compatibility.</p>", "text": "Create xid8 versions of all transaction ID functions (Thomas Munro) \u00a7 The old xid-based functions still exist, for backward compatibility.", "title": "Create xid8 versions of all transaction ID functions", "commits": ["4c04be9b0"], "section": "Functions", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.7", "source_hash": "407390411b04ad56cd01bdf9f6b3baaae31c82bc2b118a63fa37f6ec9c27413f", "section_path": ["Functions"], "commit_groups": [["4c04be9b0"]], "identity_text": "Create xid8 versions of all transaction ID functions (Thomas Munro) The old xid-based functions still exist, for backward compatibility.", "commit_aliases": ["4c04be9b0"], "source_commits": ["4c04be9b0"], "source_entry_id": "13.0/changes/093", "db_id": "b78f3de62469a5005249904265d63d2a", "patch_ids": ["a31e6118b79de11fa4a983d7620f226b"], "statement_hash": "590800e408d7f5d0ecac3a9835fe2bb60c4b29adb7404f13f246ab69269013e5", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-49ca760dfa22f297", "migration": false}, {"id": "13.0-75ef191fac89bd63", "cves": [], "html": "<p>Allow <a href=\"/docs/13/functions-binarystring.html#FUNCTIONS-BINARYSTRING-OTHER\" title=\"Table\u00a09.12.\u00a0Other Binary String Functions\"><code>get_bit()</code></a> and <code>set_bit()</code> to set bits beyond the first 256MB of a <code>bytea</code> value (Movead Li) <a href=\"https://postgr.es/c/26a944cf2\">\u00a7</a></p>", "text": "Allow get_bit() and set_bit() to set bits beyond the first 256MB of a bytea value (Movead Li) \u00a7", "title": "Allow get_bit() and set_bit() to set bits beyond the first 256MB of a bytea value", "commits": ["26a944cf2"], "section": "Functions", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.7", "source_hash": "62edd85987b04ee8933183edb5cea082f12f335bbfcfd27cdbfcda8ad77c4d4c", "section_path": ["Functions"], "commit_groups": [["26a944cf2", "5d79fc60c", "6e6b74a20", "889786e0e", "dbb121038", "e40c4d491"]], "identity_text": "Allow get_bit() and set_bit() to set bits beyond the first 256MB of a bytea value (Movead Li)", "commit_aliases": ["26a944cf2", "5d79fc60c", "6e6b74a20", "889786e0e", "dbb121038", "e40c4d491"], "source_commits": ["26a944cf2"], "source_entry_id": "13.0/changes/094", "db_id": "36951132033efe9497121c46a1b696f0", "patch_ids": ["1f035cd3ed3162eae50f4cfd66d60f73"], "statement_hash": "50585a02e5e3007d3b7cf93b71c40c7fa248a3083386562eb861303529ef3f2f", "relations": [{"rule": 2, "type": "related", "target": "0ea209ac716ba0f4bed1d348ba9b11e8", "evidence": {"same_day": false, "patch_ids": ["1f035cd3ed3162eae50f4cfd66d60f73"]}}, {"rule": 2, "type": "related", "target": "73bef7cb7ccfd7e6c375b8b1bf28469a", "evidence": {"same_day": false, "patch_ids": ["1f035cd3ed3162eae50f4cfd66d60f73"]}}, {"rule": 2, "type": "related", "target": "bd37d88fde696a029e43ffc64a6db4aa", "evidence": {"same_day": false, "patch_ids": ["1f035cd3ed3162eae50f4cfd66d60f73"]}}, {"rule": 2, "type": "related", "target": "c9ab8b3b22e6103c90868ddecabecbb7", "evidence": {"same_day": false, "patch_ids": ["1f035cd3ed3162eae50f4cfd66d60f73"]}}, {"rule": 2, "type": "related", "target": "f5409b29c53848f4f3a571148b1b7a0b", "evidence": {"same_day": false, "patch_ids": ["1f035cd3ed3162eae50f4cfd66d60f73"]}}], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-75ef191fac89bd63", "migration": false}, {"id": "13.0-1fcadec0e1525f93", "cves": [], "html": "<p>Allow <a href=\"/docs/13/functions-admin.html#FUNCTIONS-ADVISORY-LOCKS\" title=\"9.27.10.\u00a0Advisory Lock Functions\">advisory-lock functions</a> to be used in some parallel operations (Tom Lane) <a href=\"https://postgr.es/c/4886da832\">\u00a7</a></p>", "text": "Allow advisory-lock functions to be used in some parallel operations (Tom Lane) \u00a7", "title": "Allow advisory-lock functions to be used in some parallel operations", "commits": ["4886da832"], "section": "Functions", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.7", "source_hash": "4ec3b1a4190343dfaaab44844ca54a7b8f14cf55a131404a3c74eb54e070da0b", "section_path": ["Functions"], "commit_groups": [["4886da832"]], "identity_text": "Allow advisory-lock functions to be used in some parallel operations (Tom Lane)", "commit_aliases": ["4886da832"], "source_commits": ["4886da832"], "source_entry_id": "13.0/changes/095", "db_id": "8d9530a2fd0fa6cc6b880821b72a1ed9", "patch_ids": ["6f19a253e324cb1569a246685d451b1c"], "statement_hash": "98bcd7f8d8672bc7bf904da971ae73cae53b95ae67db4732ef5f268277f2afb1", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-1fcadec0e1525f93", "migration": false}, {"id": "13.0-d858b67ce4a453b5", "cves": [], "html": "<p>Add the ability to remove an object's dependency on an extension (\u00c1lvaro Herrera) <a href=\"https://postgr.es/c/5fc703946\">\u00a7</a></p>\n<p>The object can be a function, materialized view, index, or trigger. The syntax is <code>ALTER .. NO DEPENDS ON</code>.</p>", "text": "Add the ability to remove an object's dependency on an extension (\u00c1lvaro Herrera) \u00a7 The object can be a function, materialized view, index, or trigger. The syntax is ALTER .. NO DEPENDS ON.", "title": "Add the ability to remove an object's dependency on an extension", "commits": ["5fc703946"], "section": "Functions", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.7", "source_hash": "94fdd8840e38a68b4da166414c21460cf92fdfff5a368cd4582577d4e43c3abf", "section_path": ["Functions"], "commit_groups": [["5fc703946"]], "identity_text": "Add the ability to remove an object's dependency on an extension (\u00c1lvaro Herrera) The object can be a function, materialized view, index, or trigger. The syntax is ALTER .. NO DEPENDS ON.", "commit_aliases": ["5fc703946"], "source_commits": ["5fc703946"], "source_entry_id": "13.0/changes/096", "db_id": "52753ffa40ddb3a47738bb95aa21bbce", "patch_ids": ["ee4caffaa478567ea77ccf87dbb66de2"], "statement_hash": "ce04a01d20a5dac58cb7e6079c96991eb9c778cc190193f202c81c41e1f761ca", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-d858b67ce4a453b5", "migration": false}, {"id": "13.0-79533f284443af58", "cves": [], "html": "<p>Improve performance of simple PL/pgSQL expressions (Tom Lane, Amit Langote) <a href=\"https://postgr.es/c/8f59f6b9c\">\u00a7</a></p>", "text": "Improve performance of simple PL/pgSQL expressions (Tom Lane, Amit Langote) \u00a7", "title": "Improve performance of simple PL/pgSQL expressions", "commits": ["8f59f6b9c"], "section": "PL/pgSQL", "category": "performance", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.8", "source_hash": "fef034fc384239ae81bc57badf4a3f53ed3f1cff36c8e4a983a925832d54f7c8", "section_path": ["PL/pgSQL"], "commit_groups": [["8f59f6b9c"]], "identity_text": "Improve performance of simple PL/pgSQL expressions (Tom Lane, Amit Langote)", "commit_aliases": ["8f59f6b9c"], "source_commits": ["8f59f6b9c"], "source_entry_id": "13.0/changes/097", "db_id": "8f89720feb19b5bdc7b3b9316bfeaed5", "patch_ids": ["5bf3da4f0c7583e8af2b90ca94950312"], "statement_hash": "da8e765a847eaaa711d902826c067d6f040dd1c5bc893875ba6ab9c96d8629e4", "relations": [], "category_label": "Performance", "url": "/docs/compare/?release=13.0#13.0-79533f284443af58", "migration": false}, {"id": "13.0-bcaf8f58a17f0e20", "cves": [], "html": "<p>Improve performance of PL/pgSQL functions that use immutable expressions (Konstantin Knizhnik) <a href=\"https://postgr.es/c/73b06cf89\">\u00a7</a></p>", "text": "Improve performance of PL/pgSQL functions that use immutable expressions (Konstantin Knizhnik) \u00a7", "title": "Improve performance of PL/pgSQL functions that use immutable expressions", "commits": ["73b06cf89"], "section": "PL/pgSQL", "category": "performance", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.8", "source_hash": "e16affb9acc0e30dd9fc80152b49345f5ce62ff9abbc85520e8acdc44a88d408", "section_path": ["PL/pgSQL"], "commit_groups": [["73b06cf89"]], "identity_text": "Improve performance of PL/pgSQL functions that use immutable expressions (Konstantin Knizhnik)", "commit_aliases": ["73b06cf89"], "source_commits": ["73b06cf89"], "source_entry_id": "13.0/changes/098", "db_id": "601d18df39f6fe9eb0f6845f49fd9db6", "patch_ids": ["b28c98e3d3eb4a7bc10f2854d5f13eb9"], "statement_hash": "76c3c98ec148604f1b92b8f8214374a460a9437adb53471e998ae5aaa5cc0603", "relations": [], "category_label": "Performance", "url": "/docs/compare/?release=13.0#13.0-bcaf8f58a17f0e20", "migration": false}, {"id": "13.0-bdbebb8d12cdd98e", "cves": [], "html": "<p>Allow libpq clients to require channel binding for encrypted connections (Jeff Davis) <a href=\"https://postgr.es/c/d6e612f83\">\u00a7</a></p>\n<p>Using the libpq connection parameter <a href=\"/docs/13/libpq-connect.html#LIBPQ-CONNECT-CHANNEL-BINDING\"><code>channel_binding</code></a> forces the other end of the <acronym>TLS</acronym> connection to prove it knows the user's password. This prevents man-in-the-middle attacks.</p>", "text": "Allow libpq clients to require channel binding for encrypted connections (Jeff Davis) \u00a7 Using the libpq connection parameter channel_binding forces the other end of the TLS connection to prove it knows the user's password. This prevents man-in-the-middle attacks.", "title": "Allow libpq clients to require channel binding for encrypted connections", "commits": ["d6e612f83"], "section": "Client Interfaces", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.9", "source_hash": "4c21d3ba325e77859daea30e826f54e3b389215b05c668ccc958da0a5c7d15da", "section_path": ["Client Interfaces"], "commit_groups": [["d6e612f83"]], "identity_text": "Allow libpq clients to require channel binding for encrypted connections (Jeff Davis) Using the libpq connection parameter channel_binding forces the other end of the TLS connection to prove it knows the user's password. This prevents man-in-the-middle attacks.", "commit_aliases": ["d6e612f83"], "source_commits": ["d6e612f83"], "source_entry_id": "13.0/changes/099", "db_id": "48d7843469f2212499d9145e0c2c74c5", "patch_ids": ["e4195d174838e9dcbafad4f2fe44c4e1"], "statement_hash": "d720ea2f95ddebb15fa3d8af0195cdd39ac1b5f04ad046dbb8b51574807139a1", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-bdbebb8d12cdd98e", "migration": false}, {"id": "13.0-42df41c3ef71679d", "cves": [], "html": "<p>Add libpq connection parameters to control the minimum and maximum <acronym>TLS</acronym> version allowed for an encrypted connection (Daniel Gustafsson) <a href=\"https://postgr.es/c/ff8ca5fad\">\u00a7</a> <a href=\"https://postgr.es/c/401aad670\">\u00a7</a> <a href=\"https://postgr.es/c/16412c784\">\u00a7</a></p>\n<p>The settings are <a href=\"/docs/13/libpq-connect.html#LIBPQ-CONNECT-SSL-MIN-PROTOCOL-VERSION\">ssl_min_protocol_version</a> and <a href=\"/docs/13/libpq-connect.html#LIBPQ-CONNECT-SSL-MAX-PROTOCOL-VERSION\">ssl_max_protocol_version</a>. By default, the minimum <acronym>TLS</acronym> version is 1.2 (this represents a behavioral change from previous releases).</p>", "text": "Add libpq connection parameters to control the minimum and maximum TLS version allowed for an encrypted connection (Daniel Gustafsson) \u00a7 \u00a7 \u00a7 The settings are ssl_min_protocol_version and ssl_max_protocol_version. By default, the minimum TLS version is 1.2 (this represents a behavioral change from previous releases).", "title": "Add libpq connection parameters to control the minimum and maximum TLS version allowed for an encrypted connection", "commits": ["16412c784", "401aad670", "ff8ca5fad"], "section": "Client Interfaces", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.9", "source_hash": "35fffb26a2ce704c32ea19b3b43ba67b08b072eaa638c10eb7532c529516f44e", "section_path": ["Client Interfaces"], "commit_groups": [["16412c784"], ["401aad670"], ["ff8ca5fad"]], "identity_text": "Add libpq connection parameters to control the minimum and maximum TLS version allowed for an encrypted connection (Daniel Gustafsson) The settings are libpq-connect-ssl-min-protocol-version and libpq-connect-ssl-max-protocol-version . By default, the minimum TLS version is 1.2 (this represents a behavioral change from previous releases).", "commit_aliases": ["16412c784", "401aad670", "ff8ca5fad"], "source_commits": ["16412c784", "401aad670", "ff8ca5fad"], "source_entry_id": "13.0/changes/100", "db_id": "b2061230e314e9b97b573426b6bc998e", "patch_ids": ["2fb69012a9c8fc5e21c858b7ae376efc", "7ae6f7c4f45089dd492095aa73afbd08", "ccada3aceda9d729a68ab473dab9f02f"], "statement_hash": "45a565ef4e4fbe6d41bfffc7bde611fed7d3c98799a5babb8d1a496a8d7bc4b8", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-42df41c3ef71679d", "migration": false}, {"id": "13.0-3b8ac2399a1e0fce-1", "cves": [], "html": "<p>Allow use of passwords to unlock client certificates (Craig Ringer, Andrew Dunstan) <a href=\"https://postgr.es/c/4dc635521\">\u00a7</a></p>\n<p>This is enabled by libpq's <a href=\"/docs/13/libpq-connect.html#LIBPQ-CONNECT-SSLPASSWORD\">sslpassword</a> connection parameter.</p>", "text": "Allow use of passwords to unlock client certificates (Craig Ringer, Andrew Dunstan) \u00a7 This is enabled by libpq's sslpassword connection parameter.", "title": "Allow use of passwords to unlock client certificates", "commits": ["4dc635521"], "section": "Client Interfaces", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.9", "source_hash": "8494c571bea8695d1b0b5052a4158447e415127228eb213f0a11819b329097ee", "section_path": ["Client Interfaces"], "commit_groups": [["4dc635521"]], "identity_text": "Allow use of passwords to unlock client certificates (Craig Ringer, Andrew Dunstan) This is enabled by libpq's libpq-connect-sslpassword connection parameter.", "commit_aliases": ["4dc635521"], "source_commits": ["4dc635521"], "source_entry_id": "13.0/changes/101", "db_id": "63d663543f6b2bad3d2cb1c709d02275", "patch_ids": ["125812cd74c1177693fadf7c4dda3015"], "statement_hash": "5d036d32a87dbf32687c88326321ca93f1c9332b0472fdfca3a20866009015aa", "relations": [{"rule": 2, "type": "related", "target": "e9eb620782f51d1813d3481eb51968a1", "evidence": {"same_day": true, "patch_ids": ["125812cd74c1177693fadf7c4dda3015"], "ambiguous_patch_ids": ["125812cd74c1177693fadf7c4dda3015"]}}], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-3b8ac2399a1e0fce-1", "migration": false}, {"id": "13.0-3b8ac2399a1e0fce-2", "cves": [], "html": "<p>Allow libpq to use <acronym>DER</acronym>-encoded client certificates (Craig Ringer, Andrew Dunstan) <a href=\"https://postgr.es/c/4dc635521\">\u00a7</a></p>", "text": "Allow libpq to use DER-encoded client certificates (Craig Ringer, Andrew Dunstan) \u00a7", "title": "Allow libpq to use DER-encoded client certificates", "commits": ["4dc635521"], "section": "Client Interfaces", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.9", "source_hash": "c32cc10501e0cf1f1c8395892cc9123a45372885d97ab0a2a3d32dc45b57ab2a", "section_path": ["Client Interfaces"], "commit_groups": [["4dc635521"]], "identity_text": "Allow libpq to use DER-encoded client certificates (Craig Ringer, Andrew Dunstan)", "commit_aliases": ["4dc635521"], "source_commits": ["4dc635521"], "source_entry_id": "13.0/changes/102", "db_id": "e9eb620782f51d1813d3481eb51968a1", "patch_ids": ["125812cd74c1177693fadf7c4dda3015"], "statement_hash": "3808aa96751956de2c6fbc6a0d078638cbda3dff179a0fe4f1a19df58ae6525d", "relations": [{"rule": 2, "type": "related", "target": "63d663543f6b2bad3d2cb1c709d02275", "evidence": {"same_day": true, "patch_ids": ["125812cd74c1177693fadf7c4dda3015"], "ambiguous_patch_ids": ["125812cd74c1177693fadf7c4dda3015"]}}], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-3b8ac2399a1e0fce-2", "migration": false}, {"id": "13.0-d6bb4fdd42ea50e0", "cves": [], "html": "<p>Fix <span>ecpg</span>'s <code>EXEC SQL elif</code> directive to work correctly (Tom Lane) <a href=\"https://postgr.es/c/44cd434ec\">\u00a7</a></p>\n<p>Previously it behaved the same as <code>endif</code> followed by <code>ifdef</code>, so that a successful previous branch of the same <code>if</code> construct did not prevent expansion of the <code>elif</code> branch or following branches.</p>", "text": "Fix ecpg's EXEC SQL elif directive to work correctly (Tom Lane) \u00a7 Previously it behaved the same as endif followed by ifdef, so that a successful previous branch of the same if construct did not prevent expansion of the elif branch or following branches.", "title": "Fix ecpg's EXEC SQL elif directive to work correctly", "commits": ["44cd434ec"], "section": "Client Interfaces", "category": "bugfix", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.9", "source_hash": "57f20e597636a87625f2a9a1036f232a6ee19ef1edf922e18a260f3e3e4c5735", "section_path": ["Client Interfaces"], "commit_groups": [["44cd434ec"]], "identity_text": "Fix ecpg's EXEC SQL elif directive to work correctly (Tom Lane) Previously it behaved the same as endif followed by ifdef, so that a successful previous branch of the same if construct did not prevent expansion of the elif branch or following branches.", "commit_aliases": ["44cd434ec"], "source_commits": ["44cd434ec"], "source_entry_id": "13.0/changes/103", "db_id": "97309ca82c53b25a90e16c823abf642e", "patch_ids": ["bad103fd7408fb0a0cf46a7ed7c17789"], "statement_hash": "fcf615d6e02eebf26e0e1990059597c5d340611928cdddf8435d96331061f109", "relations": [], "category_label": "Bug fixes", "url": "/docs/compare/?release=13.0#13.0-d6bb4fdd42ea50e0", "migration": false}, {"id": "13.0-70b5610251dd23dd", "cves": [], "html": "<p>Add transaction status (<code>%x</code>) to <span>psql</span>'s default <a href=\"/docs/13/app-psql.html#APP-PSQL-PROMPTING\" title=\"Prompting\">prompts</a> (Vik Fearing) <a href=\"https://postgr.es/c/dcdbb5a5d\">\u00a7</a></p>", "text": "Add transaction status (%x) to psql's default prompts (Vik Fearing) \u00a7", "title": "Add transaction status (%x) to psql's default prompts", "commits": ["dcdbb5a5d"], "section": "Client Applications / psql", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.10.2", "source_hash": "8fa7ec3695226f1c1b04d2a33ae32e55ce76411f6be3a2a236b02b58a51d061d", "section_path": ["Client Applications", "psql"], "commit_groups": [["dcdbb5a5d"]], "identity_text": "Add transaction status (%x) to psql's default prompts (Vik Fearing)", "commit_aliases": ["dcdbb5a5d"], "source_commits": ["dcdbb5a5d"], "source_entry_id": "13.0/changes/104", "db_id": "2a4633bdf7d94936b9888c5ed2163462", "patch_ids": ["88869087f8dc35127b75c9a6cd4b4425"], "statement_hash": "daf1edd18bbd75a3882abf1d56df57570ef2e8641743e58f27fca524575ca958", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-70b5610251dd23dd", "migration": false}, {"id": "13.0-5e0864d924c2e431", "cves": [], "html": "<p>Allow the secondary <span>psql</span> prompt to be blank but the same width as the primary prompt (Thomas Munro) <a href=\"https://postgr.es/c/7f338369c\">\u00a7</a></p>\n<p>This is accomplished by setting <code>PROMPT2</code> to <code>%w</code>.</p>", "text": "Allow the secondary psql prompt to be blank but the same width as the primary prompt (Thomas Munro) \u00a7 This is accomplished by setting PROMPT2 to %w.", "title": "Allow the secondary psql prompt to be blank but the same width as the primary prompt", "commits": ["7f338369c"], "section": "Client Applications / psql", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.10.2", "source_hash": "09df7e41fd33c11872f00b47acbf66221b7c80b4c043b99069f21da6b461fd27", "section_path": ["Client Applications", "psql"], "commit_groups": [["7f338369c"]], "identity_text": "Allow the secondary psql prompt to be blank but the same width as the primary prompt (Thomas Munro) This is accomplished by setting PROMPT2 to %w.", "commit_aliases": ["7f338369c"], "source_commits": ["7f338369c"], "source_entry_id": "13.0/changes/105", "db_id": "6c09ba3ec57b4a486923cacb0c583b45", "patch_ids": ["a3a80eda705292f43a8d53374986d732"], "statement_hash": "f7e41bcc908186a38fd7b7aadacb83a39a3ac4988ed885973955a2fc9aa72c96", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-5e0864d924c2e431", "migration": false}, {"id": "13.0-2746cdf6e34038f0", "cves": [], "html": "<p>Allow <span>psql</span>'s <a href=\"/docs/13/app-psql.html#APP-PSQL-META-COMMANDS\" title=\"Meta-Commands\"><code>\\g</code></a> and <code>\\gx</code> commands to change <a href=\"/docs/13/app-psql.html#APP-PSQL-META-COMMANDS\" title=\"Meta-Commands\">\\pset</a> output options for the duration of that single command (Tom Lane) <a href=\"https://postgr.es/c/b63c293bc\">\u00a7</a></p>\n<p>This feature allows syntax like <code>\\g (expand=on)</code>, which is equivalent to <code>\\gx</code>.</p>", "text": "Allow psql's \\g and \\gx commands to change \\pset output options for the duration of that single command (Tom Lane) \u00a7 This feature allows syntax like \\g (expand=on), which is equivalent to \\gx.", "title": "Allow psql's \\g and \\gx commands to change \\pset output options for the duration of that single command", "commits": ["b63c293bc"], "section": "Client Applications / psql", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.10.2", "source_hash": "de12c4600f38140041b06a457df2fba1bc6aca39682f8d60ae58db2e3c54426b", "section_path": ["Client Applications", "psql"], "commit_groups": [["b63c293bc"]], "identity_text": "Allow psql's \\g and \\gx commands to change \\pset output options for the duration of that single command (Tom Lane) This feature allows syntax like \\g (expand=on), which is equivalent to \\gx.", "commit_aliases": ["b63c293bc"], "source_commits": ["b63c293bc"], "source_entry_id": "13.0/changes/106", "db_id": "86ff892176ab0c0488eb5fbb4b2ea0a8", "patch_ids": ["16d61987d6fd407dd5a429c83c16fb00"], "statement_hash": "08503c9d63970e568ecb54d1fb0874b985871e34251090a226e3c1e4a59a9562", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-2746cdf6e34038f0", "migration": false}, {"id": "13.0-7a86b1536cf08d5a", "cves": [], "html": "<p>Add <span>psql</span> commands to display operator classes and operator families (Sergey Cherkashin, Nikita Glukhov, Alexander Korotkov) <a href=\"https://postgr.es/c/b0b5e20cd\">\u00a7</a></p>\n<p>The new commands are <a href=\"/docs/13/app-psql.html#APP-PSQL-META-COMMANDS\" title=\"Meta-Commands\"><code>\\dAc</code></a>, <code>\\dAf</code>, <code>\\dAo</code>, and <code>\\dAp</code>.</p>", "text": "Add psql commands to display operator classes and operator families (Sergey Cherkashin, Nikita Glukhov, Alexander Korotkov) \u00a7 The new commands are \\dAc, \\dAf, \\dAo, and \\dAp.", "title": "Add psql commands to display operator classes and operator families", "commits": ["b0b5e20cd"], "section": "Client Applications / psql", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.10.2", "source_hash": "ff545e1f465b09da30d23d81ea3d98fd2fb4e5ace6e8e2b7123e3045a955b5e4", "section_path": ["Client Applications", "psql"], "commit_groups": [["b0b5e20cd"]], "identity_text": "Add psql commands to display operator classes and operator families (Sergey Cherkashin, Nikita Glukhov, Alexander Korotkov) The new commands are \\dAc, \\dAf, \\dAo, and \\dAp.", "commit_aliases": ["b0b5e20cd"], "source_commits": ["b0b5e20cd"], "source_entry_id": "13.0/changes/107", "db_id": "7b485eb345bc59529f98b9a71177ab11", "patch_ids": ["2d23c30333f9ea372a1ff07222218c17"], "statement_hash": "a09d624a3342f3f71496c1a3cd239f00d86193bf2b403642c59fb337b9208dd6", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-7a86b1536cf08d5a", "migration": false}, {"id": "13.0-d664eb09490511d0", "cves": [], "html": "<p>Show table persistence in <span>psql</span>'s <a href=\"/docs/13/app-psql.html#APP-PSQL-META-COMMANDS\" title=\"Meta-Commands\"><code>\\dt+</code></a> and related commands (David Fetter) <a href=\"https://postgr.es/c/9a2ea6183\">\u00a7</a></p>\n<p>In verbose mode, the table/index/view shows if the object is permanent, temporary, or unlogged.</p>", "text": "Show table persistence in psql's \\dt+ and related commands (David Fetter) \u00a7 In verbose mode, the table/index/view shows if the object is permanent, temporary, or unlogged.", "title": "Show table persistence in psql's \\dt+ and related commands", "commits": ["9a2ea6183"], "section": "Client Applications / psql", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.10.2", "source_hash": "e143aa743720e8199850b9442cb33349aad5c2ed60ea09213f2b0e3848b773de", "section_path": ["Client Applications", "psql"], "commit_groups": [["9a2ea6183"]], "identity_text": "Show table persistence in psql's \\dt+ and related commands (David Fetter) In verbose mode, the table/index/view shows if the object is permanent, temporary, or unlogged.", "commit_aliases": ["9a2ea6183"], "source_commits": ["9a2ea6183"], "source_entry_id": "13.0/changes/108", "db_id": "6f6d44f72bf0bbc1c441f9cb9a4f9c8b", "patch_ids": ["c603a6c62664bdd10f820d7ae11cff05"], "statement_hash": "8394b8907b9992d05332f0f23a67bcdca294ea0ebac95988b2ff901bf47ceee1", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-d664eb09490511d0", "migration": false}, {"id": "13.0-1dee952ec6ee876a", "cves": [], "html": "<p>Improve output of <span>psql</span>'s <a href=\"/docs/13/app-psql.html#APP-PSQL-META-COMMANDS\" title=\"Meta-Commands\"><code>\\d</code></a> for <acronym>TOAST</acronym> tables (Justin Pryzby) <a href=\"https://postgr.es/c/eb5472da9\">\u00a7</a></p>", "text": "Improve output of psql's \\d for TOAST tables (Justin Pryzby) \u00a7", "title": "Improve output of psql's \\d for TOAST tables", "commits": ["eb5472da9"], "section": "Client Applications / psql", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.10.2", "source_hash": "2b81881e4fcc170c1c112b56064ac80a95277004c370bdd3609193db66497397", "section_path": ["Client Applications", "psql"], "commit_groups": [["eb5472da9"]], "identity_text": "Improve output of psql's \\d for TOAST tables (Justin Pryzby)", "commit_aliases": ["eb5472da9"], "source_commits": ["eb5472da9"], "source_entry_id": "13.0/changes/109", "db_id": "fbcd332d7d74f3111d803df6e3dbe808", "patch_ids": ["b6ef59184739690fa5407e034dbf6d7e"], "statement_hash": "465150c1eabe6234e0e28b65b6ec537ac221c4b473dfcda34b6c53c92061dbca", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-1dee952ec6ee876a", "migration": false}, {"id": "13.0-7212980cb5e34edb", "cves": [], "html": "<p>Fix redisplay after <span>psql</span>'s <a href=\"/docs/13/app-psql.html#APP-PSQL-META-COMMANDS\" title=\"Meta-Commands\"><code>\\e</code></a> command (Tom Lane) <a href=\"https://postgr.es/c/d1c866e57\">\u00a7</a></p>\n<p>When exiting the editor, if the query doesn't end with a semicolon or <code>\\g</code>, the query buffer contents will now be displayed.</p>", "text": "Fix redisplay after psql's \\e command (Tom Lane) \u00a7 When exiting the editor, if the query doesn't end with a semicolon or \\g, the query buffer contents will now be displayed.", "title": "Fix redisplay after psql's \\e command", "commits": ["d1c866e57"], "section": "Client Applications / psql", "category": "bugfix", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.10.2", "source_hash": "1c52b5c099c677b6fdcc1d734a01afd0d191795c8777fc7102fab8251dfb31a4", "section_path": ["Client Applications", "psql"], "commit_groups": [["d1c866e57"]], "identity_text": "Fix redisplay after psql's \\e command (Tom Lane) When exiting the editor, if the query doesn't end with a semicolon or \\g, the query buffer contents will now be displayed.", "commit_aliases": ["d1c866e57"], "source_commits": ["d1c866e57"], "source_entry_id": "13.0/changes/110", "db_id": "1ae29b24bbd32fb2abad98f45a1ce06c", "patch_ids": ["b3be07facf466757590b9934f8813c52"], "statement_hash": "af9df4eb5ac344071ee952f7fb592728110b9c48028286abf19c1ee5dfb544b3", "relations": [], "category_label": "Bug fixes", "url": "/docs/compare/?release=13.0#13.0-7212980cb5e34edb", "migration": false}, {"id": "13.0-dec738bb3b0ae48c", "cves": [], "html": "<p>Add <a href=\"/docs/13/app-psql.html#APP-PSQL-META-COMMANDS\" title=\"Meta-Commands\"><code>\\warn</code></a> command to <span>psql</span> (David Fetter) <a href=\"https://postgr.es/c/02e95a504\">\u00a7</a></p>\n<p>This is like <code>\\echo</code> except that the text is sent to stderr instead of stdout.</p>", "text": "Add \\warn command to psql (David Fetter) \u00a7 This is like \\echo except that the text is sent to stderr instead of stdout.", "title": "Add \\warn command to psql", "commits": ["02e95a504"], "section": "Client Applications / psql", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.10.2", "source_hash": "f85b6de0cdf200d41d92abbd87e0599bf632912be620fcbd51bd63101dc2039d", "section_path": ["Client Applications", "psql"], "commit_groups": [["02e95a504"]], "identity_text": "Add \\warn command to psql (David Fetter) This is like \\echo except that the text is sent to stderr instead of stdout.", "commit_aliases": ["02e95a504"], "source_commits": ["02e95a504"], "source_entry_id": "13.0/changes/111", "db_id": "813d5587edeb1f405d3362668baaddbb", "patch_ids": ["0707e22895d0025c1718a848c8f2c8e5"], "statement_hash": "9f76370b2f5be2419402338cc31bbe905131acc3dc2fdf281e8e6e24ae9fbd80", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-dec738bb3b0ae48c", "migration": false}, {"id": "13.0-5401a54711eeaa50", "cves": [], "html": "<p>Add the <span>PostgreSQL</span> home page to command-line <code>--help</code> output (Peter Eisentraut) <a href=\"https://postgr.es/c/1933ae629\">\u00a7</a></p>", "text": "Add the PostgreSQL home page to command-line --help output (Peter Eisentraut) \u00a7", "title": "Add the PostgreSQL home page to command-line --help output", "commits": ["1933ae629"], "section": "Client Applications / psql", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.10.2", "source_hash": "ad7fdec8f97b9421ad947de3f06032cbf4dd2347e8f2bab12ea007ef9df70267", "section_path": ["Client Applications", "psql"], "commit_groups": [["1933ae629"]], "identity_text": "Add the PostgreSQL home page to command-line --help output (Peter Eisentraut)", "commit_aliases": ["1933ae629"], "source_commits": ["1933ae629"], "source_entry_id": "13.0/changes/112", "db_id": "4b279be72daa29a55090428191f937d6", "patch_ids": ["934bbf6c3edcff254b169ba8d90c564d"], "statement_hash": "6040dcda356a65e72f51044e8030711dc3337413bf7cd400e543026cd5fc31ae", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-5401a54711eeaa50", "migration": false}, {"id": "13.0-2826a4a86a043531", "cves": [], "html": "<p>Allow pgbench to partition its <span>\u201c<span>accounts</span>\u201d</span> table (Fabien Coelho) <a href=\"https://postgr.es/c/b1c1aa531\">\u00a7</a></p>\n<p>This allows performance testing of partitioning.</p>", "text": "Allow pgbench to partition its \u201caccounts\u201d table (Fabien Coelho) \u00a7 This allows performance testing of partitioning.", "title": "Allow pgbench to partition its \u201caccounts\u201d table", "commits": ["b1c1aa531"], "section": "Client Applications / pgbench", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.10.3", "source_hash": "a5d38636a9e6c7d86c32756a19e044c8cb7ce2c7f3f5275333e9a29ece860134", "section_path": ["Client Applications", "pgbench"], "commit_groups": [["b1c1aa531"]], "identity_text": "Allow pgbench to partition its accounts table (Fabien Coelho) This allows performance testing of partitioning.", "commit_aliases": ["b1c1aa531"], "source_commits": ["b1c1aa531"], "source_entry_id": "13.0/changes/113", "db_id": "064e91af88fce042108cacfb8ed313c9", "patch_ids": ["c31078be79e92c2b34f4685aff171b05"], "statement_hash": "96ae3a13edacb89a470b7525d74b2cc8978d357dd34c6eb8dd596c53e97b4cfb", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-2826a4a86a043531", "migration": false}, {"id": "13.0-1cbf59411f24cd3f", "cves": [], "html": "<p>Add pgbench command <code>\\aset</code>, which behaves like <code>\\gset</code>, but for multiple queries (Fabien Coelho) <a href=\"https://postgr.es/c/9d8ef9880\">\u00a7</a></p>", "text": "Add pgbench command \\aset, which behaves like \\gset, but for multiple queries (Fabien Coelho) \u00a7", "title": "Add pgbench command \\aset, which behaves like \\gset, but for multiple queries", "commits": ["9d8ef9880"], "section": "Client Applications / pgbench", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.10.3", "source_hash": "ba5c6c14c09dc55e2407d53f229bcab252b08f6ac6d13fe6210766f7d64af210", "section_path": ["Client Applications", "pgbench"], "commit_groups": [["9d8ef9880"]], "identity_text": "Add pgbench command \\aset, which behaves like \\gset, but for multiple queries (Fabien Coelho)", "commit_aliases": ["9d8ef9880"], "source_commits": ["9d8ef9880"], "source_entry_id": "13.0/changes/114", "db_id": "4c48e00512471ae3e3d0528f701eee7f", "patch_ids": ["512f0fd14a010dfec77b6d8843defd35"], "statement_hash": "7deedbc07f3d40f86dce6dd8a3e706423933ecbf8490a18075e36446a49c3f41", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-1cbf59411f24cd3f", "migration": false}, {"id": "13.0-546ff20e8331882d", "cves": [], "html": "<p>Allow pgbench to generate its initial data server-side, rather than client-side (Fabien Coelho) <a href=\"https://postgr.es/c/a386942bd\">\u00a7</a></p>", "text": "Allow pgbench to generate its initial data server-side, rather than client-side (Fabien Coelho) \u00a7", "title": "Allow pgbench to generate its initial data server-side, rather than client-side", "commits": ["a386942bd"], "section": "Client Applications / pgbench", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.10.3", "source_hash": "43b1b8055199c7d7db103701562927f4bba23bd5cfe92ee5215dae15374c002c", "section_path": ["Client Applications", "pgbench"], "commit_groups": [["a386942bd"]], "identity_text": "Allow pgbench to generate its initial data server-side, rather than client-side (Fabien Coelho)", "commit_aliases": ["a386942bd"], "source_commits": ["a386942bd"], "source_entry_id": "13.0/changes/115", "db_id": "d8a049bdffb6a4c7b1af5bc4fef34349", "patch_ids": ["52d3a39512179aed4a9d17c212e850c6"], "statement_hash": "b548584f4f0145b38775c3d015075e4658c0658cd572238800b0e905f83a45dc", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-546ff20e8331882d", "migration": false}, {"id": "13.0-23327faf5157689e", "cves": [], "html": "<p>Allow pgbench to show script contents using option <code>--show-script</code> (Fabien Coelho) <a href=\"https://postgr.es/c/5823677ac\">\u00a7</a></p>", "text": "Allow pgbench to show script contents using option --show-script (Fabien Coelho) \u00a7", "title": "Allow pgbench to show script contents using option --show-script", "commits": ["5823677ac"], "section": "Client Applications / pgbench", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.10.3", "source_hash": "f76bc8eb89996ffdcbbdca600f766d9afea924b4d3273190ea2844ee9bf0947b", "section_path": ["Client Applications", "pgbench"], "commit_groups": [["5823677ac"]], "identity_text": "Allow pgbench to show script contents using option --show-script (Fabien Coelho)", "commit_aliases": ["5823677ac"], "source_commits": ["5823677ac"], "source_entry_id": "13.0/changes/116", "db_id": "2c12fd852c08737e49d2e52768fffe7b", "patch_ids": ["71858851c64384a8692b5b408e7c36e1"], "statement_hash": "d71971dafce38543c4870455c320cb43dd1dfd114ec58e5e23d2458d73dd402f", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-23327faf5157689e", "migration": false}, {"id": "13.0-08c51a0e3ee70abd", "cves": [], "html": "<p>Generate backup manifests for base backups, and verify them (Robert Haas) <a href=\"https://postgr.es/c/0d8c9c121\">\u00a7</a> <a href=\"https://postgr.es/c/dbc60c559\">\u00a7</a></p>\n<p>A new tool <a href=\"/docs/13/app-pgverifybackup.html\" title=\"pg_verifybackup\"><span>pg_verifybackup</span></a> can verify backups.</p>", "text": "Generate backup manifests for base backups, and verify them (Robert Haas) \u00a7 \u00a7 A new tool pg_verifybackup can verify backups.", "title": "Generate backup manifests for base backups, and verify them", "commits": ["0d8c9c121", "dbc60c559"], "section": "Server Applications", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.11", "source_hash": "ca9a227f3c0a1556f0aa8bbb6b000c3259ec72fadc756887d5790edd6bce5ad2", "section_path": ["Server Applications"], "commit_groups": [["0d8c9c121"], ["dbc60c559"]], "identity_text": "Generate backup manifests for base backups, and verify them (Robert Haas) A new tool pg_verifybackup can verify backups.", "commit_aliases": ["0d8c9c121", "dbc60c559"], "source_commits": ["0d8c9c121", "dbc60c559"], "source_entry_id": "13.0/changes/117", "db_id": "7e168c434b0f06a691ace1ef649379d7", "patch_ids": ["6da64c4453212bb182dc8e0e28205bb5", "ea2237512a068d9c4709b84e1e7070f7"], "statement_hash": "7519c80336ab84aae7decbeed5a137d95c7bc7cfb62ba3410c6a0334b6455b25", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-08c51a0e3ee70abd", "migration": false}, {"id": "13.0-e8194bb3374f1b21", "cves": [], "html": "<p>Have <a href=\"/docs/13/app-pgbasebackup.html\" title=\"pg_basebackup\"><span>pg_basebackup</span></a> estimate the total backup size by default (Fujii Masao) <a href=\"https://postgr.es/c/fab13dc50\">\u00a7</a></p>\n<p>This computation allows <a href=\"/docs/13/monitoring-stats.html#MONITORING-STATS-DYNAMIC-VIEWS-TABLE\" title=\"Table\u00a027.1.\u00a0Dynamic Statistics Views\"><code>pg_stat_progress_basebackup</code></a> to show progress. If that is not needed, it can be disabled by using the <code>--no-estimate-size</code> option. Previously, this computation happened only if the <code>--progress</code> option was used.</p>", "text": "Have pg_basebackup estimate the total backup size by default (Fujii Masao) \u00a7 This computation allows pg_stat_progress_basebackup to show progress. If that is not needed, it can be disabled by using the --no-estimate-size option. Previously, this computation happened only if the --progress option was used.", "title": "Have pg_basebackup estimate the total backup size by default", "commits": ["fab13dc50"], "section": "Server Applications", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.11", "source_hash": "01df6ebf8da29ad1c3ca5010c8bc935f6e30ec60315e5f9f1cce01fbe842c839", "section_path": ["Server Applications"], "commit_groups": [["fab13dc50"]], "identity_text": "Have pg_basebackup estimate the total backup size by default (Fujii Masao) This computation allows pg_stat_progress_basebackup to show progress. If that is not needed, it can be disabled by using the --no-estimate-size option. Previously, this computation happened only if the --progress option was used.", "commit_aliases": ["fab13dc50"], "source_commits": ["fab13dc50"], "source_entry_id": "13.0/changes/118", "db_id": "0bb5356c415061e60ced6e962290ffe5", "patch_ids": ["540361c58acfe19ac2325ab42dcc9076"], "statement_hash": "fa188b2326537bfdf79a358ef702ff6efd39fdab7392d7b76d0e39ecf3099efc", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-e8194bb3374f1b21", "migration": false}, {"id": "13.0-595e36aa1c06409e", "cves": [], "html": "<p>Add an option to <a href=\"/docs/13/app-pgrewind.html\" title=\"pg_rewind\"><span>pg_rewind</span></a> to configure standbys (Paul Guo, Jimmy Yih, Ashwin Agrawal) <a href=\"https://postgr.es/c/927474ce1\">\u00a7</a></p>\n<p>This matches <a href=\"/docs/13/app-pgbasebackup.html\" title=\"pg_basebackup\"><span>pg_basebackup</span></a>'s <code>--write-recovery-conf</code> option.</p>", "text": "Add an option to pg_rewind to configure standbys (Paul Guo, Jimmy Yih, Ashwin Agrawal) \u00a7 This matches pg_basebackup's --write-recovery-conf option.", "title": "Add an option to pg_rewind to configure standbys", "commits": ["927474ce1"], "section": "Server Applications", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.11", "source_hash": "d77b50d781ceae37ecc012d72304b02cd61bd59bceef990f8cd5b6c49dede167", "section_path": ["Server Applications"], "commit_groups": [["927474ce1"]], "identity_text": "Add an option to pg_rewind to configure standbys (Paul Guo, Jimmy Yih, Ashwin Agrawal) This matches pg_basebackup's --write-recovery-conf option.", "commit_aliases": ["927474ce1"], "source_commits": ["927474ce1"], "source_entry_id": "13.0/changes/119", "db_id": "c81836e09d8284a672022348804d8703", "patch_ids": ["013f2b3bee9796b0442805c57079c004"], "statement_hash": "190ae8493da7b8893c42f4c57a5620dbb440d014d5ab1210dace615a5d55cfee", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-595e36aa1c06409e", "migration": false}, {"id": "13.0-4404c23defc61bc7", "cves": [], "html": "<p>Allow <span>pg_rewind</span> to use the target cluster's <a href=\"/docs/13/runtime-config-wal.html#GUC-RESTORE-COMMAND\">restore_command</a> to retrieve needed <acronym>WAL</acronym> (Alexey Kondratov) <a href=\"https://postgr.es/c/a7e8ece41\">\u00a7</a></p>\n<p>This is enabled using the <code>-c</code>/<code>--restore-target-wal</code> option.</p>", "text": "Allow pg_rewind to use the target cluster's restore_command to retrieve needed WAL (Alexey Kondratov) \u00a7 This is enabled using the -c/--restore-target-wal option.", "title": "Allow pg_rewind to use the target cluster's restore_command to retrieve needed WAL", "commits": ["a7e8ece41"], "section": "Server Applications", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.11", "source_hash": "b1f3226599504b7f7dce85fb2c74e2cbe315b4927f994dd62b561314e2e99916", "section_path": ["Server Applications"], "commit_groups": [["a7e8ece41"]], "identity_text": "Allow pg_rewind to use the target cluster's guc-restore-command to retrieve needed WAL (Alexey Kondratov) This is enabled using the -c/--restore-target-wal option.", "commit_aliases": ["a7e8ece41"], "source_commits": ["a7e8ece41"], "source_entry_id": "13.0/changes/120", "db_id": "127393e85fc52ca45ff828df425e6cb9", "patch_ids": ["90bf7f8019d7c178da2a0dab3b0a0358"], "statement_hash": "254f0ad5a56cd23f3a6557190a0d6281db516fb08f78c0d12752d40ff37c4ad3", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-4404c23defc61bc7", "migration": false}, {"id": "13.0-f620a997a4a019d8", "cves": [], "html": "<p>Have <span>pg_rewind</span> automatically run crash recovery before rewinding (Paul Guo, Jimmy Yih, Ashwin Agrawal) <a href=\"https://postgr.es/c/5adafaf17\">\u00a7</a></p>\n<p>This can be disabled by using <code>--no-ensure-shutdown</code>.</p>", "text": "Have pg_rewind automatically run crash recovery before rewinding (Paul Guo, Jimmy Yih, Ashwin Agrawal) \u00a7 This can be disabled by using --no-ensure-shutdown.", "title": "Have pg_rewind automatically run crash recovery before rewinding", "commits": ["5adafaf17"], "section": "Server Applications", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.11", "source_hash": "71b9a404240829f8560b920a9773ddfcc6acc3f2e620f1fb3d5761adb600e1af", "section_path": ["Server Applications"], "commit_groups": [["5adafaf17"]], "identity_text": "Have pg_rewind automatically run crash recovery before rewinding (Paul Guo, Jimmy Yih, Ashwin Agrawal) This can be disabled by using --no-ensure-shutdown.", "commit_aliases": ["5adafaf17"], "source_commits": ["5adafaf17"], "source_entry_id": "13.0/changes/121", "db_id": "dae6fab8823244835e79beb5762727dc", "patch_ids": ["3a523b3840ffe707968392837128382a"], "statement_hash": "2a4c06dd3ba6915a041477d95d7d784d3c07ed77277ab568119cea19ff355706", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-f620a997a4a019d8", "migration": false}, {"id": "13.0-d0fbf7e5ae9dc072", "cves": [], "html": "<p>Increase the <a href=\"/docs/13/sql-prepare-transaction.html\" title=\"PREPARE TRANSACTION\"><code>PREPARE TRANSACTION</code></a>-related information reported by <span>pg_waldump</span> (Fujii Masao) <a href=\"https://postgr.es/c/7b8a899bd\">\u00a7</a></p>", "text": "Increase the PREPARE TRANSACTION-related information reported by pg_waldump (Fujii Masao) \u00a7", "title": "Increase the PREPARE TRANSACTION-related information reported by pg_waldump", "commits": ["7b8a899bd"], "section": "Server Applications", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.11", "source_hash": "531d3b61fc821af6c9fc78f4b2326c88c2095ce7f3ad691c7d0e26e6b58e171a", "section_path": ["Server Applications"], "commit_groups": [["7b8a899bd"]], "identity_text": "Increase the PREPARE TRANSACTION-related information reported by pg_waldump (Fujii Masao)", "commit_aliases": ["7b8a899bd"], "source_commits": ["7b8a899bd"], "source_entry_id": "13.0/changes/122", "db_id": "a492f262d9cfb0d45d07ed5df3c650c9", "patch_ids": ["15ab3009fde5ec973877c61f49b0c259"], "statement_hash": "41c7fc8967b1364b5cb90516594f270405ded4b96d5d2fb57aa679dbbceb3dea", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-d0fbf7e5ae9dc072", "migration": false}, {"id": "13.0-0fc4c14cd39b1fc4", "cves": [], "html": "<p>Add <a href=\"/docs/13/pgwaldump.html\" title=\"pg_waldump\"><span>pg_waldump</span></a> option <code>--quiet</code> to suppress non-error output (Andres Freund, Robert Haas) <a href=\"https://postgr.es/c/ac44367ef\">\u00a7</a></p>", "text": "Add pg_waldump option --quiet to suppress non-error output (Andres Freund, Robert Haas) \u00a7", "title": "Add pg_waldump option --quiet to suppress non-error output", "commits": ["ac44367ef"], "section": "Server Applications", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.11", "source_hash": "4adaab95eeae0d06ed5154b5d99ceec513caf1167ce52f70ce84a0890b5599a3", "section_path": ["Server Applications"], "commit_groups": [["ac44367ef"]], "identity_text": "Add pg_waldump option --quiet to suppress non-error output (Andres Freund, Robert Haas)", "commit_aliases": ["ac44367ef"], "source_commits": ["ac44367ef"], "source_entry_id": "13.0/changes/123", "db_id": "4db4ac3704c57c01ce98e52f2e3d49c4", "patch_ids": ["fde0ac7b09db1f28518afaf2e04daf79"], "statement_hash": "daa4ee9c8332d5fe2f71dee0861e066cf674693fc2d48785bbf6cdded9b30c1f", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-0fc4c14cd39b1fc4", "migration": false}, {"id": "13.0-85f9c36fbce06ba2", "cves": [], "html": "<p>Add <a href=\"/docs/13/app-pgdump.html\" title=\"pg_dump\"><span>pg_dump</span></a> option <code>--include-foreign-data</code> to dump data from foreign servers (Luis Carril) <a href=\"https://postgr.es/c/2f9eb3132\">\u00a7</a></p>", "text": "Add pg_dump option --include-foreign-data to dump data from foreign servers (Luis Carril) \u00a7", "title": "Add pg_dump option --include-foreign-data to dump data from foreign servers", "commits": ["2f9eb3132"], "section": "Server Applications", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.11", "source_hash": "04fc782d2449c883ae9d708b33175fde502b3049ff5b253c82b2cd63728223c0", "section_path": ["Server Applications"], "commit_groups": [["2f9eb3132"]], "identity_text": "Add pg_dump option --include-foreign-data to dump data from foreign servers (Luis Carril)", "commit_aliases": ["2f9eb3132"], "source_commits": ["2f9eb3132"], "source_entry_id": "13.0/changes/124", "db_id": "7502a0c21ed274d416d7bf95a446a099", "patch_ids": ["294f337a9bdd33c74b7af01a6bab37de"], "statement_hash": "ba6ed4357e5dea5c71170aff651b20df43e5d5f631b6e15462deef7afae0d17a", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-85f9c36fbce06ba2", "migration": false}, {"id": "13.0-b0fca38723e49f9d", "cves": [], "html": "<p>Allow vacuum commands run by <a href=\"/docs/13/app-vacuumdb.html\" title=\"vacuumdb\">vacuumdb</a> to operate in parallel mode (Masahiko Sawada) <a href=\"https://postgr.es/c/47bc9ced0\">\u00a7</a></p>\n<p>This is enabled with the new <code>--parallel</code> option.</p>", "text": "Allow vacuum commands run by vacuumdb to operate in parallel mode (Masahiko Sawada) \u00a7 This is enabled with the new --parallel option.", "title": "Allow vacuum commands run by vacuumdb to operate in parallel mode", "commits": ["47bc9ced0"], "section": "Server Applications", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.11", "source_hash": "ffa1f13919233923b250dbc4381e1369122e9901959949b9adacc1e0c359762f", "section_path": ["Server Applications"], "commit_groups": [["47bc9ced0"]], "identity_text": "Allow vacuum commands run by vacuumdb to operate in parallel mode (Masahiko Sawada) This is enabled with the new --parallel option.", "commit_aliases": ["47bc9ced0"], "source_commits": ["47bc9ced0"], "source_entry_id": "13.0/changes/125", "db_id": "402c05753917cfbc3a5668e97094d04d", "patch_ids": ["9d2b1110aecef5f3b08ca256cc9e2f83"], "statement_hash": "9dcdbafd823a76f3ddb51803a97141875b7e8ef25b75324c1b26009a6935e704", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-b0fca38723e49f9d", "migration": false}, {"id": "13.0-8f987dfbc3a7c256", "cves": [], "html": "<p>Allow <a href=\"/docs/13/app-reindexdb.html\" title=\"reindexdb\">reindexdb</a> to operate in parallel (Julien Rouhaud) <a href=\"https://postgr.es/c/5ab892c39\">\u00a7</a></p>\n<p>Parallel mode is enabled with the new <code>--jobs</code> option.</p>", "text": "Allow reindexdb to operate in parallel (Julien Rouhaud) \u00a7 Parallel mode is enabled with the new --jobs option.", "title": "Allow reindexdb to operate in parallel", "commits": ["5ab892c39"], "section": "Server Applications", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.11", "source_hash": "b3604ec243027f102ac27dea02ecf3d5a09717b266a712b401decaa4a57e878e", "section_path": ["Server Applications"], "commit_groups": [["5ab892c39"]], "identity_text": "Allow reindexdb to operate in parallel (Julien Rouhaud) Parallel mode is enabled with the new --jobs option.", "commit_aliases": ["5ab892c39"], "source_commits": ["5ab892c39"], "source_entry_id": "13.0/changes/126", "db_id": "5564f98e3aec38f87a87bfad2bc703e6", "patch_ids": ["5508112f3ec56e0ebfe49b6b4d61991d"], "statement_hash": "257f7d2a1589a7e707d5dfd7e03636de7698fc4984ed6215d69de992c043a863", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-8f987dfbc3a7c256", "migration": false}, {"id": "13.0-53dd35fdbfa49ff5", "cves": [], "html": "<p>Allow <a href=\"/docs/13/app-dropdb.html\" title=\"dropdb\">dropdb</a> to disconnect sessions using the target database, allowing the drop to succeed (Pavel Stehule) <a href=\"https://postgr.es/c/80e05a088\">\u00a7</a></p>\n<p>This is enabled with the <code>-f</code> option.</p>", "text": "Allow dropdb to disconnect sessions using the target database, allowing the drop to succeed (Pavel Stehule) \u00a7 This is enabled with the -f option.", "title": "Allow dropdb to disconnect sessions using the target database, allowing the drop to succeed", "commits": ["80e05a088"], "section": "Server Applications", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.11", "source_hash": "7253fe30d61e920a61d957945fed99bb5618381c8b9879b14ee10f8e8e5c6318", "section_path": ["Server Applications"], "commit_groups": [["80e05a088"]], "identity_text": "Allow dropdb to disconnect sessions using the target database, allowing the drop to succeed (Pavel Stehule) This is enabled with the -f option.", "commit_aliases": ["80e05a088"], "source_commits": ["80e05a088"], "source_entry_id": "13.0/changes/127", "db_id": "7e96281f713a4f0d3c43b3acde368e29", "patch_ids": ["6da5ec84077823de20ae3e34a0b3cbd1"], "statement_hash": "43a5ffb1e6fa2532691d32ea92947055f381b812211db7b746342a3ff691c52c", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-53dd35fdbfa49ff5", "migration": false}, {"id": "13.0-308a797e5018f7b7", "cves": [], "html": "<p>Remove <code>--adduser</code> and <code>--no-adduser</code> from <a href=\"/docs/13/app-createuser.html\" title=\"createuser\">createuser</a> (Alexander Lakhin) <a href=\"https://postgr.es/c/4fa5edcd1\">\u00a7</a></p>\n<p>The long-supported preferred options for this are called <code>--superuser</code> and <code>--no-superuser</code>.</p>", "text": "Remove --adduser and --no-adduser from createuser (Alexander Lakhin) \u00a7 The long-supported preferred options for this are called --superuser and --no-superuser.", "title": "Remove --adduser and --no-adduser from createuser", "commits": ["4fa5edcd1"], "section": "Server Applications", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.11", "source_hash": "417c9b74156bcef451fd8eac7bdf35549151c11b94abfbce447ad9e88038afe2", "section_path": ["Server Applications"], "commit_groups": [["4fa5edcd1"]], "identity_text": "Remove --adduser and --no-adduser from createuser (Alexander Lakhin) The long-supported preferred options for this are called --superuser and --no-superuser.", "commit_aliases": ["4fa5edcd1"], "source_commits": ["4fa5edcd1"], "source_entry_id": "13.0/changes/128", "db_id": "2f280684b54d39c046174c8ec6ae34a0", "patch_ids": ["b9988226a12e38899b83c17aeb1fff37"], "statement_hash": "64ed9c14f1aa97944992a8a6e9f2162460fe7514640cce37a4a7f9ea902f5c22", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-308a797e5018f7b7", "migration": false}, {"id": "13.0-bf0e231639e94d32", "cves": [], "html": "<p>Use the directory of the <a href=\"/docs/13/pgupgrade.html\" title=\"pg_upgrade\"><span>pg_upgrade</span></a> program as the default <code>--new-bindir</code> setting when running <span>pg_upgrade</span> (Daniel Gustafsson) <a href=\"https://postgr.es/c/959f6d6a1\">\u00a7</a></p>", "text": "Use the directory of the pg_upgrade program as the default --new-bindir setting when running pg_upgrade (Daniel Gustafsson) \u00a7", "title": "Use the directory of the pg_upgrade program as the default --new-bindir setting when running pg_upgrade", "commits": ["959f6d6a1"], "section": "Server Applications", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.11", "source_hash": "9e37881c2ac05f5383929c1cc3399ed7cced4bef23642d10a5ff2cf1b74abb4d", "section_path": ["Server Applications"], "commit_groups": [["959f6d6a1"]], "identity_text": "Use the directory of the pg_upgrade program as the default --new-bindir setting when running pg_upgrade (Daniel Gustafsson)", "commit_aliases": ["959f6d6a1"], "source_commits": ["959f6d6a1"], "source_entry_id": "13.0/changes/129", "db_id": "9a2c556f22dd2563302a986ad83d9ba9", "patch_ids": ["47cf7ffecb000faaf897105071a91101"], "statement_hash": "796b43d1c7b5ad73d5d1a6021ec6d510dd0633b0e0c32120e800b20c483f8b89", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-bf0e231639e94d32", "migration": false}, {"id": "13.0-4f5f16726ed6d87d", "cves": [], "html": "<p>Add a <a href=\"/docs/13/glossary.html\" title=\"Appendix\u00a0M.\u00a0Glossary\">glossary</a> to the documentation (Corey Huinker, J\u00fcrgen Purtz, Roger Harkavy, \u00c1lvaro Herrera) <a href=\"https://postgr.es/c/347d2b07f\">\u00a7</a></p>", "text": "Add a glossary to the documentation (Corey Huinker, J\u00fcrgen Purtz, Roger Harkavy, \u00c1lvaro Herrera) \u00a7", "title": "Add a glossary to the documentation", "commits": ["347d2b07f"], "section": "Documentation", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.12", "source_hash": "37adbae3b11977d931c014ce0b77e2cd51a5b3bf71a7378b0d9c0bdb66d9dd96", "section_path": ["Documentation"], "commit_groups": [["347d2b07f"]], "identity_text": "Add a glossary to the documentation (Corey Huinker, J\u00fcrgen Purtz, Roger Harkavy, \u00c1lvaro Herrera)", "commit_aliases": ["347d2b07f"], "source_commits": ["347d2b07f"], "source_entry_id": "13.0/changes/130", "db_id": "2240fd9dfe6b4dc32875c5bf072b8098", "patch_ids": ["65034c8fc7cdbd3cb42d9e839ee218e2"], "statement_hash": "e1f3a24249d42323b50a6e41095e028ef548928e7787052fffa6c70ef55de59a", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-4f5f16726ed6d87d", "migration": false}, {"id": "13.0-ce7dd9c36dc7aef2", "cves": [], "html": "<p>Reformat tables containing <a href=\"/docs/13/functions.html\" title=\"Chapter\u00a09.\u00a0Functions and Operators\">function and operator information</a> for better clarity (Tom Lane) <a href=\"https://postgr.es/c/e894c6183\">\u00a7</a></p>", "text": "Reformat tables containing function and operator information for better clarity (Tom Lane) \u00a7", "title": "Reformat tables containing function and operator information for better clarity", "commits": ["e894c6183"], "section": "Documentation", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.12", "source_hash": "ac7090c930e1b84faee3fcd46d2ebbe355dfddff54e7b59190df7caa0a907a7e", "section_path": ["Documentation"], "commit_groups": [["e894c6183"]], "identity_text": "Reformat tables containing function and operator information for better clarity (Tom Lane)", "commit_aliases": ["e894c6183"], "source_commits": ["e894c6183"], "source_entry_id": "13.0/changes/131", "db_id": "f69910a35b7439f8fa9ce317d2b9251e", "patch_ids": ["8e680b8aca8108fea9462f08ad794d90"], "statement_hash": "8ea9d80e34ddc46ed942be2a7330b98a427fa0d1fa1c650a731eab0361f4f4e4", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-ce7dd9c36dc7aef2", "migration": false}, {"id": "13.0-08253fca1cf22b0e", "cves": [], "html": "<p>Upgrade to use <a href=\"/docs/13/docguide-docbook.html\" title=\"J.1.\u00a0DocBook\">DocBook 4.5</a> (Peter Eisentraut) <a href=\"https://postgr.es/c/416c75cf3\">\u00a7</a></p>", "text": "Upgrade to use DocBook 4.5 (Peter Eisentraut) \u00a7", "title": "Upgrade to use DocBook 4.5", "commits": ["416c75cf3"], "section": "Documentation", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.12", "source_hash": "7431cf194031abf6ca9e87aff2b7d5c3c26611f265da0183921b95195615d351", "section_path": ["Documentation"], "commit_groups": [["416c75cf3"]], "identity_text": "Upgrade to use DocBook 4.5 (Peter Eisentraut)", "commit_aliases": ["416c75cf3"], "source_commits": ["416c75cf3"], "source_entry_id": "13.0/changes/132", "db_id": "bf061c98a7ea40e51d14c03e137e4732", "patch_ids": ["cc25551a4108902bf884d70829608d8a"], "statement_hash": "af9ec1e59738ec44bfe8a6a6764c46949be80af7475906660de5bef31cb38ef5", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-08253fca1cf22b0e", "migration": false}, {"id": "13.0-a7359873726eaf5e", "cves": [], "html": "<p>Add support for building on Visual Studio 2019 (Haribabu Kommi) <a href=\"https://postgr.es/c/2b1394fc2\">\u00a7</a></p>", "text": "Add support for building on Visual Studio 2019 (Haribabu Kommi) \u00a7", "title": "Add support for building on Visual Studio 2019", "commits": ["2b1394fc2"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.13", "source_hash": "e2fb2e0bbca80a8de1683e4ed9189cf2cc74e044fc3d1e3430926f53fec95223", "section_path": ["Source Code"], "commit_groups": [["0ce8e49b2", "2b1394fc2", "3337fd192", "721963f24", "78aaffd28", "d49c127d9", "f2d069ce9"]], "identity_text": "Add support for building on Visual Studio 2019 (Haribabu Kommi)", "commit_aliases": ["0ce8e49b2", "2b1394fc2", "3337fd192", "721963f24", "78aaffd28", "d49c127d9", "f2d069ce9"], "source_commits": ["2b1394fc2"], "source_entry_id": "13.0/changes/133", "db_id": "1db6a4dc5fd31f460b731b1b06a65ee3", "patch_ids": ["607ec5d7e45d9dcaeb220656b8fadb2c"], "statement_hash": "481b1aff61124bb29e863026ed09b4adb38f03e95ca1f3d448c868977775d623", "relations": [{"rule": 2, "type": "related", "target": "0e81425d9ba9c954cffb7949ff2b81c0", "evidence": {"same_day": false, "patch_ids": ["607ec5d7e45d9dcaeb220656b8fadb2c"]}}, {"rule": 2, "type": "related", "target": "21e7e56d3db692178fb7d0bd54fe6e57", "evidence": {"same_day": false, "patch_ids": ["607ec5d7e45d9dcaeb220656b8fadb2c"]}}, {"rule": 2, "type": "related", "target": "4b8c493fb7f376ba153f22dbdad54767", "evidence": {"same_day": false, "patch_ids": ["607ec5d7e45d9dcaeb220656b8fadb2c"]}}, {"rule": 2, "type": "related", "target": "632436228109ad3b9a3483b7759ec462", "evidence": {"same_day": false, "patch_ids": ["607ec5d7e45d9dcaeb220656b8fadb2c"]}}, {"rule": 2, "type": "related", "target": "f70b8de3c87cd0730cef6bf5df43d9ae", "evidence": {"same_day": false, "patch_ids": ["607ec5d7e45d9dcaeb220656b8fadb2c"]}}], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-a7359873726eaf5e", "migration": false}, {"id": "13.0-2e6dcb83987cf853", "cves": [], "html": "<p>Add build support for MSYS2 (Peter Eisentraut) <a href=\"https://postgr.es/c/e975c1a60\">\u00a7</a></p>", "text": "Add build support for MSYS2 (Peter Eisentraut) \u00a7", "title": "Add build support for MSYS2", "commits": ["e975c1a60"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.13", "source_hash": "6da6784a968148eba20483e3efdec1672be76123dca73d3a154de9500513ac7f", "section_path": ["Source Code"], "commit_groups": [["e975c1a60"]], "identity_text": "Add build support for MSYS2 (Peter Eisentraut)", "commit_aliases": ["e975c1a60"], "source_commits": ["e975c1a60"], "source_entry_id": "13.0/changes/134", "db_id": "370f422ca6be7838ad4f7fbefcca9e00", "patch_ids": ["a222cb0a884ea510345ee54c176cd3de"], "statement_hash": "8861fe3f276b193a7729f27367de147395219662d5fc4c5ad5287a8e900b9d76", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-2e6dcb83987cf853", "migration": false}, {"id": "13.0-31d9eb4b973ba658", "cves": [], "html": "<p>Add compare_exchange and fetch_add assembly language code for Power PC compilers (Noah Misch) <a href=\"https://postgr.es/c/30ee5d17c\">\u00a7</a></p>", "text": "Add compare_exchange and fetch_add assembly language code for Power PC compilers (Noah Misch) \u00a7", "title": "Add compare_exchange and fetch_add assembly language code for Power PC compilers", "commits": ["30ee5d17c"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.13", "source_hash": "255590438a184c91540dbfb26f3552d43df63b9ad061299280d2f2b98bdd1462", "section_path": ["Source Code"], "commit_groups": [["30ee5d17c"]], "identity_text": "Add compare_exchange and fetch_add assembly language code for Power PC compilers (Noah Misch)", "commit_aliases": ["30ee5d17c"], "source_commits": ["30ee5d17c"], "source_entry_id": "13.0/changes/135", "db_id": "15cb8a42f97fccc83cdd627e7c6a54ef", "patch_ids": ["eef117609fcb36e5f6c4ef7593d69309"], "statement_hash": "2fad93aeacc0b91105fedb50bb3cb2a2ed163b4e9bbc7fe07873fe3d37ef4781", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-31d9eb4b973ba658", "migration": false}, {"id": "13.0-4d3358e5ef07f2ab", "cves": [], "html": "<p>Update <a href=\"/docs/13/textsearch-dictionaries.html#TEXTSEARCH-SNOWBALL-DICTIONARY\" title=\"12.6.6.\u00a0Snowball Dictionary\">Snowball stemmer</a> dictionaries used by full text search (Panagiotis Mavrogiorgos) <a href=\"https://postgr.es/c/7b925e127\">\u00a7</a></p>\n<p>This adds Greek stemming and improves Danish and French stemming.</p>", "text": "Update Snowball stemmer dictionaries used by full text search (Panagiotis Mavrogiorgos) \u00a7 This adds Greek stemming and improves Danish and French stemming.", "title": "Update Snowball stemmer dictionaries used by full text search", "commits": ["7b925e127"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.13", "source_hash": "8e99b77e06e86d319d0355af9ebad8ce515900c6a69953dd0737e953e666dd29", "section_path": ["Source Code"], "commit_groups": [["7b925e127"]], "identity_text": "Update Snowball stemmer dictionaries used by full text search (Panagiotis Mavrogiorgos) This adds Greek stemming and improves Danish and French stemming.", "commit_aliases": ["7b925e127"], "source_commits": ["7b925e127"], "source_entry_id": "13.0/changes/136", "db_id": "0c3c005c0137b4f6e3f7e103610a9af9", "patch_ids": ["87fca4c3a8b8d97b0599c970f30a03f4"], "statement_hash": "454366a0ef64e015a2dd858db9bf5ea4f7611c40e672656b77f379d114432e12", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-4d3358e5ef07f2ab", "migration": false}, {"id": "13.0-039d8b5cb15698d7", "cves": [], "html": "<p>Remove support for Windows 2000 (Michael Paquier) <a href=\"https://postgr.es/c/e2e02191e\">\u00a7</a></p>", "text": "Remove support for Windows 2000 (Michael Paquier) \u00a7", "title": "Remove support for Windows 2000", "commits": ["e2e02191e"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.13", "source_hash": "d826258d64a2c8f0c649e1cd3b757d7367105100a84abda2cd5a1b13817796ba", "section_path": ["Source Code"], "commit_groups": [["e2e02191e"]], "identity_text": "Remove support for Windows 2000 (Michael Paquier)", "commit_aliases": ["e2e02191e"], "source_commits": ["e2e02191e"], "source_entry_id": "13.0/changes/137", "db_id": "6a1c31c14dc67c9c187a4251eb651989", "patch_ids": ["73e715ecae5c63c09956fae4bba397a4"], "statement_hash": "13839f479a004b762e41ff36cb7133d1c78d1bea4104ee6c9503902cd18826e5", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-039d8b5cb15698d7", "migration": false}, {"id": "13.0-0e761fd1cd18fa07", "cves": [], "html": "<p>Remove support for non-<acronym>ELF</acronym> <acronym>BSD</acronym> systems (Peter Eisentraut) <a href=\"https://postgr.es/c/c72f9b950\">\u00a7</a></p>", "text": "Remove support for non-ELF BSD systems (Peter Eisentraut) \u00a7", "title": "Remove support for non-ELF BSD systems", "commits": ["c72f9b950"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.13", "source_hash": "0ee65b16d886d8e37ac884832f4b829954d1722baed261d76e072a3ca787ddb8", "section_path": ["Source Code"], "commit_groups": [["c72f9b950"]], "identity_text": "Remove support for non-ELF BSD systems (Peter Eisentraut)", "commit_aliases": ["c72f9b950"], "source_commits": ["c72f9b950"], "source_entry_id": "13.0/changes/138", "db_id": "bbd4151cda8896a6c73f9c6e165f76fa", "patch_ids": ["a0c8bd40d481c1fc24ce4a75eced5e6a"], "statement_hash": "5a6aa6ace7eaeb47a37ccd2a31f570ac010c52315807dca44ca583edc51adf6f", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-0e761fd1cd18fa07", "migration": false}, {"id": "13.0-d7c49977cb5a2c98", "cves": [], "html": "<p>Remove <a href=\"/docs/13/plpython.html\" title=\"Chapter\u00a045.\u00a0PL/Python \u2014 Python Procedural Language\">support</a> for Python versions 2.5.X and earlier (Peter Eisentraut) <a href=\"https://postgr.es/c/37f21ed13\">\u00a7</a></p>", "text": "Remove support for Python versions 2.5.X and earlier (Peter Eisentraut) \u00a7", "title": "Remove support for Python versions 2.5.X and earlier", "commits": ["37f21ed13"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.13", "source_hash": "a5fee622f4138694914aff897cc2f3fb250aee508d28cdcf72daa7129b16adaa", "section_path": ["Source Code"], "commit_groups": [["37f21ed13"]], "identity_text": "Remove support for Python versions 2.5.X and earlier (Peter Eisentraut)", "commit_aliases": ["37f21ed13"], "source_commits": ["37f21ed13"], "source_entry_id": "13.0/changes/139", "db_id": "acbb5cfb620aa45879b0b12b85775290", "patch_ids": ["12eb5ae6d1e0e8a4ebad01b5cd118bbb"], "statement_hash": "44ccd7ce3c944936a762ce3bae99bf632a27c7529b259f51e9e7e924fd763dee", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-d7c49977cb5a2c98", "migration": false}, {"id": "13.0-429155b3e5bca07a", "cves": [], "html": "<p>Remove <a href=\"/docs/13/install-short.html\" title=\"16.1.\u00a0Short Version\">support</a> for OpenSSL 0.9.8 and 1.0.0 (Michael Paquier) <a href=\"https://postgr.es/c/7b283d0e1\">\u00a7</a></p>", "text": "Remove support for OpenSSL 0.9.8 and 1.0.0 (Michael Paquier) \u00a7", "title": "Remove support for OpenSSL 0.9.8 and 1.0.0", "commits": ["7b283d0e1"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.13", "source_hash": "bd03c8f1ce2eb4ba45779d5a12bc04630cdeff1432f80ea63153b061be29f221", "section_path": ["Source Code"], "commit_groups": [["7b283d0e1"]], "identity_text": "Remove support for OpenSSL 0.9.8 and 1.0.0 (Michael Paquier)", "commit_aliases": ["7b283d0e1"], "source_commits": ["7b283d0e1"], "source_entry_id": "13.0/changes/140", "db_id": "e816cdaf6407b8bb526aaf8a8059439e", "patch_ids": ["5675f3e49bb5093ef339f9034032d537"], "statement_hash": "6bf158447308f0405867ba0f8e74897340e29fb76b7199dc170e9b9199389e61", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-429155b3e5bca07a", "migration": false}, {"id": "13.0-e6d37220a1ffaae5", "cves": [], "html": "<p>Remove <a href=\"/docs/13/install-short.html\" title=\"16.1.\u00a0Short Version\">configure</a> options <code>--disable-float8-byval</code> and <code>--disable-float4-byval</code> (Peter Eisentraut) <a href=\"https://postgr.es/c/4513d8b07\">\u00a7</a> <a href=\"https://postgr.es/c/2e4db241b\">\u00a7</a></p>\n<p>These were needed for compatibility with some version-zero C functions, but those are no longer supported.</p>", "text": "Remove configure options --disable-float8-byval and --disable-float4-byval (Peter Eisentraut) \u00a7 \u00a7 These were needed for compatibility with some version-zero C functions, but those are no longer supported.", "title": "Remove configure options --disable-float8-byval and --disable-float4-byval", "commits": ["2e4db241b", "4513d8b07"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.13", "source_hash": "5d4709133c6411130ae0ae01c76fb76a6a21dec287fc4e0f0418e01acaf48536", "section_path": ["Source Code"], "commit_groups": [["2e4db241b"], ["4513d8b07"]], "identity_text": "Remove configure options --disable-float8-byval and --disable-float4-byval (Peter Eisentraut) These were needed for compatibility with some version-zero C functions, but those are no longer supported.", "commit_aliases": ["2e4db241b", "4513d8b07"], "source_commits": ["2e4db241b", "4513d8b07"], "source_entry_id": "13.0/changes/141", "db_id": "c1b496f2458af3a94ba223eff21c1362", "patch_ids": ["585b70c91cf2f1c95454b7ac7e9fed04", "84ce571e5a93a239d3cc7d06a19e8edd"], "statement_hash": "d38171c935857423547798c35f561acd76586d907b9023259abd4ecd4f7e05df", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-e6d37220a1ffaae5", "migration": false}, {"id": "13.0-1f4bed0f7b28f868", "cves": [], "html": "<p>Pass the query string to planner hook functions (Pascal Legrand, Julien Rouhaud) <a href=\"https://postgr.es/c/6aba63ef3\">\u00a7</a></p>", "text": "Pass the query string to planner hook functions (Pascal Legrand, Julien Rouhaud) \u00a7", "title": "Pass the query string to planner hook functions", "commits": ["6aba63ef3"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.13", "source_hash": "6c15c7562ae972bac196cf42835ba1f7719a21b5890d44a681c6f2ce6a14e1ab", "section_path": ["Source Code"], "commit_groups": [["6aba63ef3"]], "identity_text": "Pass the query string to planner hook functions (Pascal Legrand, Julien Rouhaud)", "commit_aliases": ["6aba63ef3"], "source_commits": ["6aba63ef3"], "source_entry_id": "13.0/changes/142", "db_id": "dc6fed588e14e6d9c861d11ef45909a3", "patch_ids": ["5218616d82ff64d233870e404adfee5c"], "statement_hash": "a450489572fa0be4d6e23b5cdf965953ef61bbc532c33e5338618484d58a3952", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-1f4bed0f7b28f868", "migration": false}, {"id": "13.0-57070787301898dc", "cves": [], "html": "<p>Add <a href=\"/docs/13/sql-truncate.html\" title=\"TRUNCATE\"><code>TRUNCATE</code></a> command hook (Yuli Khodorkovskiy) <a href=\"https://postgr.es/c/f7a2002e8\">\u00a7</a></p>", "text": "Add TRUNCATE command hook (Yuli Khodorkovskiy) \u00a7", "title": "Add TRUNCATE command hook", "commits": ["f7a2002e8"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.13", "source_hash": "a27fe6a9dcc25613ddf0714832ba38f8501f3662cc3075f8e036488bb4979fba", "section_path": ["Source Code"], "commit_groups": [["f7a2002e8"]], "identity_text": "Add TRUNCATE command hook (Yuli Khodorkovskiy)", "commit_aliases": ["f7a2002e8"], "source_commits": ["f7a2002e8"], "source_entry_id": "13.0/changes/143", "db_id": "12634bf42bf7c37f12281d00068d24b5", "patch_ids": ["d713701145e90dce7ef4f578f3096a4c"], "statement_hash": "bf5fda4992541663bb51a8d3d3ccf6c0b1eb3596d8c33a52becc6c093ad45bcf", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-57070787301898dc", "migration": false}, {"id": "13.0-c41501dea8bb8bae", "cves": [], "html": "<p>Add <acronym>TLS</acronym> init hook (Andrew Dunstan) <a href=\"https://postgr.es/c/896fcdb23\">\u00a7</a></p>", "text": "Add TLS init hook (Andrew Dunstan) \u00a7", "title": "Add TLS init hook", "commits": ["896fcdb23"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.13", "source_hash": "1256699ad51ed30cf523d556a7b44d675945090135410d2789d9cf92dc7506ac", "section_path": ["Source Code"], "commit_groups": [["896fcdb23"]], "identity_text": "Add TLS init hook (Andrew Dunstan)", "commit_aliases": ["896fcdb23"], "source_commits": ["896fcdb23"], "source_entry_id": "13.0/changes/144", "db_id": "7924824da56b15ba8ad07d040c105e52", "patch_ids": ["59f92279b9435b581feb8f5e6f0b8ca6"], "statement_hash": "b7bb72c21c01704790b65028ad5b683adbda8b01d0aa1b792dfccfd01daac91a", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-c41501dea8bb8bae", "migration": false}, {"id": "13.0-56e716f4540bbccd", "cves": [], "html": "<p>Allow building with no predefined Unix-domain socket directory (Peter Eisentraut) <a href=\"https://postgr.es/c/a9cff89f7\">\u00a7</a></p>", "text": "Allow building with no predefined Unix-domain socket directory (Peter Eisentraut) \u00a7", "title": "Allow building with no predefined Unix-domain socket directory", "commits": ["a9cff89f7"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.13", "source_hash": "71b20597c6eaf4d27a7663159269e3f4847522c4e6d9865c99cb76b460c4b566", "section_path": ["Source Code"], "commit_groups": [["a9cff89f7"]], "identity_text": "Allow building with no predefined Unix-domain socket directory (Peter Eisentraut)", "commit_aliases": ["a9cff89f7"], "source_commits": ["a9cff89f7"], "source_entry_id": "13.0/changes/145", "db_id": "e330e1db883ac8c39801eb2c59c34ea4", "patch_ids": ["c701d482df08c3651cec820cef231962"], "statement_hash": "9301f64264dc830d6b2ea15780df4a01191dac3d5d3248b9877e38473f998bec", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-56e716f4540bbccd", "migration": false}, {"id": "13.0-bf2f54ffdfa20f7b", "cves": [], "html": "<p>Reduce the probability of SysV resource key collision on Unix platforms (Tom Lane) <a href=\"https://postgr.es/c/7de19fbc0\">\u00a7</a></p>", "text": "Reduce the probability of SysV resource key collision on Unix platforms (Tom Lane) \u00a7", "title": "Reduce the probability of SysV resource key collision on Unix platforms", "commits": ["7de19fbc0"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.13", "source_hash": "9a7f57141b86bd7a614154dc366ed846cd039386427dd4b1fd50a1ad5aa9b073", "section_path": ["Source Code"], "commit_groups": [["7de19fbc0"]], "identity_text": "Reduce the probability of SysV resource key collision on Unix platforms (Tom Lane)", "commit_aliases": ["7de19fbc0"], "source_commits": ["7de19fbc0"], "source_entry_id": "13.0/changes/146", "db_id": "07e16210a12341289ce3fe2be7322aba", "patch_ids": ["2dbfea94d296ec2e8807f887d180bb9d"], "statement_hash": "4cd5308e87b99af23099513276a18d63676ce880fc435fae7b4e519b7c6f392c", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-bf2f54ffdfa20f7b", "migration": false}, {"id": "13.0-b4d426c595f324c7", "cves": [], "html": "<p>Use operating system functions to reliably erase memory that contains sensitive information (Peter Eisentraut) <a href=\"https://postgr.es/c/74a308cf5\">\u00a7</a></p>\n<p>For example, this is used for clearing passwords stored in memory.</p>", "text": "Use operating system functions to reliably erase memory that contains sensitive information (Peter Eisentraut) \u00a7 For example, this is used for clearing passwords stored in memory.", "title": "Use operating system functions to reliably erase memory that contains sensitive information", "commits": ["74a308cf5"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.13", "source_hash": "51c505a954d65e7c2a216353d0dd8ae47515d27123f41329eb7eb5d5073632b0", "section_path": ["Source Code"], "commit_groups": [["74a308cf5"]], "identity_text": "Use operating system functions to reliably erase memory that contains sensitive information (Peter Eisentraut) For example, this is used for clearing passwords stored in memory.", "commit_aliases": ["74a308cf5"], "source_commits": ["74a308cf5"], "source_entry_id": "13.0/changes/147", "db_id": "09341b3c48612368dc02e043f6c89402", "patch_ids": ["7a43a16c83f9718468bbad7ec76fe898"], "statement_hash": "d0165d965bce608050bd67ef9b1c375bb4242840595bed14a3b8ca5df919290e", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-b4d426c595f324c7", "migration": false}, {"id": "13.0-b6a5c0b7cb5d0b41", "cves": [], "html": "<p>Add <code>headerscheck</code> script to test C header-file compatibility (Tom Lane) <a href=\"https://postgr.es/c/55ea10918\">\u00a7</a></p>", "text": "Add headerscheck script to test C header-file compatibility (Tom Lane) \u00a7", "title": "Add headerscheck script to test C header-file compatibility", "commits": ["55ea10918"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.13", "source_hash": "7cbd2d1d29506fa01124bf69fe30107f7128542773bd5d8822b36ca140e214a5", "section_path": ["Source Code"], "commit_groups": [["55ea10918"]], "identity_text": "Add headerscheck script to test C header-file compatibility (Tom Lane)", "commit_aliases": ["55ea10918"], "source_commits": ["55ea10918"], "source_entry_id": "13.0/changes/148", "db_id": "afa2774ba9f4eade0c95a06376593244", "patch_ids": ["2970515369d62c50cf4e330944de60ff"], "statement_hash": "6b0443a9b008d56dc17e11c7ddf2a344b342c05f3f8470c27bf04b8d9796d70a", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-b6a5c0b7cb5d0b41", "migration": false}, {"id": "13.0-59618c22163b18c6", "cves": [], "html": "<p>Implement internal lists as arrays, rather than a chain of cells (Tom Lane) <a href=\"https://postgr.es/c/1cff1b95a\">\u00a7</a></p>\n<p>This improves performance for queries that access many objects.</p>", "text": "Implement internal lists as arrays, rather than a chain of cells (Tom Lane) \u00a7 This improves performance for queries that access many objects.", "title": "Implement internal lists as arrays, rather than a chain of cells", "commits": ["1cff1b95a"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.13", "source_hash": "97379c0a18578f43de9968e4883627e462d1cb65a0af79b9b24b09b775fc4a02", "section_path": ["Source Code"], "commit_groups": [["1cff1b95a"]], "identity_text": "Implement internal lists as arrays, rather than a chain of cells (Tom Lane) This improves performance for queries that access many objects.", "commit_aliases": ["1cff1b95a"], "source_commits": ["1cff1b95a"], "source_entry_id": "13.0/changes/149", "db_id": "6c0132cf968ad5627ce8cd83f77457a0", "patch_ids": ["208c2f9eb2b7167d3fa9173057b469c3"], "statement_hash": "caf9801dd9b374f965a91b2f2c196ad9579a47681d86dc3192a2504080f17611", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-59618c22163b18c6", "migration": false}, {"id": "13.0-664b3342b60bcdb5", "cves": [], "html": "<p>Change the API for <code>TS_execute()</code> (Tom Lane, Pavel Borisov) <a href=\"https://postgr.es/c/92fe6895d\">\u00a7</a> <a href=\"https://postgr.es/c/70eca6a9a\">\u00a7</a></p>\n<p><code>TS_execute</code> callbacks must now provide ternary (yes/no/maybe) logic. Calculating NOT queries accurately is now the default.</p>", "text": "Change the API for TS_execute() (Tom Lane, Pavel Borisov) \u00a7 \u00a7 TS_execute callbacks must now provide ternary (yes/no/maybe) logic. Calculating NOT queries accurately is now the default.", "title": "Change the API for TS_execute()", "commits": ["70eca6a9a", "92fe6895d"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.13", "source_hash": "033ea1cb930dc6cde616ee6321cbfe9aaab7f7ee2afbb977d786af31edf84790", "section_path": ["Source Code"], "commit_groups": [["70eca6a9a"], ["92fe6895d"]], "identity_text": "Change the API for TS_execute() (Tom Lane, Pavel Borisov) TS_execute callbacks must now provide ternary (yes/no/maybe) logic. Calculating NOT queries accurately is now the default.", "commit_aliases": ["70eca6a9a", "92fe6895d"], "source_commits": ["70eca6a9a", "92fe6895d"], "source_entry_id": "13.0/changes/150", "db_id": "0064c983de34fa708629d862de1c76c8", "patch_ids": ["16cb724676b10026a01a3b8e1e64e9a0", "779c94bac88b432128cc8037d7548c2e"], "statement_hash": "0d04a7f46f651390631b3e048898ede9cbef7abd4fecb038f51bf471d4f79426", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-664b3342b60bcdb5", "migration": false}, {"id": "13.0-d77f342b6284378f", "cves": [], "html": "<p>Allow <a href=\"/docs/13/sql-createextension.html\" title=\"CREATE EXTENSION\">extensions</a> to be specified as trusted (Tom Lane) <a href=\"https://postgr.es/c/50fc694e4\">\u00a7</a></p>\n<p>Such extensions can be installed in a database by users with database-level <code>CREATE</code> privileges, even if they are not superusers. This change also removes the <code>pg_pltemplate</code> system catalog.</p>", "text": "Allow extensions to be specified as trusted (Tom Lane) \u00a7 Such extensions can be installed in a database by users with database-level CREATE privileges, even if they are not superusers. This change also removes the pg_pltemplate system catalog.", "title": "Allow extensions to be specified as trusted", "commits": ["50fc694e4"], "section": "Additional Modules", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.14", "source_hash": "563675a14bd6d9ae39f9ee65d4b43e16bd1255934a10551f9954adb49cb4b854", "section_path": ["Additional Modules"], "commit_groups": [["50fc694e4"]], "identity_text": "Allow extensions to be specified as trusted (Tom Lane) Such extensions can be installed in a database by users with database-level CREATE privileges, even if they are not superusers. This change also removes the pg_pltemplate system catalog.", "commit_aliases": ["50fc694e4"], "source_commits": ["50fc694e4"], "source_entry_id": "13.0/changes/151", "db_id": "8b076c285c8a78e6af9aab2947565079", "patch_ids": ["7076d99d9291dfce070ea0831c6fecfd"], "statement_hash": "84d40697540d974b09e0a841d209176d1f2a1007cd6c3856481d20a919b7f090", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-d77f342b6284378f", "migration": false}, {"id": "13.0-2265156eb96abff9", "cves": [], "html": "<p>Allow non-superusers to connect to <a href=\"/docs/13/postgres-fdw.html\" title=\"F.33.\u00a0postgres_fdw\">postgres_fdw</a> foreign servers without using a password (Craig Ringer) <a href=\"https://postgr.es/c/6136e94dc\">\u00a7</a></p>\n<p>Specifically, allow a superuser to set <code>password_required</code> to false for a <a href=\"/docs/13/sql-alterusermapping.html\" title=\"ALTER USER MAPPING\">user mapping</a>. Care must still be taken to prevent non-superusers from using superuser credentials to connect to the foreign server.</p>", "text": "Allow non-superusers to connect to postgres_fdw foreign servers without using a password (Craig Ringer) \u00a7 Specifically, allow a superuser to set password_required to false for a user mapping. Care must still be taken to prevent non-superusers from using superuser credentials to connect to the foreign server.", "title": "Allow non-superusers to connect to postgres_fdw foreign servers without using a password", "commits": ["6136e94dc"], "section": "Additional Modules", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.14", "source_hash": "8a5a09c9e0a1fdaed16ca9e691bace467010960d276497c347576e227afe35cf", "section_path": ["Additional Modules"], "commit_groups": [["6136e94dc"]], "identity_text": "Allow non-superusers to connect to postgres-fdw foreign servers without using a password (Craig Ringer) Specifically, allow a superuser to set password_required to false for a user mapping. Care must still be taken to prevent non-superusers from using superuser credentials to connect to the foreign server.", "commit_aliases": ["6136e94dc"], "source_commits": ["6136e94dc"], "source_entry_id": "13.0/changes/152", "db_id": "3053e6db53bf87012ea2c5effe42c461", "patch_ids": ["c7030cbc1a42a89a5b7d68956d5207df"], "statement_hash": "6033b5045cfd9cc8316aa9b168f3643b8d9ef970e1b88bdd56d29a41cf5f4976", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-2265156eb96abff9", "migration": false}, {"id": "13.0-553747cb358df469", "cves": [], "html": "<p>Allow <span>postgres_fdw</span> to use certificate authentication (Craig Ringer) <a href=\"https://postgr.es/c/f5fd995a1\">\u00a7</a></p>\n<p>Different users can use different certificates.</p>", "text": "Allow postgres_fdw to use certificate authentication (Craig Ringer) \u00a7 Different users can use different certificates.", "title": "Allow postgres_fdw to use certificate authentication", "commits": ["f5fd995a1"], "section": "Additional Modules", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.14", "source_hash": "cc4fc45a4787970a479564d80749f8893fc09523c3b03ed0c0e8bd04b3f232db", "section_path": ["Additional Modules"], "commit_groups": [["f5fd995a1"]], "identity_text": "Allow postgres_fdw to use certificate authentication (Craig Ringer) Different users can use different certificates.", "commit_aliases": ["f5fd995a1"], "source_commits": ["f5fd995a1"], "source_entry_id": "13.0/changes/153", "db_id": "e3157a621bfc4b0e48d8d1968be62a5d", "patch_ids": ["fb541ac14495efce2c844284cdb033bc"], "statement_hash": "2882d2fb2887bd01d52ce7612ecb61c312d203d5b8733db1f9e8edcde7dabc04", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-553747cb358df469", "migration": false}, {"id": "13.0-9652a258db29d5e1", "cves": [], "html": "<p>Allow <a href=\"/docs/13/sepgsql.html\" title=\"F.35.\u00a0sepgsql\">sepgsql</a> to control access to the <code>TRUNCATE</code> command (Yuli Khodorkovskiy) <a href=\"https://postgr.es/c/4f66c93f6\">\u00a7</a></p>", "text": "Allow sepgsql to control access to the TRUNCATE command (Yuli Khodorkovskiy) \u00a7", "title": "Allow sepgsql to control access to the TRUNCATE command", "commits": ["4f66c93f6"], "section": "Additional Modules", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.14", "source_hash": "8cdc4d5e793ec33c2c0184a5f9af7b0630fa50ac2d7c71ce13b85a7294b46654", "section_path": ["Additional Modules"], "commit_groups": [["4f66c93f6"]], "identity_text": "Allow sepgsql to control access to the TRUNCATE command (Yuli Khodorkovskiy)", "commit_aliases": ["4f66c93f6"], "source_commits": ["4f66c93f6"], "source_entry_id": "13.0/changes/154", "db_id": "be79f6dcccc0d85d703aa85c3e876126", "patch_ids": ["3429efab0a30f048c637a68b7aebea88"], "statement_hash": "189df84dd7ecfb28118fc575c13a682343792ac2143ac50ee8273d35880e73ad", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-9652a258db29d5e1", "migration": false}, {"id": "13.0-3d6be9fcac4fe88b", "cves": [], "html": "<p>Add extension <a href=\"/docs/13/plperl.html\" title=\"Chapter\u00a044.\u00a0PL/Perl \u2014 Perl Procedural Language\"><span>bool_plperl</span></a> which transforms <acronym>SQL</acronym> booleans to/from PL/Perl booleans (Ivan Panchenko) <a href=\"https://postgr.es/c/36058a3c5\">\u00a7</a></p>", "text": "Add extension bool_plperl which transforms SQL booleans to/from PL/Perl booleans (Ivan Panchenko) \u00a7", "title": "Add extension bool_plperl which transforms SQL booleans to/from PL/Perl booleans", "commits": ["36058a3c5"], "section": "Additional Modules", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.14", "source_hash": "5d7cfef8f8ee67a8e6325180eba4c6d0cead7c1a497accc70f96c11a80ca24f8", "section_path": ["Additional Modules"], "commit_groups": [["36058a3c5"]], "identity_text": "Add extension bool_plperl which transforms SQL booleans to/from PL/Perl booleans (Ivan Panchenko)", "commit_aliases": ["36058a3c5"], "source_commits": ["36058a3c5"], "source_entry_id": "13.0/changes/155", "db_id": "e2a47dde31dcea2d1e8e1f21c50dfb94", "patch_ids": ["8e7fa16296712d228a9d562996648c1b"], "statement_hash": "cc15f6c126ea53e9687f3eac3e78edfdf3754da6f74d3ef398b75e15140dcf57", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-3d6be9fcac4fe88b", "migration": false}, {"id": "13.0-0cfb65ed1682eb9d", "cves": [], "html": "<p>Have <a href=\"/docs/13/pgstatstatements.html\" title=\"F.29.\u00a0pg_stat_statements\">pg_stat_statements</a> treat <code>SELECT ... FOR UPDATE</code> commands as distinct from those without <code>FOR UPDATE</code> (Andrew Gierth, Vik Fearing) <a href=\"https://postgr.es/c/6e74c64bc\">\u00a7</a></p>", "text": "Have pg_stat_statements treat SELECT ... FOR UPDATE commands as distinct from those without FOR UPDATE (Andrew Gierth, Vik Fearing) \u00a7", "title": "Have pg_stat_statements treat SELECT ... FOR UPDATE commands as distinct from those without FOR UPDATE", "commits": ["6e74c64bc"], "section": "Additional Modules", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.14", "source_hash": "d59a3b9ce1cf5f1fe0b4fa6a7b28901cafa353d6411395beff2b21fbac62761b", "section_path": ["Additional Modules"], "commit_groups": [["6e74c64bc"]], "identity_text": "Have pgstatstatements treat SELECT ... FOR UPDATE commands as distinct from those without FOR UPDATE (Andrew Gierth, Vik Fearing)", "commit_aliases": ["6e74c64bc"], "source_commits": ["6e74c64bc"], "source_entry_id": "13.0/changes/156", "db_id": "d9d24bfdbedc70b2b5f2dc3159dfa649", "patch_ids": ["dc282d739c80d59b1f4f1f77486151f2"], "statement_hash": "058ad31dd80ae6595d83c132aa990188b77b9d2a3b378c128706f127ffb12beb", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-0cfb65ed1682eb9d", "migration": false}, {"id": "13.0-c8a4a700022f4f0b", "cves": [], "html": "<p>Allow <span>pg_stat_statements</span> to optionally track the planning time of statements (Julien Rouhaud, Pascal Legrand, Thomas Munro, Fujii Masao) <a href=\"https://postgr.es/c/17e032822\">\u00a7</a> <a href=\"https://postgr.es/c/8d459762b\">\u00a7</a></p>\n<p>Previously only execution time was tracked.</p>", "text": "Allow pg_stat_statements to optionally track the planning time of statements (Julien Rouhaud, Pascal Legrand, Thomas Munro, Fujii Masao) \u00a7 \u00a7 Previously only execution time was tracked.", "title": "Allow pg_stat_statements to optionally track the planning time of statements", "commits": ["17e032822", "8d459762b"], "section": "Additional Modules", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.14", "source_hash": "c43392615420cb2e615056351f336ea6c7dc56e7c5e8997893d81c200cf544e9", "section_path": ["Additional Modules"], "commit_groups": [["17e032822"], ["8d459762b"]], "identity_text": "Allow pg_stat_statements to optionally track the planning time of statements (Julien Rouhaud, Pascal Legrand, Thomas Munro, Fujii Masao) Previously only execution time was tracked.", "commit_aliases": ["17e032822", "8d459762b"], "source_commits": ["17e032822", "8d459762b"], "source_entry_id": "13.0/changes/157", "db_id": "5d4c20dbfae566a19499635a43943294", "patch_ids": ["2c5084b85da3e647e08bfdd0949d7ed1", "3ce97064db6107eb46a4cf9416f445a9"], "statement_hash": "798ac47e4ca60267a53260d14a1e9913cd7f7e515021e697ad83c33bd0757327", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-c8a4a700022f4f0b", "migration": false}, {"id": "13.0-3061d5858749e9f2", "cves": [], "html": "<p>Overhaul <a href=\"/docs/13/ltree.html\" title=\"F.21.\u00a0ltree\">ltree</a>'s lquery syntax to treat <code>NOT</code> (!) more logically (Filip Rembialkowski, Tom Lane, Nikita Glukhov) <a href=\"https://postgr.es/c/70dc4c509\">\u00a7</a> <a href=\"https://postgr.es/c/17ca06799\">\u00a7</a></p>\n<p>Also allow non-* queries to use a numeric range ({}) of matches.</p>", "text": "Overhaul ltree's lquery syntax to treat NOT (!) more logically (Filip Rembialkowski, Tom Lane, Nikita Glukhov) \u00a7 \u00a7 Also allow non-* queries to use a numeric range ({}) of matches.", "title": "Overhaul ltree's lquery syntax to treat NOT (!) more logically", "commits": ["17ca06799", "70dc4c509"], "section": "Additional Modules", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.14", "source_hash": "3eee185aa8d93d9282095b18b9316f7b73ba6839ea6e2c88446538346894583f", "section_path": ["Additional Modules"], "commit_groups": [["17ca06799"], ["70dc4c509"]], "identity_text": "Overhaul ltree 's lquery syntax to treat NOT (!) more logically (Filip Rembialkowski, Tom Lane, Nikita Glukhov) Also allow non-* queries to use a numeric range ({}) of matches.", "commit_aliases": ["17ca06799", "70dc4c509"], "source_commits": ["17ca06799", "70dc4c509"], "source_entry_id": "13.0/changes/158", "db_id": "70f81e7572d95dace13b3cf504b4612c", "patch_ids": ["6925289a401f13c6df7995360bded879", "d3dd33143ab2863e9c9673bc18a6bc05"], "statement_hash": "22365ce49d9c77f4f74a8efeee702a7f2f3d8158b6a80d4b51553a56a5072bd4", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-3061d5858749e9f2", "migration": false}, {"id": "13.0-aca1dfa66334c1d6", "cves": [], "html": "<p>Add support for binary I/O of <a href=\"/docs/13/ltree.html\" title=\"F.21.\u00a0ltree\">ltree</a>, lquery, and ltxtquery types (Nino Floris) <a href=\"https://postgr.es/c/949a9f043\">\u00a7</a></p>", "text": "Add support for binary I/O of ltree, lquery, and ltxtquery types (Nino Floris) \u00a7", "title": "Add support for binary I/O of ltree, lquery, and ltxtquery types", "commits": ["949a9f043"], "section": "Additional Modules", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.14", "source_hash": "21d3f497c9f17a1198f45b40c83c86511179765bf400809fc71e0789bf05bbf9", "section_path": ["Additional Modules"], "commit_groups": [["949a9f043"]], "identity_text": "Add support for binary I/O of ltree , lquery, and ltxtquery types (Nino Floris)", "commit_aliases": ["949a9f043"], "source_commits": ["949a9f043"], "source_entry_id": "13.0/changes/159", "db_id": "2671eb7c64d86775cff93261b04c61a0", "patch_ids": ["58c90a47b20b30cbcdc987c0dd4dea07"], "statement_hash": "6cf5e2ef1d7ae0753b1505cd03dc1c8b90725578d183f98e930b79a1612dafe2", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-aca1dfa66334c1d6", "migration": false}, {"id": "13.0-3dbee7bbc74031e5", "cves": [], "html": "<p>Add an option to <a href=\"/docs/13/dict-int.html\" title=\"F.11.\u00a0dict_int\">dict_int</a> to ignore the sign of integers (Jeff Janes) <a href=\"https://postgr.es/c/806eb92c0\">\u00a7</a></p>", "text": "Add an option to dict_int to ignore the sign of integers (Jeff Janes) \u00a7", "title": "Add an option to dict_int to ignore the sign of integers", "commits": ["806eb92c0"], "section": "Additional Modules", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.14", "source_hash": "44bf0ca73b1b426d259e70056de603377ec83ecfe4fddd49345ea64cf59bf5e1", "section_path": ["Additional Modules"], "commit_groups": [["806eb92c0"]], "identity_text": "Add an option to dict-int to ignore the sign of integers (Jeff Janes)", "commit_aliases": ["806eb92c0"], "source_commits": ["806eb92c0"], "source_entry_id": "13.0/changes/160", "db_id": "44aabb206a20b32186ddf62c0b047a9b", "patch_ids": ["b3f5128246ff6f4045eb16bb3fab2076"], "statement_hash": "d37349f2a1060cb9cd7cb657bab11feb78f1f88693590c956c14e3f28735beda", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-3dbee7bbc74031e5", "migration": false}, {"id": "13.0-99a7b7eab5cf217e", "cves": [], "html": "<p>Add <a href=\"/docs/13/adminpack.html\" title=\"F.1.\u00a0adminpack\">adminpack</a> function <code>pg_file_sync()</code> to allow fsync'ing a file (Fujii Masao) <a href=\"https://postgr.es/c/d694e0bb7\">\u00a7</a></p>", "text": "Add adminpack function pg_file_sync() to allow fsync'ing a file (Fujii Masao) \u00a7", "title": "Add adminpack function pg_file_sync() to allow fsync'ing a file", "commits": ["d694e0bb7"], "section": "Additional Modules", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.14", "source_hash": "ff15dd12a5a6880af912eb5ec729da56489e64fd1c933a2b527a6e144af78097", "section_path": ["Additional Modules"], "commit_groups": [["d694e0bb7"]], "identity_text": "Add adminpack function pg_file_sync() to allow fsync'ing a file (Fujii Masao)", "commit_aliases": ["d694e0bb7"], "source_commits": ["d694e0bb7"], "source_entry_id": "13.0/changes/161", "db_id": "e40616995f7b161eb8594f056f18c829", "patch_ids": ["76662871a2e0113a2ae954fea6d8ff91"], "statement_hash": "8fd5dc6a18c783b9e69a27abb3cfafc223a9612c0cef9c8f2f36ae47554b2286", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-99a7b7eab5cf217e", "migration": false}, {"id": "13.0-69ee76c5048a6e3d", "cves": [], "html": "<p>Add <a href=\"/docs/13/pageinspect.html\" title=\"F.22.\u00a0pageinspect\">pageinspect</a> functions to output <code>t_infomask</code>/<code>t_infomask2</code> values in human-readable format (Craig Ringer, Sawada Masahiko, Michael Paquier) <a href=\"https://postgr.es/c/ddbd5d873\">\u00a7</a> <a href=\"https://postgr.es/c/58b4cb30a\">\u00a7</a></p>", "text": "Add pageinspect functions to output t_infomask/t_infomask2 values in human-readable format (Craig Ringer, Sawada Masahiko, Michael Paquier) \u00a7 \u00a7", "title": "Add pageinspect functions to output t_infomask/t_infomask2 values in human-readable format", "commits": ["58b4cb30a", "ddbd5d873"], "section": "Additional Modules", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.14", "source_hash": "b0f8154bb472c4c7b8586c5d7392d7771aec3ed1f365561c505f7cb5770ba03c", "section_path": ["Additional Modules"], "commit_groups": [["58b4cb30a"], ["ddbd5d873"]], "identity_text": "Add pageinspect functions to output t_infomask/t_infomask2 values in human-readable format (Craig Ringer, Sawada Masahiko, Michael Paquier)", "commit_aliases": ["58b4cb30a", "ddbd5d873"], "source_commits": ["58b4cb30a", "ddbd5d873"], "source_entry_id": "13.0/changes/162", "db_id": "72beb62f89432718771241ca689450a4", "patch_ids": ["7f1a50847f2241e900520a58d93b9fef", "b508028a4ac179e90cd9a097efbb6cbf"], "statement_hash": "344214b4adf81f448fd60fc7d4bdefdea8f779282016cc138f3c35fbe4718a2c", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-69ee76c5048a6e3d", "migration": false}, {"id": "13.0-184fc079c0142afa", "cves": [], "html": "<p>Add B-tree index de-duplication processing columns to pageinspect output (Peter Geoghegan) <a href=\"https://postgr.es/c/93ee38ead\">\u00a7</a></p>", "text": "Add B-tree index de-duplication processing columns to pageinspect output (Peter Geoghegan) \u00a7", "title": "Add B-tree index de-duplication processing columns to pageinspect output", "commits": ["93ee38ead"], "section": "Additional Modules", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.14", "source_hash": "cbb64b3dff00a5a6fc40e97c9d55296797e5a1b0cebc0f81918e7188054c0b7b", "section_path": ["Additional Modules"], "commit_groups": [["93ee38ead"]], "identity_text": "Add B-tree index de-duplication processing columns to pageinspect output (Peter Geoghegan)", "commit_aliases": ["93ee38ead"], "source_commits": ["93ee38ead"], "source_entry_id": "13.0/changes/163", "db_id": "041795569921cacf25aa797cddc22cad", "patch_ids": ["393828c4dc0d508952768c2ef5de29bc"], "statement_hash": "a98a59c909ab09b9d13421b88dad7f90614afedfff6b88fb5e421a44baa4894f", "relations": [], "category_label": "Features", "url": "/docs/compare/?release=13.0#13.0-184fc079c0142afa", "migration": false}], "initial_entry_count": 178, "migration_html": "<p>A dump/restore using <a href=\"/docs/13/app-pg-dumpall.html\" title=\"pg_dumpall\"><span><span>pg_dumpall</span></span></a> or use of <a href=\"/docs/13/pgupgrade.html\" title=\"pg_upgrade\"><span><span>pg_upgrade</span></span></a> or logical replication is required for those wishing to migrate data from any previous release. See <a href=\"/docs/13/upgrading.html\" title=\"18.6.\u00a0Upgrading a PostgreSQL Cluster\">Section\u00a018.6</a> for general information on migrating to new major releases.</p>\n<p>Version 13 contains a number of changes that may affect compatibility with previous releases. Observe the following incompatibilities:</p>\n<div>\n</div>", "category_filters": [{"key": "feature", "label": "Features", "count": 143}, {"key": "bugfix", "label": "Bug fixes", "count": 4}, {"key": "security", "label": "Security", "count": 0}, {"key": "performance", "label": "Performance", "count": 16}, {"key": "compatibility", "label": "Compatibility", "count": 15}, {"key": "improvement", "label": "Improvements", "count": 0}], "security_rows": [{"id": "CVE-2025-8715", "title": "PostgreSQL pg_dump newline in object name executes arbitrary code in psql client and in restore target server", "url": "https://www.postgresql.org/support/security/CVE-2025-8715/", "score": 8.8, "vector": "AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H", "description": "Improper neutralization of newlines in pg_dump in PostgreSQL allows a user of the origin server to inject arbitrary code for restore-time execution as the client operating system account running psql to restore the dump, via psql meta-commands inside a purpose-crafted object name. The same attacks can achieve SQL injection as a superuser of the restore target server. pg_dumpall, pg_restore, and pg_upgrade are also affected. Versions before PostgreSQL 17.6, 16.10, 15.14, 14.19, and 13.22 are affected. Versions before 11.20 are unaffected. CVE-2012-0868 had fixed this class of problem, but version 11.20 reintroduced it.", "fixed": "13.22", "fixed_url": "/docs/compare/?release=13.22", "affected": "13", "component": "core server", "mentions": [{"build": "13.22", "version": "13.22", "title": "Convert newlines to spaces in names included in comments in pg_dump output", "url": "/docs/compare/?release=13.22#13.22-a726243ec1d439af"}], "evidence": "branch-matrix"}, {"id": "CVE-2025-8714", "title": "PostgreSQL pg_dump lets superuser of origin server execute arbitrary code in psql client", "url": "https://www.postgresql.org/support/security/CVE-2025-8714/", "score": 8.8, "vector": "AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H", "description": "Untrusted data inclusion in pg_dump in PostgreSQL allows a malicious superuser of the origin server to inject arbitrary code for restore-time execution as the client operating system account running psql to restore the dump, via psql meta-commands. pg_dumpall is also affected. pg_restore is affected when used to generate a plain-format dump. This is similar to MySQL CVE-2024-21096. Versions before PostgreSQL 17.6, 16.10, 15.14, 14.19, and 13.22 are affected.", "fixed": "13.22", "fixed_url": "/docs/compare/?release=13.22", "affected": "13", "component": "core server", "mentions": [{"build": "13.22", "version": "13.22", "title": "Prevent pg_dump scripts from being used to attack the user running the restore", "url": "/docs/compare/?release=13.22#13.22-2c8737193994e3d6"}], "evidence": "branch-matrix"}, {"id": "CVE-2025-8713", "title": "PostgreSQL optimizer statistics can expose sampled data within a view, partition, or child table", "url": "https://www.postgresql.org/support/security/CVE-2025-8713/", "score": 3.1, "vector": "AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N", "description": "PostgreSQL optimizer statistics allow a user to read sampled data within a view that the user cannot access. Separately, statistics allow a user to read sampled data that a row security policy intended to hide. PostgreSQL maintains statistics for tables by sampling data available in columns; this data is consulted during the query planning process. Prior to this release, a user could craft a leaky operator that bypassed view access control lists (ACLs) and bypassed row security policies in partitioning or table inheritance hierarchies. Reachable statistics data notably included histograms and most-common-values lists. CVE-2017-7484 and CVE-2019-10130 intended to close this class of vulnerability, but this gap remained. Versions before PostgreSQL 17.6, 16.10, 15.14, 14.19, and 13.22 are affected.", "fixed": "13.22", "fixed_url": "/docs/compare/?release=13.22", "affected": "13", "component": "core server", "mentions": [{"build": "13.22", "version": "13.22", "title": "Tighten security checks in planner estimation functions", "url": "/docs/compare/?release=13.22#13.22-639d2c839166c19d"}], "evidence": "branch-matrix"}, {"id": "CVE-2025-4207", "title": "PostgreSQL GB18030 encoding validation can read one byte past end of allocation for text that fails validation", "url": "https://www.postgresql.org/support/security/CVE-2025-4207/", "score": 5.9, "vector": "AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H", "description": "Buffer over-read in PostgreSQL GB18030 encoding validation allows a database input provider to achieve temporary denial of service on platforms where a 1-byte over-read can elicit process termination. This affects the database server and also libpq. Versions before PostgreSQL 17.5, 16.9, 15.13, 14.18, and 13.21 are affected.", "fixed": "13.21", "fixed_url": "/docs/compare/?release=13.21", "affected": "13", "component": "core server", "mentions": [{"build": "13.21", "version": "13.21", "title": "Avoid one-byte buffer overread when examining invalidly-encoded strings that are claimed to be in GB18030 encoding", "url": "/docs/compare/?release=13.21#13.21-bc601768f2de7a35"}], "evidence": "branch-matrix"}, {"id": "CVE-2025-12818", "title": "PostgreSQL libpq undersizes allocations, via integer wraparound", "url": "https://www.postgresql.org/support/security/CVE-2025-12818/", "score": 5.9, "vector": "AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H", "description": "Integer wraparound in multiple PostgreSQL libpq client library functions allows an application input provider or network peer to cause libpq to undersize an allocation and write out-of-bounds by hundreds of megabytes. This results in a segmentation fault for the application using libpq. Versions before PostgreSQL 18.1, 17.7, 16.11, 15.15, 14.20, and 13.23 are affected.", "fixed": "13.23", "fixed_url": "/docs/compare/?release=13.23", "affected": "13", "component": "core server", "mentions": [{"build": "13.23", "version": "13.23", "title": "Avoid integer overflow in allocation-size calculations within libpq", "url": "/docs/compare/?release=13.23#13.23-d6bd7a2c0c48c3ad"}], "evidence": "branch-matrix"}, {"id": "CVE-2025-12817", "title": "PostgreSQL CREATE STATISTICS does not check for schema CREATE privilege", "url": "https://www.postgresql.org/support/security/CVE-2025-12817/", "score": 3.1, "vector": "AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L", "description": "Missing authorization in PostgreSQL CREATE STATISTICS command allows a table owner to achieve denial of service against other CREATE STATISTICS users by creating in any schema. A later CREATE STATISTICS for the same name, from a user having the CREATE privilege, would then fail. Versions before PostgreSQL 18.1, 17.7, 16.11, 15.15, 14.20, and 13.23 are affected.", "fixed": "13.23", "fixed_url": "/docs/compare/?release=13.23", "affected": "13", "component": "core server", "mentions": [{"build": "13.23", "version": "13.23", "title": "Check for CREATE privileges on the schema in CREATE STATISTICS", "url": "/docs/compare/?release=13.23#13.23-5bf870f01e021d82"}], "evidence": "branch-matrix"}, {"id": "CVE-2025-1094", "title": "PostgreSQL quoting APIs miss neutralizing quoting syntax in text that fails encoding validation", "url": "https://www.postgresql.org/support/security/CVE-2025-1094/", "score": 8.1, "vector": "AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H", "description": "Improper neutralization of quoting syntax in PostgreSQL libpq functions PQescapeLiteral(), PQescapeIdentifier(), PQescapeString(), and PQescapeStringConn() allows a database input provider to achieve SQL injection in certain usage patterns. Specifically, SQL injection requires the application to use the function result to construct input to psql, the PostgreSQL interactive terminal. Similarly, improper neutralization of quoting syntax in PostgreSQL command line utility programs allows a source of command line arguments to achieve SQL injection when client_encoding is BIG5 and server_encoding is one of EUC_TW or MULE_INTERNAL. Versions before PostgreSQL 17.3, 16.7, 15.11, 14.16, and 13.19 are affected.", "fixed": "13.19", "fixed_url": "/docs/compare/?release=13.19", "affected": "13", "component": "core server", "mentions": [{"build": "13.20", "version": "13.20", "title": "Improve behavior of libpq's quoting functions", "url": "/docs/compare/?release=13.20#13.20-27312e34c6df83be"}, {"build": "13.19", "version": "13.19", "title": "Harden PQescapeString and allied functions against invalidly-encoded input strings", "url": "/docs/compare/?release=13.19#13.19-53e824654163768f"}], "evidence": "branch-matrix"}, {"id": "CVE-2024-7348", "title": "PostgreSQL relation replacement during pg_dump executes arbitrary SQL", "url": "https://www.postgresql.org/support/security/CVE-2024-7348/", "score": 8.8, "vector": "AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "description": "Time-of-check Time-of-use (TOCTOU) race condition in pg_dump in PostgreSQL allows an object creator to execute arbitrary SQL functions as the user running pg_dump, which is often a superuser. The attack involves replacing another relation type with a view or foreign table. The attack requires waiting for pg_dump to start, but winning the race condition is trivial if the attacker retains an open transaction. Versions before PostgreSQL 16.4, 15.8, 14.13, 13.16, and 12.20 are affected.\n\nThe PostgreSQL project thanks Noah Misch for reporting this problem.", "fixed": "13.16", "fixed_url": "/docs/compare/?release=13.16", "affected": "13", "component": "core server", "mentions": [{"build": "13.16", "version": "13.16", "title": "Prevent unauthorized code execution during pg_dump", "url": "/docs/compare/?release=13.16#13.16-2e433a29b91b07a9"}], "evidence": "branch-matrix"}, {"id": "CVE-2024-10979", "title": "PostgreSQL PL/Perl environment variable changes execute arbitrary code", "url": "https://www.postgresql.org/support/security/CVE-2024-10979/", "score": 8.8, "vector": "AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "description": "Incorrect control of environment variables in PostgreSQL PL/Perl allows an unprivileged database user to change sensitive process environment variables (e.g. PATH ). That often suffices to enable arbitrary code execution, even if the attacker lacks a database server operating system user. Versions before PostgreSQL 17.1, 16.5, 15.9, 14.14, 13.17, and 12.21 are affected.\n\nThe PostgreSQL project thanks Coby Abrams for reporting this problem.", "fixed": "13.17", "fixed_url": "/docs/compare/?release=13.17", "affected": "13", "component": "core server", "mentions": [{"build": "13.17", "version": "13.17", "title": "Prevent trusted PL/Perl code from changing environment variables", "url": "/docs/compare/?release=13.17#13.17-458fde2a378dd869"}], "evidence": "branch-matrix"}, {"id": "CVE-2024-10978", "title": "PostgreSQL SET ROLE, SET SESSION AUTHORIZATION reset to wrong user ID", "url": "https://www.postgresql.org/support/security/CVE-2024-10978/", "score": 4.2, "vector": "AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N", "description": "Incorrect privilege assignment in PostgreSQL allows a less-privileged application user to view or change different rows from those intended. An attack requires the application to use SET ROLE , SET SESSION AUTHORIZATION , or an equivalent feature. The problem arises when an application query uses parameters from the attacker or conveys query results to the attacker. If that query reacts to current_setting('role') or the current user ID, it may modify or return data as though the session had not used SET ROLE or SET SESSION AUTHORIZATION . The attacker does not control which incorrect user ID applies. Query text from less-privileged sources is not a concern here, because SET ROLE and SET SESSION AUTHORIZATION are not sandboxes for unvetted queries. Versions before PostgreSQL 17.1, 16.5, 15.9, 14.14, 13.17, and 12.21 are affected.\n\nThe PostgreSQL project thanks Tom Lane for reporting this problem.", "fixed": "13.17", "fixed_url": "/docs/compare/?release=13.17", "affected": "13", "component": "core server", "mentions": [{"build": "13.18", "version": "13.18", "title": "Restore functionality of ALTER {ROLE|DATABASE} SET role", "url": "/docs/compare/?release=13.18#13.18-2dcb90b343e7bf55"}, {"build": "13.17", "version": "13.17", "title": "Fix unintended interactions between SET SESSION AUTHORIZATION and SET ROLE", "url": "/docs/compare/?release=13.17#13.17-d57adda36139a851"}], "evidence": "branch-matrix"}, {"id": "CVE-2024-10977", "title": "PostgreSQL libpq retains an error message from man-in-the-middle", "url": "https://www.postgresql.org/support/security/CVE-2024-10977/", "score": 3.1, "vector": "AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:N", "description": "Client use of server error message in PostgreSQL allows a server not trusted under current SSL or GSS settings to furnish arbitrary non-NUL bytes to the libpq application. For example, a man-in-the-middle attacker could send a long error message that a human or screen-scraper user of psql mistakes for valid query results. This is probably not a concern for clients where the user interface unambiguously indicates the boundary between one error message and other text. Versions before PostgreSQL 17.1, 16.5, 15.9, 14.14, 13.17, and 12.21 are affected.\n\nThe PostgreSQL project thanks Jacob Champion for reporting this problem.", "fixed": "13.17", "fixed_url": "/docs/compare/?release=13.17", "affected": "13", "component": "client", "mentions": [{"build": "13.17", "version": "13.17", "title": "Make libpq discard error messages received during SSL or GSS protocol negotiation", "url": "/docs/compare/?release=13.17#13.17-6c940adbb9729591"}], "evidence": "branch-matrix"}, {"id": "CVE-2024-10976", "title": "PostgreSQL row security below e.g. subqueries disregards user ID changes", "url": "https://www.postgresql.org/support/security/CVE-2024-10976/", "score": 4.2, "vector": "AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N", "description": "Incomplete tracking in PostgreSQL of tables with row security allows a reused query to view or change different rows from those intended. CVE-2023-2455 and CVE-2016-2193 fixed most interaction between row security and user ID changes. They missed cases where a subquery, WITH query, security invoker view, or SQL-language function references a table with a row-level security policy. This has the same consequences as the two earlier CVEs. That is to say, it leads to potentially incorrect policies being applied in cases where role-specific policies are used and a given query is planned under one role and then executed under other roles. This scenario can happen under security definer functions or when a common user and query is planned initially and then re-used across multiple SET ROLEs.\n\nApplying an incorrect policy may permit a user to complete otherwise-forbidden reads and modifications. This affects only databases that have used CREATE POLICY to define a row security policy. An attacker must tailor an attack to a particular application's pattern of query plan reuse, user ID changes, and role-specific row security policies. Versions before PostgreSQL 17.1, 16.5, 15.9, 14.14, 13.17, and 12.21 are affected.", "fixed": "13.17", "fixed_url": "/docs/compare/?release=13.17", "affected": "13", "component": "core server", "mentions": [{"build": "13.17", "version": "13.17", "title": "Ensure cached plans are marked as dependent on the calling role when RLS applies to a non-top-level table reference", "url": "/docs/compare/?release=13.17#13.17-262bcda4a82de7e4"}], "evidence": "branch-matrix"}, {"id": "CVE-2024-0985", "title": "PostgreSQL non-owner REFRESH MATERIALIZED VIEW CONCURRENTLY executes arbitrary SQL", "url": "https://www.postgresql.org/support/security/CVE-2024-0985/", "score": 8.0, "vector": "AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H", "description": "UPDATE (June 19, 2024) : Added v16 as impacted. Updated description to clarify the attack vector.\n\nLate privilege drop in REFRESH MATERIALIZED VIEW CONCURRENTLY in PostgreSQL allows an object creator to execute arbitrary SQL functions as the command issuer. The command intends to run SQL functions as the owner of the materialized view, enabling safe refresh of untrusted materialized views. The victim is a superuser or member of one of the attacker's roles. The attack requires luring the victim into running REFRESH MATERIALIZED VIEW CONCURRENTLY on the attacker's materialized view.", "fixed": "13.14", "fixed_url": "/docs/compare/?release=13.14", "affected": "13", "component": "core server", "mentions": [{"build": "13.14", "version": "13.14", "title": "Tighten security restrictions within REFRESH MATERIALIZED VIEW CONCURRENTLY", "url": "/docs/compare/?release=13.14#13.14-06344fff7d0f1e00"}], "evidence": "branch-matrix"}, {"id": "CVE-2023-5870", "title": "Role \"pg_signal_backend\" can signal certain superuser processes", "url": "https://www.postgresql.org/support/security/CVE-2023-5870/", "score": 2.2, "vector": "AV:N/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:L", "description": "Documentation says the pg_signal_backend role cannot signal \"a backend owned by a superuser\". On the contrary, it can signal background workers, including the logical replication launcher. It can signal autovacuum workers and the autovacuum launcher. Signaling autovacuum workers and those two launchers provides no meaningful exploit, so exploiting this vulnerability requires a non-core extension with a less-resilient background worker. For example, a non-core background worker that does not auto-restart would experience a denial of service with respect to that particular background worker.\n\nThe PostgreSQL project thanks Hemanth Sandrana and Mahendrakar Srinivasarao for reporting this problem.", "fixed": "13.13", "fixed_url": "/docs/compare/?release=13.13", "affected": "13", "component": "core server", "mentions": [{"build": "13.13", "version": "13.13", "title": "Prevent the pg_signal_backend role from signalling background workers and autovacuum processes", "url": "/docs/compare/?release=13.13#13.13-2024116eff31fd4f"}], "evidence": "branch-matrix"}, {"id": "CVE-2023-5869", "title": "Buffer overrun from integer overflow in array modification", "url": "https://www.postgresql.org/support/security/CVE-2023-5869/", "score": 8.8, "vector": "AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "description": "While modifying certain SQL array values, missing overflow checks let authenticated database users write arbitrary bytes to a memory area that facilitates arbitrary code execution. Missing overflow checks also let authenticated database users read a wide area of server memory. The CVE-2021-32027 fix covered some attacks of this description, but it missed others.\n\nThe PostgreSQL project thanks Pedro Gallegos for reporting this problem.", "fixed": "13.13", "fixed_url": "/docs/compare/?release=13.13", "affected": "13", "component": "core server", "mentions": [{"build": "13.16", "version": "13.16", "title": "Detect another integer overflow case while computing new array dimensions", "url": "/docs/compare/?release=13.16#13.16-27841b5006f6d0ca"}, {"build": "13.13", "version": "13.13", "title": "Detect integer overflow while computing new array dimensions", "url": "/docs/compare/?release=13.13#13.13-b3cd77d12b62df2b"}], "evidence": "branch-matrix"}, {"id": "CVE-2023-5868", "title": "Memory disclosure in aggregate function calls", "url": "https://www.postgresql.org/support/security/CVE-2023-5868/", "score": 4.3, "vector": "AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N", "description": "Certain aggregate function calls receiving \"unknown\"-type arguments could disclose bytes of server memory from the end of the \"unknown\"-type value to the next zero byte. One typically gets an \"unknown\"-type value via a string literal having no type designation. We have not confirmed or ruled out viability of attacks that arrange for presence of notable, confidential information in disclosed bytes.\n\nThe PostgreSQL project thanks Jingzhou Fu for reporting this problem.", "fixed": "13.13", "fixed_url": "/docs/compare/?release=13.13", "affected": "13", "component": "core server", "mentions": [{"build": "13.13", "version": "13.13", "title": "Fix handling of unknown-type arguments in DISTINCT \"any\" aggregate functions", "url": "/docs/compare/?release=13.13#13.13-cb74a975d65eb2b7"}], "evidence": "branch-matrix"}, {"id": "CVE-2023-39417", "title": "Extension script @substitutions@ within quoting allow SQL injection", "url": "https://www.postgresql.org/support/security/CVE-2023-39417/", "score": 7.5, "vector": "AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H", "description": "An extension script is vulnerable if it uses @extowner@ , @extschema@ , or @extschema:...@ inside a quoting construct (dollar quoting, '' , or \"\" ). No bundled extension is vulnerable. Vulnerable uses do appear in a documentation example and in non-bundled extensions. Hence, the attack prerequisite is an administrator having installed files of a vulnerable, trusted, non-bundled extension. Subject to that prerequisite, this enables an attacker having database-level CREATE privilege to execute arbitrary code as the bootstrap superuser. PostgreSQL will block this attack in the core server, so there's no need to modify individual extensions.\n\nThe PostgreSQL project thanks Micah Gates, Valerie Woolard, Tim Carey-Smith, and Christoph Berg for reporting this problem.", "fixed": "13.12", "fixed_url": "/docs/compare/?release=13.12", "affected": "13", "component": "core server", "mentions": [{"build": "13.12", "version": "13.12", "title": "Disallow substituting a schema or owner name into an extension script if the name contains a quote, backslash, or dollar sign", "url": "/docs/compare/?release=13.12#13.12-7e7794e398a17981"}], "evidence": "branch-matrix"}, {"id": "CVE-2023-2455", "title": "Row security policies disregard user ID changes after inlining", "url": "https://www.postgresql.org/support/security/CVE-2023-2455/", "score": 4.2, "vector": "AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N", "description": "While CVE-2016-2193 fixed most interaction between row security and user ID changes, it missed a scenario involving function inlining. This leads to potentially incorrect policies being applied in cases where role-specific policies are used and a given query is planned under one role and then executed under other roles. This scenario can happen under security definer functions or when a common user and query is planned initially and then re-used across multiple SET ROLE s. Applying an incorrect policy may permit a user to complete otherwise-forbidden reads and modifications. This affects only databases that have used CREATE POLICY to define a row security policy.\n\nThe PostgreSQL project thanks Wolfgang Walther for reporting this problem.", "fixed": "13.11", "fixed_url": "/docs/compare/?release=13.11", "affected": "13", "component": "core server", "mentions": [{"build": "13.11", "version": "13.11", "title": "Enforce row-level security policies correctly after inlining a set-returning function", "url": "/docs/compare/?release=13.11#13.11-dceb56ebe5dfd791"}], "evidence": "branch-matrix"}, {"id": "CVE-2023-2454", "title": "CREATE SCHEMA ... schema_element defeats protective search_path changes", "url": "https://www.postgresql.org/support/security/CVE-2023-2454/", "score": 7.2, "vector": "AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H", "description": "This enabled an attacker having database-level CREATE privilege to execute arbitrary code as the bootstrap superuser. Database owners have that right by default, and explicit grants may extend it to other users.\n\nThe PostgreSQL project thanks Alexander Lakhin for reporting this problem.", "fixed": "13.11", "fixed_url": "/docs/compare/?release=13.11", "affected": "13", "component": "core server", "mentions": [{"build": "13.11", "version": "13.11", "title": "Prevent CREATE SCHEMA from defeating changes in search_path", "url": "/docs/compare/?release=13.11#13.11-960180571a622bb8"}], "evidence": "branch-matrix"}, {"id": "CVE-2022-41862", "title": "Client memory disclosure when connecting, with Kerberos, to modified server", "url": "https://www.postgresql.org/support/security/CVE-2022-41862/", "score": 3.7, "vector": "AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N", "description": "A modified, unauthenticated server can send an unterminated string during the establishment of Kerberos transport encryption. When a libpq client application has a Kerberos credential cache and doesn't explicitly disable option gssencmode , a server can cause libpq to over-read and report an error message containing uninitialized bytes from and following its receive buffer. If libpq's caller somehow makes that message accessible to the attacker, this achieves a disclosure of the over-read bytes. We have not confirmed or ruled out viability of attacks that arrange for a crash or for presence of notable, confidential information in disclosed bytes.\n\nThe PostgreSQL project thanks Jacob Champion for reporting this problem.", "fixed": "13.10", "fixed_url": "/docs/compare/?release=13.10", "affected": "13", "component": "client", "mentions": [{"build": "13.10", "version": "13.10", "title": "libpq can leak memory contents after GSSAPI transport encryption initiation fails", "url": "/docs/compare/?release=13.10#13.10-23596c45357945bb"}], "evidence": "branch-matrix"}, {"id": "CVE-2022-2625", "title": "Extension scripts replace objects not belonging to the extension", "url": "https://www.postgresql.org/support/security/CVE-2022-2625/", "score": 7.1, "vector": "AV:N/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:H", "description": "Some extensions use CREATE OR REPLACE or CREATE IF NOT EXISTS commands. Some don't adhere to the documented rule to target only objects known to be extension members already. An attack requires permission to create non-temporary objects in at least one schema, ability to lure or wait for an administrator to create or update an affected extension in that schema, and ability to lure or wait for a victim to use the object targeted in CREATE OR REPLACE or CREATE IF NOT EXISTS . Given all three prerequisites, the attacker can run arbitrary code as the victim role, which may be a superuser. Known-affected extensions include both PostgreSQL-bundled and non-bundled extensions. PostgreSQL is blocking this attack in the core server, so there's no need to modify individual extensions.\n\nThe PostgreSQL project thanks Sven Klemm for reporting this problem.", "fixed": "13.8", "fixed_url": "/docs/compare/?release=13.8", "affected": "13", "component": "core server", "mentions": [{"build": "13.8", "version": "13.8", "title": "Do not let extension scripts replace objects not already belonging to the extension", "url": "/docs/compare/?release=13.8#13.8-d7fa2ab8d0b929c9"}], "evidence": "branch-matrix"}, {"id": "CVE-2022-1552", "title": "Autovacuum, REINDEX, and others omit \"security restricted operation\" sandbox", "url": "https://www.postgresql.org/support/security/CVE-2022-1552/", "score": 8.8, "vector": "AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "description": "Autovacuum, REINDEX , CREATE INDEX , REFRESH MATERIALIZED VIEW , CLUSTER , and pg_amcheck made incomplete efforts to operate safely when a privileged user is maintaining another user's objects. Those commands activated relevant protections too late or not at all. An attacker having permission to create non-temp objects in at least one schema could execute arbitrary SQL functions under a superuser identity.\n\nWhile promptly updating PostgreSQL is the best remediation for most users, a user unable to do that can work around the vulnerability by disabling autovacuum, not manually running the above commands, and not restoring from output of the pg_dump command. Performance may degrade quickly under this workaround. VACUUM is safe, and all commands are fine when a trusted user owns the target object.\n\nThe PostgreSQL project thanks Alexander Lakhin for reporting this problem.", "fixed": "13.7", "fixed_url": "/docs/compare/?release=13.7", "affected": "13", "component": "core server", "mentions": [{"build": "13.8", "version": "13.8", "title": "Fix permissions checks in CREATE INDEX", "url": "/docs/compare/?release=13.8#13.8-47bf1f9c7f7a3b12"}, {"build": "13.7", "version": "13.7", "title": "Confine additional operations within \u201csecurity restricted operation\u201d sandboxes", "url": "/docs/compare/?release=13.7#13.7-7c751a4817cbcd26"}], "evidence": "branch-matrix"}, {"id": "CVE-2021-3677", "title": "Memory disclosure in certain queries", "url": "https://www.postgresql.org/support/security/CVE-2021-3677/", "score": 6.5, "vector": "AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N", "description": "A purpose-crafted query can read arbitrary bytes of server memory. In the default configuration, any authenticated database user can complete this attack at will. The attack does not require the ability to create objects. If server settings include max_worker_processes=0 , the known versions of this attack are infeasible. However, undiscovered variants of the attack may be independent of that setting.", "fixed": "13.4", "fixed_url": "/docs/compare/?release=13.4", "affected": "13", "component": "core server", "mentions": [{"build": "13.4", "version": "13.4", "title": "Fix mis-planning of repeated application of a projection step", "url": "/docs/compare/?release=13.4#13.4-ae65d01fc545f778"}], "evidence": "branch-matrix"}, {"id": "CVE-2021-3449", "title": "CVE-2021-3449", "url": "https://www.postgresql.org/support/security/CVE-2021-3449/", "score": null, "vector": "", "description": "", "fixed": "", "fixed_url": "", "affected": "", "component": "", "mentions": [{"build": "13.4", "version": "13.4", "title": "Disallow SSL renegotiation more completely", "url": "/docs/compare/?release=13.4#13.4-a0b88642ddb5cf86"}], "evidence": "release-note-mention"}, {"id": "CVE-2021-3393", "title": "Partition constraint violation errors leak values of denied columns", "url": "https://www.postgresql.org/support/security/CVE-2021-3393/", "score": 3.1, "vector": "AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N", "description": "A user having an UPDATE privilege on a partitioned table but lacking the SELECT privilege on some column may be able to acquire denied-column values from an error message. This is similar to CVE-2014-8161 , but the conditions to exploit are more rare.\n\nThe PostgreSQL project thanks Heikki Linnakangas for reporting this problem.", "fixed": "13.2", "fixed_url": "/docs/compare/?release=13.2", "affected": "13", "component": "core server", "mentions": [{"build": "13.2", "version": "13.2", "title": "Fix information leakage in constraint-violation error messages", "url": "/docs/compare/?release=13.2#13.2-360109c41051c8db"}], "evidence": "branch-matrix"}, {"id": "CVE-2021-32029", "title": "Memory disclosure in partitioned-table UPDATE ... RETURNING", "url": "https://www.postgresql.org/support/security/CVE-2021-32029/", "score": 6.5, "vector": "AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N", "description": "Using an UPDATE ... RETURNING on a purpose-crafted partitioned table, an attacker can read arbitrary bytes of server memory. In the default configuration, any authenticated database user can create prerequisite objects and complete this attack at will. A user lacking the CREATE and TEMPORARY privileges on all databases and the CREATE privilege on all schemas typically cannot use this attack at will.\n\nThe PostgreSQL project thanks Tom Lane for reporting this problem.", "fixed": "13.3", "fixed_url": "/docs/compare/?release=13.3", "affected": "13", "component": "core server", "mentions": [{"build": "13.3", "version": "13.3", "title": "Fix possibly-incorrect computation of UPDATE ... RETURNING outputs for joined cross-partition updates", "url": "/docs/compare/?release=13.3#13.3-461a1b783bb96232"}], "evidence": "branch-matrix"}, {"id": "CVE-2021-32028", "title": "Memory disclosure in INSERT ... ON CONFLICT ... DO UPDATE", "url": "https://www.postgresql.org/support/security/CVE-2021-32028/", "score": 6.5, "vector": "AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N", "description": "Using an INSERT ... ON CONFLICT ... DO UPDATE command on a purpose-crafted table, an attacker can read arbitrary bytes of server memory. In the default configuration, any authenticated database user can create prerequisite objects and complete this attack at will. A user lacking the CREATE and TEMPORARY privileges on all databases and the CREATE privilege on all schemas cannot use this attack at will.\n\nThe PostgreSQL project thanks Andres Freund for reporting this problem.", "fixed": "13.3", "fixed_url": "/docs/compare/?release=13.3", "affected": "13", "component": "core server", "mentions": [{"build": "13.3", "version": "13.3", "title": "Fix mishandling of \u201cjunk\u201d columns in INSERT ... ON CONFLICT ... UPDATE target lists", "url": "/docs/compare/?release=13.3#13.3-0f677eeae1faab2b"}], "evidence": "branch-matrix"}, {"id": "CVE-2021-32027", "title": "Buffer overrun from integer overflow in array subscripting calculations", "url": "https://www.postgresql.org/support/security/CVE-2021-32027/", "score": 6.5, "vector": "AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N", "description": "While modifying certain SQL array values, missing bounds checks let authenticated database users write arbitrary bytes to a wide area of server memory.\n\nThe PostgreSQL project thanks Tom Lane for reporting this problem.", "fixed": "13.3", "fixed_url": "/docs/compare/?release=13.3", "affected": "13", "component": "core server", "mentions": [{"build": "13.3", "version": "13.3", "title": "Prevent integer overflows in array subscripting calculations", "url": "/docs/compare/?release=13.3#13.3-662fbe650093c58f"}], "evidence": "branch-matrix"}, {"id": "CVE-2021-23222", "title": "libpq processes unencrypted bytes from man-in-the-middle", "url": "https://www.postgresql.org/support/security/CVE-2021-23222/", "score": 3.7, "vector": "AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N", "description": "A man-in-the-middle attacker can inject false responses to the client's first few queries, despite the use of SSL certificate verification and encryption.\n\nIf more preconditions hold, the attacker can exfiltrate the client's password or other confidential data that might be transmitted early in a session. The attacker must have a way to trick the client's intended server into making the confidential data accessible to the attacker. A known implementation having that property is a PostgreSQL configuration vulnerable to CVE-2021-23214 . As with any exploitation of CVE-2021-23214 , the server must be using trust authentication with a clientcert requirement or using cert authentication. To disclose a password, the client must be in possession of a password, which is atypical when using an authentication configuration vulnerable to CVE-2021-23214 . The attacker must have some other way to access the server to retrieve the exfiltrated data (a valid, unprivileged login account would be sufficient).\n\nThe PostgreSQL project thanks Jacob Champion for reporting this problem.", "fixed": "13.5", "fixed_url": "/docs/compare/?release=13.5", "affected": "13", "component": "client", "mentions": [{"build": "13.5", "version": "13.5", "title": "Make libpq reject extraneous data after an SSL or GSS encryption handshake", "url": "/docs/compare/?release=13.5#13.5-32b7064eba088818"}], "evidence": "branch-matrix"}, {"id": "CVE-2021-23214", "title": "Server processes unencrypted bytes from man-in-the-middle", "url": "https://www.postgresql.org/support/security/CVE-2021-23214/", "score": 8.1, "vector": "AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H", "description": "When the server is configured to use trust authentication with a clientcert requirement or to use cert authentication, a man-in-the-middle attacker can inject arbitrary SQL queries when a connection is first established, despite the use of SSL certificate verification and encryption. This is similar to CVE-2011-0411 (different product).\n\nThe PostgreSQL project thanks Jacob Champion for reporting this problem.", "fixed": "13.5", "fixed_url": "/docs/compare/?release=13.5", "affected": "13", "component": "core server", "mentions": [{"build": "13.5", "version": "13.5", "title": "Make the server reject extraneous data after an SSL or GSS encryption handshake", "url": "/docs/compare/?release=13.5#13.5-39a07d46c9c5e38f"}, {"build": "13.5", "version": "13.5", "title": "Make libpq reject extraneous data after an SSL or GSS encryption handshake", "url": "/docs/compare/?release=13.5#13.5-32b7064eba088818"}], "evidence": "branch-matrix"}, {"id": "CVE-2021-20229", "title": "Single-column SELECT privilege enables reading all columns", "url": "https://www.postgresql.org/support/security/CVE-2021-20229/", "score": 3.1, "vector": "AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N", "description": "A user having a SELECT privilege on an individual column can craft a special query that returns all columns of the table.\n\nAdditionally, a stored view that uses column-level privileges will have incomplete column-usage bitmaps. In installations that depend on column-level permissions for security, it is recommended to execute CREATE OR REPLACE on all user-defined views to force them to be re-parsed.\n\nThe PostgreSQL project thanks Sven Klemm for reporting this problem.", "fixed": "13.2", "fixed_url": "/docs/compare/?release=13.2", "affected": "13", "component": "core server", "mentions": [{"build": "13.2", "version": "13.2", "title": "Fix failure to check per-column SELECT privileges in some join queries", "url": "/docs/compare/?release=13.2#13.2-d5a989a0616fcbe6"}], "evidence": "branch-matrix"}, {"id": "CVE-2020-25696", "title": "psql's \\gset allows overwriting specially treated variables", "url": "https://www.postgresql.org/support/security/CVE-2020-25696/", "score": 7.5, "vector": "AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H", "description": "The \\gset meta-command, which sets psql variables based on query results, does not distinguish variables that control psql behavior. If an interactive psql session uses \\gset when querying a compromised server, the attacker can execute arbitrary code as the operating system account running psql . Using \\gset with a prefix not found among specially treated variables, e.g. any lowercase string, precludes the attack in an unpatched psql .\n\nThe PostgreSQL project thanks Nick Cleaton for reporting this problem.", "fixed": "13.1", "fixed_url": "/docs/compare/?release=13.1", "affected": "13", "component": "client", "mentions": [{"build": "13.1", "version": "13.1", "title": "Prevent psql's \\gset command from modifying specially-treated variables", "url": "/docs/compare/?release=13.1#13.1-9070105c8a130c54"}], "evidence": "branch-matrix"}, {"id": "CVE-2020-25695", "title": "Multiple features escape \"security restricted operation\" sandbox", "url": "https://www.postgresql.org/support/security/CVE-2020-25695/", "score": 8.8, "vector": "AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "description": "An attacker having permission to create non-temporary objects in at least one schema can execute arbitrary SQL functions under the identity of a superuser.\n\nWhile promptly updating PostgreSQL is the best remediation for most users, a user unable to do that can work around the vulnerability by disabling autovacuum and not manually running ANALYZE , CLUSTER , REINDEX , CREATE INDEX , VACUUM FULL , REFRESH MATERIALIZED VIEW , or a restore from output of the pg_dump command. Performance may degrade quickly under this workaround.\n\nVACUUM without the FULL option is safe, and all commands are fine when a trusted user owns the target object.\n\nThe PostgreSQL project thanks Etienne Stalmans for reporting this problem.", "fixed": "13.1", "fixed_url": "/docs/compare/?release=13.1", "affected": "13", "component": "core server", "mentions": [{"build": "13.1", "version": "13.1", "title": "Block DECLARE CURSOR ... WITH HOLD and firing of deferred triggers within index expressions and materialized view queries", "url": "/docs/compare/?release=13.1#13.1-72b4bd56189200a8"}], "evidence": "branch-matrix"}, {"id": "CVE-2020-25694", "title": "Reconnection can downgrade connection security settings", "url": "https://www.postgresql.org/support/security/CVE-2020-25694/", "score": 8.1, "vector": "AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H", "description": "Many PostgreSQL-provided client applications have options that create additional database connections. Some of those applications reuse only the basic connection parameters (e.g. host , user , port ), dropping others. If this drops a security-relevant parameter (e.g. channel_binding , sslmode , requirepeer , gssencmode ), the attacker has an opportunity to complete a MITM attack or observe cleartext transmission.\n\nAffected applications are clusterdb , pg_dump , pg_restore , psql , reindexdb , and vacuumdb . The vulnerability arises only if one invokes an affected client application with a connection string containing a security-relevant parameter.\n\nThis also fixes how the \\connect command of psql reuses connection parameters, i.e. all non-overridden parameters from a previous connection string now re-used.\n\nThe PostgreSQL project thanks Peter Eisentraut for reporting this problem.", "fixed": "13.1", "fixed_url": "/docs/compare/?release=13.1", "affected": "13", "component": "client", "mentions": [{"build": "13.1", "version": "13.1", "title": "Fix usage of complex connection-string parameters in pg_dump, pg_restore, clusterdb, reindexdb, and vacuumdb", "url": "/docs/compare/?release=13.1#13.1-1006a71ccc1ec016"}, {"build": "13.1", "version": "13.1", "title": "When psql's \\connect command re-uses connection parameters, ensure that all non-overridden parameters from a previous connection string are re-used", "url": "/docs/compare/?release=13.1#13.1-f1badba1aaec4ac5"}], "evidence": "branch-matrix"}, {"id": "CVE-2017-7484", "title": "selectivity estimators bypass SELECT privilege checks", "url": "https://www.postgresql.org/support/security/CVE-2017-7484/", "score": 4.3, "vector": "AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N", "description": "", "fixed": "", "fixed_url": "", "affected": "", "component": "core server", "mentions": [{"build": "13.22", "version": "13.22", "title": "Tighten security checks in planner estimation functions", "url": "/docs/compare/?release=13.22#13.22-639d2c839166c19d"}], "evidence": "release-note-mention"}, {"id": "CVE-2012-0868", "title": "Line breaks in object names can be exploited to execute arbitrary SQL when reloading a pg_dump file.", "url": "https://www.postgresql.org/support/security/CVE-2012-0868/", "score": null, "vector": "", "description": "", "fixed": "", "fixed_url": "", "affected": "", "component": "", "mentions": [{"build": "13.22", "version": "13.22", "title": "Convert newlines to spaces in names included in comments in pg_dump output", "url": "/docs/compare/?release=13.22#13.22-a726243ec1d439af"}], "evidence": "release-note-mention"}, {"id": "CVE-2006-2313", "title": "An attacker able to submit crafted strings to an application that will embed those strings in SQL commands can use invalidly-encoded multibyte characters to bypass standard string-escaping methods, resulting in possible SQL injection.", "url": "https://www.postgresql.org/support/security/CVE-2006-2313/", "score": null, "vector": "", "description": "", "fixed": "", "fixed_url": "", "affected": "", "component": "", "mentions": [{"build": "13.4", "version": "13.4", "title": "In psql and other client programs, avoid overrunning the ends of strings when dealing with invalidly-encoded data", "url": "/docs/compare/?release=13.4#13.4-11a361374616598f"}], "evidence": "release-note-mention"}], "security_covered": true, "release_as_of": "2026-09-26", "security_as_of": "2026-09-26", "policy_url": "https://www.postgresql.org/support/versioning/", "pdfs": [{"label": "A4 PDF", "bytes": 13843239, "url": "/files/documentation/pdf/13/postgresql-13-A4.pdf"}, {"label": "US Letter PDF", "bytes": 13739572, "url": "/files/documentation/pdf/13/postgresql-13-US.pdf"}], "query": "", "selected_kind": "", "branches": [{"branch": "20", "url": "/wiki/versions/20/", "state": "devel", "state_label": "Development", "tag": "devel", "build": "20devel", "first_release": "", "end_of_life": "", "latest_release_date": "", "manual_url": "/docs/devel/index.html", "manual_slug": "devel", "manual_pages": 1162, "manual_loaded_at": "2026-09-28T13:12:51.679520", "source_revision": "", "release_count": 0, "entry_count": 0, "initial": null, "latest": null, "comparison_url": ""}, {"branch": "19", "url": "/wiki/versions/19/", "state": "beta", "state_label": "Preview", "tag": "beta 4", "build": "19beta4", "first_release": "", "end_of_life": "", "latest_release_date": "", "manual_url": "/docs/19/index.html", "manual_slug": "19", "manual_pages": 1160, "manual_loaded_at": "2026-09-27T00:10:47.078613", "source_revision": "", "release_count": 1, "entry_count": 198, "initial": {"version": "19.0", "build": "19beta4", "status": "preview", "date": "", "source_as_of": "2026-09-14", "url": "/docs/compare/?release=19.0", "manual_url": "/docs/19/release-19.html", "source_url": "/docs/release/19.0/", "entry_count": 198, "categories": {"compatibility": 17, "feature": 161, "performance": 20}, "compatibility_count": 17, "cves": [], "cve_count": 0}, "latest": {"version": "19.0", "build": "19beta4", "status": "preview", "date": "", "source_as_of": "2026-09-14", "url": "/docs/compare/?release=19.0", "manual_url": "/docs/19/release-19.html", "source_url": "/docs/release/19.0/", "entry_count": 198, "categories": {"compatibility": 17, "feature": 161, "performance": 20}, "compatibility_count": 17, "cves": [], "cve_count": 0}, "comparison_url": ""}, {"branch": "18", "url": "/wiki/versions/18/", "state": "current", "state_label": "Current stable", "tag": "current", "build": "18.6", "first_release": "2025-09-25", "end_of_life": "2030-11-14", "latest_release_date": "2026-08-13", "manual_url": "/docs/18/index.html", "manual_slug": "18", "manual_pages": 1151, "manual_loaded_at": "2026-09-27T00:10:47.078613", "source_revision": "", "release_count": 6, "entry_count": 561, "initial": {"version": "18.0", "build": "18.0", "status": "stable", "date": "2025-09-25", "source_as_of": "", "url": "/docs/compare/?release=18.0", "manual_url": "/docs/18/release-18.html", "source_url": "/docs/release/18.0/", "entry_count": 210, "categories": {"compatibility": 11, "feature": 188, "performance": 10, "bugfix": 1}, "compatibility_count": 11, "cves": [], "cve_count": 0}, "latest": {"version": "18.6", "build": "18.6", "status": "stable", "date": "2026-08-13", "source_as_of": "", "url": "/docs/compare/?release=18.6", "manual_url": "/docs/18/release-18-6.html", "source_url": "/docs/release/18.6/", "entry_count": 140, "categories": {"security": 29, "improvement": 46, "bugfix": 65}, "compatibility_count": 0, "cves": ["CVE-2025-8714", "CVE-2026-14662", "CVE-2026-14663", "CVE-2026-14664", "CVE-2026-14666", "CVE-2026-14668", "CVE-2026-14669", "CVE-2026-14670", "CVE-2026-14671", "CVE-2026-14672", "CVE-2026-14673", "CVE-2026-14676", "CVE-2026-14677", "CVE-2026-14678", "CVE-2026-14679", "CVE-2026-14680", "CVE-2026-14681", "CVE-2026-15741", "CVE-2026-15742", "CVE-2026-16238", "CVE-2026-16239", "CVE-2026-16241", "CVE-2026-18024", "CVE-2026-18408", "CVE-2026-19385", "CVE-2026-6464", "CVE-2026-6469", "CVE-2026-6470", "CVE-2026-6471", "CVE-2026-6473", "CVE-2026-6637"], "cve_count": 31}, "comparison_url": "/docs/compare/?from=18.0&to=18.6"}, {"branch": "17", "url": "/wiki/versions/17/", "state": "supported", "state_label": "Supported", "tag": "", "build": "17.11", "first_release": "2024-09-26", "end_of_life": "2029-11-08", "latest_release_date": "2026-08-13", "manual_url": "/docs/17/index.html", "manual_slug": "17", "manual_pages": 1146, "manual_loaded_at": "2026-09-27T00:10:47.078613", "source_revision": "", "release_count": 12, "entry_count": 727, "initial": {"version": "17.0", "build": "17.0", "status": "stable", "date": "2024-09-26", "source_as_of": "", "url": "/docs/compare/?release=17.0", "manual_url": "/docs/17/release-17.html", "source_url": "/docs/release/17.0/", "entry_count": 182, "categories": {"compatibility": 17, "feature": 154, "bugfix": 2, "performance": 9}, "compatibility_count": 17, "cves": [], "cve_count": 0}, "latest": {"version": "17.11", "build": "17.11", "status": "stable", "date": "2026-08-13", "source_as_of": "", "url": "/docs/compare/?release=17.11", "manual_url": "/docs/17/release-17-11.html", "source_url": "/docs/release/17.11/", "entry_count": 109, "categories": {"security": 29, "bugfix": 49, "improvement": 31}, "compatibility_count": 0, "cves": ["CVE-2025-8714", "CVE-2026-14662", "CVE-2026-14663", "CVE-2026-14664", "CVE-2026-14666", "CVE-2026-14668", "CVE-2026-14669", "CVE-2026-14670", "CVE-2026-14671", "CVE-2026-14672", "CVE-2026-14673", "CVE-2026-14676", "CVE-2026-14677", "CVE-2026-14678", "CVE-2026-14679", "CVE-2026-14680", "CVE-2026-14681", "CVE-2026-15741", "CVE-2026-15742", "CVE-2026-16238", "CVE-2026-16239", "CVE-2026-16241", "CVE-2026-18024", "CVE-2026-18408", "CVE-2026-19385", "CVE-2026-6464", "CVE-2026-6469", "CVE-2026-6470", "CVE-2026-6471", "CVE-2026-6473", "CVE-2026-6637"], "cve_count": 31}, "comparison_url": "/docs/compare/?from=17.0&to=17.11"}, {"branch": "16", "url": "/wiki/versions/16/", "state": "supported", "state_label": "Supported", "tag": "", "build": "16.15", "first_release": "2023-09-14", "end_of_life": "2028-11-09", "latest_release_date": "2026-08-13", "manual_url": "/docs/16/index.html", "manual_slug": "16", "manual_pages": 1172, "manual_loaded_at": "2026-09-27T00:10:47.078613", "source_revision": "", "release_count": 16, "entry_count": 930, "initial": {"version": "16.0", "build": "16.0", "status": "stable", "date": "2023-09-14", "source_as_of": "", "url": "/docs/compare/?release=16.0", "manual_url": "/docs/16/release-16.html", "source_url": "/docs/release/16.0/", "entry_count": 206, "categories": {"compatibility": 13, "feature": 175, "performance": 15, "bugfix": 3}, "compatibility_count": 13, "cves": [], "cve_count": 0}, "latest": {"version": "16.15", "build": "16.15", "status": "stable", "date": "2026-08-13", "source_as_of": "", "url": "/docs/compare/?release=16.15", "manual_url": "/docs/16/release-16-15.html", "source_url": "/docs/release/16.15/", "entry_count": 98, "categories": {"security": 29, "bugfix": 42, "improvement": 27}, "compatibility_count": 0, "cves": ["CVE-2025-8714", "CVE-2026-14662", "CVE-2026-14663", "CVE-2026-14664", "CVE-2026-14666", "CVE-2026-14668", "CVE-2026-14669", "CVE-2026-14670", "CVE-2026-14671", "CVE-2026-14672", "CVE-2026-14673", "CVE-2026-14676", "CVE-2026-14677", "CVE-2026-14678", "CVE-2026-14679", "CVE-2026-14680", "CVE-2026-14681", "CVE-2026-15741", "CVE-2026-15742", "CVE-2026-16238", "CVE-2026-16239", "CVE-2026-16241", "CVE-2026-18024", "CVE-2026-18408", "CVE-2026-19385", "CVE-2026-6464", "CVE-2026-6469", "CVE-2026-6470", "CVE-2026-6471", "CVE-2026-6473", "CVE-2026-6637"], "cve_count": 31}, "comparison_url": "/docs/compare/?from=16.0&to=16.15"}, {"branch": "15", "url": "/wiki/versions/15/", "state": "supported", "state_label": "Supported", "tag": "", "build": "15.19", "first_release": "2022-10-13", "end_of_life": "2027-11-11", "latest_release_date": "2026-08-13", "manual_url": "/docs/15/index.html", "manual_slug": "15", "manual_pages": 1171, "manual_loaded_at": "2026-09-27T00:10:47.078613", "source_revision": "", "release_count": 20, "entry_count": 1046, "initial": {"version": "15.0", "build": "15.0", "status": "stable", "date": "2022-10-13", "source_as_of": "", "url": "/docs/compare/?release=15.0", "manual_url": "/docs/15/release-15.html", "source_url": "/docs/release/15.0/", "entry_count": 184, "categories": {"security": 1, "compatibility": 30, "feature": 135, "bugfix": 3, "performance": 15}, "compatibility_count": 31, "cves": ["CVE-2018-1058"], "cve_count": 1}, "latest": {"version": "15.19", "build": "15.19", "status": "stable", "date": "2026-08-13", "source_as_of": "", "url": "/docs/compare/?release=15.19", "manual_url": "/docs/15/release-15-19.html", "source_url": "/docs/release/15.19/", "entry_count": 90, "categories": {"security": 29, "bugfix": 36, "improvement": 25}, "compatibility_count": 0, "cves": ["CVE-2025-8714", "CVE-2026-14662", "CVE-2026-14663", "CVE-2026-14664", "CVE-2026-14666", "CVE-2026-14668", "CVE-2026-14669", "CVE-2026-14670", "CVE-2026-14671", "CVE-2026-14672", "CVE-2026-14673", "CVE-2026-14676", "CVE-2026-14677", "CVE-2026-14678", "CVE-2026-14679", "CVE-2026-14680", "CVE-2026-14681", "CVE-2026-15741", "CVE-2026-15742", "CVE-2026-16238", "CVE-2026-16239", "CVE-2026-16241", "CVE-2026-18024", "CVE-2026-18408", "CVE-2026-19385", "CVE-2026-6464", "CVE-2026-6469", "CVE-2026-6470", "CVE-2026-6471", "CVE-2026-6473", "CVE-2026-6637"], "cve_count": 31}, "comparison_url": "/docs/compare/?from=15.0&to=15.19"}, {"branch": "14", "url": "/wiki/versions/14/", "state": "supported", "state_label": "Supported", "tag": "", "build": "14.24", "first_release": "2021-09-30", "end_of_life": "2026-11-12", "latest_release_date": "2026-08-13", "manual_url": "/docs/14/index.html", "manual_slug": "14", "manual_pages": 1161, "manual_loaded_at": "2026-09-27T00:10:47.078613", "source_revision": "", "release_count": 25, "entry_count": 1206, "initial": {"version": "14.0", "build": "14.0", "status": "stable", "date": "2021-09-30", "source_as_of": "", "url": "/docs/compare/?release=14.0", "manual_url": "/docs/14/release-14.html", "source_url": "/docs/release/14.0/", "entry_count": 220, "categories": {"compatibility": 27, "feature": 178, "performance": 13, "bugfix": 2}, "compatibility_count": 27, "cves": [], "cve_count": 0}, "latest": {"version": "14.24", "build": "14.24", "status": "stable", "date": "2026-08-13", "source_as_of": "", "url": "/docs/compare/?release=14.24", "manual_url": "/docs/14/release-14-24.html", "source_url": "/docs/release/14.24/", "entry_count": 83, "categories": {"security": 29, "bugfix": 31, "improvement": 23}, "compatibility_count": 0, "cves": ["CVE-2025-8714", "CVE-2026-14662", "CVE-2026-14663", "CVE-2026-14664", "CVE-2026-14666", "CVE-2026-14668", "CVE-2026-14669", "CVE-2026-14670", "CVE-2026-14671", "CVE-2026-14672", "CVE-2026-14673", "CVE-2026-14676", "CVE-2026-14677", "CVE-2026-14678", "CVE-2026-14679", "CVE-2026-14680", "CVE-2026-14681", "CVE-2026-15741", "CVE-2026-15742", "CVE-2026-16238", "CVE-2026-16239", "CVE-2026-16241", "CVE-2026-18024", "CVE-2026-18408", "CVE-2026-19385", "CVE-2026-6464", "CVE-2026-6469", "CVE-2026-6470", "CVE-2026-6471", "CVE-2026-6473", "CVE-2026-6637"], "cve_count": 31}, "comparison_url": "/docs/compare/?from=14.0&to=14.24"}, {"branch": "13", "url": "/wiki/versions/13/", "state": "eol", "state_label": "End of life", "tag": "", "build": "13.23", "first_release": "2020-09-24", "end_of_life": "2025-11-13", "latest_release_date": "2025-11-13", "manual_url": "/docs/13/index.html", "manual_slug": "13", "manual_pages": 1142, "manual_loaded_at": "2026-09-27T00:10:47.078613", "source_revision": "", "release_count": 24, "entry_count": 1164, "initial": {"version": "13.0", "build": "13.0", "status": "stable", "date": "2020-09-24", "source_as_of": "", "url": "/docs/compare/?release=13.0", "manual_url": "/docs/13/release-13.html", "source_url": "/docs/release/13.0/", "entry_count": 178, "categories": {"compatibility": 15, "feature": 143, "performance": 16, "bugfix": 4}, "compatibility_count": 15, "cves": [], "cve_count": 0}, "latest": {"version": "13.23", "build": "13.23", "status": "stable", "date": "2025-11-13", "source_as_of": "", "url": "/docs/compare/?release=13.23", "manual_url": "/docs/13/release-13-23.html", "source_url": "/docs/release/13.23/", "entry_count": 43, "categories": {"security": 2, "bugfix": 22, "improvement": 19}, "compatibility_count": 0, "cves": ["CVE-2025-12817", "CVE-2025-12818"], "cve_count": 2}, "comparison_url": "/docs/compare/?from=13.0&to=13.23"}, {"branch": "12", "url": "/wiki/versions/12/", "state": "eol", "state_label": "End of life", "tag": "", "build": "12.22", "first_release": "2019-10-03", "end_of_life": "2024-11-21", "latest_release_date": "2024-11-21", "manual_url": "/docs/12/index.html", "manual_slug": "12", "manual_pages": 1133, "manual_loaded_at": "2026-09-27T00:10:47.078613", "source_revision": "", "release_count": 23, "entry_count": 1181, "initial": {"version": "12.0", "build": "12.0", "status": "stable", "date": "2019-10-03", "source_as_of": "", "url": "/docs/compare/?release=12.0", "manual_url": "/docs/12/release-12.html", "source_url": "/docs/release/12.0/", "entry_count": 180, "categories": {"compatibility": 23, "performance": 14, "feature": 139, "bugfix": 4}, "compatibility_count": 23, "cves": [], "cve_count": 0}, "latest": {"version": "12.22", "build": "12.22", "status": "stable", "date": "2024-11-21", "source_as_of": "", "url": "/docs/compare/?release=12.22", "manual_url": "/docs/12/release-12-22.html", "source_url": "/docs/release/12.22/", "entry_count": 1, "categories": {"security": 1}, "compatibility_count": 0, "cves": ["CVE-2024-10978"], "cve_count": 1}, "comparison_url": "/docs/compare/?from=12.0&to=12.22"}, {"branch": "11", "url": "/wiki/versions/11/", "state": "eol", "state_label": "End of life", "tag": "", "build": "11.22", "first_release": "2018-10-18", "end_of_life": "2023-11-09", "latest_release_date": "2023-11-09", "manual_url": "/docs/11/index.html", "manual_slug": "11", "manual_pages": 1125, "manual_loaded_at": "2026-09-27T00:10:47.078613", "source_revision": "", "release_count": 23, "entry_count": 1141, "initial": {"version": "11.0", "build": "11.0", "status": "stable", "date": "2018-10-18", "source_as_of": "", "url": "/docs/compare/?release=11.0", "manual_url": "/docs/11/release-11.html", "source_url": "/docs/release/11.0/", "entry_count": 170, "categories": {"compatibility": 20, "feature": 134, "performance": 15, "bugfix": 1}, "compatibility_count": 20, "cves": [], "cve_count": 0}, "latest": {"version": "11.22", "build": "11.22", "status": "stable", "date": "2023-11-09", "source_as_of": "", "url": "/docs/compare/?release=11.22", "manual_url": "/docs/11/release-11-22.html", "source_url": "/docs/release/11.22/", "entry_count": 31, "categories": {"security": 3, "bugfix": 10, "improvement": 18}, "compatibility_count": 0, "cves": ["CVE-2023-5868", "CVE-2023-5869", "CVE-2023-5870"], "cve_count": 3}, "comparison_url": "/docs/compare/?from=11.0&to=11.22"}, {"branch": "10", "url": "/wiki/versions/10/", "state": "eol", "state_label": "End of life", "tag": "", "build": "10.23", "first_release": "2017-10-05", "end_of_life": "2022-11-10", "latest_release_date": "2022-11-10", "manual_url": "/docs/10/index.html", "manual_slug": "10", "manual_pages": 1085, "manual_loaded_at": "2026-09-27T00:10:47.078613", "source_revision": "", "release_count": 24, "entry_count": 1140, "initial": {"version": "10.0", "build": "10.0", "status": "stable", "date": "2017-10-05", "source_as_of": "", "url": "/docs/compare/?release=10.0", "manual_url": "/docs/10/release-10.html", "source_url": "/docs/release/10.0/", "entry_count": 189, "categories": {"compatibility": 27, "feature": 148, "performance": 12, "bugfix": 2}, "compatibility_count": 27, "cves": [], "cve_count": 0}, "latest": {"version": "10.23", "build": "10.23", "status": "stable", "date": "2022-11-10", "source_as_of": "", "url": "/docs/compare/?release=10.23", "manual_url": "/docs/10/release-10-23.html", "source_url": "/docs/release/10.23/", "entry_count": 29, "categories": {"bugfix": 13, "improvement": 16}, "compatibility_count": 0, "cves": [], "cve_count": 0}, "comparison_url": "/docs/compare/?from=10.0&to=10.23"}, {"branch": "9.6", "url": "/wiki/versions/9.6/", "state": "eol", "state_label": "End of life", "tag": "", "build": "9.6.24", "first_release": "2016-09-29", "end_of_life": "2021-11-11", "latest_release_date": "2021-11-11", "manual_url": "/docs/9.6/index.html", "manual_slug": "9.6", "manual_pages": 1046, "manual_loaded_at": "2026-09-27T00:10:47.078613", "source_revision": "", "release_count": 25, "entry_count": 1105, "initial": {"version": "9.6.0", "build": "9.6.0", "status": "stable", "date": "2016-09-29", "source_as_of": "", "url": "/docs/compare/?release=9.6.0", "manual_url": "/docs/9.6/release-9-6.html", "source_url": "/docs/release/9.6.0/", "entry_count": 214, "categories": {"compatibility": 13, "feature": 169, "performance": 26, "bugfix": 6}, "compatibility_count": 13, "cves": [], "cve_count": 0}, "latest": {"version": "9.6.24", "build": "9.6.24", "status": "stable", "date": "2021-11-11", "source_as_of": "", "url": "/docs/compare/?release=9.6.24", "manual_url": "/docs/9.6/release-9-6-24.html", "source_url": "/docs/release/9.6.24/", "entry_count": 40, "categories": {"security": 2, "bugfix": 18, "improvement": 19, "performance": 1}, "compatibility_count": 0, "cves": ["CVE-2021-23214", "CVE-2021-23222"], "cve_count": 2}, "comparison_url": "/docs/compare/?from=9.6.0&to=9.6.24"}, {"branch": "9.5", "url": "/wiki/versions/9.5/", "state": "eol", "state_label": "End of life", "tag": "", "build": "9.5.25", "first_release": "2016-01-07", "end_of_life": "2021-02-11", "latest_release_date": "2021-02-11", "manual_url": "/docs/9.5/index.html", "manual_slug": "9.5", "manual_pages": 1029, "manual_loaded_at": "2026-09-27T00:10:47.078613", "source_revision": "", "release_count": 26, "entry_count": 1026, "initial": {"version": "9.5.0", "build": "9.5.0", "status": "stable", "date": "2016-01-07", "source_as_of": "", "url": "/docs/compare/?release=9.5.0", "manual_url": "/docs/9.5/release-9-5.html", "source_url": "/docs/release/9.5.0/", "entry_count": 193, "categories": {"compatibility": 12, "feature": 163, "performance": 17, "bugfix": 1}, "compatibility_count": 12, "cves": [], "cve_count": 0}, "latest": {"version": "9.5.25", "build": "9.5.25", "status": "stable", "date": "2021-02-11", "source_as_of": "", "url": "/docs/compare/?release=9.5.25", "manual_url": "/docs/9.5/release-9-5-25.html", "source_url": "/docs/release/9.5.25/", "entry_count": 32, "categories": {"bugfix": 15, "improvement": 17}, "compatibility_count": 0, "cves": [], "cve_count": 0}, "comparison_url": "/docs/compare/?from=9.5.0&to=9.5.25"}, {"branch": "9.4", "url": "/wiki/versions/9.4/", "state": "eol", "state_label": "End of life", "tag": "", "build": "9.4.26", "first_release": "2014-12-18", "end_of_life": "2020-02-13", "latest_release_date": "2020-02-13", "manual_url": "/docs/9.4/index.html", "manual_slug": "9.4", "manual_pages": 1002, "manual_loaded_at": "2026-09-27T00:10:47.078613", "source_revision": "", "release_count": 27, "entry_count": 1007, "initial": {"version": "9.4.0", "build": "9.4.0", "status": "stable", "date": "2014-12-18", "source_as_of": "", "url": "/docs/compare/?release=9.4.0", "manual_url": "/docs/9.4/release-9-4.html", "source_url": "/docs/release/9.4.0/", "entry_count": 211, "categories": {"compatibility": 22, "feature": 171, "bugfix": 6, "performance": 12}, "compatibility_count": 22, "cves": [], "cve_count": 0}, "latest": {"version": "9.4.26", "build": "9.4.26", "status": "stable", "date": "2020-02-13", "source_as_of": "", "url": "/docs/compare/?release=9.4.26", "manual_url": "/docs/9.4/release-9-4-26.html", "source_url": "/docs/release/9.4.26/", "entry_count": 28, "categories": {"improvement": 12, "bugfix": 15, "performance": 1}, "compatibility_count": 0, "cves": [], "cve_count": 0}, "comparison_url": "/docs/compare/?from=9.4.0&to=9.4.26"}, {"branch": "9.3", "url": "/wiki/versions/9.3/", "state": "eol", "state_label": "End of life", "tag": "", "build": "9.3.25", "first_release": "2013-09-09", "end_of_life": "2018-11-08", "latest_release_date": "2018-11-08", "manual_url": "/docs/9.3/index.html", "manual_slug": "9.3", "manual_pages": 1265, "manual_loaded_at": "2026-09-27T00:10:47.078613", "source_revision": "", "release_count": 26, "entry_count": 968, "initial": {"version": "9.3.0", "build": "9.3.0", "status": "stable", "date": "2013-09-09", "source_as_of": "", "url": "/docs/compare/?release=9.3.0", "manual_url": "/docs/9.3/release-9-3.html", "source_url": "/docs/release/9.3.0/", "entry_count": 177, "categories": {"compatibility": 10, "feature": 148, "performance": 13, "bugfix": 6}, "compatibility_count": 10, "cves": [], "cve_count": 0}, "latest": {"version": "9.3.25", "build": "9.3.25", "status": "stable", "date": "2018-11-08", "source_as_of": "", "url": "/docs/compare/?release=9.3.25", "manual_url": "/docs/9.3/release-9-3-25.html", "source_url": "/docs/release/9.3.25/", "entry_count": 35, "categories": {"bugfix": 17, "improvement": 18}, "compatibility_count": 0, "cves": [], "cve_count": 0}, "comparison_url": "/docs/compare/?from=9.3.0&to=9.3.25"}, {"branch": "9.2", "url": "/wiki/versions/9.2/", "state": "eol", "state_label": "End of life", "tag": "", "build": "9.2.24", "first_release": "2012-09-10", "end_of_life": "2017-11-09", "latest_release_date": "2017-11-09", "manual_url": "/docs/9.2/index.html", "manual_slug": "9.2", "manual_pages": 1218, "manual_loaded_at": "2026-09-27T00:10:47.078613", "source_revision": "", "release_count": 25, "entry_count": 968, "initial": {"version": "9.2.0", "build": "9.2.0", "status": "stable", "date": "2012-09-10", "source_as_of": "", "url": "/docs/compare/?release=9.2.0", "manual_url": "/docs/9.2/release-9-2.html", "source_url": "/docs/release/9.2.0/", "entry_count": 238, "categories": {"compatibility": 23, "feature": 197, "performance": 12, "bugfix": 6}, "compatibility_count": 23, "cves": [], "cve_count": 0}, "latest": {"version": "9.2.24", "build": "9.2.24", "status": "stable", "date": "2017-11-09", "source_as_of": "", "url": "/docs/compare/?release=9.2.24", "manual_url": "/docs/9.2/release-9-2-24.html", "source_url": "/docs/release/9.2.24/", "entry_count": 13, "categories": {"security": 1, "improvement": 7, "bugfix": 5}, "compatibility_count": 0, "cves": ["CVE-2017-12172"], "cve_count": 1}, "comparison_url": "/docs/compare/?from=9.2.0&to=9.2.24"}, {"branch": "9.1", "url": "/wiki/versions/9.1/", "state": "eol", "state_label": "End of life", "tag": "", "build": "9.1.24", "first_release": "2011-09-12", "end_of_life": "2016-10-27", "latest_release_date": "2016-10-27", "manual_url": "/docs/9.1/index.html", "manual_slug": "9.1", "manual_pages": 1165, "manual_loaded_at": "2026-09-27T00:10:47.078613", "source_revision": "", "release_count": 25, "entry_count": 895, "initial": {"version": "9.1.0", "build": "9.1.0", "status": "stable", "date": "2011-09-12", "source_as_of": "", "url": "/docs/compare/?release=9.1.0", "manual_url": "/docs/9.1/release-9-1.html", "source_url": "/docs/release/9.1.0/", "entry_count": 203, "categories": {"compatibility": 17, "feature": 174, "performance": 3, "bugfix": 9}, "compatibility_count": 17, "cves": [], "cve_count": 0}, "latest": {"version": "9.1.24", "build": "9.1.24", "status": "stable", "date": "2016-10-27", "source_as_of": "", "url": "/docs/compare/?release=9.1.24", "manual_url": "/docs/9.1/release-9-1-24.html", "source_url": "/docs/release/9.1.24/", "entry_count": 13, "categories": {"bugfix": 7, "improvement": 6}, "compatibility_count": 0, "cves": [], "cve_count": 0}, "comparison_url": "/docs/compare/?from=9.1.0&to=9.1.24"}, {"branch": "9.0", "url": "/wiki/versions/9.0/", "state": "eol", "state_label": "End of life", "tag": "", "build": "9.0.23", "first_release": "2010-09-20", "end_of_life": "2015-10-08", "latest_release_date": "2015-10-08", "manual_url": "/docs/9.0/index.html", "manual_slug": "9.0", "manual_pages": 1086, "manual_loaded_at": "2026-09-27T00:10:47.078613", "source_revision": "", "release_count": 24, "entry_count": 850, "initial": {"version": "9.0.0", "build": "9.0.0", "status": "stable", "date": "2010-09-20", "source_as_of": "", "url": "/docs/compare/?release=9.0.0", "manual_url": "/docs/9.0/release-9-0.html", "source_url": "/docs/release/9.0.0/", "entry_count": 237, "categories": {"compatibility": 20, "feature": 206, "performance": 6, "bugfix": 5}, "compatibility_count": 20, "cves": [], "cve_count": 0}, "latest": {"version": "9.0.23", "build": "9.0.23", "status": "stable", "date": "2015-10-08", "source_as_of": "", "url": "/docs/compare/?release=9.0.23", "manual_url": "/docs/9.0/release-9-0-23.html", "source_url": "/docs/release/9.0.23/", "entry_count": 47, "categories": {"security": 1, "bugfix": 25, "improvement": 21}, "compatibility_count": 0, "cves": ["CVE-2015-5288"], "cve_count": 1}, "comparison_url": "/docs/compare/?from=9.0.0&to=9.0.23"}, {"branch": "8.4", "url": "/wiki/versions/8.4/", "state": "eol", "state_label": "End of life", "tag": "", "build": "8.4.22", "first_release": "2009-07-01", "end_of_life": "2014-07-24", "latest_release_date": "2014-07-24", "manual_url": "/docs/8.4/index.html", "manual_slug": "8.4", "manual_pages": 1029, "manual_loaded_at": "2026-09-27T00:10:47.078613", "source_revision": "", "release_count": 0, "entry_count": 0, "initial": null, "latest": null, "comparison_url": ""}, {"branch": "8.3", "url": "/wiki/versions/8.3/", "state": "eol", "state_label": "End of life", "tag": "", "build": "8.3.23", "first_release": "2008-02-04", "end_of_life": "2013-02-07", "latest_release_date": "2013-02-07", "manual_url": "/docs/8.3/index.html", "manual_slug": "8.3", "manual_pages": 974, "manual_loaded_at": "2026-09-27T00:10:47.078613", "source_revision": "", "release_count": 0, "entry_count": 0, "initial": null, "latest": null, "comparison_url": ""}, {"branch": "8.2", "url": "/wiki/versions/8.2/", "state": "eol", "state_label": "End of life", "tag": "", "build": "8.2.23", "first_release": "2006-12-05", "end_of_life": "2011-12-05", "latest_release_date": "2011-12-05", "manual_url": "/docs/8.2/index.html", "manual_slug": "8.2", "manual_pages": 843, "manual_loaded_at": "2026-09-27T00:10:47.078613", "source_revision": "", "release_count": 0, "entry_count": 0, "initial": null, "latest": null, "comparison_url": ""}, {"branch": "8.1", "url": "/wiki/versions/8.1/", "state": "eol", "state_label": "End of life", "tag": "", "build": "8.1.23", "first_release": "2005-11-08", "end_of_life": "2010-11-08", "latest_release_date": "2010-12-16", "manual_url": "/docs/8.1/index.html", "manual_slug": "8.1", "manual_pages": 730, "manual_loaded_at": "2026-09-27T00:10:47.078613", "source_revision": "", "release_count": 0, "entry_count": 0, "initial": null, "latest": null, "comparison_url": ""}, {"branch": "8.0", "url": "/wiki/versions/8.0/", "state": "eol", "state_label": "End of life", "tag": "", "build": "8.0.26", "first_release": "2005-01-19", "end_of_life": "2010-10-01", "latest_release_date": "2010-10-04", "manual_url": "/docs/8.0/index.html", "manual_slug": "8.0", "manual_pages": 664, "manual_loaded_at": "2026-09-27T00:10:47.078613", "source_revision": "", "release_count": 0, "entry_count": 0, "initial": null, "latest": null, "comparison_url": ""}, {"branch": "7.4", "url": "/wiki/versions/7.4/", "state": "eol", "state_label": "End of life", "tag": "", "build": "7.4.30", "first_release": "2003-11-17", "end_of_life": "2010-10-01", "latest_release_date": "2010-10-04", "manual_url": "/docs/7.4/index.html", "manual_slug": "7.4", "manual_pages": 644, "manual_loaded_at": "2026-09-27T00:10:47.078613", "source_revision": "", "release_count": 0, "entry_count": 0, "initial": null, "latest": null, "comparison_url": ""}, {"branch": "7.3", "url": "/wiki/versions/7.3/", "state": "eol", "state_label": "End of life", "tag": "", "build": "7.3.21", "first_release": "2002-11-27", "end_of_life": "2007-11-27", "latest_release_date": "2008-01-07", "manual_url": "/docs/7.3/index.html", "manual_slug": "7.3", "manual_pages": 616, "manual_loaded_at": "2026-09-27T00:10:47.078613", "source_revision": "", "release_count": 0, "entry_count": 0, "initial": null, "latest": null, "comparison_url": ""}, {"branch": "7.2", "url": "/wiki/versions/7.2/", "state": "eol", "state_label": "End of life", "tag": "", "build": "7.2.8", "first_release": "2002-02-04", "end_of_life": "2007-02-04", "latest_release_date": "2005-05-09", "manual_url": "/docs/7.2/index.html", "manual_slug": "7.2", "manual_pages": 552, "manual_loaded_at": "2026-09-27T00:10:47.078613", "source_revision": "", "release_count": 0, "entry_count": 0, "initial": null, "latest": null, "comparison_url": ""}, {"branch": "7.1", "url": "/wiki/versions/7.1/", "state": "eol", "state_label": "End of life", "tag": "", "build": "7.1.3", "first_release": "2001-04-13", "end_of_life": "2006-04-13", "latest_release_date": "2001-08-17", "manual_url": "/docs/7.1/postgres.html", "manual_slug": "7.1", "manual_pages": 488, "manual_loaded_at": "2026-09-27T00:10:47.078613", "source_revision": "", "release_count": 0, "entry_count": 0, "initial": null, "latest": null, "comparison_url": ""}, {"branch": "7.0", "url": "/wiki/versions/7.0/", "state": "eol", "state_label": "End of life", "tag": "", "build": "7.0.3", "first_release": "2000-05-08", "end_of_life": "2005-05-08", "latest_release_date": "2000-11-12", "manual_url": "/docs/7.0/postgres.htm", "manual_slug": "7.0", "manual_pages": 411, "manual_loaded_at": "2026-09-27T00:10:47.078613", "source_revision": "", "release_count": 0, "entry_count": 0, "initial": null, "latest": null, "comparison_url": ""}, {"branch": "6.5", "url": "/wiki/versions/6.5/", "state": "eol", "state_label": "End of life", "tag": "", "build": "6.5.3", "first_release": "1999-06-09", "end_of_life": "2004-06-09", "latest_release_date": "1999-11-04", "manual_url": "/docs/6.5/postgres.htm", "manual_slug": "6.5", "manual_pages": 370, "manual_loaded_at": "2026-09-27T00:10:47.078613", "source_revision": "", "release_count": 0, "entry_count": 0, "initial": null, "latest": null, "comparison_url": ""}, {"branch": "6.4", "url": "/wiki/versions/6.4/", "state": "eol", "state_label": "End of life", "tag": "", "build": "6.4.2", "first_release": "1998-10-30", "end_of_life": "2003-10-30", "latest_release_date": "1999-01-03", "manual_url": "/docs/6.4/postgres.htm", "manual_slug": "6.4", "manual_pages": 340, "manual_loaded_at": "2026-09-27T00:10:47.078613", "source_revision": "", "release_count": 0, "entry_count": 0, "initial": null, "latest": null, "comparison_url": ""}, {"branch": "6.3", "url": "/wiki/versions/6.3/", "state": "eol", "state_label": "End of life", "tag": "", "build": "6.3.2", "first_release": "1998-03-01", "end_of_life": "2003-03-01", "latest_release_date": "", "manual_url": "/docs/6.3/book01.htm", "manual_slug": "6.3", "manual_pages": 225, "manual_loaded_at": "2026-09-27T00:10:47.078613", "source_revision": "", "release_count": 0, "entry_count": 0, "initial": null, "latest": null, "comparison_url": ""}]}