Home Explore Blog CI



postgresql

5th chunk of `doc/src/sgml/release-18.sgml`
fe2ca2415a2124757c98654a80cc54f0248ffb34ff76b8550000000100000fa8
 url="&commit_baseurl;d69d45a5a">&sect;</ulink>
</para>
</listitem>

<!--
Author: Richard Guo <rguo@postgresql.org>
2024-07-30 [9b282a935] Fix partitionwise join with partially-redundant join cla
Author: Richard Guo <rguo@postgresql.org>
2024-07-29 [513f4472a] Reduce memory used by partitionwise joins
-->

<listitem>
<para>
Allow partitionwise joins in more cases, and reduce its memory usage (Richard Guo, Tom Lane, Ashutosh Bapat)
<ulink url="&commit_baseurl;9b282a935">&sect;</ulink>
<ulink url="&commit_baseurl;513f4472a">&sect;</ulink>
</para>
</listitem>

<!--
Author: Alexander Korotkov <akorotkov@postgresql.org>
2025-03-10 [fae535da0] Teach Append to consider tuple_fraction when accumulatin
-->

<listitem>
<para>
Improve cost estimates of partition queries (Nikita Malakhov, Andrei Lepikhov)
<ulink url="&commit_baseurl;fae535da0">&sect;</ulink>
</para>
</listitem>

<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2025-04-02 [0dca5d68d] Change SQL-language functions to use the plan cache.
Author: Tom Lane <tgl@sss.pgh.pa.us>
2025-04-17 [09b07c295] Minor performance improvement for SQL-language functions
-->

<listitem>
<para>
Improve SQL-language function plan caching (Alexander Pyhalov, Tom Lane)
<ulink url="&commit_baseurl;0dca5d68d">&sect;</ulink>
<ulink url="&commit_baseurl;09b07c295">&sect;</ulink>
</para>
</listitem>

<!--
Author: Robert Haas <rhaas@postgresql.org>
2024-08-21 [e22253467] Treat number of disabled nodes in a path as a separate c
-->

<listitem>
<para>
Improve handling of disabled optimizer features (Robert Haas)
<ulink url="&commit_baseurl;e22253467">&sect;</ulink>
</para>
</listitem>

     </itemizedlist>

    </sect4>

    <sect4 id="release-18-indexes">
     <title>Indexes</title>

     <itemizedlist>

<!--
Author: Peter Geoghegan <pg@bowt.ie>
2025-04-04 [92fe23d93] Add nbtree skip scan optimization.
Author: Peter Geoghegan <pg@bowt.ie>
2025-04-04 [8a510275d] Further optimize nbtree search scan key comparisons.
-->

<listitem>
<para>
Allow skip scans of btree indexes (Peter Geoghegan)
<ulink url="&commit_baseurl;92fe23d93">&sect;</ulink>
<ulink url="&commit_baseurl;8a510275d">&sect;</ulink>
</para>

<para>
This allows multi-column btree indexes to be used by queries that only
equality-reference the second or later indexed columns.
</para>
</listitem>

<!--
Author: Peter Eisentraut <peter@eisentraut.org>
2025-03-18 [f278e1fe3] Allow non-btree unique indexes for partition keys
Author: Peter Eisentraut <peter@eisentraut.org>
2025-03-18 [9d6db8bec] Allow non-btree unique indexes for matviews
-->

<listitem>
<para>
Allow non-btree unique indexes to be used as partition keys and in materialized views (Mark Dilger)
<ulink url="&commit_baseurl;f278e1fe3">&sect;</ulink>
<ulink url="&commit_baseurl;9d6db8bec">&sect;</ulink>
</para>

<para>
The index type must still support equality.
</para>
</listitem>

<!--
Author: Tomas Vondra <tomas.vondra@postgresql.org>
2025-03-03 [8492feb98] Allow parallel CREATE INDEX for GIN indexes
-->

<listitem>
<para>
Allow GIN indexes to be created in parallel (Tomas Vondra, Matthias van de Meent)
<ulink url="&commit_baseurl;8492feb98">&sect;</ulink>
</para>
</listitem>

<!--
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
2025-04-02 [e9e7b6604] Add GiST and btree sortsupport routines for range types
-->

<listitem>
<para>
Allow values to be sorted to speed rangetype GiST and btree index builds (Bernd Helmle)
<ulink url="&commit_baseurl;e9e7b6604">&sect;</ulink>
</para>
</listitem>

     </itemizedlist>

    </sect4>

    <sect4 id="release-18-performance">
     <title>General Performance</title>

     <itemizedlist>

<!--
Author: Andres Freund <andres@anarazel.de>
2025-03-17 [02844012b] aio: Basic subsystem initialization
Author: Andres Freund <andres@anarazel.de>
2025-03-17 [da7226993] aio: Add core asynchronous I/O infrastructure
Author: Andres Freund <andres@anarazel.de>
2025-03-18 [55b454d0e] aio: Infrastructure for io_method=worker
Author: Andres Freund <andres@anarazel.de>
2025-03-18

Title: PostgreSQL 18: Optimizer, Indexes, and General Performance Improvements
Summary
This section details several improvements in PostgreSQL 18. For the optimizer, SQL-language function plan caching is improved and handling of disabled optimizer features is enhanced. For indexes, skip scans of btree indexes are now allowed, non-btree unique indexes can be used as partition keys and in materialized views, GIN indexes can be created in parallel, and values can be sorted to speed rangetype GiST and btree index builds.