Home Explore Blog CI



postgresql

22th chunk of `doc/src/sgml/release-18.sgml`
aea3521fb99745eddf7aed5d0fdd4dff50edc5a45d7826b40000000100000faa
 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
-->

<listitem>
<para>
Add libpq connection parameters and environment variables to specify the minimum and maximum acceptable protocol version for connections (Jelte Fennema-Nio)
<ulink url="&commit_baseurl;285613c60">&sect;</ulink>
<ulink url="&commit_baseurl;507034910">&sect;</ulink>
</para>
</listitem>

<!--
Author: Michael Paquier <michael@paquier.xyz>
2024-12-18 [4b99fed75] libpq: Add service name to PGconn and PQservice()
-->

<listitem>
<para>
Add libpq function PQservice() to return the connection service name (Michael Banck)
<ulink url="&commit_baseurl;4b99fed75">&sect;</ulink>
</para>
</listitem>

<!--
Author: Tomas Vondra <tomas.vondra@postgresql.org>
2024-08-19 [28a1121fd] Mark search_path as GUC_REPORT
Author: Tomas Vondra <tomas.vondra@postgresql.org>
2024-08-19 [0d06a7eac] Document that search_path is reported by the server
-->

<listitem>
<para>
Report search_path changes to the client (Alexander Kukushkin, Jelte Fennema-Nio, Tomas Vondra)
<ulink url="&commit_baseurl;28a1121fd">&sect;</ulink>
<ulink url="&commit_baseurl;0d06a7eac">&sect;</ulink>
</para>
</listitem>

<!--
Author: Álvaro Herrera <alvherre@alvh.no-ip.org>
2024-08-12 [ea92f3a0a] libpq: Trace frontend authentication challenges
Author: Álvaro Herrera <alvherre@alvh.no-ip.org>
2024-08-14 [a5c6b8f22] libpq: Trace responses to SSLRequest and GSSENCRequest
Author: Álvaro Herrera <alvherre@alvh.no-ip.org>
2024-08-16 [b8b3f861f] libpq: Trace all messages received from the server
Author: Robert Haas <rhaas@postgresql.org>
2025-02-24 [e87c14b19] libpq: Trace all NegotiateProtocolVersion fields
Author: Álvaro Herrera <alvherre@alvh.no-ip.org>
2024-08-09 [7adec2d5f] libpq: Trace StartupMessage/SSLRequest/GSSENCRequest cor
-->

<listitem>
<para>
Add PQtrace() output for all message types, including authentication (Jelte Fennema-Nio)
<ulink url="&commit_baseurl;ea92f3a0a">&sect;</ulink>
<ulink url="&commit_baseurl;a5c6b8f22">&sect;</ulink>
<ulink url="&commit_baseurl;b8b3f861f">&sect;</ulink>
<ulink url="&commit_baseurl;e87c14b19">&sect;</ulink>
<ulink url="&commit_baseurl;7adec2d5f">&sect;</ulink>
</para>
</listitem>

<!--
Author: Daniel Gustafsson <dgustafsson@postgresql.org>
2025-04-03 [2da74d8d6] libpq: Add support for dumping SSL key material to file
-->

<listitem>
<para>
Add libpq connection parameter sslkeylogfile which dumps out SSL key material (Abhishek Chanda, Daniel Gustafsson)
<ulink url="&commit_baseurl;2da74d8d6">&sect;</ulink>
</para>

<para>
This is useful for debugging.
</para>
</listitem>

<!--
Author: Thomas Munro <tmunro@postgresql.org>
2025-03-25 [3c86223c9] libpq: Deprecate pg_int64.
-->

<listitem>
<para>
Modify some libpq function signatures to use int64_t (Thomas Munro)
<ulink url="&commit_baseurl;3c86223c9">&sect;</ulink>
</para>

<para>
These previously used pg_int64, which is now deprecated.
</para>
</listitem>

    </itemizedlist>

   </sect3>

   <sect3 id="release-18-psql">
     <title><xref linkend="app-psql"/></title>

     <itemizedlist>

Title: PostgreSQL 18: libpq Enhancements
Summary
This section focuses on enhancements to libpq in PostgreSQL 18. It includes adding a function PQfullProtocolVersion() to report the full protocol version, introducing connection parameters for specifying minimum and maximum acceptable protocol versions, adding function PQservice() to return the connection service name, reporting search_path changes to the client, adding PQtrace() output for all message types including authentication, introducing sslkeylogfile connection parameter for SSL key material dumping, and modifying libpq function signatures to use int64_t.