]> begriffs open source - ai-pg/blob - full-docs/html/release-18.html
Include links to all subsection html pages, with shorter paths too
[ai-pg] / full-docs / html / release-18.html
1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>E.1. Release 18</title><link rel="stylesheet" type="text/css" href="stylesheet.css" /><link rev="made" href="pgsql-docs@lists.postgresql.org" /><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><link rel="prev" href="release.html" title="Appendix E. Release Notes" /><link rel="next" href="release-prior.html" title="E.2. Prior Releases" /></head><body id="docContent" class="container-fluid col-10"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="5" align="center">E.1. Release 18</th></tr><tr><td width="10%" align="left"><a accesskey="p" href="release.html" title="Appendix E. Release Notes">Prev</a> </td><td width="10%" align="left"><a accesskey="u" href="release.html" title="Appendix E. Release Notes">Up</a></td><th width="60%" align="center">Appendix E. Release Notes</th><td width="10%" align="right"><a accesskey="h" href="index.html" title="PostgreSQL 18.0 Documentation">Home</a></td><td width="10%" align="right"> <a accesskey="n" href="release-prior.html" title="E.2. Prior Releases">Next</a></td></tr></table><hr /></div><div class="sect1" id="RELEASE-18"><div class="titlepage"><div><div><h2 class="title" style="clear: both">E.1. Release 18 <a href="#RELEASE-18" class="id_link">#</a></h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="sect2"><a href="release-18.html#RELEASE-18-HIGHLIGHTS">E.1.1. Overview</a></span></dt><dt><span class="sect2"><a href="release-18.html#RELEASE-18-MIGRATION">E.1.2. Migration to Version 18</a></span></dt><dt><span class="sect2"><a href="release-18.html#RELEASE-18-CHANGES">E.1.3. Changes</a></span></dt><dt><span class="sect2"><a href="release-18.html#RELEASE-18-ACKNOWLEDGEMENTS">E.1.4. Acknowledgments</a></span></dt></dl></div><p><strong>Release date: </strong>2025-09-25</p><div class="sect2" id="RELEASE-18-HIGHLIGHTS"><div class="titlepage"><div><div><h3 class="title">E.1.1. Overview <a href="#RELEASE-18-HIGHLIGHTS" class="id_link">#</a></h3></div></div></div><p>
3     <span class="productname">PostgreSQL</span> 18 contains many new features
4     and enhancements, including:
5    </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
6       An asynchronous I/O (AIO) subsystem that can improve performance of
7       sequential scans, bitmap heap scans, vacuums, and other operations.
8      </p></li><li class="listitem"><p>
9       <a class="link" href="pgupgrade.html" title="pg_upgrade"><span class="application">pg_upgrade</span></a>
10       now retains optimizer statistics.
11      </p></li><li class="listitem"><p>
12       Support for "skip scan" lookups that allow using
13       <a class="link" href="indexes-multicolumn.html" title="11.3. Multicolumn Indexes">multicolumn B-tree indexes</a> in
14       more cases.
15      </p></li><li class="listitem"><p>
16       <a class="link" href="functions-uuid.html#FUNC_UUID_GEN_TABLE" title="Table 9.45. UUID Generation Functions"><code class="function">uuidv7()</code></a>
17       function for generating timestamp-ordered
18       <a class="link" href="datatype-uuid.html" title="8.12. UUID Type">UUIDs</a>.
19      </p></li><li class="listitem"><p>
20       Virtual
21       <a class="link" href="sql-createtable.html#SQL-CREATETABLE-PARMS-GENERATED-STORED">generated columns</a>
22       that compute their values during read operations.  This is now the
23       default for generated columns.
24      </p></li><li class="listitem"><p>
25       <a class="link" href="auth-oauth.html" title="20.15. OAuth Authorization/Authentication">OAuth authentication</a> support.
26      </p></li><li class="listitem"><p>
27       <code class="literal">OLD</code> and <code class="literal">NEW</code> support for
28       <a class="link" href="dml-returning.html" title="6.4. Returning Data from Modified Rows"><code class="literal">RETURNING</code></a> clauses
29       in <a class="xref" href="sql-insert.html" title="INSERT"><span class="refentrytitle">INSERT</span></a>, <a class="xref" href="sql-update.html" title="UPDATE"><span class="refentrytitle">UPDATE</span></a>,
30       <a class="xref" href="sql-delete.html" title="DELETE"><span class="refentrytitle">DELETE</span></a>, and <a class="xref" href="sql-merge.html" title="MERGE"><span class="refentrytitle">MERGE</span></a> commands.
31      </p></li><li class="listitem"><p>
32       Temporal constraints, or constraints over ranges, for
33       <a class="link" href="sql-createtable.html#SQL-CREATETABLE-PARMS-PRIMARY-KEY">PRIMARY KEY</a>,
34       <a class="link" href="sql-createtable.html#SQL-CREATETABLE-PARMS-UNIQUE">UNIQUE</a>, and
35       <a class="link" href="sql-createtable.html#SQL-CREATETABLE-PARMS-REFERENCES">FOREIGN KEY</a>
36       constraints.
37      </p></li></ul></div><p>
38     The above items and other new features of
39     <span class="productname">PostgreSQL</span> 18 are explained in more detail
40     in the sections below.
41    </p></div><div class="sect2" id="RELEASE-18-MIGRATION"><div class="titlepage"><div><div><h3 class="title">E.1.2. Migration to Version 18 <a href="#RELEASE-18-MIGRATION" class="id_link">#</a></h3></div></div></div><p>
42     A dump/restore using <a class="xref" href="app-pg-dumpall.html" title="pg_dumpall"><span class="refentrytitle"><span class="application">pg_dumpall</span></span></a> or use of
43     <a class="xref" href="pgupgrade.html" title="pg_upgrade"><span class="refentrytitle"><span class="application">pg_upgrade</span></span></a> or logical replication is required for
44     those wishing to migrate data from any previous release.  See <a class="xref" href="upgrading.html" title="18.6. Upgrading a PostgreSQL Cluster">Section 18.6</a> for general information on migrating to new
45     major releases.
46    </p><p>
47     Version 18 contains a number of changes that may affect compatibility
48     with previous releases.  Observe the following incompatibilities:
49    </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
50     Change <a class="xref" href="app-initdb.html" title="initdb"><span class="refentrytitle"><span class="application">initdb</span></span></a> default to enable data checksums
51     (Greg Sabino Mullane)
52     <a class="ulink" href="https://postgr.es/c/04bec894a04" target="_top">§</a>
53     </p><p>
54     Checksums can be disabled with the
55     new <span class="application">initdb</span> option
56     <code class="option">--no-data-checksums</code>.  <a class="xref" href="pgupgrade.html" title="pg_upgrade"><span class="refentrytitle"><span class="application">pg_upgrade</span></span></a>
57     requires matching cluster checksum settings, so this new option can
58     be useful to upgrade non-checksum old clusters.
59     </p></li><li class="listitem"><p>
60     Change time zone abbreviation handling (Tom Lane)
61     <a class="ulink" href="https://postgr.es/c/d7674c9fa" target="_top">§</a>
62     </p><p>
63     The system will now favor the current session's time
64     zone abbreviations before checking the server variable
65     <a class="xref" href="runtime-config-client.html#GUC-TIMEZONE-ABBREVIATIONS">timezone_abbreviations</a>. Previously
66     <code class="varname">timezone_abbreviations</code> was checked first.
67     </p></li><li class="listitem"><p>
68     Deprecate <a class="link" href="auth-password.html" title="20.5. Password Authentication">MD5 password</a>
69     authentication (Nathan Bossart)
70     <a class="ulink" href="https://postgr.es/c/db6a4a985" target="_top">§</a>
71     </p><p>
72     Support for MD5 passwords will be removed in a future major
73     version release.  <a class="xref" href="sql-createrole.html" title="CREATE ROLE"><span class="refentrytitle">CREATE ROLE</span></a> and <a class="xref" href="sql-alterrole.html" title="ALTER ROLE"><span class="refentrytitle">ALTER ROLE</span></a> now emit deprecation warnings when
74     setting MD5 passwords.  These warnings can be disabled by setting
75     the <a class="xref" href="runtime-config-connection.html#GUC-MD5-PASSWORD-WARNINGS">md5_password_warnings</a> parameter to
76     <code class="literal">off</code>.
77     </p></li><li class="listitem"><p>
78     Change <a class="xref" href="sql-vacuum.html" title="VACUUM"><span class="refentrytitle">VACUUM</span></a> and <a class="xref" href="sql-analyze.html" title="ANALYZE"><span class="refentrytitle">ANALYZE</span></a>
79     to process the inheritance children of a parent (Michael Harris)
80     <a class="ulink" href="https://postgr.es/c/62ddf7ee9" target="_top">§</a>
81     </p><p>
82     The previous behavior can be performed by using the new
83     <code class="literal">ONLY</code> option.
84     </p></li><li class="listitem"><p>
85     Prevent <a class="link" href="sql-copy.html" title="COPY"><code class="command">COPY FROM</code></a>
86     from treating <code class="literal">\.</code> as an end-of-file marker when
87     reading <acronym class="acronym">CSV</acronym> files (Daniel Vérité, Tom Lane)
88     <a class="ulink" href="https://postgr.es/c/770233748" target="_top">§</a>
89     <a class="ulink" href="https://postgr.es/c/da8a4c166" target="_top">§</a>
90     </p><p>
91     <a class="xref" href="app-psql.html" title="psql"><span class="refentrytitle"><span class="application">psql</span></span></a> will still treat
92     <code class="literal">\.</code> as an end-of-file marker when reading
93     <acronym class="acronym">CSV</acronym> files from <code class="literal">STDIN</code>.
94     Older <span class="application">psql</span> clients connecting to
95     <span class="productname">PostgreSQL</span> 18 servers might experience <a class="link" href="app-psql.html#APP-PSQL-META-COMMANDS-COPY"><code class="literal">\copy</code></a>
96     problems.  This release also enforces that <code class="literal">\.</code>
97     must appear alone on a line.
98     </p></li><li class="listitem"><p>
99     Disallow unlogged partitioned tables (Michael Paquier)
100     <a class="ulink" href="https://postgr.es/c/e2bab2d79" target="_top">§</a>
101     </p><p>
102     Previously <a class="link" href="sql-altertable.html" title="ALTER TABLE"><code class="command">ALTER TABLE SET
103     [UN]LOGGED</code></a> did nothing, and the creation of an
104     unlogged partitioned table did not cause its children to be unlogged.
105     </p></li><li class="listitem"><p>
106     Execute <code class="literal">AFTER</code> <a class="link" href="triggers.html" title="Chapter 37. Triggers">triggers</a> as the role that was active when
107     trigger events were queued (Laurenz Albe)
108     <a class="ulink" href="https://postgr.es/c/01463e1cc" target="_top">§</a>
109     </p><p>
110     Previously such triggers were run as the role that was active at
111     trigger execution time (e.g., at <a class="xref" href="sql-commit.html" title="COMMIT"><span class="refentrytitle">COMMIT</span></a>).
112     This is significant for cases where the role is changed between queue
113     time and transaction commit.
114     </p></li><li class="listitem"><p>
115     Remove non-functional support for rule privileges in <a class="xref" href="sql-grant.html" title="GRANT"><span class="refentrytitle">GRANT</span></a>/<a class="xref" href="sql-revoke.html" title="REVOKE"><span class="refentrytitle">REVOKE</span></a> (Fujii Masao)
116     <a class="ulink" href="https://postgr.es/c/fefa76f70" target="_top">§</a>
117     </p><p>
118     These have been non-functional since
119     <span class="productname">PostgreSQL</span> 8.2.
120     </p></li><li class="listitem"><p>
121     Remove column <a class="link" href="view-pg-backend-memory-contexts.html" title="53.5. pg_backend_memory_contexts"><code class="structname">pg_backend_memory_contexts</code></a>.<code class="structfield">parent</code>
122     (Melih Mutlu)
123     <a class="ulink" href="https://postgr.es/c/f0d112759" target="_top">§</a>
124     </p><p>
125     This is no longer needed since
126     <code class="structname">pg_backend_memory_contexts</code>.<code class="structfield">path</code>
127     was added.
128     </p></li><li class="listitem"><p>
129     Change
130     <code class="structname">pg_backend_memory_contexts</code>.<code class="structfield">level</code>
131     and <a class="link" href="functions-admin.html#FUNCTIONS-ADMIN-SIGNAL-TABLE" title="Table 9.96. Server Signaling Functions"><code class="function">pg_log_backend_memory_contexts()</code></a>
132     to be one-based (Melih Mutlu, Atsushi Torikoshi, David Rowley,
133     Fujii Masao)
134     <a class="ulink" href="https://postgr.es/c/32d3ed816" target="_top">§</a>
135     <a class="ulink" href="https://postgr.es/c/d9e03864b" target="_top">§</a>
136     <a class="ulink" href="https://postgr.es/c/706cbed35" target="_top">§</a>
137     </p><p>
138     These were previously zero-based.
139     </p></li><li class="listitem"><p>
140     Change <a class="link" href="textsearch.html" title="Chapter 12. Full Text Search">full text search</a> to use the
141     default collation provider of the cluster to read configuration files
142     and dictionaries, rather than always using libc (Peter Eisentraut)
143     <a class="ulink" href="https://postgr.es/c/fb1a18810f0" target="_top">§</a>
144     </p><p>
145     Clusters that default to non-libc collation providers (e.g., ICU,
146     builtin) that behave differently than libc for characters processed
147     by LC_CTYPE could observe changes in behavior of some full-text
148     search functions, as well as the <a class="xref" href="pgtrgm.html" title="F.35. pg_trgm — support for similarity of text using trigram matching">pg_trgm</a> extension.
149     When upgrading such clusters using <a class="xref" href="pgupgrade.html" title="pg_upgrade"><span class="refentrytitle"><span class="application">pg_upgrade</span></span></a>, it
150     is recommended to reindex all indexes related to full-text search
151     and <span class="application">pg_trgm</span> after the upgrade.
152     </p></li></ul></div></div><div class="sect2" id="RELEASE-18-CHANGES"><div class="titlepage"><div><div><h3 class="title">E.1.3. Changes <a href="#RELEASE-18-CHANGES" class="id_link">#</a></h3></div></div></div><p>
153      Below you will find a detailed account of the changes between
154     <span class="productname">PostgreSQL</span> 18 and the previous major
155     release.
156     </p><div class="sect3" id="RELEASE-18-SERVER"><div class="titlepage"><div><div><h4 class="title">E.1.3.1. Server <a href="#RELEASE-18-SERVER" class="id_link">#</a></h4></div></div></div><div class="sect4" id="RELEASE-18-OPTIMIZER"><div class="titlepage"><div><div><h5 class="title">E.1.3.1.1. Optimizer <a href="#RELEASE-18-OPTIMIZER" class="id_link">#</a></h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
157       Automatically remove some unnecessary table self-joins (Andrey
158       Lepikhov, Alexander Kuzmenkov, Alexander Korotkov, Alena Rybakina)
159       <a class="ulink" href="https://postgr.es/c/fc069a3a6" target="_top">§</a>
160       </p><p>
161       This optimization can be disabled using server variable <a class="xref" href="runtime-config-query.html#GUC-ENABLE-SELF-JOIN-ELIMINATION">enable_self_join_elimination</a>.
162       </p></li><li class="listitem"><p>
163       Convert some <a class="link" href="functions-comparisons.html#FUNCTIONS-COMPARISONS-IN-SCALAR" title="9.25.1. IN"><code class="literal">IN (VALUES
164       ...)</code></a> to <code class="literal">x = ANY ...</code> for better
165       optimizer statistics (Alena Rybakina, Andrei Lepikhov)
166       <a class="ulink" href="https://postgr.es/c/c0962a113" target="_top">§</a>
167       </p></li><li class="listitem"><p>
168       Allow transforming <a class="link" href="functions-logical.html" title="9.1. Logical Operators"><code class="literal">OR</code></a>-clauses
169       to arrays for faster index processing (Alexander Korotkov, Andrey
170       Lepikhov)
171       <a class="ulink" href="https://postgr.es/c/ae4569161" target="_top">§</a>
172       </p></li><li class="listitem"><p>
173       Speed up the processing of <a class="link" href="sql-select.html#SQL-INTERSECT" title="INTERSECT Clause"><code class="literal">INTERSECT</code></a>,
174       <a class="link" href="sql-select.html#SQL-EXCEPT" title="EXCEPT Clause"><code class="literal">EXCEPT</code></a>, <a class="link" href="tutorial-window.html" title="3.5. Window Functions">window aggregates</a>, and <a class="link" href="sql-createview.html" title="CREATE VIEW">view column aliases</a> (Tom Lane,
175       David Rowley)
176       <a class="ulink" href="https://postgr.es/c/52c707483" target="_top">§</a>
177       <a class="ulink" href="https://postgr.es/c/276279295" target="_top">§</a>
178       <a class="ulink" href="https://postgr.es/c/8d96f57d5" target="_top">§</a>
179       <a class="ulink" href="https://postgr.es/c/908a96861" target="_top">§</a>
180       </p></li><li class="listitem"><p>
181       Allow the keys of <a class="link" href="sql-select.html#SQL-DISTINCT" title="DISTINCT Clause"><code class="command">SELECT
182       DISTINCT</code></a> to be internally reordered to avoid sorting
183       (Richard Guo)
184       <a class="ulink" href="https://postgr.es/c/a8ccf4e93" target="_top">§</a>
185       </p><p>
186       This optimization can be disabled using <a class="xref" href="runtime-config-query.html#GUC-ENABLE-DISTINCT-REORDERING">enable_distinct_reordering</a>.
187       </p></li><li class="listitem"><p>
188       Ignore <a class="link" href="sql-select.html#SQL-GROUPBY" title="GROUP BY Clause"><code class="literal">GROUP BY</code></a>
189       columns that are functionally dependent on other columns (Zhang
190       Mingli, Jian He, David Rowley)
191       <a class="ulink" href="https://postgr.es/c/bd10ec529" target="_top">§</a>
192       </p><p>
193       If a <code class="literal">GROUP BY</code> clause includes all columns of
194       a unique index, as well as other columns of the same table, those
195       other columns are redundant and can be dropped from the grouping.
196       This was already true for non-deferred primary keys.
197       </p></li><li class="listitem"><p>
198       Allow some <a class="link" href="sql-select.html#SQL-HAVING" title="HAVING Clause"><code class="literal">HAVING</code></a> clauses
199       on <a class="link" href="queries-table-expressions.html#QUERIES-GROUPING-SETS" title="7.2.4. GROUPING SETS, CUBE, and ROLLUP"><code class="literal">GROUPING
200       SETS</code></a> to be pushed to <a class="link" href="sql-select.html#SQL-WHERE" title="WHERE Clause"><code class="literal">WHERE</code></a> clauses
201       (Richard Guo)
202       <a class="ulink" href="https://postgr.es/c/67a54b9e8" target="_top">§</a>
203       <a class="ulink" href="https://postgr.es/c/247dea89f" target="_top">§</a>
204       <a class="ulink" href="https://postgr.es/c/f5050f795" target="_top">§</a>
205       <a class="ulink" href="https://postgr.es/c/cc5d98525" target="_top">§</a>
206       </p><p>
207       This allows earlier row filtering.  This release also fixes some
208       <code class="literal">GROUPING SETS</code> queries that used to return
209       incorrect results.
210       </p></li><li class="listitem"><p>
211       Improve row estimates for <a class="link" href="functions-srf.html#FUNCTIONS-SRF-SERIES" title="Table 9.69. Series Generating Functions"><code class="function">generate_series()</code></a>
212       using <a class="link" href="datatype-numeric.html" title="8.1. Numeric Types"><code class="type">numeric</code></a>
213       and <a class="link" href="datatype-datetime.html" title="8.5. Date/Time Types"><code class="type">timestamp</code></a>
214       values (David Rowley, Song Jinzhou)
215       <a class="ulink" href="https://postgr.es/c/036bdcec9" target="_top">§</a>
216       <a class="ulink" href="https://postgr.es/c/97173536e" target="_top">§</a>
217       </p></li><li class="listitem"><p>
218       Allow the optimizer to use <code class="literal">Right Semi Join</code> plans
219       (Richard Guo)
220       <a class="ulink" href="https://postgr.es/c/aa86129e1" target="_top">§</a>
221       </p><p>
222       Semi-joins are used when needing to find if there is at least
223       one match.
224       </p></li><li class="listitem"><p>
225       Allow merge joins to use <a class="link" href="runtime-config-query.html#GUC-ENABLE-INCREMENTAL-SORT">incremental sorts</a>
226       (Richard Guo)
227       <a class="ulink" href="https://postgr.es/c/828e94c9d" target="_top">§</a>
228       </p></li><li class="listitem"><p>
229       Improve the efficiency of planning queries accessing many partitions
230       (Ashutosh Bapat, Yuya Watari, David Rowley)
231       <a class="ulink" href="https://postgr.es/c/88f55bc97" target="_top">§</a>
232       <a class="ulink" href="https://postgr.es/c/d69d45a5a" target="_top">§</a>
233       </p></li><li class="listitem"><p>
234       Allow <a class="link" href="runtime-config-query.html#GUC-ENABLE-PARTITIONWISE-JOIN">partitionwise
235       joins</a> in more cases, and reduce its memory usage (Richard Guo,
236       Tom Lane, Ashutosh Bapat)
237       <a class="ulink" href="https://postgr.es/c/9b282a935" target="_top">§</a>
238       <a class="ulink" href="https://postgr.es/c/513f4472a" target="_top">§</a>
239       </p></li><li class="listitem"><p>
240       Improve cost estimates of partition queries (Nikita Malakhov,
241       Andrei Lepikhov)
242       <a class="ulink" href="https://postgr.es/c/fae535da0" target="_top">§</a>
243       </p></li><li class="listitem"><p>
244       Improve <a class="link" href="xfunc-sql.html" title="36.5. Query Language (SQL) Functions"><acronym class="acronym">SQL</acronym>-language
245       function</a> plan caching (Alexander Pyhalov, Tom Lane)
246       <a class="ulink" href="https://postgr.es/c/0dca5d68d" target="_top">§</a>
247       <a class="ulink" href="https://postgr.es/c/09b07c295" target="_top">§</a>
248       </p></li><li class="listitem"><p>
249       Improve handling of disabled optimizer features (Robert Haas)
250       <a class="ulink" href="https://postgr.es/c/e22253467" target="_top">§</a>
251       </p></li></ul></div></div><div class="sect4" id="RELEASE-18-INDEXES"><div class="titlepage"><div><div><h5 class="title">E.1.3.1.2. Indexes <a href="#RELEASE-18-INDEXES" class="id_link">#</a></h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
252       Allow skip scans of <a class="link" href="xfunc-sql.html" title="36.5. Query Language (SQL) Functions">btree</a> indexes
253       (Peter Geoghegan)
254       <a class="ulink" href="https://postgr.es/c/92fe23d93" target="_top">§</a>
255       <a class="ulink" href="https://postgr.es/c/8a510275d" target="_top">§</a>
256       </p><p>
257       This allows multi-column btree indexes to be used in more cases such
258       as when there are no restrictions on the first or early indexed
259       columns (or there are non-equality ones), and there are useful
260       restrictions on later indexed columns.
261       </p></li><li class="listitem"><p>
262       Allow non-btree unique indexes to be used as partition keys and in
263       materialized views (Mark Dilger)
264       <a class="ulink" href="https://postgr.es/c/f278e1fe3" target="_top">§</a>
265       <a class="ulink" href="https://postgr.es/c/9d6db8bec" target="_top">§</a>
266       </p><p>
267       The index type must still support equality.
268       </p></li><li class="listitem"><p>
269       Allow <a class="link" href="gin.html" title="65.4. GIN Indexes"><code class="literal">GIN</code></a> indexes to
270       be created in parallel (Tomas Vondra, Matthias van de Meent)
271       <a class="ulink" href="https://postgr.es/c/8492feb98" target="_top">§</a>
272       </p></li><li class="listitem"><p>
273       Allow values to be sorted to speed range-type <a class="link" href="gist.html" title="65.2. GiST Indexes">GiST</a> and <a class="link" href="btree.html" title="65.1. B-Tree Indexes">btree</a>
274       index builds (Bernd Helmle)
275       <a class="ulink" href="https://postgr.es/c/e9e7b6604" target="_top">§</a>
276       </p></li></ul></div></div><div class="sect4" id="RELEASE-18-PERFORMANCE"><div class="titlepage"><div><div><h5 class="title">E.1.3.1.3. General Performance <a href="#RELEASE-18-PERFORMANCE" class="id_link">#</a></h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
277       Add an asynchronous I/O subsystem (Andres Freund, Thomas Munro,
278       Nazir Bilal Yavuz, Melanie Plageman)
279       <a class="ulink" href="https://postgr.es/c/02844012b" target="_top">§</a>
280       <a class="ulink" href="https://postgr.es/c/da7226993" target="_top">§</a>
281       <a class="ulink" href="https://postgr.es/c/55b454d0e" target="_top">§</a>
282       <a class="ulink" href="https://postgr.es/c/247ce06b8" target="_top">§</a>
283       <a class="ulink" href="https://postgr.es/c/10f664684" target="_top">§</a>
284       <a class="ulink" href="https://postgr.es/c/06fb5612c" target="_top">§</a>
285       <a class="ulink" href="https://postgr.es/c/c325a7633" target="_top">§</a>
286       <a class="ulink" href="https://postgr.es/c/50cb7505b" target="_top">§</a>
287       <a class="ulink" href="https://postgr.es/c/047cba7fa" target="_top">§</a>
288       <a class="ulink" href="https://postgr.es/c/12ce89fd0" target="_top">§</a>
289       <a class="ulink" href="https://postgr.es/c/2a5e709e7" target="_top">§</a>
290       </p><p>
291       This feature allows backends to queue multiple read requests,
292       which allows for more efficient sequential scans, bitmap
293       heap scans, vacuums, etc.  This is enabled by server
294       variable <a class="xref" href="runtime-config-resource.html#GUC-IO-METHOD">io_method</a>, with server
295       variables <a class="xref" href="runtime-config-resource.html#GUC-IO-COMBINE-LIMIT">io_combine_limit</a> and <a class="xref" href="runtime-config-resource.html#GUC-IO-MAX-COMBINE-LIMIT">io_max_combine_limit</a> added to control it.
296       This also enables <a class="xref" href="runtime-config-resource.html#GUC-EFFECTIVE-IO-CONCURRENCY">effective_io_concurrency</a>
297       and <a class="xref" href="runtime-config-resource.html#GUC-MAINTENANCE-IO-CONCURRENCY">maintenance_io_concurrency</a>
298       values greater than zero for systems without
299       <code class="function">fadvise()</code> support.  The new system view <a class="link" href="view-pg-aios.html" title="53.2. pg_aios"><code class="structname">pg_aios</code></a>
300       shows the file handles being used for asynchronous I/O.
301       </p></li><li class="listitem"><p>
302       Improve the locking performance of queries that access many relations
303       (Tomas Vondra)
304       <a class="ulink" href="https://postgr.es/c/c4d5cb71d" target="_top">§</a>
305       </p></li><li class="listitem"><p>
306       Improve the performance and reduce memory usage of hash joins and
307       <a class="link" href="sql-select.html#SQL-GROUPBY" title="GROUP BY Clause"><code class="literal">GROUP BY</code></a>
308       (David Rowley, Jeff Davis)
309       <a class="ulink" href="https://postgr.es/c/adf97c156" target="_top">§</a>
310       <a class="ulink" href="https://postgr.es/c/0f5738202" target="_top">§</a>
311       <a class="ulink" href="https://postgr.es/c/4d143509c" target="_top">§</a>
312       <a class="ulink" href="https://postgr.es/c/a0942f441" target="_top">§</a>
313       <a class="ulink" href="https://postgr.es/c/626df47ad" target="_top">§</a>
314       </p><p>
315       This also improves hash set operations used by <a class="link" href="sql-select.html#SQL-EXCEPT" title="EXCEPT Clause"><code class="literal">EXCEPT</code></a>, and hash
316       lookups of subplan values.
317       </p></li><li class="listitem"><p>
318       Allow normal vacuums to freeze some pages, even though they are
319       all-visible (Melanie Plageman)
320       <a class="ulink" href="https://postgr.es/c/052026c9b" target="_top">§</a>
321       <a class="ulink" href="https://postgr.es/c/06eae9e62" target="_top">§</a>
322       </p><p>
323       This reduces the overhead of later full-relation
324       freezing.  The aggressiveness of this can be
325       controlled by server variable and per-table setting <a class="xref" href="runtime-config-vacuum.html#GUC-VACUUM-MAX-EAGER-FREEZE-FAILURE-RATE">vacuum_max_eager_freeze_failure_rate</a>.  Previously
326       vacuum never processed all-visible pages until freezing was required.
327       </p></li><li class="listitem"><p>
328       Add server variable <a class="xref" href="runtime-config-vacuum.html#GUC-VACUUM-TRUNCATE">vacuum_truncate</a> to control
329       file truncation during <a class="xref" href="sql-vacuum.html" title="VACUUM"><span class="refentrytitle">VACUUM</span></a> (Nathan Bossart,
330       Gurjeet Singh)
331       <a class="ulink" href="https://postgr.es/c/0164a0f9e" target="_top">§</a>
332       </p><p>
333       A storage-level parameter with the same name and behavior already
334       existed.
335       </p></li><li class="listitem"><p>
336       Increase server variables <a class="xref" href="runtime-config-resource.html#GUC-EFFECTIVE-IO-CONCURRENCY">effective_io_concurrency</a>'s and <a class="xref" href="runtime-config-resource.html#GUC-MAINTENANCE-IO-CONCURRENCY">maintenance_io_concurrency</a>'s default values to 16
337       (Melanie Plageman)
338       <a class="ulink" href="https://postgr.es/c/ff79b5b2a" target="_top">§</a>
339       <a class="ulink" href="https://postgr.es/c/cc6be07eb" target="_top">§</a>
340       </p><p>
341       This more accurately reflects modern hardware.
342       </p></li></ul></div></div><div class="sect4" id="RELEASE-18-MONITORING"><div class="titlepage"><div><div><h5 class="title">E.1.3.1.4. Monitoring <a href="#RELEASE-18-MONITORING" class="id_link">#</a></h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
343       Increase the logging granularity of server variable <a class="xref" href="runtime-config-logging.html#GUC-LOG-CONNECTIONS">log_connections</a> (Melanie Plageman)
344       <a class="ulink" href="https://postgr.es/c/9219093ca" target="_top">§</a>
345       </p><p>
346       This server variable was previously only boolean, which is still
347       supported.
348       </p></li><li class="listitem"><p>
349       Add <code class="varname">log_connections</code> option to report the duration
350       of connection stages (Melanie Plageman)
351       <a class="ulink" href="https://postgr.es/c/18cd15e70" target="_top">§</a>
352       </p></li><li class="listitem"><p>
353       Add <a class="xref" href="runtime-config-logging.html#GUC-LOG-LINE-PREFIX">log_line_prefix</a> escape
354       <code class="literal">%L</code> to output the client <acronym class="acronym">IP</acronym>
355       address (Greg Sabino Mullane)
356       <a class="ulink" href="https://postgr.es/c/3516ea768" target="_top">§</a>
357       </p></li><li class="listitem"><p>
358       Add server variable <a class="xref" href="runtime-config-logging.html#GUC-LOG-LOCK-FAILURES">log_lock_failures</a> to log
359       lock acquisition failures (Yuki Seino, Fujii Masao)
360       <a class="ulink" href="https://postgr.es/c/6d376c3b0" target="_top">§</a>
361       <a class="ulink" href="https://postgr.es/c/73bdcfab3" target="_top">§</a>
362       </p><p>
363       Specifically it reports <a class="link" href="sql-select.html#SQL-FOR-UPDATE-SHARE" title="The Locking Clause"><code class="command">SELECT
364       ... NOWAIT</code></a> lock failures.
365       </p></li><li class="listitem"><p>
366       Modify <a class="link" href="monitoring-stats.html#MONITORING-PG-STAT-ALL-TABLES-VIEW" title="27.2.19. pg_stat_all_tables"><code class="structname">pg_stat_all_tables</code></a>
367       and its variants to report the time spent in <a class="xref" href="sql-vacuum.html" title="VACUUM"><span class="refentrytitle">VACUUM</span></a>, <a class="xref" href="sql-analyze.html" title="ANALYZE"><span class="refentrytitle">ANALYZE</span></a>, and their
368       <a class="link" href="routine-vacuuming.html#AUTOVACUUM" title="24.1.6. The Autovacuum Daemon">automatic</a> variants (Sami Imseih)
369       <a class="ulink" href="https://postgr.es/c/30a6ed0ce" target="_top">§</a>
370       </p><p>
371       The new columns are <code class="structfield">total_vacuum_time</code>,
372       <code class="structfield">total_autovacuum_time</code>,
373       <code class="structfield">total_analyze_time</code>, and
374       <code class="structfield">total_autoanalyze_time</code>.
375       </p></li><li class="listitem"><p>
376       Add delay time reporting to <a class="xref" href="sql-vacuum.html" title="VACUUM"><span class="refentrytitle">VACUUM</span></a> and <a class="xref" href="sql-analyze.html" title="ANALYZE"><span class="refentrytitle">ANALYZE</span></a> (Bertrand Drouvot, Nathan Bossart)
377       <a class="ulink" href="https://postgr.es/c/bb8dff999" target="_top">§</a>
378       <a class="ulink" href="https://postgr.es/c/7720082ae" target="_top">§</a>
379       </p><p>
380       This information appears in the server log, the system views <a class="link" href="progress-reporting.html#VACUUM-PROGRESS-REPORTING" title="27.4.5. VACUUM Progress Reporting"><code class="structname">pg_stat_progress_vacuum</code></a>
381       and <a class="link" href="progress-reporting.html#PG-STAT-PROGRESS-ANALYZE-VIEW" title="Table 27.38. pg_stat_progress_analyze View"><code class="structname">pg_stat_progress_analyze</code></a>,
382       and the output of <a class="xref" href="sql-vacuum.html" title="VACUUM"><span class="refentrytitle">VACUUM</span></a> and <a class="xref" href="sql-analyze.html" title="ANALYZE"><span class="refentrytitle">ANALYZE</span></a> when in <code class="literal">VERBOSE</code>
383       mode; tracking must be enabled with the server variable <a class="xref" href="runtime-config-statistics.html#GUC-TRACK-COST-DELAY-TIMING">track_cost_delay_timing</a>.
384       </p></li><li class="listitem"><p>
385       Add <acronym class="acronym">WAL</acronym>, <acronym class="acronym">CPU</acronym>, and average
386       read statistics output to <code class="command">ANALYZE VERBOSE</code>
387       (Anthonin Bonnefoy)
388       <a class="ulink" href="https://postgr.es/c/4c1b4cdb8" target="_top">§</a>
389       <a class="ulink" href="https://postgr.es/c/bb7775234" target="_top">§</a>
390       </p></li><li class="listitem"><p>
391       Add full <acronym class="acronym">WAL</acronym> buffer count to
392       <code class="command">VACUUM</code>/<code class="command">ANALYZE (VERBOSE)</code>
393       and autovacuum log output (Bertrand Drouvot)
394       <a class="ulink" href="https://postgr.es/c/6a8a7ce47" target="_top">§</a>
395       </p></li><li class="listitem"><p>
396       Add per-backend I/O statistics reporting (Bertrand Drouvot)
397       <a class="ulink" href="https://postgr.es/c/9aea73fc6" target="_top">§</a>
398       <a class="ulink" href="https://postgr.es/c/3f1db99bf" target="_top">§</a>
399       </p><p>
400       The statistics are accessed via <a class="link" href="monitoring-stats.html#PG-STAT-GET-BACKEND-IO"><code class="function">pg_stat_get_backend_io()</code></a>.
401       Per-backend I/O statistics can be cleared via <a class="link" href="monitoring-stats.html#MONITORING-STATS-FUNCS-TABLE" title="Table 27.36. Additional Statistics Functions"><code class="function">pg_stat_reset_backend_stats()</code></a>.
402       </p></li><li class="listitem"><p>
403       Add <a class="link" href="monitoring-stats.html#MONITORING-PG-STAT-IO-VIEW" title="27.2.13. pg_stat_io"><code class="structname">pg_stat_io</code></a>
404       columns to report I/O activity in bytes (Nazir Bilal Yavuz)
405       <a class="ulink" href="https://postgr.es/c/f92c854cf" target="_top">§</a>
406       </p><p>
407       The new columns are <code class="structfield">read_bytes</code>,
408       <code class="structfield">write_bytes</code>, and
409       <code class="structfield">extend_bytes</code>.  The
410       <code class="structfield">op_bytes</code> column, which always equaled
411       <a class="link" href="runtime-config-preset.html#GUC-BLOCK-SIZE"><code class="varname">BLCKSZ</code></a>,
412       has been removed.
413       </p></li><li class="listitem"><p>
414       Add <acronym class="acronym">WAL</acronym> I/O activity rows to
415       <code class="structname">pg_stat_io</code> (Nazir Bilal Yavuz, Bertrand
416       Drouvot, Michael Paquier)
417       <a class="ulink" href="https://postgr.es/c/a051e71e2" target="_top">§</a>
418       <a class="ulink" href="https://postgr.es/c/4538bd3f1" target="_top">§</a>
419       <a class="ulink" href="https://postgr.es/c/7f7f324eb" target="_top">§</a>
420       </p><p>
421       This includes <acronym class="acronym">WAL</acronym> receiver activity and a wait
422       event for such writes.
423       </p></li><li class="listitem"><p>
424       Change server variable <a class="xref" href="runtime-config-statistics.html#GUC-TRACK-WAL-IO-TIMING">track_wal_io_timing</a>
425       to control tracking <acronym class="acronym">WAL</acronym> timing
426       in <code class="structname">pg_stat_io</code> instead of <a class="link" href="monitoring-stats.html#PG-STAT-WAL-VIEW" title="Table 27.26. pg_stat_wal View"><code class="structname">pg_stat_wal</code></a>
427       (Bertrand Drouvot)
428       <a class="ulink" href="https://postgr.es/c/6c349d83b" target="_top">§</a>
429       </p></li><li class="listitem"><p>
430       Remove read/sync columns from <code class="structname">pg_stat_wal</code>
431       (Bertrand Drouvot)
432       <a class="ulink" href="https://postgr.es/c/2421e9a51" target="_top">§</a>
433       <a class="ulink" href="https://postgr.es/c/6c349d83b" target="_top">§</a>
434       </p><p>
435       This removes columns <code class="structfield">wal_write</code>,
436       <code class="structfield">wal_sync</code>,
437       <code class="structfield">wal_write_time</code>, and
438       <code class="structfield">wal_sync_time</code>.
439       </p></li><li class="listitem"><p>
440       Add function <a class="link" href="monitoring-stats.html#PG-STAT-GET-BACKEND-WAL"><code class="function">pg_stat_get_backend_wal()</code></a>
441       to return per-backend <acronym class="acronym">WAL</acronym> statistics (Bertrand
442       Drouvot)
443       <a class="ulink" href="https://postgr.es/c/76def4cdd" target="_top">§</a>
444       </p><p>
445       Per-backend <acronym class="acronym">WAL</acronym>
446       statistics can be cleared via <a class="link" href="monitoring-stats.html#MONITORING-STATS-FUNCS-TABLE" title="Table 27.36. Additional Statistics Functions"><code class="function">pg_stat_reset_backend_stats()</code></a>.
447       </p></li><li class="listitem"><p>
448       Add function <a class="link" href="functions-admin.html#FUNCTIONS-ADMIN-GENFILE-TABLE" title="Table 9.108. Generic File Access Functions"><code class="function">pg_ls_summariesdir()</code></a>
449       to specifically list the contents of <a class="link" href="storage-file-layout.html" title="66.1. Database File Layout"><code class="envar">PGDATA</code></a>/<a class="link" href="runtime-config-wal.html#GUC-WAL-SUMMARY-KEEP-TIME"><code class="filename">pg_wal/summaries</code></a>
450       (Yushi Ogiwara)
451       <a class="ulink" href="https://postgr.es/c/4e1fad378" target="_top">§</a>
452       </p></li><li class="listitem"><p>
453       Add column <a class="link" href="monitoring-stats.html#MONITORING-PG-STAT-CHECKPOINTER-VIEW" title="27.2.15. pg_stat_checkpointer"><code class="structname">pg_stat_checkpointer</code></a>.<code class="structfield">num_done</code>
454       to report the number of completed checkpoints (Anton A. Melnikov)
455       <a class="ulink" href="https://postgr.es/c/559efce1d" target="_top">§</a>
456       </p><p>
457       Columns <code class="structfield">num_timed</code> and
458       <code class="structfield">num_requested</code> count both completed and
459       skipped checkpoints.
460       </p></li><li class="listitem"><p>
461       Add column
462       <code class="structname">pg_stat_checkpointer</code>.<code class="structfield">slru_written</code>
463       to report <acronym class="acronym">SLRU</acronym> buffers written (Nitin Jadhav)
464       <a class="ulink" href="https://postgr.es/c/17cc5f666" target="_top">§</a>
465       </p><p>
466       Also, modify the checkpoint server log message to report separate
467       shared buffer and <acronym class="acronym">SLRU</acronym> buffer values.
468       </p></li><li class="listitem"><p>
469       Add columns to <a class="link" href="monitoring-stats.html#MONITORING-PG-STAT-DATABASE-VIEW" title="27.2.17. pg_stat_database"><code class="structname">pg_stat_database</code></a>
470       to report parallel worker activity (Benoit Lobréau)
471       <a class="ulink" href="https://postgr.es/c/e7a9496de" target="_top">§</a>
472       </p><p>
473       The new columns are
474       <code class="structfield">parallel_workers_to_launch</code> and
475       <code class="structfield">parallel_workers_launched</code>.
476       </p></li><li class="listitem"><p>
477       Have <a class="link" href="runtime-config-statistics.html#GUC-COMPUTE-QUERY-ID">query id</a> computation
478       of constant lists consider only the first and last constants (Dmitry
479       Dolgov, Sami Imseih)
480       <a class="ulink" href="https://postgr.es/c/62d712ecf" target="_top">§</a>
481       <a class="ulink" href="https://postgr.es/c/9fbd53dea" target="_top">§</a>
482       <a class="ulink" href="https://postgr.es/c/c2da1a5d6" target="_top">§</a>
483       </p><p>
484       Jumbling is used by <a class="xref" href="pgstatstatements.html" title="F.32. pg_stat_statements — track statistics of SQL planning and execution">pg_stat_statements</a>.
485       </p></li><li class="listitem"><p>
486       Adjust query id computations to group together queries using the
487       same relation name (Michael Paquier, Sami Imseih)
488       <a class="ulink" href="https://postgr.es/c/787514b30" target="_top">§</a>
489       </p><p>
490       This is true even if the tables in different schemas have different
491       column names.
492       </p></li><li class="listitem"><p>
493       Add column <a class="link" href="view-pg-backend-memory-contexts.html" title="53.5. pg_backend_memory_contexts"><code class="structname">pg_backend_memory_contexts</code></a>.<code class="structfield">type</code>
494       to report the type of memory context (David Rowley)
495       <a class="ulink" href="https://postgr.es/c/12227a1d5" target="_top">§</a>
496       </p></li><li class="listitem"><p>
497       Add column
498       <code class="structname">pg_backend_memory_contexts</code>.<code class="structfield">path</code>
499       to show memory context parents (Melih Mutlu)
500       <a class="ulink" href="https://postgr.es/c/32d3ed816" target="_top">§</a>
501       </p></li></ul></div></div><div class="sect4" id="RELEASE-18-PRIVILEGES"><div class="titlepage"><div><div><h5 class="title">E.1.3.1.5. Privileges <a href="#RELEASE-18-PRIVILEGES" class="id_link">#</a></h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
502       Add function <a class="link" href="functions-info.html#FUNCTIONS-INFO-OBJECT-TABLE" title="Table 9.81. Object Information and Addressing Functions"><code class="function">pg_get_acl()</code></a>
503       to retrieve database access control details (Joel Jacobson)
504       <a class="ulink" href="https://postgr.es/c/4564f1ceb" target="_top">§</a>
505       <a class="ulink" href="https://postgr.es/c/d898665bf" target="_top">§</a>
506       </p></li><li class="listitem"><p>
507       Add function <a class="link" href="functions-info.html#FUNCTIONS-INFO-ACCESS-TABLE" title="Table 9.72. Access Privilege Inquiry Functions"><code class="function">has_largeobject_privilege()</code></a>
508       to check large object privileges (Yugo Nagata)
509       <a class="ulink" href="https://postgr.es/c/4eada203a" target="_top">§</a>
510       </p></li><li class="listitem"><p>
511       Allow <a class="xref" href="sql-alterdefaultprivileges.html" title="ALTER DEFAULT PRIVILEGES"><span class="refentrytitle">ALTER DEFAULT PRIVILEGES</span></a> to define
512       large object default privileges (Takatsuka Haruka, Yugo Nagata,
513       Laurenz Albe)
514       <a class="ulink" href="https://postgr.es/c/0d6c47766" target="_top">§</a>
515       </p></li><li class="listitem"><p>
516       Add predefined role <a class="link" href="predefined-roles.html" title="21.5. Predefined Roles"><code class="literal">pg_signal_autovacuum_worker</code></a>
517       (Kirill Reshke)
518       <a class="ulink" href="https://postgr.es/c/ccd38024b" target="_top">§</a>
519       </p><p>
520       This allows sending signals to autovacuum workers.
521       </p></li></ul></div></div><div class="sect4" id="RELEASE-18-SERVER-CONFIG"><div class="titlepage"><div><div><h5 class="title">E.1.3.1.6. Server Configuration <a href="#RELEASE-18-SERVER-CONFIG" class="id_link">#</a></h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
522       Add support for the <a class="link" href="auth-oauth.html" title="20.15. OAuth Authorization/Authentication">OAuth authentication
523       method</a> (Jacob Champion, Daniel Gustafsson, Thomas Munro)
524       <a class="ulink" href="https://postgr.es/c/b3f0be788" target="_top">§</a>
525       </p><p>
526       This adds an <code class="literal">oauth</code> authentication method to <a class="link" href="auth-pg-hba-conf.html" title="20.1. The pg_hba.conf File"><code class="filename">pg_hba.conf</code></a>,
527       libpq OAuth options, a server variable <a class="xref" href="runtime-config-connection.html#GUC-OAUTH-VALIDATOR-LIBRARIES">oauth_validator_libraries</a> to load
528       token validation libraries, and a configure flag <a class="link" href="install-make.html#CONFIGURE-OPTION-WITH-LIBCURL"><code class="option">--with-libcurl</code></a>
529       to add the required compile-time libraries.
530       </p></li><li class="listitem"><p>
531       Add server variable <a class="xref" href="runtime-config-connection.html#GUC-SSL-TLS13-CIPHERS">ssl_tls13_ciphers</a> to allow
532       specification of multiple colon-separated TLSv1.3 cipher suites
533       (Erica Zhang, Daniel Gustafsson)
534       <a class="ulink" href="https://postgr.es/c/45188c2ea" target="_top">§</a>
535       </p></li><li class="listitem"><p>
536       Change server variable <a class="xref" href="runtime-config-connection.html#GUC-SSL-GROUPS">ssl_groups</a>'s default
537       to include elliptic curve X25519 (Daniel Gustafsson, Jacob Champion)
538       <a class="ulink" href="https://postgr.es/c/daa02c6bd" target="_top">§</a>
539       </p></li><li class="listitem"><p>
540       Rename server variable <code class="varname">ssl_ecdh_curve</code> to <a class="xref" href="runtime-config-connection.html#GUC-SSL-GROUPS">ssl_groups</a> and allow multiple colon-separated
541       <acronym class="acronym">ECDH</acronym> curves to be specified (Erica Zhang,
542       Daniel Gustafsson)
543       <a class="ulink" href="https://postgr.es/c/3d1ef3a15" target="_top">§</a>
544       </p><p>
545       The previous name still works.
546       </p></li><li class="listitem"><p>
547       Make <a class="link" href="functions-admin.html#FUNCTIONS-ADMIN-SIGNAL-TABLE" title="Table 9.96. Server Signaling Functions">cancel request
548       keys</a> 256 bits (Heikki Linnakangas, Jelte Fennema-Nio)
549       <a class="ulink" href="https://postgr.es/c/a460251f0" target="_top">§</a>
550       <a class="ulink" href="https://postgr.es/c/9d9b9d46f" target="_top">§</a>
551       </p><p>
552       This is only possible when the server and client support wire
553       protocol version 3.2, introduced in this release.
554       </p></li><li class="listitem"><p>
555       Add server variable <a class="xref" href="runtime-config-vacuum.html#GUC-AUTOVACUUM-WORKER-SLOTS">autovacuum_worker_slots</a>
556       to specify the maximum number of background workers (Nathan Bossart)
557       <a class="ulink" href="https://postgr.es/c/c758119e5" target="_top">§</a>
558       </p><p>
559       With this variable set, <a class="xref" href="runtime-config-vacuum.html#GUC-AUTOVACUUM-MAX-WORKERS">autovacuum_max_workers</a>
560       can be adjusted at runtime up to this maximum without a server
561       restart.
562       </p></li><li class="listitem"><p>
563       Allow specification of the fixed number of dead tuples that will
564       trigger an <a class="link" href="routine-vacuuming.html#AUTOVACUUM" title="24.1.6. The Autovacuum Daemon">autovacuum</a> (Nathan
565       Bossart, Frédéric Yhuel)
566       <a class="ulink" href="https://postgr.es/c/306dc520b" target="_top">§</a>
567       </p><p>
568       The server variable is <a class="xref" href="runtime-config-vacuum.html#GUC-AUTOVACUUM-VACUUM-MAX-THRESHOLD">autovacuum_vacuum_max_threshold</a>.  Percentages are
569       still used for triggering.
570       </p></li><li class="listitem"><p>
571       Change server variable <a class="xref" href="runtime-config-resource.html#GUC-MAX-FILES-PER-PROCESS">max_files_per_process</a>
572       to limit only files opened by a backend (Andres Freund)
573       <a class="ulink" href="https://postgr.es/c/adb5f85fa" target="_top">§</a>
574       </p><p>
575       Previously files opened by the postmaster were also counted toward
576       this limit.
577       </p></li><li class="listitem"><p>
578       Add server variable <a class="xref" href="runtime-config-preset.html#GUC-NUM-OS-SEMAPHORES">num_os_semaphores</a> to
579       report the required number of semaphores (Nathan Bossart)
580       <a class="ulink" href="https://postgr.es/c/0dcaea569" target="_top">§</a>
581       </p><p>
582       This is useful for operating system configuration.
583       </p></li><li class="listitem"><p>
584       Add server variable <a class="xref" href="runtime-config-client.html#GUC-EXTENSION-CONTROL-PATH">extension_control_path</a> to
585       specify the location of extension control files (Peter Eisentraut,
586       Matheus Alcantara)
587       <a class="ulink" href="https://postgr.es/c/4f7f7b037" target="_top">§</a>
588       <a class="ulink" href="https://postgr.es/c/81eaaa2c4" target="_top">§</a>
589       </p></li></ul></div></div><div class="sect4" id="RELEASE-18-REPLICATION"><div class="titlepage"><div><div><h5 class="title">E.1.3.1.7. Streaming Replication and Recovery <a href="#RELEASE-18-REPLICATION" class="id_link">#</a></h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
590       Allow inactive replication slots to be automatically invalidated using
591       server variable <a class="xref" href="runtime-config-replication.html#GUC-IDLE-REPLICATION-SLOT-TIMEOUT">idle_replication_slot_timeout</a>
592       (Nisha Moond, Bharath Rupireddy)
593       <a class="ulink" href="https://postgr.es/c/ac0e33136" target="_top">§</a>
594       </p></li><li class="listitem"><p>
595       Add server variable <a class="xref" href="runtime-config-replication.html#GUC-MAX-ACTIVE-REPLICATION-ORIGINS">max_active_replication_origins</a> to control the
596       maximum active replication origins (Euler Taveira)
597       <a class="ulink" href="https://postgr.es/c/04ff636cb" target="_top">§</a>
598       </p><p>
599       This was previously controlled by <a class="xref" href="runtime-config-replication.html#GUC-MAX-REPLICATION-SLOTS">max_replication_slots</a>, but this new setting allows
600       a higher origin count in cases where fewer slots are required.
601       </p></li></ul></div></div><div class="sect4" id="RELEASE-18-LOGICAL"><div class="titlepage"><div><div><h5 class="title">E.1.3.1.8. <a class="link" href="logical-replication.html" title="Chapter 29. Logical Replication">Logical Replication</a> <a href="#RELEASE-18-LOGICAL" class="id_link">#</a></h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
602       Allow the values of <a class="link" href="sql-createtable.html#SQL-CREATETABLE-PARMS-GENERATED-STORED">generated
603       columns</a> to be logically replicated (Shubham Khanna, Vignesh C,
604       Zhijie Hou, Shlok Kyal, Peter Smith)
605       <a class="ulink" href="https://postgr.es/c/745217a05" target="_top">§</a>
606       <a class="ulink" href="https://postgr.es/c/7054186c4" target="_top">§</a>
607       <a class="ulink" href="https://postgr.es/c/87ce27de6" target="_top">§</a>
608       <a class="ulink" href="https://postgr.es/c/6252b1eaf" target="_top">§</a>
609       </p><p>
610       If the publication specifies a column list, all specified
611       columns, generated and non-generated, are published.
612       Without a specified column list, publication option
613       <code class="literal">publish_generated_columns</code> controls whether
614       generated columns are published. Previously generated columns
615       were not replicated and the subscriber had to compute
616       the values if possible;  this is particularly useful for
617       non-<span class="productname">PostgreSQL</span> subscribers which lack
618       such a capability.
619       </p></li><li class="listitem"><p>
620       Change the default <a class="xref" href="sql-createsubscription.html" title="CREATE SUBSCRIPTION"><span class="refentrytitle">CREATE SUBSCRIPTION</span></a> streaming
621       option from <code class="literal">off</code> to <code class="literal">parallel</code>
622       (Vignesh C)
623       <a class="ulink" href="https://postgr.es/c/1bf1140be" target="_top">§</a>
624       </p></li><li class="listitem"><p>
625       Allow <a class="xref" href="sql-altersubscription.html" title="ALTER SUBSCRIPTION"><span class="refentrytitle">ALTER SUBSCRIPTION</span></a> to change the
626       replication slot's two-phase commit behavior (Hayato Kuroda, Ajin
627       Cherian, Amit Kapila, Zhijie Hou)
628       <a class="ulink" href="https://postgr.es/c/1462aad2e" target="_top">§</a>
629       <a class="ulink" href="https://postgr.es/c/4868c96bc" target="_top">§</a>
630       </p></li><li class="listitem"><p>
631       Log <a class="link" href="hot-standby.html#HOT-STANDBY-CONFLICT" title="26.4.2. Handling Query Conflicts">conflicts</a> while
632       applying logical replication changes (Zhijie Hou, Nisha Moond)
633       <a class="ulink" href="https://postgr.es/c/9758174e2" target="_top">§</a>
634       <a class="ulink" href="https://postgr.es/c/edcb71258" target="_top">§</a>
635       <a class="ulink" href="https://postgr.es/c/640178c92" target="_top">§</a>
636       <a class="ulink" href="https://postgr.es/c/6c2b5edec" target="_top">§</a>
637       <a class="ulink" href="https://postgr.es/c/73eba5004" target="_top">§</a>
638       </p><p>
639       Also report in new columns of <a class="link" href="monitoring-stats.html#MONITORING-PG-STAT-SUBSCRIPTION-STATS" title="27.2.9. pg_stat_subscription_stats"><code class="structname">pg_stat_subscription_stats</code></a>.
640       </p></li></ul></div></div></div><div class="sect3" id="RELEASE-18-UTILITY"><div class="titlepage"><div><div><h4 class="title">E.1.3.2. Utility Commands <a href="#RELEASE-18-UTILITY" class="id_link">#</a></h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
641      Allow <a class="link" href="sql-createtable.html#SQL-CREATETABLE-PARMS-GENERATED-STORED">generated
642      columns</a> to be virtual, and make them the default (Peter
643      Eisentraut, Jian He, Richard Guo, Dean Rasheed)
644      <a class="ulink" href="https://postgr.es/c/83ea6c540" target="_top">§</a>
645      <a class="ulink" href="https://postgr.es/c/cdc168ad4" target="_top">§</a>
646      <a class="ulink" href="https://postgr.es/c/1e4351af3" target="_top">§</a>
647      </p><p>
648      Virtual generated columns generate their values when the columns
649      are read, not written.  The write behavior can still be specified
650      via the <code class="literal">STORED</code> option.
651      </p></li><li class="listitem"><p>
652      Add <code class="literal">OLD</code>/<code class="literal">NEW</code> support to <a class="link" href="dml-returning.html" title="6.4. Returning Data from Modified Rows"><code class="literal">RETURNING</code></a> in
653      <acronym class="acronym">DML</acronym> queries (Dean Rasheed)
654      <a class="ulink" href="https://postgr.es/c/80feb727c" target="_top">§</a>
655      </p><p>
656      Previously <code class="literal">RETURNING</code> only returned new values for
657      <a class="xref" href="sql-insert.html" title="INSERT"><span class="refentrytitle">INSERT</span></a> and <a class="xref" href="sql-update.html" title="UPDATE"><span class="refentrytitle">UPDATE</span></a>, and old
658      values for <a class="xref" href="sql-delete.html" title="DELETE"><span class="refentrytitle">DELETE</span></a>; <a class="xref" href="sql-merge.html" title="MERGE"><span class="refentrytitle">MERGE</span></a>
659      would return the appropriate value for the internal query executed.
660      This new syntax allows the <code class="literal">RETURNING</code> list of
661      <code class="command">INSERT</code>/<code class="command">UPDATE</code>/<code class="command">DELETE</code>/<code class="command">MERGE</code>
662      to explicitly return old and new values by using the special aliases
663      <code class="literal">old</code> and <code class="literal">new</code>.  These aliases
664      can be renamed to avoid identifier conflicts.
665      </p></li><li class="listitem"><p>
666      Allow foreign tables to be created like existing local tables
667      (Zhang Mingli)
668      <a class="ulink" href="https://postgr.es/c/302cf1575" target="_top">§</a>
669      </p><p>
670      The syntax is <a class="link" href="sql-createforeigntable.html" title="CREATE FOREIGN TABLE"><code class="command">CREATE
671      FOREIGN TABLE ... LIKE</code></a>.
672      </p></li><li class="listitem"><p>
673      Allow <a class="link" href="functions-matching.html#FUNCTIONS-LIKE" title="9.7.1. LIKE"><code class="literal">LIKE</code></a>
674      with <a class="link" href="collation.html#COLLATION-NONDETERMINISTIC" title="23.2.2.4. Nondeterministic Collations">nondeterministic
675      collations</a> (Peter Eisentraut)
676      <a class="ulink" href="https://postgr.es/c/85b7efa1c" target="_top">§</a>
677      </p></li><li class="listitem"><p>
678      Allow text position search functions with nondeterministic collations
679      (Peter Eisentraut)
680      <a class="ulink" href="https://postgr.es/c/329304c90" target="_top">§</a>
681      </p><p>
682      These used to generate an error.
683      </p></li><li class="listitem"><p>
684      Add builtin collation provider <a class="link" href="locale.html#LOCALE-PROVIDERS" title="23.1.4. Locale Providers"><code class="literal">PG_UNICODE_FAST</code></a>
685      (Jeff Davis)
686      <a class="ulink" href="https://postgr.es/c/d3d098316" target="_top">§</a>
687      </p><p>
688      This locale supports case mapping, but sorts in code point order,
689      not natural language order.
690      </p></li><li class="listitem"><p>
691      Allow <a class="xref" href="sql-vacuum.html" title="VACUUM"><span class="refentrytitle">VACUUM</span></a> and <a class="xref" href="sql-analyze.html" title="ANALYZE"><span class="refentrytitle">ANALYZE</span></a>
692      to process partitioned tables without processing their children
693      (Michael Harris)
694      <a class="ulink" href="https://postgr.es/c/62ddf7ee9" target="_top">§</a>
695      </p><p>
696      This is enabled with the new <code class="literal">ONLY</code> option.  This is
697      useful since autovacuum does not process partitioned tables, just
698      its children.
699      </p></li><li class="listitem"><p>
700      Add functions to modify per-relation and per-column optimizer
701      statistics (Corey Huinker)
702      <a class="ulink" href="https://postgr.es/c/e839c8ecc" target="_top">§</a>
703      <a class="ulink" href="https://postgr.es/c/d32d14639" target="_top">§</a>
704      <a class="ulink" href="https://postgr.es/c/650ab8aaf" target="_top">§</a>
705      </p><p>
706      The functions are <a class="link" href="functions-admin.html#FUNCTIONS-ADMIN-STATSMOD" title="Table 9.105. Database Object Statistics Manipulation Functions"><code class="function">pg_restore_relation_stats()</code></a>,
707      <code class="function">pg_restore_attribute_stats()</code>,
708      <code class="function">pg_clear_relation_stats()</code>, and
709      <code class="function">pg_clear_attribute_stats()</code>.
710      </p></li><li class="listitem"><p>
711      Add server variable <a class="xref" href="runtime-config-resource.html#GUC-FILE-COPY-METHOD">file_copy_method</a> to control
712      the file copying method (Nazir Bilal Yavuz)
713      <a class="ulink" href="https://postgr.es/c/f78ca6f3e" target="_top">§</a>
714      </p><p>
715      This controls whether <a class="link" href="sql-createdatabase.html" title="CREATE DATABASE"><code class="command">CREATE DATABASE
716      ... STRATEGY=FILE_COPY</code></a> and <a class="link" href="sql-alterdatabase.html" title="ALTER DATABASE"><code class="command">ALTER DATABASE ... SET
717      TABLESPACE</code></a> uses file copy or clone.
718      </p></li></ul></div><div class="sect4" id="RELEASE-18-CONSTRAINTS"><div class="titlepage"><div><div><h5 class="title">E.1.3.2.1. <a class="link" href="ddl-constraints.html" title="5.5. Constraints">Constraints</a> <a href="#RELEASE-18-CONSTRAINTS" class="id_link">#</a></h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
719       Allow the specification of non-overlapping <a class="link" href="sql-createtable.html#SQL-CREATETABLE-PARMS-PRIMARY-KEY"><code class="literal">PRIMARY
720       KEY</code></a>, <a class="link" href="sql-createtable.html#SQL-CREATETABLE-PARMS-UNIQUE">
721       <code class="literal">UNIQUE</code></a>, and
722       <a class="link" href="sql-createtable.html#SQL-CREATETABLE-PARMS-REFERENCES">foreign key</a>
723       constraints (Paul A. Jungwirth)
724       <a class="ulink" href="https://postgr.es/c/fc0438b4e" target="_top">§</a>
725       <a class="ulink" href="https://postgr.es/c/89f908a6d" target="_top">§</a>
726       </p><p>
727       This is specified by <code class="literal">WITHOUT OVERLAPS</code> for
728       <code class="literal">PRIMARY KEY</code> and <code class="literal">UNIQUE</code>, and by
729       <code class="literal">PERIOD</code> for foreign keys, all applied to the last
730       specified column.
731       </p></li><li class="listitem"><p>
732       Allow <a class="link" href="sql-createtable.html#SQL-CREATETABLE-PARMS-CHECK"><code class="literal">CHECK</code></a>
733       and <a class="link" href="sql-createtable.html#SQL-CREATETABLE-PARMS-REFERENCES">foreign
734       key</a> constraints to be specified as <code class="literal">NOT
735       ENFORCED</code> (Amul Sul)
736       <a class="ulink" href="https://postgr.es/c/ca87c415e" target="_top">§</a>
737       <a class="ulink" href="https://postgr.es/c/eec0040c4" target="_top">§</a>
738       </p><p>
739       This also adds column <a class="link" href="catalog-pg-constraint.html" title="52.13. pg_constraint"><code class="structname">pg_constraint</code></a>.<code class="structfield">conenforced</code>.
740       </p></li><li class="listitem"><p>
741       Require <a class="link" href="sql-createtable.html#SQL-CREATETABLE-PARMS-REFERENCES">primary/foreign key</a>
742       relationships to use either deterministic collations or the the
743       same nondeterministic collations (Peter Eisentraut)
744       <a class="ulink" href="https://postgr.es/c/9321d2fdf" target="_top">§</a>
745       </p><p>
746       The restore of a <a class="xref" href="app-pgdump.html" title="pg_dump"><span class="refentrytitle"><span class="application">pg_dump</span></span></a>, also used by <a class="xref" href="pgupgrade.html" title="pg_upgrade"><span class="refentrytitle"><span class="application">pg_upgrade</span></span></a>, will fail if these requirements are not met;
747       schema changes must be made for these upgrade methods to succeed.
748       </p></li><li class="listitem"><p>
749       Store column <a class="link" href="sql-createtable.html#SQL-CREATETABLE-PARMS-NOT-NULL"><code class="literal">NOT
750       NULL</code></a> specifications in <a class="link" href="catalog-pg-constraint.html" title="52.13. pg_constraint"><code class="structname">pg_constraint</code></a>
751       (Álvaro Herrera, Bernd Helmle)
752       <a class="ulink" href="https://postgr.es/c/14e87ffa5" target="_top">§</a>
753       <a class="ulink" href="https://postgr.es/c/81ce602d4" target="_top">§</a>
754       </p><p>
755       This allows names to be specified for <code class="literal">NOT NULL</code>
756       constraint.  This also adds <code class="literal">NOT NULL</code> constraints
757       to foreign tables and <code class="literal">NOT NULL</code> inheritance
758       control to local tables.
759       </p></li><li class="listitem"><p>
760       Allow <a class="xref" href="sql-altertable.html" title="ALTER TABLE"><span class="refentrytitle">ALTER TABLE</span></a> to set the <code class="literal">NOT
761       VALID</code> attribute of <code class="literal">NOT NULL</code> constraints
762       (Rushabh Lathia, Jian He)
763       <a class="ulink" href="https://postgr.es/c/a379061a2" target="_top">§</a>
764       </p></li><li class="listitem"><p>
765       Allow modification of the inheritability of <code class="literal">NOT
766       NULL</code> constraints (Suraj Kharage, Álvaro Herrera)
767       <a class="ulink" href="https://postgr.es/c/f4e53e10b" target="_top">§</a>
768       <a class="ulink" href="https://postgr.es/c/4a02af8b1" target="_top">§</a>
769       </p><p>
770       The syntax is <a class="link" href="sql-altertable.html" title="ALTER TABLE"><code class="command">ALTER TABLE
771       ... ALTER CONSTRAINT ... [NO] INHERIT</code></a>.
772       </p></li><li class="listitem"><p>
773       Allow <code class="literal">NOT VALID</code> foreign key constraints on
774       partitioned tables (Amul Sul)
775       <a class="ulink" href="https://postgr.es/c/b663b9436" target="_top">§</a>
776       </p></li><li class="listitem"><p>
777       Allow <a class="link" href="sql-altertable.html#SQL-ALTERTABLE-DESC-DROP-CONSTRAINT">dropping</a>
778       of constraints <code class="literal">ONLY</code> on partitioned tables
779       (Álvaro Herrera)
780       <a class="ulink" href="https://postgr.es/c/4dea33ce7" target="_top">§</a>
781       </p><p>
782       This was previously erroneously prohibited.
783       </p></li></ul></div></div><div class="sect4" id="RELEASE-18-COPY"><div class="titlepage"><div><div><h5 class="title">E.1.3.2.2. <a class="xref" href="sql-copy.html" title="COPY"><span class="refentrytitle">COPY</span></a> <a href="#RELEASE-18-COPY" class="id_link">#</a></h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
784       Add <code class="literal">REJECT_LIMIT</code> to control the number of invalid
785       rows <code class="command">COPY FROM</code> can ignore (Atsushi Torikoshi)
786       <a class="ulink" href="https://postgr.es/c/4ac2a9bec" target="_top">§</a>
787       </p><p>
788       This is available when <code class="literal">ON_ERROR = 'ignore'</code>.
789       </p></li><li class="listitem"><p>
790       Allow <code class="command">COPY TO</code> to copy rows from populated
791       materialized views (Jian He)
792       <a class="ulink" href="https://postgr.es/c/534874fac" target="_top">§</a>
793       </p></li><li class="listitem"><p>
794       Add <code class="command">COPY</code> <code class="literal">LOG_VERBOSITY</code> level
795       <code class="literal">silent</code> to suppress log output of ignored rows
796       (Atsushi Torikoshi)
797       <a class="ulink" href="https://postgr.es/c/e7834a1a2" target="_top">§</a>
798       </p><p>
799       This new level suppresses output for discarded input rows when
800       <code class="literal">on_error = 'ignore'</code>.
801       </p></li><li class="listitem"><p>
802       Disallow <code class="command">COPY FREEZE</code> on foreign tables (Nathan
803       Bossart)
804       <a class="ulink" href="https://postgr.es/c/401a6956f" target="_top">§</a>
805       </p><p>
806       Previously, the <code class="command">COPY</code> worked but the
807       <code class="literal">FREEZE</code> was ignored, so disallow this command.
808       </p></li></ul></div></div><div class="sect4" id="RELEASE-18-EXPLAIN"><div class="titlepage"><div><div><h5 class="title">E.1.3.2.3. <a class="xref" href="sql-explain.html" title="EXPLAIN"><span class="refentrytitle">EXPLAIN</span></a> <a href="#RELEASE-18-EXPLAIN" class="id_link">#</a></h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
809       Automatically include <code class="literal">BUFFERS</code> output in
810       <code class="command">EXPLAIN ANALYZE</code> (Guillaume Lelarge, David Rowley)
811       <a class="ulink" href="https://postgr.es/c/c2a4078eb" target="_top">§</a>
812       </p></li><li class="listitem"><p>
813       Add full <acronym class="acronym">WAL</acronym> buffer count to <code class="command">EXPLAIN
814       (WAL)</code> output (Bertrand Drouvot)
815       <a class="ulink" href="https://postgr.es/c/320545bfc" target="_top">§</a>
816       </p></li><li class="listitem"><p>
817       In <code class="command">EXPLAIN ANALYZE</code>, report the number of index
818       lookups used per index scan node (Peter Geoghegan)
819       <a class="ulink" href="https://postgr.es/c/0fbceae84" target="_top">§</a>
820       </p></li><li class="listitem"><p>
821       Modify <code class="command">EXPLAIN</code> to output fractional row counts
822       (Ibrar Ahmed, Ilia Evdokimov, Robert Haas)
823       <a class="ulink" href="https://postgr.es/c/ddb17e387" target="_top">§</a>
824       <a class="ulink" href="https://postgr.es/c/95dbd827f" target="_top">§</a>
825       </p></li><li class="listitem"><p>
826       Add memory and disk usage details to <code class="literal">Material</code>,
827       <code class="literal">Window Aggregate</code>, and common table expression
828       nodes to <code class="command">EXPLAIN</code> output (David Rowley, Tatsuo
829       Ishii)
830       <a class="ulink" href="https://postgr.es/c/1eff8279d" target="_top">§</a>
831       <a class="ulink" href="https://postgr.es/c/53abb1e0e" target="_top">§</a>
832       <a class="ulink" href="https://postgr.es/c/95d6e9af0" target="_top">§</a>
833       <a class="ulink" href="https://postgr.es/c/40708acd6" target="_top">§</a>
834       </p></li><li class="listitem"><p>
835       Add details about window function arguments to
836       <code class="command">EXPLAIN</code> output (Tom Lane)
837       <a class="ulink" href="https://postgr.es/c/8b1b34254" target="_top">§</a>
838       </p></li><li class="listitem"><p>
839       Add <code class="literal">Parallel Bitmap Heap Scan</code> worker cache
840       statistics to <code class="command">EXPLAIN ANALYZE</code> (David Geier,
841       Heikki Linnakangas, Donghang Lin, Alena Rybakina, David Rowley)
842       <a class="ulink" href="https://postgr.es/c/5a1e6df3b" target="_top">§</a>
843       </p></li><li class="listitem"><p>
844       Indicate disabled nodes in <code class="command">EXPLAIN ANALYZE</code> output
845       (Robert Haas, David Rowley, Laurenz Albe)
846       <a class="ulink" href="https://postgr.es/c/c01743aa4" target="_top">§</a>
847       <a class="ulink" href="https://postgr.es/c/161320b4b" target="_top">§</a>
848       <a class="ulink" href="https://postgr.es/c/84b8fccbe" target="_top">§</a>
849       </p></li></ul></div></div></div><div class="sect3" id="RELEASE-18-DATATYPES"><div class="titlepage"><div><div><h4 class="title">E.1.3.3. Data Types <a href="#RELEASE-18-DATATYPES" class="id_link">#</a></h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
850      Improve <a class="link" href="collation.html#COLLATION-MANAGING-STANDARD" title="23.2.2.1. Standard Collations">Unicode</a>
851      full case mapping and conversion (Jeff Davis)
852      <a class="ulink" href="https://postgr.es/c/4e7f62bc3" target="_top">§</a>
853      <a class="ulink" href="https://postgr.es/c/286a365b9" target="_top">§</a>
854      </p><p>
855      This adds the ability to do conditional and title case mapping,
856      and case map single characters to multiple characters.
857      </p></li><li class="listitem"><p>
858      Allow <a class="link" href="datatype-json.html" title="8.14. JSON Types"><code class="type">jsonb</code></a>
859      <code class="literal">null</code> values to be cast to scalar types as
860      <code class="literal">NULL</code> (Tom Lane)
861      <a class="ulink" href="https://postgr.es/c/a5579a90a" target="_top">§</a>
862      </p><p>
863      Previously such casts generated an error.
864      </p></li><li class="listitem"><p>
865      Add optional parameter to <a class="link" href="functions-json.html#FUNCTIONS-JSON-PROCESSING-TABLE" title="Table 9.51. JSON Processing Functions"><code class="function">json{b}_strip_nulls</code></a>
866      to allow removal of null array elements (Florents Tselai)
867      <a class="ulink" href="https://postgr.es/c/4603903d2" target="_top">§</a>
868      </p></li><li class="listitem"><p>
869      Add function <a class="link" href="functions-array.html#ARRAY-FUNCTIONS-TABLE" title="Table 9.57. Array Functions"><code class="function">array_sort()</code></a>
870      which sorts an array's first dimension (Junwang Zhao, Jian He)
871      <a class="ulink" href="https://postgr.es/c/6c12ae09f" target="_top">§</a>
872      </p></li><li class="listitem"><p>
873      Add function <a class="link" href="functions-array.html#ARRAY-FUNCTIONS-TABLE" title="Table 9.57. Array Functions"><code class="function">array_reverse()</code></a>
874      which reverses an array's first dimension (Aleksander Alekseev)
875      <a class="ulink" href="https://postgr.es/c/49d6c7d8d" target="_top">§</a>
876      </p></li><li class="listitem"><p>
877      Add function <a class="link" href="functions-string.html#FUNCTIONS-STRING-OTHER" title="Table 9.10. Other String Functions and Operators"><code class="function">reverse()</code></a>
878      to reverse bytea bytes (Aleksander Alekseev)
879      <a class="ulink" href="https://postgr.es/c/0697b2390" target="_top">§</a>
880      </p></li><li class="listitem"><p>
881      Allow casting between integer types and <a class="link" href="datatype-binary.html" title="8.4. Binary Data Types"><code class="type">bytea</code></a> (Aleksander
882      Alekseev)
883      <a class="ulink" href="https://postgr.es/c/6da469bad" target="_top">§</a>
884      </p><p>
885      The integer values are stored as <code class="type">bytea</code> two's complement
886      values.
887      </p></li><li class="listitem"><p>
888      Update Unicode data to <a class="link" href="collation.html#COLLATION-MANAGING-STANDARD" title="23.2.2.1. Standard Collations">Unicode</a> 16.0.0 (Peter
889      Eisentraut)
890      <a class="ulink" href="https://postgr.es/c/82a46cca9" target="_top">§</a>
891      </p></li><li class="listitem"><p>
892      Add full text search <a class="link" href="textsearch-dictionaries.html#TEXTSEARCH-SNOWBALL-DICTIONARY" title="12.6.6. Snowball Dictionary">stemming</a> for Estonian
893      (Tom Lane)
894      <a class="ulink" href="https://postgr.es/c/b464e51ab" target="_top">§</a>
895      </p></li><li class="listitem"><p>
896      Improve the <a class="link" href="datatype-xml.html" title="8.13. XML Type"><code class="type">XML</code></a>
897      error codes to more closely match the <acronym class="acronym">SQL</acronym> standard
898      (Tom Lane)
899      <a class="ulink" href="https://postgr.es/c/cd838e200" target="_top">§</a>
900      </p><p>
901      These errors are reported via <a class="link" href="errcodes-appendix.html" title="Appendix A. PostgreSQL Error Codes"><code class="literal">SQLSTATE</code></a>.
902      </p></li></ul></div></div><div class="sect3" id="RELEASE-18-FUNCTIONS"><div class="titlepage"><div><div><h4 class="title">E.1.3.4. Functions <a href="#RELEASE-18-FUNCTIONS" class="id_link">#</a></h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
903      Add function <a class="link" href="functions-string.html#FUNCTIONS-STRING-OTHER" title="Table 9.10. Other String Functions and Operators"><code class="function">casefold()</code></a>
904      to allow for more sophisticated case-insensitive matching (Jeff Davis)
905      <a class="ulink" href="https://postgr.es/c/bfc599206" target="_top">§</a>
906      </p><p>
907      This allows more accurate comparisons, i.e., a character can have
908      multiple upper or lower case equivalents, or upper or lower case
909      conversion changes the number of characters.
910      </p></li><li class="listitem"><p>
911      Allow <a class="link" href="functions-aggregate.html#FUNCTIONS-AGGREGATE-TABLE" title="Table 9.62. General-Purpose Aggregate Functions"><code class="function">MIN()</code></a>/<a class="link" href="functions-aggregate.html#FUNCTIONS-AGGREGATE-TABLE" title="Table 9.62. General-Purpose Aggregate Functions"><code class="function">MAX()</code></a>
912      aggregates on arrays and composite types (Aleksander Alekseev,
913      Marat Buharov)
914      <a class="ulink" href="https://postgr.es/c/a0f1fce80" target="_top">§</a>
915      <a class="ulink" href="https://postgr.es/c/2d24fd942" target="_top">§</a>
916      </p></li><li class="listitem"><p>
917      Add a <code class="literal">WEEK</code> option to <a class="link" href="functions-datetime.html#FUNCTIONS-DATETIME-EXTRACT" title="9.9.1. EXTRACT, date_part"><code class="function">EXTRACT()</code></a>
918      (Tom Lane)
919      <a class="ulink" href="https://postgr.es/c/6be39d77a" target="_top">§</a>
920      </p></li><li class="listitem"><p>
921      Improve the output <code class="literal">EXTRACT(QUARTER ...)</code> for
922      negative values (Tom Lane)
923      <a class="ulink" href="https://postgr.es/c/6be39d77a" target="_top">§</a>
924      </p></li><li class="listitem"><p>
925      Add roman numeral support to <a class="link" href="functions-formatting.html#FUNCTIONS-FORMATTING-TABLE" title="Table 9.26. Formatting Functions"><code class="function">to_number()</code></a>
926      (Hunaid Sohail)
927      <a class="ulink" href="https://postgr.es/c/172e6b3ad" target="_top">§</a>
928      </p><p>
929      This is accessed via the <code class="literal">RN</code> pattern.
930      </p></li><li class="listitem"><p>
931      Add <a class="link" href="datatype-uuid.html" title="8.12. UUID Type"><code class="type">UUID</code></a>
932      version 7 generation function <a class="link" href="functions-uuid.html#FUNC_UUID_GEN_TABLE" title="Table 9.45. UUID Generation Functions"><code class="function">uuidv7()</code></a>
933      (Andrey Borodin)
934      <a class="ulink" href="https://postgr.es/c/78c5e141e" target="_top">§</a>
935      </p><p>
936      This <code class="type">UUID</code> value is
937      temporally sortable.  Function alias <a class="link" href="functions-uuid.html#FUNC_UUID_GEN_TABLE" title="Table 9.45. UUID Generation Functions"><code class="function">uuidv4()</code></a>
938      has been added to explicitly generate version 4 UUIDs.
939      </p></li><li class="listitem"><p>
940      Add functions <a class="link" href="functions-binarystring.html#FUNCTIONS-BINARYSTRING-OTHER" title="Table 9.12. Other Binary String Functions"><code class="function">crc32()</code></a>
941      and <a class="link" href="functions-binarystring.html#FUNCTIONS-BINARYSTRING-OTHER" title="Table 9.12. Other Binary String Functions"><code class="function">crc32c()</code></a>
942      to compute <acronym class="acronym">CRC</acronym> values (Aleksander Alekseev)
943      <a class="ulink" href="https://postgr.es/c/760162fed" target="_top">§</a>
944      </p></li><li class="listitem"><p>
945      Add math functions <a class="link" href="functions-math.html#FUNCTIONS-MATH-FUNC-TABLE" title="Table 9.5. Mathematical Functions"><code class="function">gamma()</code></a>
946      and <a class="link" href="functions-math.html#FUNCTIONS-MATH-FUNC-TABLE" title="Table 9.5. Mathematical Functions"><code class="function">lgamma()</code></a>
947      (Dean Rasheed)
948      <a class="ulink" href="https://postgr.es/c/a3b6dfd41" target="_top">§</a>
949      </p></li><li class="listitem"><p>
950      Allow <code class="literal">=&gt;</code> syntax for named cursor arguments in
951      <a class="link" href="plpgsql.html" title="Chapter 41. PL/pgSQL — SQL Procedural Language">PL/pgSQL</a> (Pavel Stehule)
952      <a class="ulink" href="https://postgr.es/c/246dedc5d" target="_top">§</a>
953      </p><p>
954      We previously only accepted <code class="literal">:=</code>.
955      </p></li><li class="listitem"><p>
956      Allow <a class="link" href="functions-matching.html#FUNCTIONS-POSIX-REGEXP" title="9.7.3. POSIX Regular Expressions"><code class="function">regexp_match[es]()</code></a>/<a class="link" href="functions-matching.html#FUNCTIONS-POSIX-REGEXP" title="9.7.3. POSIX Regular Expressions"><code class="function">regexp_like()</code></a>/<a class="link" href="functions-matching.html#FUNCTIONS-POSIX-REGEXP" title="9.7.3. POSIX Regular Expressions"><code class="function">regexp_replace()</code></a>/<a class="link" href="functions-matching.html#FUNCTIONS-POSIX-REGEXP" title="9.7.3. POSIX Regular Expressions"><code class="function">regexp_count()</code></a>/<a class="link" href="functions-matching.html#FUNCTIONS-POSIX-REGEXP" title="9.7.3. POSIX Regular Expressions"><code class="function">regexp_instr()</code></a>/<a class="link" href="functions-matching.html#FUNCTIONS-POSIX-REGEXP" title="9.7.3. POSIX Regular Expressions"><code class="function">regexp_substr()</code></a>/<a class="link" href="functions-matching.html#FUNCTIONS-POSIX-REGEXP" title="9.7.3. POSIX Regular Expressions"><code class="function">regexp_split_to_table()</code></a>/<a class="link" href="functions-matching.html#FUNCTIONS-POSIX-REGEXP" title="9.7.3. POSIX Regular Expressions"><code class="function">regexp_split_to_array()</code></a>
957      to use named arguments (Jian He)
958      <a class="ulink" href="https://postgr.es/c/580f8727c" target="_top">§</a>
959      </p></li></ul></div></div><div class="sect3" id="RELEASE-18-LIBPQ"><div class="titlepage"><div><div><h4 class="title">E.1.3.5. <a class="xref" href="libpq.html" title="Chapter 32. libpq — C Library">libpq</a> <a href="#RELEASE-18-LIBPQ" class="id_link">#</a></h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
960      Add function <a class="link" href="libpq-status.html#LIBPQ-PQFULLPROTOCOLVERSION"><code class="function">PQfullProtocolVersion()</code></a>
961      to report the full, including minor, protocol version number (Jacob
962      Champion, Jelte Fennema-Nio)
963      <a class="ulink" href="https://postgr.es/c/cdb6b0fdb" target="_top">§</a>
964      </p></li><li class="listitem"><p>
965      Add libpq connection <a class="link" href="libpq-connect.html#LIBPQ-CONNECT-SSL-MAX-PROTOCOL-VERSION">parameters</a>
966      and <a class="link" href="libpq-envars.html" title="32.15. Environment Variables">environment variables</a> to
967      specify the minimum and maximum acceptable protocol version for
968      connections (Jelte Fennema-Nio)
969      <a class="ulink" href="https://postgr.es/c/285613c60" target="_top">§</a>
970      <a class="ulink" href="https://postgr.es/c/507034910" target="_top">§</a>
971      </p></li><li class="listitem"><p>
972      Report <a class="xref" href="runtime-config-client.html#GUC-SEARCH-PATH">search_path</a> changes to the client
973      (Alexander Kukushkin, Jelte Fennema-Nio, Tomas Vondra)
974      <a class="ulink" href="https://postgr.es/c/28a1121fd" target="_top">§</a>
975      <a class="ulink" href="https://postgr.es/c/0d06a7eac" target="_top">§</a>
976      </p></li><li class="listitem"><p>
977      Add <a class="link" href="libpq-control.html#LIBPQ-PQTRACE"><code class="function">PQtrace()</code></a> output
978      for all message types, including authentication (Jelte Fennema-Nio)
979      <a class="ulink" href="https://postgr.es/c/ea92f3a0a" target="_top">§</a>
980      <a class="ulink" href="https://postgr.es/c/a5c6b8f22" target="_top">§</a>
981      <a class="ulink" href="https://postgr.es/c/b8b3f861f" target="_top">§</a>
982      <a class="ulink" href="https://postgr.es/c/e87c14b19" target="_top">§</a>
983      <a class="ulink" href="https://postgr.es/c/7adec2d5f" target="_top">§</a>
984      </p></li><li class="listitem"><p>
985      Add libpq connection parameter <a class="link" href="libpq-connect.html#LIBPQ-CONNECT-SSLKEYLOGFILE"><code class="varname">sslkeylogfile</code></a>
986      which dumps out <acronym class="acronym">SSL</acronym> key material (Abhishek Chanda,
987      Daniel Gustafsson)
988      <a class="ulink" href="https://postgr.es/c/2da74d8d6" target="_top">§</a>
989      </p><p>
990      This is useful for debugging.
991      </p></li><li class="listitem"><p>
992      Modify some libpq function signatures to use
993      <code class="literal">int64_t</code> (Thomas Munro)
994      <a class="ulink" href="https://postgr.es/c/3c86223c9" target="_top">§</a>
995      </p><p>
996      These previously used <code class="literal">pg_int64</code>, which is now
997      deprecated.
998      </p></li></ul></div></div><div class="sect3" id="RELEASE-18-PSQL"><div class="titlepage"><div><div><h4 class="title">E.1.3.6. <a class="xref" href="app-psql.html" title="psql"><span class="refentrytitle"><span class="application">psql</span></span></a> <a href="#RELEASE-18-PSQL" class="id_link">#</a></h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
999      Allow <span class="application">psql</span> to parse, bind, and close
1000      named prepared statements (Anthonin Bonnefoy, Michael Paquier)
1001      <a class="ulink" href="https://postgr.es/c/d55322b0d" target="_top">§</a>
1002      <a class="ulink" href="https://postgr.es/c/fc39b286a" target="_top">§</a>
1003      </p><p>
1004      This is accomplished with new commands <a class="link" href="app-psql.html#APP-PSQL-META-COMMAND-PARSE"><code class="literal">\parse</code></a>,
1005      <a class="link" href="app-psql.html#APP-PSQL-META-COMMAND-BIND-NAMED"><code class="literal">\bind_named</code></a>,
1006      and <a class="link" href="app-psql.html#APP-PSQL-META-COMMAND-CLOSE-PREPARED"><code class="literal">\close_prepared</code></a>.
1007      </p></li><li class="listitem"><p>
1008      Add <span class="application">psql</span> backslash commands to allowing
1009      issuance of pipeline queries (Anthonin Bonnefoy)
1010      <a class="ulink" href="https://postgr.es/c/41625ab8e" target="_top">§</a>
1011      <a class="ulink" href="https://postgr.es/c/17caf6644" target="_top">§</a>
1012      <a class="ulink" href="https://postgr.es/c/2cce0fe44" target="_top">§</a>
1013      </p><p>
1014      The new commands are <a class="link" href="app-psql.html#APP-PSQL-META-COMMAND-PIPELINE"><code class="literal">\startpipeline</code></a>,
1015      <code class="literal">\syncpipeline</code>, <code class="literal">\sendpipeline</code>,
1016      <code class="literal">\endpipeline</code>, <code class="literal">\flushrequest</code>,
1017      <code class="literal">\flush</code>, and <code class="literal">\getresults</code>.
1018      </p></li><li class="listitem"><p>
1019      Allow adding pipeline status to the <span class="application">psql</span>
1020      prompt and add related state variables (Anthonin Bonnefoy)
1021      <a class="ulink" href="https://postgr.es/c/3ce357584" target="_top">§</a>
1022      </p><p>
1023      The new prompt character is <code class="literal">%P</code> and
1024      the new <span class="application">psql</span> variables are <a class="link" href="app-psql.html#APP-PSQL-VARIABLES-PIPELINE-SYNC-COUNT"><code class="literal">PIPELINE_SYNC_COUNT</code></a>,
1025      <a class="link" href="app-psql.html#APP-PSQL-VARIABLES-PIPELINE-COMMAND-COUNT"><code class="literal">PIPELINE_COMMAND_COUNT</code></a>,
1026      and <a class="link" href="app-psql.html#APP-PSQL-VARIABLES-PIPELINE-RESULT-COUNT"><code class="literal">PIPELINE_RESULT_COUNT</code></a>.
1027      </p></li><li class="listitem"><p>
1028      Allow adding the connection service name to the
1029      <span class="application">psql</span> prompt or access it via
1030      <span class="application">psql</span> variable (Michael Banck)
1031      <a class="ulink" href="https://postgr.es/c/477728b5d" target="_top">§</a>
1032      </p></li><li class="listitem"><p>
1033      Add <span class="application">psql</span> option to use expanded mode on
1034      all list commands (Dean Rasheed)
1035      <a class="ulink" href="https://postgr.es/c/00f4c2959" target="_top">§</a>
1036      </p><p>
1037      Adding backslash suffix <code class="literal">x</code> enables this.
1038      </p></li><li class="listitem"><p>
1039      Change <span class="application">psql</span>'s <a class="xref" href="app-psql.html#APP-PSQL-META-COMMAND-CONNINFO"><code class="literal">\conninfo</code></a> to use tabular format
1040      and include more information (Álvaro Herrera, Maiquel Grassi,
1041      Hunaid Sohail)
1042      <a class="ulink" href="https://postgr.es/c/bba2fbc62" target="_top">§</a>
1043      </p></li><li class="listitem"><p>
1044      Add function's leakproof indicator
1045      to <span class="application">psql</span>'s <a class="link" href="app-psql.html#APP-PSQL-META-COMMAND-DF-LC"><code class="literal">\df+</code></a>,
1046      <code class="literal">\do+</code>, <code class="literal">\dAo+</code>, and
1047      <code class="literal">\dC+</code> outputs (Yugo Nagata)
1048      <a class="ulink" href="https://postgr.es/c/2355e5111" target="_top">§</a>
1049      </p></li><li class="listitem"><p>
1050      Add access method details for partitioned relations in <a class="link" href="app-psql.html#APP-PSQL-META-COMMAND-DP-UC"><code class="literal">\dP+</code></a>
1051      (Justin Pryzby)
1052      <a class="ulink" href="https://postgr.es/c/978f38c77" target="_top">§</a>
1053      </p></li><li class="listitem"><p>
1054      Add <code class="literal">default_version</code>
1055      to the <span class="application">psql</span> <a class="link" href="app-psql.html#APP-PSQL-META-COMMAND-DX-LC"><code class="literal">\dx</code></a>
1056      extension output (Magnus Hagander)
1057      <a class="ulink" href="https://postgr.es/c/d696406a9" target="_top">§</a>
1058      </p></li><li class="listitem"><p>
1059      Add <span class="application">psql</span> variable <a class="xref" href="app-psql.html#APP-PSQL-VARIABLES-WATCH-INTERVAL"><code class="varname">WATCH_INTERVAL</code></a> to set the default <a class="link" href="app-psql.html#APP-PSQL-META-COMMAND-WATCH"><code class="literal">\watch</code></a>
1060      wait time (Daniel Gustafsson)
1061      <a class="ulink" href="https://postgr.es/c/1a759c832" target="_top">§</a>
1062      </p></li></ul></div></div><div class="sect3" id="RELEASE-18-SERVER-APPS"><div class="titlepage"><div><div><h4 class="title">E.1.3.7. Server Applications <a href="#RELEASE-18-SERVER-APPS" class="id_link">#</a></h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
1063      Change <a class="xref" href="app-initdb.html" title="initdb"><span class="refentrytitle"><span class="application">initdb</span></span></a> to default to enabling checksums
1064      (Greg Sabino Mullane)
1065      <a class="ulink" href="https://postgr.es/c/983a588e0" target="_top">§</a>
1066      <a class="ulink" href="https://postgr.es/c/04bec894a" target="_top">§</a>
1067      </p><p>
1068      The new <span class="application">initdb</span> option
1069      <code class="option">--no-data-checksums</code> disables checksums.
1070      </p></li><li class="listitem"><p>
1071      Add <span class="application">initdb</span> option
1072      <code class="option">--no-sync-data-files</code> to avoid syncing heap/index
1073      files (Nathan Bossart)
1074      <a class="ulink" href="https://postgr.es/c/cf131fa94" target="_top">§</a>
1075      </p><p>
1076      <span class="application">initdb</span> option <code class="option">--no-sync</code>
1077      is still available to avoid syncing any files.
1078      </p></li><li class="listitem"><p>
1079      Add <a class="xref" href="app-vacuumdb.html" title="vacuumdb"><span class="refentrytitle"><span class="application">vacuumdb</span></span></a> option
1080      <code class="option">--missing-stats-only</code> to compute only missing
1081      optimizer statistics (Corey Huinker, Nathan Bossart)
1082      <a class="ulink" href="https://postgr.es/c/edba754f0" target="_top">§</a>
1083      <a class="ulink" href="https://postgr.es/c/987910502" target="_top">§</a>
1084      </p><p>
1085      This option can only be run by superusers and can only
1086      be used with options <code class="option">--analyze-only</code> and
1087      <code class="option">--analyze-in-stages</code>.
1088      </p></li><li class="listitem"><p>
1089      Add <a class="xref" href="app-pgcombinebackup.html" title="pg_combinebackup"><span class="refentrytitle"><span class="application">pg_combinebackup</span></span></a> option
1090      <code class="option">-k</code>/<code class="option">--link</code> to enable hard linking
1091      (Israel Barth Rubio, Robert Haas)
1092      <a class="ulink" href="https://postgr.es/c/99aeb8470" target="_top">§</a>
1093      </p><p>
1094      Only some files can be hard linked.  This should not be used if the
1095      backups will be used independently.
1096      </p></li><li class="listitem"><p>
1097      Allow <a class="xref" href="app-pgverifybackup.html" title="pg_verifybackup"><span class="refentrytitle"><span class="application">pg_verifybackup</span></span></a> to verify tar-format
1098      backups (Amul Sul)
1099      <a class="ulink" href="https://postgr.es/c/8dfd31290" target="_top">§</a>
1100      </p></li><li class="listitem"><p>
1101      If <a class="xref" href="app-pgrewind.html" title="pg_rewind"><span class="refentrytitle"><span class="application">pg_rewind</span></span></a>'s <code class="option">--source-server</code>
1102      specifies a database name, use it in
1103      <code class="option">--write-recovery-conf</code> output (Masahiko Sawada)
1104      <a class="ulink" href="https://postgr.es/c/4ecdd4110" target="_top">§</a>
1105      </p></li><li class="listitem"><p>
1106      Add <a class="xref" href="app-pgresetwal.html" title="pg_resetwal"><span class="refentrytitle"><span class="application">pg_resetwal</span></span></a> option
1107      <code class="option">--char-signedness</code> to change the default
1108      <code class="type">char</code> signedness (Masahiko Sawada)
1109      <a class="ulink" href="https://postgr.es/c/30666d185" target="_top">§</a>
1110      </p></li></ul></div><div class="sect4" id="RELEASE-18-PGDUMP"><div class="titlepage"><div><div><h5 class="title">E.1.3.7.1. <a class="link" href="app-pgdump.html" title="pg_dump"><span class="application">pg_dump</span></a>/<a class="link" href="app-pg-dumpall.html" title="pg_dumpall"><span class="application">pg_dumpall</span></a>/<a class="link" href="app-pgrestore.html" title="pg_restore"><span class="application">pg_restore</span></a> <a href="#RELEASE-18-PGDUMP" class="id_link">#</a></h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
1111       Add <a class="xref" href="app-pgdump.html" title="pg_dump"><span class="refentrytitle"><span class="application">pg_dump</span></span></a> option <code class="option">--statistics</code>
1112       (Jeff Davis)
1113       <a class="ulink" href="https://postgr.es/c/bde2fb797" target="_top">§</a>
1114       <a class="ulink" href="https://postgr.es/c/a3e8dc143" target="_top">§</a>
1115       </p></li><li class="listitem"><p>
1116       Add <span class="application">pg_dump</span> and <a class="xref" href="app-pg-dumpall.html" title="pg_dumpall"><span class="refentrytitle"><span class="application">pg_dumpall</span></span></a> option <code class="option">--sequence-data</code> to
1117       dump sequence data that would normally be excluded (Nathan Bossart)
1118       <a class="ulink" href="https://postgr.es/c/9c49f0e8c" target="_top">§</a>
1119       <a class="ulink" href="https://postgr.es/c/acea3fc49" target="_top">§</a>
1120       </p></li><li class="listitem"><p>
1121       Add <a class="xref" href="app-pgdump.html" title="pg_dump"><span class="refentrytitle"><span class="application">pg_dump</span></span></a>, <a class="xref" href="app-pg-dumpall.html" title="pg_dumpall"><span class="refentrytitle"><span class="application">pg_dumpall</span></span></a>,
1122       and <a class="xref" href="app-pgrestore.html" title="pg_restore"><span class="refentrytitle"><span class="application">pg_restore</span></span></a> options
1123       <code class="option">--statistics-only</code>, <code class="option">--no-statistics</code>,
1124       <code class="option">--no-data</code>, and <code class="option">--no-schema</code>
1125       (Corey Huinker, Jeff Davis)
1126       <a class="ulink" href="https://postgr.es/c/1fd1bd871" target="_top">§</a>
1127       </p></li><li class="listitem"><p>
1128       Add option <code class="option">--no-policies</code> to disable row level
1129       security policy processing in <a class="xref" href="app-pgdump.html" title="pg_dump"><span class="refentrytitle"><span class="application">pg_dump</span></span></a>,
1130       <a class="xref" href="app-pg-dumpall.html" title="pg_dumpall"><span class="refentrytitle"><span class="application">pg_dumpall</span></span></a>, <a class="xref" href="app-pgrestore.html" title="pg_restore"><span class="refentrytitle"><span class="application">pg_restore</span></span></a>
1131       (Nikolay Samokhvalov)
1132       <a class="ulink" href="https://postgr.es/c/cd3c45125" target="_top">§</a>
1133       </p><p>
1134       This is useful for migrating to systems with different policies.
1135       </p></li></ul></div></div><div class="sect4" id="RELEASE-18-PGUPGRADE"><div class="titlepage"><div><div><h5 class="title">E.1.3.7.2. <a class="xref" href="pgupgrade.html" title="pg_upgrade"><span class="refentrytitle"><span class="application">pg_upgrade</span></span></a> <a href="#RELEASE-18-PGUPGRADE" class="id_link">#</a></h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
1136       Allow <span class="application">pg_upgrade</span> to preserve optimizer
1137       statistics (Corey Huinker, Jeff Davis, Nathan Bossart)
1138       <a class="ulink" href="https://postgr.es/c/1fd1bd871" target="_top">§</a>
1139       <a class="ulink" href="https://postgr.es/c/c9d502eb6" target="_top">§</a>
1140       <a class="ulink" href="https://postgr.es/c/d5f1b6a75" target="_top">§</a>
1141       <a class="ulink" href="https://postgr.es/c/1fd1bd871" target="_top">§</a>
1142       </p><p>
1143       Extended statistics are not preserved.  Also add
1144       <span class="application">pg_upgrade</span> option
1145       <code class="option">--no-statistics</code> to disable statistics preservation.
1146       </p></li><li class="listitem"><p>
1147       Allow <span class="application">pg_upgrade</span> to process database
1148       checks in parallel (Nathan Bossart)
1149       <a class="ulink" href="https://postgr.es/c/40e2e5e92" target="_top">§</a>
1150       <a class="ulink" href="https://postgr.es/c/6d3d2e8e5" target="_top">§</a>
1151       <a class="ulink" href="https://postgr.es/c/7baa36de5" target="_top">§</a>
1152       <a class="ulink" href="https://postgr.es/c/46cad8b31" target="_top">§</a>
1153       <a class="ulink" href="https://postgr.es/c/6ab8f27bc" target="_top">§</a>
1154       <a class="ulink" href="https://postgr.es/c/bbf83cab9" target="_top">§</a>
1155       <a class="ulink" href="https://postgr.es/c/9db3018cf" target="_top">§</a>
1156       <a class="ulink" href="https://postgr.es/c/c34eabfbb" target="_top">§</a>
1157       <a class="ulink" href="https://postgr.es/c/cf2f82a37" target="_top">§</a>
1158       <a class="ulink" href="https://postgr.es/c/f93f5f7b9" target="_top">§</a>
1159       <a class="ulink" href="https://postgr.es/c/c880cf258" target="_top">§</a>
1160       </p><p>
1161       This is controlled by the existing <code class="option">--jobs</code> option.
1162       </p></li><li class="listitem"><p>
1163       Add <span class="application">pg_upgrade</span> option
1164       <code class="option">--swap</code> to swap directories rather than copy, clone,
1165       or link files (Nathan Bossart)
1166       <a class="ulink" href="https://postgr.es/c/626d7236b" target="_top">§</a>
1167       </p><p>
1168       This mode is potentially the fastest.
1169       </p></li><li class="listitem"><p>
1170       Add <span class="application">pg_upgrade</span> option
1171       <code class="option">--set-char-signedness</code> to set the default
1172       <code class="type">char</code> signedness of new cluster (Masahiko Sawada)
1173       <a class="ulink" href="https://postgr.es/c/a8238f87f" target="_top">§</a>
1174       <a class="ulink" href="https://postgr.es/c/1aab68059" target="_top">§</a>
1175       </p><p>
1176       This is to handle cases where a
1177       pre-<span class="productname">PostgreSQL</span> 18 cluster's default
1178       <acronym class="acronym">CPU</acronym> signedness does not match the new cluster.
1179       </p></li></ul></div></div><div class="sect4" id="RELEASE-18-LOGICALREP-APP"><div class="titlepage"><div><div><h5 class="title">E.1.3.7.3. Logical Replication Applications <a href="#RELEASE-18-LOGICALREP-APP" class="id_link">#</a></h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
1180       Add <a class="xref" href="app-pgcreatesubscriber.html" title="pg_createsubscriber"><span class="refentrytitle"><span class="application">pg_createsubscriber</span></span></a> option
1181       <code class="option">--all</code> to create logical replicas for all databases
1182       (Shubham Khanna)
1183       <a class="ulink" href="https://postgr.es/c/fb2ea12f4" target="_top">§</a>
1184       </p></li><li class="listitem"><p>
1185       Add <span class="application">pg_createsubscriber</span> option
1186       <code class="option">--clean</code> to remove publications (Shubham Khanna)
1187       <a class="ulink" href="https://postgr.es/c/e5aeed4b8" target="_top">§</a>
1188       <a class="ulink" href="https://postgr.es/c/60dda7bbc" target="_top">§</a>
1189       </p></li><li class="listitem"><p>
1190       Add <span class="application">pg_createsubscriber</span> option
1191       <code class="option">--enable-two-phase</code> to enable prepared transactions
1192       (Shubham Khanna)
1193       <a class="ulink" href="https://postgr.es/c/e117cfb2f" target="_top">§</a>
1194       </p></li><li class="listitem"><p>
1195       Add <a class="xref" href="app-pgrecvlogical.html" title="pg_recvlogical"><span class="refentrytitle"><span class="application">pg_recvlogical</span></span></a> option
1196       <code class="option">--enable-failover</code> to specify failover slots (Hayato Kuroda)
1197       <a class="ulink" href="https://postgr.es/c/cf2655a90" target="_top">§</a>
1198       </p><p>
1199       Also add option <code class="option">--enable-two-phase</code> as a synonym
1200       for <code class="option">--two-phase</code>, and deprecate the latter.
1201       </p></li><li class="listitem"><p>
1202       Allow <span class="application">pg_recvlogical</span>
1203       <code class="option">--drop-slot</code> to work without
1204       <code class="option">--dbname</code> (Hayato Kuroda)
1205       <a class="ulink" href="https://postgr.es/c/c68100aa4" target="_top">§</a>
1206       </p></li></ul></div></div></div><div class="sect3" id="RELEASE-18-SOURCE-CODE"><div class="titlepage"><div><div><h4 class="title">E.1.3.8. Source Code <a href="#RELEASE-18-SOURCE-CODE" class="id_link">#</a></h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
1207      Separate the loading and running of <a class="link" href="xfunc-c.html#XFUNC-ADDIN-INJECTION-POINTS" title="36.10.14. Injection Points">injection points</a>
1208      (Michael Paquier, Heikki Linnakangas)
1209      <a class="ulink" href="https://postgr.es/c/4b211003e" target="_top">§</a>
1210      <a class="ulink" href="https://postgr.es/c/a0a5869a8" target="_top">§</a>
1211      </p><p>
1212      Injection points can now be created, but not run, via <a class="link" href="xfunc-c.html#XFUNC-ADDIN-INJECTION-POINTS" title="36.10.14. Injection Points"><code class="function">INJECTION_POINT_LOAD()</code></a>,
1213      and such injection points can be run via <a class="link" href="xfunc-c.html#XFUNC-ADDIN-INJECTION-POINTS" title="36.10.14. Injection Points"><code class="function">INJECTION_POINT_CACHED()</code></a>.
1214      </p></li><li class="listitem"><p>
1215      Support runtime arguments in injection points (Michael Paquier)
1216      <a class="ulink" href="https://postgr.es/c/371f2db8b" target="_top">§</a>
1217      </p></li><li class="listitem"><p>
1218      Allow inline injection point test code with <a class="link" href="xfunc-c.html#XFUNC-ADDIN-INJECTION-POINTS" title="36.10.14. Injection Points"><code class="function">IS_INJECTION_POINT_ATTACHED()</code></a>
1219      (Heikki Linnakangas)
1220      <a class="ulink" href="https://postgr.es/c/20e0e7da9" target="_top">§</a>
1221      </p></li><li class="listitem"><p>
1222      Improve the performance of processing long <a class="link" href="datatype-json.html" title="8.14. JSON Types"><code class="type">JSON</code></a> strings using
1223      <acronym class="acronym">SIMD</acronym> (Single Instruction Multiple Data) (David
1224      Rowley)
1225      <a class="ulink" href="https://postgr.es/c/ca6fde922" target="_top">§</a>
1226      </p></li><li class="listitem"><p>
1227      Speed up CRC32C calculations using x86 <acronym class="acronym">AVX</acronym>-512
1228      instructions (Raghuveer Devulapalli, Paul Amonson)
1229      <a class="ulink" href="https://postgr.es/c/3c6e8c123" target="_top">§</a>
1230      </p></li><li class="listitem"><p>
1231      Add <acronym class="acronym">ARM</acronym> Neon and <acronym class="acronym">SVE CPU</acronym>
1232      intrinsics for popcount (integer bit counting) (Chiranmoy
1233      Bhattacharya, Devanga Susmitha, Rama Malladi)
1234      <a class="ulink" href="https://postgr.es/c/6be53c276" target="_top">§</a>
1235      <a class="ulink" href="https://postgr.es/c/519338ace" target="_top">§</a>
1236      </p></li><li class="listitem"><p>
1237      Improve the speed of numeric multiplication and division (Joel
1238      Jacobson, Dean Rasheed)
1239      <a class="ulink" href="https://postgr.es/c/ca481d3c9" target="_top">§</a>
1240      <a class="ulink" href="https://postgr.es/c/c4e44224c" target="_top">§</a>
1241      <a class="ulink" href="https://postgr.es/c/8dc28d7eb" target="_top">§</a>
1242      <a class="ulink" href="https://postgr.es/c/9428c001f" target="_top">§</a>
1243      </p></li><li class="listitem"><p>
1244      Add configure option <a class="link" href="install-make.html#CONFIGURE-OPTION-WITH-LIBNUMA"><code class="option">--with-libnuma</code></a>
1245      to enable <acronym class="acronym">NUMA</acronym> awareness (Jakub Wartak, Bertrand
1246      Drouvot)
1247      <a class="ulink" href="https://postgr.es/c/65c298f61" target="_top">§</a>
1248      <a class="ulink" href="https://postgr.es/c/8cc139bec" target="_top">§</a>
1249      <a class="ulink" href="https://postgr.es/c/ba2a3c230" target="_top">§</a>
1250      </p><p>
1251      The function <a class="link" href="functions-info.html#FUNCTIONS-INFO-SESSION-TABLE" title="Table 9.71. Session Information Functions"><code class="function">pg_numa_available()</code></a>
1252      reports on <acronym class="acronym">NUMA</acronym> awareness, and system views <a class="link" href="view-pg-shmem-allocations-numa.html" title="53.28. pg_shmem_allocations_numa"><code class="structname">pg_shmem_allocations_numa</code></a>
1253      and <a class="link" href="pgbuffercache.html#PGBUFFERCACHE-PG-BUFFERCACHE-NUMA" title="F.25.2. The pg_buffercache_numa View"><code class="structname">pg_buffercache_numa</code></a>
1254      which report on shared memory distribution across
1255      <acronym class="acronym">NUMA</acronym> nodes.
1256      </p></li><li class="listitem"><p>
1257      Add <a class="link" href="storage-toast.html" title="66.2. TOAST"><acronym class="acronym">TOAST</acronym></a> table to <a class="link" href="catalog-pg-index.html" title="52.26. pg_index"><code class="structname">pg_index</code></a>
1258      to allow for very large expression indexes (Nathan Bossart)
1259      <a class="ulink" href="https://postgr.es/c/b52c4fc3c" target="_top">§</a>
1260      </p></li><li class="listitem"><p>
1261      Remove column <a class="link" href="catalog-pg-attribute.html" title="52.7. pg_attribute"><code class="structname">pg_attribute</code></a>.<code class="structfield">attcacheoff</code>
1262      (David Rowley)
1263      <a class="ulink" href="https://postgr.es/c/02a8d0c45" target="_top">§</a>
1264      </p></li><li class="listitem"><p>
1265      Add column <a class="link" href="catalog-pg-class.html" title="52.11. pg_class"><code class="structname">pg_class</code></a>.<code class="structfield">relallfrozen</code>
1266      (Melanie Plageman)
1267      <a class="ulink" href="https://postgr.es/c/99f8f3fbb" target="_top">§</a>
1268      </p></li><li class="listitem"><p>
1269      Add <a class="link" href="indexam.html" title="Chapter 63. Index Access Method Interface Definition"><code class="structfield">amgettreeheight</code></a>,
1270      <code class="literal">amconsistentequality</code>, and
1271      <code class="literal">amconsistentordering</code> to the index access method
1272      <acronym class="acronym">API</acronym> (Mark Dilger)
1273      <a class="ulink" href="https://postgr.es/c/56fead44d" target="_top">§</a>
1274      <a class="ulink" href="https://postgr.es/c/af4002b38" target="_top">§</a>
1275      </p></li><li class="listitem"><p>
1276      Add GiST support function <a class="link" href="gist.html#GIST-EXTENSIBILITY" title="65.2.3. Extensibility"><code class="function">stratnum()</code></a>
1277      (Paul A. Jungwirth)
1278      <a class="ulink" href="https://postgr.es/c/7406ab623" target="_top">§</a>
1279      </p></li><li class="listitem"><p>
1280      Record the default <acronym class="acronym">CPU</acronym> signedness of
1281      <code class="literal">char</code> in <a class="xref" href="app-pgcontroldata.html" title="pg_controldata"><span class="refentrytitle"><span class="application">pg_controldata</span></span></a>
1282      (Masahiko Sawada)
1283      <a class="ulink" href="https://postgr.es/c/44fe30fda" target="_top">§</a>
1284      </p></li><li class="listitem"><p>
1285      Add support for Python "Limited <acronym class="acronym">API</acronym>" in <a class="xref" href="plpython.html" title="Chapter 44. PL/Python — Python Procedural Language">PL/Python</a> (Peter Eisentraut)
1286      <a class="ulink" href="https://postgr.es/c/72a3d0462" target="_top">§</a>
1287      <a class="ulink" href="https://postgr.es/c/0793ab810" target="_top">§</a>
1288      </p><p>
1289      This helps prevent problems caused by
1290      <span class="application">Python</span> 3.x version mismatches.
1291      </p></li><li class="listitem"><p>
1292      Change the minimum supported <span class="application">Python</span>
1293      version to 3.6.8 (Jacob Champion)
1294      <a class="ulink" href="https://postgr.es/c/45363fca6" target="_top">§</a>
1295      </p></li><li class="listitem"><p>
1296      Remove support for <span class="application">OpenSSL</span> versions older
1297      than 1.1.1 (Daniel Gustafsson)
1298      <a class="ulink" href="https://postgr.es/c/a70e01d43" target="_top">§</a>
1299      <a class="ulink" href="https://postgr.es/c/6c66b7443" target="_top">§</a>
1300      </p></li><li class="listitem"><p>
1301      If <span class="application">LLVM</span> is enabled, require version 14
1302      or later (Thomas Munro)
1303      <a class="ulink" href="https://postgr.es/c/972c2cd28" target="_top">§</a>
1304      </p></li><li class="listitem"><p>
1305      Add macro <a class="link" href="functions-info.html" title="9.27. System Information Functions and Operators"><code class="literal">PG_MODULE_MAGIC_EXT</code></a>
1306      to allow extensions to report their name and version (Andrei Lepikhov)
1307      <a class="ulink" href="https://postgr.es/c/9324c8c58" target="_top">§</a>
1308      </p><p>
1309      This information can be access via the new function <a class="link" href="functions-info.html#FUNCTIONS-INFO-SESSION-TABLE" title="Table 9.71. Session Information Functions"><code class="function">pg_get_loaded_modules()</code></a>.
1310      </p></li><li class="listitem"><p>
1311      Document that <a class="link" href="spi-spi-connect.html" title="SPI_connect"><code class="function">SPI_connect()</code></a>/<a class="link" href="spi-spi-connect.html" title="SPI_connect"><code class="function">SPI_connect_ext()</code></a>
1312      always returns success (<code class="literal">SPI_OK_CONNECT</code>) (Stepan
1313      Neretin)
1314      <a class="ulink" href="https://postgr.es/c/218527d01" target="_top">§</a>
1315      </p><p>
1316      Errors are always reported via <code class="function">ereport()</code>.
1317      </p></li><li class="listitem"><p>
1318      Add <a class="link" href="xfunc-c.html#XFUNC-API-ABI-STABILITY-GUIDANCE" title="36.10.6. Server API and ABI Stability Guidance">documentation
1319      section</a> about <acronym class="acronym">API</acronym> and <acronym class="acronym">ABI</acronym>
1320      compatibility (David Wheeler, Peter Eisentraut)
1321      <a class="ulink" href="https://postgr.es/c/e54a42ac9" target="_top">§</a>
1322      </p></li><li class="listitem"><p>
1323      Remove the experimental designation of
1324      <span class="application">Meson</span> builds on <span class="systemitem">Windows</span> (Aleksander Alekseev)
1325      <a class="ulink" href="https://postgr.es/c/5afaba629" target="_top">§</a>
1326      </p></li><li class="listitem"><p>
1327      Remove configure options <code class="option">--disable-spinlocks</code> and
1328      <code class="option">--disable-atomics</code> (Thomas Munro)
1329      <a class="ulink" href="https://postgr.es/c/e25626677" target="_top">§</a>
1330      <a class="ulink" href="https://postgr.es/c/813852613" target="_top">§</a>
1331      </p><p>
1332      Thirty-two-bit atomic operations are now required.
1333      </p></li><li class="listitem"><p>
1334      Remove support for the
1335      <acronym class="acronym">HPPA</acronym>/<acronym class="acronym">PA-RISC</acronym> architecture
1336      (Tom Lane)
1337      <a class="ulink" href="https://postgr.es/c/edadeb071" target="_top">§</a>
1338      </p></li></ul></div></div><div class="sect3" id="RELEASE-18-MODULES"><div class="titlepage"><div><div><h4 class="title">E.1.3.9. Additional Modules <a href="#RELEASE-18-MODULES" class="id_link">#</a></h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
1339      Add extension <a class="xref" href="pglogicalinspect.html" title="F.28. pg_logicalinspect — logical decoding components inspection">pg_logicalinspect</a> to inspect logical
1340      snapshots (Bertrand Drouvot)
1341      <a class="ulink" href="https://postgr.es/c/7cdfeee32" target="_top">§</a>
1342      </p></li><li class="listitem"><p>
1343      Add extension <a class="xref" href="pgoverexplain.html" title="F.29. pg_overexplain — allow EXPLAIN to dump even more details">pg_overexplain</a> which adds debug details
1344      to <a class="link" href="sql-explain.html" title="EXPLAIN"><code class="command">EXPLAIN</code></a>
1345      output (Robert Haas)
1346      <a class="ulink" href="https://postgr.es/c/8d5ceb113" target="_top">§</a>
1347      </p></li><li class="listitem"><p>
1348      Add output columns to <a class="link" href="postgres-fdw.html#POSTGRES-FDW-FUNCTIONS" title="F.38.2. Functions"><code class="function">postgres_fdw_get_connections()</code></a>
1349      (Hayato Kuroda, Sagar Dilip Shedge)
1350      <a class="ulink" href="https://postgr.es/c/c297a47c5" target="_top">§</a>
1351      <a class="ulink" href="https://postgr.es/c/857df3cef" target="_top">§</a>
1352      <a class="ulink" href="https://postgr.es/c/4f08ab554" target="_top">§</a>
1353      <a class="ulink" href="https://postgr.es/c/fe186bda7" target="_top">§</a>
1354      </p><p>
1355      New output column <code class="structfield">used_in_xact</code> indicates
1356      if the foreign data wrapper is being used by a current transaction,
1357      <code class="structfield">closed</code> indicates if it is closed,
1358      <code class="structfield">user_name</code> indicates the user name, and
1359      <code class="structfield">remote_backend_pid</code> indicates the remote
1360      backend process identifier.
1361      </p></li><li class="listitem"><p>
1362      Allow <a class="link" href="auth-password.html" title="20.5. Password Authentication"><acronym class="acronym">SCRAM</acronym></a>
1363      authentication from the client to be passed to <a class="xref" href="postgres-fdw.html" title="F.38. postgres_fdw — access data stored in external PostgreSQL servers">postgres_fdw</a> servers (Matheus Alcantara, Peter Eisentraut)
1364      <a class="ulink" href="https://postgr.es/c/761c79508" target="_top">§</a>
1365      </p><p>
1366      This avoids storing <span class="application">postgres_fdw</span>
1367      authentication information in the database, and is
1368      enabled with the <span class="application">postgres_fdw</span> <a class="link" href="postgres-fdw.html#POSTGRES-FDW-OPTION-USE-SCRAM-PASSTHROUGH"><code class="literal">use_scram_passthrough</code></a>
1369      connection option.  libpq uses new connection parameters
1370      <a class="xref" href="libpq-connect.html#LIBPQ-CONNECT-SCRAM-CLIENT-KEY">scram_client_key</a> and <a class="xref" href="libpq-connect.html#LIBPQ-CONNECT-SCRAM-SERVER-KEY">scram_server_key</a>.
1371      </p></li><li class="listitem"><p>
1372      Allow <acronym class="acronym">SCRAM</acronym> authentication from the client to be
1373      passed to <a class="xref" href="dblink.html" title="F.11. dblink — connect to other PostgreSQL databases">dblink</a> servers (Matheus Alcantara)
1374      <a class="ulink" href="https://postgr.es/c/3642df265" target="_top">§</a>
1375      </p></li><li class="listitem"><p>
1376      Add <code class="literal">on_error</code> and <code class="literal">log_verbosity</code>
1377      options to <a class="xref" href="file-fdw.html" title="F.15. file_fdw — access data files in the server's file system">file_fdw</a> (Atsushi Torikoshi)
1378      <a class="ulink" href="https://postgr.es/c/a1c4c8a9e" target="_top">§</a>
1379      </p><p>
1380      These control how <span class="application">file_fdw</span> handles and
1381      reports invalid file rows.
1382      </p></li><li class="listitem"><p>
1383      Add <code class="literal">reject_limit</code> to control the number of
1384      invalid rows <span class="application">file_fdw</span> can ignore (Atsushi
1385      Torikoshi)
1386      <a class="ulink" href="https://postgr.es/c/6c8f67032" target="_top">§</a>
1387      </p><p>
1388      This is active when <code class="literal">ON_ERROR = 'ignore'</code>.
1389      </p></li><li class="listitem"><p>
1390      Add configurable variable <code class="varname">min_password_length</code> to
1391      <a class="xref" href="passwordcheck.html" title="F.24. passwordcheck — verify password strength">passwordcheck</a> (Emanuele Musella, Maurizio Boriani)
1392      <a class="ulink" href="https://postgr.es/c/f7e1b3828" target="_top">§</a>
1393      </p><p>
1394      This controls the minimum password length.
1395      </p></li><li class="listitem"><p>
1396      Have <a class="xref" href="pgbench.html" title="pgbench"><span class="refentrytitle"><span class="application">pgbench</span></span></a> report the number of failed, retried,
1397      or skipped transactions in per-script reports (Yugo Nagata)
1398      <a class="ulink" href="https://postgr.es/c/cae0f3c40" target="_top">§</a>
1399      </p></li><li class="listitem"><p>
1400      Add <a class="xref" href="isn.html" title="F.20. isn — data types for international standard numbers (ISBN, EAN, UPC, etc.)">isn</a> server variable <code class="literal">weak</code>
1401      to control invalid check digit acceptance (Viktor Holmberg)
1402      <a class="ulink" href="https://postgr.es/c/448904423" target="_top">§</a>
1403      </p><p>
1404      This was previously only controlled by function <a class="link" href="isn.html#ISN-FUNCTIONS" title="Table F.11. isn Functions"><code class="function">isn_weak()</code></a>.
1405      </p></li><li class="listitem"><p>
1406      Allow values to be sorted to speed <a class="xref" href="btree-gist.html" title="F.8. btree_gist — GiST operator classes with B-tree behavior">btree_gist</a>
1407      index builds (Bernd Helmle, Andrey Borodin)
1408      <a class="ulink" href="https://postgr.es/c/e4309f73f" target="_top">§</a>
1409      </p></li><li class="listitem"><p>
1410      Add <a class="xref" href="amcheck.html" title="F.1. amcheck — tools to verify table and index consistency">amcheck</a> check function <a class="link" href="amcheck.html#AMCHECK-FUNCTIONS" title="F.1.1. Functions"><code class="function">gin_index_check()</code></a>
1411      to verify <code class="literal">GIN</code> indexes (Grigory Kryachko, Heikki
1412      Linnakangas, Andrey Borodin)
1413      <a class="ulink" href="https://postgr.es/c/14ffaece0" target="_top">§</a>
1414      </p></li><li class="listitem"><p>
1415      Add functions <a class="link" href="pgbuffercache.html#PGBUFFERCACHE-PG-BUFFERCACHE-EVICT-RELATION" title="F.25.6. The pg_buffercache_evict_relation() Function"><code class="function">pg_buffercache_evict_relation()</code></a>
1416      and <a class="link" href="pgbuffercache.html#PGBUFFERCACHE-PG-BUFFERCACHE-EVICT-ALL" title="F.25.7. The pg_buffercache_evict_all() Function"><code class="function">pg_buffercache_evict_all()</code></a>
1417      to evict unpinned shared buffers (Nazir Bilal Yavuz)
1418      <a class="ulink" href="https://postgr.es/c/dcf7e1697" target="_top">§</a>
1419      </p><p>
1420      The existing function <a class="link" href="pgbuffercache.html#PGBUFFERCACHE-PG-BUFFERCACHE-EVICT" title="F.25.5. The pg_buffercache_evict() Function"><code class="function">pg_buffercache_evict()</code></a>
1421      now returns the buffer flush status.
1422      </p></li><li class="listitem"><p>
1423      Allow extensions to install custom <a class="xref" href="sql-explain.html" title="EXPLAIN"><span class="refentrytitle">EXPLAIN</span></a>
1424      options (Robert Haas, Sami Imseih)
1425      <a class="ulink" href="https://postgr.es/c/c65bc2e1d" target="_top">§</a>
1426      <a class="ulink" href="https://postgr.es/c/4fd02bf7c" target="_top">§</a>
1427      <a class="ulink" href="https://postgr.es/c/50ba65e73" target="_top">§</a>
1428      </p></li><li class="listitem"><p>
1429      Allow extensions to use the server's cumulative statistics
1430      <acronym class="acronym">API</acronym> (Michael Paquier)
1431      <a class="ulink" href="https://postgr.es/c/7949d9594" target="_top">§</a>
1432      <a class="ulink" href="https://postgr.es/c/2eff9e678" target="_top">§</a>
1433      </p></li></ul></div><div class="sect4" id="RELEASE-18-PGSTATSTATEMENTS"><div class="titlepage"><div><div><h5 class="title">E.1.3.9.1. <a class="xref" href="pgstatstatements.html" title="F.32. pg_stat_statements — track statistics of SQL planning and execution">pg_stat_statements</a> <a href="#RELEASE-18-PGSTATSTATEMENTS" class="id_link">#</a></h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
1434       Allow the queries of <a class="xref" href="sql-createtableas.html" title="CREATE TABLE AS"><span class="refentrytitle">CREATE TABLE AS</span></a>
1435       and <a class="xref" href="sql-declare.html" title="DECLARE"><span class="refentrytitle">DECLARE</span></a> to be tracked by
1436       <span class="application">pg_stat_statements</span> (Anthonin Bonnefoy)
1437       <a class="ulink" href="https://postgr.es/c/6b652e6ce" target="_top">§</a>
1438       </p><p>
1439       They are also now assigned query ids.
1440       </p></li><li class="listitem"><p>
1441       Allow the parameterization of <a class="xref" href="sql-set.html" title="SET"><span class="refentrytitle">SET</span></a> values in
1442       <span class="application">pg_stat_statements</span> (Greg Sabino Mullane,
1443       Michael Paquier)
1444       <a class="ulink" href="https://postgr.es/c/dc6851596" target="_top">§</a>
1445       </p><p>
1446       This reduces the bloat caused by <code class="command">SET</code> statements
1447       with differing constants.
1448       </p></li><li class="listitem"><p>
1449       Add <a class="link" href="pgstatstatements.html#PGSTATSTATEMENTS-PG-STAT-STATEMENTS" title="F.32.1. The pg_stat_statements View"><code class="structname">pg_stat_statements</code></a>
1450       columns to report parallel activity (Guillaume Lelarge)
1451       <a class="ulink" href="https://postgr.es/c/cf54a2c00" target="_top">§</a>
1452       </p><p>
1453       The new columns are
1454       <code class="structfield">parallel_workers_to_launch</code> and
1455       <code class="structfield">parallel_workers_launched</code>.
1456       </p></li><li class="listitem"><p>
1457       Add
1458       <code class="structname">pg_stat_statements</code>.<code class="structfield">wal_buffers_full</code>
1459       to report full <acronym class="acronym">WAL</acronym> buffers (Bertrand Drouvot)
1460       <a class="ulink" href="https://postgr.es/c/ce5bcc4a9" target="_top">§</a>
1461       </p></li></ul></div></div><div class="sect4" id="RELEASE-18-PGCRYPTO"><div class="titlepage"><div><div><h5 class="title">E.1.3.9.2. <a class="xref" href="pgcrypto.html" title="F.26. pgcrypto — cryptographic functions">pgcrypto</a> <a href="#RELEASE-18-PGCRYPTO" class="id_link">#</a></h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
1462       Add <span class="application">pgcrypto</span> algorithms <a class="link" href="pgcrypto.html#PGCRYPTO-CRYPT-ALGORITHMS" title="Table F.18. Supported Algorithms for crypt()"><code class="literal">sha256crypt</code></a>
1463       and <a class="link" href="pgcrypto.html#PGCRYPTO-CRYPT-ALGORITHMS" title="Table F.18. Supported Algorithms for crypt()"><code class="literal">sha512crypt</code></a>
1464       (Bernd Helmle)
1465       <a class="ulink" href="https://postgr.es/c/749a9e20c" target="_top">§</a>
1466       </p></li><li class="listitem"><p>
1467       Add <a class="link" href="pgcrypto.html#PGCRYPTO-RAW-ENC-FUNCS" title="F.26.4. Raw Encryption Functions"><acronym class="acronym">CFB</acronym></a> mode
1468       to <span class="application">pgcrypto</span> encryption and decryption
1469       (Umar Hayat)
1470       <a class="ulink" href="https://postgr.es/c/9ad1b3d01" target="_top">§</a>
1471       </p></li><li class="listitem"><p>
1472       Add function <a class="link" href="pgcrypto.html#PGCRYPTO-OPENSSL-SUPPORT-FUNCS" title="F.26.6. OpenSSL Support Functions"><code class="function">fips_mode()</code></a>
1473       to report the server's <acronym class="acronym">FIPS</acronym> mode (Daniel
1474       Gustafsson)
1475       <a class="ulink" href="https://postgr.es/c/924d89a35" target="_top">§</a>
1476       </p></li><li class="listitem"><p>
1477       Add <span class="application">pgcrypto</span> server variable <a class="link" href="pgcrypto.html#PGCRYPTO-CONFIGURATION-PARAMETERS-BUILTIN_CRYPTO_ENABLED"><code class="varname">builtin_crypto_enabled</code></a>
1478       to allow disabling builtin non-<acronym class="acronym">FIPS</acronym> mode
1479       cryptographic functions (Daniel Gustafsson, Joe Conway)
1480       <a class="ulink" href="https://postgr.es/c/035f99cbe" target="_top">§</a>
1481       </p><p>
1482       This is useful for guaranteeing <acronym class="acronym">FIPS</acronym> mode behavior.
1483       </p></li></ul></div></div></div></div><div class="sect2" id="RELEASE-18-ACKNOWLEDGEMENTS"><div class="titlepage"><div><div><h3 class="title">E.1.4. Acknowledgments <a href="#RELEASE-18-ACKNOWLEDGEMENTS" class="id_link">#</a></h3></div></div></div><p>
1484     The following individuals (in alphabetical order) have contributed
1485     to this release as patch authors, committers, reviewers, testers,
1486     or reporters of issues.
1487    </p><table border="0" summary="Simple list" class="simplelist"><tr><td>Abhishek Chanda</td></tr><tr><td>Adam Guo</td></tr><tr><td>Adam Rauch</td></tr><tr><td>Aidar Imamov</td></tr><tr><td>Ajin Cherian</td></tr><tr><td>Alastair Turner</td></tr><tr><td>Alec Cozens</td></tr><tr><td>Aleksander Alekseev</td></tr><tr><td>Alena Rybakina</td></tr><tr><td>Alex Friedman</td></tr><tr><td>Alex Richman</td></tr><tr><td>Alexander Alehin</td></tr><tr><td>Alexander Borisov</td></tr><tr><td>Alexander Korotkov</td></tr><tr><td>Alexander Kozhemyakin</td></tr><tr><td>Alexander Kukushkin</td></tr><tr><td>Alexander Kuzmenkov</td></tr><tr><td>Alexander Kuznetsov</td></tr><tr><td>Alexander Lakhin</td></tr><tr><td>Alexander Pyhalov</td></tr><tr><td>Alexandra Wang</td></tr><tr><td>Alexey Dvoichenkov</td></tr><tr><td>Alexey Makhmutov</td></tr><tr><td>Alexey Shishkin</td></tr><tr><td>Ali Akbar</td></tr><tr><td>Álvaro Herrera</td></tr><tr><td>Álvaro Mongil</td></tr><tr><td>Amit Kapila</td></tr><tr><td>Amit Langote</td></tr><tr><td>Amul Sul</td></tr><tr><td>Andreas Karlsson</td></tr><tr><td>Andreas Scherbaum</td></tr><tr><td>Andreas Ulbrich</td></tr><tr><td>Andrei Lepikhov</td></tr><tr><td>Andres Freund</td></tr><tr><td>Andrew</td></tr><tr><td>Andrew Bille</td></tr><tr><td>Andrew Dunstan</td></tr><tr><td>Andrew Jackson</td></tr><tr><td>Andrew Kane</td></tr><tr><td>Andrew Watkins</td></tr><tr><td>Andrey Borodin</td></tr><tr><td>Andrey Chudnovsky</td></tr><tr><td>Andrey Rachitskiy</td></tr><tr><td>Andrey Rudometov</td></tr><tr><td>Andy Alsup</td></tr><tr><td>Andy Fan</td></tr><tr><td>Anthonin Bonnefoy</td></tr><tr><td>Anthony Hsu</td></tr><tr><td>Anthony Leung</td></tr><tr><td>Anton Melnikov</td></tr><tr><td>Anton Voloshin</td></tr><tr><td>Antonin Houska</td></tr><tr><td>Antti Lampinen</td></tr><tr><td>Arseniy Mukhin</td></tr><tr><td>Artur Zakirov</td></tr><tr><td>Arun Thirupathi</td></tr><tr><td>Ashutosh Bapat</td></tr><tr><td>Asphator</td></tr><tr><td>Atsushi Torikoshi</td></tr><tr><td>Avi Weinberg</td></tr><tr><td>Aya Iwata</td></tr><tr><td>Ayush Tiwari</td></tr><tr><td>Ayush Vatsa</td></tr><tr><td>Bastien Roucariès</td></tr><tr><td>Ben Peachey Higdon</td></tr><tr><td>Benoit Lobréau</td></tr><tr><td>Bernd Helmle</td></tr><tr><td>Bernd Reiß</td></tr><tr><td>Bernhard Wiedemann</td></tr><tr><td>Bertrand Drouvot</td></tr><tr><td>Bertrand Mamasam</td></tr><tr><td>Bharath Rupireddy</td></tr><tr><td>Bogdan Grigorenko</td></tr><tr><td>Boyu Yang</td></tr><tr><td>Braulio Fdo Gonzalez</td></tr><tr><td>Bruce Momjian</td></tr><tr><td>Bykov Ivan</td></tr><tr><td>Cameron Vogt</td></tr><tr><td>Cary Huang</td></tr><tr><td>Cédric Villemain</td></tr><tr><td>Cees van Zeeland</td></tr><tr><td>ChangAo Chen</td></tr><tr><td>Chao Li</td></tr><tr><td>Chapman Flack</td></tr><tr><td>Charles Samborski</td></tr><tr><td>Chengwen Wu</td></tr><tr><td>Chengxi Sun</td></tr><tr><td>Chiranmoy Bhattacharya</td></tr><tr><td>Chris Gooch</td></tr><tr><td>Christian Charukiewicz</td></tr><tr><td>Christoph Berg</td></tr><tr><td>Christophe Courtois</td></tr><tr><td>Christopher Inokuchi</td></tr><tr><td>Clemens Ruck</td></tr><tr><td>Corey Huinker</td></tr><tr><td>Craig Milhiser</td></tr><tr><td>Crisp Lee</td></tr><tr><td>Dagfinn Ilmari Mannsåker</td></tr><tr><td>Daniel Elishakov</td></tr><tr><td>Daniel Gustafsson</td></tr><tr><td>Daniel Vérité</td></tr><tr><td>Daniel Westermann</td></tr><tr><td>Daniele Varrazzo</td></tr><tr><td>Daniil Davydov</td></tr><tr><td>Daria Shanina</td></tr><tr><td>Dave Cramer</td></tr><tr><td>Dave Page</td></tr><tr><td>David Benjamin</td></tr><tr><td>David Christensen</td></tr><tr><td>David Fiedler</td></tr><tr><td>David G. Johnston</td></tr><tr><td>David Geier</td></tr><tr><td>David Rowley</td></tr><tr><td>David Steele</td></tr><tr><td>David Wheeler</td></tr><tr><td>David Zhang</td></tr><tr><td>Davinder Singh</td></tr><tr><td>Dean Rasheed</td></tr><tr><td>Devanga Susmitha</td></tr><tr><td>Devrim Gündüz</td></tr><tr><td>Dian Fay</td></tr><tr><td>Dilip Kumar</td></tr><tr><td>Dimitrios Apostolou</td></tr><tr><td>Dipesh Dhameliya</td></tr><tr><td>Dmitrii Bondar</td></tr><tr><td>Dmitry Dolgov</td></tr><tr><td>Dmitry Koval</td></tr><tr><td>Dmitry Kovalenko</td></tr><tr><td>Dmitry Yurichev</td></tr><tr><td>Dominique Devienne</td></tr><tr><td>Donghang Lin</td></tr><tr><td>Dorjpalam Batbaatar</td></tr><tr><td>Drew Callahan</td></tr><tr><td>Duncan Sands</td></tr><tr><td>Dwayne Towell</td></tr><tr><td>Dzmitry Jachnik</td></tr><tr><td>Egor Chindyaskin</td></tr><tr><td>Egor Rogov</td></tr><tr><td>Emanuel Ionescu</td></tr><tr><td>Emanuele Musella</td></tr><tr><td>Emre Hasegeli</td></tr><tr><td>Eric Cyr</td></tr><tr><td>Erica Zhang</td></tr><tr><td>Erik Nordström</td></tr><tr><td>Erik Rijkers</td></tr><tr><td>Erik Wienhold</td></tr><tr><td>Erki Eessaar</td></tr><tr><td>Ethan Mertz</td></tr><tr><td>Etienne LAFARGE</td></tr><tr><td>Etsuro Fujita</td></tr><tr><td>Euler Taveira</td></tr><tr><td>Evan Si</td></tr><tr><td>Evgeniy Gorbanev</td></tr><tr><td>Fabio R. Sluzala</td></tr><tr><td>Fabrízio de Royes Mello</td></tr><tr><td>Feike Steenbergen</td></tr><tr><td>Feliphe Pozzer</td></tr><tr><td>Felix</td></tr><tr><td>Fire Emerald</td></tr><tr><td>Florents Tselai</td></tr><tr><td>Francesco Degrassi</td></tr><tr><td>Frank Streitzig</td></tr><tr><td>Frédéric Yhuel</td></tr><tr><td>Fredrik Widlert</td></tr><tr><td>Gabriele Bartolini</td></tr><tr><td>Gavin Panella</td></tr><tr><td>Geoff Winkless</td></tr><tr><td>George MacKerron</td></tr><tr><td>Gilles Darold</td></tr><tr><td>Grant Gryczan</td></tr><tr><td>Greg Burd</td></tr><tr><td>Greg Sabino Mullane</td></tr><tr><td>Greg Stark</td></tr><tr><td>Grigory Kryachko</td></tr><tr><td>Guillaume Lelarge</td></tr><tr><td>Gunnar Morling</td></tr><tr><td>Gunnar Wagner</td></tr><tr><td>Gurjeet Singh</td></tr><tr><td>Haifang Wang</td></tr><tr><td>Hajime Matsunaga</td></tr><tr><td>Hamid Akhtar</td></tr><tr><td>Hannu Krosing</td></tr><tr><td>Hari Krishna Sunder</td></tr><tr><td>Haruka Takatsuka</td></tr><tr><td>Hayato Kuroda</td></tr><tr><td>Heikki Linnakangas</td></tr><tr><td>Hironobu Suzuki</td></tr><tr><td>Holger Jakobs</td></tr><tr><td>Hubert Lubaczewski</td></tr><tr><td>Hugo Dubois</td></tr><tr><td>Hugo Zhang</td></tr><tr><td>Hunaid Sohail</td></tr><tr><td>Hywel Carver</td></tr><tr><td>Ian Barwick</td></tr><tr><td>Ibrar Ahmed</td></tr><tr><td>Igor Gnatyuk</td></tr><tr><td>Igor Korot</td></tr><tr><td>Ilia Evdokimov</td></tr><tr><td>Ilya Gladyshev</td></tr><tr><td>Ilyasov Ian</td></tr><tr><td>Imran Zaheer</td></tr><tr><td>Isaac Morland</td></tr><tr><td>Israel Barth Rubio</td></tr><tr><td>Ivan Kush</td></tr><tr><td>Jacob Brazeal</td></tr><tr><td>Jacob Champion</td></tr><tr><td>Jaime Casanova</td></tr><tr><td>Jakob Egger</td></tr><tr><td>Jakub Wartak</td></tr><tr><td>James Coleman</td></tr><tr><td>James Hunter</td></tr><tr><td>Jan Behrens</td></tr><tr><td>Japin Li</td></tr><tr><td>Jason Smith</td></tr><tr><td>Jayesh Dehankar</td></tr><tr><td>Jeevan Chalke</td></tr><tr><td>Jeff Davis</td></tr><tr><td>Jehan-Guillaume de Rorthais</td></tr><tr><td>Jelte Fennema-Nio</td></tr><tr><td>Jian He</td></tr><tr><td>Jianghua Yang</td></tr><tr><td>Jiao Shuntian</td></tr><tr><td>Jim Jones</td></tr><tr><td>Jim Nasby</td></tr><tr><td>Jingtang Zhang</td></tr><tr><td>Jingzhou Fu</td></tr><tr><td>Joe Conway</td></tr><tr><td>Joel Jacobson</td></tr><tr><td>John Hutchins</td></tr><tr><td>John Naylor</td></tr><tr><td>Jonathan Katz</td></tr><tr><td>Jorge Solórzano</td></tr><tr><td>José Villanova</td></tr><tr><td>Josef Šimánek</td></tr><tr><td>Joseph Koshakow</td></tr><tr><td>Julien Rouhaud</td></tr><tr><td>Junwang Zhao</td></tr><tr><td>Justin Pryzby</td></tr><tr><td>Kaido Vaikla</td></tr><tr><td>Kaimeh</td></tr><tr><td>Karina Litskevich</td></tr><tr><td>Karthik S</td></tr><tr><td>Kartyshov Ivan</td></tr><tr><td>Kashif Zeeshan</td></tr><tr><td>Keisuke Kuroda</td></tr><tr><td>Kevin Hale Boyes</td></tr><tr><td>Kevin K Biju</td></tr><tr><td>Kirill Reshke</td></tr><tr><td>Kirill Zdornyy</td></tr><tr><td>Koen De Groote</td></tr><tr><td>Koichi Suzuki</td></tr><tr><td>Koki Nakamura</td></tr><tr><td>Konstantin Knizhnik</td></tr><tr><td>Kouhei Sutou</td></tr><tr><td>Kuntal Ghosh</td></tr><tr><td>Kyotaro Horiguchi</td></tr><tr><td>Lakshmi Narayana Velayudam</td></tr><tr><td>Lars Kanis</td></tr><tr><td>Laurence Parry</td></tr><tr><td>Laurenz Albe</td></tr><tr><td>Lele Gaifax</td></tr><tr><td>Li Yong</td></tr><tr><td>Lilian Ontowhee</td></tr><tr><td>Lingbin Meng</td></tr><tr><td>Luboslav Špilák</td></tr><tr><td>Luca Vallisa</td></tr><tr><td>Lukas Fittl</td></tr><tr><td>Maciek Sakrejda</td></tr><tr><td>Magnus Hagander</td></tr><tr><td>Mahendra Singh Thalor</td></tr><tr><td>Mahendrakar Srinivasarao</td></tr><tr><td>Maiquel Grassi</td></tr><tr><td>Maksim Korotkov</td></tr><tr><td>Maksim Melnikov</td></tr><tr><td>Man Zeng</td></tr><tr><td>Marat Buharov</td></tr><tr><td>Marc Balmer</td></tr><tr><td>Marco Nenciarini</td></tr><tr><td>Marcos Pegoraro</td></tr><tr><td>Marina Polyakova</td></tr><tr><td>Mark Callaghan</td></tr><tr><td>Mark Dilger</td></tr><tr><td>Marlene Brandstaetter</td></tr><tr><td>Marlene Reiterer</td></tr><tr><td>Martin Rakhmanov</td></tr><tr><td>Masahiko Sawada</td></tr><tr><td>Masahiro Ikeda</td></tr><tr><td>Masao Fujii</td></tr><tr><td>Mason Mackaman</td></tr><tr><td>Mat Arye</td></tr><tr><td>Matheus Alcantara</td></tr><tr><td>Mats Kindahl</td></tr><tr><td>Matthew Gabeler-Lee</td></tr><tr><td>Matthew Kim</td></tr><tr><td>Matthew Sterrett</td></tr><tr><td>Matthew Woodcraft</td></tr><tr><td>Matthias van de Meent</td></tr><tr><td>Matthieu Denais</td></tr><tr><td>Maurizio Boriani</td></tr><tr><td>Max Johnson</td></tr><tr><td>Max Madden</td></tr><tr><td>Maxim Boguk</td></tr><tr><td>Maxim Orlov</td></tr><tr><td>Maximilian Chrzan</td></tr><tr><td>Melanie Plageman</td></tr><tr><td>Melih Mutlu</td></tr><tr><td>Mert Alev</td></tr><tr><td>Michael Banck</td></tr><tr><td>Michael Bondarenko</td></tr><tr><td>Michael Christofides</td></tr><tr><td>Michael Guissine</td></tr><tr><td>Michael Harris</td></tr><tr><td>Michaël Paquier</td></tr><tr><td>Michail Nikolaev</td></tr><tr><td>Michal Kleczek</td></tr><tr><td>Michel Pelletier</td></tr><tr><td>Mikaël Gourlaouen</td></tr><tr><td>Mikhail Gribkov</td></tr><tr><td>Mikhail Kot</td></tr><tr><td>Milosz Chmura</td></tr><tr><td>Muralikrishna Bandaru</td></tr><tr><td>Murat Efendioglu</td></tr><tr><td>Mutaamba Maasha</td></tr><tr><td>Naeem Akhter</td></tr><tr><td>Nat Makarevitch</td></tr><tr><td>Nathan Bossart</td></tr><tr><td>Navneet Kumar</td></tr><tr><td>Nazir Bilal Yavuz</td></tr><tr><td>Neil Conway</td></tr><tr><td>Niccolò Fei</td></tr><tr><td>Nick Davies</td></tr><tr><td>Nicolas Maus</td></tr><tr><td>Niek Brasa</td></tr><tr><td>Nikhil Raj</td></tr><tr><td>Nikita</td></tr><tr><td>Nikita Kalinin</td></tr><tr><td>Nikita Malakhov</td></tr><tr><td>Nikolay Samokhvalov</td></tr><tr><td>Nikolay Shaplov</td></tr><tr><td>Nisha Moond</td></tr><tr><td>Nitin Jadhav</td></tr><tr><td>Nitin Motiani</td></tr><tr><td>Noah Misch</td></tr><tr><td>Noboru Saito</td></tr><tr><td>Noriyoshi Shinoda</td></tr><tr><td>Ole Peder Brandtzæg</td></tr><tr><td>Oleg Sibiryakov</td></tr><tr><td>Oleg Tselebrovskiy</td></tr><tr><td>Olleg Samoylov</td></tr><tr><td>Onder Kalaci</td></tr><tr><td>Ondrej Navratil</td></tr><tr><td>Patrick Stählin</td></tr><tr><td>Paul Amonson</td></tr><tr><td>Paul Jungwirth</td></tr><tr><td>Paul Ramsey</td></tr><tr><td>Pavel Borisov</td></tr><tr><td>Pavel Luzanov</td></tr><tr><td>Pavel Nekrasov</td></tr><tr><td>Pavel Stehule</td></tr><tr><td>Peter Eisentraut</td></tr><tr><td>Peter Geoghegan</td></tr><tr><td>Peter Mittere</td></tr><tr><td>Peter Smith</td></tr><tr><td>Phil Eaton</td></tr><tr><td>Philipp Salvisberg</td></tr><tr><td>Philippe Beaudoin</td></tr><tr><td>Pierre Giraud</td></tr><tr><td>Pixian Shi</td></tr><tr><td>Polina Bungina</td></tr><tr><td>Przemyslaw Sztoch</td></tr><tr><td>Quynh Tran</td></tr><tr><td>Rafia Sabih</td></tr><tr><td>Raghuveer Devulapalli</td></tr><tr><td>Rahila Syed</td></tr><tr><td>Rama Malladi</td></tr><tr><td>Ran Benita</td></tr><tr><td>Ranier Vilela</td></tr><tr><td>Renan Alves Fonseca</td></tr><tr><td>Richard Guo</td></tr><tr><td>Richard Neill</td></tr><tr><td>Rintaro Ikeda</td></tr><tr><td>Robert Haas</td></tr><tr><td>Robert Treat</td></tr><tr><td>Robins Tharakan</td></tr><tr><td>Roman Zharkov</td></tr><tr><td>Ronald Cruz</td></tr><tr><td>Ronan Dunklau</td></tr><tr><td>Rui Zhao</td></tr><tr><td>Rushabh Lathia</td></tr><tr><td>Rustam Allakov</td></tr><tr><td>Ryo Kanbayashi</td></tr><tr><td>Ryohei Takahashi</td></tr><tr><td>RyotaK</td></tr><tr><td>Sagar Dilip Shedge</td></tr><tr><td>Salvatore Dipietro</td></tr><tr><td>Sam Gabrielsson</td></tr><tr><td>Sam James</td></tr><tr><td>Sameer Kumar</td></tr><tr><td>Sami Imseih</td></tr><tr><td>Samuel Thibault</td></tr><tr><td>Satyanarayana Narlapuram</td></tr><tr><td>Sebastian Skalacki</td></tr><tr><td>Senglee Choi</td></tr><tr><td>Sergei Kornilov</td></tr><tr><td>Sergey Belyashov</td></tr><tr><td>Sergey Dudoladov</td></tr><tr><td>Sergey Prokhorenko</td></tr><tr><td>Sergey Sargsyan</td></tr><tr><td>Sergey Soloviev</td></tr><tr><td>Sergey Tatarintsev</td></tr><tr><td>Shaik Mohammad Mujeeb</td></tr><tr><td>Shawn McCoy</td></tr><tr><td>Shenhao Wang</td></tr><tr><td>Shihao Zhong</td></tr><tr><td>Shinya Kato</td></tr><tr><td>Shlok Kyal</td></tr><tr><td>Shubham Khanna</td></tr><tr><td>Shveta Malik</td></tr><tr><td>Simon Riggs</td></tr><tr><td>Smolkin Grigory</td></tr><tr><td>Sofia Kopikova</td></tr><tr><td>Song Hongyu</td></tr><tr><td>Song Jinzhou</td></tr><tr><td>Soumyadeep Chakraborty</td></tr><tr><td>Sravan Kumar</td></tr><tr><td>Srinath Reddy</td></tr><tr><td>Stan Hu</td></tr><tr><td>Stepan Neretin</td></tr><tr><td>Stephen Fewer</td></tr><tr><td>Stephen Frost</td></tr><tr><td>Steve Chavez</td></tr><tr><td>Steven Niu</td></tr><tr><td>Suraj Kharage</td></tr><tr><td>Sven Klemm</td></tr><tr><td>Takamichi Osumi</td></tr><tr><td>Takeshi Ideriha</td></tr><tr><td>Tatsuo Ishii</td></tr><tr><td>Ted Yu</td></tr><tr><td>Tels</td></tr><tr><td>Tender Wang</td></tr><tr><td>Teodor Sigaev</td></tr><tr><td>Thom Brown</td></tr><tr><td>Thomas Baehler</td></tr><tr><td>Thomas Krennwallner</td></tr><tr><td>Thomas Munro</td></tr><tr><td>Tim Wood</td></tr><tr><td>Timur Magomedov</td></tr><tr><td>Tobias Wendorff</td></tr><tr><td>Todd Cook</td></tr><tr><td>Tofig Aliev</td></tr><tr><td>Tom Lane</td></tr><tr><td>Tomas Vondra</td></tr><tr><td>Tomasz Rybak</td></tr><tr><td>Tomasz Szypowski</td></tr><tr><td>Torsten Foertsch</td></tr><tr><td>Toshi Harada</td></tr><tr><td>Tristan Partin</td></tr><tr><td>Triveni N</td></tr><tr><td>Umar Hayat</td></tr><tr><td>Vallimaharajan G</td></tr><tr><td>Vasya Boytsov</td></tr><tr><td>Victor Yegorov</td></tr><tr><td>Vignesh C</td></tr><tr><td>Viktor Holmberg</td></tr><tr><td>Vinícius Abrahão</td></tr><tr><td>Vinod Sridharan</td></tr><tr><td>Virender Singla</td></tr><tr><td>Vitaly Davydov</td></tr><tr><td>Vladlen Popolitov</td></tr><tr><td>Vladyslav Nebozhyn</td></tr><tr><td>Walid Ibrahim</td></tr><tr><td>Webbo Han</td></tr><tr><td>Wenhui Qiu</td></tr><tr><td>Will Mortensen</td></tr><tr><td>Will Storey</td></tr><tr><td>Wolfgang Walther</td></tr><tr><td>Xin Zhang</td></tr><tr><td>Xing Guo</td></tr><tr><td>Xuneng Zhou</td></tr><tr><td>Yan Chengpen</td></tr><tr><td>Yang Lei</td></tr><tr><td>Yaroslav Saburov</td></tr><tr><td>Yaroslav Syrytsia</td></tr><tr><td>Yasir Hussain</td></tr><tr><td>Yasuo Honda</td></tr><tr><td>Yogesh Sharma</td></tr><tr><td>Yonghao Lee</td></tr><tr><td>Yoran Heling</td></tr><tr><td>Yu Liang</td></tr><tr><td>Yugo Nagata</td></tr><tr><td>Yuhang Qiu</td></tr><tr><td>Yuki Seino</td></tr><tr><td>Yura Sokolov</td></tr><tr><td>Yurii Rashkovskii</td></tr><tr><td>Yushi Ogiwara</td></tr><tr><td>Yusuke Sugie</td></tr><tr><td>Yuta Katsuragi</td></tr><tr><td>Yuto Sasaki</td></tr><tr><td>Yuuki Fujii</td></tr><tr><td>Yuya Watari</td></tr><tr><td>Zane Duffield</td></tr><tr><td>Zeyuan Hu</td></tr><tr><td>Zhang Mingli</td></tr><tr><td>Zhihong Yu</td></tr><tr><td>Zhijie Hou</td></tr><tr><td>Zsolt Parragi</td></tr></table></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="release.html" title="Appendix E. Release Notes">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="release.html" title="Appendix E. Release Notes">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="release-prior.html" title="E.2. Prior Releases">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Appendix E. Release Notes </td><td width="20%" align="center"><a accesskey="h" href="index.html" title="PostgreSQL 18.0 Documentation">Home</a></td><td width="40%" align="right" valign="top"> E.2. Prior Releases</td></tr></table></div></body></html>