{"format": 1, "mode": "release", "from_release": null, "to_release": {"date": "2021-09-30", "build": "14.0", "major": "14", "minor": 0, "manual": "14", "status": "stable", "doc_git": "", "version": "14.0", "eol_date": "2026-11-12", "date_text": "2021-09-30", "supported": true, "manual_url": "/docs/14/release-14.html", "source_url": "/docs/release/14.0/", "entry_count": 220, "placeholder": false, "content_hash": "12539df08d51bf992d1e4ad457c8e93b7afbbf297e5d95b58c6056b24f86a13c", "manual_build": "14.24", "source_as_of": "", "changes_count": 193, "doc_loaded_at": "2026-09-25T02:22:44.760693", "migration_html": "<p>A dump/restore using <a href=\"/docs/14/app-pg-dumpall.html\" title=\"pg_dumpall\"><span><span>pg_dumpall</span></span></a> or use of <a href=\"/docs/14/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/14/upgrading.html\" title=\"19.6. Upgrading a PostgreSQL Cluster\">Section 19.6</a> for general information on migrating to new major releases.</p>\n<p>Version 14 contains a number of changes that may affect compatibility with previous releases. Observe the following incompatibilities:</p>\n<div>\n</div>", "compatibility_count": 27, "label": "14.0", "status_label": "Supported", "eol": "2026-11-12", "age_days": 1825, "support_days": 44}, "groups": [{"date": "2021-09-30", "build": "14.0", "major": "14", "minor": 0, "manual": "14", "status": "stable", "doc_git": "", "version": "14.0", "eol_date": "2026-11-12", "date_text": "2021-09-30", "supported": true, "manual_url": "/docs/14/release-14.html", "source_url": "/docs/release/14.0/", "entry_count": 220, "placeholder": false, "content_hash": "12539df08d51bf992d1e4ad457c8e93b7afbbf297e5d95b58c6056b24f86a13c", "manual_build": "14.24", "source_as_of": "", "changes_count": 193, "doc_loaded_at": "2026-09-25T02:22:44.760693", "migration_html": "<p>A dump/restore using <a href=\"/docs/14/app-pg-dumpall.html\" title=\"pg_dumpall\"><span><span>pg_dumpall</span></span></a> or use of <a href=\"/docs/14/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/14/upgrading.html\" title=\"19.6. Upgrading a PostgreSQL Cluster\">Section 19.6</a> for general information on migrating to new major releases.</p>\n<p>Version 14 contains a number of changes that may affect compatibility with previous releases. Observe the following incompatibilities:</p>\n<div>\n</div>", "compatibility_count": 27, "label": "14.0", "status_label": "Supported", "eol": "2026-11-12", "age_days": 1825, "support_days": 44, "entries": [{"id": "14.0-85566e3576b3d533", "cves": [], "html": "<p>User-defined objects that reference certain built-in array functions along with their argument types must be recreated (Tom Lane) <a href=\"https://postgr.es/c/9e38c2bb5\">§</a></p>\n<p>Specifically, <a href=\"/docs/14/functions-array.html\" title=\"9.19. Array Functions and Operators\"><code>array_append()</code></a>, <code>array_prepend()</code>, <code>array_cat()</code>, <code>array_position()</code>, <code>array_positions()</code>, <code>array_remove()</code>, <code>array_replace()</code>, and <a href=\"/docs/14/functions-math.html\" title=\"9.3. Mathematical Functions and Operators\"><code>width_bucket()</code></a> used to take <code>anyarray</code> arguments but now take <code>anycompatiblearray</code>. Therefore, user-defined objects like aggregates and operators that reference those array function signatures must be dropped before upgrading, and recreated once the upgrade completes.</p>", "text": "User-defined objects that reference certain built-in array functions along with their argument types must be recreated (Tom Lane) § Specifically, array_append(), array_prepend(), array_cat(), array_position(), array_positions(), array_remove(), array_replace(), and width_bucket() used to take anyarray arguments but now take anycompatiblearray. Therefore, user-defined objects like aggregates and operators that reference those array function signatures must be dropped before upgrading, and recreated once the upgrade completes.", "title": "User-defined objects that reference certain built-in array functions along with their argument types must be recreated", "commits": ["9e38c2bb5"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/14.0/#id-1.11.6.30.4", "source_hash": "03f160f8002924740f2c3cf8b544267779607c96aa904bb71ea13a5b360224e0", "section_path": ["Compatibility"], "commit_groups": [["9e38c2bb5"]], "identity_text": "User-defined objects that reference certain built-in array functions along with their argument types must be recreated (Tom Lane) Specifically, array_append(), array_prepend(), array_cat(), array_position(), array_positions(), array_remove(), array_replace(), and width_bucket() used to take anyarray arguments but now take anycompatiblearray. Therefore, user-defined objects like aggregates and operators that reference those array function signatures must be dropped before upgrading, and recreated once the upgrade completes.", "commit_aliases": ["9e38c2bb5"], "source_commits": ["9e38c2bb5"], "source_entry_id": "14.0/migration/001", "db_id": "57c4547257fc6633764aa973e9303863", "patch_ids": ["80d8aa49c80ecce0ddda625f58860fe1"], "statement_hash": "cf5910668b09440227d51039a7d21bbb39434c22e014f4e8c4d1ad20c9a35832", "relations": [{"rule": 2, "type": "related", "target": "08589d1884d0ea2ed7d1f62b5df4cc1d", "evidence": {"same_day": true, "patch_ids": ["80d8aa49c80ecce0ddda625f58860fe1"]}}], "version": "14.0", "category_label": "Compatibility", "also_in": [], "variants": [], "related_changes": [{"db_id": "08589d1884d0ea2ed7d1f62b5df4cc1d", "kind": "related", "version": "14.0", "label": "14.0", "title": "Allow some array functions to operate on a mix of compatible data types", "evidence": {"same_day": true, "patch_ids": ["80d8aa49c80ecce0ddda625f58860fe1"]}, "url": "/docs/compare/?release=14.0#14.0-c4fe9d0eb11b9d2a", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.8"}]}, {"id": "14.0-d437d09154612fca", "cves": [], "html": "<p>Remove deprecated containment operators <code>@</code> and <code>~</code> for built-in <a href=\"/docs/14/functions-geometry.html\" title=\"9.11. Geometric Functions and Operators\">geometric data types</a> and contrib modules <a href=\"/docs/14/cube.html\" title=\"F.9. cube\">cube</a>, <a href=\"/docs/14/hstore.html\" title=\"F.16. hstore\">hstore</a>, <a href=\"/docs/14/intarray.html\" title=\"F.18. intarray\">intarray</a>, and <a href=\"/docs/14/seg.html\" title=\"F.36. seg\">seg</a> (Justin Pryzby) <a href=\"https://postgr.es/c/2f70fdb06\">§</a> <a href=\"https://postgr.es/c/112d411fb\">§</a></p>\n<p>The more consistently named <code>&lt;@</code> and <code>@&gt;</code> have been recommended for many years.</p>", "text": "Remove deprecated containment operators @ and ~ for built-in geometric data types and contrib modules cube, hstore, intarray, and seg (Justin Pryzby) § § The more consistently named <@ and @> have been recommended for many years.", "title": "Remove deprecated containment operators @ and ~ for built-in geometric data types and contrib modules cube, hstore, intarray, and seg", "commits": ["112d411fb", "2f70fdb06"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/14.0/#id-1.11.6.30.4", "source_hash": "2c670c96567b3173f8fdb9062b5807e1cc981f5f58cff5ace59ea290ecbd2dd1", "section_path": ["Compatibility"], "commit_groups": [["112d411fb"], ["2f70fdb06"]], "identity_text": "Remove deprecated containment operators @ and ~ for built-in geometric data types and contrib modules cube , hstore , intarray , and seg (Justin Pryzby) The more consistently named <@ and @> have been recommended for many years.", "commit_aliases": ["112d411fb", "2f70fdb06"], "source_commits": ["112d411fb", "2f70fdb06"], "source_entry_id": "14.0/migration/002", "db_id": "237660b1fbb8dd20017c6175267e95ec", "patch_ids": ["3c681f334455e0bd48271e5716d5b559", "c4ef1bade2dd6f369995841746768f0a"], "statement_hash": "4894120ca206bfdd14b3fa514ce721d3d3e55d7179d58bcd3cf27113bda8afdf", "relations": [], "version": "14.0", "category_label": "Compatibility", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-a29178c6e12bef2d", "cves": [], "html": "<p>Fix <a href=\"/docs/14/functions-textsearch.html\" title=\"9.13. Text Search Functions and Operators\"><code>to_tsquery()</code></a> and <code>websearch_to_tsquery()</code> to properly parse query text containing discarded tokens (Alexander Korotkov) <a href=\"https://postgr.es/c/0c4f355c6\">§</a></p>\n<p>Certain discarded tokens, like underscore, caused the output of these functions to produce incorrect tsquery output, e.g., both <code>websearch_to_tsquery('\"pg_class pg\"')</code> and <code>to_tsquery('pg_class &lt;-&gt; pg')</code> used to output <code>( 'pg' &amp; 'class' ) &lt;-&gt; 'pg'</code>, but now both output <code>'pg' &lt;-&gt; 'class' &lt;-&gt; 'pg'</code>.</p>", "text": "Fix to_tsquery() and websearch_to_tsquery() to properly parse query text containing discarded tokens (Alexander Korotkov) § Certain discarded tokens, like underscore, caused the output of these functions to produce incorrect tsquery output, e.g., both websearch_to_tsquery('\"pg_class pg\"') and to_tsquery('pg_class <-> pg') used to output ( 'pg' & 'class' ) <-> 'pg', but now both output 'pg' <-> 'class' <-> 'pg'.", "title": "Fix to_tsquery() and websearch_to_tsquery() to properly parse query text containing discarded tokens", "commits": ["0c4f355c6"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/14.0/#id-1.11.6.30.4", "source_hash": "4298a06ac12bca85270f0e2c74b7654c0938a1b65628b606c89a3458e2423487", "section_path": ["Compatibility"], "commit_groups": [["0c4f355c6"]], "identity_text": "Fix to_tsquery() and websearch_to_tsquery() to properly parse query text containing discarded tokens (Alexander Korotkov) Certain discarded tokens, like underscore, caused the output of these functions to produce incorrect tsquery output, e.g., both websearch_to_tsquery('\"pg_class pg\"') and to_tsquery('pg_class <-> pg') used to output ( 'pg' & 'class' ) <-> 'pg', but now both output 'pg' <-> 'class' <-> 'pg'.", "commit_aliases": ["0c4f355c6"], "source_commits": ["0c4f355c6"], "source_entry_id": "14.0/migration/003", "db_id": "4e17e1dee7fbfb6b0b6d4fad1552a279", "patch_ids": ["0e306570bb0843294a746eafb85983fa"], "statement_hash": "97c0e7ee4f9512aa4db16ecfdb57f09142f892d3b5ae076fe639a969fccf67df", "relations": [], "version": "14.0", "category_label": "Compatibility", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-add148e34dafd59e", "cves": [], "html": "<p>Fix <a href=\"/docs/14/functions-textsearch.html\" title=\"9.13. Text Search Functions and Operators\"><code>websearch_to_tsquery()</code></a> to properly parse multiple adjacent discarded tokens in quotes (Alexander Korotkov) <a href=\"https://postgr.es/c/eb086056f\">§</a></p>\n<p>Previously, quoted text that contained multiple adjacent discarded tokens was treated as multiple tokens, causing incorrect tsquery output, e.g., <code>websearch_to_tsquery('\"aaa: bbb\"')</code> used to output <code>'aaa' &lt;2&gt; 'bbb'</code>, but now outputs <code>'aaa' &lt;-&gt; 'bbb'</code>.</p>", "text": "Fix websearch_to_tsquery() to properly parse multiple adjacent discarded tokens in quotes (Alexander Korotkov) § Previously, quoted text that contained multiple adjacent discarded tokens was treated as multiple tokens, causing incorrect tsquery output, e.g., websearch_to_tsquery('\"aaa: bbb\"') used to output 'aaa' <2> 'bbb', but now outputs 'aaa' <-> 'bbb'.", "title": "Fix websearch_to_tsquery() to properly parse multiple adjacent discarded tokens in quotes", "commits": ["eb086056f"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/14.0/#id-1.11.6.30.4", "source_hash": "91bcc924c0e50b834ac0f2076b27b3fd648517ce7879ccaf492fafed5f41a653", "section_path": ["Compatibility"], "commit_groups": [["eb086056f"]], "identity_text": "Fix websearch_to_tsquery() to properly parse multiple adjacent discarded tokens in quotes (Alexander Korotkov) Previously, quoted text that contained multiple adjacent discarded tokens was treated as multiple tokens, causing incorrect tsquery output, e.g., websearch_to_tsquery('\"aaa: bbb\"') used to output 'aaa' <2> 'bbb', but now outputs 'aaa' <-> 'bbb'.", "commit_aliases": ["eb086056f"], "source_commits": ["eb086056f"], "source_entry_id": "14.0/migration/004", "db_id": "72afb05bbfc01aee66adf945c95d27fc", "patch_ids": ["6f2cbaea9fe17c80a00dda4b5bd5feb1"], "statement_hash": "e4580984708a3dfa92cd7467b1391dda17ca65e971342a37ae4f47a537340f13", "relations": [], "version": "14.0", "category_label": "Compatibility", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-c3df10657ed1fb4f", "cves": [], "html": "<p>Change <a href=\"/docs/14/functions-datetime.html\" title=\"9.9. Date/Time Functions and Operators\"><code>EXTRACT()</code></a> to return type <code>numeric</code> instead of <code>float8</code> (Peter Eisentraut) <a href=\"https://postgr.es/c/a2da77cdb\">§</a></p>\n<p>This avoids loss-of-precision issues in some usages. The old behavior can still be obtained by using the old underlying function <code>date_part()</code>.</p>\n<p>Also, <code>EXTRACT(date)</code> now throws an error for units that are not part of the <code>date</code> data type.</p>", "text": "Change EXTRACT() to return type numeric instead of float8 (Peter Eisentraut) § This avoids loss-of-precision issues in some usages. The old behavior can still be obtained by using the old underlying function date_part(). Also, EXTRACT(date) now throws an error for units that are not part of the date data type.", "title": "Change EXTRACT() to return type numeric instead of float8", "commits": ["a2da77cdb"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/14.0/#id-1.11.6.30.4", "source_hash": "3d5fb419fc14c12614310539fd74d232537b99f3353b5aa154e5eb0603d2b96f", "section_path": ["Compatibility"], "commit_groups": [["a2da77cdb"]], "identity_text": "Change EXTRACT() to return type numeric instead of float8 (Peter Eisentraut) This avoids loss-of-precision issues in some usages. The old behavior can still be obtained by using the old underlying function date_part(). Also, EXTRACT(date) now throws an error for units that are not part of the date data type.", "commit_aliases": ["a2da77cdb"], "source_commits": ["a2da77cdb"], "source_entry_id": "14.0/migration/005", "db_id": "5ef659058d1ea38bfd747bc588b76215", "patch_ids": ["dc0db4254cd4cf7f3b8a96c92d51fdf3"], "statement_hash": "6470ce74b5b22c049abb0e81bcfec8cbf6d9086544f80952983d679515adbe63", "relations": [], "version": "14.0", "category_label": "Compatibility", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-fcadd8743e360830", "cves": [], "html": "<p>Change <a href=\"/docs/14/functions-aggregate.html\" title=\"9.21. Aggregate Functions\"><code>var_samp()</code></a> and <code>stddev_samp()</code> with numeric parameters to return NULL when the input is a single NaN value (Tom Lane) <a href=\"https://postgr.es/c/23cbeda50\">§</a></p>\n<p>Previously <code>NaN</code> was returned.</p>", "text": "Change var_samp() and stddev_samp() with numeric parameters to return NULL when the input is a single NaN value (Tom Lane) § Previously NaN was returned.", "title": "Change var_samp() and stddev_samp() with numeric parameters to return NULL when the input is a single NaN value", "commits": ["23cbeda50"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/14.0/#id-1.11.6.30.4", "source_hash": "5398ea076f27d0d1163a71eb037854610e87afa055b052e0bc820afeec09cfb7", "section_path": ["Compatibility"], "commit_groups": [["23cbeda50"]], "identity_text": "Change var_samp() and stddev_samp() with numeric parameters to return NULL when the input is a single NaN value (Tom Lane) Previously NaN was returned.", "commit_aliases": ["23cbeda50"], "source_commits": ["23cbeda50"], "source_entry_id": "14.0/migration/006", "db_id": "7926bdd9a7f4eb45afda848b072764ac", "patch_ids": ["2f2f5012d9ee6dedf58e95bb44b60f35"], "statement_hash": "c20169549d365b673fd8307fdc3ed46e492d351f54c0de93681ac37923fa66f0", "relations": [], "version": "14.0", "category_label": "Compatibility", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-e6d7c1e391d32f00", "cves": [], "html": "<p>Return false for <a href=\"/docs/14/functions-info.html\" title=\"9.26. System Information Functions and Operators\"><code>has_column_privilege()</code></a> checks on non-existent or dropped columns when using attribute numbers (Joe Conway) <a href=\"https://postgr.es/c/b12bd4869\">§</a></p>\n<p>Previously such attribute numbers returned an invalid-column error.</p>", "text": "Return false for has_column_privilege() checks on non-existent or dropped columns when using attribute numbers (Joe Conway) § Previously such attribute numbers returned an invalid-column error.", "title": "Return false for has_column_privilege() checks on non-existent or dropped columns when using attribute numbers", "commits": ["b12bd4869"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/14.0/#id-1.11.6.30.4", "source_hash": "f7e10974c17f9e8232eee021be237ee9374d6a22d0723a47348b8561f9661bce", "section_path": ["Compatibility"], "commit_groups": [["b12bd4869"]], "identity_text": "Return false for has_column_privilege() checks on non-existent or dropped columns when using attribute numbers (Joe Conway) Previously such attribute numbers returned an invalid-column error.", "commit_aliases": ["b12bd4869"], "source_commits": ["b12bd4869"], "source_entry_id": "14.0/migration/007", "db_id": "2a8dcc67f64402d654533acf7c9a8e8d", "patch_ids": ["9bf521aea59479b5aa7908981cec9608"], "statement_hash": "5e80d0c2d65c146bdc3748b2dab4ed0fa6fc2cafd2f530f3fd4a76fc9ade0341", "relations": [], "version": "14.0", "category_label": "Compatibility", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-21cd13ab9dddb8d4", "cves": [], "html": "<p>Fix handling of infinite <a href=\"/docs/14/sql-expressions.html#SYNTAX-WINDOW-FUNCTIONS\" title=\"4.2.8. Window Function Calls\">window function</a> ranges (Tom Lane) <a href=\"https://postgr.es/c/a4faef8f8\">§</a></p>\n<p>Previously window frame clauses like <code>'inf' PRECEDING AND 'inf' FOLLOWING</code> returned incorrect results.</p>", "text": "Fix handling of infinite window function ranges (Tom Lane) § Previously window frame clauses like 'inf' PRECEDING AND 'inf' FOLLOWING returned incorrect results.", "title": "Fix handling of infinite window function ranges", "commits": ["a4faef8f8"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/14.0/#id-1.11.6.30.4", "source_hash": "8c7d3f9734f20f728910411e115b035aec1d067c3b6446550321c00d0dd76b15", "section_path": ["Compatibility"], "commit_groups": [["a4faef8f8"]], "identity_text": "Fix handling of infinite window function ranges (Tom Lane) Previously window frame clauses like 'inf' PRECEDING AND 'inf' FOLLOWING returned incorrect results.", "commit_aliases": ["a4faef8f8"], "source_commits": ["a4faef8f8"], "source_entry_id": "14.0/migration/008", "db_id": "cc5a2618863c67b130fa5e3934818edf", "patch_ids": ["c428437083341760a50eba91330516b2"], "statement_hash": "e3ea4024d2bb0f2bc0147faf7250edb51b1c0d08e11c05a1c9fc636733c136e6", "relations": [], "version": "14.0", "category_label": "Compatibility", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-e43e3f5299c6e04a", "cves": [], "html": "<p>Remove factorial operators <code>!</code> and <code>!!</code>, as well as function <code>numeric_fac()</code> (Mark Dilger) <a href=\"https://postgr.es/c/76f412ab3\">§</a></p>\n<p>The <a href=\"/docs/14/functions-math.html\" title=\"9.3. Mathematical Functions and Operators\"><code>factorial()</code></a> function is still supported.</p>", "text": "Remove factorial operators ! and !!, as well as function numeric_fac() (Mark Dilger) § The factorial() function is still supported.", "title": "Remove factorial operators ! and !!, as well as function numeric_fac()", "commits": ["76f412ab3"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/14.0/#id-1.11.6.30.4", "source_hash": "6b719e2f8f6caa64d47e8f82f8764882d7834044c5d850ca7c8756e698435a4c", "section_path": ["Compatibility"], "commit_groups": [["76f412ab3"]], "identity_text": "Remove factorial operators ! and !!, as well as function numeric_fac() (Mark Dilger) The factorial() function is still supported.", "commit_aliases": ["76f412ab3"], "source_commits": ["76f412ab3"], "source_entry_id": "14.0/migration/009", "db_id": "ad3c72cb6f930e94293095180cd73086", "patch_ids": ["f4e9888531ffe53a5bc8e42db5222e8c"], "statement_hash": "31cf7628109e5f5375596af702aa7fc9664a665e5131995216ec7874c47727a1", "relations": [], "version": "14.0", "category_label": "Compatibility", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-54dea678f4f5c69b", "cves": [], "html": "<p>Disallow <code>factorial()</code> of negative numbers (Peter Eisentraut) <a href=\"https://postgr.es/c/0a40563ea\">§</a></p>\n<p>Previously such cases returned 1.</p>", "text": "Disallow factorial() of negative numbers (Peter Eisentraut) § Previously such cases returned 1.", "title": "Disallow factorial() of negative numbers", "commits": ["0a40563ea"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/14.0/#id-1.11.6.30.4", "source_hash": "5b325d7866b4a3419d1b70f2818ac3d6e68c16509813c4c0a4192ad7373cc8bd", "section_path": ["Compatibility"], "commit_groups": [["0a40563ea"]], "identity_text": "Disallow factorial() of negative numbers (Peter Eisentraut) Previously such cases returned 1.", "commit_aliases": ["0a40563ea"], "source_commits": ["0a40563ea"], "source_entry_id": "14.0/migration/010", "db_id": "a82ab3256c778cee96b7de5dae3389d2", "patch_ids": ["cd388f0be397d41474e22ca994181ccd"], "statement_hash": "0c1388d837df3e23a4dc76a2373dad719ba114e9e2e56e89ab0f736232601a04", "relations": [], "version": "14.0", "category_label": "Compatibility", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-eb0963fef9639111", "cves": [], "html": "<p>Remove support for <a href=\"/docs/14/sql-createoperator.html\" title=\"CREATE OPERATOR\">postfix</a> (right-unary) operators (Mark Dilger) <a href=\"https://postgr.es/c/1ed6b8956\">§</a></p>\n<p><span>pg_dump</span> and <span>pg_upgrade</span> will warn if postfix operators are being dumped.</p>", "text": "Remove support for postfix (right-unary) operators (Mark Dilger) § pg_dump and pg_upgrade will warn if postfix operators are being dumped.", "title": "Remove support for postfix (right-unary) operators", "commits": ["1ed6b8956"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/14.0/#id-1.11.6.30.4", "source_hash": "faeed0461c17932988c87c6d96b8bd0c0d1d366070de77a1700a737710dd4cfe", "section_path": ["Compatibility"], "commit_groups": [["1ed6b8956"]], "identity_text": "Remove support for postfix (right-unary) operators (Mark Dilger) pg_dump and pg_upgrade will warn if postfix operators are being dumped.", "commit_aliases": ["1ed6b8956"], "source_commits": ["1ed6b8956"], "source_entry_id": "14.0/migration/011", "db_id": "516b18fbda2a69208204390b1a1c4a71", "patch_ids": ["00fd954ed0ced2a53ee2a5342b976432"], "statement_hash": "874d9a3baac9e9f9ff170b2db4886412d0524ecc66805656a455387ab6fe5d2d", "relations": [], "version": "14.0", "category_label": "Compatibility", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-674b08adca6e6a9c", "cves": [], "html": "<p>Allow <code>\\D</code> and <code>\\W</code> shorthands to match newlines in <a href=\"/docs/14/functions-matching.html#FUNCTIONS-POSIX-REGEXP\" title=\"9.7.3. POSIX Regular Expressions\">regular expression</a> newline-sensitive mode (Tom Lane) <a href=\"https://postgr.es/c/7dc13a0f0\">§</a></p>\n<p>Previously they did not match newlines in this mode, but that disagrees with the behavior of other common regular expression engines. <code>[^[:digit:]]</code> or <code>[^[:word:]]</code> can be used to get the old behavior.</p>", "text": "Allow \\D and \\W shorthands to match newlines in regular expression newline-sensitive mode (Tom Lane) § Previously they did not match newlines in this mode, but that disagrees with the behavior of other common regular expression engines. [^[:digit:]] or [^[:word:]] can be used to get the old behavior.", "title": "Allow \\D and \\W shorthands to match newlines in regular expression newline-sensitive mode", "commits": ["7dc13a0f0"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/14.0/#id-1.11.6.30.4", "source_hash": "fe10d6d365bc38be4474c845de8aa5a2bcb63109bafc8c7066d5cc978f8b6faa", "section_path": ["Compatibility"], "commit_groups": [["7dc13a0f0"]], "identity_text": "Allow \\D and \\W shorthands to match newlines in regular expression newline-sensitive mode (Tom Lane) Previously they did not match newlines in this mode, but that disagrees with the behavior of other common regular expression engines. [^[:digit:]] or [^[:word:]] can be used to get the old behavior.", "commit_aliases": ["7dc13a0f0"], "source_commits": ["7dc13a0f0"], "source_entry_id": "14.0/migration/012", "db_id": "f62ca7ae8f621f84f8a67c4654d0b38e", "patch_ids": ["0916cbb882cf32b7872521b474cd59f0"], "statement_hash": "458ed27a0ada8bd19080ef7704f9f1d318b8e459f516f728330fc98058b20c72", "relations": [], "version": "14.0", "category_label": "Compatibility", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-dc3c28800f9e00f1", "cves": [], "html": "<p>Disregard constraints when matching regular expression <a href=\"/docs/14/functions-matching.html#POSIX-ESCAPE-SEQUENCES\" title=\"9.7.3.3. Regular Expression Escapes\">back-references</a> (Tom Lane) <a href=\"https://postgr.es/c/4aea704a5\">§</a></p>\n<p>For example, in <code>(^\\d+).*\\1</code>, the <code>^</code> constraint should be applied at the start of the string, but not when matching <code>\\1</code>.</p>", "text": "Disregard constraints when matching regular expression back-references (Tom Lane) § For example, in (^\\d+).*\\1, the ^ constraint should be applied at the start of the string, but not when matching \\1.", "title": "Disregard constraints when matching regular expression back-references", "commits": ["4aea704a5"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/14.0/#id-1.11.6.30.4", "source_hash": "fa5574c921b9259d6fb145fb45fd2de3007bbd340e6a80ce8b70f30560d6fa9a", "section_path": ["Compatibility"], "commit_groups": [["4aea704a5"]], "identity_text": "Disregard constraints when matching regular expression back-references (Tom Lane) For example, in (^\\d+).*\\1, the ^ constraint should be applied at the start of the string, but not when matching \\1.", "commit_aliases": ["4aea704a5"], "source_commits": ["4aea704a5"], "source_entry_id": "14.0/migration/013", "db_id": "f798d8d0d167dba6f45c7681ea791ae2", "patch_ids": ["3cd853007451027734334534bef65fae"], "statement_hash": "d2dfe57fe621bca079f0140b1b748cb671966ae375c94561538b10365b35a2ed", "relations": [], "version": "14.0", "category_label": "Compatibility", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-3b134586c815622b", "cves": [], "html": "<p>Disallow <code>\\w</code> as a range start or end in regular expression character classes (Tom Lane) <a href=\"https://postgr.es/c/2a0af7fe4\">§</a></p>\n<p>This previously was allowed but produced unexpected results.</p>", "text": "Disallow \\w as a range start or end in regular expression character classes (Tom Lane) § This previously was allowed but produced unexpected results.", "title": "Disallow \\w as a range start or end in regular expression character classes", "commits": ["2a0af7fe4"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/14.0/#id-1.11.6.30.4", "source_hash": "14a46122cb94db327ce1ac31393ffad7cda594b0f62f897352495cbec80cd7be", "section_path": ["Compatibility"], "commit_groups": [["2a0af7fe4"]], "identity_text": "Disallow \\w as a range start or end in regular expression character classes (Tom Lane) This previously was allowed but produced unexpected results.", "commit_aliases": ["2a0af7fe4"], "source_commits": ["2a0af7fe4"], "source_entry_id": "14.0/migration/014", "db_id": "7cb33f40db82cf57d3f6f027f0bd7fa4", "patch_ids": ["a7eb1e3ebcb335443b46af32516407cc"], "statement_hash": "73eaa88216c7e67d8ca71eb8abfff9fe074f0d5b60217e60a1876758275466c1", "relations": [{"rule": 2, "type": "related", "target": "11855fff64e4bfd4f316452868bdaf21", "evidence": {"same_day": true, "patch_ids": ["a7eb1e3ebcb335443b46af32516407cc"], "ambiguous_patch_ids": ["a7eb1e3ebcb335443b46af32516407cc"]}}, {"rule": 2, "type": "related", "target": "31b906e8faf3983c67c4ba76c9bcbe42", "evidence": {"same_day": true, "patch_ids": ["a7eb1e3ebcb335443b46af32516407cc"], "ambiguous_patch_ids": ["a7eb1e3ebcb335443b46af32516407cc"]}}], "version": "14.0", "category_label": "Compatibility", "also_in": [], "variants": [], "related_changes": [{"db_id": "31b906e8faf3983c67c4ba76c9bcbe42", "kind": "related", "version": "14.0", "label": "14.0", "title": "Add [[:word:]] as a regular expression character class, equivalent to \\w", "evidence": {"same_day": true, "patch_ids": ["a7eb1e3ebcb335443b46af32516407cc"], "ambiguous_patch_ids": ["a7eb1e3ebcb335443b46af32516407cc"]}, "url": "/docs/compare/?release=14.0#14.0-c54179951e40b5fc-2", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.8"}, {"db_id": "11855fff64e4bfd4f316452868bdaf21", "kind": "related", "version": "14.0", "label": "14.0", "title": "Allow complemented character class escapes \\D, \\S, and \\W within regular expression brackets", "evidence": {"same_day": true, "patch_ids": ["a7eb1e3ebcb335443b46af32516407cc"], "ambiguous_patch_ids": ["a7eb1e3ebcb335443b46af32516407cc"]}, "url": "/docs/compare/?release=14.0#14.0-c54179951e40b5fc-1", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.8"}]}, {"id": "14.0-f3f9a68bd130f524", "cves": [], "html": "<p>Require <a href=\"/docs/14/runtime-config-custom.html\" title=\"20.16. Customized Options\">custom server parameter</a> names to use only characters that are valid in unquoted <acronym>SQL</acronym> identifiers (Tom Lane) <a href=\"https://postgr.es/c/3db826bd5\">§</a> <a href=\"https://postgr.es/c/3db826bd5\">§</a></p>", "text": "Require custom server parameter names to use only characters that are valid in unquoted SQL identifiers (Tom Lane) § §", "title": "Require custom server parameter names to use only characters that are valid in unquoted SQL identifiers", "commits": ["3db826bd5"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/14.0/#id-1.11.6.30.4", "source_hash": "67f466cd55180af38ef79167d0f7d82a906c3a65c15ea1407028a364129639c3", "section_path": ["Compatibility"], "commit_groups": [["3db826bd5"]], "identity_text": "Require custom server parameter names to use only characters that are valid in unquoted SQL identifiers (Tom Lane)", "commit_aliases": ["3db826bd5"], "source_commits": ["3db826bd5"], "source_entry_id": "14.0/migration/015", "db_id": "e27c0102cf63765c2ca9bdb10c077d0e", "patch_ids": ["a99b80012b5bc8560e6cceeb7486fda5"], "statement_hash": "d4101a6b9beb1104c001aab0a704d01f1fbbac17350fe87d5197ff257bd7491b", "relations": [], "version": "14.0", "category_label": "Compatibility", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-360b4aff4fef87f5", "cves": [], "html": "<p>Change the default of the <a href=\"/docs/14/runtime-config-connection.html#GUC-PASSWORD-ENCRYPTION\">password_encryption</a> server parameter to <code>scram-sha-256</code> (Peter Eisentraut) <a href=\"https://postgr.es/c/c7eab0e97\">§</a></p>\n<p>Previously it was <code>md5</code>. All new passwords will be stored as SHA256 unless this server setting is changed or the password is specified in MD5 format. Also, the legacy (and undocumented) Boolean-like values which were previously synonyms for <code>md5</code> are no longer accepted.</p>", "text": "Change the default of the password_encryption server parameter to scram-sha-256 (Peter Eisentraut) § Previously it was md5. All new passwords will be stored as SHA256 unless this server setting is changed or the password is specified in MD5 format. Also, the legacy (and undocumented) Boolean-like values which were previously synonyms for md5 are no longer accepted.", "title": "Change the default of the password_encryption server parameter to scram-sha-256", "commits": ["c7eab0e97"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/14.0/#id-1.11.6.30.4", "source_hash": "8067c3b010176c9042798d257d3a0be08819a6486d40242d9cec4a541fd9c171", "section_path": ["Compatibility"], "commit_groups": [["c7eab0e97"]], "identity_text": "Change the default of the guc-password-encryption server parameter to scram-sha-256 (Peter Eisentraut) Previously it was md5. All new passwords will be stored as SHA256 unless this server setting is changed or the password is specified in MD5 format. Also, the legacy (and undocumented) Boolean-like values which were previously synonyms for md5 are no longer accepted.", "commit_aliases": ["c7eab0e97"], "source_commits": ["c7eab0e97"], "source_entry_id": "14.0/migration/016", "db_id": "17481888e35d734db6901338383970ef", "patch_ids": ["7c902b1caef8f8c6c13adfafbfa817bc"], "statement_hash": "88d01d33bbb1292fa445bd927f4ed5d1df132f6baf3ce2671eefecfc28000f1b", "relations": [], "version": "14.0", "category_label": "Compatibility", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-c488d77ab8d7845d", "cves": [], "html": "<p>Remove server parameter <code>vacuum_cleanup_index_scale_factor</code> (Peter Geoghegan) <a href=\"https://postgr.es/c/9f3665fbf\">§</a> <a href=\"https://postgr.es/c/effdd3f3b\">§</a></p>\n<p>This setting was ignored starting in <span>PostgreSQL</span> version 13.3.</p>", "text": "Remove server parameter vacuum_cleanup_index_scale_factor (Peter Geoghegan) § § This setting was ignored starting in PostgreSQL version 13.3.", "title": "Remove server parameter vacuum_cleanup_index_scale_factor", "commits": ["9f3665fbf", "effdd3f3b"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/14.0/#id-1.11.6.30.4", "source_hash": "42314d33b85d55579681a44b7af8868d631607db06ca94203217fd5bfe3aaa37", "section_path": ["Compatibility"], "commit_groups": [["9663d1244", "9f3665fbf"], ["effdd3f3b"]], "identity_text": "Remove server parameter vacuum_cleanup_index_scale_factor (Peter Geoghegan) This setting was ignored starting in PostgreSQL version 13.3.", "commit_aliases": ["9663d1244", "9f3665fbf", "effdd3f3b"], "source_commits": ["9f3665fbf", "effdd3f3b"], "source_entry_id": "14.0/migration/017", "db_id": "33ba05eddab9ba712287813f7255b7e2", "patch_ids": ["0082ed34d90cec899922fbb0312e7343", "7d139072a7e720186d8972f31f3b9f5e"], "statement_hash": "596766df8cab895bd9dc6e17434ef97dfa0828fe647d5c1c180298c950486ce0", "relations": [{"rule": 2, "type": "related", "target": "905141292f2512fd9b9052468cc7ff7d", "evidence": {"same_day": false, "patch_ids": ["7d139072a7e720186d8972f31f3b9f5e"]}}], "version": "14.0", "category_label": "Compatibility", "also_in": [], "variants": [], "related_changes": [{"db_id": "905141292f2512fd9b9052468cc7ff7d", "kind": "related", "version": "13.3", "label": "13.3", "title": "Disable the vacuum_cleanup_index_scale_factor parameter and storage option", "evidence": {"same_day": false, "patch_ids": ["7d139072a7e720186d8972f31f3b9f5e"]}, "url": "/docs/compare/?release=13.3#13.3-fb1133cf63235295", "source_url": "/docs/release/13.3/#id-1.11.6.26.5"}]}, {"id": "14.0-df2e37ffd01f7a81", "cves": [], "html": "<p>Remove server parameter <code>operator_precedence_warning</code> (Tom Lane) <a href=\"https://postgr.es/c/a676386b5\">§</a></p>\n<p>This setting was used for warning applications about <span>PostgreSQL</span> 9.5 changes.</p>", "text": "Remove server parameter operator_precedence_warning (Tom Lane) § This setting was used for warning applications about PostgreSQL 9.5 changes.", "title": "Remove server parameter operator_precedence_warning", "commits": ["a676386b5"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/14.0/#id-1.11.6.30.4", "source_hash": "beb20e51897903bbf93b545d9ac370a56a52e3b4b8b94c64259ea22b46676cc6", "section_path": ["Compatibility"], "commit_groups": [["a676386b5"]], "identity_text": "Remove server parameter operator_precedence_warning (Tom Lane) This setting was used for warning applications about PostgreSQL 9.5 changes.", "commit_aliases": ["a676386b5"], "source_commits": ["a676386b5"], "source_entry_id": "14.0/migration/018", "db_id": "dff5c30eb6d405f6e27999750e19b063", "patch_ids": ["c3bebe2adc3f41263f2ecbfb91c7d558"], "statement_hash": "2037da2699ec34b8c38b1b1bbab6935ac8edfe7590d447ed2ff5632036bda7a3", "relations": [], "version": "14.0", "category_label": "Compatibility", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-502ae2ae25b4a337", "cves": [], "html": "<p>Overhaul the specification of <code>clientcert</code> in <a href=\"/docs/14/auth-pg-hba-conf.html\" title=\"21.1. The pg_hba.conf File\"><code>pg_hba.conf</code></a> (Kyotaro Horiguchi) <a href=\"https://postgr.es/c/253f1025d\">§</a></p>\n<p>Values <code>1</code>/<code>0</code>/<code>no-verify</code> are no longer supported; only the strings <code>verify-ca</code> and <code>verify-full</code> can be used. Also, disallow <code>verify-ca</code> if cert authentication is enabled since cert requires <code>verify-full</code> checking.</p>", "text": "Overhaul the specification of clientcert in pg_hba.conf (Kyotaro Horiguchi) § Values 1/0/no-verify are no longer supported; only the strings verify-ca and verify-full can be used. Also, disallow verify-ca if cert authentication is enabled since cert requires verify-full checking.", "title": "Overhaul the specification of clientcert in pg_hba.conf", "commits": ["253f1025d"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/14.0/#id-1.11.6.30.4", "source_hash": "44e215b9be267cdf9ded934f2c935ff01469d9663532d5b54bc5b1440bcf1230", "section_path": ["Compatibility"], "commit_groups": [["253f1025d"]], "identity_text": "Overhaul the specification of clientcert in pg_hba.conf (Kyotaro Horiguchi) Values 1/0/no-verify are no longer supported; only the strings verify-ca and verify-full can be used. Also, disallow verify-ca if cert authentication is enabled since cert requires verify-full checking.", "commit_aliases": ["253f1025d"], "source_commits": ["253f1025d"], "source_entry_id": "14.0/migration/019", "db_id": "2c3a3ed1211816e4246ff740b1861659", "patch_ids": ["5df51c30e7580345e0a15666e915829f"], "statement_hash": "3a4972c31799da56d0d33eb4ba0bd5a90e49923092e338a689c706a840756ca0", "relations": [], "version": "14.0", "category_label": "Compatibility", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-fa3437588a928b6c", "cves": [], "html": "<p>Remove support for <a href=\"/docs/14/runtime-config-connection.html#RUNTIME-CONFIG-CONNECTION-SSL\" title=\"20.3.3. SSL\"><acronym>SSL</acronym></a> compression (Daniel Gustafsson, Michael Paquier) <a href=\"https://postgr.es/c/f9264d152\">§</a> <a href=\"https://postgr.es/c/0ba71107e\">§</a></p>\n<p>This was already disabled by default in previous <span>PostgreSQL</span> releases, and most modern OpenSSL and <acronym>TLS</acronym> versions no longer support it.</p>", "text": "Remove support for SSL compression (Daniel Gustafsson, Michael Paquier) § § This was already disabled by default in previous PostgreSQL releases, and most modern OpenSSL and TLS versions no longer support it.", "title": "Remove support for SSL compression", "commits": ["0ba71107e", "f9264d152"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/14.0/#id-1.11.6.30.4", "source_hash": "0583a73867f097018ea03347ce3d69e5889f63a389c399f33fff0bfaead56754", "section_path": ["Compatibility"], "commit_groups": [["0ba71107e"], ["f9264d152"]], "identity_text": "Remove support for SSL compression (Daniel Gustafsson, Michael Paquier) This was already disabled by default in previous PostgreSQL releases, and most modern OpenSSL and TLS versions no longer support it.", "commit_aliases": ["0ba71107e", "f9264d152"], "source_commits": ["0ba71107e", "f9264d152"], "source_entry_id": "14.0/migration/020", "db_id": "58b01151c05cf3c8e1c1d9a7930a327a", "patch_ids": ["6bb0210077a05748c0769055d2db46d9", "aec84612749cf2a254957427d19b78a0"], "statement_hash": "fe4ec9c7fb6b5e8b54fd54f10e5a67890dd354fd04fdcc3593351cc15ac8b9ef", "relations": [], "version": "14.0", "category_label": "Compatibility", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-f4ff2add1a8885c7", "cves": [], "html": "<p>Remove server and <a href=\"/docs/14/libpq.html\" title=\"Chapter 34. libpq — C Library\">libpq</a> support for the version 2 <a href=\"/docs/14/protocol.html\" title=\"Chapter 53. Frontend/Backend Protocol\">wire protocol</a> (Heikki Linnakangas) <a href=\"https://postgr.es/c/3174d69fb\">§</a></p>\n<p>This was last used as the default in <span>PostgreSQL</span> 7.3 (released in 2002).</p>", "text": "Remove server and libpq support for the version 2 wire protocol (Heikki Linnakangas) § This was last used as the default in PostgreSQL 7.3 (released in 2002).", "title": "Remove server and libpq support for the version 2 wire protocol", "commits": ["3174d69fb"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/14.0/#id-1.11.6.30.4", "source_hash": "0f2d63c788bdb205cf66033b4517d051b24374e352f7a5351256e398b26de55a", "section_path": ["Compatibility"], "commit_groups": [["3174d69fb"]], "identity_text": "Remove server and libpq support for the version 2 wire protocol (Heikki Linnakangas) This was last used as the default in PostgreSQL 7.3 (released in 2002).", "commit_aliases": ["3174d69fb"], "source_commits": ["3174d69fb"], "source_entry_id": "14.0/migration/021", "db_id": "57e12b582d9b7d946a2152c1af36c720", "patch_ids": ["d22d532fd6aed0149de79659facb716c"], "statement_hash": "bd5d1715607fa1564908b90d72937f93a51f6ef924c24ec5457ccc4b601b099a", "relations": [], "version": "14.0", "category_label": "Compatibility", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-c2cce8cb5a49fd40", "cves": [], "html": "<p>Disallow single-quoting of the language name in the <a href=\"/docs/14/sql-createlanguage.html\" title=\"CREATE LANGUAGE\"><code>CREATE/DROP LANGUAGE</code></a> command (Peter Eisentraut) <a href=\"https://postgr.es/c/5333e014a\">§</a></p>", "text": "Disallow single-quoting of the language name in the CREATE/DROP LANGUAGE command (Peter Eisentraut) §", "title": "Disallow single-quoting of the language name in the CREATE/DROP LANGUAGE command", "commits": ["5333e014a"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/14.0/#id-1.11.6.30.4", "source_hash": "54221a5465143e584510eb17ae30870bfeb5e513967033e4c7a86b1d34bf5afc", "section_path": ["Compatibility"], "commit_groups": [["5333e014a"]], "identity_text": "Disallow single-quoting of the language name in the CREATE/DROP LANGUAGE command (Peter Eisentraut)", "commit_aliases": ["5333e014a"], "source_commits": ["5333e014a"], "source_entry_id": "14.0/migration/022", "db_id": "4bd4437b7dfc003ab870afc13a0e10f5", "patch_ids": ["7a776489833c51084d8e49e716540a6c"], "statement_hash": "542d4e72af450f856917d386a872b7214a1f58eaeddfaa7c92f4764aa511a9d0", "relations": [], "version": "14.0", "category_label": "Compatibility", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-26a32010c997c97c", "cves": [], "html": "<p>Remove the <a href=\"/docs/14/xfunc-sql.html#XFUNC-SQL-COMPOSITE-FUNCTIONS\" title=\"38.5.3. SQL Functions on Composite Types\">composite types</a> that were formerly created for sequences and toast tables (Tom Lane) <a href=\"https://postgr.es/c/f3faf35f3\">§</a></p>", "text": "Remove the composite types that were formerly created for sequences and toast tables (Tom Lane) §", "title": "Remove the composite types that were formerly created for sequences and toast tables", "commits": ["f3faf35f3"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/14.0/#id-1.11.6.30.4", "source_hash": "d31c4f5c397cfbb67fec7d794ca800586b6291b35f360c048fa8e21f242a598d", "section_path": ["Compatibility"], "commit_groups": [["f3faf35f3"]], "identity_text": "Remove the composite types that were formerly created for sequences and toast tables (Tom Lane)", "commit_aliases": ["f3faf35f3"], "source_commits": ["f3faf35f3"], "source_entry_id": "14.0/migration/023", "db_id": "1c5cf332e24f8b0d7202be85e5528156", "patch_ids": ["fa3c02c60852a47771cb473168bb99b9"], "statement_hash": "fd80827a649c5be23f355899edf4f4a02e44fc0dfc25cd4db5dd3b673db86d20", "relations": [], "version": "14.0", "category_label": "Compatibility", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-b37d8ef072b7c837", "cves": [], "html": "<p>Process doubled quote marks in <a href=\"/docs/14/ecpg.html\" title=\"Chapter 36. ECPG — Embedded SQL in C\">ecpg</a> <acronym>SQL</acronym> command strings correctly (Tom Lane) <a href=\"https://postgr.es/c/3dfb1942d\">§</a> <a href=\"https://postgr.es/c/c16a1bbcf\">§</a></p>\n<p>Previously <code>'abc''def'</code> was passed to the server as <code>'abc'def'</code>, and <code>\"abc\"\"def\"</code> was passed as <code>\"abc\"def\"</code>, causing syntax errors.</p>", "text": "Process doubled quote marks in ecpg SQL command strings correctly (Tom Lane) § § Previously 'abc''def' was passed to the server as 'abc'def', and \"abc\"\"def\" was passed as \"abc\"def\", causing syntax errors.", "title": "Process doubled quote marks in ecpg SQL command strings correctly", "commits": ["3dfb1942d", "c16a1bbcf"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/14.0/#id-1.11.6.30.4", "source_hash": "850983ed0f84597ddc4af25317383beaa8dde9617fbee3c02a93262cc751cc42", "section_path": ["Compatibility"], "commit_groups": [["3dfb1942d"], ["c16a1bbcf"]], "identity_text": "Process doubled quote marks in ecpg SQL command strings correctly (Tom Lane) Previously 'abc''def' was passed to the server as 'abc'def', and \"abc\"\"def\" was passed as \"abc\"def\", causing syntax errors.", "commit_aliases": ["3dfb1942d", "c16a1bbcf"], "source_commits": ["3dfb1942d", "c16a1bbcf"], "source_entry_id": "14.0/migration/024", "db_id": "3093de441801a03f6de174d6ffa599dd", "patch_ids": ["61a8721dedf50c3794fb6ec5f48276eb", "fcf7f1a194e2a0a90d392dfad662df09"], "statement_hash": "f4256ddddb25295152692c602d8a584571b392889c567a2f5111c63f264a3565", "relations": [], "version": "14.0", "category_label": "Compatibility", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-491ee6ee37675839", "cves": [], "html": "<p>Prevent the containment operators (<code>&lt;@</code> and <code>@&gt;</code>) for <a href=\"/docs/14/intarray.html\" title=\"F.18. intarray\">intarray</a> from using GiST indexes (Tom Lane) <a href=\"https://postgr.es/c/20e7e1fe3\">§</a></p>\n<p>Previously a full GiST index scan was required, so just avoid that and scan the heap, which is faster. Indexes created for this purpose should be removed.</p>", "text": "Prevent the containment operators (<@ and @>) for intarray from using GiST indexes (Tom Lane) § Previously a full GiST index scan was required, so just avoid that and scan the heap, which is faster. Indexes created for this purpose should be removed.", "title": "Prevent the containment operators (<@ and @>) for intarray from using GiST indexes", "commits": ["20e7e1fe3"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/14.0/#id-1.11.6.30.4", "source_hash": "f0375f9d816b272b5718b7d7bb8a5d000c8c8a90077f4f38079790db5f6f1dc8", "section_path": ["Compatibility"], "commit_groups": [["20e7e1fe3"]], "identity_text": "Prevent the containment operators (<@ and @>) for intarray from using GiST indexes (Tom Lane) Previously a full GiST index scan was required, so just avoid that and scan the heap, which is faster. Indexes created for this purpose should be removed.", "commit_aliases": ["20e7e1fe3"], "source_commits": ["20e7e1fe3"], "source_entry_id": "14.0/migration/025", "db_id": "a40ee29af8f5cf171a58956cb6e0182e", "patch_ids": ["1e07fd758e057e181bd85b16633047c1"], "statement_hash": "f20f4d0fe7b60e25139ffffae4ecae55c63a6bfed8b52ae3763ca5c902d2a6d9", "relations": [], "version": "14.0", "category_label": "Compatibility", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-a1a034d89104d4f8", "cves": [], "html": "<p>Remove contrib program <span>pg_standby</span> (Justin Pryzby) <a href=\"https://postgr.es/c/514b411a2\">§</a></p>", "text": "Remove contrib program pg_standby (Justin Pryzby) §", "title": "Remove contrib program pg_standby", "commits": ["514b411a2"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/14.0/#id-1.11.6.30.4", "source_hash": "c32a6819ca23f51862f8e018dfb3698dd91f6d7147f40d95c821eacd19307dd8", "section_path": ["Compatibility"], "commit_groups": [["514b411a2"]], "identity_text": "Remove contrib program pg_standby (Justin Pryzby)", "commit_aliases": ["514b411a2"], "source_commits": ["514b411a2"], "source_entry_id": "14.0/migration/026", "db_id": "a9e0bf38a96f1653bee1bb128f5483ec", "patch_ids": ["1fb8ec0321ecf42c4416a98b5df735c0"], "statement_hash": "470b8cd362970c081fae4cff1eecd49138fa7799dd2e5ffd989c818b1f842ff9", "relations": [], "version": "14.0", "category_label": "Compatibility", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-e973627d531b7815", "cves": [], "html": "<p>Prevent <a href=\"/docs/14/tablefunc.html\" title=\"F.40. tablefunc\">tablefunc</a>'s function <code>normal_rand()</code> from accepting negative values (Ashutosh Bapat) <a href=\"https://postgr.es/c/f73999262\">§</a></p>\n<p>Negative values produced undesirable results.</p>", "text": "Prevent tablefunc's function normal_rand() from accepting negative values (Ashutosh Bapat) § Negative values produced undesirable results.", "title": "Prevent tablefunc's function normal_rand() from accepting negative values", "commits": ["f73999262"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/14.0/#id-1.11.6.30.4", "source_hash": "51d41bdd8143e3cedd448fcc2331bc160a3a332836bfac059e0de6c2a6d96b30", "section_path": ["Compatibility"], "commit_groups": [["f73999262"]], "identity_text": "Prevent tablefunc 's function normal_rand() from accepting negative values (Ashutosh Bapat) Negative values produced undesirable results.", "commit_aliases": ["f73999262"], "source_commits": ["f73999262"], "source_entry_id": "14.0/migration/027", "db_id": "f49484fe3b62226f06ef45d02aa28b08", "patch_ids": ["419656bd6830d5730877c9efa0fcc9ef"], "statement_hash": "fd298129535aafb2a0f2c419da07ab79ce1896430768e68e9cd72ea1ac367a11", "relations": [], "version": "14.0", "category_label": "Compatibility", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-dab54c9e7048da7e", "cves": [], "html": "<p>Add predefined roles <a href=\"/docs/14/predefined-roles.html\" title=\"22.5. Predefined Roles\"><code>pg_read_all_data</code></a> and <code>pg_write_all_data</code> (Stephen Frost) <a href=\"https://postgr.es/c/6c3ffd697\">§</a></p>\n<p>These non-login roles can be used to give read or write permission to all tables, views, and sequences.</p>", "text": "Add predefined roles pg_read_all_data and pg_write_all_data (Stephen Frost) § These non-login roles can be used to give read or write permission to all tables, views, and sequences.", "title": "Add predefined roles pg_read_all_data and pg_write_all_data", "commits": ["6c3ffd697"], "section": "Server", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3", "source_hash": "3edee8242e0e0472a73fcc7326e31435772bf18008ca8e173cfd41aa732ffbf0", "section_path": ["Server"], "commit_groups": [["6c3ffd697"]], "identity_text": "Add predefined roles pg_read_all_data and pg_write_all_data (Stephen Frost) These non-login roles can be used to give read or write permission to all tables, views, and sequences.", "commit_aliases": ["6c3ffd697"], "source_commits": ["6c3ffd697"], "source_entry_id": "14.0/changes/001", "db_id": "7c964ca68cdf3bf8145c759329acccc2", "patch_ids": ["a7b1c5fabbd5c8f3b4273c849636d7de"], "statement_hash": "b4047ab90f3f257b52bb99a1862322775632426b74dee2281aaee02a55da453e", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-2e3bf31b7a03e4be", "cves": [], "html": "<p>Add predefined role <a href=\"/docs/14/predefined-roles.html\" title=\"22.5. Predefined Roles\"><code>pg_database_owner</code></a> that contains only the current database's owner (Noah Misch) <a href=\"https://postgr.es/c/a14a0118a\">§</a></p>\n<p>This is especially useful in template databases.</p>", "text": "Add predefined role pg_database_owner that contains only the current database's owner (Noah Misch) § This is especially useful in template databases.", "title": "Add predefined role pg_database_owner that contains only the current database's owner", "commits": ["a14a0118a"], "section": "Server", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3", "source_hash": "b7f5e672258676967d32a5aa3cada04d63bbf9d501c9500185049654e366768b", "section_path": ["Server"], "commit_groups": [["a14a0118a"]], "identity_text": "Add predefined role pg_database_owner that contains only the current database's owner (Noah Misch) This is especially useful in template databases.", "commit_aliases": ["a14a0118a"], "source_commits": ["a14a0118a"], "source_entry_id": "14.0/changes/002", "db_id": "39f7eb95a3c5fa369367c8d9e3cebff2", "patch_ids": ["4dea78925fdaae2198cc9749bad9eab5"], "statement_hash": "f4b6d6a2feb82f46a79d5a5969e3fb4782683813d72d3ec13c55fda53c13e040", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-a93fc5c8565ace4a", "cves": [], "html": "<p>Remove temporary files after backend crashes (Euler Taveira) <a href=\"https://postgr.es/c/cd91de0d1\">§</a></p>\n<p>Previously, such files were retained for debugging purposes. If necessary, deletion can be disabled with the new server parameter <a href=\"/docs/14/runtime-config-developer.html#GUC-REMOVE-TEMP-FILES-AFTER-CRASH\">remove_temp_files_after_crash</a>.</p>", "text": "Remove temporary files after backend crashes (Euler Taveira) § Previously, such files were retained for debugging purposes. If necessary, deletion can be disabled with the new server parameter remove_temp_files_after_crash.", "title": "Remove temporary files after backend crashes", "commits": ["cd91de0d1"], "section": "Server", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3", "source_hash": "8a07f6ae80b6a91c982965e7fb06a8ef388441a72c1e82fb5f052af8b0ce0d33", "section_path": ["Server"], "commit_groups": [["cd91de0d1"]], "identity_text": "Remove temporary files after backend crashes (Euler Taveira) Previously, such files were retained for debugging purposes. If necessary, deletion can be disabled with the new server parameter guc-remove-temp-files-after-crash .", "commit_aliases": ["cd91de0d1"], "source_commits": ["cd91de0d1"], "source_entry_id": "14.0/changes/003", "db_id": "9641f1fa742188e74a0ce21ffb889f00", "patch_ids": ["3eda1f200d7115024d30e70cc91d03de"], "statement_hash": "7b84731fbe851c837f867ed41279fabc8f765c04f2d6aebf30b915b0cea99aad", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-4e90554915eb0755", "cves": [], "html": "<p>Allow long-running queries to be canceled if the client disconnects (Sergey Cherkashin, Thomas Munro) <a href=\"https://postgr.es/c/c30f54ad7\">§</a></p>\n<p>The server parameter <a href=\"/docs/14/runtime-config-connection.html#GUC-CLIENT-CONNECTION-CHECK-INTERVAL\">client_connection_check_interval</a> allows control over whether loss of connection is checked for intra-query. (This is supported on Linux and a few other operating systems.)</p>", "text": "Allow long-running queries to be canceled if the client disconnects (Sergey Cherkashin, Thomas Munro) § The server parameter client_connection_check_interval allows control over whether loss of connection is checked for intra-query. (This is supported on Linux and a few other operating systems.)", "title": "Allow long-running queries to be canceled if the client disconnects", "commits": ["c30f54ad7"], "section": "Server", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3", "source_hash": "27e0b2b4f1f67548713108323182c1875fed7b4e597b4b8b2906fb0fe4865b64", "section_path": ["Server"], "commit_groups": [["c30f54ad7"]], "identity_text": "Allow long-running queries to be canceled if the client disconnects (Sergey Cherkashin, Thomas Munro) The server parameter guc-client-connection-check-interval allows control over whether loss of connection is checked for intra-query. (This is supported on Linux and a few other operating systems.)", "commit_aliases": ["c30f54ad7"], "source_commits": ["c30f54ad7"], "source_entry_id": "14.0/changes/004", "db_id": "a41d31862a17639e06183064e541c785", "patch_ids": ["6b1278fd036012f59f5ac99ded1c5420"], "statement_hash": "d276847c535cfe09f0d43acb4190ffc941f831d42a07a5d4d79aaef80b966238", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-ef095454849017dd", "cves": [], "html": "<p>Add an optional timeout parameter to <a href=\"/docs/14/functions-admin.html#FUNCTIONS-ADMIN-SIGNAL\" title=\"9.27.2. Server Signaling Functions\"><code>pg_terminate_backend()</code></a> (Magnus Hagander) <a href=\"https://postgr.es/c/aaf043257\">§</a></p>", "text": "Add an optional timeout parameter to pg_terminate_backend() (Magnus Hagander) §", "title": "Add an optional timeout parameter to pg_terminate_backend()", "commits": ["aaf043257"], "section": "Server", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3", "source_hash": "c5833bcb75dfacf2aa0bc64be26ea75b4ec29b7e2571b3ac499ca0094f970d3a", "section_path": ["Server"], "commit_groups": [["aaf043257"]], "identity_text": "Add an optional timeout parameter to pg_terminate_backend() (Magnus Hagander)", "commit_aliases": ["aaf043257"], "source_commits": ["aaf043257"], "source_entry_id": "14.0/changes/005", "db_id": "cfdff82e4698491408ffac16fc954126", "patch_ids": ["302820860fbe21c4869d2d58bd900dd2"], "statement_hash": "da3674ace1551c12e4f5bd5a4545beb0e3603595fb89b2280c3adbce75e1903b", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-995144cf35eed38f", "cves": [], "html": "<p>Allow wide tuples to be always added to almost-empty heap pages (John Naylor, Floris van Nee) <a href=\"https://postgr.es/c/0ff8bbdee\">§</a></p>\n<p>Previously tuples whose insertion would have exceeded the page's <a href=\"/docs/14/sql-createtable.html\" title=\"CREATE TABLE\">fill factor</a> were instead added to new pages.</p>", "text": "Allow wide tuples to be always added to almost-empty heap pages (John Naylor, Floris van Nee) § Previously tuples whose insertion would have exceeded the page's fill factor were instead added to new pages.", "title": "Allow wide tuples to be always added to almost-empty heap pages", "commits": ["0ff8bbdee"], "section": "Server", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3", "source_hash": "ed40aa9909ecbc0c55353c192b947ecc8b6886ffdf3d3046ea233d940450647e", "section_path": ["Server"], "commit_groups": [["0ff8bbdee"]], "identity_text": "Allow wide tuples to be always added to almost-empty heap pages (John Naylor, Floris van Nee) Previously tuples whose insertion would have exceeded the page's fill factor were instead added to new pages.", "commit_aliases": ["0ff8bbdee"], "source_commits": ["0ff8bbdee"], "source_entry_id": "14.0/changes/006", "db_id": "2b5392fe4c126bdbde4d4aa7bde41801", "patch_ids": ["f55a5fbf49b0f05bf7fa427e115618b1"], "statement_hash": "8a4d001b69d3172c9b75eaa0f1bf4baddb6283eb06b200dfd921df3c958e4e0e", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-f1624c24d8142aee", "cves": [], "html": "<p>Add Server Name Indication (<acronym>SNI</acronym>) in <acronym>SSL</acronym> connection packets (Peter Eisentraut) <a href=\"https://postgr.es/c/5c55dc8b4\">§</a></p>\n<p>This can be disabled by turning off client connection option <a href=\"/docs/14/libpq-connect.html#LIBPQ-PARAMKEYWORDS\" title=\"34.1.2. Parameter Key Words\"><code>sslsni</code></a>.</p>", "text": "Add Server Name Indication (SNI) in SSL connection packets (Peter Eisentraut) § This can be disabled by turning off client connection option sslsni.", "title": "Add Server Name Indication (SNI) in SSL connection packets", "commits": ["5c55dc8b4"], "section": "Server", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3", "source_hash": "99336d6805a14fdf96ee9d18c1a8ede727f53023a11f8ea5febe7a81ca5d39ea", "section_path": ["Server"], "commit_groups": [["5c55dc8b4"]], "identity_text": "Add Server Name Indication (SNI) in SSL connection packets (Peter Eisentraut) This can be disabled by turning off client connection option sslsni.", "commit_aliases": ["5c55dc8b4"], "source_commits": ["5c55dc8b4"], "source_entry_id": "14.0/changes/007", "db_id": "7ce49034b850c76474237ca8314a1007", "patch_ids": ["77e8a1144f3d08d6d8f0c5a328cede7b"], "statement_hash": "40e295532f90c1be713d5507715f88e7c514e82ac57e222e05a6e8979783d70d", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-d04ab2910a576520", "cves": [], "html": "<p>Allow vacuum to skip index vacuuming when the number of removable index entries is insignificant (Masahiko Sawada, Peter Geoghegan) <a href=\"https://postgr.es/c/5100010ee\">§</a> <a href=\"https://postgr.es/c/3499df0de\">§</a></p>\n<p>The vacuum parameter <a href=\"/docs/14/sql-vacuum.html\" title=\"VACUUM\"><code>INDEX_CLEANUP</code></a> has a new default of <code>auto</code> that enables this optimization.</p>", "text": "Allow vacuum to skip index vacuuming when the number of removable index entries is insignificant (Masahiko Sawada, Peter Geoghegan) § § The vacuum parameter INDEX_CLEANUP has a new default of auto that enables this optimization.", "title": "Allow vacuum to skip index vacuuming when the number of removable index entries is insignificant", "commits": ["3499df0de", "5100010ee"], "section": "Server / Vacuuming", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.3", "source_hash": "6a2a99d04a1637b40fb9e32564a37855ef4a9cb62cf794df190902ef5ae0228d", "section_path": ["Server", "Vacuuming"], "commit_groups": [["3499df0de"], ["5100010ee"]], "identity_text": "Allow vacuum to skip index vacuuming when the number of removable index entries is insignificant (Masahiko Sawada, Peter Geoghegan) The vacuum parameter INDEX_CLEANUP has a new default of auto that enables this optimization.", "commit_aliases": ["3499df0de", "5100010ee"], "source_commits": ["3499df0de", "5100010ee"], "source_entry_id": "14.0/changes/008", "db_id": "a21ae13cb310d2a0737b52cd09c05d39", "patch_ids": ["0db553698bcff7d44b18dfb0a4d1db41", "d36ed693709beb0d367a2de841423210"], "statement_hash": "e32425a2058b156981a48d8bc6b2b595f57389cb01f71f710dddeba3f49175c6", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-3c320be7ff0acf5f", "cves": [], "html": "<p>Allow vacuum to more eagerly add deleted btree pages to the free space map (Peter Geoghegan) <a href=\"https://postgr.es/c/9dd963ae2\">§</a></p>\n<p>Previously vacuum could only add pages to the free space map that were marked as deleted by previous vacuums.</p>", "text": "Allow vacuum to more eagerly add deleted btree pages to the free space map (Peter Geoghegan) § Previously vacuum could only add pages to the free space map that were marked as deleted by previous vacuums.", "title": "Allow vacuum to more eagerly add deleted btree pages to the free space map", "commits": ["9dd963ae2"], "section": "Server / Vacuuming", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.3", "source_hash": "1a5df65590ce77bfba6416afa53e5caeda96f198b37a90e694b59eea495a867a", "section_path": ["Server", "Vacuuming"], "commit_groups": [["9dd963ae2"]], "identity_text": "Allow vacuum to more eagerly add deleted btree pages to the free space map (Peter Geoghegan) Previously vacuum could only add pages to the free space map that were marked as deleted by previous vacuums.", "commit_aliases": ["9dd963ae2"], "source_commits": ["9dd963ae2"], "source_entry_id": "14.0/changes/009", "db_id": "dfe598f48cb6459cfc00d4877a4e027a", "patch_ids": ["7ea5da6b25b05cc12a9b7155150851f1"], "statement_hash": "5628575f5d106cd69153b5b5a7a9241d3ce0cf3aa8b3af1cd918f1e02af03c80", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-2517763ed8e07a7e", "cves": [], "html": "<p>Allow vacuum to reclaim space used by unused trailing heap line pointers (Matthias van de Meent, Peter Geoghegan) <a href=\"https://postgr.es/c/3c3b8a4b2\">§</a></p>", "text": "Allow vacuum to reclaim space used by unused trailing heap line pointers (Matthias van de Meent, Peter Geoghegan) §", "title": "Allow vacuum to reclaim space used by unused trailing heap line pointers", "commits": ["3c3b8a4b2"], "section": "Server / Vacuuming", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.3", "source_hash": "a8ecddf416b8d86d6355383cabe7692f05143fb855c8993970f0ad8b39993516", "section_path": ["Server", "Vacuuming"], "commit_groups": [["3c3b8a4b2"]], "identity_text": "Allow vacuum to reclaim space used by unused trailing heap line pointers (Matthias van de Meent, Peter Geoghegan)", "commit_aliases": ["3c3b8a4b2"], "source_commits": ["3c3b8a4b2"], "source_entry_id": "14.0/changes/010", "db_id": "67b224cf45acd34835fc61ac92183819", "patch_ids": ["e465d15f7a45be97ecf084841358ff3e"], "statement_hash": "c1780be2eac7b38ea2387976313dca8cec4bb7fd8bb4993b1b11843b4af5af20", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-e85885ab232f73ee", "cves": [], "html": "<p>Allow vacuum to be more aggressive in removing dead rows during minimal-locking index operations (Álvaro Herrera) <a href=\"https://postgr.es/c/c98763bf5\">§</a> <a href=\"https://postgr.es/c/f9900df5f\">§</a> <a href=\"https://postgr.es/c/d9d076222\">§</a></p>\n<p>Specifically, <code>CREATE INDEX CONCURRENTLY</code> and <code>REINDEX CONCURRENTLY</code> no longer limit the dead row removal of other relations.</p>", "text": "Allow vacuum to be more aggressive in removing dead rows during minimal-locking index operations (Álvaro Herrera) § § § Specifically, CREATE INDEX CONCURRENTLY and REINDEX CONCURRENTLY no longer limit the dead row removal of other relations.", "title": "Allow vacuum to be more aggressive in removing dead rows during minimal-locking index operations", "commits": ["c98763bf5", "d9d076222", "f9900df5f"], "section": "Server / Vacuuming", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.3", "source_hash": "4aadeb747e050652577bd0cc70c532539bd75d0b560058ed95e987acd843e335", "section_path": ["Server", "Vacuuming"], "commit_groups": [["c98763bf5"], ["d9d076222"], ["f9900df5f"]], "identity_text": "Allow vacuum to be more aggressive in removing dead rows during minimal-locking index operations (Álvaro Herrera) Specifically, CREATE INDEX CONCURRENTLY and REINDEX CONCURRENTLY no longer limit the dead row removal of other relations.", "commit_aliases": ["c98763bf5", "d9d076222", "f9900df5f"], "source_commits": ["c98763bf5", "d9d076222", "f9900df5f"], "source_entry_id": "14.0/changes/011", "db_id": "0c9d974913b05a8737e6a1f04752bfdc", "patch_ids": ["372a3670e2e3e461b4849f3a7ecea103", "5b064cc4a625651d6f0dba84325817a5", "6bd8462ec5bafe5f31e1328915ed8acb"], "statement_hash": "54e4e48618b5d1357955b5f68e3e091b1dde8dbf55d5ed7798fb8ed8a288256b", "relations": [{"rule": 2, "type": "related", "target": "e2349e6d9b73ae536eb86bd9f5cbbac4", "evidence": {"same_day": true, "patch_ids": ["372a3670e2e3e461b4849f3a7ecea103", "5b064cc4a625651d6f0dba84325817a5", "6bd8462ec5bafe5f31e1328915ed8acb"], "ambiguous_patch_ids": ["372a3670e2e3e461b4849f3a7ecea103", "5b064cc4a625651d6f0dba84325817a5", "6bd8462ec5bafe5f31e1328915ed8acb"]}}], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": [{"db_id": "e2349e6d9b73ae536eb86bd9f5cbbac4", "kind": "related", "version": "14.0", "label": "14.0", "title": "Allow index commands using CONCURRENTLY to avoid waiting for the completion of other operations using CONCURRENTLY", "evidence": {"same_day": true, "patch_ids": ["372a3670e2e3e461b4849f3a7ecea103", "5b064cc4a625651d6f0dba84325817a5", "6bd8462ec5bafe5f31e1328915ed8acb"], "ambiguous_patch_ids": ["372a3670e2e3e461b4849f3a7ecea103", "5b064cc4a625651d6f0dba84325817a5", "6bd8462ec5bafe5f31e1328915ed8acb"]}, "url": "/docs/compare/?release=14.0#14.0-21516bf19d3f88ea", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.6"}]}, {"id": "14.0-673aac54b62c163a", "cves": [], "html": "<p>Speed up vacuuming of databases with many relations (Tatsuhito Kasahara) <a href=\"https://postgr.es/c/e2ac3fed3\">§</a></p>", "text": "Speed up vacuuming of databases with many relations (Tatsuhito Kasahara) §", "title": "Speed up vacuuming of databases with many relations", "commits": ["e2ac3fed3"], "section": "Server / Vacuuming", "category": "performance", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.3", "source_hash": "6de1b38e56c93551a86bbb1f8c30b181aace28c08f85b7a8e1b6c9b4cbf92ac2", "section_path": ["Server", "Vacuuming"], "commit_groups": [["e2ac3fed3"]], "identity_text": "Speed up vacuuming of databases with many relations (Tatsuhito Kasahara)", "commit_aliases": ["e2ac3fed3"], "source_commits": ["e2ac3fed3"], "source_entry_id": "14.0/changes/012", "db_id": "7226f64f239faedb831a40b26ed1b83b", "patch_ids": ["db27b08fe82d4866a88debc8fe55bcfe"], "statement_hash": "a97c5b84df3e61784c109c3e486bdd644582a78b7409685bee83e549a311d862", "relations": [], "version": "14.0", "category_label": "Performance", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-d65767504fdae59c", "cves": [], "html": "<p>Reduce the default value of <a href=\"/docs/14/runtime-config-resource.html#GUC-VACUUM-COST-PAGE-MISS\">vacuum_cost_page_miss</a> to better reflect current hardware capabilities (Peter Geoghegan) <a href=\"https://postgr.es/c/e19594c5c\">§</a></p>", "text": "Reduce the default value of vacuum_cost_page_miss to better reflect current hardware capabilities (Peter Geoghegan) §", "title": "Reduce the default value of vacuum_cost_page_miss to better reflect current hardware capabilities", "commits": ["e19594c5c"], "section": "Server / Vacuuming", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.3", "source_hash": "15a761ea69ab85b91764cd89b03f14b7bbb3fe6be55fb18b1392671a4b300508", "section_path": ["Server", "Vacuuming"], "commit_groups": [["e19594c5c"]], "identity_text": "Reduce the default value of guc-vacuum-cost-page-miss to better reflect current hardware capabilities (Peter Geoghegan)", "commit_aliases": ["e19594c5c"], "source_commits": ["e19594c5c"], "source_entry_id": "14.0/changes/013", "db_id": "89b7a60eade6d24829bbc0d9efb70194", "patch_ids": ["75ef2ee15a80ec6fce3ff14555cfb9fa"], "statement_hash": "f8dc2f0ce5110082402165337d8c1eeffa71d74aa4eabd4e17399f74f382bbd7", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-575d84a6c25ca8ed", "cves": [], "html": "<p>Add ability to skip vacuuming of <acronym>TOAST</acronym> tables (Nathan Bossart) <a href=\"https://postgr.es/c/7cb3048f3\">§</a></p>\n<p><a href=\"/docs/14/sql-vacuum.html\" title=\"VACUUM\"><code>VACUUM</code></a> now has a <code>PROCESS_TOAST</code> option which can be set to false to disable <acronym>TOAST</acronym> processing, and <a href=\"/docs/14/app-vacuumdb.html\" title=\"vacuumdb\"><span>vacuumdb</span></a> has a <code>--no-process-toast</code> option.</p>", "text": "Add ability to skip vacuuming of TOAST tables (Nathan Bossart) § VACUUM now has a PROCESS_TOAST option which can be set to false to disable TOAST processing, and vacuumdb has a --no-process-toast option.", "title": "Add ability to skip vacuuming of TOAST tables", "commits": ["7cb3048f3"], "section": "Server / Vacuuming", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.3", "source_hash": "a147db5bf23f91f4b6735a5cf034626100b5c216dc0494260175581649020749", "section_path": ["Server", "Vacuuming"], "commit_groups": [["7cb3048f3"]], "identity_text": "Add ability to skip vacuuming of TOAST tables (Nathan Bossart) VACUUM now has a PROCESS_TOAST option which can be set to false to disable TOAST processing, and vacuumdb has a --no-process-toast option.", "commit_aliases": ["7cb3048f3"], "source_commits": ["7cb3048f3"], "source_entry_id": "14.0/changes/014", "db_id": "265fc459188e9b047bcec4c44650c0db", "patch_ids": ["ac8c91d21f491c247b60191c7c1271a1"], "statement_hash": "e1b012c3c98690dee24c5092e02409228c7b482779aebd4ee0908b1f1e86150b", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-c2d8e322b90bd666", "cves": [], "html": "<p>Have <a href=\"/docs/14/sql-copy.html\" title=\"COPY\"><code>COPY FREEZE</code></a> appropriately update page visibility bits (Anastasia Lubennikova, Pavan Deolasee, Jeff Janes) <a href=\"https://postgr.es/c/7db0cd214\">§</a></p>", "text": "Have COPY FREEZE appropriately update page visibility bits (Anastasia Lubennikova, Pavan Deolasee, Jeff Janes) §", "title": "Have COPY FREEZE appropriately update page visibility bits", "commits": ["7db0cd214"], "section": "Server / Vacuuming", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.3", "source_hash": "37d09e9663156186775f2478ea65d6562f5053a00835020e0e428d740f78acaa", "section_path": ["Server", "Vacuuming"], "commit_groups": [["7db0cd214"]], "identity_text": "Have COPY FREEZE appropriately update page visibility bits (Anastasia Lubennikova, Pavan Deolasee, Jeff Janes)", "commit_aliases": ["7db0cd214"], "source_commits": ["7db0cd214"], "source_entry_id": "14.0/changes/015", "db_id": "c20c62a17959343fe73dd74e2ce5f07d", "patch_ids": ["c79848c7fa5c541f2658ead62d453b9d"], "statement_hash": "90f7582c841128fce0a6e2b31b08bb1e2281d7559c947b5d471ae332fa1b850e", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-9a22e6048696f585", "cves": [], "html": "<p>Cause vacuum operations to be more aggressive if the table is near xid or multixact wraparound (Masahiko Sawada, Peter Geoghegan) <a href=\"https://postgr.es/c/1e55e7d17\">§</a></p>\n<p>This is controlled by <a href=\"/docs/14/runtime-config-client.html#GUC-VACUUM-FAILSAFE-AGE\">vacuum_failsafe_age</a> and <a href=\"/docs/14/runtime-config-client.html#GUC-VACUUM-MULTIXACT-FAILSAFE-AGE\">vacuum_multixact_failsafe_age</a>.</p>", "text": "Cause vacuum operations to be more aggressive if the table is near xid or multixact wraparound (Masahiko Sawada, Peter Geoghegan) § This is controlled by vacuum_failsafe_age and vacuum_multixact_failsafe_age.", "title": "Cause vacuum operations to be more aggressive if the table is near xid or multixact wraparound", "commits": ["1e55e7d17"], "section": "Server / Vacuuming", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.3", "source_hash": "99e324328886adc51ea298a89ea69445029d54804773accc70b5c12d14dd893d", "section_path": ["Server", "Vacuuming"], "commit_groups": [["1e55e7d17"]], "identity_text": "Cause vacuum operations to be more aggressive if the table is near xid or multixact wraparound (Masahiko Sawada, Peter Geoghegan) This is controlled by guc-vacuum-failsafe-age and guc-vacuum-multixact-failsafe-age .", "commit_aliases": ["1e55e7d17"], "source_commits": ["1e55e7d17"], "source_entry_id": "14.0/changes/016", "db_id": "38821d36552837fee8be43e9c2b5109e", "patch_ids": ["a691f25f6b748dcd5dbb4f479fa2a3ee"], "statement_hash": "b3e78a4c45f0865431b66173d087ebe24607970ba92695dc9a00120f9553bc87", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-8b6e63ed99438e71", "cves": [], "html": "<p>Increase warning time and hard limit before transaction id and multi-transaction wraparound (Noah Misch) <a href=\"https://postgr.es/c/cd5e82256\">§</a></p>\n<p>This should reduce the possibility of failures that occur without having issued warnings about wraparound.</p>", "text": "Increase warning time and hard limit before transaction id and multi-transaction wraparound (Noah Misch) § This should reduce the possibility of failures that occur without having issued warnings about wraparound.", "title": "Increase warning time and hard limit before transaction id and multi-transaction wraparound", "commits": ["cd5e82256"], "section": "Server / Vacuuming", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.3", "source_hash": "17ec33da000d0b5070f735a555514364e59b2adb3695af1c3da5897a7601ce38", "section_path": ["Server", "Vacuuming"], "commit_groups": [["cd5e82256"]], "identity_text": "Increase warning time and hard limit before transaction id and multi-transaction wraparound (Noah Misch) This should reduce the possibility of failures that occur without having issued warnings about wraparound.", "commit_aliases": ["cd5e82256"], "source_commits": ["cd5e82256"], "source_entry_id": "14.0/changes/017", "db_id": "36b7169ab381fedb50ef7455a70c04d5", "patch_ids": ["d4aa577c6ac90cf8b3b00ab8424f9884"], "statement_hash": "5bf76e0938bf46ab86ae704850a242e10f1bb66b1831d156660701ecccaace9f", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-d82eaf7df6779cbd", "cves": [], "html": "<p>Add per-index information to <a href=\"/docs/14/runtime-config-logging.html#GUC-LOG-AUTOVACUUM-MIN-DURATION\">autovacuum logging output</a> (Masahiko Sawada) <a href=\"https://postgr.es/c/5aed6a1fc\">§</a></p>", "text": "Add per-index information to autovacuum logging output (Masahiko Sawada) §", "title": "Add per-index information to autovacuum logging output", "commits": ["5aed6a1fc"], "section": "Server / Vacuuming", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.3", "source_hash": "757f23f69196f316939bdd8edc53742e778b037b66714a1eb3ad2398707c4aaf", "section_path": ["Server", "Vacuuming"], "commit_groups": [["5aed6a1fc"]], "identity_text": "Add per-index information to autovacuum logging output (Masahiko Sawada)", "commit_aliases": ["5aed6a1fc"], "source_commits": ["5aed6a1fc"], "source_entry_id": "14.0/changes/018", "db_id": "4147b6ee8c43efa5d7b0e3a68e8175aa", "patch_ids": ["297356640b1e55ce0b956460c38a88d3"], "statement_hash": "db11a7bb7a4fe49f720d12554845a41884b642ffe8804c8cefe12706edc59c71", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-7b083c3cabea8a78", "cves": [], "html": "<p>Improve the performance of updates and deletes on partitioned tables with many partitions (Amit Langote, Tom Lane) <a href=\"https://postgr.es/c/86dc90056\">§</a> <a href=\"https://postgr.es/c/a1115fa07\">§</a> <a href=\"https://postgr.es/c/c5b7ba4e6\">§</a></p>\n<p>This change greatly reduces the planner's overhead for such cases, and also allows updates/deletes on partitioned tables to use execution-time partition pruning.</p>", "text": "Improve the performance of updates and deletes on partitioned tables with many partitions (Amit Langote, Tom Lane) § § § This change greatly reduces the planner's overhead for such cases, and also allows updates/deletes on partitioned tables to use execution-time partition pruning.", "title": "Improve the performance of updates and deletes on partitioned tables with many partitions", "commits": ["86dc90056", "a1115fa07", "c5b7ba4e6"], "section": "Server / Partitioning", "category": "performance", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.4", "source_hash": "bb349cd2d9fa02d5fc76114c907fe8698efd8687b02bceaa85cf104da9b0e906", "section_path": ["Server", "Partitioning"], "commit_groups": [["86dc90056"], ["a1115fa07"], ["c5b7ba4e6"]], "identity_text": "Improve the performance of updates and deletes on partitioned tables with many partitions (Amit Langote, Tom Lane) This change greatly reduces the planner's overhead for such cases, and also allows updates/deletes on partitioned tables to use execution-time partition pruning.", "commit_aliases": ["86dc90056", "a1115fa07", "c5b7ba4e6"], "source_commits": ["86dc90056", "a1115fa07", "c5b7ba4e6"], "source_entry_id": "14.0/changes/019", "db_id": "87280cbc3402955bf6dc1ba16e6d429e", "patch_ids": ["7002902cc06c0c6789ed50713737211d", "92b343055ff588bca5fd90e8a5a6d712", "c474888064fe0cebce46908133ab78d2"], "statement_hash": "da8fdc10661856e3452ea117e058207e22185f1017ee9b2d38ab7552b07833f9", "relations": [], "version": "14.0", "category_label": "Performance", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-4c8e021796bd9651", "cves": [], "html": "<p>Allow partitions to be <a href=\"/docs/14/sql-altertable.html\" title=\"ALTER TABLE\">detached</a> in a non-blocking manner (Álvaro Herrera) <a href=\"https://postgr.es/c/71f4c8c6f\">§</a></p>\n<p>The syntax is <code>ALTER TABLE ... DETACH PARTITION ... CONCURRENTLY</code>, and <code>FINALIZE</code>.</p>", "text": "Allow partitions to be detached in a non-blocking manner (Álvaro Herrera) § The syntax is ALTER TABLE ... DETACH PARTITION ... CONCURRENTLY, and FINALIZE.", "title": "Allow partitions to be detached in a non-blocking manner", "commits": ["71f4c8c6f"], "section": "Server / Partitioning", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.4", "source_hash": "2fea5c0c27db9199dcca7428cba7469d318e650f889406e4194ca8165448a41a", "section_path": ["Server", "Partitioning"], "commit_groups": [["71f4c8c6f"]], "identity_text": "Allow partitions to be detached in a non-blocking manner (Álvaro Herrera) The syntax is ALTER TABLE ... DETACH PARTITION ... CONCURRENTLY, and FINALIZE.", "commit_aliases": ["71f4c8c6f"], "source_commits": ["71f4c8c6f"], "source_entry_id": "14.0/changes/020", "db_id": "6d0954d9e3f3988e898a11182e5223f0", "patch_ids": ["e08e854ba49973e582e5c2f26763d6f2"], "statement_hash": "5edcece495690da08e850f56d68fd9946d7d2bab39f6ad4422ed58d37f97518c", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-c704b6b3281a56f5", "cves": [], "html": "<p>Ignore <code>COLLATE</code> clauses in partition boundary values (Tom Lane) <a href=\"https://postgr.es/c/2dfa3fea8\">§</a></p>\n<p>Previously any such clause had to match the collation of the partition key; but it's more consistent to consider that it's automatically coerced to the collation of the partition key.</p>", "text": "Ignore COLLATE clauses in partition boundary values (Tom Lane) § Previously any such clause had to match the collation of the partition key; but it's more consistent to consider that it's automatically coerced to the collation of the partition key.", "title": "Ignore COLLATE clauses in partition boundary values", "commits": ["2dfa3fea8"], "section": "Server / Partitioning", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.4", "source_hash": "509524969f1406938784dad4aae16e7c092fd7d7ca243218705d5aabcf9d7f30", "section_path": ["Server", "Partitioning"], "commit_groups": [["2dfa3fea8"]], "identity_text": "Ignore COLLATE clauses in partition boundary values (Tom Lane) Previously any such clause had to match the collation of the partition key; but it's more consistent to consider that it's automatically coerced to the collation of the partition key.", "commit_aliases": ["2dfa3fea8"], "source_commits": ["2dfa3fea8"], "source_entry_id": "14.0/changes/021", "db_id": "3ec86b7c53023b80ecc13bcfc36b790c", "patch_ids": ["27dd089c1a6b61f0194799531999873d"], "statement_hash": "3c5b8490b2a1b2bcccf2736616edf744afbd239f97bbc82ccf2f5272b675cac0", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-b86bd4388eb831b6", "cves": [], "html": "<p>Allow btree index additions to <a href=\"/docs/14/btree-implementation.html#BTREE-DELETION\" title=\"64.4.2. Bottom-up Index Deletion\">remove expired index entries</a> to prevent page splits (Peter Geoghegan) <a href=\"https://postgr.es/c/9dc718bdf\">§</a> <a href=\"https://postgr.es/c/d168b6668\">§</a></p>\n<p>This is particularly helpful for reducing index bloat on tables whose indexed columns are frequently updated.</p>", "text": "Allow btree index additions to remove expired index entries to prevent page splits (Peter Geoghegan) § § This is particularly helpful for reducing index bloat on tables whose indexed columns are frequently updated.", "title": "Allow btree index additions to remove expired index entries to prevent page splits", "commits": ["9dc718bdf", "d168b6668"], "section": "Server / Indexes", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.5", "source_hash": "37c435ebb98c0f7b4d8e8ba08edf9047d67c671cd278c37e9a253edfb3dcd032", "section_path": ["Server", "Indexes"], "commit_groups": [["9dc718bdf"], ["d168b6668"]], "identity_text": "Allow btree index additions to remove expired index entries to prevent page splits (Peter Geoghegan) This is particularly helpful for reducing index bloat on tables whose indexed columns are frequently updated.", "commit_aliases": ["9dc718bdf", "d168b6668"], "source_commits": ["9dc718bdf", "d168b6668"], "source_entry_id": "14.0/changes/022", "db_id": "6c42f4ac324b00fc026c401ec482c147", "patch_ids": ["0b97c9d0405a5f264efeac6d358fa115", "925d4888b6fd7820d89ea2a58493eb7e"], "statement_hash": "a36f8a5992dbee50672461d73d3ebbee21f84d127870c62eb384c39da115dc35", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-36120da75947f5c7", "cves": [], "html": "<p>Allow <a href=\"/docs/14/brin.html\" title=\"Chapter 68. BRIN Indexes\"><acronym>BRIN</acronym></a> indexes to record multiple min/max values per range (Tomas Vondra) <a href=\"https://postgr.es/c/ab596105b\">§</a></p>\n<p>This is useful if there are groups of values in each page range.</p>", "text": "Allow BRIN indexes to record multiple min/max values per range (Tomas Vondra) § This is useful if there are groups of values in each page range.", "title": "Allow BRIN indexes to record multiple min/max values per range", "commits": ["ab596105b"], "section": "Server / Indexes", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.5", "source_hash": "3d5e2e5e36f0f2470ff325a360419b897da1a5eb419eaa75fd634a87e2a73725", "section_path": ["Server", "Indexes"], "commit_groups": [["ab596105b"]], "identity_text": "Allow BRIN indexes to record multiple min/max values per range (Tomas Vondra) This is useful if there are groups of values in each page range.", "commit_aliases": ["ab596105b"], "source_commits": ["ab596105b"], "source_entry_id": "14.0/changes/023", "db_id": "100451d3734871d41a926744f6024c91", "patch_ids": ["47401334033bb3bbf08d77f68fc21b64"], "statement_hash": "bf24348a110015de71e69798a7cbfe51ceae018f5612a6ea7880b04b10137d2e", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-053e10cf6fadaee3", "cves": [], "html": "<p>Allow <acronym>BRIN</acronym> indexes to use bloom filters (Tomas Vondra) <a href=\"https://postgr.es/c/77b88cd1b\">§</a></p>\n<p>This allows <acronym>BRIN</acronym> indexes to be used effectively with data that is not well-localized in the heap.</p>", "text": "Allow BRIN indexes to use bloom filters (Tomas Vondra) § This allows BRIN indexes to be used effectively with data that is not well-localized in the heap.", "title": "Allow BRIN indexes to use bloom filters", "commits": ["77b88cd1b"], "section": "Server / Indexes", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.5", "source_hash": "f4db715c518a257aab6e3a51bd469436bbc3ee06db22790b4cfa06bd6cf5797d", "section_path": ["Server", "Indexes"], "commit_groups": [["77b88cd1b"]], "identity_text": "Allow BRIN indexes to use bloom filters (Tomas Vondra) This allows BRIN indexes to be used effectively with data that is not well-localized in the heap.", "commit_aliases": ["77b88cd1b"], "source_commits": ["77b88cd1b"], "source_entry_id": "14.0/changes/024", "db_id": "5547b4aa0a249906cb102dfacd7e1e9a", "patch_ids": ["361d989f0dc9e6b9fa00be9f7840520d"], "statement_hash": "7a5aa6ba84f59d34cecb50bd2df2846788257284048ff467ed01729238fd876d", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-9636884206673f5a", "cves": [], "html": "<p>Allow some <a href=\"/docs/14/gist.html\" title=\"Chapter 65. GiST Indexes\">GiST</a> indexes to be built by presorting the data (Andrey Borodin) <a href=\"https://postgr.es/c/16fa9b2b3\">§</a></p>\n<p>Presorting happens automatically and allows for faster index creation and smaller indexes.</p>", "text": "Allow some GiST indexes to be built by presorting the data (Andrey Borodin) § Presorting happens automatically and allows for faster index creation and smaller indexes.", "title": "Allow some GiST indexes to be built by presorting the data", "commits": ["16fa9b2b3"], "section": "Server / Indexes", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.5", "source_hash": "e16aeb0911ac58fc12e83f6112c405bdee1cbdfe7dde2fd1611422c9b80f4a3f", "section_path": ["Server", "Indexes"], "commit_groups": [["16fa9b2b3"]], "identity_text": "Allow some GiST indexes to be built by presorting the data (Andrey Borodin) Presorting happens automatically and allows for faster index creation and smaller indexes.", "commit_aliases": ["16fa9b2b3"], "source_commits": ["16fa9b2b3"], "source_entry_id": "14.0/changes/025", "db_id": "802c7d515c214d92c0c0e820ed339435", "patch_ids": ["dadcdaf5ab32c9a6959c70f2b7bb513e"], "statement_hash": "bacb06f3d1636179cf16e8aeea22a62a96170d8c33e40d06186a4aaac7d22a2f", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-959c4a49ef80804b", "cves": [], "html": "<p>Allow <a href=\"/docs/14/spgist.html\" title=\"Chapter 66. SP-GiST Indexes\">SP-GiST</a> indexes to contain <code>INCLUDE</code>'d columns (Pavel Borisov) <a href=\"https://postgr.es/c/09c1c6ab4\">§</a></p>", "text": "Allow SP-GiST indexes to contain INCLUDE'd columns (Pavel Borisov) §", "title": "Allow SP-GiST indexes to contain INCLUDE'd columns", "commits": ["09c1c6ab4"], "section": "Server / Indexes", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.5", "source_hash": "ba587c36bd0d1f447255a645e71655b4d42c5158eac02d3d7af367d8c0d27963", "section_path": ["Server", "Indexes"], "commit_groups": [["09c1c6ab4"]], "identity_text": "Allow SP-GiST indexes to contain INCLUDE'd columns (Pavel Borisov)", "commit_aliases": ["09c1c6ab4"], "source_commits": ["09c1c6ab4"], "source_entry_id": "14.0/changes/026", "db_id": "269c2d2c0940fa25937ede4f97cf5d29", "patch_ids": ["cf07700efc5c72d7d98054f7442f2263"], "statement_hash": "7baeda213650066780bd11b32c6e9e3900fdc02d9d479a697770110a74a6bc4e", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-c628ef77afe7acdf", "cves": [], "html": "<p>Allow hash lookup for <code>IN</code> clauses with many constants (James Coleman, David Rowley) <a href=\"https://postgr.es/c/50e17ad28\">§</a></p>\n<p>Previously the code always sequentially scanned the list of values.</p>", "text": "Allow hash lookup for IN clauses with many constants (James Coleman, David Rowley) § Previously the code always sequentially scanned the list of values.", "title": "Allow hash lookup for IN clauses with many constants", "commits": ["50e17ad28"], "section": "Server / Optimizer", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.6", "source_hash": "7fe9d9cd6fb3a5f2ac2e679627f86dc8f4bd795645f3cf24fed9663de6ceaa63", "section_path": ["Server", "Optimizer"], "commit_groups": [["50e17ad28"]], "identity_text": "Allow hash lookup for IN clauses with many constants (James Coleman, David Rowley) Previously the code always sequentially scanned the list of values.", "commit_aliases": ["50e17ad28"], "source_commits": ["50e17ad28"], "source_entry_id": "14.0/changes/027", "db_id": "7ca6ebac03cb187d8ed837b4f46c0e1b", "patch_ids": ["b1b2b8064d51829878c86f19b5527657"], "statement_hash": "a31239b0c6757658b16c4fef056579e4446569e215c564869dc74d41b19874ba", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-95d57a6794430f97", "cves": [], "html": "<p>Increase the number of places <a href=\"/docs/14/planner-stats.html#PLANNER-STATS-EXTENDED\" title=\"14.2.2. Extended Statistics\">extended statistics</a> can be used for <code>OR</code> clause estimation (Tomas Vondra, Dean Rasheed) <a href=\"https://postgr.es/c/25a9e54d2\">§</a> <a href=\"https://postgr.es/c/88b0898fe\">§</a> <a href=\"https://postgr.es/c/4f5760d4a\">§</a></p>", "text": "Increase the number of places extended statistics can be used for OR clause estimation (Tomas Vondra, Dean Rasheed) § § §", "title": "Increase the number of places extended statistics can be used for OR clause estimation", "commits": ["25a9e54d2", "4f5760d4a", "88b0898fe"], "section": "Server / Optimizer", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.6", "source_hash": "b8b47c642c13a1b92f483bdc92948a32f8a8b27d260c4fcd91ec9717586eadc7", "section_path": ["Server", "Optimizer"], "commit_groups": [["25a9e54d2"], ["4f5760d4a"], ["88b0898fe"]], "identity_text": "Increase the number of places extended statistics can be used for OR clause estimation (Tomas Vondra, Dean Rasheed)", "commit_aliases": ["25a9e54d2", "4f5760d4a", "88b0898fe"], "source_commits": ["25a9e54d2", "4f5760d4a", "88b0898fe"], "source_entry_id": "14.0/changes/028", "db_id": "af7efdbad5858a3dfee700eea9e7dfc2", "patch_ids": ["9a1cce8c2356e05ab681a3da3935202e", "c91c3d63f296e3edf6fe04fd9b543a1a", "fe01df3f67ae910a02dbbbd0717b0d34"], "statement_hash": "c796c5eb89eaae772c3806ddd3a7560128ce712eefee9ec0fa1cde4c4c44a12c", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-49a5c3f79e2e04f7", "cves": [], "html": "<p>Allow extended statistics on expressions (Tomas Vondra) <a href=\"https://postgr.es/c/a4d75c86b\">§</a></p>\n<p>This allows statistics on a group of expressions and columns, rather than only columns like previously. System view <a href=\"/docs/14/view-pg-stats-ext-exprs.html\" title=\"52.91. pg_stats_ext_exprs\"><code>pg_stats_ext_exprs</code></a> reports such statistics.</p>", "text": "Allow extended statistics on expressions (Tomas Vondra) § This allows statistics on a group of expressions and columns, rather than only columns like previously. System view pg_stats_ext_exprs reports such statistics.", "title": "Allow extended statistics on expressions", "commits": ["a4d75c86b"], "section": "Server / Optimizer", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.6", "source_hash": "a737ffd60f210e3439889636aa41962174ca120c3a34bf37386221141e7d4417", "section_path": ["Server", "Optimizer"], "commit_groups": [["a4d75c86b"]], "identity_text": "Allow extended statistics on expressions (Tomas Vondra) This allows statistics on a group of expressions and columns, rather than only columns like previously. System view pg_stats_ext_exprs reports such statistics.", "commit_aliases": ["a4d75c86b"], "source_commits": ["a4d75c86b"], "source_entry_id": "14.0/changes/029", "db_id": "a84c47a487bc569cfce87934f74d4fc9", "patch_ids": ["fc03f6253c57b9e06f77ef1e3fa4337a"], "statement_hash": "ff3b5481d4b03b862cace2fb805ed403a6008967d31ed931ca2cd5f69642fa42", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-d1caa3aae5ae8bb5", "cves": [], "html": "<p>Allow efficient heap scanning of a range of <a href=\"/docs/14/datatype-oid.html#DATATYPE-OID-TABLE\" title=\"Table 8.26. Object Identifier Types\"><code>TIDs</code></a> (Edmund Horner, David Rowley) <a href=\"https://postgr.es/c/bb437f995\">§</a></p>\n<p>Previously a sequential scan was required for non-equality <code>TID</code> specifications.</p>", "text": "Allow efficient heap scanning of a range of TIDs (Edmund Horner, David Rowley) § Previously a sequential scan was required for non-equality TID specifications.", "title": "Allow efficient heap scanning of a range of TIDs", "commits": ["bb437f995"], "section": "Server / Optimizer", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.6", "source_hash": "beee79f8d794f745499ed834a8d1860a82d78f023b396b22a20bfef2f853a725", "section_path": ["Server", "Optimizer"], "commit_groups": [["bb437f995"]], "identity_text": "Allow efficient heap scanning of a range of TIDs (Edmund Horner, David Rowley) Previously a sequential scan was required for non-equality TID specifications.", "commit_aliases": ["bb437f995"], "source_commits": ["bb437f995"], "source_entry_id": "14.0/changes/030", "db_id": "d6d1ff34f63d3e2881d85a967a1037d5", "patch_ids": ["83883f5982c3e425367ee6186348ddd3"], "statement_hash": "cbde75f3a56ae1820f8aed99e6e3edde8164b72daac2404da85f083bee9233e3", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-1ad0919abc31244b", "cves": [], "html": "<p>Fix <a href=\"/docs/14/sql-explain.html\" title=\"EXPLAIN\"><code>EXPLAIN CREATE TABLE AS</code></a> and <code>EXPLAIN CREATE MATERIALIZED VIEW</code> to honor <code>IF NOT EXISTS</code> (Bharath Rupireddy) <a href=\"https://postgr.es/c/e665769e6\">§</a></p>\n<p>Previously, if the object already existed, <code>EXPLAIN</code> would fail.</p>", "text": "Fix EXPLAIN CREATE TABLE AS and EXPLAIN CREATE MATERIALIZED VIEW to honor IF NOT EXISTS (Bharath Rupireddy) § Previously, if the object already existed, EXPLAIN would fail.", "title": "Fix EXPLAIN CREATE TABLE AS and EXPLAIN CREATE MATERIALIZED VIEW to honor IF NOT EXISTS", "commits": ["e665769e6"], "section": "Server / Optimizer", "category": "bugfix", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.6", "source_hash": "6e4b7f4c4a8590442c21b77b0339cacec24aa59dde42e926aa2d3ce7539e688c", "section_path": ["Server", "Optimizer"], "commit_groups": [["e665769e6"]], "identity_text": "Fix EXPLAIN CREATE TABLE AS and EXPLAIN CREATE MATERIALIZED VIEW to honor IF NOT EXISTS (Bharath Rupireddy) Previously, if the object already existed, EXPLAIN would fail.", "commit_aliases": ["e665769e6"], "source_commits": ["e665769e6"], "source_entry_id": "14.0/changes/031", "db_id": "00564d2b5bb7d7325f3cdc5d2abca385", "patch_ids": ["7acdc83a09895a5a0d4a648e881cf3d8"], "statement_hash": "f9f5b15912fbacd23afe5a66e3d47f4124f6a7aea4670b8c4b4aef9ff3c0f34a", "relations": [], "version": "14.0", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-95a13ff505bcaa6b", "cves": [], "html": "<p>Improve the speed of computing <acronym>MVCC</acronym> <a href=\"/docs/14/mvcc.html\" title=\"Chapter 13. Concurrency Control\">visibility snapshots</a> on systems with many CPUs and high session counts (Andres Freund) <a href=\"https://postgr.es/c/dc7420c2c\">§</a> <a href=\"https://postgr.es/c/1f51c17c6\">§</a> <a href=\"https://postgr.es/c/941697c3c\">§</a> <a href=\"https://postgr.es/c/5788e258b\">§</a> <a href=\"https://postgr.es/c/73487a60f\">§</a> <a href=\"https://postgr.es/c/623a9ba79\">§</a></p>\n<p>This also improves performance when there are many idle sessions.</p>", "text": "Improve the speed of computing MVCC visibility snapshots on systems with many CPUs and high session counts (Andres Freund) § § § § § § This also improves performance when there are many idle sessions.", "title": "Improve the speed of computing MVCC visibility snapshots on systems with many CPUs and high session counts", "commits": ["1f51c17c6", "5788e258b", "623a9ba79", "73487a60f", "941697c3c", "dc7420c2c"], "section": "Server / General Performance", "category": "performance", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.7", "source_hash": "be1a87afa59ba72f640470fe20097bf83b424494e1f4e43e94c707a0438ed886", "section_path": ["Server", "General Performance"], "commit_groups": [["1f51c17c6"], ["5788e258b"], ["623a9ba79"], ["73487a60f"], ["941697c3c"], ["dc7420c2c"]], "identity_text": "Improve the speed of computing MVCC visibility snapshots on systems with many CPUs and high session counts (Andres Freund) This also improves performance when there are many idle sessions.", "commit_aliases": ["1f51c17c6", "5788e258b", "623a9ba79", "73487a60f", "941697c3c", "dc7420c2c"], "source_commits": ["1f51c17c6", "5788e258b", "623a9ba79", "73487a60f", "941697c3c", "dc7420c2c"], "source_entry_id": "14.0/changes/032", "db_id": "9c9cd6f9a909edd8bea0b8ba4f0b304a", "patch_ids": ["1d872442ebf83be6faef1d252c629456", "278470079dd00c41c03fffbc8b6fe697", "32937d7ccfca3a13611ea293461da8c4", "3d6202c30080972f6e5cfa1f95cc1408", "3fcaf65f10a1c86b293a02aec07f7211", "5d4b6f0f51da6c2670fa03b150ddb904"], "statement_hash": "9201bab9f0364153d9b62ed7742fddc2e794ccb49d8b045c8156004441f40a55", "relations": [], "version": "14.0", "category_label": "Performance", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-e7e77ecf041e0e65", "cves": [], "html": "<p>Add executor method to memoize results from the inner side of a nested-loop join (David Rowley) <a href=\"https://postgr.es/c/9eacee2e6\">§</a></p>\n<p>This is useful if only a small percentage of rows is checked on the inner side. It can be disabled via server parameter <a href=\"/docs/14/runtime-config-query.html#GUC-ENABLE-MEMOIZE\">enable_memoize</a>.</p>", "text": "Add executor method to memoize results from the inner side of a nested-loop join (David Rowley) § This is useful if only a small percentage of rows is checked on the inner side. It can be disabled via server parameter enable_memoize.", "title": "Add executor method to memoize results from the inner side of a nested-loop join", "commits": ["9eacee2e6"], "section": "Server / General Performance", "category": "performance", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.7", "source_hash": "020a98bc95f56be190c73f59512e3b89ae47f535f84c3cca66c31b38b39a437f", "section_path": ["Server", "General Performance"], "commit_groups": [["9eacee2e6"]], "identity_text": "Add executor method to memoize results from the inner side of a nested-loop join (David Rowley) This is useful if only a small percentage of rows is checked on the inner side. It can be disabled via server parameter guc-enable-memoize .", "commit_aliases": ["9eacee2e6"], "source_commits": ["9eacee2e6"], "source_entry_id": "14.0/changes/033", "db_id": "8cddf1b5ae21cddefc40120ecd61c02c", "patch_ids": ["eee5e51c5b53bf2d37af98b30185dbef"], "statement_hash": "a82cf0e75e9fee0020b12359553afb583374ebc6702ffaaaaed6be7024a084e5", "relations": [], "version": "14.0", "category_label": "Performance", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-29b3d809133a83b5", "cves": [], "html": "<p>Allow <a href=\"/docs/14/functions-window.html\" title=\"9.22. Window Functions\">window functions</a> to perform incremental sorts (David Rowley) <a href=\"https://postgr.es/c/62e221e1c\">§</a></p>", "text": "Allow window functions to perform incremental sorts (David Rowley) §", "title": "Allow window functions to perform incremental sorts", "commits": ["62e221e1c"], "section": "Server / General Performance", "category": "performance", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.7", "source_hash": "7705a575aa69ab1734fc0da81a602cc2c02ca7f7b0e9b4ff9e984bbc4259c11d", "section_path": ["Server", "General Performance"], "commit_groups": [["62e221e1c"]], "identity_text": "Allow window functions to perform incremental sorts (David Rowley)", "commit_aliases": ["62e221e1c"], "source_commits": ["62e221e1c"], "source_entry_id": "14.0/changes/034", "db_id": "eaf4181723696bfa32db860ca47c109e", "patch_ids": ["47a1163205a01ac8d9713c7f1788b004"], "statement_hash": "4c4767541fa0b8434912ea71ca8359d661f6d22a3be2869a1ad21730bc3bc03c", "relations": [], "version": "14.0", "category_label": "Performance", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-1c7825423e505539", "cves": [], "html": "<p>Improve the I/O performance of parallel sequential scans (Thomas Munro, David Rowley) <a href=\"https://postgr.es/c/56788d215\">§</a></p>\n<p>This was done by allocating blocks in groups to <a href=\"/docs/14/runtime-config-resource.html#GUC-MAX-PARALLEL-WORKERS\">parallel workers</a>.</p>", "text": "Improve the I/O performance of parallel sequential scans (Thomas Munro, David Rowley) § This was done by allocating blocks in groups to parallel workers.", "title": "Improve the I/O performance of parallel sequential scans", "commits": ["56788d215"], "section": "Server / General Performance", "category": "performance", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.7", "source_hash": "28356ee8c666a713e3f6618af28d960353357e68f9bb63cfa4de68e3baa6ba69", "section_path": ["Server", "General Performance"], "commit_groups": [["56788d215"]], "identity_text": "Improve the I/O performance of parallel sequential scans (Thomas Munro, David Rowley) This was done by allocating blocks in groups to parallel workers.", "commit_aliases": ["56788d215"], "source_commits": ["56788d215"], "source_entry_id": "14.0/changes/035", "db_id": "d2ca5c4d7817b3f3d619b0794ba26100", "patch_ids": ["da8a19a09c56be0388815e70aa4ff3c8"], "statement_hash": "bce2cfb8b3d5dc42999bb9eb57ce71c5b877a03553bc3b2b32083584f02e935c", "relations": [], "version": "14.0", "category_label": "Performance", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-639e627cd0e53375", "cves": [], "html": "<p>Allow a query referencing multiple <a href=\"/docs/14/sql-createforeigntable.html\" title=\"CREATE FOREIGN TABLE\">foreign tables</a> to perform foreign table scans in parallel (Robert Haas, Kyotaro Horiguchi, Thomas Munro, Etsuro Fujita) <a href=\"https://postgr.es/c/27e1f1456\">§</a></p>\n<p><a href=\"/docs/14/postgres-fdw.html\" title=\"F.35. postgres_fdw\"><span>postgres_fdw</span></a> supports this type of scan if <code>async_capable</code> is set.</p>", "text": "Allow a query referencing multiple foreign tables to perform foreign table scans in parallel (Robert Haas, Kyotaro Horiguchi, Thomas Munro, Etsuro Fujita) § postgres_fdw supports this type of scan if async_capable is set.", "title": "Allow a query referencing multiple foreign tables to perform foreign table scans in parallel", "commits": ["27e1f1456"], "section": "Server / General Performance", "category": "performance", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.7", "source_hash": "96ef615dc361b86a1d3a9e548da28108eef2800acba06d1c83721926165b8781", "section_path": ["Server", "General Performance"], "commit_groups": [["27e1f1456"]], "identity_text": "Allow a query referencing multiple foreign tables to perform foreign table scans in parallel (Robert Haas, Kyotaro Horiguchi, Thomas Munro, Etsuro Fujita) postgres_fdw supports this type of scan if async_capable is set.", "commit_aliases": ["27e1f1456"], "source_commits": ["27e1f1456"], "source_entry_id": "14.0/changes/036", "db_id": "3b832efdc2d6616bb32920cefb77b552", "patch_ids": ["a675d8525a0e6fe68b9d6e552c520784"], "statement_hash": "137424318f2099cff7ed98e17138a74e10f05132e46b405ef810e2a7a6b8eb56", "relations": [], "version": "14.0", "category_label": "Performance", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-44f4e5e3e924ae2b", "cves": [], "html": "<p>Allow <a href=\"/docs/14/routine-vacuuming.html#VACUUM-FOR-STATISTICS\" title=\"25.1.3. Updating Planner Statistics\">analyze</a> to do page prefetching (Stephen Frost) <a href=\"https://postgr.es/c/c6fc50cb4\">§</a></p>\n<p>This is controlled by <a href=\"/docs/14/runtime-config-resource.html#GUC-MAINTENANCE-IO-CONCURRENCY\">maintenance_io_concurrency</a>.</p>", "text": "Allow analyze to do page prefetching (Stephen Frost) § This is controlled by maintenance_io_concurrency.", "title": "Allow analyze to do page prefetching", "commits": ["c6fc50cb4"], "section": "Server / General Performance", "category": "performance", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.7", "source_hash": "3a66e98af78f48ffc638fd97a328dd1028880b071c93ba39984d0ab9ce142c28", "section_path": ["Server", "General Performance"], "commit_groups": [["c6fc50cb4"]], "identity_text": "Allow analyze to do page prefetching (Stephen Frost) This is controlled by guc-maintenance-io-concurrency .", "commit_aliases": ["c6fc50cb4"], "source_commits": ["c6fc50cb4"], "source_entry_id": "14.0/changes/037", "db_id": "4eeac12426b0d4181e8bae6528959e36", "patch_ids": ["788e8ba623e3a3351637be294104cbae"], "statement_hash": "0ab0eb5ed1e262053d2b6b77842491db482cd179a71940d8b5d0d8267e56a30e", "relations": [], "version": "14.0", "category_label": "Performance", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-ff7b81f2bac9508f", "cves": [], "html": "<p>Improve performance of <a href=\"/docs/14/functions-matching.html#FUNCTIONS-POSIX-REGEXP\" title=\"9.7.3. POSIX Regular Expressions\">regular expression</a> searches (Tom Lane) <a href=\"https://postgr.es/c/08c0d6ad6\">§</a> <a href=\"https://postgr.es/c/824bf7190\">§</a> <a href=\"https://postgr.es/c/cebc1d34e\">§</a> <a href=\"https://postgr.es/c/581043089\">§</a> <a href=\"https://postgr.es/c/ea1268f63\">§</a> <a href=\"https://postgr.es/c/190c79884\">§</a> <a href=\"https://postgr.es/c/0fc1af174\">§</a> <a href=\"https://postgr.es/c/0c3405cf1\">§</a> <a href=\"https://postgr.es/c/4604f83fd\">§</a> <a href=\"https://postgr.es/c/6c20bdb2a\">§</a> <a href=\"https://postgr.es/c/f68970e33\">§</a></p>", "text": "Improve performance of regular expression searches (Tom Lane) § § § § § § § § § § §", "title": "Improve performance of regular expression searches", "commits": ["08c0d6ad6", "0c3405cf1", "0fc1af174", "190c79884", "4604f83fd", "581043089", "6c20bdb2a", "824bf7190", "cebc1d34e", "ea1268f63", "f68970e33"], "section": "Server / General Performance", "category": "performance", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.7", "source_hash": "f929d8e5d8a1f5b3d596abd0677af1fbf944c1ebc67c849d5323b735a1a4e7ce", "section_path": ["Server", "General Performance"], "commit_groups": [["08c0d6ad6"], ["0c3405cf1"], ["0fc1af174"], ["190c79884"], ["4604f83fd"], ["581043089"], ["6c20bdb2a"], ["824bf7190"], ["cebc1d34e"], ["ea1268f63"], ["f68970e33"]], "identity_text": "Improve performance of regular expression searches (Tom Lane)", "commit_aliases": ["08c0d6ad6", "0c3405cf1", "0fc1af174", "190c79884", "4604f83fd", "581043089", "6c20bdb2a", "824bf7190", "cebc1d34e", "ea1268f63", "f68970e33"], "source_commits": ["08c0d6ad6", "0c3405cf1", "0fc1af174", "190c79884", "4604f83fd", "581043089", "6c20bdb2a", "824bf7190", "cebc1d34e", "ea1268f63", "f68970e33"], "source_entry_id": "14.0/changes/038", "db_id": "b4c154f1ea77d51718dc19c2963d0a61", "patch_ids": ["2364a5283f567b024cca26965ff37126", "26994e1efdf9bd692681412f5de75075", "42200236e457b239334c4f8f2164f9a9", "5c3d98ad585b57440832315977455ed0", "6b0843be47edf1051c458f3fa34ff7f2", "732e851f0b055240c87bfd52e4ebbacd", "7b3a47c22c7f74a09355b96693958832", "8021dfdd4596d2fd7f2a108defb0939c", "a241835bbac0961b6829d67ad6402195", "a934f4729ee374f5ccb0e6689546aad7", "b5822fc3aa485f5c188cea8cd4b29b26"], "statement_hash": "4cd113d08fdebf1caa3bcbdf7288b50a42120a2a0274cdcc4816921e8bb7dd2f", "relations": [], "version": "14.0", "category_label": "Performance", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-ecec4f8a6655d6f2", "cves": [], "html": "<p>Dramatically improve Unicode normalization performance (John Naylor) <a href=\"https://postgr.es/c/80f8eb79e\">§</a> <a href=\"https://postgr.es/c/783f0cc64\">§</a></p>\n<p>This speeds <a href=\"/docs/14/functions-string.html\" title=\"9.4. String Functions and Operators\"><code>normalize()</code></a> and <code>IS NORMALIZED</code>.</p>", "text": "Dramatically improve Unicode normalization performance (John Naylor) § § This speeds normalize() and IS NORMALIZED.", "title": "Dramatically improve Unicode normalization performance", "commits": ["783f0cc64", "80f8eb79e"], "section": "Server / General Performance", "category": "performance", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.7", "source_hash": "cd54cb5f2801051eda0af5006b38340caaa21a24d4a6e9d110426c9319553552", "section_path": ["Server", "General Performance"], "commit_groups": [["783f0cc64"], ["80f8eb79e"]], "identity_text": "Dramatically improve Unicode normalization performance (John Naylor) This speeds normalize() and IS NORMALIZED.", "commit_aliases": ["783f0cc64", "80f8eb79e"], "source_commits": ["783f0cc64", "80f8eb79e"], "source_entry_id": "14.0/changes/039", "db_id": "3b78dd2bbdd31589bdd1d814b7214467", "patch_ids": ["dad2b70be2bc60673d08f4c7dce3fed1", "ea99be2bd9af85b72d4d7f374602dd63"], "statement_hash": "ef714803a65425df778273a560ad27b7ad4f0f392933b3164f682dde178788ad", "relations": [], "version": "14.0", "category_label": "Performance", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-2d7442b9ce57da18", "cves": [], "html": "<p>Add ability to use <a href=\"/docs/14/sql-createtable.html\" title=\"CREATE TABLE\">LZ4 compression</a> on <acronym>TOAST</acronym> data (Dilip Kumar) <a href=\"https://postgr.es/c/bbe0a81db\">§</a></p>\n<p>This can be set at the column level, or set as a default via server parameter <a href=\"/docs/14/runtime-config-client.html#GUC-DEFAULT-TOAST-COMPRESSION\">default_toast_compression</a>. The server must be compiled with <a href=\"/docs/14/install-procedure.html#CONFIGURE-OPTIONS-FEATURES\" title=\"17.4.1.2. PostgreSQL Features\"><code>--with-lz4</code></a> to support this feature. The default setting is still pglz.</p>", "text": "Add ability to use LZ4 compression on TOAST data (Dilip Kumar) § This can be set at the column level, or set as a default via server parameter default_toast_compression. The server must be compiled with --with-lz4 to support this feature. The default setting is still pglz.", "title": "Add ability to use LZ4 compression on TOAST data", "commits": ["bbe0a81db"], "section": "Server / General Performance", "category": "performance", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.7", "source_hash": "f6f64e0bafdad8c87dc1e12b3157cd3d0a84bfc762317f8258f177a349fed0e4", "section_path": ["Server", "General Performance"], "commit_groups": [["bbe0a81db"]], "identity_text": "Add ability to use LZ4 compression on TOAST data (Dilip Kumar) This can be set at the column level, or set as a default via server parameter guc-default-toast-compression . The server must be compiled with --with-lz4 to support this feature. The default setting is still pglz.", "commit_aliases": ["bbe0a81db"], "source_commits": ["bbe0a81db"], "source_entry_id": "14.0/changes/040", "db_id": "d188477ffcd17fdc3c6405f79ceb9668", "patch_ids": ["e4c0d6fe92269f0035c12d23522010a6"], "statement_hash": "d0471bc266f4acd3e88c9faa118c4351a383fbac055488ba8df09d219030ff61", "relations": [], "version": "14.0", "category_label": "Performance", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-e20c6697ebbeab13", "cves": [], "html": "<p>If server parameter <a href=\"/docs/14/runtime-config-statistics.html#GUC-COMPUTE-QUERY-ID\">compute_query_id</a> is enabled, display the query id in <a href=\"/docs/14/monitoring-stats.html#MONITORING-PG-STAT-ACTIVITY-VIEW\" title=\"28.2.3. pg_stat_activity\"><code>pg_stat_activity</code></a>, <a href=\"/docs/14/sql-explain.html\" title=\"EXPLAIN\"><code>EXPLAIN VERBOSE</code></a>, <a href=\"/docs/14/runtime-config-logging.html\" title=\"20.8. Error Reporting and Logging\">csvlog</a>, and optionally in <a href=\"/docs/14/runtime-config-logging.html#GUC-LOG-LINE-PREFIX\">log_line_prefix</a> (Julien Rouhaud) <a href=\"https://postgr.es/c/4f0b0966c\">§</a> <a href=\"https://postgr.es/c/f57a2f5e0\">§</a> <a href=\"https://postgr.es/c/9660834dd\">§</a> <a href=\"https://postgr.es/c/f7a97b6ec\">§</a> <a href=\"https://postgr.es/c/cafde58b3\">§</a></p>\n<p>A query id computed by an extension will also be displayed.</p>", "text": "If server parameter compute_query_id is enabled, display the query id in pg_stat_activity, EXPLAIN VERBOSE, csvlog, and optionally in log_line_prefix (Julien Rouhaud) § § § § § A query id computed by an extension will also be displayed.", "title": "If server parameter compute_query_id is enabled, display the query id in pg_stat_activity, EXPLAIN VERBOSE, csvlog, and optionally in log_line_prefix", "commits": ["4f0b0966c", "9660834dd", "cafde58b3", "f57a2f5e0", "f7a97b6ec"], "section": "Server / Monitoring", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.8", "source_hash": "900e130d8a5347fa5f83b978c1437d8773f442c3a1b9cfe7db5b71925a8c04a2", "section_path": ["Server", "Monitoring"], "commit_groups": [["4f0b0966c"], ["9660834dd"], ["cafde58b3"], ["f57a2f5e0"], ["f7a97b6ec"]], "identity_text": "If server parameter guc-compute-query-id is enabled, display the query id in pg_stat_activity, EXPLAIN VERBOSE, csvlog, and optionally in guc-log-line-prefix (Julien Rouhaud) A query id computed by an extension will also be displayed.", "commit_aliases": ["4f0b0966c", "9660834dd", "cafde58b3", "f57a2f5e0", "f7a97b6ec"], "source_commits": ["4f0b0966c", "9660834dd", "cafde58b3", "f57a2f5e0", "f7a97b6ec"], "source_entry_id": "14.0/changes/041", "db_id": "6f5b0cadbc436b426741630da6395cbc", "patch_ids": ["121b9e887d114fa2359ba0269b820f84", "22bd28a5ed0d0aab6297b4fe1b298434", "37196aec09acb6f2c1f058524b1b7322", "a5e04145d404137dc95cacdb2f1f9fbd", "cff8eba381bf9751b7032a0a172115dc"], "statement_hash": "202b7cf8d813ed12f7d01761dadd5b80e2575cb041ffe1a7569ac0b7bf00f1d0", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-b785b808addc2124", "cves": [], "html": "<p>Improve logging of <a href=\"/docs/14/routine-vacuuming.html#AUTOVACUUM\" title=\"25.1.6. The Autovacuum Daemon\">auto-vacuum</a> and auto-analyze (Stephen Frost, Jakub Wartak) <a href=\"https://postgr.es/c/94d13d474\">§</a></p>\n<p>This reports I/O timings for auto-vacuum and auto-analyze if <a href=\"/docs/14/runtime-config-statistics.html#GUC-TRACK-IO-TIMING\">track_io_timing</a> is enabled. Also, report buffer read and dirty rates for auto-analyze.</p>", "text": "Improve logging of auto-vacuum and auto-analyze (Stephen Frost, Jakub Wartak) § This reports I/O timings for auto-vacuum and auto-analyze if track_io_timing is enabled. Also, report buffer read and dirty rates for auto-analyze.", "title": "Improve logging of auto-vacuum and auto-analyze", "commits": ["94d13d474"], "section": "Server / Monitoring", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.8", "source_hash": "3e87e5be11b961eb5d0493ff01b0cbb2dd176f8e86164ea6fbcacee1c1b377ca", "section_path": ["Server", "Monitoring"], "commit_groups": [["94d13d474"]], "identity_text": "Improve logging of auto-vacuum and auto-analyze (Stephen Frost, Jakub Wartak) This reports I/O timings for auto-vacuum and auto-analyze if guc-track-io-timing is enabled. Also, report buffer read and dirty rates for auto-analyze.", "commit_aliases": ["94d13d474"], "source_commits": ["94d13d474"], "source_entry_id": "14.0/changes/042", "db_id": "43fbfb52b5182feb64cd6faa2b1e863c", "patch_ids": ["469bf32a287fe50f1773aa0340cbbab7"], "statement_hash": "a735bc7a8175112056d3cccec66451604551e2a0cdd2f100a61eaed5e9bc35ea", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-12247a44f733ce93", "cves": [], "html": "<p>Add information about the original user name supplied by the client to the output of <a href=\"/docs/14/runtime-config-logging.html#GUC-LOG-CONNECTIONS\">log_connections</a> (Jacob Champion) <a href=\"https://postgr.es/c/9afffcb83\">§</a></p>", "text": "Add information about the original user name supplied by the client to the output of log_connections (Jacob Champion) §", "title": "Add information about the original user name supplied by the client to the output of log_connections", "commits": ["9afffcb83"], "section": "Server / Monitoring", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.8", "source_hash": "542d1e6fda50807adbd6c9ccd2c4c44bc5d31bbdf1b8a0a45db40a75508cf412", "section_path": ["Server", "Monitoring"], "commit_groups": [["9afffcb83"]], "identity_text": "Add information about the original user name supplied by the client to the output of guc-log-connections (Jacob Champion)", "commit_aliases": ["9afffcb83"], "source_commits": ["9afffcb83"], "source_entry_id": "14.0/changes/043", "db_id": "0439e622a8f5d105f23413759141e7ef", "patch_ids": ["22815ab23aea5dee1e3784a751427502"], "statement_hash": "047fc1e1caf4f2b096778700bee8ca5b9fbc1f9e95f0648aeae909a509ca3cc2", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-39cd9f56116e70dd", "cves": [], "html": "<p>Add system view <a href=\"/docs/14/progress-reporting.html#COPY-PROGRESS-REPORTING\" title=\"28.4.6. COPY Progress Reporting\"><code>pg_stat_progress_copy</code></a> to report <code>COPY</code> progress (Josef Šimánek, Matthias van de Meent) <a href=\"https://postgr.es/c/8a4f618e7\">§</a> <a href=\"https://postgr.es/c/9d2d45700\">§</a></p>", "text": "Add system view pg_stat_progress_copy to report COPY progress (Josef Šimánek, Matthias van de Meent) § §", "title": "Add system view pg_stat_progress_copy to report COPY progress", "commits": ["8a4f618e7", "9d2d45700"], "section": "Server / System Views", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.9", "source_hash": "04e42b27c141da50c40a4b16d40b0b4c1524be9e15bf8da2a0089182cafe873e", "section_path": ["Server", "System Views"], "commit_groups": [["8a4f618e7"], ["9d2d45700"]], "identity_text": "Add system view pg_stat_progress_copy to report COPY progress (Josef Šimánek, Matthias van de Meent)", "commit_aliases": ["8a4f618e7", "9d2d45700"], "source_commits": ["8a4f618e7", "9d2d45700"], "source_entry_id": "14.0/changes/044", "db_id": "7ed434c2681f0ab8cb764d3208cb6eac", "patch_ids": ["6a59331891ba17d792823b9b23e98265", "b675e02b48d2be6b7c10e63329db347e"], "statement_hash": "d90c6fab92f7894929bfa83eca5da428afad475eb34d77956f7b03933ab41ebb", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-addd812ec5c9a8f8", "cves": [], "html": "<p>Add system view <a href=\"/docs/14/monitoring-stats.html#MONITORING-PG-STAT-WAL-VIEW\" title=\"28.2.12. pg_stat_wal\"><code>pg_stat_wal</code></a> to report <acronym>WAL</acronym> activity (Masahiro Ikeda) <a href=\"https://postgr.es/c/8d9a93596\">§</a> <a href=\"https://postgr.es/c/01469241b\">§</a> <a href=\"https://postgr.es/c/ff99918c6\">§</a></p>", "text": "Add system view pg_stat_wal to report WAL activity (Masahiro Ikeda) § § §", "title": "Add system view pg_stat_wal to report WAL activity", "commits": ["01469241b", "8d9a93596", "ff99918c6"], "section": "Server / System Views", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.9", "source_hash": "0205853afc2187e3fa02ea8d6b42ba637e38e8e4dd98b1120043146617425617", "section_path": ["Server", "System Views"], "commit_groups": [["01469241b"], ["8d9a93596"], ["ff99918c6"]], "identity_text": "Add system view pg_stat_wal to report WAL activity (Masahiro Ikeda)", "commit_aliases": ["01469241b", "8d9a93596", "ff99918c6"], "source_commits": ["01469241b", "8d9a93596", "ff99918c6"], "source_entry_id": "14.0/changes/045", "db_id": "43bb3f43eb2d686b6ec4f1ea3c789248", "patch_ids": ["3080571dd8ceb0816109e228f8c2adf1", "64c16bf6e4367681f5775ea241eac794", "e94ebdb074f34d64579025ab0e3e3152"], "statement_hash": "2195c14afb467752563b4be0454dd9ee3d00bb725e747267b2b1b33989cef17a", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-aaee37ae0b8d280b", "cves": [], "html": "<p>Add system view <a href=\"/docs/14/monitoring-stats.html#MONITORING-PG-STAT-REPLICATION-SLOTS-VIEW\" title=\"28.2.5. pg_stat_replication_slots\"><code>pg_stat_replication_slots</code></a> to report replication slot activity (Masahiko Sawada, Amit Kapila, Vignesh C) <a href=\"https://postgr.es/c/986816750\">§</a> <a href=\"https://postgr.es/c/03d51b776\">§</a> <a href=\"https://postgr.es/c/8e90ec558\">§</a> <a href=\"https://postgr.es/c/f5fc2f5b2\">§</a></p>\n<p>The function <a href=\"/docs/14/monitoring-stats.html#MONITORING-STATS-FUNCTIONS\" title=\"28.2.22. Statistics Functions\"><code>pg_stat_reset_replication_slot()</code></a> resets slot statistics.</p>", "text": "Add system view pg_stat_replication_slots to report replication slot activity (Masahiko Sawada, Amit Kapila, Vignesh C) § § § § The function pg_stat_reset_replication_slot() resets slot statistics.", "title": "Add system view pg_stat_replication_slots to report replication slot activity", "commits": ["03d51b776", "8e90ec558", "986816750", "f5fc2f5b2"], "section": "Server / System Views", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.9", "source_hash": "bee02e9705e11cd2fbe267229e8b96cb283b9206963494d60fcf931c19efdc11", "section_path": ["Server", "System Views"], "commit_groups": [["03d51b776"], ["8e90ec558"], ["986816750"], ["f5fc2f5b2"]], "identity_text": "Add system view pg_stat_replication_slots to report replication slot activity (Masahiko Sawada, Amit Kapila, Vignesh C) The function pg_stat_reset_replication_slot() resets slot statistics.", "commit_aliases": ["03d51b776", "8e90ec558", "986816750", "f5fc2f5b2"], "source_commits": ["03d51b776", "8e90ec558", "986816750", "f5fc2f5b2"], "source_entry_id": "14.0/changes/046", "db_id": "b34432f2ff4603e62c8c1c9e36291c84", "patch_ids": ["39c1fa2325aabc155cfcea3df56061f7", "738147a560b2467fb676581aee3522c2", "f01caa514e85c981872f752b90afb34e", "f077697be3336c38d084ff66f115e6db"], "statement_hash": "3871459b963bfe53f64ae913c91f29f89c6605b1957c8ae6fba7ebeee02b380f", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-0ac790167a4e6910", "cves": [], "html": "<p>Add system view <a href=\"/docs/14/view-pg-backend-memory-contexts.html\" title=\"52.67. pg_backend_memory_contexts\"><code>pg_backend_memory_contexts</code></a> to report session memory usage (Atsushi Torikoshi, Fujii Masao) <a href=\"https://postgr.es/c/3e98c0baf\">§</a> <a href=\"https://postgr.es/c/29dd6d8bc\">§</a></p>", "text": "Add system view pg_backend_memory_contexts to report session memory usage (Atsushi Torikoshi, Fujii Masao) § §", "title": "Add system view pg_backend_memory_contexts to report session memory usage", "commits": ["29dd6d8bc", "3e98c0baf"], "section": "Server / System Views", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.9", "source_hash": "b1b50e3372e0c8fb77b53d2efa309354530cd2c5a84d389ae6fe37ef61adb26d", "section_path": ["Server", "System Views"], "commit_groups": [["29dd6d8bc"], ["3e98c0baf"]], "identity_text": "Add system view pg_backend_memory_contexts to report session memory usage (Atsushi Torikoshi, Fujii Masao)", "commit_aliases": ["29dd6d8bc", "3e98c0baf"], "source_commits": ["29dd6d8bc", "3e98c0baf"], "source_entry_id": "14.0/changes/047", "db_id": "599782f53e7d00729f577ae259e7118b", "patch_ids": ["551910ba4659e574475012244609922c", "89ba2954f558b7d195c3a0faf71d389c"], "statement_hash": "2c6792c05518ebb7742c365d0afdff1b17d39235b632dd820acc269448601c68", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-e04cd7d2bbf3e351", "cves": [], "html": "<p>Add function <a href=\"/docs/14/functions-admin.html#FUNCTIONS-ADMIN-SIGNAL\" title=\"9.27.2. Server Signaling Functions\"><code>pg_log_backend_memory_contexts()</code></a> to output the memory contexts of arbitrary backends (Atsushi Torikoshi) <a href=\"https://postgr.es/c/43620e328\">§</a></p>", "text": "Add function pg_log_backend_memory_contexts() to output the memory contexts of arbitrary backends (Atsushi Torikoshi) §", "title": "Add function pg_log_backend_memory_contexts() to output the memory contexts of arbitrary backends", "commits": ["43620e328"], "section": "Server / System Views", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.9", "source_hash": "16695530572709b7783ff6445c0780fdd5dd8c287dad2e70ebbfbe55170ae8eb", "section_path": ["Server", "System Views"], "commit_groups": [["43620e328"]], "identity_text": "Add function pg_log_backend_memory_contexts() to output the memory contexts of arbitrary backends (Atsushi Torikoshi)", "commit_aliases": ["43620e328"], "source_commits": ["43620e328"], "source_entry_id": "14.0/changes/048", "db_id": "3f9cb4f560938e8d389940cca975499f", "patch_ids": ["60722399a58aff8222579faf32fa4e45"], "statement_hash": "a98b3de0eda2e7edf3aa7ce7a4f4fed8a044880eb854219679214cb51ccf0b55", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-9ecb923b2e1aaf02", "cves": [], "html": "<p>Add session statistics to the <a href=\"/docs/14/monitoring-stats.html#MONITORING-PG-STAT-DATABASE-VIEW\" title=\"28.2.13. pg_stat_database\"><code>pg_stat_database</code></a> system view (Laurenz Albe) <a href=\"https://postgr.es/c/960869da0\">§</a></p>", "text": "Add session statistics to the pg_stat_database system view (Laurenz Albe) §", "title": "Add session statistics to the pg_stat_database system view", "commits": ["960869da0"], "section": "Server / System Views", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.9", "source_hash": "0a3079230f3aeb3c795ef9b6cc989cf7e343a85d46d226125fb9f82262ad62cd", "section_path": ["Server", "System Views"], "commit_groups": [["960869da0"]], "identity_text": "Add session statistics to the pg_stat_database system view (Laurenz Albe)", "commit_aliases": ["960869da0"], "source_commits": ["960869da0"], "source_entry_id": "14.0/changes/049", "db_id": "423696da8b94d4592b679b62cbea26cd", "patch_ids": ["e4380918de4b44bd6b33f3d9f6bd8026"], "statement_hash": "74cf146da885674e4324818b877d27656f052645a194bc4af9bce75b6371899c", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-ac4809fcd2c70c11", "cves": [], "html": "<p>Add columns to <a href=\"/docs/14/view-pg-prepared-statements.html\" title=\"52.77. pg_prepared_statements\"><code>pg_prepared_statements</code></a> to report generic and custom plan counts (Atsushi Torikoshi, Kyotaro Horiguchi) <a href=\"https://postgr.es/c/d05b172a7\">§</a></p>", "text": "Add columns to pg_prepared_statements to report generic and custom plan counts (Atsushi Torikoshi, Kyotaro Horiguchi) §", "title": "Add columns to pg_prepared_statements to report generic and custom plan counts", "commits": ["d05b172a7"], "section": "Server / System Views", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.9", "source_hash": "705411059989bc789abaf416c4c547a90bed7e4120936986585344791d4cce0b", "section_path": ["Server", "System Views"], "commit_groups": [["d05b172a7"]], "identity_text": "Add columns to pg_prepared_statements to report generic and custom plan counts (Atsushi Torikoshi, Kyotaro Horiguchi)", "commit_aliases": ["d05b172a7"], "source_commits": ["d05b172a7"], "source_entry_id": "14.0/changes/050", "db_id": "3a1a476de29c16a51c9c6a4629811475", "patch_ids": ["bd56c71516d9700cdd778cf28df05536"], "statement_hash": "70c40dcc87289af901369b68f92171ce53663afb7ae7675b9f1b4c938aca402f", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-971017ed7d39e4a0", "cves": [], "html": "<p>Add lock wait start time to <a href=\"/docs/14/view-pg-locks.html\" title=\"52.74. pg_locks\"><code>pg_locks</code></a> (Atsushi Torikoshi) <a href=\"https://postgr.es/c/46d6e5f56\">§</a></p>", "text": "Add lock wait start time to pg_locks (Atsushi Torikoshi) §", "title": "Add lock wait start time to pg_locks", "commits": ["46d6e5f56"], "section": "Server / System Views", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.9", "source_hash": "df13c0e2ba0665fe6d5057faa8914c3e7c926622f4e83ad5828f20606c997ffc", "section_path": ["Server", "System Views"], "commit_groups": [["46d6e5f56"]], "identity_text": "Add lock wait start time to pg_locks (Atsushi Torikoshi)", "commit_aliases": ["46d6e5f56"], "source_commits": ["46d6e5f56"], "source_entry_id": "14.0/changes/051", "db_id": "f8951e0c171a5e92ac7a0d5936305253", "patch_ids": ["b92f964d967182625d96aa2e2309a13b"], "statement_hash": "c1e608e67615e8fa0908ad610bdf1cf37f46869c90a515ae2149e28c5ac18b7d", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-3b609cd6cf6b8902", "cves": [], "html": "<p>Make the archiver process visible in <code>pg_stat_activity</code> (Kyotaro Horiguchi) <a href=\"https://postgr.es/c/d75288fb2\">§</a></p>", "text": "Make the archiver process visible in pg_stat_activity (Kyotaro Horiguchi) §", "title": "Make the archiver process visible in pg_stat_activity", "commits": ["d75288fb2"], "section": "Server / System Views", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.9", "source_hash": "24f3239d337fe1c7b84ca7c6b72c6e6807ab6381ec328308157e5066848a46e2", "section_path": ["Server", "System Views"], "commit_groups": [["d75288fb2"]], "identity_text": "Make the archiver process visible in pg_stat_activity (Kyotaro Horiguchi)", "commit_aliases": ["d75288fb2"], "source_commits": ["d75288fb2"], "source_entry_id": "14.0/changes/052", "db_id": "5c2e0235e5677fb2a13d08047fcd9cbb", "patch_ids": ["6164b5b47fbcfb27b6899cdc31724d28"], "statement_hash": "28d8d5579b6f8c3b922de8e79c8957384036d2de4e7bbe984fa0b73ace6a9c06", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-f413bc49d6737d98", "cves": [], "html": "<p>Add wait event <a href=\"/docs/14/monitoring-stats.html#MONITORING-PG-STAT-ACTIVITY-VIEW\" title=\"28.2.3. pg_stat_activity\"><code>WalReceiverExit</code></a> to report <acronym>WAL</acronym> receiver exit wait time (Fujii Masao) <a href=\"https://postgr.es/c/84007043f\">§</a></p>", "text": "Add wait event WalReceiverExit to report WAL receiver exit wait time (Fujii Masao) §", "title": "Add wait event WalReceiverExit to report WAL receiver exit wait time", "commits": ["84007043f"], "section": "Server / System Views", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.9", "source_hash": "252ed578d32a673af22b9d12882bf637a26567f3a39aaee99a010905a77f0bf0", "section_path": ["Server", "System Views"], "commit_groups": [["84007043f"]], "identity_text": "Add wait event WalReceiverExit to report WAL receiver exit wait time (Fujii Masao)", "commit_aliases": ["84007043f"], "source_commits": ["84007043f"], "source_entry_id": "14.0/changes/053", "db_id": "efb95e106f9a5c5cfccad75ae201a5e5", "patch_ids": ["1b36aad556590bf9274daed085425803"], "statement_hash": "217f42cf8bc88c4dcd428781a717cb847e36471e484b25433c83dc13bb965b48", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-2a00821c8489c80a", "cves": [], "html": "<p>Implement information schema view <a href=\"/docs/14/infoschema-routine-column-usage.html\" title=\"37.40. routine_column_usage\"><code>routine_column_usage</code></a> to track columns referenced by function and procedure default expressions (Peter Eisentraut) <a href=\"https://postgr.es/c/f40c6969d\">§</a></p>", "text": "Implement information schema view routine_column_usage to track columns referenced by function and procedure default expressions (Peter Eisentraut) §", "title": "Implement information schema view routine_column_usage to track columns referenced by function and procedure default expressions", "commits": ["f40c6969d"], "section": "Server / System Views", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.9", "source_hash": "ea64af7a68cb73e88ce9022955d0ab0567bed8bf9add0c3aa5ef5e2cbf51c08d", "section_path": ["Server", "System Views"], "commit_groups": [["f40c6969d"]], "identity_text": "Implement information schema view routine_column_usage to track columns referenced by function and procedure default expressions (Peter Eisentraut)", "commit_aliases": ["f40c6969d"], "source_commits": ["f40c6969d"], "source_entry_id": "14.0/changes/054", "db_id": "6f45b7d546c05cb1c1f1d7f8f1d9e87c", "patch_ids": ["b07921011a94c9adeefd0c40ee4594c4"], "statement_hash": "604d1894416d84c91116cdd3c05b2270ad44bb758ad78d052241e6e7f9012f7b", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-781853793b4657a6", "cves": [], "html": "<p>Allow an SSL certificate's distinguished name (<acronym>DN</acronym>) to be matched for client certificate authentication (Andrew Dunstan) <a href=\"https://postgr.es/c/6d7a6feac\">§</a></p>\n<p>The new <a href=\"/docs/14/auth-pg-hba-conf.html\" title=\"21.1. The pg_hba.conf File\"><code>pg_hba.conf</code></a> option <code>clientname=DN</code> allows comparison with certificate attributes beyond the <code>CN</code> and can be combined with ident maps.</p>", "text": "Allow an SSL certificate's distinguished name (DN) to be matched for client certificate authentication (Andrew Dunstan) § The new pg_hba.conf option clientname=DN allows comparison with certificate attributes beyond the CN and can be combined with ident maps.", "title": "Allow an SSL certificate's distinguished name (DN) to be matched for client certificate authentication", "commits": ["6d7a6feac"], "section": "Server / Authentication", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.10", "source_hash": "a1c4b4445be2abddc645ce4a66ad733f27a0293bb52b0b347b00b928ae8df8ce", "section_path": ["Server", "Authentication"], "commit_groups": [["6d7a6feac"]], "identity_text": "Allow an SSL certificate's distinguished name (DN) to be matched for client certificate authentication (Andrew Dunstan) The new pg_hba.conf option clientname=DN allows comparison with certificate attributes beyond the CN and can be combined with ident maps.", "commit_aliases": ["6d7a6feac"], "source_commits": ["6d7a6feac"], "source_entry_id": "14.0/changes/055", "db_id": "bbd90bfe3d70ecf54bdddd0b0f0d0a6d", "patch_ids": ["bb83d4433b068b28cf43bb964cfcef60"], "statement_hash": "79820f3be8fe9569cae40c1d01a416688ace85fcebd7db63f609a67fb4617366", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-237898f02196bb8a", "cves": [], "html": "<p>Allow <code>pg_hba.conf</code> and <a href=\"/docs/14/auth-username-maps.html\" title=\"21.2. User Name Maps\"><code>pg_ident.conf</code></a> records to span multiple lines (Fabien Coelho) <a href=\"https://postgr.es/c/8f8154a50\">§</a></p>\n<p>A backslash at the end of a line allows record contents to be continued on the next line.</p>", "text": "Allow pg_hba.conf and pg_ident.conf records to span multiple lines (Fabien Coelho) § A backslash at the end of a line allows record contents to be continued on the next line.", "title": "Allow pg_hba.conf and pg_ident.conf records to span multiple lines", "commits": ["8f8154a50"], "section": "Server / Authentication", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.10", "source_hash": "26e2c1212b0732403e6d0731a857f5721961be2f7c01ff1036be107adc107d51", "section_path": ["Server", "Authentication"], "commit_groups": [["8f8154a50"]], "identity_text": "Allow pg_hba.conf and pg_ident.conf records to span multiple lines (Fabien Coelho) A backslash at the end of a line allows record contents to be continued on the next line.", "commit_aliases": ["8f8154a50"], "source_commits": ["8f8154a50"], "source_entry_id": "14.0/changes/056", "db_id": "f818227cf0f17db5c0fe8d6cfa77d40f", "patch_ids": ["dd66a7c38bdfdfde400bba38ad71f162"], "statement_hash": "8cfd700fddcd937778fd6826721b72ad0182acdcec017709ffae2cc5141e73ab", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-a521f76f7702c103", "cves": [], "html": "<p>Allow the specification of a certificate revocation list (<acronym>CRL</acronym>) directory (Kyotaro Horiguchi) <a href=\"https://postgr.es/c/f5465fade\">§</a></p>\n<p>This is controlled by server parameter <a href=\"/docs/14/runtime-config-connection.html#GUC-SSL-CRL-DIR\">ssl_crl_dir</a> and libpq connection option <a href=\"/docs/14/libpq-connect.html#LIBPQ-CONNECT-SSLCRLDIR\">sslcrldir</a>. Previously only single <acronym>CRL</acronym> files could be specified.</p>", "text": "Allow the specification of a certificate revocation list (CRL) directory (Kyotaro Horiguchi) § This is controlled by server parameter ssl_crl_dir and libpq connection option sslcrldir. Previously only single CRL files could be specified.", "title": "Allow the specification of a certificate revocation list (CRL) directory", "commits": ["f5465fade"], "section": "Server / Authentication", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.10", "source_hash": "662cdae4226dd5698dd22a75234f56adc3d5bfd32c840656f1dec7c04900d1d8", "section_path": ["Server", "Authentication"], "commit_groups": [["f5465fade"]], "identity_text": "Allow the specification of a certificate revocation list (CRL) directory (Kyotaro Horiguchi) This is controlled by server parameter guc-ssl-crl-dir and libpq connection option libpq-connect-sslcrldir . Previously only single CRL files could be specified.", "commit_aliases": ["f5465fade"], "source_commits": ["f5465fade"], "source_entry_id": "14.0/changes/057", "db_id": "38e62967b96a0706d5328c0287145e0c", "patch_ids": ["103a80e0b7675377b70f76b86b558114"], "statement_hash": "e936bbc3f2b78889ddd12ad32d7f4b46174683374d387a7fb8c9559c7c036d1b", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-97cf0fcd86296419", "cves": [], "html": "<p>Allow passwords of an arbitrary length (Tom Lane, Nathan Bossart) <a href=\"https://postgr.es/c/67a472d71\">§</a></p>", "text": "Allow passwords of an arbitrary length (Tom Lane, Nathan Bossart) §", "title": "Allow passwords of an arbitrary length", "commits": ["67a472d71"], "section": "Server / Authentication", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.10", "source_hash": "306a788bc2cc3e1b44bcc751d072b51c9fe91588a095fc37dab0dab4df3dd92c", "section_path": ["Server", "Authentication"], "commit_groups": [["67a472d71"]], "identity_text": "Allow passwords of an arbitrary length (Tom Lane, Nathan Bossart)", "commit_aliases": ["67a472d71"], "source_commits": ["67a472d71"], "source_entry_id": "14.0/changes/058", "db_id": "2d7255a485b32c58a5cba18c5aeaccd5", "patch_ids": ["2e1740bc94260276595f457faf51a744"], "statement_hash": "fe06b90311edf99ba491d8bec8918caa008391925cc2f60e3a485047dd7c25ad", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-95b1178c72f69c45", "cves": [], "html": "<p>Add server parameter <a href=\"/docs/14/runtime-config-client.html#GUC-IDLE-SESSION-TIMEOUT\">idle_session_timeout</a> to close idle sessions (Li Japin) <a href=\"https://postgr.es/c/9877374be\">§</a></p>\n<p>This is similar to <a href=\"/docs/14/runtime-config-client.html#GUC-IDLE-IN-TRANSACTION-SESSION-TIMEOUT\">idle_in_transaction_session_timeout</a>.</p>", "text": "Add server parameter idle_session_timeout to close idle sessions (Li Japin) § This is similar to idle_in_transaction_session_timeout.", "title": "Add server parameter idle_session_timeout to close idle sessions", "commits": ["9877374be"], "section": "Server / Server Configuration", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.11", "source_hash": "ecef98c865094f1866dc2b79fdbd26948e0a82d2b02d2aedbbb7b55156b96852", "section_path": ["Server", "Server Configuration"], "commit_groups": [["9877374be"]], "identity_text": "Add server parameter guc-idle-session-timeout to close idle sessions (Li Japin) This is similar to guc-idle-in-transaction-session-timeout .", "commit_aliases": ["9877374be"], "source_commits": ["9877374be"], "source_entry_id": "14.0/changes/059", "db_id": "f4ac586aa4c2a2be3535c3e6ce4a4038", "patch_ids": ["1067c64265ae79e2abd7fee386ec2928"], "statement_hash": "20963487e9472e12544a80d4e9b425664c2930727af2f4725e7e0f2b96510f3a", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-f463fda3413c236f", "cves": [], "html": "<p>Change <a href=\"/docs/14/runtime-config-wal.html#GUC-CHECKPOINT-COMPLETION-TARGET\">checkpoint_completion_target</a> default to 0.9 (Stephen Frost) <a href=\"https://postgr.es/c/bbcc4eb2e\">§</a></p>\n<p>The previous default was 0.5.</p>", "text": "Change checkpoint_completion_target default to 0.9 (Stephen Frost) § The previous default was 0.5.", "title": "Change checkpoint_completion_target default to 0.9", "commits": ["bbcc4eb2e"], "section": "Server / Server Configuration", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.11", "source_hash": "d9281c3da88e4a2d91a11fb56f71c6990e6ba0d5231750b8c879b69c4d73a769", "section_path": ["Server", "Server Configuration"], "commit_groups": [["bbcc4eb2e"]], "identity_text": "Change guc-checkpoint-completion-target default to 0.9 (Stephen Frost) The previous default was 0.5.", "commit_aliases": ["bbcc4eb2e"], "source_commits": ["bbcc4eb2e"], "source_entry_id": "14.0/changes/060", "db_id": "d9203edbca1a7407642fc25d70e29d1d", "patch_ids": ["c2645b69754ba586669ff290e4e145c2"], "statement_hash": "121037b95e68ee531dfbd9000b6972c62e792814a8a3a0bbbc85da7131cc96fa", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-f48219934be680db", "cves": [], "html": "<p>Allow <code>%P</code> in <a href=\"/docs/14/runtime-config-logging.html#GUC-LOG-LINE-PREFIX\">log_line_prefix</a> to report the parallel group leader's PID for a parallel worker (Justin Pryzby) <a href=\"https://postgr.es/c/b8fdee7d0\">§</a></p>", "text": "Allow %P in log_line_prefix to report the parallel group leader's PID for a parallel worker (Justin Pryzby) §", "title": "Allow %P in log_line_prefix to report the parallel group leader's PID for a parallel worker", "commits": ["b8fdee7d0"], "section": "Server / Server Configuration", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.11", "source_hash": "0cd354a44885dd9064ef6ee6a5b47cd04a13d31ced24b0d4e82e9875a92fdb4c", "section_path": ["Server", "Server Configuration"], "commit_groups": [["b8fdee7d0"]], "identity_text": "Allow %P in guc-log-line-prefix to report the parallel group leader's PID for a parallel worker (Justin Pryzby)", "commit_aliases": ["b8fdee7d0"], "source_commits": ["b8fdee7d0"], "source_entry_id": "14.0/changes/061", "db_id": "2f04657cdf1d83599590a016d6776028", "patch_ids": ["9a709bd598aa718a8346e02f96485300"], "statement_hash": "1b5b81122ba4285ba6a5a0d9c2c1e6e9132b6b07e3dad45912c9c63405fc0c96", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-b9bffed64267878c", "cves": [], "html": "<p>Allow <a href=\"/docs/14/runtime-config-connection.html#GUC-UNIX-SOCKET-DIRECTORIES\">unix_socket_directories</a> to specify paths as individual, comma-separated quoted strings (Ian Lawrence Barwick) <a href=\"https://postgr.es/c/a05dbf477\">§</a></p>\n<p>Previously all the paths had to be in a single quoted string.</p>", "text": "Allow unix_socket_directories to specify paths as individual, comma-separated quoted strings (Ian Lawrence Barwick) § Previously all the paths had to be in a single quoted string.", "title": "Allow unix_socket_directories to specify paths as individual, comma-separated quoted strings", "commits": ["a05dbf477"], "section": "Server / Server Configuration", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.11", "source_hash": "69b861d0ea2ae12736c1c32bb5abfc7c9e0bb64a367f103557b1da8086b3aef7", "section_path": ["Server", "Server Configuration"], "commit_groups": [["a05dbf477"]], "identity_text": "Allow guc-unix-socket-directories to specify paths as individual, comma-separated quoted strings (Ian Lawrence Barwick) Previously all the paths had to be in a single quoted string.", "commit_aliases": ["a05dbf477"], "source_commits": ["a05dbf477"], "source_entry_id": "14.0/changes/062", "db_id": "de551dbe6bc7c25bf654175a24267d22", "patch_ids": ["9ce0280978d0930cfb1037860b5eabde"], "statement_hash": "0de46eae250db545b682defd060fe224346184d9d66fe9199f39b83c60694a93", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-1956a63f3aa4e034", "cves": [], "html": "<p>Allow startup allocation of dynamic shared memory (Thomas Munro) <a href=\"https://postgr.es/c/84b1c63ad\">§</a></p>\n<p>This is controlled by <a href=\"/docs/14/runtime-config-resource.html#GUC-MIN-DYNAMIC-SHARED-MEMORY\">min_dynamic_shared_memory</a>. This allows more use of huge pages.</p>", "text": "Allow startup allocation of dynamic shared memory (Thomas Munro) § This is controlled by min_dynamic_shared_memory. This allows more use of huge pages.", "title": "Allow startup allocation of dynamic shared memory", "commits": ["84b1c63ad"], "section": "Server / Server Configuration", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.11", "source_hash": "8a600082bfec594166a48274bc8bfe409030b88a903ab6cd0f009470750625d8", "section_path": ["Server", "Server Configuration"], "commit_groups": [["84b1c63ad"]], "identity_text": "Allow startup allocation of dynamic shared memory (Thomas Munro) This is controlled by guc-min-dynamic-shared-memory . This allows more use of huge pages.", "commit_aliases": ["84b1c63ad"], "source_commits": ["84b1c63ad"], "source_entry_id": "14.0/changes/063", "db_id": "a8b54a702c3d8c69ce1dd2b246288331", "patch_ids": ["272304db9fcb1261b35aa1b17d283ce0"], "statement_hash": "04b2c9d1d7a159148a0029030f5230d92ed0ca6fadb58d6a85ed9f4d7ca6504b", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-b3352966511f3ae3", "cves": [], "html": "<p>Add server parameter <a href=\"/docs/14/runtime-config-resource.html#GUC-HUGE-PAGE-SIZE\">huge_page_size</a> to control the size of huge pages used on Linux (Odin Ugedal) <a href=\"https://postgr.es/c/d2bddc250\">§</a></p>", "text": "Add server parameter huge_page_size to control the size of huge pages used on Linux (Odin Ugedal) §", "title": "Add server parameter huge_page_size to control the size of huge pages used on Linux", "commits": ["d2bddc250"], "section": "Server / Server Configuration", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.11", "source_hash": "94bde3f44f9afa04b1060bc2c217aa919709bc3428a5665407262643a4c3630c", "section_path": ["Server", "Server Configuration"], "commit_groups": [["d2bddc250"]], "identity_text": "Add server parameter guc-huge-page-size to control the size of huge pages used on Linux (Odin Ugedal)", "commit_aliases": ["d2bddc250"], "source_commits": ["d2bddc250"], "source_entry_id": "14.0/changes/064", "db_id": "ba8bb9eccebc8bd5781504c2b326972c", "patch_ids": ["1a705b5c20cd45034f2dde4aeeeec500"], "statement_hash": "7bd08c6982d5fad20ce8bf912ec2584ed37c2730ce01265de88a0498acc2d5a4", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-eeb3866c17e6de32", "cves": [], "html": "<p>Allow standby servers to be rewound via <a href=\"/docs/14/app-pgrewind.html\" title=\"pg_rewind\"><span>pg_rewind</span></a> (Heikki Linnakangas) <a href=\"https://postgr.es/c/9c4f5192f\">§</a></p>", "text": "Allow standby servers to be rewound via pg_rewind (Heikki Linnakangas) §", "title": "Allow standby servers to be rewound via pg_rewind", "commits": ["9c4f5192f"], "section": "Streaming Replication and Recovery", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.4", "source_hash": "ca5f148cb1da266c003c0cfaed90617aafb2cd8b74eaeb74885982cb378259a9", "section_path": ["Streaming Replication and Recovery"], "commit_groups": [["9c4f5192f"]], "identity_text": "Allow standby servers to be rewound via pg_rewind (Heikki Linnakangas)", "commit_aliases": ["9c4f5192f"], "source_commits": ["9c4f5192f"], "source_entry_id": "14.0/changes/065", "db_id": "9d9e8aa4ea26bd1d2e95e151339985d8", "patch_ids": ["19fba2bac6e8cfefa619214b1033f5f7"], "statement_hash": "290b1ad9731d8380bec6eb3cf31cf1a03db99a90757ef04f72105db51c22c060", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-fdd593f4454f54e4", "cves": [], "html": "<p>Allow the <a href=\"/docs/14/runtime-config-wal.html#GUC-RESTORE-COMMAND\">restore_command</a> setting to be changed during a server reload (Sergei Kornilov) <a href=\"https://postgr.es/c/942305a36\">§</a></p>\n<p>You can also set <code>restore_command</code> to an empty string and reload to force recovery to only read from the <a href=\"/docs/14/storage-file-layout.html\" title=\"70.1. Database File Layout\"><code>pg_wal</code></a> directory.</p>", "text": "Allow the restore_command setting to be changed during a server reload (Sergei Kornilov) § You can also set restore_command to an empty string and reload to force recovery to only read from the pg_wal directory.", "title": "Allow the restore_command setting to be changed during a server reload", "commits": ["942305a36"], "section": "Streaming Replication and Recovery", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.4", "source_hash": "487f93887a3da2f12423c8aa8d638f18e31198778dc25bced4f1b3dd3876c8b2", "section_path": ["Streaming Replication and Recovery"], "commit_groups": [["942305a36"]], "identity_text": "Allow the guc-restore-command setting to be changed during a server reload (Sergei Kornilov) You can also set restore_command to an empty string and reload to force recovery to only read from the pg_wal directory.", "commit_aliases": ["942305a36"], "source_commits": ["942305a36"], "source_entry_id": "14.0/changes/066", "db_id": "138b84f4b9a64bbb475aac9c6d48f3ec", "patch_ids": ["b98b5f14dab2cf9741e5bba2592fef2d"], "statement_hash": "235cdd8803d4b65a3f52972a76a70cd74c93c7ccd9deff769473fd8419911909", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-c6fb2ae60691c941", "cves": [], "html": "<p>Add server parameter <a href=\"/docs/14/runtime-config-logging.html#GUC-LOG-RECOVERY-CONFLICT-WAITS\">log_recovery_conflict_waits</a> to report long recovery conflict wait times (Bertrand Drouvot, Masahiko Sawada) <a href=\"https://postgr.es/c/0650ff230\">§</a> <a href=\"https://postgr.es/c/39b03690b\">§</a></p>", "text": "Add server parameter log_recovery_conflict_waits to report long recovery conflict wait times (Bertrand Drouvot, Masahiko Sawada) § §", "title": "Add server parameter log_recovery_conflict_waits to report long recovery conflict wait times", "commits": ["0650ff230", "39b03690b"], "section": "Streaming Replication and Recovery", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.4", "source_hash": "172b73d78559a5ac937d31d61f9208eec117072432af211872d5302a83cc97e7", "section_path": ["Streaming Replication and Recovery"], "commit_groups": [["0650ff230"], ["39b03690b"]], "identity_text": "Add server parameter guc-log-recovery-conflict-waits to report long recovery conflict wait times (Bertrand Drouvot, Masahiko Sawada)", "commit_aliases": ["0650ff230", "39b03690b"], "source_commits": ["0650ff230", "39b03690b"], "source_entry_id": "14.0/changes/067", "db_id": "dc710711dabbbfa20d66635351f3c8b2", "patch_ids": ["3d92a7a0304db7e3277a78e2d24be69a", "b110e03039bbeec65b6603115cd4346a"], "statement_hash": "a8ee92128511be5b80820615b13f7ab5888fe02c5c600baecf6f3e3072c08bbe", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-96645ad917754fd9", "cves": [], "html": "<p>Pause recovery on a hot standby server if the primary changes its parameters in a way that prevents replay on the standby (Peter Eisentraut) <a href=\"https://postgr.es/c/15251c0a6\">§</a></p>\n<p>Previously the standby would shut down immediately.</p>", "text": "Pause recovery on a hot standby server if the primary changes its parameters in a way that prevents replay on the standby (Peter Eisentraut) § Previously the standby would shut down immediately.", "title": "Pause recovery on a hot standby server if the primary changes its parameters in a way that prevents replay on the standby", "commits": ["15251c0a6"], "section": "Streaming Replication and Recovery", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.4", "source_hash": "ca3a88a2d2a58e8baab9cf8d6ad69ac06d8fe4c19092d9c7880189d087ad7400", "section_path": ["Streaming Replication and Recovery"], "commit_groups": [["15251c0a6"]], "identity_text": "Pause recovery on a hot standby server if the primary changes its parameters in a way that prevents replay on the standby (Peter Eisentraut) Previously the standby would shut down immediately.", "commit_aliases": ["15251c0a6"], "source_commits": ["15251c0a6"], "source_entry_id": "14.0/changes/068", "db_id": "6163138ab30195ee21c530e93e56d269", "patch_ids": ["2a5e7a81e21fd777c4843b20df10de93"], "statement_hash": "bcf835975837698158bc618a4514b38f195f7734f5e6b2cbaad88e8c13071bb1", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-2dbea23372be3180", "cves": [], "html": "<p>Add function <a href=\"/docs/14/functions-admin.html#FUNCTIONS-RECOVERY-CONTROL\" title=\"9.27.4. Recovery Control Functions\"><code>pg_get_wal_replay_pause_state()</code></a> to report the recovery state (Dilip Kumar) <a href=\"https://postgr.es/c/32fd2b57d\">§</a></p>\n<p>It gives more detailed information than <a href=\"/docs/14/functions-admin.html#FUNCTIONS-RECOVERY-CONTROL\" title=\"9.27.4. Recovery Control Functions\"><code>pg_is_wal_replay_paused()</code></a>, which still exists.</p>", "text": "Add function pg_get_wal_replay_pause_state() to report the recovery state (Dilip Kumar) § It gives more detailed information than pg_is_wal_replay_paused(), which still exists.", "title": "Add function pg_get_wal_replay_pause_state() to report the recovery state", "commits": ["32fd2b57d"], "section": "Streaming Replication and Recovery", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.4", "source_hash": "34ef2d8933c381de2c57318c3f5bc1c9cb4543483030db9929da4b1597ced74e", "section_path": ["Streaming Replication and Recovery"], "commit_groups": [["32fd2b57d"]], "identity_text": "Add function pg_get_wal_replay_pause_state() to report the recovery state (Dilip Kumar) It gives more detailed information than pg_is_wal_replay_paused(), which still exists.", "commit_aliases": ["32fd2b57d"], "source_commits": ["32fd2b57d"], "source_entry_id": "14.0/changes/069", "db_id": "11a86f0f8311e23950ca8e4394d9b7ba", "patch_ids": ["51dc9061f36ea1d58a269f6798c745c3"], "statement_hash": "b3c90ade75dd3224eaa7b32a0d33117dc4ac2b45f792c09b9d8aba62f92640e0", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-eac4e952ba957297", "cves": [], "html": "<p>Add new read-only server parameter <a href=\"/docs/14/runtime-config-preset.html#GUC-IN-HOT-STANDBY\">in_hot_standby</a> (Haribabu Kommi, Greg Nancarrow, Tom Lane) <a href=\"https://postgr.es/c/bf8a662c9\">§</a></p>\n<p>This allows clients to easily detect whether they are connected to a hot standby server.</p>", "text": "Add new read-only server parameter in_hot_standby (Haribabu Kommi, Greg Nancarrow, Tom Lane) § This allows clients to easily detect whether they are connected to a hot standby server.", "title": "Add new read-only server parameter in_hot_standby", "commits": ["bf8a662c9"], "section": "Streaming Replication and Recovery", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.4", "source_hash": "3c7e4371abc38207681079de7762d9065a24818e175cc3bb3c6007b936a50b42", "section_path": ["Streaming Replication and Recovery"], "commit_groups": [["bf8a662c9"]], "identity_text": "Add new read-only server parameter guc-in-hot-standby (Haribabu Kommi, Greg Nancarrow, Tom Lane) This allows clients to easily detect whether they are connected to a hot standby server.", "commit_aliases": ["bf8a662c9"], "source_commits": ["bf8a662c9"], "source_entry_id": "14.0/changes/070", "db_id": "c91622c9f69dc46456cfe75fcdb9e8d6", "patch_ids": ["79d3832fcea245effcb09c45dd98961c"], "statement_hash": "eaf7d20d5e6e7904b660e9bc4a80bc00da21bcd90be6a4f4c1c2d38771d80340", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-95517b6f12d3c094", "cves": [], "html": "<p>Speed truncation of small tables during recovery on clusters with a large number of shared buffers (Kirk Jamison) <a href=\"https://postgr.es/c/d6ad34f34\">§</a></p>", "text": "Speed truncation of small tables during recovery on clusters with a large number of shared buffers (Kirk Jamison) §", "title": "Speed truncation of small tables during recovery on clusters with a large number of shared buffers", "commits": ["d6ad34f34"], "section": "Streaming Replication and Recovery", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.4", "source_hash": "fa351c5bc4941b293b7715d7485fa40cb726a04910fb799072dd41f1a7232dec", "section_path": ["Streaming Replication and Recovery"], "commit_groups": [["d6ad34f34"]], "identity_text": "Speed truncation of small tables during recovery on clusters with a large number of shared buffers (Kirk Jamison)", "commit_aliases": ["d6ad34f34"], "source_commits": ["d6ad34f34"], "source_entry_id": "14.0/changes/071", "db_id": "0e485b818fec3ba8c53429c1afd999e3", "patch_ids": ["a807966e7e2457e7d8d80a2ffcbc88ee"], "statement_hash": "7f8feb5af257af39660e5f865912cd53159a17b5250a1c473c4eb6753a3a1360", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-08ac7df3f1ee75c5", "cves": [], "html": "<p>Allow file system sync at the start of crash recovery on Linux (Thomas Munro) <a href=\"https://postgr.es/c/61752afb2\">§</a></p>\n<p>By default, <span>PostgreSQL</span> opens and fsyncs each data file in the database cluster at the start of crash recovery. A new setting, <a href=\"/docs/14/runtime-config-error-handling.html#GUC-RECOVERY-INIT-SYNC-METHOD\">recovery_init_sync_method</a><code>=syncfs</code>, instead syncs each filesystem used by the cluster. This allows for faster recovery on systems with many database files.</p>", "text": "Allow file system sync at the start of crash recovery on Linux (Thomas Munro) § By default, PostgreSQL opens and fsyncs each data file in the database cluster at the start of crash recovery. A new setting, recovery_init_sync_method=syncfs, instead syncs each filesystem used by the cluster. This allows for faster recovery on systems with many database files.", "title": "Allow file system sync at the start of crash recovery on Linux", "commits": ["61752afb2"], "section": "Streaming Replication and Recovery", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.4", "source_hash": "95ef0a44d1a097d55625b6e97e95216319a4f8829df4bc9401a0bce428015601", "section_path": ["Streaming Replication and Recovery"], "commit_groups": [["61752afb2"]], "identity_text": "Allow file system sync at the start of crash recovery on Linux (Thomas Munro) By default, PostgreSQL opens and fsyncs each data file in the database cluster at the start of crash recovery. A new setting, guc-recovery-init-sync-method =syncfs, instead syncs each filesystem used by the cluster. This allows for faster recovery on systems with many database files.", "commit_aliases": ["61752afb2"], "source_commits": ["61752afb2"], "source_entry_id": "14.0/changes/072", "db_id": "79e172b4f02e73f18c3e63d8aa7f5333", "patch_ids": ["184371764fdad7a08da674e1281700f2"], "statement_hash": "5432eff6c9830aba4bc3fd963fed7a4c097b815a0c0a0138152f4dd3da9edf4c", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-a159028e54d161db-1", "cves": [], "html": "<p>Add function <a href=\"/docs/14/functions-info.html\" title=\"9.26. System Information Functions and Operators\"><code>pg_xact_commit_timestamp_origin()</code></a> to return the commit timestamp and replication origin of the specified transaction (Movead Li) <a href=\"https://postgr.es/c/b1e48bbe6\">§</a></p>", "text": "Add function pg_xact_commit_timestamp_origin() to return the commit timestamp and replication origin of the specified transaction (Movead Li) §", "title": "Add function pg_xact_commit_timestamp_origin() to return the commit timestamp and replication origin of the specified transaction", "commits": ["b1e48bbe6"], "section": "Streaming Replication and Recovery", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.4", "source_hash": "fb8c5cc86ef3de661e8527010ba938f991e62640050444eae6377b148e5c14a4", "section_path": ["Streaming Replication and Recovery"], "commit_groups": [["b1e48bbe6"]], "identity_text": "Add function pg_xact_commit_timestamp_origin() to return the commit timestamp and replication origin of the specified transaction (Movead Li)", "commit_aliases": ["b1e48bbe6"], "source_commits": ["b1e48bbe6"], "source_entry_id": "14.0/changes/073", "db_id": "f844229d4635e67fac6dddf2f4b4a54c", "patch_ids": ["0dd136743c3ca2e7816c5c325cf2c8f9"], "statement_hash": "c097024c282ad5d78d8cbc8724f77d5cd0f8ed4de2d0b1b362ada83eccf260c2", "relations": [{"rule": 2, "type": "related", "target": "ea2baac664953d33e5a1823e19ddf662", "evidence": {"same_day": true, "patch_ids": ["0dd136743c3ca2e7816c5c325cf2c8f9"], "ambiguous_patch_ids": ["0dd136743c3ca2e7816c5c325cf2c8f9"]}}], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": [{"db_id": "ea2baac664953d33e5a1823e19ddf662", "kind": "related", "version": "14.0", "label": "14.0", "title": "Add the replication origin to the record returned by pg_last_committed_xact()", "evidence": {"same_day": true, "patch_ids": ["0dd136743c3ca2e7816c5c325cf2c8f9"], "ambiguous_patch_ids": ["0dd136743c3ca2e7816c5c325cf2c8f9"]}, "url": "/docs/compare/?release=14.0#14.0-a159028e54d161db-2", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.4"}]}, {"id": "14.0-a159028e54d161db-2", "cves": [], "html": "<p>Add the replication origin to the record returned by <a href=\"/docs/14/functions-info.html\" title=\"9.26. System Information Functions and Operators\"><code>pg_last_committed_xact()</code></a> (Movead Li) <a href=\"https://postgr.es/c/b1e48bbe6\">§</a></p>", "text": "Add the replication origin to the record returned by pg_last_committed_xact() (Movead Li) §", "title": "Add the replication origin to the record returned by pg_last_committed_xact()", "commits": ["b1e48bbe6"], "section": "Streaming Replication and Recovery", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.4", "source_hash": "b2625fdd8246cf1664a43babb81d1e34c38f811909ab1b44085305ec2f4e2052", "section_path": ["Streaming Replication and Recovery"], "commit_groups": [["b1e48bbe6"]], "identity_text": "Add the replication origin to the record returned by pg_last_committed_xact() (Movead Li)", "commit_aliases": ["b1e48bbe6"], "source_commits": ["b1e48bbe6"], "source_entry_id": "14.0/changes/074", "db_id": "ea2baac664953d33e5a1823e19ddf662", "patch_ids": ["0dd136743c3ca2e7816c5c325cf2c8f9"], "statement_hash": "ded13f05e3583653e565da60d9522781a003cd4e4d1b27c7f2eada4cd66362bd", "relations": [{"rule": 2, "type": "related", "target": "f844229d4635e67fac6dddf2f4b4a54c", "evidence": {"same_day": true, "patch_ids": ["0dd136743c3ca2e7816c5c325cf2c8f9"], "ambiguous_patch_ids": ["0dd136743c3ca2e7816c5c325cf2c8f9"]}}], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": [{"db_id": "f844229d4635e67fac6dddf2f4b4a54c", "kind": "related", "version": "14.0", "label": "14.0", "title": "Add function pg_xact_commit_timestamp_origin() to return the commit timestamp and replication origin of the specified transaction", "evidence": {"same_day": true, "patch_ids": ["0dd136743c3ca2e7816c5c325cf2c8f9"], "ambiguous_patch_ids": ["0dd136743c3ca2e7816c5c325cf2c8f9"]}, "url": "/docs/compare/?release=14.0#14.0-a159028e54d161db-1", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.4"}]}, {"id": "14.0-efaa0a862d0e5846", "cves": [], "html": "<p>Allow replication <a href=\"/docs/14/functions-admin.html#FUNCTIONS-REPLICATION\" title=\"9.27.6. Replication Management Functions\">origin functions</a> to be controlled using standard function permission controls (Martín Marqués) <a href=\"https://postgr.es/c/cc072641d\">§</a></p>\n<p>Previously these functions could only be executed by superusers, and this is still the default.</p>", "text": "Allow replication origin functions to be controlled using standard function permission controls (Martín Marqués) § Previously these functions could only be executed by superusers, and this is still the default.", "title": "Allow replication origin functions to be controlled using standard function permission controls", "commits": ["cc072641d"], "section": "Streaming Replication and Recovery", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.4", "source_hash": "cb1db309d6cc792dd79e8f34e873072934e33157035c63c0a7883a2be4494aad", "section_path": ["Streaming Replication and Recovery"], "commit_groups": [["cc072641d"]], "identity_text": "Allow replication origin functions to be controlled using standard function permission controls (Martín Marqués) Previously these functions could only be executed by superusers, and this is still the default.", "commit_aliases": ["cc072641d"], "source_commits": ["cc072641d"], "source_entry_id": "14.0/changes/075", "db_id": "ceb5d5cbc8f5808c011b50d0cb4b4a0f", "patch_ids": ["3d6bd3393a3c675414ce82b9e93cb708"], "statement_hash": "fafee7cb7779520f9fee0a29c2fa40970b885a702b6f8747d0c4ed95e12ef4f4", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-c66d0e0bd794d444-1", "cves": [], "html": "<p>Allow logical replication to stream long in-progress transactions to subscribers (Dilip Kumar, Amit Kapila, Ajin Cherian, Tomas Vondra, Nikhil Sontakke, Stas Kelvich) <a href=\"https://postgr.es/c/464824323\">§</a> <a href=\"https://postgr.es/c/0aa8a01d0\">§</a> <a href=\"https://postgr.es/c/a271a1b50\">§</a> <a href=\"https://postgr.es/c/7259736a6\">§</a></p>\n<p>Previously transactions that exceeded <a href=\"/docs/14/runtime-config-resource.html#GUC-LOGICAL-DECODING-WORK-MEM\">logical_decoding_work_mem</a> were written to disk until the transaction completed.</p>", "text": "Allow logical replication to stream long in-progress transactions to subscribers (Dilip Kumar, Amit Kapila, Ajin Cherian, Tomas Vondra, Nikhil Sontakke, Stas Kelvich) § § § § Previously transactions that exceeded logical_decoding_work_mem were written to disk until the transaction completed.", "title": "Allow logical replication to stream long in-progress transactions to subscribers", "commits": ["0aa8a01d0", "464824323", "7259736a6", "a271a1b50"], "section": "Streaming Replication and Recovery / Logical Replication", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.4.3", "source_hash": "bf1ae731fae9fcfe6360c2404bede617e7aed2d32053177f2c26ee50ff629ee9", "section_path": ["Streaming Replication and Recovery", "Logical Replication"], "commit_groups": [["0aa8a01d0"], ["464824323"], ["7259736a6"], ["a271a1b50"]], "identity_text": "Allow logical replication to stream long in-progress transactions to subscribers (Dilip Kumar, Amit Kapila, Ajin Cherian, Tomas Vondra, Nikhil Sontakke, Stas Kelvich) Previously transactions that exceeded guc-logical-decoding-work-mem were written to disk until the transaction completed.", "commit_aliases": ["0aa8a01d0", "464824323", "7259736a6", "a271a1b50"], "source_commits": ["0aa8a01d0", "464824323", "7259736a6", "a271a1b50"], "source_entry_id": "14.0/changes/076", "db_id": "ed2a4b5d3d88acd9537ef887e18885f9", "patch_ids": ["128081d0784e7fb08e92a03832880b61", "1a9c704b271a19a6ed92eb7f1d9dfe03", "1bdec66d000485a0cc39f42a2c8308de", "346e850dc542e70969275761e990c090"], "statement_hash": "9795e756faa55f6375ddbaba1e9568e097a7ae41883e96dca6f346d4b7bd8b64", "relations": [{"rule": 2, "type": "related", "target": "ba88ee46083cd824045f005cb46d412a", "evidence": {"same_day": true, "patch_ids": ["128081d0784e7fb08e92a03832880b61", "346e850dc542e70969275761e990c090"], "ambiguous_patch_ids": ["128081d0784e7fb08e92a03832880b61", "346e850dc542e70969275761e990c090"]}}], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": [{"db_id": "ba88ee46083cd824045f005cb46d412a", "kind": "related", "version": "14.0", "label": "14.0", "title": "Enhance logical decoding APIs to handle two-phase commits", "evidence": {"same_day": true, "patch_ids": ["128081d0784e7fb08e92a03832880b61", "346e850dc542e70969275761e990c090"], "ambiguous_patch_ids": ["128081d0784e7fb08e92a03832880b61", "346e850dc542e70969275761e990c090"]}, "url": "/docs/compare/?release=14.0#14.0-c66d0e0bd794d444-2", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.4.3"}]}, {"id": "14.0-317668cab4378697", "cves": [], "html": "<p>Enhance the logical replication <acronym>API</acronym> to allow streaming large in-progress transactions (Tomas Vondra, Dilip Kumar, Amit Kapila) <a href=\"https://postgr.es/c/45fdc9738\">§</a></p>\n<p>The output functions begin with <a href=\"/docs/14/logicaldecoding-output-plugin.html#LOGICALDECODING-OUTPUT-PLUGIN-STREAM-START\" title=\"49.6.4.14. Stream Start Callback\"><code>stream</code></a>. <span>test_decoding</span> also supports these.</p>", "text": "Enhance the logical replication API to allow streaming large in-progress transactions (Tomas Vondra, Dilip Kumar, Amit Kapila) § The output functions begin with stream. test_decoding also supports these.", "title": "Enhance the logical replication API to allow streaming large in-progress transactions", "commits": ["45fdc9738"], "section": "Streaming Replication and Recovery / Logical Replication", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.4.3", "source_hash": "a04bcd058a32067b235fd36e3927e5ba7f9052d2e94e08d2236236e751004784", "section_path": ["Streaming Replication and Recovery", "Logical Replication"], "commit_groups": [["45fdc9738"]], "identity_text": "Enhance the logical replication API to allow streaming large in-progress transactions (Tomas Vondra, Dilip Kumar, Amit Kapila) The output functions begin with stream. test_decoding also supports these.", "commit_aliases": ["45fdc9738"], "source_commits": ["45fdc9738"], "source_entry_id": "14.0/changes/077", "db_id": "e40cf6f3874d66a949ae91868fe57ddc", "patch_ids": ["d88c507fa5159e36f70b0ddfe905b9ab"], "statement_hash": "a7dbb30d77b8bbb872ea5bd0941b2aa85fcbeaf8222b42ac0f5e6b82e8e34570", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-18828cda4d8a27ba", "cves": [], "html": "<p>Allow multiple transactions during table sync in logical replication (Peter Smith, Amit Kapila, Takamichi Osumi) <a href=\"https://postgr.es/c/ce0fdbfe9\">§</a></p>", "text": "Allow multiple transactions during table sync in logical replication (Peter Smith, Amit Kapila, Takamichi Osumi) §", "title": "Allow multiple transactions during table sync in logical replication", "commits": ["ce0fdbfe9"], "section": "Streaming Replication and Recovery / Logical Replication", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.4.3", "source_hash": "5a324e467c84dfd5c3b6c14f857110ca5808f9746fe5e4b696786fe0382ec597", "section_path": ["Streaming Replication and Recovery", "Logical Replication"], "commit_groups": [["ce0fdbfe9"]], "identity_text": "Allow multiple transactions during table sync in logical replication (Peter Smith, Amit Kapila, Takamichi Osumi)", "commit_aliases": ["ce0fdbfe9"], "source_commits": ["ce0fdbfe9"], "source_entry_id": "14.0/changes/078", "db_id": "498ea8bd63d4699e204c45232202b675", "patch_ids": ["0cc54d943d75ca7bc61005257afacf57"], "statement_hash": "539bb73ab54d7e0281cf5b8cc1dc58c11e367d76ac322f9927a3d7cbf4cf17e9", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-217a0bac653aedf5", "cves": [], "html": "<p>Immediately <acronym>WAL</acronym>-log subtransaction and top-level <code>XID</code> association (Tomas Vondra, Dilip Kumar, Amit Kapila) <a href=\"https://postgr.es/c/0bead9af4\">§</a></p>\n<p>This is useful for logical decoding.</p>", "text": "Immediately WAL-log subtransaction and top-level XID association (Tomas Vondra, Dilip Kumar, Amit Kapila) § This is useful for logical decoding.", "title": "Immediately WAL-log subtransaction and top-level XID association", "commits": ["0bead9af4"], "section": "Streaming Replication and Recovery / Logical Replication", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.4.3", "source_hash": "de232b0f49f7400c476fef9fa66c9f4a8d4e443f6fd56639bda5de432c66f1c8", "section_path": ["Streaming Replication and Recovery", "Logical Replication"], "commit_groups": [["0bead9af4"]], "identity_text": "Immediately WAL-log subtransaction and top-level XID association (Tomas Vondra, Dilip Kumar, Amit Kapila) This is useful for logical decoding.", "commit_aliases": ["0bead9af4"], "source_commits": ["0bead9af4"], "source_entry_id": "14.0/changes/079", "db_id": "7a56a9ea7ea413d9fe1f47e4a0f93450", "patch_ids": ["c7174dda652535e7be7803c31abe88e9"], "statement_hash": "e099d8072927af263bd9d55f9670a23558d35bc25ee0c1808559acc1081b4b15", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-c66d0e0bd794d444-2", "cves": [], "html": "<p>Enhance logical decoding APIs to handle two-phase commits (Ajin Cherian, Amit Kapila, Nikhil Sontakke, Stas Kelvich) <a href=\"https://postgr.es/c/0aa8a01d0\">§</a> <a href=\"https://postgr.es/c/a271a1b50\">§</a> <a href=\"https://postgr.es/c/19890a064\">§</a></p>\n<p>This is controlled via <a href=\"/docs/14/functions-admin.html#FUNCTIONS-REPLICATION\" title=\"9.27.6. Replication Management Functions\"><code>pg_create_logical_replication_slot()</code></a>.</p>", "text": "Enhance logical decoding APIs to handle two-phase commits (Ajin Cherian, Amit Kapila, Nikhil Sontakke, Stas Kelvich) § § § This is controlled via pg_create_logical_replication_slot().", "title": "Enhance logical decoding APIs to handle two-phase commits", "commits": ["0aa8a01d0", "19890a064", "a271a1b50"], "section": "Streaming Replication and Recovery / Logical Replication", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.4.3", "source_hash": "56151c3399c0dc98533a4552e86dbfe120cfaa68756e363349f3ed7e84bd20d3", "section_path": ["Streaming Replication and Recovery", "Logical Replication"], "commit_groups": [["0aa8a01d0"], ["19890a064"], ["a271a1b50"]], "identity_text": "Enhance logical decoding APIs to handle two-phase commits (Ajin Cherian, Amit Kapila, Nikhil Sontakke, Stas Kelvich) This is controlled via pg_create_logical_replication_slot().", "commit_aliases": ["0aa8a01d0", "19890a064", "a271a1b50"], "source_commits": ["0aa8a01d0", "19890a064", "a271a1b50"], "source_entry_id": "14.0/changes/080", "db_id": "ba88ee46083cd824045f005cb46d412a", "patch_ids": ["128081d0784e7fb08e92a03832880b61", "346e850dc542e70969275761e990c090", "38f1b6a10d83a9a369000015b80ff89e"], "statement_hash": "fb9a4ff62ffaf2abdf203726c09230f8354500ff026ac1b6f2f81c62c3a77f63", "relations": [{"rule": 2, "type": "related", "target": "ed2a4b5d3d88acd9537ef887e18885f9", "evidence": {"same_day": true, "patch_ids": ["128081d0784e7fb08e92a03832880b61", "346e850dc542e70969275761e990c090"], "ambiguous_patch_ids": ["128081d0784e7fb08e92a03832880b61", "346e850dc542e70969275761e990c090"]}}], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": [{"db_id": "ed2a4b5d3d88acd9537ef887e18885f9", "kind": "related", "version": "14.0", "label": "14.0", "title": "Allow logical replication to stream long in-progress transactions to subscribers", "evidence": {"same_day": true, "patch_ids": ["128081d0784e7fb08e92a03832880b61", "346e850dc542e70969275761e990c090"], "ambiguous_patch_ids": ["128081d0784e7fb08e92a03832880b61", "346e850dc542e70969275761e990c090"]}, "url": "/docs/compare/?release=14.0#14.0-c66d0e0bd794d444-1", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.4.3"}]}, {"id": "14.0-8830941211ed8a4b", "cves": [], "html": "<p>Add cache invalidation messages to the <acronym>WAL</acronym> during command completion when using logical replication (Dilip Kumar, Tomas Vondra, Amit Kapila) <a href=\"https://postgr.es/c/c55040ccd\">§</a></p>\n<p>This allows logical streaming of in-progress transactions. When logical replication is disabled, invalidation messages are generated only at transaction completion.</p>", "text": "Add cache invalidation messages to the WAL during command completion when using logical replication (Dilip Kumar, Tomas Vondra, Amit Kapila) § This allows logical streaming of in-progress transactions. When logical replication is disabled, invalidation messages are generated only at transaction completion.", "title": "Add cache invalidation messages to the WAL during command completion when using logical replication", "commits": ["c55040ccd"], "section": "Streaming Replication and Recovery / Logical Replication", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.4.3", "source_hash": "90dc4bb2299c0e090660e42b85e3c12264cfe8d8c1db9e0352d26daac4f61e8f", "section_path": ["Streaming Replication and Recovery", "Logical Replication"], "commit_groups": [["c55040ccd"]], "identity_text": "Add cache invalidation messages to the WAL during command completion when using logical replication (Dilip Kumar, Tomas Vondra, Amit Kapila) This allows logical streaming of in-progress transactions. When logical replication is disabled, invalidation messages are generated only at transaction completion.", "commit_aliases": ["c55040ccd"], "source_commits": ["c55040ccd"], "source_entry_id": "14.0/changes/081", "db_id": "5cfafb294b842d8330ddcb90f614e903", "patch_ids": ["589a9d3e9f8cb2dc6e62330d3bc63733"], "statement_hash": "faa081b7b70b7c8db8bea86b4eb13bab3d42a0ec9b07723fbbe6a1c29a82a49f", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-811d339b6f94f8d1", "cves": [], "html": "<p>Allow logical decoding to more efficiently process cache invalidation messages (Dilip Kumar) <a href=\"https://postgr.es/c/d7eb52d71\">§</a></p>\n<p>This allows <a href=\"/docs/14/logicaldecoding.html\" title=\"Chapter 49. Logical Decoding\">logical decoding</a> to work efficiently in presence of a large amount of <acronym>DDL</acronym>.</p>", "text": "Allow logical decoding to more efficiently process cache invalidation messages (Dilip Kumar) § This allows logical decoding to work efficiently in presence of a large amount of DDL.", "title": "Allow logical decoding to more efficiently process cache invalidation messages", "commits": ["d7eb52d71"], "section": "Streaming Replication and Recovery / Logical Replication", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.4.3", "source_hash": "d7723ad8c030f42ad00566c993f577f6b2f096c7ec5b2a78bc09d32f0023efce", "section_path": ["Streaming Replication and Recovery", "Logical Replication"], "commit_groups": [["d7eb52d71"]], "identity_text": "Allow logical decoding to more efficiently process cache invalidation messages (Dilip Kumar) This allows logical decoding to work efficiently in presence of a large amount of DDL.", "commit_aliases": ["d7eb52d71"], "source_commits": ["d7eb52d71"], "source_entry_id": "14.0/changes/082", "db_id": "c69b3d9bca563b270e526dc6d4812fa9", "patch_ids": ["44b841b5933ed3318990abc91ff3609a"], "statement_hash": "612de7477a8339ef1bb7c88a490c2e0ba7cdd987d5e42a4a0c234822e869e40b", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-5e5b3d3c528f329f", "cves": [], "html": "<p>Allow control over whether logical decoding messages are sent to the replication stream (David Pirotte, Euler Taveira) <a href=\"https://postgr.es/c/ac4645c01\">§</a></p>", "text": "Allow control over whether logical decoding messages are sent to the replication stream (David Pirotte, Euler Taveira) §", "title": "Allow control over whether logical decoding messages are sent to the replication stream", "commits": ["ac4645c01"], "section": "Streaming Replication and Recovery / Logical Replication", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.4.3", "source_hash": "3ef9dd635cf35b19fcc744eab16bfaea8f25eadead55cc13020bbf84a5f5af38", "section_path": ["Streaming Replication and Recovery", "Logical Replication"], "commit_groups": [["ac4645c01"]], "identity_text": "Allow control over whether logical decoding messages are sent to the replication stream (David Pirotte, Euler Taveira)", "commit_aliases": ["ac4645c01"], "source_commits": ["ac4645c01"], "source_entry_id": "14.0/changes/083", "db_id": "7693d0a85d74e5bf7424aa76846ae1fb", "patch_ids": ["0a1da86be866a6290aaf4fc52319ce6d"], "statement_hash": "bce1715145a90f6d2dd89dbc73ac3d202833f14ef8fe0fab34b6cb1142d5e7eb", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-ffedd7249a341bd4", "cves": [], "html": "<p>Allow logical replication subscriptions to use binary transfer mode (Dave Cramer) <a href=\"https://postgr.es/c/9de77b545\">§</a></p>\n<p>This is faster than text mode, but slightly less robust.</p>", "text": "Allow logical replication subscriptions to use binary transfer mode (Dave Cramer) § This is faster than text mode, but slightly less robust.", "title": "Allow logical replication subscriptions to use binary transfer mode", "commits": ["9de77b545"], "section": "Streaming Replication and Recovery / Logical Replication", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.4.3", "source_hash": "378c5352c0c1afe4a932f4f7fc447f342db3fce22c2bfee5d68f2fb5f76c983d", "section_path": ["Streaming Replication and Recovery", "Logical Replication"], "commit_groups": [["9de77b545"]], "identity_text": "Allow logical replication subscriptions to use binary transfer mode (Dave Cramer) This is faster than text mode, but slightly less robust.", "commit_aliases": ["9de77b545"], "source_commits": ["9de77b545"], "source_entry_id": "14.0/changes/084", "db_id": "6a4ebd2f3486ebdb9cdc49bddfddbd26", "patch_ids": ["317c14d22bf07793659d9704f6354b59"], "statement_hash": "6e379ba26465eb969dd5780f1b4679ac75a62fef4960eceda8a521201630d0d4", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-38ec4142aa6280a5", "cves": [], "html": "<p>Allow logical decoding to be filtered by xid (Markus Wanner) <a href=\"https://postgr.es/c/f64ea6dc5\">§</a></p>", "text": "Allow logical decoding to be filtered by xid (Markus Wanner) §", "title": "Allow logical decoding to be filtered by xid", "commits": ["f64ea6dc5"], "section": "Streaming Replication and Recovery / Logical Replication", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.4.3", "source_hash": "9ef78ce5688d10a57e4c3776ac1b72aaa343502cdf2954c3d2038c416f259e02", "section_path": ["Streaming Replication and Recovery", "Logical Replication"], "commit_groups": [["f64ea6dc5"]], "identity_text": "Allow logical decoding to be filtered by xid (Markus Wanner)", "commit_aliases": ["f64ea6dc5"], "source_commits": ["f64ea6dc5"], "source_entry_id": "14.0/changes/085", "db_id": "60dc02e969cd1dd9c6bf4f3c523ec74a", "patch_ids": ["84e4fdb86e6d7659ee97f33f6711b654"], "statement_hash": "d8c9180f51eb3180caf1ef780db4b69564b86e8c4e8e12985e5548942023316d", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-17ad58f3fe5f4762", "cves": [], "html": "<p>Reduce the number of keywords that can't be used as column labels without <code>AS</code> (Mark Dilger) <a href=\"https://postgr.es/c/06a7c3154\">§</a></p>\n<p>There are now 90% fewer restricted keywords.</p>", "text": "Reduce the number of keywords that can't be used as column labels without AS (Mark Dilger) § There are now 90% fewer restricted keywords.", "title": "Reduce the number of keywords that can't be used as column labels without AS", "commits": ["06a7c3154"], "section": "SELECT, INSERT", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.5", "source_hash": "3a6187aa13d514b6dce26f8e511847975ef8e461fdb0110d385409ebcf6f7680", "section_path": ["SELECT, INSERT"], "commit_groups": [["06a7c3154"]], "identity_text": "Reduce the number of keywords that can't be used as column labels without AS (Mark Dilger) There are now 90% fewer restricted keywords.", "commit_aliases": ["06a7c3154"], "source_commits": ["06a7c3154"], "source_entry_id": "14.0/changes/086", "db_id": "17e1ead93390847f10dd1c2b503122a7", "patch_ids": ["5baae5e1578f084fd0c5b2a242a63b04"], "statement_hash": "cb206910982c12be61cd2adeed83a15722f1b3dc051c784dbe92e39ef850ac2e", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-e19c7abd1ea0ac8a", "cves": [], "html": "<p>Allow an alias to be specified for <code>JOIN</code>'s <code>USING</code> clause (Peter Eisentraut) <a href=\"https://postgr.es/c/055fee7eb\">§</a></p>\n<p>The alias is created by writing <code>AS</code> after the <code>USING</code> clause. It can be used as a table qualification for the merged <code>USING</code> columns.</p>", "text": "Allow an alias to be specified for JOIN's USING clause (Peter Eisentraut) § The alias is created by writing AS after the USING clause. It can be used as a table qualification for the merged USING columns.", "title": "Allow an alias to be specified for JOIN's USING clause", "commits": ["055fee7eb"], "section": "SELECT, INSERT", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.5", "source_hash": "788adff6906876014ba16adf3b418c927c4c5e8728262db86fce60c4211d09cd", "section_path": ["SELECT, INSERT"], "commit_groups": [["055fee7eb"]], "identity_text": "Allow an alias to be specified for JOIN's USING clause (Peter Eisentraut) The alias is created by writing AS after the USING clause. It can be used as a table qualification for the merged USING columns.", "commit_aliases": ["055fee7eb"], "source_commits": ["055fee7eb"], "source_entry_id": "14.0/changes/087", "db_id": "d31499eb97f407212108f39b7a65beff", "patch_ids": ["afbf98d230063fc9199ea21899191717"], "statement_hash": "09cd58a2af6f6f83effa06c8f25dc6cbff74e27948685b139ca86f81089e815f", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-1fe696c83ed3a3d4", "cves": [], "html": "<p>Allow <code>DISTINCT</code> to be added to <code>GROUP BY</code> to remove duplicate <code>GROUPING SET</code> combinations (Vik Fearing) <a href=\"https://postgr.es/c/be45be9c3\">§</a></p>\n<p>For example, <code>GROUP BY CUBE (a,b), CUBE (b,c)</code> will generate duplicate grouping combinations without <code>DISTINCT</code>.</p>", "text": "Allow DISTINCT to be added to GROUP BY to remove duplicate GROUPING SET combinations (Vik Fearing) § For example, GROUP BY CUBE (a,b), CUBE (b,c) will generate duplicate grouping combinations without DISTINCT.", "title": "Allow DISTINCT to be added to GROUP BY to remove duplicate GROUPING SET combinations", "commits": ["be45be9c3"], "section": "SELECT, INSERT", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.5", "source_hash": "c4c1089c0317bf788160d58f9e9d6826bad10d567c65df420e1b3650f80bf240", "section_path": ["SELECT, INSERT"], "commit_groups": [["be45be9c3"]], "identity_text": "Allow DISTINCT to be added to GROUP BY to remove duplicate GROUPING SET combinations (Vik Fearing) For example, GROUP BY CUBE (a,b), CUBE (b,c) will generate duplicate grouping combinations without DISTINCT.", "commit_aliases": ["be45be9c3"], "source_commits": ["be45be9c3"], "source_entry_id": "14.0/changes/088", "db_id": "049be8718d72a26fbc268ba982925963", "patch_ids": ["4160d0722584e81a78d9f95f10281fe7"], "statement_hash": "7f156953ec265474638dc9d47170eebbd35caf20a45d5f38e9af00fc22ff55c3", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-a032d946aab87da2", "cves": [], "html": "<p>Properly handle <code>DEFAULT</code> entries in multi-row <code>VALUES</code> lists in <code>INSERT</code> (Dean Rasheed) <a href=\"https://postgr.es/c/17958972f\">§</a></p>\n<p>Such cases used to throw an error.</p>", "text": "Properly handle DEFAULT entries in multi-row VALUES lists in INSERT (Dean Rasheed) § Such cases used to throw an error.", "title": "Properly handle DEFAULT entries in multi-row VALUES lists in INSERT", "commits": ["17958972f"], "section": "SELECT, INSERT", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.5", "source_hash": "bbfd97ed5c553abfe28438767686ffb017ba730e8c5a43cd65272cc8d81a65d8", "section_path": ["SELECT, INSERT"], "commit_groups": [["17958972f"]], "identity_text": "Properly handle DEFAULT entries in multi-row VALUES lists in INSERT (Dean Rasheed) Such cases used to throw an error.", "commit_aliases": ["17958972f"], "source_commits": ["17958972f"], "source_entry_id": "14.0/changes/089", "db_id": "7f1adf9498b2db9edc92a950f00ce2ad", "patch_ids": ["70f58c5caf1846bc70d1ef2fb95bf3dd"], "statement_hash": "b07dca5c42c9a405fe965b332f0b425d45818f943550b0ec11557c73a3e81c49", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-a9ae679c6e8a6f02", "cves": [], "html": "<p>Add <acronym>SQL</acronym>-standard <code>SEARCH</code> and <code>CYCLE</code> clauses for <a href=\"/docs/14/queries-with.html\" title=\"7.8. WITH Queries (Common Table Expressions)\">common table expressions</a> (Peter Eisentraut) <a href=\"https://postgr.es/c/3696a600e\">§</a> <a href=\"https://postgr.es/c/f4adc41c4\">§</a></p>\n<p>The same results could be accomplished using existing syntax, but much less conveniently.</p>", "text": "Add SQL-standard SEARCH and CYCLE clauses for common table expressions (Peter Eisentraut) § § The same results could be accomplished using existing syntax, but much less conveniently.", "title": "Add SQL-standard SEARCH and CYCLE clauses for common table expressions", "commits": ["3696a600e", "f4adc41c4"], "section": "SELECT, INSERT", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.5", "source_hash": "dc5b7432a6886e56078a8287b468482aed509ae3adac2476b55c5bc3fc6951f2", "section_path": ["SELECT, INSERT"], "commit_groups": [["3696a600e"], ["f4adc41c4"]], "identity_text": "Add SQL-standard SEARCH and CYCLE clauses for common table expressions (Peter Eisentraut) The same results could be accomplished using existing syntax, but much less conveniently.", "commit_aliases": ["3696a600e", "f4adc41c4"], "source_commits": ["3696a600e", "f4adc41c4"], "source_entry_id": "14.0/changes/090", "db_id": "2699ecd555a13e0bb86d02de1f3ed87a", "patch_ids": ["533ea3467eaae43b410b71c3158d5bad", "d01ea6ae5cb04812e8e09cafdd7e6d8b"], "statement_hash": "19d7fff1933f000f006ae2d56e240b0a7cbfde0f698b052610e0dd688a5c036d", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-7303658d6d6feac3", "cves": [], "html": "<p>Allow column names in the <code>WHERE</code> clause of <code>ON CONFLICT</code> to be table-qualified (Tom Lane) <a href=\"https://postgr.es/c/6c0373ab7\">§</a></p>\n<p>Only the target table can be referenced, however.</p>", "text": "Allow column names in the WHERE clause of ON CONFLICT to be table-qualified (Tom Lane) § Only the target table can be referenced, however.", "title": "Allow column names in the WHERE clause of ON CONFLICT to be table-qualified", "commits": ["6c0373ab7"], "section": "SELECT, INSERT", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.5", "source_hash": "91438aed63195b53d64887d6953a26377941268bcd614063c0322bd5e9d62bb7", "section_path": ["SELECT, INSERT"], "commit_groups": [["6c0373ab7"]], "identity_text": "Allow column names in the WHERE clause of ON CONFLICT to be table-qualified (Tom Lane) Only the target table can be referenced, however.", "commit_aliases": ["6c0373ab7"], "source_commits": ["6c0373ab7"], "source_entry_id": "14.0/changes/091", "db_id": "b638233420a5c4e01274ee7e61f5f15d", "patch_ids": ["968c1d6ea81365652928ba19eb5936a4"], "statement_hash": "fb078b19a178244eedf013cb2cf1acd76cbd1902741f600c0b4856740e4be7b4", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-a3bf95ce7edb753d", "cves": [], "html": "<p>Allow <a href=\"/docs/14/sql-refreshmaterializedview.html\" title=\"REFRESH MATERIALIZED VIEW\"><code>REFRESH MATERIALIZED VIEW</code></a> to use parallelism (Bharath Rupireddy) <a href=\"https://postgr.es/c/9e7ccd9ef\">§</a></p>", "text": "Allow REFRESH MATERIALIZED VIEW to use parallelism (Bharath Rupireddy) §", "title": "Allow REFRESH MATERIALIZED VIEW to use parallelism", "commits": ["9e7ccd9ef"], "section": "Utility Commands", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.6", "source_hash": "efad6eaff32d0e051563beca2158a2ebbbaf9df384e5eee3dc272f35dcb80875", "section_path": ["Utility Commands"], "commit_groups": [["9e7ccd9ef"]], "identity_text": "Allow REFRESH MATERIALIZED VIEW to use parallelism (Bharath Rupireddy)", "commit_aliases": ["9e7ccd9ef"], "source_commits": ["9e7ccd9ef"], "source_entry_id": "14.0/changes/092", "db_id": "c8b7c33af79796d1bc69b7421fbea2eb", "patch_ids": ["df12e3bf0ded2a31dc83490f7416f54c"], "statement_hash": "3c59f1ebea6b0a184d793b6a10cab4c4a0fe0c4bd8d6d25e116047f59ff584aa", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-89fa187265662ca4", "cves": [], "html": "<p>Allow <a href=\"/docs/14/sql-reindex.html\" title=\"REINDEX\"><code>REINDEX</code></a> to change the tablespace of the new index (Alexey Kondratov, Michael Paquier, Justin Pryzby) <a href=\"https://postgr.es/c/c5b286047\">§</a> <a href=\"https://postgr.es/c/57e6db706\">§</a></p>\n<p>This is done by specifying a <code>TABLESPACE</code> clause. A <code>--tablespace</code> option was also added to <a href=\"/docs/14/app-reindexdb.html\" title=\"reindexdb\"><span>reindexdb</span></a> to control this.</p>", "text": "Allow REINDEX to change the tablespace of the new index (Alexey Kondratov, Michael Paquier, Justin Pryzby) § § This is done by specifying a TABLESPACE clause. A --tablespace option was also added to reindexdb to control this.", "title": "Allow REINDEX to change the tablespace of the new index", "commits": ["57e6db706", "c5b286047"], "section": "Utility Commands", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.6", "source_hash": "4af188f738a570495090e85344d34df4a010a2c67d0e876c8effbc6f0840aa23", "section_path": ["Utility Commands"], "commit_groups": [["57e6db706"], ["c5b286047"]], "identity_text": "Allow REINDEX to change the tablespace of the new index (Alexey Kondratov, Michael Paquier, Justin Pryzby) This is done by specifying a TABLESPACE clause. A --tablespace option was also added to reindexdb to control this.", "commit_aliases": ["57e6db706", "c5b286047"], "source_commits": ["57e6db706", "c5b286047"], "source_entry_id": "14.0/changes/093", "db_id": "3399be126ebf44971ce3a8bcde682b19", "patch_ids": ["afb5018532ae1f10620ae7ca55ac586b", "b649569308cdb71c44d300b64d440e2f"], "statement_hash": "30e1bb3935ced93638d8e575eaf3dd5597e1f6a62e5f930b32b7c718fa89a671", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-0af60d76f7631926", "cves": [], "html": "<p>Allow <code>REINDEX</code> to process all child tables or indexes of a partitioned relation (Justin Pryzby, Michael Paquier) <a href=\"https://postgr.es/c/a6642b3ae\">§</a></p>", "text": "Allow REINDEX to process all child tables or indexes of a partitioned relation (Justin Pryzby, Michael Paquier) §", "title": "Allow REINDEX to process all child tables or indexes of a partitioned relation", "commits": ["a6642b3ae"], "section": "Utility Commands", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.6", "source_hash": "d4f40a202ccade63ccd59c0e8ad534d05fef6daa8c898248e20935c2a447f6be", "section_path": ["Utility Commands"], "commit_groups": [["a6642b3ae"]], "identity_text": "Allow REINDEX to process all child tables or indexes of a partitioned relation (Justin Pryzby, Michael Paquier)", "commit_aliases": ["a6642b3ae"], "source_commits": ["a6642b3ae"], "source_entry_id": "14.0/changes/094", "db_id": "194162c257a6034fc17ff77263e53adb", "patch_ids": ["68a082d5d0c148aae2f957e6d62da976"], "statement_hash": "0434d32ece6a33c9d4fd1eebc62e787c76e0bd69aada90a1c0f405f4aa816875", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-21516bf19d3f88ea", "cves": [], "html": "<p>Allow index commands using <code>CONCURRENTLY</code> to avoid waiting for the completion of other operations using <code>CONCURRENTLY</code> (Álvaro Herrera) <a href=\"https://postgr.es/c/c98763bf5\">§</a> <a href=\"https://postgr.es/c/f9900df5f\">§</a> <a href=\"https://postgr.es/c/d9d076222\">§</a></p>", "text": "Allow index commands using CONCURRENTLY to avoid waiting for the completion of other operations using CONCURRENTLY (Álvaro Herrera) § § §", "title": "Allow index commands using CONCURRENTLY to avoid waiting for the completion of other operations using CONCURRENTLY", "commits": ["c98763bf5", "d9d076222", "f9900df5f"], "section": "Utility Commands", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.6", "source_hash": "b8e4ec9df98ce6fcaecf73051d7663af7162c925d58fde6bb078ab64cda99538", "section_path": ["Utility Commands"], "commit_groups": [["c98763bf5"], ["d9d076222"], ["f9900df5f"]], "identity_text": "Allow index commands using CONCURRENTLY to avoid waiting for the completion of other operations using CONCURRENTLY (Álvaro Herrera)", "commit_aliases": ["c98763bf5", "d9d076222", "f9900df5f"], "source_commits": ["c98763bf5", "d9d076222", "f9900df5f"], "source_entry_id": "14.0/changes/095", "db_id": "e2349e6d9b73ae536eb86bd9f5cbbac4", "patch_ids": ["372a3670e2e3e461b4849f3a7ecea103", "5b064cc4a625651d6f0dba84325817a5", "6bd8462ec5bafe5f31e1328915ed8acb"], "statement_hash": "198f58bf4a787e7d1fb7a4669af00ee92e5c17fe79ef62a8d7b821ea7ccea6ad", "relations": [{"rule": 2, "type": "related", "target": "0c9d974913b05a8737e6a1f04752bfdc", "evidence": {"same_day": true, "patch_ids": ["372a3670e2e3e461b4849f3a7ecea103", "5b064cc4a625651d6f0dba84325817a5", "6bd8462ec5bafe5f31e1328915ed8acb"], "ambiguous_patch_ids": ["372a3670e2e3e461b4849f3a7ecea103", "5b064cc4a625651d6f0dba84325817a5", "6bd8462ec5bafe5f31e1328915ed8acb"]}}], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": [{"db_id": "0c9d974913b05a8737e6a1f04752bfdc", "kind": "related", "version": "14.0", "label": "14.0", "title": "Allow vacuum to be more aggressive in removing dead rows during minimal-locking index operations", "evidence": {"same_day": true, "patch_ids": ["372a3670e2e3e461b4849f3a7ecea103", "5b064cc4a625651d6f0dba84325817a5", "6bd8462ec5bafe5f31e1328915ed8acb"], "ambiguous_patch_ids": ["372a3670e2e3e461b4849f3a7ecea103", "5b064cc4a625651d6f0dba84325817a5", "6bd8462ec5bafe5f31e1328915ed8acb"]}, "url": "/docs/compare/?release=14.0#14.0-e85885ab232f73ee", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.3.3"}]}, {"id": "14.0-519de61f6807217f", "cves": [], "html": "<p>Improve the performance of <a href=\"/docs/14/sql-copy.html\" title=\"COPY\"><code>COPY FROM</code></a> in binary mode (Bharath Rupireddy, Amit Langote) <a href=\"https://postgr.es/c/0a0727ccf\">§</a></p>", "text": "Improve the performance of COPY FROM in binary mode (Bharath Rupireddy, Amit Langote) §", "title": "Improve the performance of COPY FROM in binary mode", "commits": ["0a0727ccf"], "section": "Utility Commands", "category": "performance", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.6", "source_hash": "a89a8722aeb456bec5e36d7c8c85140f41735f733620596abc613e65b46752ac", "section_path": ["Utility Commands"], "commit_groups": [["0a0727ccf"]], "identity_text": "Improve the performance of COPY FROM in binary mode (Bharath Rupireddy, Amit Langote)", "commit_aliases": ["0a0727ccf"], "source_commits": ["0a0727ccf"], "source_entry_id": "14.0/changes/096", "db_id": "17499a7f7837b773bd715b0d05f1446a", "patch_ids": ["695098545fcaf3c01ff77703440f8489"], "statement_hash": "13263f25c3d7e62bafe7248620784f67b3e20fad6f8b5cba0e08d94f37645c1c", "relations": [], "version": "14.0", "category_label": "Performance", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-7d82d783f2734c77", "cves": [], "html": "<p>Preserve <acronym>SQL</acronym> standard syntax for SQL-defined functions in <a href=\"/docs/14/sql-createview.html\" title=\"CREATE VIEW\">view definitions</a> (Tom Lane) <a href=\"https://postgr.es/c/40c24bfef\">§</a></p>\n<p>Previously, calls to SQL-standard functions such as <a href=\"/docs/14/functions-datetime.html#FUNCTIONS-DATETIME-EXTRACT\" title=\"9.9.1. EXTRACT, date_part\"><code>EXTRACT()</code></a> were shown in plain function-call syntax. The original syntax is now preserved when displaying a view or rule.</p>", "text": "Preserve SQL standard syntax for SQL-defined functions in view definitions (Tom Lane) § Previously, calls to SQL-standard functions such as EXTRACT() were shown in plain function-call syntax. The original syntax is now preserved when displaying a view or rule.", "title": "Preserve SQL standard syntax for SQL-defined functions in view definitions", "commits": ["40c24bfef"], "section": "Utility Commands", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.6", "source_hash": "aaa73cf6bd9310e4a35ec4c07cf04a2745d44a0836622f55fa0e38a1d9773478", "section_path": ["Utility Commands"], "commit_groups": [["40c24bfef"]], "identity_text": "Preserve SQL standard syntax for SQL-defined functions in view definitions (Tom Lane) Previously, calls to SQL-standard functions such as EXTRACT() were shown in plain function-call syntax. The original syntax is now preserved when displaying a view or rule.", "commit_aliases": ["40c24bfef"], "source_commits": ["40c24bfef"], "source_entry_id": "14.0/changes/097", "db_id": "d43d921af91c3c920dbaa807fd65e982", "patch_ids": ["ab32d9761075379afa1e50d2ecad42e5"], "statement_hash": "b94547ba44faeaf4d2d6b598e245f0f0006a0f312a5826234027b29fb8b32aa7", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-4b14d34ef2401230", "cves": [], "html": "<p>Add the <acronym>SQL</acronym>-standard clause <code>GRANTED BY</code> to <a href=\"/docs/14/sql-grant.html\" title=\"GRANT\"><code>GRANT</code></a> and <a href=\"/docs/14/sql-revoke.html\" title=\"REVOKE\"><code>REVOKE</code></a> (Peter Eisentraut) <a href=\"https://postgr.es/c/6aaaa76bb\">§</a></p>", "text": "Add the SQL-standard clause GRANTED BY to GRANT and REVOKE (Peter Eisentraut) §", "title": "Add the SQL-standard clause GRANTED BY to GRANT and REVOKE", "commits": ["6aaaa76bb"], "section": "Utility Commands", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.6", "source_hash": "16d8b96cda6ce877f81fb571bf5d1cf1cb3005dbb0513dcff8e839b604fe0508", "section_path": ["Utility Commands"], "commit_groups": [["6aaaa76bb"]], "identity_text": "Add the SQL-standard clause GRANTED BY to GRANT and REVOKE (Peter Eisentraut)", "commit_aliases": ["6aaaa76bb"], "source_commits": ["6aaaa76bb"], "source_entry_id": "14.0/changes/098", "db_id": "77acc5db1b510977afbe386087c995c8", "patch_ids": ["69b21b77584e35c3293de0caffcb9b29"], "statement_hash": "ed1098fa081d54705b0d98ea56a4328a6149e1b1fc0067ba90e27a9a588a04b1", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-466b6164497b3ba7", "cves": [], "html": "<p>Add <code>OR REPLACE</code> option for <a href=\"/docs/14/sql-createtrigger.html\" title=\"CREATE TRIGGER\"><code>CREATE TRIGGER</code></a> (Takamichi Osumi) <a href=\"https://postgr.es/c/92bf7e2d0\">§</a></p>\n<p>This allows pre-existing triggers to be conditionally replaced.</p>", "text": "Add OR REPLACE option for CREATE TRIGGER (Takamichi Osumi) § This allows pre-existing triggers to be conditionally replaced.", "title": "Add OR REPLACE option for CREATE TRIGGER", "commits": ["92bf7e2d0"], "section": "Utility Commands", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.6", "source_hash": "20c0cd0f52863a42182818f2441ce311676b004cbc126a2ccc3f6c19a4a6f03d", "section_path": ["Utility Commands"], "commit_groups": [["92bf7e2d0"]], "identity_text": "Add OR REPLACE option for CREATE TRIGGER (Takamichi Osumi) This allows pre-existing triggers to be conditionally replaced.", "commit_aliases": ["92bf7e2d0"], "source_commits": ["92bf7e2d0"], "source_entry_id": "14.0/changes/099", "db_id": "cc531de5fce6fbb83c3afa73ad767881", "patch_ids": ["9c4d991b6f24b3903a347c61104e47e5"], "statement_hash": "6a350087b573fd9ea8918ce339f495714710c0f821b208880a497b886952afc9", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-2fb8a5890d1056c0", "cves": [], "html": "<p>Allow <a href=\"/docs/14/sql-truncate.html\" title=\"TRUNCATE\"><code>TRUNCATE</code></a> to operate on foreign tables (Kazutaka Onishi, Kohei KaiGai) <a href=\"https://postgr.es/c/8ff1c9464\">§</a></p>\n<p>The <a href=\"/docs/14/postgres-fdw.html\" title=\"F.35. postgres_fdw\"><span>postgres_fdw</span></a> module also now supports this.</p>", "text": "Allow TRUNCATE to operate on foreign tables (Kazutaka Onishi, Kohei KaiGai) § The postgres_fdw module also now supports this.", "title": "Allow TRUNCATE to operate on foreign tables", "commits": ["8ff1c9464"], "section": "Utility Commands", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.6", "source_hash": "67732253591d6e7e9b6901d7f4fc972edeba2fe44859d3a86fb8b5b6e8a3875d", "section_path": ["Utility Commands"], "commit_groups": [["8ff1c9464"]], "identity_text": "Allow TRUNCATE to operate on foreign tables (Kazutaka Onishi, Kohei KaiGai) The postgres_fdw module also now supports this.", "commit_aliases": ["8ff1c9464"], "source_commits": ["8ff1c9464"], "source_entry_id": "14.0/changes/100", "db_id": "fd61e25dc11d238169c7c84c00a345d6", "patch_ids": ["055dc15a7bfaac81486a9d9f0ea6ec27"], "statement_hash": "d3a5f7dfd51a9235a95f0a29e6f015c92c97d41ee7837c604acf7c5e5db94346", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-84d686cb90f21031", "cves": [], "html": "<p>Allow publications to be more easily added to and removed from a subscription (Japin Li) <a href=\"https://postgr.es/c/82ed7748b\">§</a></p>\n<p>The new syntax is <a href=\"/docs/14/sql-altersubscription.html\" title=\"ALTER SUBSCRIPTION\"><code>ALTER SUBSCRIPTION ... ADD/DROP PUBLICATION</code></a>. This avoids having to specify all publications to add/remove entries.</p>", "text": "Allow publications to be more easily added to and removed from a subscription (Japin Li) § The new syntax is ALTER SUBSCRIPTION ... ADD/DROP PUBLICATION. This avoids having to specify all publications to add/remove entries.", "title": "Allow publications to be more easily added to and removed from a subscription", "commits": ["82ed7748b"], "section": "Utility Commands", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.6", "source_hash": "dc243802ba4fe7232f8420b7f050638670b7ef0ab29bc564581985dc74959c5d", "section_path": ["Utility Commands"], "commit_groups": [["82ed7748b"]], "identity_text": "Allow publications to be more easily added to and removed from a subscription (Japin Li) The new syntax is ALTER SUBSCRIPTION ... ADD/DROP PUBLICATION. This avoids having to specify all publications to add/remove entries.", "commit_aliases": ["82ed7748b"], "source_commits": ["82ed7748b"], "source_entry_id": "14.0/changes/101", "db_id": "0ce422fc05ab0a96122d6eb246c6165d", "patch_ids": ["b747bff1d046d5305098899a27c53b37"], "statement_hash": "61acb7a6ba7f10d03f30174a2f6c8f3a0f48d02fcee310fad73d1be32e750b45", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-55580dee532cb29f", "cves": [], "html": "<p>Add primary keys, unique constraints, and foreign keys to <a href=\"/docs/14/catalogs.html\" title=\"Chapter 52. System Catalogs\">system catalogs</a> (Peter Eisentraut) <a href=\"https://postgr.es/c/dfb75e478\">§</a> <a href=\"https://postgr.es/c/62f34097c\">§</a></p>\n<p>These changes help <acronym>GUI</acronym> tools analyze the system catalogs. The existing unique indexes of catalogs now have associated <code>UNIQUE</code> or <code>PRIMARY KEY</code> constraints. Foreign key relationships are not actually stored or implemented as constraints, but can be obtained for display from the function <a href=\"/docs/14/functions-info.html#FUNCTIONS-INFO-CATALOG-TABLE\" title=\"Table 9.70. System Catalog Information Functions\">pg_get_catalog_foreign_keys()</a>.</p>", "text": "Add primary keys, unique constraints, and foreign keys to system catalogs (Peter Eisentraut) § § These changes help GUI tools analyze the system catalogs. The existing unique indexes of catalogs now have associated UNIQUE or PRIMARY KEY constraints. Foreign key relationships are not actually stored or implemented as constraints, but can be obtained for display from the function pg_get_catalog_foreign_keys().", "title": "Add primary keys, unique constraints, and foreign keys to system catalogs", "commits": ["62f34097c", "dfb75e478"], "section": "Utility Commands", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.6", "source_hash": "96d421ff0404d18462c6addaf1400bb54a95b210f708a6f7fac668a4e59ce401", "section_path": ["Utility Commands"], "commit_groups": [["62f34097c"], ["dfb75e478"]], "identity_text": "Add primary keys, unique constraints, and foreign keys to system catalogs (Peter Eisentraut) These changes help GUI tools analyze the system catalogs. The existing unique indexes of catalogs now have associated UNIQUE or PRIMARY KEY constraints. Foreign key relationships are not actually stored or implemented as constraints, but can be obtained for display from the function pg_get_catalog_foreign_keys().", "commit_aliases": ["62f34097c", "dfb75e478"], "source_commits": ["62f34097c", "dfb75e478"], "source_entry_id": "14.0/changes/102", "db_id": "32b3a991aa9c4e7d5eaf557258f0cf65", "patch_ids": ["1f251a8c4404cff1c95bd260e4e3fbb6", "7d9cb0e7006805070122bebb747aba6b"], "statement_hash": "e8303e15956599c8cb09f1f6157d02eb93268871ff67770d2b4b516c27986b81", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-24196717bb2f4ed3", "cves": [], "html": "<p>Allow <a href=\"/docs/14/functions-info.html\" title=\"9.26. System Information Functions and Operators\"><code>CURRENT_ROLE</code></a> every place <code>CURRENT_USER</code> is accepted (Peter Eisentraut) <a href=\"https://postgr.es/c/45b980570\">§</a></p>", "text": "Allow CURRENT_ROLE every place CURRENT_USER is accepted (Peter Eisentraut) §", "title": "Allow CURRENT_ROLE every place CURRENT_USER is accepted", "commits": ["45b980570"], "section": "Utility Commands", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.6", "source_hash": "57791f643ac529ff7ddadb73295ad06d6807598c9c7197a525d728db8134265c", "section_path": ["Utility Commands"], "commit_groups": [["45b980570"]], "identity_text": "Allow CURRENT_ROLE every place CURRENT_USER is accepted (Peter Eisentraut)", "commit_aliases": ["45b980570"], "source_commits": ["45b980570"], "source_entry_id": "14.0/changes/103", "db_id": "4561c66c5f91dbe5f58dd2f7a71a2f4f", "patch_ids": ["63b5d955ed55f046a1484c01f1680407"], "statement_hash": "25df2a089dab2ae076e03404bb33e7892a54222fd542730dec8dc8428b54dfc3", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-7537355fd40165a7", "cves": [], "html": "<p>Allow extensions and built-in data types to implement <a href=\"/docs/14/sql-altertype.html\" title=\"ALTER TYPE\">subscripting</a> (Dmitry Dolgov) <a href=\"https://postgr.es/c/c7aba7c14\">§</a></p>\n<p>Previously subscript handling was hard-coded into the server, so that subscripting could only be applied to array types. This change allows subscript notation to be used to extract or assign portions of a value of any type for which the concept makes sense.</p>", "text": "Allow extensions and built-in data types to implement subscripting (Dmitry Dolgov) § Previously subscript handling was hard-coded into the server, so that subscripting could only be applied to array types. This change allows subscript notation to be used to extract or assign portions of a value of any type for which the concept makes sense.", "title": "Allow extensions and built-in data types to implement subscripting", "commits": ["c7aba7c14"], "section": "Data Types", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.7", "source_hash": "a0e6321c0501da847c1f5acdf8721dec4f5ffeea885ec531d03582d0b41ab478", "section_path": ["Data Types"], "commit_groups": [["c7aba7c14"]], "identity_text": "Allow extensions and built-in data types to implement subscripting (Dmitry Dolgov) Previously subscript handling was hard-coded into the server, so that subscripting could only be applied to array types. This change allows subscript notation to be used to extract or assign portions of a value of any type for which the concept makes sense.", "commit_aliases": ["c7aba7c14"], "source_commits": ["c7aba7c14"], "source_entry_id": "14.0/changes/104", "db_id": "e1bfb25d1e943bfea707efd8af4d1c7c", "patch_ids": ["f9c254467da6e9b3496742d75cbe1ff0"], "statement_hash": "95a698762359a3f4e80084d398cc2c5aeba5f2c3129901dd35024f4093782299", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-268247527d00b8cd", "cves": [], "html": "<p>Allow subscripting of <a href=\"/docs/14/datatype-json.html\" title=\"8.14. JSON Types\"><code>JSONB</code></a> (Dmitry Dolgov) <a href=\"https://postgr.es/c/676887a3b\">§</a> <a href=\"https://postgr.es/c/81fcc72e6\">§</a> <a href=\"https://postgr.es/c/aa6e46daf\">§</a></p>\n<p><code>JSONB</code> subscripting can be used to extract and assign to portions of <code>JSONB</code> documents.</p>", "text": "Allow subscripting of JSONB (Dmitry Dolgov) § § § JSONB subscripting can be used to extract and assign to portions of JSONB documents.", "title": "Allow subscripting of JSONB", "commits": ["676887a3b", "81fcc72e6", "aa6e46daf"], "section": "Data Types", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.7", "source_hash": "7ff61f1b3ac3bfc56f1a024e4a6f032a1e0ba7f5da00bc351e05f3cd95369750", "section_path": ["Data Types"], "commit_groups": [["676887a3b"], ["81fcc72e6"], ["aa6e46daf"]], "identity_text": "Allow subscripting of JSONB (Dmitry Dolgov) JSONB subscripting can be used to extract and assign to portions of JSONB documents.", "commit_aliases": ["676887a3b", "81fcc72e6", "aa6e46daf"], "source_commits": ["676887a3b", "81fcc72e6", "aa6e46daf"], "source_entry_id": "14.0/changes/105", "db_id": "0cc23da16b30a5cdb98b298d68d99330", "patch_ids": ["44793863a8279dd71fc5a9f2dc48be1d", "553b23f89db239a449653928e85bb186", "be5aa3b2ecb1c2c8addaaa8eda0de469"], "statement_hash": "77de78d3c9da380e6c52002a9df6b9e364b49335f62678da28095cb794ecb858", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-18b54f4534b858c8", "cves": [], "html": "<p>Add support for <a href=\"/docs/14/rangetypes.html\" title=\"8.17. Range Types\">multirange data types</a> (Paul Jungwirth, Alexander Korotkov) <a href=\"https://postgr.es/c/6df7a9698\">§</a> <a href=\"https://postgr.es/c/db6335b5b\">§</a> <a href=\"https://postgr.es/c/62097a4cc\">§</a> <a href=\"https://postgr.es/c/244ad5415\">§</a></p>\n<p>These are like range data types, but they allow the specification of multiple, ordered, non-overlapping ranges. An associated multirange type is automatically created for every range type.</p>", "text": "Add support for multirange data types (Paul Jungwirth, Alexander Korotkov) § § § § These are like range data types, but they allow the specification of multiple, ordered, non-overlapping ranges. An associated multirange type is automatically created for every range type.", "title": "Add support for multirange data types", "commits": ["244ad5415", "62097a4cc", "6df7a9698", "db6335b5b"], "section": "Data Types", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.7", "source_hash": "13d082051cc048de04f0cd345171663bcf4340ce4e32aa69d029d291871f1d4a", "section_path": ["Data Types"], "commit_groups": [["244ad5415"], ["62097a4cc"], ["6df7a9698"], ["db6335b5b"]], "identity_text": "Add support for multirange data types (Paul Jungwirth, Alexander Korotkov) These are like range data types, but they allow the specification of multiple, ordered, non-overlapping ranges. An associated multirange type is automatically created for every range type.", "commit_aliases": ["244ad5415", "62097a4cc", "6df7a9698", "db6335b5b"], "source_commits": ["244ad5415", "62097a4cc", "6df7a9698", "db6335b5b"], "source_entry_id": "14.0/changes/106", "db_id": "2638335b0393e381fe1e956fa542c98d", "patch_ids": ["158a99fd8bca9d9456a72e271a827c80", "5641daa03dde7671991f0f5bec8c49a8", "865abf0ed245feb7444c71070c5c106e", "f9f6fc14c71b9380fb5d642445437a31"], "statement_hash": "30fc7bb36d566ed4e031f751ad8f3b29f92a0a7b1d6fd66a53b93d74818375da", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-38ed5e0c5ed14856", "cves": [], "html": "<p>Add support for the <a href=\"/docs/14/textsearch-dictionaries.html#TEXTSEARCH-SNOWBALL-DICTIONARY\" title=\"12.6.6. Snowball Dictionary\">stemming</a> of languages Armenian, Basque, Catalan, Hindi, Serbian, and Yiddish (Peter Eisentraut) <a href=\"https://postgr.es/c/cbcc8726b\">§</a> <a href=\"https://postgr.es/c/c2e71cb35\">§</a> <a href=\"https://postgr.es/c/678d0e239\">§</a></p>", "text": "Add support for the stemming of languages Armenian, Basque, Catalan, Hindi, Serbian, and Yiddish (Peter Eisentraut) § § §", "title": "Add support for the stemming of languages Armenian, Basque, Catalan, Hindi, Serbian, and Yiddish", "commits": ["678d0e239", "c2e71cb35", "cbcc8726b"], "section": "Data Types", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.7", "source_hash": "fda8ac4f238c748dffa6c149b99d59ba38fba4eccab5fc0db641c30eabddca36", "section_path": ["Data Types"], "commit_groups": [["678d0e239"], ["c2e71cb35"], ["cbcc8726b"]], "identity_text": "Add support for the stemming of languages Armenian, Basque, Catalan, Hindi, Serbian, and Yiddish (Peter Eisentraut)", "commit_aliases": ["678d0e239", "c2e71cb35", "cbcc8726b"], "source_commits": ["678d0e239", "c2e71cb35", "cbcc8726b"], "source_entry_id": "14.0/changes/107", "db_id": "5ea740bd7c8c2c6c1f7b4d66415af582", "patch_ids": ["0f481d954aade693357c915bde29d3cf", "510710888dd635c9e3cf7671436484bf", "8895268eef04006b417b79477c16c4bd"], "statement_hash": "9f550ab24bc922c2257fad24fac3b415d688c9ed158deae45186edd7ff8e2b0c", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-e07b9c7b8c6057f8", "cves": [], "html": "<p>Allow <a href=\"/docs/14/textsearch-intro.html#TEXTSEARCH-INTRO-CONFIGURATIONS\" title=\"12.1.3. Configurations\">tsearch data files</a> to have unlimited line lengths (Tom Lane) <a href=\"https://postgr.es/c/83b61319a\">§</a></p>\n<p>The previous limit was 4K bytes. Also remove function <code>t_readline()</code>.</p>", "text": "Allow tsearch data files to have unlimited line lengths (Tom Lane) § The previous limit was 4K bytes. Also remove function t_readline().", "title": "Allow tsearch data files to have unlimited line lengths", "commits": ["83b61319a"], "section": "Data Types", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.7", "source_hash": "af7c2b34fd6be39f84cd9da431564971dc153ee3651f29c9e530f5c99f3b64a9", "section_path": ["Data Types"], "commit_groups": [["83b61319a"]], "identity_text": "Allow tsearch data files to have unlimited line lengths (Tom Lane) The previous limit was 4K bytes. Also remove function t_readline().", "commit_aliases": ["83b61319a"], "source_commits": ["83b61319a"], "source_entry_id": "14.0/changes/108", "db_id": "a4a57313e9ed29cb36d0337dacf1dd94", "patch_ids": ["7187cbb61186a81a3c6784f15e294085"], "statement_hash": "fda8546d5b852f448eb6cbd46d42d6380a2f33770762487784e3dc58c6cd46fc", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-f6045f73f6e938d6", "cves": [], "html": "<p>Add support for <code>Infinity</code> and <code>-Infinity</code> values in the <a href=\"/docs/14/datatype-numeric.html\" title=\"8.1. Numeric Types\">numeric data type</a> (Tom Lane) <a href=\"https://postgr.es/c/a57d312a7\">§</a></p>\n<p>Floating-point data types already supported these.</p>", "text": "Add support for Infinity and -Infinity values in the numeric data type (Tom Lane) § Floating-point data types already supported these.", "title": "Add support for Infinity and -Infinity values in the numeric data type", "commits": ["a57d312a7"], "section": "Data Types", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.7", "source_hash": "1acc84aea8f8ea025ce74751057f6609f86e0481ff4410329596efe0475e8c25", "section_path": ["Data Types"], "commit_groups": [["a57d312a7"]], "identity_text": "Add support for Infinity and -Infinity values in the numeric data type (Tom Lane) Floating-point data types already supported these.", "commit_aliases": ["a57d312a7"], "source_commits": ["a57d312a7"], "source_entry_id": "14.0/changes/109", "db_id": "2bd1292f391e9124f513063b69f212d6", "patch_ids": ["1dee9522161350e06e578757e009c4ff"], "statement_hash": "6ddf344a239d328a455276ebed3277af3e51fd212e5c69878f5d0749a8a6c088", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-507df3b45a92a30b", "cves": [], "html": "<p>Add <a href=\"/docs/14/functions-geometry.html\" title=\"9.11. Geometric Functions and Operators\">point operators</a> <code>&lt;&lt;|</code> and <code>|&gt;&gt;</code> representing strictly above/below tests (Emre Hasegeli) <a href=\"https://postgr.es/c/0cc993278\">§</a></p>\n<p>Previously these were called <code>&gt;^</code> and <code>&lt;^</code>, but that naming is inconsistent with other geometric data types. The old names remain available, but may someday be removed.</p>", "text": "Add point operators <<| and |>> representing strictly above/below tests (Emre Hasegeli) § Previously these were called >^ and <^, but that naming is inconsistent with other geometric data types. The old names remain available, but may someday be removed.", "title": "Add point operators <<| and |>> representing strictly above/below tests", "commits": ["0cc993278"], "section": "Data Types", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.7", "source_hash": "b8fdade7b86ba3d8c539cc988898c1c90b373bb201c3a35ec7ad9ff898169d0e", "section_path": ["Data Types"], "commit_groups": [["0cc993278"]], "identity_text": "Add point operators <<| and |>> representing strictly above/below tests (Emre Hasegeli) Previously these were called >^ and <^, but that naming is inconsistent with other geometric data types. The old names remain available, but may someday be removed.", "commit_aliases": ["0cc993278"], "source_commits": ["0cc993278"], "source_entry_id": "14.0/changes/110", "db_id": "3f128fc43200d9c75140c0f46477e8a7", "patch_ids": ["bf5661ae690b1c7fead618807863da3b"], "statement_hash": "84de7d62fb5d8bd90110bee7d7bad40eb294731492bc8726d1562cd8aa5a8eec", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-07d3647b19696474", "cves": [], "html": "<p>Add operators to add and subtract <a href=\"/docs/14/datatype-pg-lsn.html\" title=\"8.20. pg_lsn Type\"><code>LSN</code></a> and numeric (byte) values (Fujii Masao) <a href=\"https://postgr.es/c/9bae7e4cd\">§</a></p>", "text": "Add operators to add and subtract LSN and numeric (byte) values (Fujii Masao) §", "title": "Add operators to add and subtract LSN and numeric (byte) values", "commits": ["9bae7e4cd"], "section": "Data Types", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.7", "source_hash": "0d766258694aeb27f272b9150bb3d6dce5d2a6bfb6c2985bff3c0f6d37a19267", "section_path": ["Data Types"], "commit_groups": [["9bae7e4cd"]], "identity_text": "Add operators to add and subtract LSN and numeric (byte) values (Fujii Masao)", "commit_aliases": ["9bae7e4cd"], "source_commits": ["9bae7e4cd"], "source_entry_id": "14.0/changes/111", "db_id": "b17285685ea5c0b5d02eab4b1a9411ac", "patch_ids": ["19536d3d4c707b7bed5f945c5da091f3"], "statement_hash": "475a3e0d1a68acbccdfe77a92866659d0f93298adcc0109d0184a13516c2017a", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-c8b19791d4cc916f", "cves": [], "html": "<p>Allow <a href=\"/docs/14/protocol-overview.html#PROTOCOL-FORMAT-CODES\" title=\"53.1.3. Formats and Format Codes\">binary data transfer</a> to be more forgiving of array and record <code>OID</code> mismatches (Tom Lane) <a href=\"https://postgr.es/c/670c0a1d4\">§</a></p>", "text": "Allow binary data transfer to be more forgiving of array and record OID mismatches (Tom Lane) §", "title": "Allow binary data transfer to be more forgiving of array and record OID mismatches", "commits": ["670c0a1d4"], "section": "Data Types", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.7", "source_hash": "d99c027d192e3351dcca0a93477b78374e0016762b464dbefcd0341d95a5c652", "section_path": ["Data Types"], "commit_groups": [["670c0a1d4"]], "identity_text": "Allow binary data transfer to be more forgiving of array and record OID mismatches (Tom Lane)", "commit_aliases": ["670c0a1d4"], "source_commits": ["670c0a1d4"], "source_entry_id": "14.0/changes/112", "db_id": "55a622ea3ef2d0b9ffba7b5382ef3b20", "patch_ids": ["34fc7a783e62be2d215ea9b37c67dcf6"], "statement_hash": "32af0d9b6ff39d2bfee4311319f2fa9c2976543d77f5f1c9525b70f5c7abf066", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-54dbfd1cb2471a05", "cves": [], "html": "<p>Create composite array types for system catalogs (Wenjing Zeng) <a href=\"https://postgr.es/c/f7f70d5e2\">§</a></p>\n<p>User-defined relations have long had composite types associated with them, and also array types over those composite types. System catalogs now do as well. This change also fixes an inconsistency that creating a user-defined table in single-user mode would fail to create a composite array type.</p>", "text": "Create composite array types for system catalogs (Wenjing Zeng) § User-defined relations have long had composite types associated with them, and also array types over those composite types. System catalogs now do as well. This change also fixes an inconsistency that creating a user-defined table in single-user mode would fail to create a composite array type.", "title": "Create composite array types for system catalogs", "commits": ["f7f70d5e2"], "section": "Data Types", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.7", "source_hash": "1d88ad3df6c0355a2262dfc7b508ad1b017bdd06416a09160e292c3701a31eb1", "section_path": ["Data Types"], "commit_groups": [["f7f70d5e2"]], "identity_text": "Create composite array types for system catalogs (Wenjing Zeng) User-defined relations have long had composite types associated with them, and also array types over those composite types. System catalogs now do as well. This change also fixes an inconsistency that creating a user-defined table in single-user mode would fail to create a composite array type.", "commit_aliases": ["f7f70d5e2"], "source_commits": ["f7f70d5e2"], "source_entry_id": "14.0/changes/113", "db_id": "ebe44389be518b9984a8ca519e88e042", "patch_ids": ["cbac061e3140f3e6c0d9c145c27e45aa"], "statement_hash": "0cccebb4a1b37d2ad2c6e2c6bfc20225854081eedd71f36a28a364ceadfe3845", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-cfe917b6b439a33e", "cves": [], "html": "<p>Allow <acronym>SQL</acronym>-language <a href=\"/docs/14/sql-createfunction.html\" title=\"CREATE FUNCTION\">functions</a> and <a href=\"/docs/14/sql-createprocedure.html\" title=\"CREATE PROCEDURE\">procedures</a> to use <acronym>SQL</acronym>-standard function bodies (Peter Eisentraut) <a href=\"https://postgr.es/c/e717a9a18\">§</a></p>\n<p>Previously only string-literal function bodies were supported. When writing a function or procedure in SQL-standard syntax, the body is parsed immediately and stored as a parse tree. This allows better tracking of function dependencies, and can have security benefits.</p>", "text": "Allow SQL-language functions and procedures to use SQL-standard function bodies (Peter Eisentraut) § Previously only string-literal function bodies were supported. When writing a function or procedure in SQL-standard syntax, the body is parsed immediately and stored as a parse tree. This allows better tracking of function dependencies, and can have security benefits.", "title": "Allow SQL-language functions and procedures to use SQL-standard function bodies", "commits": ["e717a9a18"], "section": "Functions", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.8", "source_hash": "daec6496a7b20e7889939f2968fb04906a17a465c6f0a6d510aa2c5a18d415f5", "section_path": ["Functions"], "commit_groups": [["e717a9a18"]], "identity_text": "Allow SQL-language functions and procedures to use SQL-standard function bodies (Peter Eisentraut) Previously only string-literal function bodies were supported. When writing a function or procedure in SQL-standard syntax, the body is parsed immediately and stored as a parse tree. This allows better tracking of function dependencies, and can have security benefits.", "commit_aliases": ["e717a9a18"], "source_commits": ["e717a9a18"], "source_entry_id": "14.0/changes/114", "db_id": "4821c63dbd3aef37e199ebe9a3eda019", "patch_ids": ["b4b15d88bed9dc4d3e5b601ef765c0ef"], "statement_hash": "91c962935b11caf35bcded1da0ca7a7817d42258d11ef1078c0beb50e4ab4ad4", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-26dc71d1d450fd13", "cves": [], "html": "<p>Allow <a href=\"/docs/14/sql-createprocedure.html\" title=\"CREATE PROCEDURE\">procedures</a> to have <code>OUT</code> parameters (Peter Eisentraut) <a href=\"https://postgr.es/c/2453ea142\">§</a> <a href=\"https://postgr.es/c/9213462c5\">§</a></p>", "text": "Allow procedures to have OUT parameters (Peter Eisentraut) § §", "title": "Allow procedures to have OUT parameters", "commits": ["2453ea142", "9213462c5"], "section": "Functions", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.8", "source_hash": "71b18cc24f17eaab3dcdbc33e528fbb24a590d98e3727ec733e68bd4e86eda0f", "section_path": ["Functions"], "commit_groups": [["2453ea142"], ["9213462c5"]], "identity_text": "Allow procedures to have OUT parameters (Peter Eisentraut)", "commit_aliases": ["2453ea142", "9213462c5"], "source_commits": ["2453ea142", "9213462c5"], "source_entry_id": "14.0/changes/115", "db_id": "baaaa111860b656ff13443b77e9a9436", "patch_ids": ["2ce57dd0f35420e3108c5db714b0ffeb", "f6b209b4e3fdf91b028387c1bc508a50"], "statement_hash": "19342772dcd21d38f19fc518ed69ceb5c54b131299bc4d1b812baaa49a962853", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-c4fe9d0eb11b9d2a", "cves": [], "html": "<p>Allow some array functions to operate on a mix of compatible data types (Tom Lane) <a href=\"https://postgr.es/c/9e38c2bb5\">§</a></p>\n<p>The functions <a href=\"/docs/14/functions-array.html\" title=\"9.19. Array Functions and Operators\"><code>array_append()</code></a>, <code>array_prepend()</code>, <code>array_cat()</code>, <code>array_position()</code>, <code>array_positions()</code>, <code>array_remove()</code>, <code>array_replace()</code>, and <a href=\"/docs/14/functions-math.html\" title=\"9.3. Mathematical Functions and Operators\"><code>width_bucket()</code></a> now take <code>anycompatiblearray</code> instead of <code>anyarray</code> arguments. This makes them less fussy about exact matches of argument types.</p>", "text": "Allow some array functions to operate on a mix of compatible data types (Tom Lane) § The functions array_append(), array_prepend(), array_cat(), array_position(), array_positions(), array_remove(), array_replace(), and width_bucket() now take anycompatiblearray instead of anyarray arguments. This makes them less fussy about exact matches of argument types.", "title": "Allow some array functions to operate on a mix of compatible data types", "commits": ["9e38c2bb5"], "section": "Functions", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.8", "source_hash": "db959a464b140c3c3354e45711221b1af5565de8a897cb156ddd811a7bb9d78f", "section_path": ["Functions"], "commit_groups": [["9e38c2bb5"]], "identity_text": "Allow some array functions to operate on a mix of compatible data types (Tom Lane) The functions array_append(), array_prepend(), array_cat(), array_position(), array_positions(), array_remove(), array_replace(), and width_bucket() now take anycompatiblearray instead of anyarray arguments. This makes them less fussy about exact matches of argument types.", "commit_aliases": ["9e38c2bb5"], "source_commits": ["9e38c2bb5"], "source_entry_id": "14.0/changes/116", "db_id": "08589d1884d0ea2ed7d1f62b5df4cc1d", "patch_ids": ["80d8aa49c80ecce0ddda625f58860fe1"], "statement_hash": "a4f0bb9f017c7df91785f8cafd764b3e12f80333332f6b33695300a6a44f90a3", "relations": [{"rule": 2, "type": "related", "target": "57c4547257fc6633764aa973e9303863", "evidence": {"same_day": true, "patch_ids": ["80d8aa49c80ecce0ddda625f58860fe1"]}}], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": [{"db_id": "57c4547257fc6633764aa973e9303863", "kind": "related", "version": "14.0", "label": "14.0", "title": "User-defined objects that reference certain built-in array functions along with their argument types must be recreated", "evidence": {"same_day": true, "patch_ids": ["80d8aa49c80ecce0ddda625f58860fe1"]}, "url": "/docs/compare/?release=14.0#14.0-85566e3576b3d533", "source_url": "/docs/release/14.0/#id-1.11.6.30.4"}]}, {"id": "14.0-2eb623c83b8eb36a", "cves": [], "html": "<p>Add <acronym>SQL</acronym>-standard <a href=\"/docs/14/functions-array.html\" title=\"9.19. Array Functions and Operators\"><code>trim_array()</code></a> function (Vik Fearing) <a href=\"https://postgr.es/c/0a687c8f1\">§</a></p>\n<p>This could already be done with array slices, but less easily.</p>", "text": "Add SQL-standard trim_array() function (Vik Fearing) § This could already be done with array slices, but less easily.", "title": "Add SQL-standard trim_array() function", "commits": ["0a687c8f1"], "section": "Functions", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.8", "source_hash": "db065e2e5ba613268eb6068d5e11210887d2cf0434ef4113233147f71aed463e", "section_path": ["Functions"], "commit_groups": [["0a687c8f1"]], "identity_text": "Add SQL-standard trim_array() function (Vik Fearing) This could already be done with array slices, but less easily.", "commit_aliases": ["0a687c8f1"], "source_commits": ["0a687c8f1"], "source_entry_id": "14.0/changes/117", "db_id": "c583f69786b99666212475e55a700446", "patch_ids": ["2917c9084868e6da13cd021a1d005ba2"], "statement_hash": "84f0230017aeec171d441fd3bc75d8bdb48183fb827fcbe3b083804e28a4202b", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-e3099b6658302b78", "cves": [], "html": "<p>Add <code>bytea</code> equivalents of <a href=\"/docs/14/functions-binarystring.html\" title=\"9.5. Binary String Functions and Operators\"><code>ltrim()</code></a> and <code>rtrim()</code> (Joel Jacobson) <a href=\"https://postgr.es/c/a6cf3df4e\">§</a></p>", "text": "Add bytea equivalents of ltrim() and rtrim() (Joel Jacobson) §", "title": "Add bytea equivalents of ltrim() and rtrim()", "commits": ["a6cf3df4e"], "section": "Functions", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.8", "source_hash": "1fc71cfc9710b76d55953090249b60b471e4b8ea5c56b86c6aaee3e03e748e50", "section_path": ["Functions"], "commit_groups": [["a6cf3df4e"]], "identity_text": "Add bytea equivalents of ltrim() and rtrim() (Joel Jacobson)", "commit_aliases": ["a6cf3df4e"], "source_commits": ["a6cf3df4e"], "source_entry_id": "14.0/changes/118", "db_id": "9694115172abc4c86c97e59dae561d3d", "patch_ids": ["e873cbf97cda0872c9b9cdf033c0194a"], "statement_hash": "459c7fff060620c10edfb8b88d180c197a1a11938398802fdc99d57f6a4a9fb8", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-52a2375777294f21", "cves": [], "html": "<p>Support negative indexes in <a href=\"/docs/14/functions-string.html\" title=\"9.4. String Functions and Operators\"><code>split_part()</code></a> (Nikhil Benesch) <a href=\"https://postgr.es/c/ec0294fb2\">§</a></p>\n<p>Negative values start from the last field and count backward.</p>", "text": "Support negative indexes in split_part() (Nikhil Benesch) § Negative values start from the last field and count backward.", "title": "Support negative indexes in split_part()", "commits": ["ec0294fb2"], "section": "Functions", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.8", "source_hash": "98192b92397f4ae4b2069eb49053d7e20030717a4e7e853ddbbd0d5200c91b3b", "section_path": ["Functions"], "commit_groups": [["ec0294fb2"]], "identity_text": "Support negative indexes in split_part() (Nikhil Benesch) Negative values start from the last field and count backward.", "commit_aliases": ["ec0294fb2"], "source_commits": ["ec0294fb2"], "source_entry_id": "14.0/changes/119", "db_id": "c77c7b01ef65ea8744fe46125d79e62b", "patch_ids": ["732abdb8c6f066eb5a42788cc4b16dd6"], "statement_hash": "bea1a000222529e21b542bed16bd07e2c8264f29eaaaa3d9ae9e77fd045ccef3", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-66a434e43e778c1b", "cves": [], "html": "<p>Add <a href=\"/docs/14/functions-string.html\" title=\"9.4. String Functions and Operators\"><code>string_to_table()</code></a> function to split a string on delimiters (Pavel Stehule) <a href=\"https://postgr.es/c/66f163068\">§</a></p>\n<p>This is similar to the <a href=\"/docs/14/functions-string.html\" title=\"9.4. String Functions and Operators\"><code>regexp_split_to_table()</code></a> function.</p>", "text": "Add string_to_table() function to split a string on delimiters (Pavel Stehule) § This is similar to the regexp_split_to_table() function.", "title": "Add string_to_table() function to split a string on delimiters", "commits": ["66f163068"], "section": "Functions", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.8", "source_hash": "ea868861832cc36437bf7376c8ac351bf607a6fe340600b8460f2e04f4f04ad3", "section_path": ["Functions"], "commit_groups": [["66f163068"]], "identity_text": "Add string_to_table() function to split a string on delimiters (Pavel Stehule) This is similar to the regexp_split_to_table() function.", "commit_aliases": ["66f163068"], "source_commits": ["66f163068"], "source_entry_id": "14.0/changes/120", "db_id": "a9da603976725202ff376acfcab74cda", "patch_ids": ["b84372ee684d0f0cb5941f5fb1f9025d"], "statement_hash": "b5616f4a0ad01fa8a5947cadec78f53d0d6f38d489c846b6d19529cc73715647", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-168c1281c06bac03", "cves": [], "html": "<p>Add <a href=\"/docs/14/functions-string.html\" title=\"9.4. String Functions and Operators\"><code>unistr()</code></a> function to allow Unicode characters to be specified as backslash-hex escapes in strings (Pavel Stehule) <a href=\"https://postgr.es/c/f37fec837\">§</a></p>\n<p>This is similar to how Unicode can be specified in literal strings.</p>", "text": "Add unistr() function to allow Unicode characters to be specified as backslash-hex escapes in strings (Pavel Stehule) § This is similar to how Unicode can be specified in literal strings.", "title": "Add unistr() function to allow Unicode characters to be specified as backslash-hex escapes in strings", "commits": ["f37fec837"], "section": "Functions", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.8", "source_hash": "0f2dd3c24173f497cb2ad7866825c9eb337a337a31d9f0b1fb8cd683c71726b5", "section_path": ["Functions"], "commit_groups": [["f37fec837"]], "identity_text": "Add unistr() function to allow Unicode characters to be specified as backslash-hex escapes in strings (Pavel Stehule) This is similar to how Unicode can be specified in literal strings.", "commit_aliases": ["f37fec837"], "source_commits": ["f37fec837"], "source_entry_id": "14.0/changes/121", "db_id": "bfe42a949647d7a6869f62d5d9ec68c4", "patch_ids": ["26594207ffbf42dd6bdcd3f4f7973b59"], "statement_hash": "b9ea8a1f041a6e9fbbac56a63920562acbdff598c2139e13ff17f015aaa75e8e", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-1fe97760dd03080c", "cves": [], "html": "<p>Add <a href=\"/docs/14/functions-aggregate.html\" title=\"9.21. Aggregate Functions\"><code>bit_xor()</code></a> XOR aggregate function (Alexey Bashtanov) <a href=\"https://postgr.es/c/f9a0392e1\">§</a></p>", "text": "Add bit_xor() XOR aggregate function (Alexey Bashtanov) §", "title": "Add bit_xor() XOR aggregate function", "commits": ["f9a0392e1"], "section": "Functions", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.8", "source_hash": "3a84b34355c04722089ed403e980d14d323c2dbb8557f523f2a2234ae89bf9fd", "section_path": ["Functions"], "commit_groups": [["f9a0392e1"]], "identity_text": "Add bit_xor() XOR aggregate function (Alexey Bashtanov)", "commit_aliases": ["f9a0392e1"], "source_commits": ["f9a0392e1"], "source_entry_id": "14.0/changes/122", "db_id": "788e903ecc700e5529bf5757a983e4fa", "patch_ids": ["23fab42588a19cff1048c7a5abb0b000"], "statement_hash": "b3075aec3f8de161480563d2667b1706a06e7d581da8895d98e61275ca41b61b", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-c0b84c75104d70c7", "cves": [], "html": "<p>Add function <a href=\"/docs/14/functions-binarystring.html\" title=\"9.5. Binary String Functions and Operators\"><code>bit_count()</code></a> to return the number of bits set in a bit or byte string (David Fetter) <a href=\"https://postgr.es/c/a6715af1e\">§</a></p>", "text": "Add function bit_count() to return the number of bits set in a bit or byte string (David Fetter) §", "title": "Add function bit_count() to return the number of bits set in a bit or byte string", "commits": ["a6715af1e"], "section": "Functions", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.8", "source_hash": "9933900ea21f1de019a363c68485138953892b440da29d2738d580abd4b4a77b", "section_path": ["Functions"], "commit_groups": [["a6715af1e"]], "identity_text": "Add function bit_count() to return the number of bits set in a bit or byte string (David Fetter)", "commit_aliases": ["a6715af1e"], "source_commits": ["a6715af1e"], "source_entry_id": "14.0/changes/123", "db_id": "18d8dfc248612d6fb737406dcbdc632e", "patch_ids": ["09f543ec73510e71e11248aafc84020e"], "statement_hash": "26e292cac6c935aa31b12b6ab3c290c34699b1e79af3172de2359c4f6916a1da", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-e421939853e6368d", "cves": [], "html": "<p>Add <a href=\"/docs/14/functions-datetime.html#FUNCTIONS-DATETIME-BIN\" title=\"9.9.3. date_bin\"><code>date_bin()</code></a> function (John Naylor) <a href=\"https://postgr.es/c/49ab61f0b\">§</a> <a href=\"https://postgr.es/c/496e58bb0\">§</a></p>\n<p>This function <span>“<span>bins</span>”</span> input timestamps, grouping them into intervals of a uniform length aligned with a specified origin.</p>", "text": "Add date_bin() function (John Naylor) § § This function “bins” input timestamps, grouping them into intervals of a uniform length aligned with a specified origin.", "title": "Add date_bin() function", "commits": ["496e58bb0", "49ab61f0b"], "section": "Functions", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.8", "source_hash": "f70888637a47d4a1c6b04432d5fb0139e14952282e4e1ec75abdd4a5f3093b38", "section_path": ["Functions"], "commit_groups": [["496e58bb0"], ["49ab61f0b"]], "identity_text": "Add date_bin() function (John Naylor) This function bins input timestamps, grouping them into intervals of a uniform length aligned with a specified origin.", "commit_aliases": ["496e58bb0", "49ab61f0b"], "source_commits": ["496e58bb0", "49ab61f0b"], "source_entry_id": "14.0/changes/124", "db_id": "df10f249c44172b76cfae9298bb7d636", "patch_ids": ["4f38f62c50eaf9ea0f4aee433ba3c9af", "98010eccb14f067dd376613a4fe71077"], "statement_hash": "fc6b364699e28cd51613aee6b8c1012be72650dda3e994f1e7ea8b371faf42e7", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-4519b50a4782d2e3", "cves": [], "html": "<p>Allow <a href=\"/docs/14/functions-datetime.html\" title=\"9.9. Date/Time Functions and Operators\"><code>make_timestamp()</code></a>/<code>make_timestamptz()</code> to accept negative years (Peter Eisentraut) <a href=\"https://postgr.es/c/a094c8ff5\">§</a></p>\n<p>Negative values are interpreted as <code>BC</code> years.</p>", "text": "Allow make_timestamp()/make_timestamptz() to accept negative years (Peter Eisentraut) § Negative values are interpreted as BC years.", "title": "Allow make_timestamp()/make_timestamptz() to accept negative years", "commits": ["a094c8ff5"], "section": "Functions", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.8", "source_hash": "0c692b72f1f16bab686cce4ed39bec4f364f0ed50d794a93df9c3e041f6b17c0", "section_path": ["Functions"], "commit_groups": [["a094c8ff5"]], "identity_text": "Allow make_timestamp()/make_timestamptz() to accept negative years (Peter Eisentraut) Negative values are interpreted as BC years.", "commit_aliases": ["a094c8ff5"], "source_commits": ["a094c8ff5"], "source_entry_id": "14.0/changes/125", "db_id": "1f517138275a0c124e9a278f5648cf86", "patch_ids": ["b60b76f407accd1670572b19eb0956b1"], "statement_hash": "1ff8220a7346be9faa954c083ee1e62859ac25e84d61db62532af0a806864a8e", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-90c2364583786215", "cves": [], "html": "<p>Add newer regular expression <a href=\"/docs/14/functions-string.html\" title=\"9.4. String Functions and Operators\"><code>substring()</code></a> syntax (Peter Eisentraut) <a href=\"https://postgr.es/c/78c887679\">§</a></p>\n<p>The new SQL-standard syntax is <code>SUBSTRING(text SIMILAR pattern ESCAPE escapechar)</code>. The previous standard syntax was <code>SUBSTRING(text FROM pattern FOR escapechar)</code>, which is still accepted by <span>PostgreSQL</span>.</p>", "text": "Add newer regular expression substring() syntax (Peter Eisentraut) § The new SQL-standard syntax is SUBSTRING(text SIMILAR pattern ESCAPE escapechar). The previous standard syntax was SUBSTRING(text FROM pattern FOR escapechar), which is still accepted by PostgreSQL.", "title": "Add newer regular expression substring() syntax", "commits": ["78c887679"], "section": "Functions", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.8", "source_hash": "4e9f9ebb131ecf01307a3269ba060e5b8bdede3a8ab432b69c9e8a31d5b16352", "section_path": ["Functions"], "commit_groups": [["78c887679"]], "identity_text": "Add newer regular expression substring() syntax (Peter Eisentraut) The new SQL-standard syntax is SUBSTRING(text SIMILAR pattern ESCAPE escapechar). The previous standard syntax was SUBSTRING(text FROM pattern FOR escapechar), which is still accepted by PostgreSQL.", "commit_aliases": ["78c887679"], "source_commits": ["78c887679"], "source_entry_id": "14.0/changes/126", "db_id": "92f0a3e2e813413a640e7f467266479d", "patch_ids": ["4ecc2b44c86547b00fed3e34dd5d0f01"], "statement_hash": "39614327d0a5bc687b354309e206b91a7e88d17f5ef1efda1f80b02147c9b8b5", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-c54179951e40b5fc-1", "cves": [], "html": "<p>Allow complemented character class escapes <a href=\"/docs/14/functions-matching.html#POSIX-ESCAPE-SEQUENCES\" title=\"9.7.3.3. Regular Expression Escapes\">\\D</a>, <code>\\S</code>, and <code>\\W</code> within regular expression brackets (Tom Lane) <a href=\"https://postgr.es/c/2a0af7fe4\">§</a></p>", "text": "Allow complemented character class escapes \\D, \\S, and \\W within regular expression brackets (Tom Lane) §", "title": "Allow complemented character class escapes \\D, \\S, and \\W within regular expression brackets", "commits": ["2a0af7fe4"], "section": "Functions", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.8", "source_hash": "da5c6805bcaa8fe7906106af572cfceea3aa3fa630969152808c96ddaf8ae1cd", "section_path": ["Functions"], "commit_groups": [["2a0af7fe4"]], "identity_text": "Allow complemented character class escapes \\D, \\S, and \\W within regular expression brackets (Tom Lane)", "commit_aliases": ["2a0af7fe4"], "source_commits": ["2a0af7fe4"], "source_entry_id": "14.0/changes/127", "db_id": "11855fff64e4bfd4f316452868bdaf21", "patch_ids": ["a7eb1e3ebcb335443b46af32516407cc"], "statement_hash": "cf8cca9f23c8bf6c8a4b44f6b8b9fbec90d3fd24062b6383d96e7a4ee4a53b4c", "relations": [{"rule": 2, "type": "related", "target": "31b906e8faf3983c67c4ba76c9bcbe42", "evidence": {"same_day": true, "patch_ids": ["a7eb1e3ebcb335443b46af32516407cc"], "ambiguous_patch_ids": ["a7eb1e3ebcb335443b46af32516407cc"]}}, {"rule": 2, "type": "related", "target": "7cb33f40db82cf57d3f6f027f0bd7fa4", "evidence": {"same_day": true, "patch_ids": ["a7eb1e3ebcb335443b46af32516407cc"], "ambiguous_patch_ids": ["a7eb1e3ebcb335443b46af32516407cc"]}}], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": [{"db_id": "7cb33f40db82cf57d3f6f027f0bd7fa4", "kind": "related", "version": "14.0", "label": "14.0", "title": "Disallow \\w as a range start or end in regular expression character classes", "evidence": {"same_day": true, "patch_ids": ["a7eb1e3ebcb335443b46af32516407cc"], "ambiguous_patch_ids": ["a7eb1e3ebcb335443b46af32516407cc"]}, "url": "/docs/compare/?release=14.0#14.0-3b134586c815622b", "source_url": "/docs/release/14.0/#id-1.11.6.30.4"}, {"db_id": "31b906e8faf3983c67c4ba76c9bcbe42", "kind": "related", "version": "14.0", "label": "14.0", "title": "Add [[:word:]] as a regular expression character class, equivalent to \\w", "evidence": {"same_day": true, "patch_ids": ["a7eb1e3ebcb335443b46af32516407cc"], "ambiguous_patch_ids": ["a7eb1e3ebcb335443b46af32516407cc"]}, "url": "/docs/compare/?release=14.0#14.0-c54179951e40b5fc-2", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.8"}]}, {"id": "14.0-c54179951e40b5fc-2", "cves": [], "html": "<p>Add <a href=\"/docs/14/functions-matching.html#POSIX-BRACKET-EXPRESSIONS\" title=\"9.7.3.2. Bracket Expressions\"><code>[[:word:]]</code></a> as a regular expression character class, equivalent to <code>\\w</code> (Tom Lane) <a href=\"https://postgr.es/c/2a0af7fe4\">§</a></p>", "text": "Add [[:word:]] as a regular expression character class, equivalent to \\w (Tom Lane) §", "title": "Add [[:word:]] as a regular expression character class, equivalent to \\w", "commits": ["2a0af7fe4"], "section": "Functions", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.8", "source_hash": "3078e3d0af4305d271ea949360d5da35b6f5a66f797c64e5f2522c12dfe82240", "section_path": ["Functions"], "commit_groups": [["2a0af7fe4"]], "identity_text": "Add [[:word:]] as a regular expression character class, equivalent to \\w (Tom Lane)", "commit_aliases": ["2a0af7fe4"], "source_commits": ["2a0af7fe4"], "source_entry_id": "14.0/changes/128", "db_id": "31b906e8faf3983c67c4ba76c9bcbe42", "patch_ids": ["a7eb1e3ebcb335443b46af32516407cc"], "statement_hash": "5e9bdbc53adeabb63cc665287dce311bb7bcc33c8e0a3bd16179e7a890eae412", "relations": [{"rule": 2, "type": "related", "target": "11855fff64e4bfd4f316452868bdaf21", "evidence": {"same_day": true, "patch_ids": ["a7eb1e3ebcb335443b46af32516407cc"], "ambiguous_patch_ids": ["a7eb1e3ebcb335443b46af32516407cc"]}}, {"rule": 2, "type": "related", "target": "7cb33f40db82cf57d3f6f027f0bd7fa4", "evidence": {"same_day": true, "patch_ids": ["a7eb1e3ebcb335443b46af32516407cc"], "ambiguous_patch_ids": ["a7eb1e3ebcb335443b46af32516407cc"]}}], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": [{"db_id": "7cb33f40db82cf57d3f6f027f0bd7fa4", "kind": "related", "version": "14.0", "label": "14.0", "title": "Disallow \\w as a range start or end in regular expression character classes", "evidence": {"same_day": true, "patch_ids": ["a7eb1e3ebcb335443b46af32516407cc"], "ambiguous_patch_ids": ["a7eb1e3ebcb335443b46af32516407cc"]}, "url": "/docs/compare/?release=14.0#14.0-3b134586c815622b", "source_url": "/docs/release/14.0/#id-1.11.6.30.4"}, {"db_id": "11855fff64e4bfd4f316452868bdaf21", "kind": "related", "version": "14.0", "label": "14.0", "title": "Allow complemented character class escapes \\D, \\S, and \\W within regular expression brackets", "evidence": {"same_day": true, "patch_ids": ["a7eb1e3ebcb335443b46af32516407cc"], "ambiguous_patch_ids": ["a7eb1e3ebcb335443b46af32516407cc"]}, "url": "/docs/compare/?release=14.0#14.0-c54179951e40b5fc-1", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.8"}]}, {"id": "14.0-c1ccb55c77613af9", "cves": [], "html": "<p>Allow more flexible data types for default values of <a href=\"/docs/14/functions-window.html\" title=\"9.22. Window Functions\"><code>lead()</code></a> and <code>lag()</code> window functions (Vik Fearing) <a href=\"https://postgr.es/c/5c292e6b9\">§</a></p>", "text": "Allow more flexible data types for default values of lead() and lag() window functions (Vik Fearing) §", "title": "Allow more flexible data types for default values of lead() and lag() window functions", "commits": ["5c292e6b9"], "section": "Functions", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.8", "source_hash": "8c0496c7e8c3c0a8208f49c34a5d25c79baf3284bf6dc96546ce683910cd5296", "section_path": ["Functions"], "commit_groups": [["5c292e6b9"]], "identity_text": "Allow more flexible data types for default values of lead() and lag() window functions (Vik Fearing)", "commit_aliases": ["5c292e6b9"], "source_commits": ["5c292e6b9"], "source_entry_id": "14.0/changes/129", "db_id": "082c85af60515bcb6618c887e7b6b22e", "patch_ids": ["fec99da0bc8450d3eed709e34739bb49"], "statement_hash": "a426651ca2ba045de2f57ad3dae88be3628407b41978ab140e5c6599b0854b4c", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-0ad7337081d6a71d", "cves": [], "html": "<p>Make non-zero <a href=\"/docs/14/datatype-numeric.html#DATATYPE-FLOAT\" title=\"8.1.3. Floating-Point Types\">floating-point values</a> divided by infinity return zero (Kyotaro Horiguchi) <a href=\"https://postgr.es/c/fac83dbd6\">§</a></p>\n<p>Previously such operations produced underflow errors.</p>", "text": "Make non-zero floating-point values divided by infinity return zero (Kyotaro Horiguchi) § Previously such operations produced underflow errors.", "title": "Make non-zero floating-point values divided by infinity return zero", "commits": ["fac83dbd6"], "section": "Functions", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.8", "source_hash": "ebc2d65595b171c88987478f7de2595fd898aa600dbbcb97a0b98fd8b968b762", "section_path": ["Functions"], "commit_groups": [["fac83dbd6"]], "identity_text": "Make non-zero floating-point values divided by infinity return zero (Kyotaro Horiguchi) Previously such operations produced underflow errors.", "commit_aliases": ["fac83dbd6"], "source_commits": ["fac83dbd6"], "source_entry_id": "14.0/changes/130", "db_id": "685d60b983c7a30ff669d6d7133dd16a", "patch_ids": ["c3fd842805a868d959c67d784849ff4b"], "statement_hash": "a8a3d5c1e80291b198b9bfc787d8fc7dce4ed5a07ea266204b5436c648ea84f8", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-671cdc35924f5732", "cves": [], "html": "<p>Make floating-point division of NaN by zero return NaN (Tom Lane) <a href=\"https://postgr.es/c/4fb6aeb4f\">§</a></p>\n<p>Previously this returned an error.</p>", "text": "Make floating-point division of NaN by zero return NaN (Tom Lane) § Previously this returned an error.", "title": "Make floating-point division of NaN by zero return NaN", "commits": ["4fb6aeb4f"], "section": "Functions", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.8", "source_hash": "92babe35676ba81074c91da24a7354b14b32c3815bc7f1759e78097a90bd9ef5", "section_path": ["Functions"], "commit_groups": [["4fb6aeb4f"]], "identity_text": "Make floating-point division of NaN by zero return NaN (Tom Lane) Previously this returned an error.", "commit_aliases": ["4fb6aeb4f"], "source_commits": ["4fb6aeb4f"], "source_entry_id": "14.0/changes/131", "db_id": "3d8e349fe6596f5e788814991f5b88c8", "patch_ids": ["96abea7797ae412aad2cfef70ecebb68"], "statement_hash": "b5f48822d04944aa50f411e297cb6ba9d1468a227ffe4e707e3dcc1dbdaf3792", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-070ae27fe2363324", "cves": [], "html": "<p>Cause <a href=\"/docs/14/functions-math.html\" title=\"9.3. Mathematical Functions and Operators\"><code>exp()</code></a> and <code>power()</code> for negative-infinity exponents to return zero (Tom Lane) <a href=\"https://postgr.es/c/decbe2bfb\">§</a> <a href=\"https://postgr.es/c/e532b1d57\">§</a> <a href=\"https://postgr.es/c/5674eb987\">§</a></p>\n<p>Previously they often returned underflow errors.</p>", "text": "Cause exp() and power() for negative-infinity exponents to return zero (Tom Lane) § § § Previously they often returned underflow errors.", "title": "Cause exp() and power() for negative-infinity exponents to return zero", "commits": ["5674eb987", "decbe2bfb", "e532b1d57"], "section": "Functions", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.8", "source_hash": "c5532a1f6e94745431d794b6a2d0ccb5cd964fa2b12e11bdcd2400dc4b448afd", "section_path": ["Functions"], "commit_groups": [["5674eb987"], ["decbe2bfb"], ["e532b1d57"]], "identity_text": "Cause exp() and power() for negative-infinity exponents to return zero (Tom Lane) Previously they often returned underflow errors.", "commit_aliases": ["5674eb987", "decbe2bfb", "e532b1d57"], "source_commits": ["5674eb987", "decbe2bfb", "e532b1d57"], "source_entry_id": "14.0/changes/132", "db_id": "7f545583939150ff15678e1848d660ea", "patch_ids": ["1a94be85e52bb312876ba131782715d4", "c2dd9d3b0aece33f62d0ac894d19cd7c", "f4ee098ed6a5ff0841eb9d570285177d"], "statement_hash": "3896068a2d2174de31d4aa7f29e4e871e0091178af9d4fc747e0ed7f45c77ed1", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-1d4fc55487c28c7c", "cves": [], "html": "<p>Improve the accuracy of geometric computations involving infinity (Tom Lane) <a href=\"https://postgr.es/c/8597a48d0\">§</a></p>", "text": "Improve the accuracy of geometric computations involving infinity (Tom Lane) §", "title": "Improve the accuracy of geometric computations involving infinity", "commits": ["8597a48d0"], "section": "Functions", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.8", "source_hash": "2f48a7b58b175c17561abcc7a148434501c2420a5b57cba1d4a6f19bcaa2669f", "section_path": ["Functions"], "commit_groups": [["8597a48d0"]], "identity_text": "Improve the accuracy of geometric computations involving infinity (Tom Lane)", "commit_aliases": ["8597a48d0"], "source_commits": ["8597a48d0"], "source_entry_id": "14.0/changes/133", "db_id": "3b034060a12c844f0765315fd513083c", "patch_ids": ["a39c50f126aa45f4366b96bea76580a9"], "statement_hash": "3134b568ce5f6634ce83bb8998965802e5f14b22d5df07290e3133bf82a48923", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-ad76352a985df92f", "cves": [], "html": "<p>Mark built-in type coercion functions as leakproof where possible (Tom Lane) <a href=\"https://postgr.es/c/8a37951ee\">§</a></p>\n<p>This allows more use of functions that require type conversion in security-sensitive situations.</p>", "text": "Mark built-in type coercion functions as leakproof where possible (Tom Lane) § This allows more use of functions that require type conversion in security-sensitive situations.", "title": "Mark built-in type coercion functions as leakproof where possible", "commits": ["8a37951ee"], "section": "Functions", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.8", "source_hash": "1abb86d0ce4e97aa2d7bb9812c11f70028461de142ba4b612ce6067c10970be6", "section_path": ["Functions"], "commit_groups": [["8a37951ee"]], "identity_text": "Mark built-in type coercion functions as leakproof where possible (Tom Lane) This allows more use of functions that require type conversion in security-sensitive situations.", "commit_aliases": ["8a37951ee"], "source_commits": ["8a37951ee"], "source_entry_id": "14.0/changes/134", "db_id": "41f92ac4e65ced30d9cea07b78b39b47", "patch_ids": ["6c1d01418464f07a7eb80d903bd195d3"], "statement_hash": "844a849f20f9e8447f5ae69c4b95e3a0a480d42ecec1bb0934b97b831087ccde", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-e97f89aeb3176053", "cves": [], "html": "<p>Change <a href=\"/docs/14/functions-info.html\" title=\"9.26. System Information Functions and Operators\"><code>pg_describe_object()</code></a>, <code>pg_identify_object()</code>, and <code>pg_identify_object_as_address()</code> to always report helpful error messages for non-existent objects (Michael Paquier) <a href=\"https://postgr.es/c/2a10fdc43\">§</a></p>", "text": "Change pg_describe_object(), pg_identify_object(), and pg_identify_object_as_address() to always report helpful error messages for non-existent objects (Michael Paquier) §", "title": "Change pg_describe_object(), pg_identify_object(), and pg_identify_object_as_address() to always report helpful error messages for non-existent objects", "commits": ["2a10fdc43"], "section": "Functions", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.8", "source_hash": "b72bfe5319f36aed9062c18ef1fd5ecf79fbc127b9f95837e2f0993dfb4307e8", "section_path": ["Functions"], "commit_groups": [["2a10fdc43"]], "identity_text": "Change pg_describe_object(), pg_identify_object(), and pg_identify_object_as_address() to always report helpful error messages for non-existent objects (Michael Paquier)", "commit_aliases": ["2a10fdc43"], "source_commits": ["2a10fdc43"], "source_entry_id": "14.0/changes/135", "db_id": "ca11dd71deb2b5851a762a3ea807747f", "patch_ids": ["25747634dadd794cb40d7bc068587963"], "statement_hash": "f3e838220c04e994809eeb39e21806d4a502b35c8a5d7432228d9c8b03f7d740", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-fa0e71f8fd0ae8b3", "cves": [], "html": "<p>Improve PL/pgSQL's <a href=\"/docs/14/plpgsql-expressions.html\" title=\"43.4. Expressions\">expression</a> and <a href=\"/docs/14/plpgsql-statements.html#PLPGSQL-STATEMENTS-ASSIGNMENT\" title=\"43.5.1. Assignment\">assignment</a> parsing (Tom Lane) <a href=\"https://postgr.es/c/c9d529848\">§</a></p>\n<p>This change allows assignment to array slices and nested record fields.</p>", "text": "Improve PL/pgSQL's expression and assignment parsing (Tom Lane) § This change allows assignment to array slices and nested record fields.", "title": "Improve PL/pgSQL's expression and assignment parsing", "commits": ["c9d529848"], "section": "PL/pgSQL", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.9", "source_hash": "afb64b408c3c7bcb051458123f921379e81fd7b8aec946f791f8fc6c8621a45c", "section_path": ["PL/pgSQL"], "commit_groups": [["c9d529848"]], "identity_text": "Improve PL/pgSQL's expression and assignment parsing (Tom Lane) This change allows assignment to array slices and nested record fields.", "commit_aliases": ["c9d529848"], "source_commits": ["c9d529848"], "source_entry_id": "14.0/changes/136", "db_id": "a7fafd5beea87d39779f2fbaeba0e97f", "patch_ids": ["cc3748f87f2b3ec7c1e91b94e6ad57c3"], "statement_hash": "76fc77efa4529a9527e9a852ad588d8919219e5e5b2273399f17d9dfe9e2b9d5", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-27ba8247279e780e", "cves": [], "html": "<p>Allow plpgsql's <a href=\"/docs/14/plpgsql-control-structures.html\" title=\"43.6. Control Structures\"><code>RETURN QUERY</code></a> to execute its query using parallelism (Tom Lane) <a href=\"https://postgr.es/c/2f48ede08\">§</a></p>", "text": "Allow plpgsql's RETURN QUERY to execute its query using parallelism (Tom Lane) §", "title": "Allow plpgsql's RETURN QUERY to execute its query using parallelism", "commits": ["2f48ede08"], "section": "PL/pgSQL", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.9", "source_hash": "34f98d08981e25d7f7f313a54b412ba8bb3b5cc5d0cb8c31bf46ef3fb1020946", "section_path": ["PL/pgSQL"], "commit_groups": [["2f48ede08"]], "identity_text": "Allow plpgsql's RETURN QUERY to execute its query using parallelism (Tom Lane)", "commit_aliases": ["2f48ede08"], "source_commits": ["2f48ede08"], "source_entry_id": "14.0/changes/137", "db_id": "6aaf0b148a803697815fd4412dab2ef8", "patch_ids": ["9a9da6940f2a03eb7ae4bc28b5c22270"], "statement_hash": "57eb6a6742e95e4efd8c092fc657ef878d07aef9d2b257acf94c1a05ec3656a9", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-7d4c81a0d0055fb8", "cves": [], "html": "<p>Improve performance of repeated <a href=\"/docs/14/plpgsql-transactions.html\" title=\"43.8. Transaction Management\">CALL</a>s within plpgsql procedures (Pavel Stehule, Tom Lane) <a href=\"https://postgr.es/c/ee895a655\">§</a></p>", "text": "Improve performance of repeated CALLs within plpgsql procedures (Pavel Stehule, Tom Lane) §", "title": "Improve performance of repeated CALLs within plpgsql procedures", "commits": ["ee895a655"], "section": "PL/pgSQL", "category": "performance", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.9", "source_hash": "43918156dc263d2ecb220191e42eba91a48f1dc59b0d1fb8f5fdbc1fee6b71f2", "section_path": ["PL/pgSQL"], "commit_groups": [["ee895a655"]], "identity_text": "Improve performance of repeated CALLs within plpgsql procedures (Pavel Stehule, Tom Lane)", "commit_aliases": ["ee895a655"], "source_commits": ["ee895a655"], "source_entry_id": "14.0/changes/138", "db_id": "33db67c4180c430daecc80f178b2b8dd", "patch_ids": ["43f682e3b3155e3742365335766367b5"], "statement_hash": "363d61cff95a77dd070c3c5fe3a0005f0e1a92e64ee16ecf22a09cf33b3cf4ae", "relations": [], "version": "14.0", "category_label": "Performance", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-2f68fe78a3b360e7", "cves": [], "html": "<p>Add <a href=\"/docs/14/libpq-pipeline-mode.html#LIBPQ-PIPELINE-SENDING\" title=\"34.5.1.1. Issuing Queries\">pipeline</a> mode to libpq (Craig Ringer, Matthieu Garrigues, Álvaro Herrera) <a href=\"https://postgr.es/c/acb7e4eb6\">§</a></p>\n<p>This allows multiple queries to be sent, only waiting for completion when a specific synchronization message is sent.</p>", "text": "Add pipeline mode to libpq (Craig Ringer, Matthieu Garrigues, Álvaro Herrera) § This allows multiple queries to be sent, only waiting for completion when a specific synchronization message is sent.", "title": "Add pipeline mode to libpq", "commits": ["acb7e4eb6"], "section": "Client Interfaces", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.10", "source_hash": "c713583060373043979fc1218ef4efd7f6be9363463690123d49eccd9270e997", "section_path": ["Client Interfaces"], "commit_groups": [["acb7e4eb6"]], "identity_text": "Add pipeline mode to libpq (Craig Ringer, Matthieu Garrigues, Álvaro Herrera) This allows multiple queries to be sent, only waiting for completion when a specific synchronization message is sent.", "commit_aliases": ["acb7e4eb6"], "source_commits": ["acb7e4eb6"], "source_entry_id": "14.0/changes/139", "db_id": "c72a474ac6e2e0bbfda8c136a8809530", "patch_ids": ["8d5e42d8009a54459d0b7b54ffb01564"], "statement_hash": "4ef1c19966950fe5ba78e647a34711bb6ad9a4248b22d194533db4c387d2df44", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-f71a0fbd3625326c", "cves": [], "html": "<p>Enhance libpq's <a href=\"/docs/14/libpq-connect.html#LIBPQ-PARAMKEYWORDS\" title=\"34.1.2. Parameter Key Words\"><code>target_session_attrs</code></a> parameter options (Haribabu Kommi, Greg Nancarrow, Vignesh C, Tom Lane) <a href=\"https://postgr.es/c/d16f8c8e4\">§</a> <a href=\"https://postgr.es/c/ee28cacf6\">§</a></p>\n<p>The new options are <code>read-only</code>, <code>primary</code>, <code>standby</code>, and <code>prefer-standby</code>.</p>", "text": "Enhance libpq's target_session_attrs parameter options (Haribabu Kommi, Greg Nancarrow, Vignesh C, Tom Lane) § § The new options are read-only, primary, standby, and prefer-standby.", "title": "Enhance libpq's target_session_attrs parameter options", "commits": ["d16f8c8e4", "ee28cacf6"], "section": "Client Interfaces", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.10", "source_hash": "5ee435fbe82782d5a7a257c70236fc95dac77aa5afc6c152c9ebd94a59f2129b", "section_path": ["Client Interfaces"], "commit_groups": [["d16f8c8e4"], ["ee28cacf6"]], "identity_text": "Enhance libpq's target_session_attrs parameter options (Haribabu Kommi, Greg Nancarrow, Vignesh C, Tom Lane) The new options are read-only, primary, standby, and prefer-standby.", "commit_aliases": ["d16f8c8e4", "ee28cacf6"], "source_commits": ["d16f8c8e4", "ee28cacf6"], "source_entry_id": "14.0/changes/140", "db_id": "65c92a2636a1d840b49891a66502ade2", "patch_ids": ["3bf6a6363dc7d512990515c7b33d6404", "5c59caeb0135695ebd092f69869387ef"], "statement_hash": "96f3d4068fcb36238dc3350e9636ac653431be6cc77283fddfc97543441a5eb6", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-f61e8a734c06e199", "cves": [], "html": "<p>Improve the output format of libpq's <a href=\"/docs/14/libpq-control.html\" title=\"34.11. Control Functions\"><code>PQtrace()</code></a> (Aya Iwata, Álvaro Herrera) <a href=\"https://postgr.es/c/198b3716d\">§</a></p>", "text": "Improve the output format of libpq's PQtrace() (Aya Iwata, Álvaro Herrera) §", "title": "Improve the output format of libpq's PQtrace()", "commits": ["198b3716d"], "section": "Client Interfaces", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.10", "source_hash": "daf6001a7b47e2f1a02ed18f1c911f46c30c0b13c7b448bdd171eabac1ade73c", "section_path": ["Client Interfaces"], "commit_groups": [["198b3716d"]], "identity_text": "Improve the output format of libpq's PQtrace() (Aya Iwata, Álvaro Herrera)", "commit_aliases": ["198b3716d"], "source_commits": ["198b3716d"], "source_entry_id": "14.0/changes/141", "db_id": "b76fc3bfae293390885022d40c92ae91", "patch_ids": ["0a17de26d8f09a10c22ad242ff6ca6d8"], "statement_hash": "6c617f48c51df8c45e0e69c5108cfd798473621bc1be0f52466f2fbb5dd83a9e", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-7ad2c9d6708bd04c", "cves": [], "html": "<p>Allow an ECPG SQL identifier to be linked to a specific connection (Hayato Kuroda) <a href=\"https://postgr.es/c/ad8305a43\">§</a></p>\n<p>This is done via <a href=\"/docs/14/ecpg-sql-declare-statement.html\" title=\"DECLARE STATEMENT\"><code>DECLARE ... STATEMENT</code></a>.</p>", "text": "Allow an ECPG SQL identifier to be linked to a specific connection (Hayato Kuroda) § This is done via DECLARE ... STATEMENT.", "title": "Allow an ECPG SQL identifier to be linked to a specific connection", "commits": ["ad8305a43"], "section": "Client Interfaces", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.10", "source_hash": "326c10a2c026da6c0419e1df97467ae027fa58c28bcb7950e9478f678abff3df", "section_path": ["Client Interfaces"], "commit_groups": [["ad8305a43"]], "identity_text": "Allow an ECPG SQL identifier to be linked to a specific connection (Hayato Kuroda) This is done via DECLARE ... STATEMENT.", "commit_aliases": ["ad8305a43"], "source_commits": ["ad8305a43"], "source_entry_id": "14.0/changes/142", "db_id": "2df3c5530a0780e619ed16944ce6db2f", "patch_ids": ["31b0fcd2b0929c60c243abd4ae1ef9f6"], "statement_hash": "2ce7147b0e2bbd3f4d93872a2b32bbfe685f3628dea5cb5680bd4e175319c998", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-f4afcdf9d3a04aa3", "cves": [], "html": "<p>Allow <a href=\"/docs/14/app-vacuumdb.html\" title=\"vacuumdb\"><span>vacuumdb</span></a> to skip index cleanup and truncation (Nathan Bossart) <a href=\"https://postgr.es/c/9550ea302\">§</a></p>\n<p>The options are <code>--no-index-cleanup</code> and <code>--no-truncate</code>.</p>", "text": "Allow vacuumdb to skip index cleanup and truncation (Nathan Bossart) § The options are --no-index-cleanup and --no-truncate.", "title": "Allow vacuumdb to skip index cleanup and truncation", "commits": ["9550ea302"], "section": "Client Applications", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.11", "source_hash": "951aa4ab0ca2dad71a5acfe1c4d32ed8901b257d808be8e62225b976631867fb", "section_path": ["Client Applications"], "commit_groups": [["9550ea302"]], "identity_text": "Allow vacuumdb to skip index cleanup and truncation (Nathan Bossart) The options are --no-index-cleanup and --no-truncate.", "commit_aliases": ["9550ea302"], "source_commits": ["9550ea302"], "source_entry_id": "14.0/changes/143", "db_id": "62bcaec75381486db1e4a92432a360b1", "patch_ids": ["a8714c62fcff1556e4aff57929734926"], "statement_hash": "c3f6b3f0c628ba6cc3dcf70dc1fdd818f03462e1877ad298c5c8c03060cec281", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-e2ca3704ad1f3c30", "cves": [], "html": "<p>Allow <a href=\"/docs/14/app-pgdump.html\" title=\"pg_dump\"><span>pg_dump</span></a> to dump only certain extensions (Guillaume Lelarge) <a href=\"https://postgr.es/c/6568cef26\">§</a></p>\n<p>This is controlled by option <code>--extension</code>.</p>", "text": "Allow pg_dump to dump only certain extensions (Guillaume Lelarge) § This is controlled by option --extension.", "title": "Allow pg_dump to dump only certain extensions", "commits": ["6568cef26"], "section": "Client Applications", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.11", "source_hash": "673584e77529d5a8dc4ff8e1a46e2ef3100556893525897ba829c637b51c00dd", "section_path": ["Client Applications"], "commit_groups": [["6568cef26"]], "identity_text": "Allow pg_dump to dump only certain extensions (Guillaume Lelarge) This is controlled by option --extension.", "commit_aliases": ["6568cef26"], "source_commits": ["6568cef26"], "source_entry_id": "14.0/changes/144", "db_id": "883e4362480e8a07065f1547c8090530", "patch_ids": ["0fb25f6eb341a76bc20800aba3a41256"], "statement_hash": "04e8c5771c52891e75fa1b55fbb1d5458633f57d29d3aa4e6afdea40c09ed07c", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-7a42a0257881ec1d", "cves": [], "html": "<p>Add <a href=\"/docs/14/pgbench.html\" title=\"pgbench\"><span>pgbench</span></a> <code>permute()</code> function to randomly shuffle values (Fabien Coelho, Hironobu Suzuki, Dean Rasheed) <a href=\"https://postgr.es/c/6b258e3d6\">§</a></p>", "text": "Add pgbench permute() function to randomly shuffle values (Fabien Coelho, Hironobu Suzuki, Dean Rasheed) §", "title": "Add pgbench permute() function to randomly shuffle values", "commits": ["6b258e3d6"], "section": "Client Applications", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.11", "source_hash": "c5a7e41482ca2ac9c89ab8bd005c530a0e7c2692d943645133f2350a23a99794", "section_path": ["Client Applications"], "commit_groups": [["6b258e3d6"]], "identity_text": "Add pgbench permute() function to randomly shuffle values (Fabien Coelho, Hironobu Suzuki, Dean Rasheed)", "commit_aliases": ["6b258e3d6"], "source_commits": ["6b258e3d6"], "source_entry_id": "14.0/changes/145", "db_id": "eb77447998d47768c5340637f2a2fb24", "patch_ids": ["edac6eb2f0e3687124582cd6eaed69e4"], "statement_hash": "dab2ee661ac331a183752bb0f9e7d3af63410fe306f45a7eea493f84a0fa8e98", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-2694c5b0ec7220da", "cves": [], "html": "<p>Include disconnection times in the reconnection overhead measured by <span>pgbench</span> with <code>-C</code> (Yugo Nagata) <a href=\"https://postgr.es/c/d760d942c\">§</a></p>", "text": "Include disconnection times in the reconnection overhead measured by pgbench with -C (Yugo Nagata) §", "title": "Include disconnection times in the reconnection overhead measured by pgbench with -C", "commits": ["d760d942c"], "section": "Client Applications", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.11", "source_hash": "1d008fa340c3a219c7d13b8e551ad6edc4340b56cd703c297e4abf4a886d7fc5", "section_path": ["Client Applications"], "commit_groups": [["d760d942c"]], "identity_text": "Include disconnection times in the reconnection overhead measured by pgbench with -C (Yugo Nagata)", "commit_aliases": ["d760d942c"], "source_commits": ["d760d942c"], "source_entry_id": "14.0/changes/146", "db_id": "d5427ecd84c221870133476ad55a109e", "patch_ids": ["789820933920cd47618cec84f34a2bb8"], "statement_hash": "f0c0d18e22cd58374fc1d2cdf35c044d9fd511891a64e8eb824d20e23214cd6a", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-b99ade50022a68ea", "cves": [], "html": "<p>Allow multiple verbose option specifications (<code>-v</code>) to increase the logging verbosity (Tom Lane) <a href=\"https://postgr.es/c/99175141c\">§</a></p>\n<p>This behavior is supported by <a href=\"/docs/14/app-pgdump.html\" title=\"pg_dump\"><span>pg_dump</span></a>, <a href=\"/docs/14/app-pg-dumpall.html\" title=\"pg_dumpall\"><span>pg_dumpall</span></a>, and <a href=\"/docs/14/app-pgrestore.html\" title=\"pg_restore\"><span>pg_restore</span></a>.</p>", "text": "Allow multiple verbose option specifications (-v) to increase the logging verbosity (Tom Lane) § This behavior is supported by pg_dump, pg_dumpall, and pg_restore.", "title": "Allow multiple verbose option specifications (-v) to increase the logging verbosity", "commits": ["99175141c"], "section": "Client Applications", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.11", "source_hash": "0e94d9170a3dfc6557e06a17c4af3c9ef34243909f0675c4e145ac34a0aa7b05", "section_path": ["Client Applications"], "commit_groups": [["99175141c"]], "identity_text": "Allow multiple verbose option specifications (-v) to increase the logging verbosity (Tom Lane) This behavior is supported by pg_dump, pg_dumpall, and pg_restore.", "commit_aliases": ["99175141c"], "source_commits": ["99175141c"], "source_entry_id": "14.0/changes/147", "db_id": "45a41c5a0785def8ad6c7dc3de4444d5", "patch_ids": ["8e9cb00d435b0e9f8be13c159e776569"], "statement_hash": "b6e3f726cf0ed254d10045b4c7bcf5c87413ba19c1d5886ea4f46c76ccb1fcc3", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-dac65b9817b15374-1", "cves": [], "html": "<p>Allow <span>psql</span>'s <code>\\df</code> and <code>\\do</code> commands to specify function and operator argument types (Greg Sabino Mullane, Tom Lane) <a href=\"https://postgr.es/c/a3027e1e7\">§</a></p>\n<p>This helps reduce the number of matches printed for overloaded names.</p>", "text": "Allow psql's \\df and \\do commands to specify function and operator argument types (Greg Sabino Mullane, Tom Lane) § This helps reduce the number of matches printed for overloaded names.", "title": "Allow psql's \\df and \\do commands to specify function and operator argument types", "commits": ["a3027e1e7"], "section": "Client Applications / psql", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.11.3", "source_hash": "db69d15132e9b22e38f627025a42c38d936e5473f10e38ea3cc875d883721acd", "section_path": ["Client Applications", "psql"], "commit_groups": [["a3027e1e7"]], "identity_text": "Allow psql's \\df and \\do commands to specify function and operator argument types (Greg Sabino Mullane, Tom Lane) This helps reduce the number of matches printed for overloaded names.", "commit_aliases": ["a3027e1e7"], "source_commits": ["a3027e1e7"], "source_entry_id": "14.0/changes/148", "db_id": "a4fda9d7a35aba06e4d6f037a5875a61", "patch_ids": ["b5516ad5d36eb03d62cefebf100e5ded"], "statement_hash": "1b8f44f077de669f5ed4d13478cea231d0331afae794a302bca73fa5814531ca", "relations": [{"rule": 2, "type": "related", "target": "66aa0c0195a82c942aaf84c756416274", "evidence": {"same_day": true, "patch_ids": ["b5516ad5d36eb03d62cefebf100e5ded"], "ambiguous_patch_ids": ["b5516ad5d36eb03d62cefebf100e5ded"]}}], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": [{"db_id": "66aa0c0195a82c942aaf84c756416274", "kind": "related", "version": "14.0", "label": "14.0", "title": "Fix psql's \\dT to understand array syntax and backend grammar aliases, like int for integer", "evidence": {"same_day": true, "patch_ids": ["b5516ad5d36eb03d62cefebf100e5ded"], "ambiguous_patch_ids": ["b5516ad5d36eb03d62cefebf100e5ded"]}, "url": "/docs/compare/?release=14.0#14.0-dac65b9817b15374-2", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.11.3"}]}, {"id": "14.0-7490a132ce18953e", "cves": [], "html": "<p>Add an access method column to <span>psql</span>'s <code>\\d[i|m|t]+</code> output (Georgios Kokolatos) <a href=\"https://postgr.es/c/07f386ede\">§</a></p>", "text": "Add an access method column to psql's \\d[i|m|t]+ output (Georgios Kokolatos) §", "title": "Add an access method column to psql's \\d[i|m|t]+ output", "commits": ["07f386ede"], "section": "Client Applications / psql", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.11.3", "source_hash": "faed29f28150381198642e5e794c179057e31e8b0d2989ec73f7743f85fd0ee3", "section_path": ["Client Applications", "psql"], "commit_groups": [["07f386ede"]], "identity_text": "Add an access method column to psql's \\d[i|m|t]+ output (Georgios Kokolatos)", "commit_aliases": ["07f386ede"], "source_commits": ["07f386ede"], "source_entry_id": "14.0/changes/149", "db_id": "08238cbd16c1433af7110c4ac534a490", "patch_ids": ["d94ff6fdf7126f0ade1a578c28a4f94b"], "statement_hash": "9b7b98908d6cfc3fef647e6ff95a30a9fb0cc4262eb1b33a030f3e7f08cbf228", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-d466142bddd904e6", "cves": [], "html": "<p>Allow <span>psql</span>'s <code>\\dt</code> and <code>\\di</code> to show <acronym>TOAST</acronym> tables and their indexes (Justin Pryzby) <a href=\"https://postgr.es/c/7d80441d2\">§</a></p>", "text": "Allow psql's \\dt and \\di to show TOAST tables and their indexes (Justin Pryzby) §", "title": "Allow psql's \\dt and \\di to show TOAST tables and their indexes", "commits": ["7d80441d2"], "section": "Client Applications / psql", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.11.3", "source_hash": "f88d864778970a689e919180cdba07d585b31aa8729156be44a7b9c1888e0e0c", "section_path": ["Client Applications", "psql"], "commit_groups": [["7d80441d2"]], "identity_text": "Allow psql's \\dt and \\di to show TOAST tables and their indexes (Justin Pryzby)", "commit_aliases": ["7d80441d2"], "source_commits": ["7d80441d2"], "source_entry_id": "14.0/changes/150", "db_id": "3d980471873fffe3a49317b2367ae5f0", "patch_ids": ["3951e04e02a981703c757ed4866c0c93"], "statement_hash": "b070796064514b56f985f7a2c8e9315a97bac88adef214c1c84675d9a704a0ed", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-844a9c88ce874ea2", "cves": [], "html": "<p>Add <span>psql</span> command <code>\\dX</code> to list extended statistics objects (Tatsuro Yamada) <a href=\"https://postgr.es/c/ad600bba0\">§</a></p>", "text": "Add psql command \\dX to list extended statistics objects (Tatsuro Yamada) §", "title": "Add psql command \\dX to list extended statistics objects", "commits": ["ad600bba0"], "section": "Client Applications / psql", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.11.3", "source_hash": "a7b07b69238e1137a37621a79a8d411db28f191214484d8dfaeef0023625947a", "section_path": ["Client Applications", "psql"], "commit_groups": [["ad600bba0"]], "identity_text": "Add psql command \\dX to list extended statistics objects (Tatsuro Yamada)", "commit_aliases": ["ad600bba0"], "source_commits": ["ad600bba0"], "source_entry_id": "14.0/changes/151", "db_id": "67aa66fcf5c6948295873ef5d0ce8962", "patch_ids": ["5ac4980da9262c65cca6ee8c21c89a21"], "statement_hash": "d6373c61e73976bc472b6b5e9804ccd0c273c449912079db6b54b0e26e9153b5", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-dac65b9817b15374-2", "cves": [], "html": "<p>Fix <span>psql</span>'s <code>\\dT</code> to understand array syntax and backend grammar aliases, like <code>int</code> for <code>integer</code> (Greg Sabino Mullane, Tom Lane) <a href=\"https://postgr.es/c/a3027e1e7\">§</a></p>", "text": "Fix psql's \\dT to understand array syntax and backend grammar aliases, like int for integer (Greg Sabino Mullane, Tom Lane) §", "title": "Fix psql's \\dT to understand array syntax and backend grammar aliases, like int for integer", "commits": ["a3027e1e7"], "section": "Client Applications / psql", "category": "bugfix", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.11.3", "source_hash": "33a7cf5145180672f2064456f159663bddb3eee845ace3d0b2e5bbf2148b01ed", "section_path": ["Client Applications", "psql"], "commit_groups": [["a3027e1e7"]], "identity_text": "Fix psql's \\dT to understand array syntax and backend grammar aliases, like int for integer (Greg Sabino Mullane, Tom Lane)", "commit_aliases": ["a3027e1e7"], "source_commits": ["a3027e1e7"], "source_entry_id": "14.0/changes/152", "db_id": "66aa0c0195a82c942aaf84c756416274", "patch_ids": ["b5516ad5d36eb03d62cefebf100e5ded"], "statement_hash": "1a3bb4f5eeee72c0b61836e23f02e77ff76d2e19f018307e4518aca366134a97", "relations": [{"rule": 2, "type": "related", "target": "a4fda9d7a35aba06e4d6f037a5875a61", "evidence": {"same_day": true, "patch_ids": ["b5516ad5d36eb03d62cefebf100e5ded"], "ambiguous_patch_ids": ["b5516ad5d36eb03d62cefebf100e5ded"]}}], "version": "14.0", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "a4fda9d7a35aba06e4d6f037a5875a61", "kind": "related", "version": "14.0", "label": "14.0", "title": "Allow psql's \\df and \\do commands to specify function and operator argument types", "evidence": {"same_day": true, "patch_ids": ["b5516ad5d36eb03d62cefebf100e5ded"], "ambiguous_patch_ids": ["b5516ad5d36eb03d62cefebf100e5ded"]}, "url": "/docs/compare/?release=14.0#14.0-dac65b9817b15374-1", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.11.3"}]}, {"id": "14.0-13ba988cfbe631d7", "cves": [], "html": "<p>When editing the previous query or a file with <span>psql</span>'s <code>\\e</code>, or using <code>\\ef</code> and <code>\\ev</code>, ignore the results if the editor exits without saving (Laurenz Albe) <a href=\"https://postgr.es/c/55873a00e\">§</a></p>\n<p>Previously, such edits would load the previous query into the query buffer, and typically execute it immediately. This was deemed to be probably not what the user wants.</p>", "text": "When editing the previous query or a file with psql's \\e, or using \\ef and \\ev, ignore the results if the editor exits without saving (Laurenz Albe) § Previously, such edits would load the previous query into the query buffer, and typically execute it immediately. This was deemed to be probably not what the user wants.", "title": "When editing the previous query or a file with psql's \\e, or using \\ef and \\ev, ignore the results if the editor exits without saving", "commits": ["55873a00e"], "section": "Client Applications / psql", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.11.3", "source_hash": "d47bde6f516ac79fd2efde38a914d7563fcb64311b948c1520df33a2e8df3723", "section_path": ["Client Applications", "psql"], "commit_groups": [["55873a00e"]], "identity_text": "When editing the previous query or a file with psql's \\e, or using \\ef and \\ev, ignore the results if the editor exits without saving (Laurenz Albe) Previously, such edits would load the previous query into the query buffer, and typically execute it immediately. This was deemed to be probably not what the user wants.", "commit_aliases": ["55873a00e"], "source_commits": ["55873a00e"], "source_entry_id": "14.0/changes/153", "db_id": "4cd8f621c01721fccd6a2fdf1627b6b9", "patch_ids": ["79bcedbd40460747196fa951ad2ff284"], "statement_hash": "9cad4605287f9a3867ec52752142a5737dd226fa8473049a48bd4ddb6d2d0a7d", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-6b91751e88ac5aeb", "cves": [], "html": "<p>Improve tab completion (Vignesh C, Michael Paquier, Justin Pryzby, Georgios Kokolatos, Julien Rouhaud) <a href=\"https://postgr.es/c/c273d9d8c\">§</a> <a href=\"https://postgr.es/c/f1af75c5f\">§</a> <a href=\"https://postgr.es/c/1f75b4541\">§</a> <a href=\"https://postgr.es/c/7307df16a\">§</a> <a href=\"https://postgr.es/c/0baf82fa0\">§</a> <a href=\"https://postgr.es/c/0b46e82c0\">§</a> <a href=\"https://postgr.es/c/bf0aa7c4b\">§</a> <a href=\"https://postgr.es/c/3f238b882\">§</a> <a href=\"https://postgr.es/c/e1c02d92a\">§</a> <a href=\"https://postgr.es/c/e6b8e83b9\">§</a> <a href=\"https://postgr.es/c/5bc09a747\">§</a> <a href=\"https://postgr.es/c/6b40d9bdb\">§</a> <a href=\"https://postgr.es/c/5b2266e33\">§</a> <a href=\"https://postgr.es/c/d1fcbde57\">§</a> <a href=\"https://postgr.es/c/81e094bdf\">§</a> <a href=\"https://postgr.es/c/22b2dec31\">§</a> <a href=\"https://postgr.es/c/6dd1042ed\">§</a> <a href=\"https://postgr.es/c/1906cc07d\">§</a></p>", "text": "Improve tab completion (Vignesh C, Michael Paquier, Justin Pryzby, Georgios Kokolatos, Julien Rouhaud) § § § § § § § § § § § § § § § § § §", "title": "Improve tab completion", "commits": ["0b46e82c0", "0baf82fa0", "1906cc07d", "1f75b4541", "22b2dec31", "3f238b882", "5b2266e33", "5bc09a747", "6b40d9bdb", "6dd1042ed", "7307df16a", "81e094bdf", "bf0aa7c4b", "c273d9d8c", "d1fcbde57", "e1c02d92a", "e6b8e83b9", "f1af75c5f"], "section": "Client Applications / psql", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.11.3", "source_hash": "e35a7a33d8b36ae3b584452f858d01e080992a90b5eb909415972e6478847ee2", "section_path": ["Client Applications", "psql"], "commit_groups": [["0b46e82c0"], ["0baf82fa0"], ["1906cc07d"], ["1f75b4541"], ["22b2dec31"], ["3f238b882"], ["5b2266e33"], ["5bc09a747"], ["6b40d9bdb"], ["6dd1042ed"], ["7307df16a"], ["81e094bdf"], ["bf0aa7c4b"], ["c273d9d8c"], ["d1fcbde57"], ["e1c02d92a"], ["e6b8e83b9"], ["f1af75c5f"]], "identity_text": "Improve tab completion (Vignesh C, Michael Paquier, Justin Pryzby, Georgios Kokolatos, Julien Rouhaud)", "commit_aliases": ["0b46e82c0", "0baf82fa0", "1906cc07d", "1f75b4541", "22b2dec31", "3f238b882", "5b2266e33", "5bc09a747", "6b40d9bdb", "6dd1042ed", "7307df16a", "81e094bdf", "bf0aa7c4b", "c273d9d8c", "d1fcbde57", "e1c02d92a", "e6b8e83b9", "f1af75c5f"], "source_commits": ["0b46e82c0", "0baf82fa0", "1906cc07d", "1f75b4541", "22b2dec31", "3f238b882", "5b2266e33", "5bc09a747", "6b40d9bdb", "6dd1042ed", "7307df16a", "81e094bdf", "bf0aa7c4b", "c273d9d8c", "d1fcbde57", "e1c02d92a", "e6b8e83b9", "f1af75c5f"], "source_entry_id": "14.0/changes/154", "db_id": "def03cbe9f62e255ae7c56b34c2cf4cf", "patch_ids": ["19c2e452f31c1f78bc30cee626d4e046", "1f78fefb97826f3f0984edc343755a1a", "2250160b56c4a0c82c9ffe177f4311ab", "47832978418033aa0c6d9b6295f5f86b", "4bd6ec5e5fe752e213462883f036712a", "5fb0e1380cee165e6b9b7c2c188452fd", "5ff2d49a10ee28fd88b14916e9c11744", "72e676a91f781a19e462d153ba741774", "8084231ccbbc0ed77c1fbc85ccf7b5cb", "889c0bddf420b6e65241efe013b7d831", "976f50b8a2abb94a1afba60e9c464da5", "a8c7983cde9cb3727dd35f3d4ef2c77a", "a952e7cdac244ed3009ca418a217adb6", "c482e1e400896510d1d01eee6b06e17a", "c6ced02cc4e046d34e4343b93facca5a", "c9203c3195b93f33f60c65323ace0c07", "dd0bf60d07c849aee8e9f35e9c808a9b", "f45a47bc027261885f5b2c4cc7b16504"], "statement_hash": "747f43354171f2f3e1a528acfa1abd231e4fcafedf85eb38a9e5ff90617a8f59", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-8241055d9d58fdb9", "cves": [], "html": "<p>Add command-line utility <a href=\"/docs/14/app-pgamcheck.html\" title=\"pg_amcheck\"><span>pg_amcheck</span></a> to simplify running <code>contrib/amcheck</code> tests on many relations (Mark Dilger) <a href=\"https://postgr.es/c/970609283\">§</a></p>", "text": "Add command-line utility pg_amcheck to simplify running contrib/amcheck tests on many relations (Mark Dilger) §", "title": "Add command-line utility pg_amcheck to simplify running contrib/amcheck tests on many relations", "commits": ["970609283"], "section": "Server Applications", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.12", "source_hash": "25024b09c866ea4904e1833f0bf16146d7e1afac6f4c4f152e1a07fb41888c60", "section_path": ["Server Applications"], "commit_groups": [["970609283"]], "identity_text": "Add command-line utility pg_amcheck to simplify running contrib/amcheck tests on many relations (Mark Dilger)", "commit_aliases": ["970609283"], "source_commits": ["970609283"], "source_entry_id": "14.0/changes/155", "db_id": "ef252ac122b7272924161bb70439ff12", "patch_ids": ["c0ebacf03debdb56abfe20345624c892"], "statement_hash": "4f2dc0563aeb5932719e1e083bd4341349c864ccd48a7bd01d672c89ca4ac2a2", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-04170f98ce8e014d", "cves": [], "html": "<p>Add <code>--no-instructions</code> option to <a href=\"/docs/14/app-initdb.html\" title=\"initdb\"><span>initdb</span></a> (Magnus Hagander) <a href=\"https://postgr.es/c/e09155bd6\">§</a></p>\n<p>This suppresses the server startup instructions that are normally printed.</p>", "text": "Add --no-instructions option to initdb (Magnus Hagander) § This suppresses the server startup instructions that are normally printed.", "title": "Add --no-instructions option to initdb", "commits": ["e09155bd6"], "section": "Server Applications", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.12", "source_hash": "f7e023ba6f034e8014617fcb64220e8be5b548d3ef8eaab02ea32b8fc686f54e", "section_path": ["Server Applications"], "commit_groups": [["e09155bd6"]], "identity_text": "Add --no-instructions option to initdb (Magnus Hagander) This suppresses the server startup instructions that are normally printed.", "commit_aliases": ["e09155bd6"], "source_commits": ["e09155bd6"], "source_entry_id": "14.0/changes/156", "db_id": "b10a3994c55a0e7ae07e75b782d258c3", "patch_ids": ["f453502148da3386d0c9fdb0af18fc8d"], "statement_hash": "da029cc4fced07b4a5c84a822a5d893027d6bb212a73879cde7bf4c5dd80b002", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-94e2d103ca086da6", "cves": [], "html": "<p>Stop <a href=\"/docs/14/pgupgrade.html\" title=\"pg_upgrade\"><span>pg_upgrade</span></a> from creating <code>analyze_new_cluster</code> script (Magnus Hagander) <a href=\"https://postgr.es/c/8f113698b\">§</a></p>\n<p>Instead, give comparable <a href=\"/docs/14/app-vacuumdb.html\" title=\"vacuumdb\"><span>vacuumdb</span></a> instructions.</p>", "text": "Stop pg_upgrade from creating analyze_new_cluster script (Magnus Hagander) § Instead, give comparable vacuumdb instructions.", "title": "Stop pg_upgrade from creating analyze_new_cluster script", "commits": ["8f113698b"], "section": "Server Applications", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.12", "source_hash": "dc38b1f9d5ec318e8423b52333fe8291f7f6cefba503d373c89f514b55ac2fee", "section_path": ["Server Applications"], "commit_groups": [["8f113698b"]], "identity_text": "Stop pg_upgrade from creating analyze_new_cluster script (Magnus Hagander) Instead, give comparable vacuumdb instructions.", "commit_aliases": ["8f113698b"], "source_commits": ["8f113698b"], "source_entry_id": "14.0/changes/157", "db_id": "41addd2e60211cb0aa294ff65760eee6", "patch_ids": ["4eee81499f4dc0b940909fb4e77a231e"], "statement_hash": "7f173acea9b51d03c420511fb7e9506e04f2fba53ee429dfc6174ff9bf1f0723", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-25e6fada62b79ef2", "cves": [], "html": "<p>Remove support for the <a href=\"/docs/14/app-postgres.html\" title=\"postgres\"><span>postmaster</span></a> <code>-o</code> option (Magnus Hagander) <a href=\"https://postgr.es/c/d2e4bf688\">§</a></p>\n<p>This option was unnecessary since all passed options could already be specified directly.</p>", "text": "Remove support for the postmaster -o option (Magnus Hagander) § This option was unnecessary since all passed options could already be specified directly.", "title": "Remove support for the postmaster -o option", "commits": ["d2e4bf688"], "section": "Server Applications", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.12", "source_hash": "4682c95be698cc8f23770836edf5e5d42726cdbfc5f63aae6ed0c3fd482be429", "section_path": ["Server Applications"], "commit_groups": [["d2e4bf688"]], "identity_text": "Remove support for the postmaster -o option (Magnus Hagander) This option was unnecessary since all passed options could already be specified directly.", "commit_aliases": ["d2e4bf688"], "source_commits": ["d2e4bf688"], "source_entry_id": "14.0/changes/158", "db_id": "07cc094c093e7de4ce5dd108b0e5fccd", "patch_ids": ["81149a51739bfd9045424e93c07b2cf3"], "statement_hash": "2299068769a0aae88d25c13f21a1bb0757ab8f7146eb45999767984709673eca", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-130ecbf2e7e1e0ec", "cves": [], "html": "<p>Rename \"Default Roles\" to <a href=\"/docs/14/predefined-roles.html\" title=\"22.5. Predefined Roles\">\"Predefined Roles\"</a> (Bruce Momjian, Stephen Frost) <a href=\"https://postgr.es/c/c9c41c7a3\">§</a></p>", "text": "Rename \"Default Roles\" to \"Predefined Roles\" (Bruce Momjian, Stephen Frost) §", "title": "Rename \"Default Roles\" to \"Predefined Roles\"", "commits": ["c9c41c7a3"], "section": "Documentation", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.13", "source_hash": "503784be175c69bf9e58f0fbf4d91ccb3ec4a820539ebe0dd4f66db37415d729", "section_path": ["Documentation"], "commit_groups": [["c9c41c7a3"]], "identity_text": "Rename \"Default Roles\" to \"Predefined Roles\" (Bruce Momjian, Stephen Frost)", "commit_aliases": ["c9c41c7a3"], "source_commits": ["c9c41c7a3"], "source_entry_id": "14.0/changes/159", "db_id": "0cb09430a0fb79fa473dd4194016aae3", "patch_ids": ["63c92850339b6965a1dcc15d0ff0bdbf"], "statement_hash": "aa88a38e8c5c0c33fed73a32c4e512bcd583a8f8b06137d26959f0fd397305a1", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-54c7d360a528e2ae", "cves": [], "html": "<p>Add documentation for the <a href=\"/docs/14/functions-math.html#FUNCTION-FACTORIAL\"><code>factorial()</code></a> function (Peter Eisentraut) <a href=\"https://postgr.es/c/4c5cf5431\">§</a></p>\n<p>With the removal of the ! operator in this release, <code>factorial()</code> is the only built-in way to compute a factorial.</p>", "text": "Add documentation for the factorial() function (Peter Eisentraut) § With the removal of the ! operator in this release, factorial() is the only built-in way to compute a factorial.", "title": "Add documentation for the factorial() function", "commits": ["4c5cf5431"], "section": "Documentation", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.13", "source_hash": "c0a2769aa450329505a03f1df02dd369b5e49af308c9a1cf29fda53812ae2408", "section_path": ["Documentation"], "commit_groups": [["4c5cf5431"]], "identity_text": "Add documentation for the factorial() function (Peter Eisentraut) With the removal of the ! operator in this release, factorial() is the only built-in way to compute a factorial.", "commit_aliases": ["4c5cf5431"], "source_commits": ["4c5cf5431"], "source_entry_id": "14.0/changes/160", "db_id": "c036a6ed8a104844703846c614022fbe", "patch_ids": ["429d7ca14629576f20ecc0b25c6d353f"], "statement_hash": "4e1a3a9cbe96cadedbbbecf3dc4bf1a530ad25bd37d03f695840d874eb2efa03", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-a5aa8c1f6634ff3d", "cves": [], "html": "<p>Add configure option <a href=\"/docs/14/install-procedure.html#CONFIGURE-OPTIONS-FEATURES\" title=\"17.4.1.2. PostgreSQL Features\"><code>--with-ssl={openssl}</code></a> to allow future choice of the SSL library to use (Daniel Gustafsson, Michael Paquier) <a href=\"https://postgr.es/c/fe61df7f8\">§</a></p>\n<p>The spelling <code>--with-openssl</code> is kept for compatibility.</p>", "text": "Add configure option --with-ssl={openssl} to allow future choice of the SSL library to use (Daniel Gustafsson, Michael Paquier) § The spelling --with-openssl is kept for compatibility.", "title": "Add configure option --with-ssl={openssl} to allow future choice of the SSL library to use", "commits": ["fe61df7f8"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.14", "source_hash": "91a6cf99a3749a05051aa6343ed017a621737f1913bf70e2283f387bf2333cbb", "section_path": ["Source Code"], "commit_groups": [["fe61df7f8"]], "identity_text": "Add configure option --with-ssl={openssl} to allow future choice of the SSL library to use (Daniel Gustafsson, Michael Paquier) The spelling --with-openssl is kept for compatibility.", "commit_aliases": ["fe61df7f8"], "source_commits": ["fe61df7f8"], "source_entry_id": "14.0/changes/161", "db_id": "7fd05dcd14d4ba6af063ba52cdb77f06", "patch_ids": ["442ac98acd0e3848d145a6a016642a6f"], "statement_hash": "d83b645e69e73e077a9c0070e02a7aa9019c38200c95979aa27321cca288b2a4", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-d9b672fcc3413ffe", "cves": [], "html": "<p>Add support for <a href=\"/docs/14/runtime-config-connection.html#GUC-UNIX-SOCKET-DIRECTORIES\">abstract Unix-domain sockets</a> (Peter Eisentraut) <a href=\"https://postgr.es/c/c9f0624bc\">§</a></p>\n<p>This is currently supported on <span>Linux</span> and <span>Windows</span>.</p>", "text": "Add support for abstract Unix-domain sockets (Peter Eisentraut) § This is currently supported on Linux and Windows.", "title": "Add support for abstract Unix-domain sockets", "commits": ["c9f0624bc"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.14", "source_hash": "a12f683b977a45c5b7f27c52838c2bbde40b994ea8f58d931476ef5d473b01cd", "section_path": ["Source Code"], "commit_groups": [["c9f0624bc"]], "identity_text": "Add support for abstract Unix-domain sockets (Peter Eisentraut) This is currently supported on Linux and Windows.", "commit_aliases": ["c9f0624bc"], "source_commits": ["c9f0624bc"], "source_entry_id": "14.0/changes/162", "db_id": "6ced47e07ddfc1177f31b894a30e87d5", "patch_ids": ["255f06d52b29b2fc6c09c9f64466a7bf"], "statement_hash": "2ffadc53ab04d858481736116531cf829e576f1a313eaa114f65db9848757d73", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-edcf6d362b87e066", "cves": [], "html": "<p>Allow Windows to properly handle files larger than four gigabytes (Juan José Santamaría Flecha) <a href=\"https://postgr.es/c/bed90759f\">§</a></p>\n<p>For example this allows <a href=\"/docs/14/sql-copy.html\" title=\"COPY\"><code>COPY,</code></a> <a href=\"/docs/14/install-procedure.html#CONFIGURE-OPTIONS-MISC\" title=\"17.4.1.5. Miscellaneous\"><acronym>WAL</acronym></a> files, and relation segment files to be larger than four gigabytes.</p>", "text": "Allow Windows to properly handle files larger than four gigabytes (Juan José Santamaría Flecha) § For example this allows COPY, WAL files, and relation segment files to be larger than four gigabytes.", "title": "Allow Windows to properly handle files larger than four gigabytes", "commits": ["bed90759f"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.14", "source_hash": "876d69f0523a8396d2beb8a8bb9cfd67185f8de8103193944c4abd96ff7e55b7", "section_path": ["Source Code"], "commit_groups": [["bed90759f"]], "identity_text": "Allow Windows to properly handle files larger than four gigabytes (Juan José Santamaría Flecha) For example this allows COPY, WAL files, and relation segment files to be larger than four gigabytes.", "commit_aliases": ["bed90759f"], "source_commits": ["bed90759f"], "source_entry_id": "14.0/changes/163", "db_id": "355e5deb15b158b78554e356f2b609fd", "patch_ids": ["98fb9f1c4ac1e7b8092df211e73c338d"], "statement_hash": "b2bf54329f391d238fa2709add0fdb4b5c7fa07de6c643911b923611d58340ed", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-e80ea3478115e1cf", "cves": [], "html": "<p>Add server parameter <a href=\"/docs/14/runtime-config-developer.html#GUC-DEBUG-DISCARD-CACHES\">debug_discard_caches</a> to control cache flushing for test purposes (Craig Ringer) <a href=\"https://postgr.es/c/4656e3d66\">§</a> <a href=\"https://postgr.es/c/d04770801\">§</a> <a href=\"https://postgr.es/c/6201fa3c1\">§</a></p>\n<p>Previously this behavior could only be set at compile time. To invoke it during <span>initdb</span>, use the new option <code>--discard-caches</code>.</p>", "text": "Add server parameter debug_discard_caches to control cache flushing for test purposes (Craig Ringer) § § § Previously this behavior could only be set at compile time. To invoke it during initdb, use the new option --discard-caches.", "title": "Add server parameter debug_discard_caches to control cache flushing for test purposes", "commits": ["4656e3d66", "6201fa3c1", "d04770801"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.14", "source_hash": "9004bf9a657027d2e1c6f96a344adebcb2cc7673b0d26c9a272f586b08418808", "section_path": ["Source Code"], "commit_groups": [["4656e3d66"], ["6201fa3c1"], ["d04770801"]], "identity_text": "Add server parameter guc-debug-discard-caches to control cache flushing for test purposes (Craig Ringer) Previously this behavior could only be set at compile time. To invoke it during initdb, use the new option --discard-caches.", "commit_aliases": ["4656e3d66", "6201fa3c1", "d04770801"], "source_commits": ["4656e3d66", "6201fa3c1", "d04770801"], "source_entry_id": "14.0/changes/164", "db_id": "99d6a18986bda104a24824b31e1f8b82", "patch_ids": ["84502cb37de3cf7d175b60bc01eb4336", "c0b02fece1200532e05e8afed52d5d1c", "df3eb1f6db9451cb6b8d6d3b082bd7b2"], "statement_hash": "db0be5d5f23a3fa4726c9b0bd9ae45165275c1a3a7649bd5721ae6fe272478ab", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-0fb34ab77d5ba9ca", "cves": [], "html": "<p>Various improvements in <span>valgrind</span> error detection ability (Álvaro Herrera, Peter Geoghegan) <a href=\"https://postgr.es/c/1e0dfd166\">§</a> <a href=\"https://postgr.es/c/46ef520b9\">§</a> <a href=\"https://postgr.es/c/a766d6ca2\">§</a></p>", "text": "Various improvements in valgrind error detection ability (Álvaro Herrera, Peter Geoghegan) § § §", "title": "Various improvements in valgrind error detection ability", "commits": ["1e0dfd166", "46ef520b9", "a766d6ca2"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.14", "source_hash": "0edbe917a896beaa661a426f7d94f60bda728ac1fab688b19241464c988495d5", "section_path": ["Source Code"], "commit_groups": [["1e0dfd166"], ["46ef520b9"], ["a766d6ca2"]], "identity_text": "Various improvements in valgrind error detection ability (Álvaro Herrera, Peter Geoghegan)", "commit_aliases": ["1e0dfd166", "46ef520b9", "a766d6ca2"], "source_commits": ["1e0dfd166", "46ef520b9", "a766d6ca2"], "source_entry_id": "14.0/changes/165", "db_id": "1709d0b10993acf05f6f1db2296814da", "patch_ids": ["31d2637c0ee7b1bfa99376d5c00ea251", "7b852bec390d61b95fd8b66de0ed4d4a", "a0d92565e0236a336d707a7ac63096ba"], "statement_hash": "8bf42bf1f8e3fa4cefff3666e03463cf83396d121d582a111075f74c2e9961a1", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-21075be97d42a33f", "cves": [], "html": "<p>Add a test module for the regular expression package (Tom Lane) <a href=\"https://postgr.es/c/ca8217c10\">§</a></p>", "text": "Add a test module for the regular expression package (Tom Lane) §", "title": "Add a test module for the regular expression package", "commits": ["ca8217c10"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.14", "source_hash": "7b60d191bfb6f155cce5fe51dd35695dedf078533e25435c07cc4c2683b14db5", "section_path": ["Source Code"], "commit_groups": [["ca8217c10"]], "identity_text": "Add a test module for the regular expression package (Tom Lane)", "commit_aliases": ["ca8217c10"], "source_commits": ["ca8217c10"], "source_entry_id": "14.0/changes/166", "db_id": "5cc75d4bb574b4be88656def8b3f443f", "patch_ids": ["05bdfb35fda8b9db98a765acb47dcfe9"], "statement_hash": "d5cfab2f5d525e10c64824661b52aa14131387c4cc3e746f74b8c7717ce5bf65", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-3ef61bd8dfaf8c16", "cves": [], "html": "<p>Add support for <span>LLVM</span> version 12 (Andres Freund) <a href=\"https://postgr.es/c/6c57f2ed1\">§</a></p>", "text": "Add support for LLVM version 12 (Andres Freund) §", "title": "Add support for LLVM version 12", "commits": ["6c57f2ed1"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.14", "source_hash": "6433da198694b598db2dcaebf2d8934b700afd627910631a4e668f416c426307", "section_path": ["Source Code"], "commit_groups": [["6a192c77d", "6c57f2ed1", "90eb343ef", "fa7a52fb9"]], "identity_text": "Add support for LLVM version 12 (Andres Freund)", "commit_aliases": ["6a192c77d", "6c57f2ed1", "90eb343ef", "fa7a52fb9"], "source_commits": ["6c57f2ed1"], "source_entry_id": "14.0/changes/167", "db_id": "953eea49ea13be68e1ba18f192f409e3", "patch_ids": ["6873195cd38f6166a1b0f007a1b9d943"], "statement_hash": "815cbfc3e6a46149a2cb7081af440cff96b7fab7425c54ef62277ca524793e90", "relations": [{"rule": 2, "type": "related", "target": "04eea6763c68cc0f210cb5d49d7f9a45", "evidence": {"same_day": false, "patch_ids": ["6873195cd38f6166a1b0f007a1b9d943"]}}, {"rule": 2, "type": "related", "target": "aed82f7d691f0c4b2650925d9b422ec1", "evidence": {"same_day": false, "patch_ids": ["6873195cd38f6166a1b0f007a1b9d943"]}}, {"rule": 2, "type": "related", "target": "fff2593fb3db34e7d28cf52cad770917", "evidence": {"same_day": false, "patch_ids": ["6873195cd38f6166a1b0f007a1b9d943"]}}], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": [{"db_id": "fff2593fb3db34e7d28cf52cad770917", "kind": "related", "version": "13.2", "label": "13.2", "title": "Fix JIT compilation to be compatible with LLVM 11 and LLVM 12", "evidence": {"same_day": false, "patch_ids": ["6873195cd38f6166a1b0f007a1b9d943"]}, "url": "/docs/compare/?release=13.2#13.2-214b09fcfe776ff6", "source_url": "/docs/release/13.2/#id-1.11.6.27.5"}, {"db_id": "04eea6763c68cc0f210cb5d49d7f9a45", "kind": "related", "version": "12.6", "label": "12.6", "title": "Fix JIT compilation to be compatible with LLVM 11 and LLVM 12", "evidence": {"same_day": false, "patch_ids": ["6873195cd38f6166a1b0f007a1b9d943"]}, "url": "/docs/compare/?release=12.6#12.6-3d21210372887692", "source_url": "/docs/release/12.6/#id-1.11.6.22.5"}, {"db_id": "aed82f7d691f0c4b2650925d9b422ec1", "kind": "related", "version": "11.11", "label": "11.11", "title": "Fix JIT compilation to be compatible with LLVM 11 and LLVM 12", "evidence": {"same_day": false, "patch_ids": ["6873195cd38f6166a1b0f007a1b9d943"]}, "url": "/docs/compare/?release=11.11#11.11-90ab23b3636d2482", "source_url": "/docs/release/11.11/#id-1.11.6.16.5"}]}, {"id": "14.0-cbbc871aa33cc304", "cves": [], "html": "<p>Change SHA1, SHA2, and MD5 hash computations to use the <span>OpenSSL</span> <acronym>EVP API</acronym> (Michael Paquier) <a href=\"https://postgr.es/c/4f48a6fbe\">§</a> <a href=\"https://postgr.es/c/b67b57a96\">§</a> <a href=\"https://postgr.es/c/a8ed6bb8f\">§</a> <a href=\"https://postgr.es/c/e6bdfd970\">§</a></p>\n<p>This is more modern and supports <acronym>FIPS</acronym> mode.</p>", "text": "Change SHA1, SHA2, and MD5 hash computations to use the OpenSSL EVP API (Michael Paquier) § § § § This is more modern and supports FIPS mode.", "title": "Change SHA1, SHA2, and MD5 hash computations to use the OpenSSL EVP API", "commits": ["4f48a6fbe", "a8ed6bb8f", "b67b57a96", "e6bdfd970"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.14", "source_hash": "2d2782161ae6e66965ee703c3f18a30386f6b3a9be9d3d88588a3070fd818dcb", "section_path": ["Source Code"], "commit_groups": [["4f48a6fbe"], ["a8ed6bb8f"], ["b67b57a96"], ["e6bdfd970"]], "identity_text": "Change SHA1, SHA2, and MD5 hash computations to use the OpenSSL EVP API (Michael Paquier) This is more modern and supports FIPS mode.", "commit_aliases": ["4f48a6fbe", "a8ed6bb8f", "b67b57a96", "e6bdfd970"], "source_commits": ["4f48a6fbe", "a8ed6bb8f", "b67b57a96", "e6bdfd970"], "source_entry_id": "14.0/changes/168", "db_id": "14dec3f7f8e0627cf45f0ed20a78a3d5", "patch_ids": ["01be2c441928cabfae31a69681545499", "505db812527846958a83ecbb74507622", "663d03b25af4d0c3fd99d8b2295e6a53", "d42e74619ff55d60c88b985fb55ac67c"], "statement_hash": "dff9073056e20f535699537b95dab31172b221c56358625ad14d0e2c11df53ed", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-3295740080fb9572", "cves": [], "html": "<p>Remove separate build-time control over the choice of random number generator (Daniel Gustafsson) <a href=\"https://postgr.es/c/16f96c74d\">§</a></p>\n<p>This is now always determined by the choice of SSL library.</p>", "text": "Remove separate build-time control over the choice of random number generator (Daniel Gustafsson) § This is now always determined by the choice of SSL library.", "title": "Remove separate build-time control over the choice of random number generator", "commits": ["16f96c74d"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.14", "source_hash": "14257d34ebcbbe29063a6250a63305ec016a18ede4200875625b09e798ec4efa", "section_path": ["Source Code"], "commit_groups": [["16f96c74d"]], "identity_text": "Remove separate build-time control over the choice of random number generator (Daniel Gustafsson) This is now always determined by the choice of SSL library.", "commit_aliases": ["16f96c74d"], "source_commits": ["16f96c74d"], "source_entry_id": "14.0/changes/169", "db_id": "0aea3c0f836cf5fb160118bc9fcffb5f", "patch_ids": ["4030743842d5e72afe2f11221c379495"], "statement_hash": "139448610e9f59d0c69ed274f9339347145bd5e978192d2595a7f78f95abe942", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-99217ab9f2d6bd92", "cves": [], "html": "<p>Add direct conversion routines between EUC_TW and Big5 encodings (Heikki Linnakangas) <a href=\"https://postgr.es/c/6c5576075\">§</a></p>", "text": "Add direct conversion routines between EUC_TW and Big5 encodings (Heikki Linnakangas) §", "title": "Add direct conversion routines between EUC_TW and Big5 encodings", "commits": ["6c5576075"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.14", "source_hash": "7983857bb346fa8c0d92a0d82f0236d6f18349f796c9064e35235ce77c5665d5", "section_path": ["Source Code"], "commit_groups": [["6c5576075"]], "identity_text": "Add direct conversion routines between EUC_TW and Big5 encodings (Heikki Linnakangas)", "commit_aliases": ["6c5576075"], "source_commits": ["6c5576075"], "source_entry_id": "14.0/changes/170", "db_id": "780e0c89e60a1199e649a750522c8022", "patch_ids": ["ade10d924bbb73b1d84d08cfe79477f8"], "statement_hash": "f556d0ecb5d8fff79985c368ea358c44c6e9bb75fd7cc5ad8ee4bd1d260e0d90", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-18e2fc9c488788b8", "cves": [], "html": "<p>Add collation version support for <span>FreeBSD</span> (Thomas Munro) <a href=\"https://postgr.es/c/ca051d8b1\">§</a></p>", "text": "Add collation version support for FreeBSD (Thomas Munro) §", "title": "Add collation version support for FreeBSD", "commits": ["ca051d8b1"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.14", "source_hash": "db7a9f1036327d411cfbf382b67894f89814e530b9695a8277ad386492220847", "section_path": ["Source Code"], "commit_groups": [["ca051d8b1"]], "identity_text": "Add collation version support for FreeBSD (Thomas Munro)", "commit_aliases": ["ca051d8b1"], "source_commits": ["ca051d8b1"], "source_entry_id": "14.0/changes/171", "db_id": "e0a3bb652d2ee557c822810dae0a4bdf", "patch_ids": ["5431591f3215ff9dedbca3c13126c1a9"], "statement_hash": "09efd4999da181d0e7bdbaa28f873fe9fc2bceda2f883dcf7ff2eb30f6ac8eb6", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-42c5e28743b7b930", "cves": [], "html": "<p>Add <a href=\"/docs/14/index-api.html\" title=\"62.1. Basic API Structure for Indexes\"><code>amadjustmembers</code></a> to the index access method <acronym>API</acronym> (Tom Lane) <a href=\"https://postgr.es/c/9f9682783\">§</a></p>\n<p>This allows an index access method to provide validity checking during creation of a new operator class or family.</p>", "text": "Add amadjustmembers to the index access method API (Tom Lane) § This allows an index access method to provide validity checking during creation of a new operator class or family.", "title": "Add amadjustmembers to the index access method API", "commits": ["9f9682783"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.14", "source_hash": "92fdeb4b8fcd5f74a298f4232eb4274f6ee5105a80c31254a7a85b547fec1064", "section_path": ["Source Code"], "commit_groups": [["9f9682783"]], "identity_text": "Add amadjustmembers to the index access method API (Tom Lane) This allows an index access method to provide validity checking during creation of a new operator class or family.", "commit_aliases": ["9f9682783"], "source_commits": ["9f9682783"], "source_entry_id": "14.0/changes/172", "db_id": "67dcbb97d57520263ed5b5b24c08cf00", "patch_ids": ["5475bbdb2bfd6a7f784d6f00970a575e"], "statement_hash": "616510c5198426be5bb7b527589c35c426e15e62b36d17defaa3b1263a48fe9d", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-0a1ddedee2c3b2ed", "cves": [], "html": "<p>Provide feature-test macros in <code>libpq-fe.h</code> for recently-added <span>libpq</span> features (Tom Lane, Álvaro Herrera) <a href=\"https://postgr.es/c/6991e774e\">§</a></p>\n<p>Historically, applications have usually used compile-time checks of <code>PG_VERSION_NUM</code> to test whether a feature is available. But that's normally the server version, which might not be a good guide to <span>libpq</span>'s version. <code>libpq-fe.h</code> now offers <code>#define</code> symbols denoting application-visible features added in v14; the intent is to keep adding symbols for such features in future versions.</p>", "text": "Provide feature-test macros in libpq-fe.h for recently-added libpq features (Tom Lane, Álvaro Herrera) § Historically, applications have usually used compile-time checks of PG_VERSION_NUM to test whether a feature is available. But that's normally the server version, which might not be a good guide to libpq's version. libpq-fe.h now offers #define symbols denoting application-visible features added in v14; the intent is to keep adding symbols for such features in future versions.", "title": "Provide feature-test macros in libpq-fe.h for recently-added libpq features", "commits": ["6991e774e"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.14", "source_hash": "b52c02cf436fdf2a185a9b3efa11b83d067d2fcb64c4f9bdb0f8b6973cffeaf0", "section_path": ["Source Code"], "commit_groups": [["6991e774e"]], "identity_text": "Provide feature-test macros in libpq-fe.h for recently-added libpq features (Tom Lane, Álvaro Herrera) Historically, applications have usually used compile-time checks of PG_VERSION_NUM to test whether a feature is available. But that's normally the server version, which might not be a good guide to libpq's version. libpq-fe.h now offers #define symbols denoting application-visible features added in v14; the intent is to keep adding symbols for such features in future versions.", "commit_aliases": ["6991e774e"], "source_commits": ["6991e774e"], "source_entry_id": "14.0/changes/173", "db_id": "a7c6579bc8ffc3fac0dbcad5119a9bb2", "patch_ids": ["3ad82629b851fb092a672a6dc622ab99"], "statement_hash": "29e4a6b76f75106a2eee2df3ee9710e9b44619f3ff54b6f6f699425280517ae4", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-1717e539e78e51b3", "cves": [], "html": "<p>Allow subscripting of <a href=\"/docs/14/hstore.html\" title=\"F.16. hstore\"><span>hstore</span></a> values (Tom Lane, Dmitry Dolgov) <a href=\"https://postgr.es/c/0ec5f7e78\">§</a></p>", "text": "Allow subscripting of hstore values (Tom Lane, Dmitry Dolgov) §", "title": "Allow subscripting of hstore values", "commits": ["0ec5f7e78"], "section": "Additional Modules", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.15", "source_hash": "d5f34d44fe4828098f9c2c2d6116656ca55a6605534d7f7f92e0a43fa2c4b1c8", "section_path": ["Additional Modules"], "commit_groups": [["0ec5f7e78"]], "identity_text": "Allow subscripting of hstore values (Tom Lane, Dmitry Dolgov)", "commit_aliases": ["0ec5f7e78"], "source_commits": ["0ec5f7e78"], "source_entry_id": "14.0/changes/174", "db_id": "35e1fa63982ea2eba3ad940467fd54d7", "patch_ids": ["6b0d0782f7d2c5729e7d36d465ea5368"], "statement_hash": "54fca5934ff39cc30997aeb21bea77492b0510dbafb26ecf4bc6ad1734fd2a64", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-fea55df1911137e4", "cves": [], "html": "<p>Allow GiST/GIN <a href=\"/docs/14/pgtrgm.html\" title=\"F.33. pg_trgm\"><span>pg_trgm</span></a> indexes to do equality lookups (Julien Rouhaud) <a href=\"https://postgr.es/c/935f66665\">§</a></p>\n<p>This is similar to <code>LIKE</code> except no wildcards are honored.</p>", "text": "Allow GiST/GIN pg_trgm indexes to do equality lookups (Julien Rouhaud) § This is similar to LIKE except no wildcards are honored.", "title": "Allow GiST/GIN pg_trgm indexes to do equality lookups", "commits": ["935f66665"], "section": "Additional Modules", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.15", "source_hash": "c5fafbcc98fb4c422da39bfe8d85a99cc0927ff89f3435295f7c572a5f3d0cc8", "section_path": ["Additional Modules"], "commit_groups": [["935f66665"]], "identity_text": "Allow GiST/GIN pg_trgm indexes to do equality lookups (Julien Rouhaud) This is similar to LIKE except no wildcards are honored.", "commit_aliases": ["935f66665"], "source_commits": ["935f66665"], "source_entry_id": "14.0/changes/175", "db_id": "d5ff42c834bd3a04ae4c6cddfea08721", "patch_ids": ["8194d9588b930d7895e083bc43d40036"], "statement_hash": "a372ae2dbdfdd52bf86be8c73c33df920684800cf1972b4e1f67d4e0d6ccad99", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-35bcbfad9be29078", "cves": [], "html": "<p>Allow the <a href=\"/docs/14/cube.html\" title=\"F.9. cube\"><span>cube</span></a> data type to be transferred in binary mode (KaiGai Kohei) <a href=\"https://postgr.es/c/1265a9c8f\">§</a></p>", "text": "Allow the cube data type to be transferred in binary mode (KaiGai Kohei) §", "title": "Allow the cube data type to be transferred in binary mode", "commits": ["1265a9c8f"], "section": "Additional Modules", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.15", "source_hash": "a3da381df8ac11e1b59e0327cad97362ad5ce20783b0188376e5505dd3d50d32", "section_path": ["Additional Modules"], "commit_groups": [["1265a9c8f"]], "identity_text": "Allow the cube data type to be transferred in binary mode (KaiGai Kohei)", "commit_aliases": ["1265a9c8f"], "source_commits": ["1265a9c8f"], "source_entry_id": "14.0/changes/176", "db_id": "8674ca09cafc36a81f695e9541261616", "patch_ids": ["918d21b602ad3faf48278e77f4ff480e"], "statement_hash": "44c762c5a960af6a649f0b72b65067073e8bf551f71732097c54ef28ff6993ca", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-b7a63e2db86c38ae", "cves": [], "html": "<p>Allow <a href=\"/docs/14/pgstattuple.html\" title=\"F.31. pgstattuple\"><code>pgstattuple_approx()</code></a> to report on <acronym>TOAST</acronym> tables (Peter Eisentraut) <a href=\"https://postgr.es/c/ee0202d55\">§</a></p>", "text": "Allow pgstattuple_approx() to report on TOAST tables (Peter Eisentraut) §", "title": "Allow pgstattuple_approx() to report on TOAST tables", "commits": ["ee0202d55"], "section": "Additional Modules", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.15", "source_hash": "edf02faa29694e9ae1c7428f3135b81e8a016f64997d0c51cb031f8f7e6a46ee", "section_path": ["Additional Modules"], "commit_groups": [["ee0202d55"]], "identity_text": "Allow pgstattuple_approx() to report on TOAST tables (Peter Eisentraut)", "commit_aliases": ["ee0202d55"], "source_commits": ["ee0202d55"], "source_entry_id": "14.0/changes/177", "db_id": "8db834688d3cb0a2a2ad23fffec27293", "patch_ids": ["b254a76fdbf3f826386c358e953015fd"], "statement_hash": "d0442d1f34d43a51ffccd6af345731ca0b10283d4281fbdcb791b60341b2b2d8", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-58972b00e7674a01", "cves": [], "html": "<p>Add contrib module <a href=\"/docs/14/pgsurgery.html\" title=\"F.32. pg_surgery\"><span>pg_surgery</span></a> which allows changes to row visibility (Ashutosh Sharma) <a href=\"https://postgr.es/c/34a947ca1\">§</a></p>\n<p>This is useful for correcting database corruption.</p>", "text": "Add contrib module pg_surgery which allows changes to row visibility (Ashutosh Sharma) § This is useful for correcting database corruption.", "title": "Add contrib module pg_surgery which allows changes to row visibility", "commits": ["34a947ca1"], "section": "Additional Modules", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.15", "source_hash": "f74abe6ca5d324303822da9a79af4b14d6da334de396abf00a6835a44c3ccf5a", "section_path": ["Additional Modules"], "commit_groups": [["34a947ca1"]], "identity_text": "Add contrib module pg_surgery which allows changes to row visibility (Ashutosh Sharma) This is useful for correcting database corruption.", "commit_aliases": ["34a947ca1"], "source_commits": ["34a947ca1"], "source_entry_id": "14.0/changes/178", "db_id": "5237a2bf6a7faec60b8dae0e1dc8aa63", "patch_ids": ["c8a4d00bf715837a1e5bc22ba899f1e6"], "statement_hash": "288b5fef4fd60d673d9312f68adaedc126255305da4835125d106058dd163afc", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-fc3e46227b755345", "cves": [], "html": "<p>Add contrib module <a href=\"/docs/14/oldsnapshot.html\" title=\"F.22. old_snapshot\"><span>old_snapshot</span></a> to report the <code>XID</code>/time mapping used by an active <a href=\"/docs/14/runtime-config-resource.html#GUC-OLD-SNAPSHOT-THRESHOLD\">old_snapshot_threshold</a> (Robert Haas) <a href=\"https://postgr.es/c/aecf5ee2b\">§</a></p>", "text": "Add contrib module old_snapshot to report the XID/time mapping used by an active old_snapshot_threshold (Robert Haas) §", "title": "Add contrib module old_snapshot to report the XID/time mapping used by an active old_snapshot_threshold", "commits": ["aecf5ee2b"], "section": "Additional Modules", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.15", "source_hash": "af106c5449af10cdf253e3074780cbaacafd0d29d6167f7ae9f7ef2e69932045", "section_path": ["Additional Modules"], "commit_groups": [["aecf5ee2b"]], "identity_text": "Add contrib module old_snapshot to report the XID/time mapping used by an active guc-old-snapshot-threshold (Robert Haas)", "commit_aliases": ["aecf5ee2b"], "source_commits": ["aecf5ee2b"], "source_entry_id": "14.0/changes/179", "db_id": "1d6556e5e0328ccc0ad0cd969e937fb4", "patch_ids": ["530f8dae87f8f3503900856f50dd3349"], "statement_hash": "b448b432cc5e5cc068757151a5396703ff859b7fd90f892496b48d11d0b30837", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-649cebccb83c6e2a", "cves": [], "html": "<p>Allow <a href=\"/docs/14/amcheck.html\" title=\"F.2. amcheck\"><span>amcheck</span></a> to also check heap pages (Mark Dilger) <a href=\"https://postgr.es/c/866e24d47\">§</a></p>\n<p>Previously it only checked B-Tree index pages.</p>", "text": "Allow amcheck to also check heap pages (Mark Dilger) § Previously it only checked B-Tree index pages.", "title": "Allow amcheck to also check heap pages", "commits": ["866e24d47"], "section": "Additional Modules", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.15", "source_hash": "dd1c019f206ec155abb7f71082b1e3ce34e744afa655c4f461047d6dcd946eaf", "section_path": ["Additional Modules"], "commit_groups": [["866e24d47"]], "identity_text": "Allow amcheck to also check heap pages (Mark Dilger) Previously it only checked B-Tree index pages.", "commit_aliases": ["866e24d47"], "source_commits": ["866e24d47"], "source_entry_id": "14.0/changes/180", "db_id": "458faa6c5575b1f36c7b15a75224fddf", "patch_ids": ["32f0eb8b8dd820a3288f765b570b316c"], "statement_hash": "2a21c06c933be743191c3e978fc93f4e226345f17d75482f0a6c94448fd5b60a", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-d5c1bfa13a84bd24", "cves": [], "html": "<p>Allow <a href=\"/docs/14/pageinspect.html\" title=\"F.23. pageinspect\"><span>pageinspect</span></a> to inspect GiST indexes (Andrey Borodin, Heikki Linnakangas) <a href=\"https://postgr.es/c/756ab2912\">§</a> <a href=\"https://postgr.es/c/9e596b65f\">§</a></p>", "text": "Allow pageinspect to inspect GiST indexes (Andrey Borodin, Heikki Linnakangas) § §", "title": "Allow pageinspect to inspect GiST indexes", "commits": ["756ab2912", "9e596b65f"], "section": "Additional Modules", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.15", "source_hash": "c6beab5ee31b4089b94e2a8dc54df3ddbfd0ca3f6633d39ec27b88f5652675e7", "section_path": ["Additional Modules"], "commit_groups": [["756ab2912"], ["9e596b65f"]], "identity_text": "Allow pageinspect to inspect GiST indexes (Andrey Borodin, Heikki Linnakangas)", "commit_aliases": ["756ab2912", "9e596b65f"], "source_commits": ["756ab2912", "9e596b65f"], "source_entry_id": "14.0/changes/181", "db_id": "4ae5de7378c79206299d14a648126a57", "patch_ids": ["0f79e60a97a233f2744a0604a32af6f2", "49a4b254fa9b472cbca1656ef65d896a"], "statement_hash": "b77436f57beaa53721aed36cdcd35696eb90e5f200ade5a474884db381d32278", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-7446d10b7fc9f118", "cves": [], "html": "<p>Change <span>pageinspect</span> block numbers to be <a href=\"/docs/14/datatype-numeric.html#DATATYPE-INT\" title=\"8.1.1. Integer Types\"><code>bigints</code></a> (Peter Eisentraut) <a href=\"https://postgr.es/c/f18aa1b20\">§</a></p>", "text": "Change pageinspect block numbers to be bigints (Peter Eisentraut) §", "title": "Change pageinspect block numbers to be bigints", "commits": ["f18aa1b20"], "section": "Additional Modules", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.15", "source_hash": "015ae61bfcff3f5dee4d680cbecc42980c7feb6e707c8d30a2291b052bbcee1c", "section_path": ["Additional Modules"], "commit_groups": [["f18aa1b20"]], "identity_text": "Change pageinspect block numbers to be bigints (Peter Eisentraut)", "commit_aliases": ["f18aa1b20"], "source_commits": ["f18aa1b20"], "source_entry_id": "14.0/changes/182", "db_id": "b06347c9baac3a9d6c10a67e08c6196a", "patch_ids": ["dd73f45df9299ae50e8958cbee3610b6"], "statement_hash": "bc36d117b57d8adb2b3780c94ffe43d2e900bced01a33144f09e50d5ca4e3058", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-c6f091d077adac11", "cves": [], "html": "<p>Mark <a href=\"/docs/14/btree-gist.html\" title=\"F.7. btree_gist\"><span>btree_gist</span></a> functions as parallel safe (Steven Winfield) <a href=\"https://postgr.es/c/d98c08cdc\">§</a></p>", "text": "Mark btree_gist functions as parallel safe (Steven Winfield) §", "title": "Mark btree_gist functions as parallel safe", "commits": ["d98c08cdc"], "section": "Additional Modules", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.15", "source_hash": "69a716ad1ae7cb5b9031db0ba07ed3bcb091047eedb20f02a0f3a3169bd9df8e", "section_path": ["Additional Modules"], "commit_groups": [["d98c08cdc"]], "identity_text": "Mark btree_gist functions as parallel safe (Steven Winfield)", "commit_aliases": ["d98c08cdc"], "source_commits": ["d98c08cdc"], "source_entry_id": "14.0/changes/183", "db_id": "d60bc82a124523ed8b20d5b2a30447ab", "patch_ids": ["7d3f9918d49be14ed4346805ff89f663"], "statement_hash": "0056e3a0404da553180798ce09277173f1fa9d21bb6fa59e6c7f7b17e27ccbfd", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-e4c7378480abd20c", "cves": [], "html": "<p>Move query hash computation from <span>pg_stat_statements</span> to the core server (Julien Rouhaud) <a href=\"https://postgr.es/c/5fd9dfa5f\">§</a></p>\n<p>The new server parameter <a href=\"/docs/14/runtime-config-statistics.html#GUC-COMPUTE-QUERY-ID\">compute_query_id</a>'s default of <code>auto</code> will automatically enable query id computation when this extension is loaded.</p>", "text": "Move query hash computation from pg_stat_statements to the core server (Julien Rouhaud) § The new server parameter compute_query_id's default of auto will automatically enable query id computation when this extension is loaded.", "title": "Move query hash computation from pg_stat_statements to the core server", "commits": ["5fd9dfa5f"], "section": "Additional Modules / pg_stat_statements", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.15.3", "source_hash": "8e2d8618cf40f1989da8444f110014223b6cd88b49eaa3a60d9bc6e98641f838", "section_path": ["Additional Modules", "pg_stat_statements"], "commit_groups": [["5fd9dfa5f"]], "identity_text": "Move query hash computation from pg_stat_statements to the core server (Julien Rouhaud) The new server parameter guc-compute-query-id 's default of auto will automatically enable query id computation when this extension is loaded.", "commit_aliases": ["5fd9dfa5f"], "source_commits": ["5fd9dfa5f"], "source_entry_id": "14.0/changes/184", "db_id": "cd67eb400519623ed7a9c0e05df86087", "patch_ids": ["0e14241033f6730c4c4b815cf7f75544"], "statement_hash": "cbd2f06d42609ab0ebbdfc3d76d212dea5bee5d427c99d94522dfeabf3731a9a", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-d611894d6b8de0dd", "cves": [], "html": "<p>Cause <span>pg_stat_statements</span> to track top and nested statements separately (Julien Rohaud) <a href=\"https://postgr.es/c/6b4d23fee\">§</a></p>\n<p>Previously, when tracking all statements, identical top and nested statements were tracked as a single entry; but it seems more useful to separate such usages.</p>", "text": "Cause pg_stat_statements to track top and nested statements separately (Julien Rohaud) § Previously, when tracking all statements, identical top and nested statements were tracked as a single entry; but it seems more useful to separate such usages.", "title": "Cause pg_stat_statements to track top and nested statements separately", "commits": ["6b4d23fee"], "section": "Additional Modules / pg_stat_statements", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.15.3", "source_hash": "df2a65b95eeceab437e490d39ca11c69eb0930ae19da8478949d5d45f46e798c", "section_path": ["Additional Modules", "pg_stat_statements"], "commit_groups": [["6b4d23fee"]], "identity_text": "Cause pg_stat_statements to track top and nested statements separately (Julien Rohaud) Previously, when tracking all statements, identical top and nested statements were tracked as a single entry; but it seems more useful to separate such usages.", "commit_aliases": ["6b4d23fee"], "source_commits": ["6b4d23fee"], "source_entry_id": "14.0/changes/185", "db_id": "11134931e64a6d9c5b4c4e2e48062016", "patch_ids": ["275773d620858f3b89fc0adb1c4bad9a"], "statement_hash": "9b7c8f204beb578ce91753404d15ae112876bb630961b7306763a182ae06d33a", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-bbbf43328e82fee2", "cves": [], "html": "<p>Add row counts for utility commands to <span>pg_stat_statements</span> (Fujii Masao, Katsuragi Yuta, Seino Yuki) <a href=\"https://postgr.es/c/6023b7ea7\">§</a> <a href=\"https://postgr.es/c/b62e6056a\">§</a></p>", "text": "Add row counts for utility commands to pg_stat_statements (Fujii Masao, Katsuragi Yuta, Seino Yuki) § §", "title": "Add row counts for utility commands to pg_stat_statements", "commits": ["6023b7ea7", "b62e6056a"], "section": "Additional Modules / pg_stat_statements", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.15.3", "source_hash": "4f67752ab84eaff4dc89a025ff6a9d728f18a2a7978ad6bd302fc2958c20744a", "section_path": ["Additional Modules", "pg_stat_statements"], "commit_groups": [["6023b7ea7"], ["b62e6056a"]], "identity_text": "Add row counts for utility commands to pg_stat_statements (Fujii Masao, Katsuragi Yuta, Seino Yuki)", "commit_aliases": ["6023b7ea7", "b62e6056a"], "source_commits": ["6023b7ea7", "b62e6056a"], "source_entry_id": "14.0/changes/186", "db_id": "983eab785ff24b21fae514737155ecbf", "patch_ids": ["a0aebb376ffa6dd4e7eef34d48fe4192", "de211c0bcc2147272f183ca9e73343df"], "statement_hash": "852df99d2b1ebde368ac96a479f2a95d4923cf7f3286757bcac698ba48a82704", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-8f77f820ad4395b6", "cves": [], "html": "<p>Add <code>pg_stat_statements_info</code> system view to show <span>pg_stat_statements</span> activity (Katsuragi Yuta, Yuki Seino, Naoki Nakamichi) <a href=\"https://postgr.es/c/9fbc3f318\">§</a> <a href=\"https://postgr.es/c/2e0fedf03\">§</a></p>", "text": "Add pg_stat_statements_info system view to show pg_stat_statements activity (Katsuragi Yuta, Yuki Seino, Naoki Nakamichi) § §", "title": "Add pg_stat_statements_info system view to show pg_stat_statements activity", "commits": ["2e0fedf03", "9fbc3f318"], "section": "Additional Modules / pg_stat_statements", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.15.3", "source_hash": "2884a3ec714f75d2e89e213590c7d4c8444ffa16028e47885d3290ea8aacebdf", "section_path": ["Additional Modules", "pg_stat_statements"], "commit_groups": [["2e0fedf03"], ["9fbc3f318"]], "identity_text": "Add pg_stat_statements_info system view to show pg_stat_statements activity (Katsuragi Yuta, Yuki Seino, Naoki Nakamichi)", "commit_aliases": ["2e0fedf03", "9fbc3f318"], "source_commits": ["2e0fedf03", "9fbc3f318"], "source_entry_id": "14.0/changes/187", "db_id": "2853bf742bb8b1e4dc0a143338319cb0", "patch_ids": ["0ff3687b0528bfbe0ee3cc01f3768f48", "e374d39ca8d38ea3885053a65d85d0ec"], "statement_hash": "a2215c7b9c417c67723f2379757be61c8de70e8c3f76c3c46abefc87d5095231", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-7aaa55a0b0110f8b", "cves": [], "html": "<p>Allow <span>postgres_fdw</span> to <code>INSERT</code> rows in bulk (Takayuki Tsunakawa, Tomas Vondra, Amit Langote) <a href=\"https://postgr.es/c/b663a4136\">§</a> <a href=\"https://postgr.es/c/927f453a9\">§</a></p>", "text": "Allow postgres_fdw to INSERT rows in bulk (Takayuki Tsunakawa, Tomas Vondra, Amit Langote) § §", "title": "Allow postgres_fdw to INSERT rows in bulk", "commits": ["927f453a9", "b663a4136"], "section": "Additional Modules / postgres_fdw", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.15.4", "source_hash": "91ac8cb31bf3f7ad8d0e7677ba248004cc5273748e101753d36bc1e684d0df56", "section_path": ["Additional Modules", "postgres_fdw"], "commit_groups": [["927f453a9"], ["b663a4136"]], "identity_text": "Allow postgres_fdw to INSERT rows in bulk (Takayuki Tsunakawa, Tomas Vondra, Amit Langote)", "commit_aliases": ["927f453a9", "b663a4136"], "source_commits": ["927f453a9", "b663a4136"], "source_entry_id": "14.0/changes/188", "db_id": "8edca89074d977c65a11cd2d9241ffab", "patch_ids": ["3f86d363692153d84de4460e7af1c9f3", "7d46efb735f60f650d471b45d5db5509"], "statement_hash": "163cb023ed651fb77a64df7b93d0d0947e97fdc8eb4145c7be4c770995d5b042", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-4d4c66555083a631", "cves": [], "html": "<p>Allow <span>postgres_fdw</span> to import table partitions if specified by <a href=\"/docs/14/sql-importforeignschema.html\" title=\"IMPORT FOREIGN SCHEMA\"><code>IMPORT FOREIGN SCHEMA ... LIMIT TO</code></a> (Matthias van de Meent) <a href=\"https://postgr.es/c/a3740c48e\">§</a></p>\n<p>By default, only the root of a partitioned table is imported.</p>", "text": "Allow postgres_fdw to import table partitions if specified by IMPORT FOREIGN SCHEMA ... LIMIT TO (Matthias van de Meent) § By default, only the root of a partitioned table is imported.", "title": "Allow postgres_fdw to import table partitions if specified by IMPORT FOREIGN SCHEMA ... LIMIT TO", "commits": ["a3740c48e"], "section": "Additional Modules / postgres_fdw", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.15.4", "source_hash": "2a40dae8be975e501c241a152275c8e922507df112138beb727187b5a9121f32", "section_path": ["Additional Modules", "postgres_fdw"], "commit_groups": [["a3740c48e"]], "identity_text": "Allow postgres_fdw to import table partitions if specified by IMPORT FOREIGN SCHEMA ... LIMIT TO (Matthias van de Meent) By default, only the root of a partitioned table is imported.", "commit_aliases": ["a3740c48e"], "source_commits": ["a3740c48e"], "source_entry_id": "14.0/changes/189", "db_id": "3e7b57978d99713422c46b142cf3a8c1", "patch_ids": ["5fe554ea784f0c6553ce2ed91ebff6d4"], "statement_hash": "b2459a7eb320d47e1ba795fc8236cffc80d63caf4ebde8cbaf40e9ba58d0dafa", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-cc540636d8319d0f", "cves": [], "html": "<p>Add <span>postgres_fdw</span> function <code>postgres_fdw_get_connections()</code> to report open foreign server connections (Bharath Rupireddy) <a href=\"https://postgr.es/c/708d165dd\">§</a></p>", "text": "Add postgres_fdw function postgres_fdw_get_connections() to report open foreign server connections (Bharath Rupireddy) §", "title": "Add postgres_fdw function postgres_fdw_get_connections() to report open foreign server connections", "commits": ["708d165dd"], "section": "Additional Modules / postgres_fdw", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.15.4", "source_hash": "17958661d2d1cb78afb39dac63c85028db5d5fe49288f40d518a4d55a21d7245", "section_path": ["Additional Modules", "postgres_fdw"], "commit_groups": [["708d165dd"]], "identity_text": "Add postgres_fdw function postgres_fdw_get_connections() to report open foreign server connections (Bharath Rupireddy)", "commit_aliases": ["708d165dd"], "source_commits": ["708d165dd"], "source_entry_id": "14.0/changes/190", "db_id": "4a378185e60544c692c97365907017fa", "patch_ids": ["e72fee3989fe3212ca48686e540fd8ca"], "statement_hash": "40d55fc715b879f8d9983544c4b6a98abea448017a40c020fc76cf0bfd62daaa", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-ac3f41e30cc32e16", "cves": [], "html": "<p>Allow control over whether foreign servers keep connections open after transaction completion (Bharath Rupireddy) <a href=\"https://postgr.es/c/b1be3074a\">§</a></p>\n<p>This is controlled by <code>keep_connections</code> and defaults to on.</p>", "text": "Allow control over whether foreign servers keep connections open after transaction completion (Bharath Rupireddy) § This is controlled by keep_connections and defaults to on.", "title": "Allow control over whether foreign servers keep connections open after transaction completion", "commits": ["b1be3074a"], "section": "Additional Modules / postgres_fdw", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.15.4", "source_hash": "ec13cca913ea017b236cad47bfee5e3c5dfbe8b86a97c919805306023a0be57f", "section_path": ["Additional Modules", "postgres_fdw"], "commit_groups": [["b1be3074a"]], "identity_text": "Allow control over whether foreign servers keep connections open after transaction completion (Bharath Rupireddy) This is controlled by keep_connections and defaults to on.", "commit_aliases": ["b1be3074a"], "source_commits": ["b1be3074a"], "source_entry_id": "14.0/changes/191", "db_id": "854cf96d9cd70db7b9b23e0172db3b93", "patch_ids": ["d68e68ad94224bc4c8b6e247d3f01d92"], "statement_hash": "53376001a8f82497dcd7c1080e809d565cacd18aaa043406b16a5b0b7dd07f73", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-e491c4cdf7dbea33", "cves": [], "html": "<p>Allow <span>postgres_fdw</span> to reestablish foreign server connections if necessary (Bharath Rupireddy) <a href=\"https://postgr.es/c/32a9c0bdf\">§</a> <a href=\"https://postgr.es/c/7fc1a81e4\">§</a></p>\n<p>Previously foreign server restarts could cause foreign table access errors.</p>", "text": "Allow postgres_fdw to reestablish foreign server connections if necessary (Bharath Rupireddy) § § Previously foreign server restarts could cause foreign table access errors.", "title": "Allow postgres_fdw to reestablish foreign server connections if necessary", "commits": ["32a9c0bdf", "7fc1a81e4"], "section": "Additional Modules / postgres_fdw", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.15.4", "source_hash": "3d50ac36c2e87e1b01d77a8311c474937d64acf45e7405d45b656e793b76004f", "section_path": ["Additional Modules", "postgres_fdw"], "commit_groups": [["32a9c0bdf"], ["7fc1a81e4"]], "identity_text": "Allow postgres_fdw to reestablish foreign server connections if necessary (Bharath Rupireddy) Previously foreign server restarts could cause foreign table access errors.", "commit_aliases": ["32a9c0bdf", "7fc1a81e4"], "source_commits": ["32a9c0bdf", "7fc1a81e4"], "source_entry_id": "14.0/changes/192", "db_id": "ddab4bb28b4fbaabd50d59c753af7feb", "patch_ids": ["1bb123d39a409d6adb97de97addd5c43", "ecb0adb3bad70f5af0e20437b240bc9d"], "statement_hash": "cd4359c0d8768a67d0bb7e990463de05b7dda61138013b8d6414230b5ef99483", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "14.0-35419ac05a7b9a84", "cves": [], "html": "<p>Add <span>postgres_fdw</span> functions to discard cached connections (Bharath Rupireddy) <a href=\"https://postgr.es/c/411ae6499\">§</a></p>", "text": "Add postgres_fdw functions to discard cached connections (Bharath Rupireddy) §", "title": "Add postgres_fdw functions to discard cached connections", "commits": ["411ae6499"], "section": "Additional Modules / postgres_fdw", "category": "feature", "source_url": "/docs/release/14.0/#id-1.11.6.30.5.15.4", "source_hash": "d40b5b5ffacdcea79112ebe1115f0933f98b43f9099ac3bb548fc8a43a2bc8d8", "section_path": ["Additional Modules", "postgres_fdw"], "commit_groups": [["411ae6499"]], "identity_text": "Add postgres_fdw functions to discard cached connections (Bharath Rupireddy)", "commit_aliases": ["411ae6499"], "source_commits": ["411ae6499"], "source_entry_id": "14.0/changes/193", "db_id": "e5cfb8d774409fb5aeb59aa09c37fe50", "patch_ids": ["8a8b28146278cdae32260b003f7c7044"], "statement_hash": "32e02552bb3df0983f18f5baa281bff6b7e1ef4395acf1e5831a6efb857c620c", "relations": [], "version": "14.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}]}], "stats": [{"key": "all", "label": "All changes", "count": 220}, {"key": "feature", "label": "Features", "count": 178}, {"key": "bugfix", "label": "Bug fixes", "count": 2}, {"key": "security", "label": "Security", "count": 0}, {"key": "performance", "label": "Performance", "count": 13}, {"key": "compatibility", "label": "Compatibility", "count": 27}, {"key": "improvement", "label": "Improvements", "count": 0}], "total": 220, "release_count": 1, "cross_major": false, "cve_count": 0, "cves": [], "cve_available": true, "remaining_cves": [], "security_regressions": [], "warnings": [], "candidate_count": 220, "already_in_source_count": 0, "duplicate_count": 0, "excluded_count": 0, "exclusions": [], "source_as_of": "2026-09-26", "security_as_of": "2026-09-26"}