Home Explore Blog CI



postgresql

21th chunk of `doc/src/sgml/release-18.sgml`
373c196354325b61ec97cc30bda8b668a432ed3d9c80ee680000000100000fa0
 comparison, i.e., a character can have multiple upper or lower case equivalents, or upper or lower case conversion changes the number of characters.
</para>
</listitem>

<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2024-07-11 [a0f1fce80] Add min and max aggregates for composite types (records)
Author: Tom Lane <tgl@sss.pgh.pa.us>
2024-10-08 [2d24fd942] Add min and max aggregates for bytea type.
-->

<listitem>
<para>
Allow MIN()/MAX() aggregates on arrays and composite types (Aleksander Alekseev, Marat Buharov)
<ulink url="&commit_baseurl;a0f1fce80">&sect;</ulink>
<ulink url="&commit_baseurl;2d24fd942">&sect;</ulink>
</para>
</listitem>

<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2024-08-16 [6be39d77a] Fix extraction of week and quarter fields from intervals
-->

<listitem>
<para>
Add a WEEK option to EXTRACT() (Tom Lane)
<ulink url="&commit_baseurl;6be39d77a">&sect;</ulink>
</para>
</listitem>

<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2024-08-16 [6be39d77a] Fix extraction of week and quarter fields from intervals
-->

<listitem>
<para>
Improve the output EXTRACT(QUARTER ...) for negative values (Tom Lane)
<ulink url="&commit_baseurl;6be39d77a">&sect;</ulink>
</para>
</listitem>

<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2025-01-22 [172e6b3ad] Support RN (roman-numeral format) in to_number().
-->

<listitem>
<para>
Add roman numeral support to to_number() (Hunaid Sohail)
<ulink url="&commit_baseurl;172e6b3ad">&sect;</ulink>
</para>

<para>
This is accessed via the "RN" pattern.
</para>
</listitem>

<!--
Author: Masahiko Sawada <msawada@postgresql.org>
2024-12-11 [78c5e141e] Add UUID version 7 generation function.
-->

<listitem>
<para>
Add UUID version 7 generation function uuidv7() (Andrey Borodin)
<ulink url="&commit_baseurl;78c5e141e">&sect;</ulink>
</para>

<para>
This UUID value is temporally sortable.  Function alias uuidv4() has been added to explicitly generate version 4 UUIDs.
</para>
</listitem>

<!--
Author: Nathan Bossart <nathan@postgresql.org>
2024-08-12 [760162fed] Add user-callable CRC functions.
-->

<listitem>
<para>
Add functions crc32() and crc32c() to compute CRC values (Aleksander Alekseev)
<ulink url="&commit_baseurl;760162fed">&sect;</ulink>
</para>
</listitem>

<!--
Author: Dean Rasheed <dean.a.rasheed@gmail.com>
2025-03-26 [a3b6dfd41] Add support for gamma() and lgamma() functions.
-->

<listitem>
<para>
Add math functions gamma() and lgamma() (Dean Rasheed)
<ulink url="&commit_baseurl;a3b6dfd41">&sect;</ulink>
</para>
</listitem>

<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2025-03-03 [246dedc5d] Allow =&gt; syntax for named cursor arguments in plpgsql.
-->

<listitem>
<para>
Allow "=&gt;" syntax for named cursor arguments in plpgsql (Pavel Stehule)
<ulink url="&commit_baseurl;246dedc5d">&sect;</ulink>
</para>

<para>
We previously only accepted ":=".
</para>
</listitem>

<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2024-07-25 [580f8727c] Add argument names to the regexp_XXX functions.
-->

<listitem>
<para>
Allow regexp_match[es]/regexp_like/regexp_replace/regexp_count/regexp_instr/regexp_substr/regexp_split_to_table/regexp_split_to_array() to use named arguments (Jian He)
<ulink url="&commit_baseurl;580f8727c">&sect;</ulink>
</para>
</listitem>

    </itemizedlist>

   </sect3>

   <sect3 id="release-18-libpq">
    <title><link linkend="libpq">libpq</link></title>

    <itemizedlist>

<!--
Author: Robert Haas <rhaas@postgresql.org>
2024-09-09 [cdb6b0fdb] Add PQfullProtocolVersion() to surface the precise proto
-->

<listitem>
<para>
Add function PQfullProtocolVersion() to report the full, including minor, protocol version number (Jacob Champion, Jelte Fennema-Nio)
<ulink url="&commit_baseurl;cdb6b0fdb">&sect;</ulink>
</para>
</listitem>

<!--
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
2025-04-02 [285613c60] libpq: Add min/max_protocol_version connection options
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
2025-04-02 [507034910] libpq: Handle NegotiateProtocolVersion message different

Title: PostgreSQL 18: More Function Updates and libpq Enhancements
Summary
This section details further function enhancements in PostgreSQL 18, including improving EXTRACT(QUARTER ...) output for negative values, adding roman numeral support to to_number(), introducing UUID version 7 generation function uuidv7(), adding functions crc32() and crc32c() for computing CRC values, adding math functions gamma() and lgamma(), allowing "=>" syntax for named cursor arguments in plpgsql, and allowing named arguments for various regexp functions. Additionally, it covers libpq enhancements such as adding function PQfullProtocolVersion() and handling NegotiateProtocolVersion messages.