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
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>
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>
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
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
52 <a class="ulink" href="https://postgr.es/c/04bec894a04" target="_top">§</a>
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>
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>
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>
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>
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>
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>
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>
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>
123 <a class="ulink" href="https://postgr.es/c/f0d112759" target="_top">§</a>
125 This is no longer needed since
126 <code class="structname">pg_backend_memory_contexts</code>.<code class="structfield">path</code>
128 </p></li><li class="listitem"><p>
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,
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>
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>
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
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>
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
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,
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
184 <a class="ulink" href="https://postgr.es/c/a8ccf4e93" target="_top">§</a>
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>
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
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>
207 This allows earlier row filtering. This release also fixes some
208 <code class="literal">GROUPING SETS</code> queries that used to return
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
220 <a class="ulink" href="https://postgr.es/c/aa86129e1" target="_top">§</a>
222 Semi-joins are used when needing to find if there is at least
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>
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,
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
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>
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>
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>
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
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>
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>
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,
331 <a class="ulink" href="https://postgr.es/c/0164a0f9e" target="_top">§</a>
333 A storage-level parameter with the same name and behavior already
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
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>
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>
346 This server variable was previously only boolean, which is still
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>
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>
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>
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>
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>
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>
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>,
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>
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>
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>
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>
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
443 <a class="ulink" href="https://postgr.es/c/76def4cdd" target="_top">§</a>
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>
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>
457 Columns <code class="structfield">num_timed</code> and
458 <code class="structfield">num_requested</code> count both completed and
460 </p></li><li class="listitem"><p>
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>
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>
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
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>
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>
490 This is true even if the tables in different schemas have different
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>
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,
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>
518 <a class="ulink" href="https://postgr.es/c/ccd38024b" target="_top">§</a>
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>
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,
543 <a class="ulink" href="https://postgr.es/c/3d1ef3a15" target="_top">§</a>
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>
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>
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
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>
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>
575 Previously files opened by the postmaster were also counted toward
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>
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,
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>
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>
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
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>
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>
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>
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>
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
668 <a class="ulink" href="https://postgr.es/c/302cf1575" target="_top">§</a>
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
680 <a class="ulink" href="https://postgr.es/c/329304c90" target="_top">§</a>
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>
686 <a class="ulink" href="https://postgr.es/c/d3d098316" target="_top">§</a>
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
694 <a class="ulink" href="https://postgr.es/c/62ddf7ee9" target="_top">§</a>
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
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>
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>
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>
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
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>
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>
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>
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>
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
780 <a class="ulink" href="https://postgr.es/c/4dea33ce7" target="_top">§</a>
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>
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
797 <a class="ulink" href="https://postgr.es/c/e7834a1a2" target="_top">§</a>
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
804 <a class="ulink" href="https://postgr.es/c/401a6956f" target="_top">§</a>
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
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>
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>
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
883 <a class="ulink" href="https://postgr.es/c/6da469bad" target="_top">§</a>
885 The integer values are stored as <code class="type">bytea</code> two's complement
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
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
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
899 <a class="ulink" href="https://postgr.es/c/cd838e200" target="_top">§</a>
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>
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,
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>
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>
927 <a class="ulink" href="https://postgr.es/c/172e6b3ad" target="_top">§</a>
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>
934 <a class="ulink" href="https://postgr.es/c/78c5e141e" target="_top">§</a>
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>
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">=></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>
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,
988 <a class="ulink" href="https://postgr.es/c/2da74d8d6" target="_top">§</a>
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>
996 These previously used <code class="literal">pg_int64</code>, which is now
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>
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>
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>
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>
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,
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>
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>
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>
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>
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>
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
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>
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>
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>
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>
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>
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>
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
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
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>
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>
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
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
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>
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>
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>
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>
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>
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>
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>
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
1314 <a class="ulink" href="https://postgr.es/c/218527d01" target="_top">§</a>
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>
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
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>
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>
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>
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
1386 <a class="ulink" href="https://postgr.es/c/6c8f67032" target="_top">§</a>
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>
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>
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>
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>
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,
1444 <a class="ulink" href="https://postgr.es/c/dc6851596" target="_top">§</a>
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>
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>
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>
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
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
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>
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>