diff options
author | Joe Conway | 2025-06-30 02:28:10 +0000 |
---|---|---|
committer | Joe Conway | 2025-06-30 02:28:10 +0000 |
commit | 2652835d3efa003439ecc23d5fc3cf089c5952a6 (patch) | |
tree | 2fa777d22224918238395775c54105ae11724875 | |
parent | 9c5b9a280cb6089c011a01797868da83f97d0230 (diff) |
Stamp HEAD as 19devel.
Let the hacking begin ...
-rwxr-xr-x | configure | 18 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | doc/src/sgml/filelist.sgml | 2 | ||||
-rw-r--r-- | doc/src/sgml/release-18.sgml | 4200 | ||||
-rw-r--r-- | doc/src/sgml/release-19.sgml | 16 | ||||
-rw-r--r-- | doc/src/sgml/release.sgml | 2 | ||||
-rw-r--r-- | meson.build | 2 | ||||
-rwxr-xr-x | src/tools/git_changelog | 1 | ||||
-rwxr-xr-x | src/tools/version_stamp.pl | 2 |
9 files changed, 31 insertions, 4214 deletions
diff --git a/configure b/configure index 3d3d3db97a4..16ef5b58d1a 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for PostgreSQL 18beta1. +# Generated by GNU Autoconf 2.69 for PostgreSQL 19devel. # # Report bugs to <[email protected]>. # @@ -582,8 +582,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='PostgreSQL' PACKAGE_TARNAME='postgresql' -PACKAGE_VERSION='18beta1' -PACKAGE_STRING='PostgreSQL 18beta1' +PACKAGE_VERSION='19devel' +PACKAGE_STRING='PostgreSQL 19devel' PACKAGE_BUGREPORT='[email protected]' PACKAGE_URL='https://www.postgresql.org/' @@ -1468,7 +1468,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures PostgreSQL 18beta1 to adapt to many kinds of systems. +\`configure' configures PostgreSQL 19devel to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1533,7 +1533,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of PostgreSQL 18beta1:";; + short | recursive ) echo "Configuration of PostgreSQL 19devel:";; esac cat <<\_ACEOF @@ -1724,7 +1724,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -PostgreSQL configure 18beta1 +PostgreSQL configure 19devel generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2477,7 +2477,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by PostgreSQL $as_me 18beta1, which was +It was created by PostgreSQL $as_me 19devel, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -20063,7 +20063,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by PostgreSQL $as_me 18beta1, which was +This file was extended by PostgreSQL $as_me 19devel, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -20134,7 +20134,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -PostgreSQL config.status 18beta1 +PostgreSQL config.status 19devel configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 4b8335dc613..b3efc49c97a 100644 --- a/configure.ac +++ b/configure.ac @@ -17,7 +17,7 @@ dnl Read the Autoconf manual for details. dnl m4_pattern_forbid(^PGAC_)dnl to catch undefined macros -AC_INIT([PostgreSQL], [18beta1], [[email protected]], [], [https://www.postgresql.org/]) +AC_INIT([PostgreSQL], [19devel], [[email protected]], [], [https://www.postgresql.org/]) m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.69], [], [m4_fatal([Autoconf version 2.69 is required. Untested combinations of 'autoconf' and PostgreSQL versions are not diff --git a/doc/src/sgml/filelist.sgml b/doc/src/sgml/filelist.sgml index fef9584f908..bcde3cfd037 100644 --- a/doc/src/sgml/filelist.sgml +++ b/doc/src/sgml/filelist.sgml @@ -180,7 +180,7 @@ <!ENTITY sourcerepo SYSTEM "sourcerepo.sgml"> <!ENTITY release SYSTEM "release.sgml"> -<!ENTITY release-18 SYSTEM "release-18.sgml"> +<!ENTITY release-19 SYSTEM "release-19.sgml"> <!ENTITY limits SYSTEM "limits.sgml"> <!ENTITY acronyms SYSTEM "acronyms.sgml"> diff --git a/doc/src/sgml/release-18.sgml b/doc/src/sgml/release-18.sgml deleted file mode 100644 index 66a6817a2be..00000000000 --- a/doc/src/sgml/release-18.sgml +++ /dev/null @@ -1,4200 +0,0 @@ -<!-- doc/src/sgml/release-18.sgml --> -<!-- See header comment in release.sgml about typical markup --> - - <sect1 id="release-18"> - <title>Release 18</title> - - <formalpara> - <title>Release date:</title> - <para>2025-??-??, CURRENT AS OF 2025-06-20</para> - </formalpara> - - <sect2 id="release-18-highlights"> - <title>Overview</title> - - <para> - <productname>PostgreSQL</productname> 18 contains many new features - and enhancements, including: - </para> - - <itemizedlist> - - <listitem> - <para> - (to be completed) - </para> - </listitem> - </itemizedlist> - - <para> - The above items and other new features of - <productname>PostgreSQL</productname> 18 are explained in more detail - in the sections below. - </para> - - </sect2> - - <sect2 id="release-18-migration"> - - <title>Migration to Version 18</title> - - <para> - A dump/restore using <xref linkend="app-pg-dumpall"/> or use of - <xref linkend="pgupgrade"/> or logical replication is required for - those wishing to migrate data from any previous release. See <xref - linkend="upgrading"/> for general information on migrating to new - major releases. - </para> - - <para> - Version 18 contains a number of changes that may affect compatibility - with previous releases. Observe the following incompatibilities: - </para> - - <itemizedlist> - -<!-- -Author: Peter Eisentraut <[email protected]> -2024-10-16 [04bec894a04] initdb: Change default to using data checksums. ---> - - <listitem> - <para> - Change <xref linkend="app-initdb"/> default to enable data checksums - (Greg Sabino Mullane) - <ulink url="&commit_baseurl;04bec894a04">§</ulink> - </para> - - <para> - Checksums can be disabled with the - new <application>initdb</application> option - <option>--no-data-checksums</option>. <xref linkend="pgupgrade"/> - requires matching cluster checksum settings, so this new option can - be useful to upgrade non-checksum old clusters. - </para> - </listitem> - -<!-- -Author: Tom Lane <[email protected]> -2025-01-16 [d7674c9fa] Seek zone abbreviations in the IANA data before timezone ---> - - <listitem> - <para> - Change time zone abbreviation handling (Tom Lane) - <ulink url="&commit_baseurl;d7674c9fa">§</ulink> - </para> - - <para> - The system will now favor the current session's time - zone abbreviations before checking the server variable - <xref linkend="guc-timezone-abbreviations"/>. Previously - <varname>timezone_abbreviations</varname> was checked first. - </para> - </listitem> - -<!-- -Author: Nathan Bossart <[email protected]> -2024-12-02 [db6a4a985] Deprecate MD5 passwords. ---> - - <listitem> - <para> - Deprecate <link linkend="auth-password">MD5 password</link> - authentication (Nathan Bossart) - <ulink url="&commit_baseurl;db6a4a985">§</ulink> - </para> - - <para> - Support for MD5 passwords will be removed in a future major - version release. <xref linkend="sql-createrole"/> and <xref - linkend="sql-alterrole"/> now emit deprecation warnings when - setting MD5 passwords. These warnings can be disabled by setting - the <xref linkend="guc-md5-password-warnings"/> parameter to - <literal>off</literal>. - </para> - </listitem> - -<!-- -Author: David Rowley <[email protected]> -2024-09-24 [62ddf7ee9] Add ONLY support for VACUUM and ANALYZE ---> - - <listitem> - <para> - Change <xref linkend="sql-vacuum"/> and <xref linkend="sql-analyze"/> - to process the inheritance children of a parent (Michael Harris) - <ulink url="&commit_baseurl;62ddf7ee9">§</ulink> - </para> - - <para> - The previous behavior can be performed by using the new - <literal>ONLY</literal> option. - </para> - </listitem> - -<!-- -Author: Tom Lane <[email protected]> -2024-09-30 [770233748] Do not treat \. as an EOF marker in CSV mode for COPY IN -Author: Tom Lane <[email protected]> -2024-10-01 [da8a4c166] Reject a copy EOF marker that has data ahead of it on th ---> - - <listitem> - <para> - Prevent <link linkend="sql-copy"><command>COPY FROM</command></link> - from treating <literal>\.</literal> as an end-of-file marker when - reading <acronym>CSV</acronym> files (Daniel Vérité, Tom Lane) - <ulink url="&commit_baseurl;770233748">§</ulink> - <ulink url="&commit_baseurl;da8a4c166">§</ulink> - </para> - - <para> - <xref linkend="app-psql"/> will still treat - <literal>\.</literal> as an end-of-file marker when reading - <acronym>CSV</acronym> files from <literal>STDIN</literal>. - Older <application>psql</application> clients connecting to - <productname>PostgreSQL</productname> 18 servers might experience <link - linkend="app-psql-meta-commands-copy"><literal>\copy</literal></link> - problems. This release also enforces that <literal>\.</literal> - must appear alone on a line. - </para> - </listitem> - -<!-- -Author: Michael Paquier <[email protected]> -2024-10-03 [e2bab2d79] Remove support for unlogged on partitioned tables ---> - - <listitem> - <para> - Disallow unlogged partitioned tables (Michael Paquier) - <ulink url="&commit_baseurl;e2bab2d79">§</ulink> - </para> - - <para> - Previously <link linkend="sql-altertable"><command>ALTER TABLE SET - [UN]LOGGED</command></link> did nothing, and the creation of an - unlogged partitioned table did not cause its children to be unlogged. - </para> - </listitem> - -<!-- -Author: Tom Lane <[email protected]> -2025-01-23 [01463e1cc] Ensure that AFTER triggers run as the instigating user. ---> - - <listitem> - <para> - Execute <literal>AFTER</literal> <link - linkend="triggers">triggers</link> as the role that was active when - trigger events were queued (Laurenz Albe) - <ulink url="&commit_baseurl;01463e1cc">§</ulink> - </para> - - <para> - Previously such triggers were run as the role that was active at - trigger execution time (e.g., at <xref linkend="sql-commit"/>). - This is significant for cases where the role is changed between queue - time and transaction commit. - </para> - </listitem> - -<!-- -Author: Fujii Masao <[email protected]> -2024-09-12 [fefa76f70] Remove old RULE privilege completely. ---> - - <listitem> - <para> - Remove non-functional support for rule privileges in <xref - linkend="sql-grant"/>/<xref linkend="sql-revoke"/> (Fujii Masao) - <ulink url="&commit_baseurl;fefa76f70">§</ulink> - </para> - - <para> - These have been non-functional since - <productname>PostgreSQL</productname> 8.2. - </para> - </listitem> - -<!-- -Author: David Rowley <[email protected]> -2024-08-12 [f0d112759] Remove "parent" column from pg_backend_memory_contexts ---> - - <listitem> - <para> - Remove column <link - linkend="view-pg-backend-memory-contexts"><structname>pg_backend_memory_contexts</structname></link>.<structfield>parent</structfield> - (Melih Mutlu) - <ulink url="&commit_baseurl;f0d112759">§</ulink> - </para> - - <para> - This is no longer needed since - <structname>pg_backend_memory_contexts</structname>.<structfield>path</structfield> - was added. - </para> - </listitem> - -<!-- -Author: David Rowley <[email protected]> -2024-07-25 [32d3ed816] Add path column to pg_backend_memory_contexts view -Author: David Rowley <[email protected]> -2025-04-18 [d9e03864b] Make levels 1-based in - pg_log_backend_memory_contexts() -Author: Fujii Masao <[email protected]> -2025-04-21 [706cbed35] doc: Fix memory context level in pg_log_backend_memory_c ---> - - <listitem> - <para> - Change - <structname>pg_backend_memory_contexts</structname>.<structfield>level</structfield> - and <link - linkend="functions-admin-signal-table"><function>pg_log_backend_memory_contexts()</function></link> - to be one-based (Melih Mutlu, Atsushi Torikoshi, David Rowley, - Fujii Masao) - <ulink url="&commit_baseurl;32d3ed816">§</ulink> - <ulink url="&commit_baseurl;d9e03864b">§</ulink> - <ulink url="&commit_baseurl;706cbed35">§</ulink> - </para> - - <para> - These were previously zero-based. - </para> - </listitem> - - </itemizedlist> - - </sect2> - - <sect2 id="release-18-changes"> - <title>Changes</title> - - <para> - Below you will find a detailed account of the changes between - <productname>PostgreSQL</productname> 18 and the previous major - release. - </para> - - <sect3 id="release-18-server"> - <title>Server</title> - - <sect4 id="release-18-optimizer"> - <title>Optimizer</title> - - <itemizedlist> - -<!-- -Author: Alexander Korotkov <[email protected]> -2025-02-17 [fc069a3a6] Implement Self-Join Elimination ---> - - <listitem> - <para> - Automatically remove some unnecessary table self-joins (Andrey - Lepikhov, Alexander Kuzmenkov, Alexander Korotkov, Alena Rybakina) - <ulink url="&commit_baseurl;fc069a3a6">§</ulink> - </para> - - <para> - This optimization can be disabled using server variable <xref - linkend="guc-enable-self-join-elimination"/>. - </para> - </listitem> - -<!-- -Author: Alexander Korotkov <[email protected]> -2025-04-04 [c0962a113] Convert 'x IN (VALUES ...)' to 'x = ANY ...' then approp ---> - - <listitem> - <para> - Convert some <link - linkend="functions-comparisons-in-scalar"><literal>IN (VALUES - ...)</literal></link> to <literal>x = ANY ...</literal> for better - optimizer statistics (Alena Rybakina, Andrei Lepikhov) - <ulink url="&commit_baseurl;c0962a113">§</ulink> - </para> - </listitem> - -<!-- -Author: Alexander Korotkov <[email protected]> -2024-11-24 [ae4569161] Teach bitmap path generation about transforming OR-claus ---> - - <listitem> - <para> - Allow transforming <link - linkend="functions-logical"><literal>OR</literal></link>-clauses - to arrays for faster index processing (Alexander Korotkov, Andrey - Lepikhov) - <ulink url="&commit_baseurl;ae4569161">§</ulink> - </para> - </listitem> - -<!-- -Author: Tom Lane <[email protected]> -2024-09-10 [52c707483] Use a hash table to de-duplicate column names in ruleuti -Author: Tom Lane <[email protected]> -2024-12-19 [276279295] Convert SetOp to read its inputs as outerPlan and innerP -Author: Tom Lane <[email protected]> -2024-12-19 [8d96f57d5] Improve planner's handling of SetOp plans. -Author: David Rowley <[email protected]> -2024-09-05 [908a96861] Optimize WindowAgg's use of tuplestores ---> - - <listitem> - <para> - Speed up the processing of <link - linkend="sql-intersect"><literal>INTERSECT</literal></link>, - <link linkend="sql-except"><literal>EXCEPT</literal></link>, <link - linkend="tutorial-window">window aggregates</link>, and <link - linkend="sql-createview">view column aliases</link> (Tom Lane, - David Rowley) - <ulink url="&commit_baseurl;52c707483">§</ulink> - <ulink url="&commit_baseurl;276279295">§</ulink> - <ulink url="&commit_baseurl;8d96f57d5">§</ulink> - <ulink url="&commit_baseurl;908a96861">§</ulink> - </para> - </listitem> - -<!-- -Author: Richard Guo <[email protected]> -2024-11-26 [a8ccf4e93] Reordering DISTINCT keys to match input path's pathkeys ---> - - <listitem> - <para> - Allow the keys of <link linkend="sql-distinct"><command>SELECT - DISTINCT</command></link> to be internally reordered to avoid sorting - (Richard Guo) - <ulink url="&commit_baseurl;a8ccf4e93">§</ulink> - </para> - - <para> - This optimization can be disabled using <xref - linkend="guc-enable-distinct-reordering"/>. - </para> - </listitem> - -<!-- -Author: David Rowley <[email protected]> -2024-12-12 [bd10ec529] Detect redundant GROUP BY columns using UNIQUE indexes ---> - - <listitem> - <para> - Ignore <link linkend="sql-groupby"><literal>GROUP BY</literal></link> - columns that are functionally dependent on other columns (Zhang - Mingli, Jian He, David Rowley) - <ulink url="&commit_baseurl;bd10ec529">§</ulink> - </para> - - <para> - If a <literal>GROUP BY</literal> clause includes all columns of - a unique index, as well as other columns of the same table, those - other columns are redundant and can be dropped from the grouping. - This was already true for non-deferred primary keys. - </para> - </listitem> - -<!-- -Author: Richard Guo <[email protected]> -2024-10-09 [67a54b9e8] Allow pushdown of HAVING clauses with grouping sets -Author: Richard Guo <[email protected]> -2024-09-10 [247dea89f] Introduce an RTE for the grouping step -Author: Richard Guo <[email protected]> -2024-09-10 [f5050f795] Mark expressions nullable by grouping sets -Author: Richard Guo <[email protected]> -2025-03-13 [cc5d98525] Fix incorrect handling of subquery pullup ---> - - <listitem> - <para> - Allow some <link - linkend="sql-having"><literal>HAVING</literal></link> clauses - on <link linkend="queries-grouping-sets"><literal>GROUPING - SETS</literal></link> to be pushed to <link - linkend="sql-where"><literal>WHERE</literal></link> clauses - (Richard Guo) - <ulink url="&commit_baseurl;67a54b9e8">§</ulink> - <ulink url="&commit_baseurl;247dea89f">§</ulink> - <ulink url="&commit_baseurl;f5050f795">§</ulink> - <ulink url="&commit_baseurl;cc5d98525">§</ulink> - </para> - - <para> - This allows earlier row filtering. This release also fixes some - <literal>GROUPING SETS</literal> queries that used to return - incorrect results. - </para> - </listitem> - -<!-- -Author: David Rowley <[email protected]> -2024-07-09 [036bdcec9] Teach planner how to estimate rows for timestamp generat -Author: Dean Rasheed <[email protected]> -2024-12-02 [97173536e] Add a planner support function for numeric generate_seri ---> - - <listitem> - <para> - Improve row estimates for <link - linkend="functions-srf-series"><function>generate_series()</function></link> - using <link linkend="datatype-numeric"><type>numeric</type></link> - and <link linkend="datatype-datetime"><type>timestamp</type></link> - values (David Rowley, Song Jinzhou) - <ulink url="&commit_baseurl;036bdcec9">§</ulink> - <ulink url="&commit_baseurl;97173536e">§</ulink> - </para> - </listitem> - -<!-- -Author: Richard Guo <[email protected]> -2024-07-05 [aa86129e1] Support "Right Semi Join" plan shapes ---> - - <listitem> - <para> - Allow the optimizer to use <literal>Right Semi Join</literal> plans - (Richard Guo) - <ulink url="&commit_baseurl;aa86129e1">§</ulink> - </para> - - <para> - Semi-joins are used when needing to find if there is at least - one match. - </para> - </listitem> - -<!-- -Author: Richard Guo <[email protected]> -2024-10-09 [828e94c9d] Consider explicit incremental sort for mergejoins ---> - - <listitem> - <para> - Allow merge joins to use <link - linkend="guc-enable-incremental-sort">incremental sorts</link> - (Richard Guo) - <ulink url="&commit_baseurl;828e94c9d">§</ulink> - </para> - </listitem> - -<!-- -Author: Amit Langote <[email protected]> -2025-04-04 [88f55bc97] Make derived clause lookup in EquivalenceClass more effi -Author: David Rowley <[email protected]> -2025-04-08 [d69d45a5a] Speedup child EquivalenceMember lookup in planner ---> - - <listitem> - <para> - Improve the efficiency of planning queries accessing many partitions - (Ashutosh Bapat, Yuya Watari, David Rowley) - <ulink url="&commit_baseurl;88f55bc97">§</ulink> - <ulink url="&commit_baseurl;d69d45a5a">§</ulink> - </para> - </listitem> - -<!-- -Author: Richard Guo <[email protected]> -2024-07-30 [9b282a935] Fix partitionwise join with partially-redundant join cla -Author: Richard Guo <[email protected]> -2024-07-29 [513f4472a] Reduce memory used by partitionwise joins ---> - - <listitem> - <para> - Allow <link linkend="guc-enable-partitionwise-join">partitionwise - joins</link> in more cases, and reduce its memory usage (Richard Guo, - Tom Lane, Ashutosh Bapat) - <ulink url="&commit_baseurl;9b282a935">§</ulink> - <ulink url="&commit_baseurl;513f4472a">§</ulink> - </para> - </listitem> - -<!-- -Author: Alexander Korotkov <[email protected]> -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">§</ulink> - </para> - </listitem> - -<!-- -Author: Tom Lane <[email protected]> -2025-04-02 [0dca5d68d] Change SQL-language functions to use the plan cache. -Author: Tom Lane <[email protected]> -2025-04-17 [09b07c295] Minor performance improvement for SQL-language functions ---> - - <listitem> - <para> - Improve <link linkend="xfunc-sql"><acronym>SQL</acronym>-language - function</link> plan caching (Alexander Pyhalov, Tom Lane) - <ulink url="&commit_baseurl;0dca5d68d">§</ulink> - <ulink url="&commit_baseurl;09b07c295">§</ulink> - </para> - </listitem> - -<!-- -Author: Robert Haas <[email protected]> -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">§</ulink> - </para> - </listitem> - - </itemizedlist> - - </sect4> - - <sect4 id="release-18-indexes"> - <title>Indexes</title> - - <itemizedlist> - -<!-- -Author: Peter Geoghegan <[email protected]> -2025-04-04 [92fe23d93] Add nbtree skip scan optimization. -Author: Peter Geoghegan <[email protected]> -2025-04-04 [8a510275d] Further optimize nbtree search scan key comparisons. ---> - - <listitem> - <para> - Allow skip scans of <link linkend="xfunc-sql">btree</link> indexes - (Peter Geoghegan) - <ulink url="&commit_baseurl;92fe23d93">§</ulink> - <ulink url="&commit_baseurl;8a510275d">§</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 <[email protected]> -2025-03-18 [f278e1fe3] Allow non-btree unique indexes for partition keys -Author: Peter Eisentraut <[email protected]> -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">§</ulink> - <ulink url="&commit_baseurl;9d6db8bec">§</ulink> - </para> - - <para> - The index type must still support equality. - </para> - </listitem> - -<!-- -Author: Tomas Vondra <[email protected]> -2025-03-03 [8492feb98] Allow parallel CREATE INDEX for GIN indexes ---> - - <listitem> - <para> - Allow <link linkend="gin"><literal>GIN</literal></link> indexes to - be created in parallel (Tomas Vondra, Matthias van de Meent) - <ulink url="&commit_baseurl;8492feb98">§</ulink> - </para> - </listitem> - -<!-- -Author: Heikki Linnakangas <[email protected]> -2025-04-02 [e9e7b6604] Add GiST and btree sortsupport routines for range types ---> - - <listitem> - <para> - Allow values to be sorted to speed range-type <link - linkend="gist">GiST</link> and <link linkend="btree">btree</link> - index builds (Bernd Helmle) - <ulink url="&commit_baseurl;e9e7b6604">§</ulink> - </para> - </listitem> - - </itemizedlist> - - </sect4> - - <sect4 id="release-18-performance"> - <title>General Performance</title> - - <itemizedlist> - -<!-- -Author: Andres Freund <[email protected]> -2025-03-17 [02844012b] aio: Basic subsystem initialization -Author: Andres Freund <[email protected]> -2025-03-17 [da7226993] aio: Add core asynchronous I/O infrastructure -Author: Andres Freund <[email protected]> -2025-03-18 [55b454d0e] aio: Infrastructure for io_method=worker -Author: Andres Freund <[email protected]> -2025-03-18 [247ce06b8] aio: Add io_method=worker -Author: Thomas Munro <[email protected]> -2025-03-19 [10f664684] Introduce io_max_combine_limit. -Author: Thomas Munro <[email protected]> -2025-03-19 [06fb5612c] Increase io_combine_limit range to 1MB. -Author: Andres Freund <[email protected]> -2025-03-26 [c325a7633] aio: Add io_method=io_uring -Author: Andres Freund <[email protected]> -2025-03-29 [50cb7505b] aio: Implement support for reads in smgr/md/fd -Author: Andres Freund <[email protected]> -2025-03-30 [047cba7fa] bufmgr: Implement AIO read support -Author: Andres Freund <[email protected]> -2025-03-30 [12ce89fd0] bufmgr: Use AIO in StartReadBuffers() -Author: Andres Freund <[email protected]> -2025-03-30 [2a5e709e7] Enable IO concurrency on all systems ---> - - <listitem> - <para> - Add an asynchronous I/O subsystem (Andres Freund, Thomas Munro, - Nazir Bilal Yavuz, Melanie Plageman) - <ulink url="&commit_baseurl;02844012b">§</ulink> - <ulink url="&commit_baseurl;da7226993">§</ulink> - <ulink url="&commit_baseurl;55b454d0e">§</ulink> - <ulink url="&commit_baseurl;247ce06b8">§</ulink> - <ulink url="&commit_baseurl;10f664684">§</ulink> - <ulink url="&commit_baseurl;06fb5612c">§</ulink> - <ulink url="&commit_baseurl;c325a7633">§</ulink> - <ulink url="&commit_baseurl;50cb7505b">§</ulink> - <ulink url="&commit_baseurl;047cba7fa">§</ulink> - <ulink url="&commit_baseurl;12ce89fd0">§</ulink> - <ulink url="&commit_baseurl;2a5e709e7">§</ulink> - </para> - - <para> - This feature allows backends to queue multiple read requests, - which allows for more efficient sequential scans, bitmap - heap scans, vacuums, etc. This is enabled by server - variable <xref linkend="guc-io-method"/>, with server - variables <xref linkend="guc-io-combine-limit"/> and <xref - linkend="guc-io-max-combine-limit"/> added to control it. - This also enables <xref linkend="guc-effective-io-concurrency"/> - and <xref linkend="guc-maintenance-io-concurrency"/> - values greater than zero for systems without - <function>fadvise()</function> support. The new system view <link - linkend="view-pg-aios"><structname>pg_aios</structname></link> - shows the file handles being used for asynchronous I/O. - </para> - </listitem> - -<!-- -Author: Tomas Vondra <[email protected]> -2024-09-21 [c4d5cb71d] Increase the number of fast-path lock slots ---> - - <listitem> - <para> - Improve the locking performance of queries that access many relations - (Tomas Vondra) - <ulink url="&commit_baseurl;c4d5cb71d">§</ulink> - </para> - </listitem> - -<!-- -Author: David Rowley <[email protected]> -2024-08-20 [adf97c156] Speed up Hash Join by making ExprStates support hashing -Author: David Rowley <[email protected]> -2024-12-11 [0f5738202] Use ExprStates for hashing in GROUP BY and SubPlans -Author: Jeff Davis <[email protected]> -2025-03-24 [4d143509c] Create accessor functions for TupleHashEntry. -Author: Jeff Davis <[email protected]> -2025-03-24 [a0942f441] Add ExecCopySlotMinimalTupleExtra(). -Author: Jeff Davis <[email protected]> -2025-03-24 [626df47ad] Remove 'additional' pointer from TupleHashEntryData. ---> - - <listitem> - <para> - Improve the performance and reduce memory usage of hash joins and - <link linkend="sql-groupby"><literal>GROUP BY</literal></link> - (David Rowley, Jeff Davis) - <ulink url="&commit_baseurl;adf97c156">§</ulink> - <ulink url="&commit_baseurl;0f5738202">§</ulink> - <ulink url="&commit_baseurl;4d143509c">§</ulink> - <ulink url="&commit_baseurl;a0942f441">§</ulink> - <ulink url="&commit_baseurl;626df47ad">§</ulink> - </para> - - <para> - This also improves hash set operations used by <link - linkend="sql-except"><literal>EXCEPT</literal></link>, and hash - lookups of subplan values. - </para> - </listitem> - -<!-- -Author: Melanie Plageman <[email protected]> -2025-02-11 [052026c9b] Eagerly scan all-visible pages to amortize aggressive va -Author: Melanie Plageman <[email protected]> -2025-03-03 [06eae9e62] Trigger more frequent autovacuums with relallfrozen ---> - - <listitem> - <para> - Allow normal vacuums to freeze some pages, even though they are - all-visible (Melanie Plageman) - <ulink url="&commit_baseurl;052026c9b">§</ulink> - <ulink url="&commit_baseurl;06eae9e62">§</ulink> - </para> - - <para> - This reduces the overhead of later full-relation - freezing. The aggressiveness of this can be - controlled by server variable and per-table setting <xref - linkend="guc-vacuum-max-eager-freeze-failure-rate"/>. Previously - vacuum never processed all-visible pages until freezing was required. - </para> - </listitem> - -<!-- -Author: Nathan Bossart <[email protected]> -2025-03-20 [0164a0f9e] Add vacuum_truncate configuration parameter. ---> - - <listitem> - <para> - Add server variable <xref linkend="guc-vacuum-truncate"/> to control - file truncation during <xref linkend="sql-vacuum"/> (Nathan Bossart, - Gurjeet Singh) - <ulink url="&commit_baseurl;0164a0f9e">§</ulink> - </para> - - <para> - A storage-level parameter with the same name and behavior already - existed. - </para> - </listitem> - -<!-- -Author: Melanie Plageman <[email protected]> -2025-03-12 [ff79b5b2a] Increase default effective_io_concurrency to 16 -Author: Melanie Plageman <[email protected]> -2025-03-18 [cc6be07eb] Increase default maintenance_io_concurrency to 16 ---> - - <listitem> - <para> - Increase server variables <xref - linkend="guc-effective-io-concurrency"/>'s and <xref - linkend="guc-maintenance-io-concurrency"/>'s default values to 16 - (Melanie Plageman) - <ulink url="&commit_baseurl;ff79b5b2a">§</ulink> - <ulink url="&commit_baseurl;cc6be07eb">§</ulink> - </para> - - <para> - This more accurately reflects modern hardware. - </para> - </listitem> - - </itemizedlist> - - </sect4> - - <sect4 id="release-18-monitoring"> - <title>Monitoring</title> - - <itemizedlist> - -<!-- -Author: Melanie Plageman <[email protected]> -2025-03-12 [9219093ca] Modularize log_connections output ---> - - <listitem> - <para> - Increase the logging granularity of server variable <xref - linkend="guc-log-connections"/> (Melanie Plageman) - <ulink url="&commit_baseurl;9219093ca">§</ulink> - </para> - - <para> - This server variable was previously only boolean, which is still - supported. - </para> - </listitem> - -<!-- -Author: Melanie Plageman <[email protected]> -2025-03-12 [18cd15e70] Add connection establishment duration logging ---> - - <listitem> - <para> - Add <varname>log_connections</varname> option to report the duration - of connection stages (Melanie Plageman) - <ulink url="&commit_baseurl;18cd15e70">§</ulink> - </para> - </listitem> - -<!-- -Author: Tom Lane <[email protected]> -2025-04-07 [3516ea768] Add local-address escape "%L" to log_line_prefix. ---> - - <listitem> - <para> - Add <xref linkend="guc-log-line-prefix"/> escape - <literal>%L</literal> to output the client <acronym>IP</acronym> - address (Greg Sabino Mullane) - <ulink url="&commit_baseurl;3516ea768">§</ulink> - </para> - </listitem> - -<!-- -Author: Fujii Masao <[email protected]> -2025-03-14 [6d376c3b0] Add GUC option to log lock acquisition failures. -Author: Fujii Masao <[email protected]> -2025-06-03 [73bdcfab3] Rename log_lock_failure GUC to log_lock_failures for con ---> - - <listitem> - <para> - Add server variable <xref linkend="guc-log-lock-failures"/> to log - lock acquisition failures (Yuki Seino, Fujii Masao) - <ulink url="&commit_baseurl;6d376c3b0">§</ulink> - <ulink url="&commit_baseurl;73bdcfab3">§</ulink> - </para> - - <para> - Specifically it reports <link - linkend="sql-for-update-share"><command>SELECT - ... NOWAIT</command></link> lock failures. - </para> - </listitem> - -<!-- -Author: Michael Paquier <[email protected]> -2025-01-28 [30a6ed0ce] Track per-relation cumulative time spent in [auto]vacuum ---> - - <listitem> - <para> - Modify <link - linkend="monitoring-pg-stat-all-tables-view"><structname>pg_stat_all_tables</structname></link> - and its variants to report the time spent in <xref - linkend="sql-vacuum"/>, <xref linkend="sql-analyze"/>, and their - <link linkend="autovacuum">automatic</link> variants (Sami Imseih) - <ulink url="&commit_baseurl;30a6ed0ce">§</ulink> - </para> - - <para> - The new columns are <structfield>total_vacuum_time</structfield>, - <structfield>total_autovacuum_time</structfield>, - <structfield>total_analyze_time</structfield>, and - <structfield>total_autoanalyze_time</structfield>. - </para> - </listitem> - -<!-- -Author: Nathan Bossart <[email protected]> -2025-02-11 [bb8dff999] Add cost-based vacuum delay time to progress views. -Author: Nathan Bossart <[email protected]> -2025-02-14 [7720082ae] Add delay time to VACUUM/ANALYZE (VERBOSE) and autovacuu ---> - - <listitem> - <para> - Add delay time reporting to <xref linkend="sql-vacuum"/> and <xref - linkend="sql-analyze"/> (Bertrand Drouvot, Nathan Bossart) - <ulink url="&commit_baseurl;bb8dff999">§</ulink> - <ulink url="&commit_baseurl;7720082ae">§</ulink> - </para> - - <para> - This information appears in the server log, the system views <link - linkend="vacuum-progress-reporting"><structname>pg_stat_progress_vacuum</structname></link> - and <link - linkend="pg-stat-progress-analyze-view"><structname>pg_stat_progress_analyze</structname></link>, - and the output of <xref linkend="sql-vacuum"/> and <xref - linkend="sql-analyze"/> when in <literal>VERBOSE</literal> - mode; tracking must be enabled with the server variable <xref - linkend="guc-track-cost-delay-timing"/>. - </para> - </listitem> - -<!-- -Author: Masahiko Sawada <[email protected]> -2024-08-13 [4c1b4cdb8] Add resource statistics reporting to ANALYZE VERBOSE. -Author: Masahiko Sawada <[email protected]> -2024-09-09 [bb7775234] Add WAL usage reporting to ANALYZE VERBOSE output. ---> - - <listitem> - <para> - Add <acronym>WAL</acronym>, <acronym>CPU</acronym>, and average - read statistics output to <command>ANALYZE VERBOSE</command> - (Anthonin Bonnefoy) - <ulink url="&commit_baseurl;4c1b4cdb8">§</ulink> - <ulink url="&commit_baseurl;bb7775234">§</ulink> - </para> - </listitem> - -<!-- -Author: Michael Paquier <[email protected]> -2025-02-17 [6a8a7ce47] Add information about WAL buffers full to VACUUM/ANALYZE ---> - - <listitem> - <para> - Add full <acronym>WAL</acronym> buffer count to - <command>VACUUM</command>/<command>ANALYZE (VERBOSE)</command> - and autovacuum log output (Bertrand Drouvot) - <ulink url="&commit_baseurl;6a8a7ce47">§</ulink> - </para> - </listitem> - -<!-- -Author: Michael Paquier <[email protected]> -2024-12-19 [9aea73fc6] Add backend-level statistics to pgstats -Author: Michael Paquier <[email protected]> -2025-03-03 [3f1db99bf] Handle auxiliary processes in SQL functions of backend s ---> - - <listitem> - <para> - Add per-backend I/O statistics reporting (Bertrand Drouvot) - <ulink url="&commit_baseurl;9aea73fc6">§</ulink> - <ulink url="&commit_baseurl;3f1db99bf">§</ulink> - </para> - - <para> - The statistics are accessed via <link - linkend="pg-stat-get-backend-io"><function>pg_stat_get_backend_io()</function></link>. - Per-backend I/O statistics can be cleared via <link - linkend="monitoring-stats-funcs-table"><function>pg_stat_reset_backend_stats()</function></link>. - </para> - </listitem> - -<!-- -Author: Michael Paquier <[email protected]> -2025-01-14 [f92c854cf] Make pg_stat_io count IOs as bytes instead of blocks for ---> - - <listitem> - <para> - Add <link - linkend="monitoring-pg-stat-io-view"><structname>pg_stat_io</structname></link> - columns to report I/O activity in bytes (Nazir Bilal Yavuz) - <ulink url="&commit_baseurl;f92c854cf">§</ulink> - </para> - - <para> - The new columns are <structfield>read_bytes</structfield>, - <structfield>write_bytes</structfield>, and - <structfield>extend_bytes</structfield>. The - <structfield>op_bytes</structfield> column, which always equaled - <link linkend="guc-block-size"><varname>BLCKSZ</varname></link>, - has been removed. - </para> - </listitem> - -<!-- -Author: Michael Paquier <[email protected]> -2025-02-04 [a051e71e2] Add data for WAL in pg_stat_io and backend statistics -Author: Michael Paquier <[email protected]> -2025-02-20 [4538bd3f1] doc: Add details about object "wal" in pg_stat_io -Author: Michael Paquier <[email protected]> -2025-03-06 [7f7f324eb] Add more monitoring data for WAL writes in the WAL recei ---> - - <listitem> - <para> - Add <acronym>WAL</acronym> I/O activity rows to - <structname>pg_stat_io</structname> (Nazir Bilal Yavuz, Bertrand - Drouvot, Michael Paquier) - <ulink url="&commit_baseurl;a051e71e2">§</ulink> - <ulink url="&commit_baseurl;4538bd3f1">§</ulink> - <ulink url="&commit_baseurl;7f7f324eb">§</ulink> - </para> - - <para> - This includes <acronym>WAL</acronym> receiver activity and a wait - event for such writes. - </para> - - </listitem> - -<!-- -Author: Michael Paquier <[email protected]> -2025-02-26 [6c349d83b] Re-add GUC track_wal_io_timing ---> - - <listitem> - <para> - Change server variable <xref linkend="guc-track-wal-io-timing"/> - to control tracking <acronym>WAL</acronym> timing - in <structname>pg_stat_io</structname> instead of <link - linkend="pg-stat-wal-view"><structname>pg_stat_wal</structname></link> - (Bertrand Drouvot) - <ulink url="&commit_baseurl;6c349d83b">§</ulink> - </para> - </listitem> - -<!-- -Author: Michael Paquier <[email protected]> -2025-02-24 [2421e9a51] Remove read/sync fields from pg_stat_wal and GUC track_w -Author: Michael Paquier <[email protected]> -2025-02-26 [6c349d83b] Re-add GUC track_wal_io_timing ---> - - <listitem> - <para> - Remove read/sync columns from <structname>pg_stat_wal</structname> - (Bertrand Drouvot) - <ulink url="&commit_baseurl;2421e9a51">§</ulink> - <ulink url="&commit_baseurl;6c349d83b">§</ulink> - </para> - - <para> - This removes columns <structfield>wal_write</structfield>, - <structfield>wal_sync</structfield>, - <structfield>wal_write_time</structfield>, and - <structfield>wal_sync_time</structfield>. - </para> - </listitem> - -<!-- -Author: Michael Paquier <[email protected]> -2025-03-11 [76def4cdd] Add WAL data to backend statistics ---> - - <listitem> - <para> - Add function <link - linkend="pg-stat-get-backend-wal"><function>pg_stat_get_backend_wal()</function></link> - to return per-backend <acronym>WAL</acronym> statistics (Bertrand - Drouvot) - <ulink url="&commit_baseurl;76def4cdd">§</ulink> - </para> - - <para> - Per-backend <acronym>WAL</acronym> - statistics can be cleared via <link - linkend="monitoring-stats-funcs-table"><function>pg_stat_reset_backend_stats()</function></link>. - </para> - </listitem> - -<!-- -Author: Nathan Bossart <[email protected]> -2024-10-11 [4e1fad378] Add pg_ls_summariesdir(). ---> - - <listitem> - <para> - Add function <link - linkend="functions-admin-genfile-table"><function>pg_ls_summariesdir()</function></link> - to specifically list the contents of <link - linkend="storage-file-layout"><envar>PGDATA</envar></link>/<link - linkend="guc-wal-summary-keep-time"><filename>pg_wal/summaries</filename></link> - (Yushi Ogiwara) - <ulink url="&commit_baseurl;4e1fad378">§</ulink> - </para> - </listitem> - -<!-- -Author: Fujii Masao <[email protected]> -2024-09-30 [559efce1d] Add num_done counter to the pg_stat_checkpointer view. ---> - - <listitem> - <para> - Add column <link - linkend="monitoring-pg-stat-checkpointer-view"><structname>pg_stat_checkpointer</structname></link>.<structfield>num_done</structfield> - to report the number of completed checkpoints (Anton A. Melnikov) - <ulink url="&commit_baseurl;559efce1d">§</ulink> - </para> - - <para> - Columns <structfield>num_timed</structfield> and - <structfield>num_requested</structfield> count both completed and - skipped checkpoints. - </para> - </listitem> - -<!-- -Author: Fujii Masao <[email protected]> -2024-10-02 [17cc5f666] Fix inconsistent reporting of checkpointer stats. ---> - - <listitem> - <para> - Add column - <structname>pg_stat_checkpointer</structname>.<structfield>slru_written</structfield> - to report <acronym>SLRU</acronym> buffers written (Nitin Jadhav) - <ulink url="&commit_baseurl;17cc5f666">§</ulink> - </para> - - <para> - Also, modify the checkpoint server log message to report separate - shared buffer and <acronym>SLRU</acronym> buffer values. - </para> - </listitem> - -<!-- -Author: Michael Paquier <[email protected]> -2024-11-11 [e7a9496de] Add two attributes to pg_stat_database for parallel work ---> - - <listitem> - <para> - Add columns to <link - linkend="monitoring-pg-stat-database-view"><structname>pg_stat_database</structname></link> - to report parallel worker activity (Benoit Lobréau) - <ulink url="&commit_baseurl;e7a9496de">§</ulink> - </para> - - <para> - The new columns are - <structfield>parallel_workers_to_launch</structfield> and - <structfield>parallel_workers_launched</structfield>. - </para> - </listitem> - -<!-- -Author: Álvaro Herrera <[email protected]> -2025-03-18 [62d712ecf] Introduce squashing of constant lists in query jumbling -Author: Álvaro Herrera <[email protected]> -2025-03-27 [9fbd53dea] Remove the query_id_squash_values GUC ---> - - <listitem> - <para> - Have <link linkend="guc-compute-query-id">query id</link> computation - of arrays consider only the first and last array elements (Dmitry - Dolgov, Sami Imseih) - <ulink url="&commit_baseurl;62d712ecf">§</ulink> - <ulink url="&commit_baseurl;9fbd53dea">§</ulink> - </para> - - <para> - Jumbling is used by <xref linkend="pgstatstatements"/>. - </para> - </listitem> - -<!-- -Author: Michael Paquier <[email protected]> -2025-03-26 [787514b30] Use relation name instead of OID in query jumbling for R ---> - - <listitem> - <para> - Adjust query id computations to group together queries using the - same relation name (Michael Paquier, Sami Imseih) - <ulink url="&commit_baseurl;787514b30">§</ulink> - </para> - - <para> - This is true even if the tables in different schemas have different - column names. - </para> - </listitem> - -<!-- -Author: David Rowley <[email protected]> -2024-07-01 [12227a1d5] Add context type field to pg_backend_memory_contexts ---> - - <listitem> - <para> - Add column <link - linkend="view-pg-backend-memory-contexts"><structname>pg_backend_memory_contexts</structname></link>.<structfield>type</structfield> - to report the type of memory context (David Rowley) - <ulink url="&commit_baseurl;12227a1d5">§</ulink> - </para> - </listitem> - -<!-- -Author: David Rowley <[email protected]> -2024-07-25 [32d3ed816] Add path column to pg_backend_memory_contexts view ---> - - <listitem> - <para> - Add column - <structname>pg_backend_memory_contexts</structname>.<structfield>path</structfield> - to show memory context parents (Melih Mutlu) - <ulink url="&commit_baseurl;32d3ed816">§</ulink> - </para> - </listitem> - - </itemizedlist> - - </sect4> - - <sect4 id="release-18-privileges"> - <title>Privileges</title> - - <itemizedlist> - -<!-- -Author: Michael Paquier <[email protected]> -2024-07-04 [4564f1ceb] Add pg_get_acl() to get the ACL for a database object -Author: Michael Paquier <[email protected]> -2024-07-10 [d898665bf] Extend pg_get_acl() to handle sub-object IDs ---> - - <listitem> - <para> - Add function <link - linkend="functions-info-object-table"><function>pg_get_acl()</function></link> - to retrieve database access control details (Joel Jacobson) - <ulink url="&commit_baseurl;4564f1ceb">§</ulink> - <ulink url="&commit_baseurl;d898665bf">§</ulink> - </para> - </listitem> - -<!-- -Author: Fujii Masao <[email protected]> -2024-09-12 [4eada203a] Add has_largeobject_privilege function. ---> - - <listitem> - <para> - Add function <link - linkend="functions-info-access-table"><function>has_largeobject_privilege()</function></link> - to check large object privileges (Yugo Nagata) - <ulink url="&commit_baseurl;4eada203a">§</ulink> - </para> - </listitem> - -<!-- -Author: Fujii Masao <[email protected]> -2025-04-04 [0d6c47766] Extend ALTER DEFAULT PRIVILEGES to define default privil ---> - - <listitem> - <para> - Allow <xref linkend="sql-alterdefaultprivileges"/> to define - large object default privileges (Takatsuka Haruka, Yugo Nagata, - Laurenz Albe) - <ulink url="&commit_baseurl;0d6c47766">§</ulink> - </para> - </listitem> - -<!-- -Author: Nathan Bossart <[email protected]> -2024-07-09 [ccd38024b] Introduce pg_signal_autovacuum_worker. ---> - - <listitem> - <para> - Add predefined role <link - linkend="predefined-roles"><literal>pg_signal_autovacuum_worker</literal></link> - (Kirill Reshke) - <ulink url="&commit_baseurl;ccd38024b">§</ulink> - </para> - - <para> - This allows sending signals to autovacuum workers. - </para> - </listitem> - - </itemizedlist> - - </sect4> - - <sect4 id="release-18-server-config"> - <title>Server Configuration</title> - - <itemizedlist> - -<!-- -Author: Daniel Gustafsson <[email protected]> -2025-02-20 [b3f0be788] Add support for OAUTHBEARER SASL mechanism ---> - - <listitem> - <para> - Add support for the <link linkend="auth-oauth">OAuth authentication - method</link> (Jacob Champion, Daniel Gustafsson, Thomas Munro) - <ulink url="&commit_baseurl;b3f0be788">§</ulink> - </para> - - <para> - This adds an <literal>oauth</literal> authentication method to <link - linkend="auth-pg-hba-conf"><filename>pg_hba.conf</filename></link>, - libpq OAuth options, a server variable <xref - linkend="guc-oauth-validator-libraries"/> to load - token validation libraries, and a configure flag <link - linkend="configure-option-with-libcurl"><option>--with-libcurl</option></link> - to add the required compile-time libraries. - </para> - </listitem> - -<!-- -Author: Daniel Gustafsson <[email protected]> -2024-10-24 [45188c2ea] Support configuring TLSv1.3 cipher suites ---> - - <listitem> - <para> - Add server variable <xref linkend="guc-ssl-tls13-ciphers"/> to allow - specification of multiple colon-separated TLSv1.3 cipher suites - (Erica Zhang, Daniel Gustafsson) - <ulink url="&commit_baseurl;45188c2ea">§</ulink> - </para> - </listitem> - -<!-- -Author: Daniel Gustafsson <[email protected]> -2025-03-18 [daa02c6bd] Add X25519 to the default set of curves ---> - - <listitem> - <para> - Change server variable <xref linkend="guc-ssl-groups"/>'s default - to include elliptic curve X25519 (Daniel Gustafsson, Jacob Champion) - <ulink url="&commit_baseurl;daa02c6bd">§</ulink> - </para> - </listitem> - -<!-- -Author: Daniel Gustafsson <[email protected]> -2024-10-24 [3d1ef3a15] Support configuring multiple ECDH curves ---> - - <listitem> - <para> - Rename server variable <varname>ssl_ecdh_curve</varname> to <xref - linkend="guc-ssl-groups"/> and allow multiple colon-separated - <acronym>ECDH</acronym> curves to be specified (Erica Zhang, - Daniel Gustafsson) - <ulink url="&commit_baseurl;3d1ef3a15">§</ulink> - </para> - - <para> - The previous name still works. - </para> - </listitem> - -<!-- -Author: Heikki Linnakangas <[email protected]> -2025-04-02 [a460251f0] Make cancel request keys longer -Author: Heikki Linnakangas <[email protected]> -2024-07-29 [9d9b9d46f] Move cancel key generation to after forking the backend ---> - - <listitem> - <para> - Make <link linkend="functions-admin-signal-table">cancel request - keys</link> 256 bits (Heikki Linnakangas, Jelte Fennema-Nio) - <ulink url="&commit_baseurl;a460251f0">§</ulink> - <ulink url="&commit_baseurl;9d9b9d46f">§</ulink> - </para> - - <para> - This is only possible when the server and client support wire - protocol version 3.2, introduced in this release. - </para> - </listitem> - -<!-- -Author: Nathan Bossart <[email protected]> -2025-01-06 [c758119e5] Allow changing autovacuum_max_workers without restarting ---> - - <listitem> - <para> - Add server variable <xref linkend="guc-autovacuum-worker-slots"/> - to specify the maximum number of background workers (Nathan Bossart) - <ulink url="&commit_baseurl;c758119e5">§</ulink> - </para> - - <para> - With this variable set, <xref linkend="guc-autovacuum-max-workers"/> - can be adjusted at runtime up to this maximum without a server - restart. - </para> - </listitem> - -<!-- -Author: Nathan Bossart <[email protected]> -2025-02-05 [306dc520b] Introduce autovacuum_vacuum_max_threshold. ---> - - <listitem> - <para> - Allow specification of the fixed number of dead tuples that will - trigger an <link linkend="autovacuum">autovacuum</link> (Nathan - Bossart, Frédéric Yhuel) - <ulink url="&commit_baseurl;306dc520b">§</ulink> - </para> - - <para> - The server variable is <xref - linkend="guc-autovacuum-vacuum-max-threshold"/>. Percentages are - still used for triggering. - </para> - </listitem> - -<!-- -Author: Andres Freund <[email protected]> -2025-03-24 [adb5f85fa] Redefine max_files_per_process to control additionally o ---> - - <listitem> - <para> - Change server variable <xref linkend="guc-max-files-per-process"/> - to limit only files opened by a backend (Andres Freund) - <ulink url="&commit_baseurl;adb5f85fa">§</ulink> - </para> - - <para> - Previously files opened by the postmaster were also counted toward - this limit. - </para> - </listitem> - -<!-- -Author: Nathan Bossart <[email protected]> -2024-07-26 [0dcaea569] Introduce num_os_semaphores GUC. ---> - - <listitem> - <para> - Add server variable <xref linkend="guc-num-os-semaphores"/> to - report the required number of semaphores (Nathan Bossart) - <ulink url="&commit_baseurl;0dcaea569">§</ulink> - </para> - - <para> - This is useful for operating system configuration. - </para> - </listitem> - -<!-- -Author: Peter Eisentraut <[email protected]> -2025-03-19 [4f7f7b037] extension_control_path -Author: Peter Eisentraut <[email protected]> -2025-05-02 [81eaaa2c4] Make "directory" setting work with extension_control_pat ---> - - <listitem> - <para> - Add server variable <xref linkend="guc-extension-control-path"/> to - specify the location of extension control files (Peter Eisentraut, - Matheus Alcantara) - <ulink url="&commit_baseurl;4f7f7b037">§</ulink> - <ulink url="&commit_baseurl;81eaaa2c4">§</ulink> - </para> - </listitem> - - </itemizedlist> - - </sect4> - - <sect4 id="release-18-replication"> - <title>Streaming Replication and Recovery</title> - - <itemizedlist> - -<!-- -Author: Amit Kapila <[email protected]> -2025-02-19 [ac0e33136] Invalidate inactive replication slots. ---> - - <listitem> - <para> - Allow inactive replication slots to be automatically invalided using - server variable <xref linkend="guc-idle-replication-slot-timeout"/> - (Nisha Moond, Bharath Rupireddy) - <ulink url="&commit_baseurl;ac0e33136">§</ulink> - </para> - </listitem> - -<!-- -Author: Masahiko Sawada <[email protected]> -2025-03-21 [04ff636cb] Add GUC option to control maximum active replication ori ---> - - <listitem> - <para> - Add server variable <xref - linkend="guc-max-active-replication-origins"/> to control the - maximum active replication origins (Euler Taveira) - <ulink url="&commit_baseurl;04ff636cb">§</ulink> - </para> - - <para> - This was previously controlled by <xref - linkend="guc-max-replication-slots"/>, but this new setting allows - a higher origin count in cases where fewer slots are required. - </para> - </listitem> - - </itemizedlist> - - </sect4> - - <sect4 id="release-18-logical"> - <title><link linkend="logical-replication">Logical Replication</link></title> - - <itemizedlist> - -<!-- -Author: Amit Kapila <[email protected]> -2024-10-30 [745217a05] Replicate generated columns when specified in the column -Author: Amit Kapila <[email protected]> -2024-11-07 [7054186c4] Replicate generated columns when 'publish_generated_colu -Author: Amit Kapila <[email protected]> -2024-12-04 [87ce27de6] Ensure stored generated columns must be published when r -Author: Amit Kapila <[email protected]> -2025-01-30 [6252b1eaf] Doc: Generated column replication. ---> - - <listitem> - <para> - Allow the values of <link - linkend="sql-createtable-parms-generated-stored">generated - columns</link> to be logically replicated (Shubham Khanna, Vignesh C, - Zhijie Hou, Shlok Kyal, Peter Smith) - <ulink url="&commit_baseurl;745217a05">§</ulink> - <ulink url="&commit_baseurl;7054186c4">§</ulink> - <ulink url="&commit_baseurl;87ce27de6">§</ulink> - <ulink url="&commit_baseurl;6252b1eaf">§</ulink> - </para> - - <para> - If the publication specifies a column list, all specified - columns, generated and non-generated, are published. - Without a specified column list, publication option - <literal>publish_generated_columns</literal> controls whether - generated columns are published. Previously generated columns - were not replicated and the subscriber had to compute - the values if possible; this is particularly useful for - non-<productname>PostgreSQL</productname> subscribers which lack - such a capability. - </para> - </listitem> - -<!-- -Author: Amit Kapila <[email protected]> -2024-10-28 [1bf1140be] Change the default value of the streaming option to 'par ---> - - <listitem> - <para> - Change the default <xref linkend="sql-createsubscription"/> streaming - option from <literal>off</literal> to <literal>parallel</literal> - (Vignesh C) - <ulink url="&commit_baseurl;1bf1140be">§</ulink> - </para> - </listitem> - -<!-- -Author: Amit Kapila <[email protected]> -2024-07-24 [1462aad2e] Allow altering of two_phase option of a SUBSCRIPTION. -Author: Amit Kapila <[email protected]> -2025-04-03 [4868c96bc] Fix slot synchronization for two_phase enabled slots. ---> - - <listitem> - <para> - Allow <xref linkend="sql-altersubscription"/> to change the - replication slot's two-phase commit behavior (Hayato Kuroda, Ajin - Cherian, Amit Kapila, Zhijie Hou) - <ulink url="&commit_baseurl;1462aad2e">§</ulink> - <ulink url="&commit_baseurl;4868c96bc">§</ulink> - </para> - </listitem> - -<!-- -Author: Amit Kapila <[email protected]> -2024-08-20 [9758174e2] Log the conflicts while applying changes in logical repl -Author: Amit Kapila <[email protected]> -2024-08-22 [edcb71258] Doc: explain the log format of logical replication confl -Author: Amit Kapila <[email protected]> -2024-08-29 [640178c92] Rename the conflict types for the origin differ cases. -Author: Amit Kapila <[email protected]> -2024-09-04 [6c2b5edec] Collect statistics about conflicts in logical replicatio -Author: Amit Kapila <[email protected]> -2025-03-24 [73eba5004] Detect and Log multiple_unique_conflicts type conflict. ---> - - <listitem> - <para> - Log <link linkend="hot-standby-conflict">conflicts</link> while - applying logical replication changes (Zhijie Hou, Nisha Moond) - <ulink url="&commit_baseurl;9758174e2">§</ulink> - <ulink url="&commit_baseurl;edcb71258">§</ulink> - <ulink url="&commit_baseurl;640178c92">§</ulink> - <ulink url="&commit_baseurl;6c2b5edec">§</ulink> - <ulink url="&commit_baseurl;73eba5004">§</ulink> - </para> - - <para> - Also report in new columns of <link - linkend="monitoring-pg-stat-subscription-stats"><structname>pg_stat_subscription_stats</structname></link>. - </para> - </listitem> - - </itemizedlist> - - </sect4> - - </sect3> - - <sect3 id="release-18-utility"> - <title>Utility Commands</title> - - <itemizedlist> - -<!-- -Author: Peter Eisentraut <[email protected]> -2025-02-07 [83ea6c540] Virtual generated columns -Author: Peter Eisentraut <[email protected]> -2025-03-28 [cdc168ad4] Add support for not-null constraints on virtual generate -Author: Richard Guo <[email protected]> -2025-02-25 [1e4351af3] Expand virtual generated columns in the planner ---> - - <listitem> - <para> - Allow <link linkend="sql-createtable-parms-generated-stored">generated - columns</link> to be virtual, and make them the default (Peter - Eisentraut, Jian He, Richard Guo, Dean Rasheed) - <ulink url="&commit_baseurl;83ea6c540">§</ulink> - <ulink url="&commit_baseurl;cdc168ad4">§</ulink> - <ulink url="&commit_baseurl;1e4351af3">§</ulink> - </para> - - <para> - Virtual generated columns generate their values when the columns - are read, not written. The write behavior can still be specified - via the <literal>STORED</literal> option. - </para> - </listitem> - -<!-- -Author: Dean Rasheed <[email protected]> -2025-01-16 [80feb727c] Add OLD/NEW support to RETURNING in DML queries. ---> - - <listitem> - <para> - Add <literal>OLD</literal>/<literal>NEW</literal> support to <link - linkend="dml-returning"><literal>RETURNING</literal></link> in - <acronym>DML</acronym> queries (Dean Rasheed) - <ulink url="&commit_baseurl;80feb727c">§</ulink> - </para> - - <para> - Previously <literal>RETURNING</literal> only returned new values for - <xref linkend="sql-insert"/> and <xref linkend="sql-update"/>, and old - values for <xref linkend="sql-delete"/>; <xref linkend="sql-merge"/> - would return the appropriate value for the internal query executed. - This new syntax allows the <literal>RETURNING</literal> list of - <command>INSERT</command>/<command>UPDATE</command>/<command>DELETE</command>/<command>MERGE</command> - to explicitly return old and new values by using the special aliases - <literal>old</literal> and <literal>new</literal>. These aliases - can be renamed to avoid identifier conflicts. - </para> - </listitem> - -<!-- -Author: Michael Paquier <[email protected]> -2025-02-19 [302cf1575] Add support for LIKE in CREATE FOREIGN TABLE ---> - - <listitem> - <para> - Allow foreign tables to be created like existing local tables - (Zhang Mingli) - <ulink url="&commit_baseurl;302cf1575">§</ulink> - </para> - - <para> - The syntax is <link linkend="sql-createforeigntable"><command>CREATE - FOREIGN TABLE ... LIKE</command></link>. - </para> - </listitem> - -<!-- -Author: Peter Eisentraut <[email protected]> -2024-11-27 [85b7efa1c] Support LIKE with nondeterministic collations ---> - - <listitem> - <para> - Allow <link linkend="functions-like"><literal>LIKE</literal></link> - with <link linkend="collation-nondeterministic">nondeterministic - collations</link> (Peter Eisentraut) - <ulink url="&commit_baseurl;85b7efa1c">§</ulink> - </para> - </listitem> - -<!-- -Author: Peter Eisentraut <[email protected]> -2025-02-21 [329304c90] Support text position search functions with nondetermini ---> - - <listitem> - <para> - Allow text position search functions with nondeterministic collations - (Peter Eisentraut) - <ulink url="&commit_baseurl;329304c90">§</ulink> - </para> - - <para> - These used to generate an error. - </para> - </listitem> - -<!-- -Author: Jeff Davis <[email protected]> -2025-01-17 [d3d098316] Support PG_UNICODE_FAST locale in the builtin collation ---> - - <listitem> - <para> - Add builtin collation provider <link - linkend="locale-providers"><literal>PG_UNICODE_FAST</literal></link> - (Jeff Davis) - <ulink url="&commit_baseurl;d3d098316">§</ulink> - </para> - - <para> - This locale supports case mapping, but sorts in code point order, - not natural language order. - </para> - </listitem> - -<!-- -Author: David Rowley <[email protected]> -2024-09-24 [62ddf7ee9] Add ONLY support for VACUUM and ANALYZE ---> - - <listitem> - <para> - Allow <xref linkend="sql-vacuum"/> and <xref linkend="sql-analyze"/> - to process partitioned tables without processing their children - (Michael Harris) - <ulink url="&commit_baseurl;62ddf7ee9">§</ulink> - </para> - - <para> - This is enabled with the new <literal>ONLY</literal> option. This is - useful since autovacuum does not process partitioned tables, just - its children. - </para> - </listitem> - -<!-- -Author: Jeff Davis <[email protected]> -2024-10-11 [e839c8ecc] Create functions pg_set_relation_stats, pg_clear_relatio -Author: Jeff Davis <[email protected]> -2024-10-24 [d32d14639] Add functions pg_restore_relation_stats(), pg_restore_at -Author: Jeff Davis <[email protected]> -2025-03-25 [650ab8aaf] Stats: use schemaname/relname instead of regclass. ---> - - <listitem> - <para> - Add functions to modify per-relation and per-column optimizer - statistics (Corey Huinker) - <ulink url="&commit_baseurl;e839c8ecc">§</ulink> - <ulink url="&commit_baseurl;d32d14639">§</ulink> - <ulink url="&commit_baseurl;650ab8aaf">§</ulink> - </para> - - <para> - The functions are <link - linkend="functions-admin-statsmod"><function>pg_restore_relation_stats()</function></link>, - <function>pg_restore_attribute_stats()</function>, - <function>pg_clear_relation_stats()</function>, and - <function>pg_clear_attribute_stats()</function>. - </para> - </listitem> - - -<!-- -Author: Thomas Munro <[email protected]> -2025-04-08 [f78ca6f3e] Introduce file_copy_method setting. ---> - - <listitem> - <para> - Add server variable <xref linkend="guc-file-copy-method"/> to control - the file copying method (Nazir Bilal Yavuz) - <ulink url="&commit_baseurl;f78ca6f3e">§</ulink> - </para> - - <para> - This controls whether <link - linkend="sql-createdatabase"><command>CREATE DATABASE - ... STRATEGY=FILE_COPY</command></link> and <link - linkend="sql-alterdatabase"><command>ALTER DATABASE ... SET - TABLESPACE</command></link> uses file copy or clone. - </para> - </listitem> - - </itemizedlist> - - <sect4 id="release-18-constraints"> - <title><link linkend="ddl-constraints">Constraints</link></title> - - <itemizedlist> - -<!-- -Author: Peter Eisentraut <[email protected]> -2024-09-17 [fc0438b4e] Add temporal PRIMARY KEY and UNIQUE constraints ---> - - <listitem> - <para> - Allow the specification of non-overlapping <link - linkend="sql-createtable-parms-primary-key"><literal>PRIMARY - KEY</literal></link> and <link - linkend="sql-createtable-parms-unique"><literal>UNIQUE</literal></link> - constraints (Paul A. Jungwirth) - <ulink url="&commit_baseurl;fc0438b4e">§</ulink> - </para> - - <para> - This is specified by <literal>WITHOUT OVERLAPS</literal> on the - last specified column. - </para> - </listitem> - -<!-- -Author: Peter Eisentraut <[email protected]> -2025-01-11 [ca87c415e] Add support for NOT ENFORCED in CHECK constraints -Author: Peter Eisentraut <[email protected]> -2025-04-02 [eec0040c4] Add support for NOT ENFORCED in foreign key constraints ---> - - <listitem> - <para> - Allow <link - linkend="sql-createtable-parms-check"><literal>CHECK</literal></link> - and <link linkend="sql-createtable-parms-references">foreign - key</link> constraints to be specified as <literal>NOT - ENFORCED</literal> (Amul Sul) - <ulink url="&commit_baseurl;ca87c415e">§</ulink> - <ulink url="&commit_baseurl;eec0040c4">§</ulink> - </para> - - <para> - This also adds column <link - linkend="catalog-pg-constraint"><structname>pg_constraint</structname></link>.<structfield>conenforced</structfield>. - </para> - </listitem> - -<!-- -Author: Peter Eisentraut <[email protected]> -2024-11-15 [9321d2fdf] Fix collation handling for foreign keys ---> - - <listitem> - <para> - Require <link - linkend="sql-createtable-parms-references">primary/foreign key</link> - relationships to use either deterministic collations or the the - same nondeterministic collations (Peter Eisentraut) - <ulink url="&commit_baseurl;9321d2fdf">§</ulink> - </para> - - <para> - The restore of a <xref linkend="app-pgdump"/>, also used by <xref - linkend="pgupgrade"/>, will fail if these requirements are not met; - schema changes must be made for these upgrade methods to succeed. - </para> - </listitem> - -<!-- -Author: Álvaro Herrera <[email protected]> -2024-11-08 [14e87ffa5] Add pg_constraint rows for not-null constraints ---> - - <listitem> - <para> - Store column <link - linkend="sql-createtable-parms-not-null"><literal>NOT - NULL</literal></link> specifications in <link - linkend="catalog-pg-constraint"><structname>pg_constraint</structname></link> - (Álvaro Herrera, Bernd Helmle) - <ulink url="&commit_baseurl;14e87ffa5">§</ulink> - </para> - - <para> - This allows names to be specified for <literal>NOT NULL</literal> - constraint. This also adds <literal>NOT NULL</literal> constraints - to foreign tables and <literal>NOT NULL</literal> inheritance - control to local tables. - </para> - </listitem> - -<!-- -Author: Álvaro Herrera <[email protected]> -2025-04-07 [a379061a2] Allow NOT NULL constraints to be added as NOT VALID ---> - - <listitem> - <para> - Allow <xref linkend="sql-altertable"/> to set the <literal>NOT - VALID</literal> attribute of <literal>NOT NULL</literal> constraints - (Rushabh Lathia, Jian He) - <ulink url="&commit_baseurl;a379061a2">§</ulink> - </para> - </listitem> - -<!-- -Author: Álvaro Herrera <[email protected]> -2025-03-05 [f4e53e10b] Add ALTER TABLE ... ALTER CONSTRAINT ... SET [NO] INHERI -Author: Álvaro Herrera <[email protected]> -2025-03-27 [4a02af8b1] Simplify syntax for ALTER TABLE ALTER CONSTRAINT NO INHE ---> - - <listitem> - <para> - Allow modification of the inheritability of <literal>NOT - NULL</literal> constraints (Suraj Kharage, Álvaro Herrera) - <ulink url="&commit_baseurl;f4e53e10b">§</ulink> - <ulink url="&commit_baseurl;4a02af8b1">§</ulink> - </para> - - <para> - The syntax is <link linkend="sql-altertable"><command>ALTER TABLE - ... ALTER CONSTRAINT ... [NO] INHERIT</command></link>. - </para> - </listitem> - -<!-- -Author: Álvaro Herrera <[email protected]> -2025-01-23 [b663b9436] Allow NOT VALID foreign key constraints on partitioned t ---> - - <listitem> - <para> - Allow <literal>NOT VALID</literal> foreign key constraints on - partitioned tables (Amul Sul) - <ulink url="&commit_baseurl;b663b9436">§</ulink> - </para> - </listitem> - -<!-- -Author: Álvaro Herrera <[email protected]> -2024-09-30 [4dea33ce7] Don't disallow DROP of constraints ONLY on partitioned t ---> - - <listitem> - <para> - Allow <link - linkend="sql-altertable-desc-drop-constraint">dropping</link> - of constraints <literal>ONLY</literal> on partitioned tables - (Álvaro Herrera) - <ulink url="&commit_baseurl;4dea33ce7">§</ulink> - </para> - - <para> - This was previously erroneously prohibited. - </para> - </listitem> - - </itemizedlist> - </sect4> - - <sect4 id="release-18-copy"> - <title><xref linkend="sql-copy"/></title> - - <itemizedlist> - -<!-- -Author: Fujii Masao <[email protected]> -2024-10-08 [4ac2a9bec] Add REJECT_LIMIT option to the COPY command. ---> - - <listitem> - <para> - Add <literal>REJECT_LIMIT</literal> to control the number of invalid - rows <command>COPY FROM</command> can ignore (Atsushi Torikoshi) - <ulink url="&commit_baseurl;4ac2a9bec">§</ulink> - </para> - - <para> - This is available when <literal>ON_ERROR = 'ignore'</literal>. - </para> - </listitem> - -<!-- -Author: Fujii Masao <[email protected]> -2025-04-04 [534874fac] Allow "COPY table TO" command to copy rows from material ---> - - <listitem> - <para> - Allow <command>COPY TO</command> to copy rows from populated - materialized views (Jian He) - <ulink url="&commit_baseurl;534874fac">§</ulink> - </para> - </listitem> - -<!-- -Author: Fujii Masao <[email protected]> -2024-10-03 [e7834a1a2] Add LOG_VERBOSITY = 'silent' support to COPY command. ---> - - <listitem> - <para> - Add <command>COPY</command> <literal>LOG_VERBOSITY</literal> level - <literal>silent</literal> to suppress log output of ignored rows - (Atsushi Torikoshi) - <ulink url="&commit_baseurl;e7834a1a2">§</ulink> - </para> - - <para> - This new level suppresses output for discarded input rows when - <literal>on_error = 'ignore'</literal>. - </para> - </listitem> - -<!-- -Author: Nathan Bossart <[email protected]> -2025-02-06 [401a6956f] Disallow COPY FREEZE on foreign tables. ---> - - <listitem> - <para> - Disallow <command>COPY FREEZE</command> on foreign tables (Nathan - Bossart) - <ulink url="&commit_baseurl;401a6956f">§</ulink> - </para> - - <para> - Previously, the <command>COPY</command> worked but the - <literal>FREEZE</literal> was ignored, so disallow this command. - </para> - </listitem> - - </itemizedlist> - </sect4> - - <sect4 id="release-18-explain"> - <title><xref linkend="sql-explain"/></title> - - <itemizedlist> - -<!-- -Author: David Rowley <[email protected]> -2024-12-11 [c2a4078eb] Enable BUFFERS with EXPLAIN ANALYZE by default ---> - - <listitem> - <para> - Automatically include <literal>BUFFERS</literal> output in - <command>EXPLAIN ANALYZE</command> (Guillaume Lelarge, David Rowley) - <ulink url="&commit_baseurl;c2a4078eb">§</ulink> - </para> - </listitem> - -<!-- -Author: Michael Paquier <[email protected]> -2025-02-17 [320545bfc] Add information about WAL buffers being full to EXPLAIN ---> - - <listitem> - <para> - Add full <acronym>WAL</acronym> buffer count to <command>EXPLAIN - (WAL)</command> output (Bertrand Drouvot) - <ulink url="&commit_baseurl;320545bfc">§</ulink> - </para> - </listitem> - -<!-- -Author: Peter Geoghegan <[email protected]> -2025-03-11 [0fbceae84] Show index search count in EXPLAIN ANALYZE, take 2. ---> - - <listitem> - <para> - In <command>EXPLAIN ANALYZE</command>, report the number of index - lookups used per index scan node (Peter Geoghegan) - <ulink url="&commit_baseurl;0fbceae84">§</ulink> - </para> - </listitem> - -<!-- -Author: Robert Haas <[email protected]> -2025-02-21 [ddb17e387] Allow EXPLAIN to indicate fractional rows. -Author: Robert Haas <[email protected]> -2025-02-27 [95dbd827f] EXPLAIN: Always use two fractional digits for row counts ---> - - <listitem> - <para> - Modify <command>EXPLAIN</command> to output fractional row counts - (Ibrar Ahmed, Ilia Evdokimov, Robert Haas) - <ulink url="&commit_baseurl;ddb17e387">§</ulink> - <ulink url="&commit_baseurl;95dbd827f">§</ulink> - </para> - </listitem> - -<!-- -Author: David Rowley <[email protected]> -2024-07-05 [1eff8279d] Add memory/disk usage for Material nodes in EXPLAIN -Author: David Rowley <[email protected]> -2024-07-05 [53abb1e0e] Fix newly introduced issue in EXPLAIN for Materialize no -Author: Tatsuo Ishii <[email protected]> -2024-09-17 [95d6e9af0] Add memory/disk usage for Window aggregate nodes in EXPL -Author: Tatsuo Ishii <[email protected]> -2024-09-23 [40708acd6] Add memory/disk usage for more executor nodes. ---> - - <listitem> - <para> - Add memory and disk usage details to <literal>Material</literal>, - <literal>Window Aggregate</literal>, and common table expression - nodes to <command>EXPLAIN</command> output (David Rowley, Tatsuo - Ishii) - <ulink url="&commit_baseurl;1eff8279d">§</ulink> - <ulink url="&commit_baseurl;53abb1e0e">§</ulink> - <ulink url="&commit_baseurl;95d6e9af0">§</ulink> - <ulink url="&commit_baseurl;40708acd6">§</ulink> - </para> - </listitem> - - -<!-- -Author: Tom Lane <[email protected]> -2025-03-11 [8b1b34254] Improve EXPLAIN's display of window functions. ---> - - <listitem> - <para> - Add details about window function arguments to - <command>EXPLAIN</command> output (Tom Lane) - <ulink url="&commit_baseurl;8b1b34254">§</ulink> - </para> - </listitem> - -<!-- -Author: David Rowley <[email protected]> -2024-07-09 [5a1e6df3b] Show Parallel Bitmap Heap Scan worker stats in EXPLAIN A ---> - - <listitem> - <para> - Add <literal>Parallel Bitmap Heap Scan</literal> worker cache - statistics to <command>EXPLAIN ANALYZE</command> (David Geier, - Heikki Linnakangas, Donghang Lin, Alena Rybakina, David Rowley) - <ulink url="&commit_baseurl;5a1e6df3b">§</ulink> - </para> - </listitem> - -<!-- -Author: Robert Haas <[email protected]> -2024-08-21 [c01743aa4] Show number of disabled nodes in EXPLAIN ANALYZE output. -Author: David Rowley <[email protected]> -2024-10-11 [161320b4b] Adjust EXPLAIN's output for disabled nodes -Author: David Rowley <[email protected]> -2024-10-29 [84b8fccbe] Doc: add detail about EXPLAIN's "Disabled" property ---> - - <listitem> - <para> - Indicate disabled nodes in <command>EXPLAIN ANALYZE</command> output - (Robert Haas, David Rowley, Laurenz Albe) - <ulink url="&commit_baseurl;c01743aa4">§</ulink> - <ulink url="&commit_baseurl;161320b4b">§</ulink> - <ulink url="&commit_baseurl;84b8fccbe">§</ulink> - </para> - </listitem> - - </itemizedlist> - - </sect4> - - </sect3> - - <sect3 id="release-18-datatypes"> - <title>Data Types</title> - - <itemizedlist> - -<!-- -Author: Jeff Davis <[email protected]> -2025-01-23 [4e7f62bc3] Add support for Unicode case folding. -Author: Jeff Davis <[email protected]> -2025-01-17 [286a365b9] Support Unicode full case mapping and conversion. ---> - - <listitem> - <para> - Improve <link linkend="collation-managing-standard">Unicode</link> - full case mapping and conversion (Jeff Davis) - <ulink url="&commit_baseurl;4e7f62bc3">§</ulink> - <ulink url="&commit_baseurl;286a365b9">§</ulink> - </para> - - <para> - This adds the ability to do conditional and title case mapping, - and case map single characters to multiple characters. - </para> - </listitem> - -<!-- -Author: Tom Lane <[email protected]> -2025-01-24 [a5579a90a] Make jsonb casts to scalar types translate JSON null to ---> - - <listitem> - <para> - Allow <link linkend="datatype-json"><type>jsonb</type></link> - <literal>null</literal> values to be cast to scalar types as - <literal>NULL</literal> (Tom Lane) - <ulink url="&commit_baseurl;a5579a90a">§</ulink> - </para> - - <para> - Previously such casts generated an error. - </para> - </listitem> - -<!-- -Author: Andrew Dunstan <[email protected]> -2025-03-05 [4603903d2] Allow json{b}_strip_nulls() to remove null array elements ---> - - <listitem> - <para> - Add optional parameter to <link - linkend="functions-json-processing-table"><function>json{b}_strip_nulls</function></link> - to allow removal of null array elements (Florents Tselai) - <ulink url="&commit_baseurl;4603903d2">§</ulink> - </para> - </listitem> - -<!-- -Author: Tom Lane <[email protected]> -2025-04-01 [6c12ae09f] Introduce a SQL-callable function array_sort(anyarray). ---> - - <listitem> - <para> - Add function <link - linkend="array-functions-table"><function>array_sort()</function></link> - which sorts an array's first dimension (Junwang Zhao, Jian He) - <ulink url="&commit_baseurl;6c12ae09f">§</ulink> - </para> - </listitem> - -<!-- -Author: Michael Paquier <[email protected]> -2024-11-01 [49d6c7d8d] Add SQL function array_reverse() ---> - - <listitem> - <para> - Add function <link - linkend="array-functions-table"><function>array_reverse()</function></link> - which reverses an array's first dimension (Aleksander Alekseev) - <ulink url="&commit_baseurl;49d6c7d8d">§</ulink> - </para> - </listitem> - -<!-- -Author: Nathan Bossart <[email protected]> -2025-03-13 [0697b2390] Add reverse(bytea). ---> - - <listitem> - <para> - Add function <link - linkend="functions-string-other"><function>reverse()</function></link> - to reverse bytea bytes (Aleksander Alekseev) - <ulink url="&commit_baseurl;0697b2390">§</ulink> - </para> - </listitem> - -<!-- -Author: Dean Rasheed <[email protected]> -2025-03-07 [6da469bad] Allow casting between bytea and integer types. ---> - - <listitem> - <para> - Allow casting between integer types and <link - linkend="datatype-binary"><type>bytea</type></link> (Aleksander - Alekseev) - <ulink url="&commit_baseurl;6da469bad">§</ulink> - </para> - - <para> - The integer values are stored as <type>bytea</type> two's complement - values. - </para> - </listitem> - -<!-- -Author: Peter Eisentraut <[email protected]> -2025-04-03 [82a46cca9] Update Unicode data to Unicode 16.0.0 ---> - - <listitem> - <para> - Update Unicode data to <link - linkend="collation-managing-standard">Unicode</link> 16.0.0 (Peter - Eisentraut) - <ulink url="&commit_baseurl;82a46cca9">§</ulink> - </para> - </listitem> - -<!-- -Author: Tom Lane <[email protected]> -2025-02-18 [b464e51ab] Update to latest Snowball sources. ---> - - <listitem> - <para> - Add full text search <link - linkend="textsearch-snowball-dictionary">stemming</link> for Estonian - (Tom Lane) - <ulink url="&commit_baseurl;b464e51ab">§</ulink> - </para> - </listitem> - -<!-- -Author: Tom Lane <[email protected]> -2024-09-24 [cd838e200] Neaten up our choices of SQLSTATEs for XML-related error ---> - - <listitem> - <para> - Improve the <link linkend="datatype-xml"><type>XML</type></link> - error codes to more closely match the <acronym>SQL</acronym> standard - (Tom Lane) - <ulink url="&commit_baseurl;cd838e200">§</ulink> - </para> - - <para> - These errors are reported via <link - linkend="errcodes-appendix"><literal>SQLSTATE</literal></link>. - </para> - </listitem> - - </itemizedlist> - - </sect3> - - <sect3 id="release-18-functions"> - <title>Functions</title> - - <itemizedlist> - -<!-- -Author: Jeff Davis <[email protected]> -2025-01-24 [bfc599206] Add SQL function CASEFOLD(). ---> - - <listitem> - <para> - Add function <link - linkend="functions-string-other"><function>casefold()</function></link> - to allow for more sophisticated case-insensitive matching (Jeff Davis) - <ulink url="&commit_baseurl;bfc599206">§</ulink> - </para> - - <para> - This allows more accurate comparisons, 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 <[email protected]> -2024-07-11 [a0f1fce80] Add min and max aggregates for composite types (records) -Author: Tom Lane <[email protected]> -2024-10-08 [2d24fd942] Add min and max aggregates for bytea type. ---> - - <listitem> - <para> - Allow <link - linkend="functions-aggregate-table"><function>MIN()</function></link>/<link - linkend="functions-aggregate-table"><function>MAX()</function></link> - aggregates on arrays and composite types (Aleksander Alekseev, - Marat Buharov) - <ulink url="&commit_baseurl;a0f1fce80">§</ulink> - <ulink url="&commit_baseurl;2d24fd942">§</ulink> - </para> - </listitem> - -<!-- -Author: Tom Lane <[email protected]> -2024-08-16 [6be39d77a] Fix extraction of week and quarter fields from intervals ---> - - <listitem> - <para> - Add a <literal>WEEK</literal> option to <link - linkend="functions-datetime-extract"><function>EXTRACT()</function></link> - (Tom Lane) - <ulink url="&commit_baseurl;6be39d77a">§</ulink> - </para> - </listitem> - -<!-- -Author: Tom Lane <[email protected]> -2024-08-16 [6be39d77a] Fix extraction of week and quarter fields from intervals ---> - - <listitem> - <para> - Improve the output <literal>EXTRACT(QUARTER ...)</literal> for - negative values (Tom Lane) - <ulink url="&commit_baseurl;6be39d77a">§</ulink> - </para> - </listitem> - -<!-- -Author: Tom Lane <[email protected]> -2025-01-22 [172e6b3ad] Support RN (roman-numeral format) in to_number(). ---> - - <listitem> - <para> - Add roman numeral support to <link - linkend="functions-formatting-table"><function>to_number()</function></link> - (Hunaid Sohail) - <ulink url="&commit_baseurl;172e6b3ad">§</ulink> - </para> - - <para> - This is accessed via the <literal>RN</literal> pattern. - </para> - </listitem> - -<!-- -Author: Masahiko Sawada <[email protected]> -2024-12-11 [78c5e141e] Add UUID version 7 generation function. ---> - - <listitem> - <para> - Add <link linkend="datatype-uuid"><type>UUID</type></link> - version 7 generation function <link - linkend="func_uuid_gen_table"><function>uuidv7()</function></link> - (Andrey Borodin) - <ulink url="&commit_baseurl;78c5e141e">§</ulink> - </para> - - <para> - This <type>UUID</type> value is - temporally sortable. Function alias <link - linkend="func_uuid_gen_table"><function>uuidv4()</function></link> - has been added to explicitly generate version 4 UUIDs. - </para> - </listitem> - -<!-- -Author: Nathan Bossart <[email protected]> -2024-08-12 [760162fed] Add user-callable CRC functions. ---> - - <listitem> - <para> - Add functions <link - linkend="functions-binarystring-other"><function>crc32()</function></link> - and <link - linkend="functions-binarystring-other"><function>crc32c()</function></link> - to compute <acronym>CRC</acronym> values (Aleksander Alekseev) - <ulink url="&commit_baseurl;760162fed">§</ulink> - </para> - </listitem> - -<!-- -Author: Dean Rasheed <[email protected]> -2025-03-26 [a3b6dfd41] Add support for gamma() and lgamma() functions. ---> - - <listitem> - <para> - Add math functions <link - linkend="functions-math-func-table"><function>gamma()</function></link> - and <link - linkend="functions-math-func-table"><function>lgamma()</function></link> - (Dean Rasheed) - <ulink url="&commit_baseurl;a3b6dfd41">§</ulink> - </para> - </listitem> - -<!-- -Author: Tom Lane <[email protected]> -2025-03-03 [246dedc5d] Allow => syntax for named cursor arguments in plpgsql. ---> - - <listitem> - <para> - Allow <literal>=></literal> syntax for named cursor arguments in - <link linkend="plpgsql">PL/pgSQL</link> (Pavel Stehule) - <ulink url="&commit_baseurl;246dedc5d">§</ulink> - </para> - - <para> - We previously only accepted <literal>:=</literal>. - </para> - </listitem> - -<!-- -Author: Tom Lane <[email protected]> -2024-07-25 [580f8727c] Add argument names to the regexp_XXX functions. ---> - - <listitem> - <para> - Allow <link - linkend="functions-posix-regexp"><function>regexp_match[es]()</function></link>/<link - linkend="functions-posix-regexp"><function>regexp_like()</function></link>/<link - linkend="functions-posix-regexp"><function>regexp_replace()</function></link>/<link - linkend="functions-posix-regexp"><function>regexp_count()</function></link>/<link - linkend="functions-posix-regexp"><function>regexp_instr()</function></link>/<link - linkend="functions-posix-regexp"><function>regexp_substr()</function></link>/<link - linkend="functions-posix-regexp"><function>regexp_split_to_table()</function></link>/<link - linkend="functions-posix-regexp"><function>regexp_split_to_array()</function></link> - to use named arguments (Jian He) - <ulink url="&commit_baseurl;580f8727c">§</ulink> - </para> - </listitem> - - </itemizedlist> - - </sect3> - - <sect3 id="release-18-libpq"> - <title><xref linkend="libpq"/></title> - - <itemizedlist> - -<!-- -Author: Robert Haas <[email protected]> -2024-09-09 [cdb6b0fdb] Add PQfullProtocolVersion() to surface the precise proto ---> - - <listitem> - <para> - Add function <link - linkend="libpq-PQfullProtocolVersion"><function>PQfullProtocolVersion()</function></link> - to report the full, including minor, protocol version number (Jacob - Champion, Jelte Fennema-Nio) - <ulink url="&commit_baseurl;cdb6b0fdb">§</ulink> - </para> - </listitem> - -<!-- -Author: Heikki Linnakangas <[email protected]> -2025-04-02 [285613c60] libpq: Add min/max_protocol_version connection options -Author: Heikki Linnakangas <[email protected]> -2025-04-02 [507034910] libpq: Handle NegotiateProtocolVersion message different ---> - - <listitem> - <para> - Add libpq connection <link - linkend="libpq-connect-ssl-max-protocol-version">parameters</link> - and <link linkend="libpq-envars">environment variables</link> to - specify the minimum and maximum acceptable protocol version for - connections (Jelte Fennema-Nio) - <ulink url="&commit_baseurl;285613c60">§</ulink> - <ulink url="&commit_baseurl;507034910">§</ulink> - </para> - </listitem> - -<!-- -Author: Michael Paquier <[email protected]> -2024-12-18 [4b99fed75] libpq: Add service name to PGconn and PQservice() ---> - - <listitem> - <para> - Add libpq function <link - linkend="libpq-PQservice"><function>PQservice()</function></link> - to return the connection service name (Michael Banck) - <ulink url="&commit_baseurl;4b99fed75">§</ulink> - </para> - </listitem> - -<!-- -Author: Tomas Vondra <[email protected]> -2024-08-19 [28a1121fd] Mark search_path as GUC_REPORT -Author: Tomas Vondra <[email protected]> -2024-08-19 [0d06a7eac] Document that search_path is reported by the server ---> - - <listitem> - <para> - Report <xref linkend="guc-search-path"/> changes to the client - (Alexander Kukushkin, Jelte Fennema-Nio, Tomas Vondra) - <ulink url="&commit_baseurl;28a1121fd">§</ulink> - <ulink url="&commit_baseurl;0d06a7eac">§</ulink> - </para> - </listitem> - -<!-- -Author: Álvaro Herrera <[email protected]> -2024-08-12 [ea92f3a0a] libpq: Trace frontend authentication challenges -Author: Álvaro Herrera <[email protected]> -2024-08-14 [a5c6b8f22] libpq: Trace responses to SSLRequest and GSSENCRequest -Author: Álvaro Herrera <[email protected]> -2024-08-16 [b8b3f861f] libpq: Trace all messages received from the server -Author: Robert Haas <[email protected]> -2025-02-24 [e87c14b19] libpq: Trace all NegotiateProtocolVersion fields -Author: Álvaro Herrera <[email protected]> -2024-08-09 [7adec2d5f] libpq: Trace StartupMessage/SSLRequest/GSSENCRequest cor ---> - - <listitem> - <para> - Add <link - linkend="libpq-PQtrace"><function>PQtrace()</function></link> output - for all message types, including authentication (Jelte Fennema-Nio) - <ulink url="&commit_baseurl;ea92f3a0a">§</ulink> - <ulink url="&commit_baseurl;a5c6b8f22">§</ulink> - <ulink url="&commit_baseurl;b8b3f861f">§</ulink> - <ulink url="&commit_baseurl;e87c14b19">§</ulink> - <ulink url="&commit_baseurl;7adec2d5f">§</ulink> - </para> - </listitem> - -<!-- -Author: Daniel Gustafsson <[email protected]> -2025-04-03 [2da74d8d6] libpq: Add support for dumping SSL key material to file ---> - - <listitem> - <para> - Add libpq connection parameter <link - linkend="libpq-connect-sslkeylogfile"><varname>sslkeylogfile</varname></link> - which dumps out <acronym>SSL</acronym> key material (Abhishek Chanda, - Daniel Gustafsson) - <ulink url="&commit_baseurl;2da74d8d6">§</ulink> - </para> - - <para> - This is useful for debugging. - </para> - </listitem> - -<!-- -Author: Thomas Munro <[email protected]> -2025-03-25 [3c86223c9] libpq: Deprecate pg_int64. ---> - - <listitem> - <para> - Modify some libpq function signatures to use - <literal>int64_t</literal> (Thomas Munro) - <ulink url="&commit_baseurl;3c86223c9">§</ulink> - </para> - - <para> - These previously used <literal>pg_int64</literal>, which is now - deprecated. - </para> - </listitem> - - </itemizedlist> - - </sect3> - - <sect3 id="release-18-psql"> - <title><xref linkend="app-psql"/></title> - - <itemizedlist> - -<!-- -Author: Michael Paquier <[email protected]> -2024-08-22 [d55322b0d] psql: Add more meta-commands able to use the extended pr ---> - - <listitem> - <para> - Allow <application>psql</application> to parse, bind, and close - named prepared statements (Anthonin Bonnefoy, Michael Paquier) - <ulink url="&commit_baseurl;d55322b0d">§</ulink> - </para> - - <para> - This is accomplished with new commands <link - linkend="app-psql-meta-command-parse"><literal>\parse</literal></link>, - <link - linkend="app-psql-meta-command-bind-named"><literal>\bind_named</literal></link>, - and <link - linkend="app-psql-meta-command-close-prepared"><literal>\close_prepared</literal></link>. - </para> - </listitem> - -<!-- -Author: Michael Paquier <[email protected]> -2025-02-21 [41625ab8e] psql: Add support for pipelines -Author: Michael Paquier <[email protected]> -2025-03-18 [17caf6644] psql: Add \sendpipeline to send query buffers while in a -Author: Michael Paquier <[email protected]> -2025-03-19 [2cce0fe44] psql: Allow queries terminated by semicolons while in pi ---> - - <listitem> - <para> - Add <application>psql</application> backslash commands to allowing - issuance of pipeline queries (Anthonin Bonnefoy) - <ulink url="&commit_baseurl;41625ab8e">§</ulink> - <ulink url="&commit_baseurl;17caf6644">§</ulink> - <ulink url="&commit_baseurl;2cce0fe44">§</ulink> - </para> - - <para> - The new commands are <link - linkend="app-psql-meta-command-pipeline"><literal>\startpipeline</literal></link>, - <literal>\syncpipeline</literal>, <literal>\sendpipeline</literal>, - <literal>\endpipeline</literal>, <literal>\flushrequest</literal>, - <literal>\flush</literal>, and <literal>\getresults</literal>. - </para> - </listitem> - -<!-- -Author: Michael Paquier <[email protected]> -2025-02-25 [3ce357584] psql: Add pipeline status to prompt and some state varia ---> - - <listitem> - <para> - Allow adding pipeline status to the <application>psql</application> - prompt and add related state variables (Anthonin Bonnefoy) - <ulink url="&commit_baseurl;3ce357584">§</ulink> - </para> - - <para> - The new prompt character is <literal>%P</literal> and - the new <application>psql</application> variables are <link - linkend="app-psql-variables-pipeline-sync-count"><literal>PIPELINE_SYNC_COUNT</literal></link>, - <link - linkend="app-psql-variables-pipeline-command-count"><literal>PIPELINE_COMMAND_COUNT</literal></link>, - and <link - linkend="app-psql-variables-pipeline-result-count"><literal>PIPELINE_RESULT_COUNT</literal></link>. - </para> - </listitem> - -<!-- -Author: Michael Paquier <[email protected]> -2024-12-18 [477728b5d] psql: Add more information about service name ---> - - <listitem> - <para> - Allow adding the connection service name to the - <application>psql</application> prompt or access it via - <application>psql</application> variable (Michael Banck) - <ulink url="&commit_baseurl;477728b5d">§</ulink> - </para> - </listitem> - -<!-- -Author: Dean Rasheed <[email protected]> -2025-01-14 [00f4c2959] psql: Add option to use expanded mode to all list comman ---> - - <listitem> - <para> - Add <application>psql</application> option to use expanded mode on - all list commands (Dean Rasheed) - <ulink url="&commit_baseurl;00f4c2959">§</ulink> - </para> - - <para> - Adding backslash suffix <literal>x</literal> enables this. - </para> - </listitem> - -<!-- -Author: Álvaro Herrera <[email protected]> -2025-02-22 [bba2fbc62] Change \conninfo to use tabular format ---> - - <listitem> - <para> - Change <application>psql</application>'s <xref - linkend="app-psql-meta-command-conninfo"/> to use tabular format - and include more information (Álvaro Herrera, Maiquel Grassi, - Hunaid Sohail) - <ulink url="&commit_baseurl;bba2fbc62">§</ulink> - </para> - </listitem> - -<!-- -Author: Dean Rasheed <[email protected]> -2025-01-14 [2355e5111] psql: Add leakproof indicator to \df+, \do+, \dAo+, and ---> - - <listitem> - <para> - Add function's leakproof indicator - to <application>psql</application>'s <link - linkend="app-psql-meta-command-df-lc"><literal>\df+</literal></link>, - <literal>\do+</literal>, <literal>\dAo+</literal>, and - <literal>\dC+</literal> outputs (Yugo Nagata) - <ulink url="&commit_baseurl;2355e5111">§</ulink> - </para> - </listitem> - -<!-- -Author: Michael Paquier <[email protected]> -2024-07-02 [978f38c77] Add information about access method for partitioned rela ---> - - <listitem> - <para> - Add access method details for partitioned relations in <link - linkend="app-psql-meta-command-dp-uc"><literal>\dP+</literal></link> - (Justin Pryzby) - <ulink url="&commit_baseurl;978f38c77">§</ulink> - </para> - </listitem> - -<!-- -Author: Magnus Hagander <[email protected]> -2025-03-24 [d696406a9] psql: show default extension version in \dx output ---> - - <listitem> - <para> - Add <literal>default_version</literal> - to the <application>psql</application> <link - linkend="app-psql-meta-command-dx-lc"><literal>\dx</literal></link> - extension output (Magnus Hagander) - <ulink url="&commit_baseurl;d696406a9">§</ulink> - </para> - </listitem> - -<!-- -Author: Daniel Gustafsson <[email protected]> -2025-03-25 [1a759c832] psql: Make default \watch interval configurable ---> - - <listitem> - <para> - Add <application>psql</application> variable <xref - linkend="app-psql-variables-watch-interval"/> to set the default <link - linkend="app-psql-meta-command-watch"><literal>\watch</literal></link> - wait time (Daniel Gustafsson) - <ulink url="&commit_baseurl;1a759c832">§</ulink> - </para> - </listitem> - - </itemizedlist> - - </sect3> - - <sect3 id="release-18-server-apps"> - <title>Server Applications</title> - - <itemizedlist> - -<!-- -Author: Peter Eisentraut <[email protected]> -2024-10-01 [983a588e0] initdb: Add new option "- -no-data-checksums" -Author: Peter Eisentraut <[email protected]> -2024-10-16 [04bec894a] initdb: Change default to using data checksums. ---> - - <listitem> - <para> - Change <xref linkend="app-initdb"/> to default to enabling checksums - (Greg Sabino Mullane) - <ulink url="&commit_baseurl;983a588e0">§</ulink> - <ulink url="&commit_baseurl;04bec894a">§</ulink> - </para> - - <para> - The new <application>initdb</application> option - <option>--no-data-checksums</option> disables checksums. - </para> - </listitem> - -<!-- -Author: Nathan Bossart <[email protected]> -2025-03-25 [cf131fa94] initdb: Add - -no-sync-data-files. ---> - - <listitem> - <para> - Add <application>initdb</application> option - <option>--no-sync-data-files</option> to avoid syncing heap/index - files (Nathan Bossart) - <ulink url="&commit_baseurl;cf131fa94">§</ulink> - </para> - - <para> - <application>initdb</application> option <option>--no-sync</option> - is still available to avoid syncing any files. - </para> - </listitem> - -<!-- -Author: Nathan Bossart <[email protected]> -2025-03-18 [edba754f0] vacuumdb: Add option for analyzing only relations missin -Author: Nathan Bossart <[email protected]> -2025-04-30 [987910502] vacuumdb: Don't skip empty relations in - -missing-stats- ---> - - <listitem> - <para> - Add <xref linkend="app-vacuumdb"/> option - <option>--missing-stats-only</option> to compute only missing - optimizer statistics (Corey Huinker, Nathan Bossart) - <ulink url="&commit_baseurl;edba754f0">§</ulink> - <ulink url="&commit_baseurl;987910502">§</ulink> - </para> - - <para> - This option can only be used by <option>--analyze-only</option> - and <option>--analyze-in-stages</option>. - </para> - </listitem> - -<!-- -Author: Robert Haas <[email protected]> -2025-03-17 [99aeb8470] pg_combinebackup: Add -k, - -link option. ---> - - <listitem> - <para> - Add <xref linkend="app-pgcombinebackup"/> option - <option>-k</option>/<option>--link</option> to enable hard linking - (Israel Barth Rubio, Robert Haas) - <ulink url="&commit_baseurl;99aeb8470">§</ulink> - </para> - - <para> - Only some files can be hard linked. This should not be used if the - backups will be used independently. - </para> - </listitem> - -<!-- -Author: Robert Haas <[email protected]> -2024-09-27 [8dfd31290] pg_verifybackup: Verify tar-format backups. ---> - - <listitem> - <para> - Allow <xref linkend="app-pgverifybackup"/> to verify tar-format - backups (Amul Sul) - <ulink url="&commit_baseurl;8dfd31290">§</ulink> - </para> - </listitem> - -<!-- -Author: Masahiko Sawada <[email protected]> -2025-03-12 [4ecdd4110] pg_rewind: Add dbname to primary_conninfo when using - -w ---> - - <listitem> - <para> - If <xref linkend="app-pgrewind"/>'s <option>--source-server</option> - specifies a database name, use it in - <option>--write-recovery-conf</option> output (Masahiko Sawada) - <ulink url="&commit_baseurl;4ecdd4110">§</ulink> - </para> - </listitem> - -<!-- -Author: Masahiko Sawada <[email protected]> -2025-02-21 [30666d185] pg_resetwal: Add - -char-signedness option to change the ---> - - <listitem> - <para> - Add <xref linkend="app-pgresetwal"/> option - <option>--char-signedness</option> to change the default - <type>char</type> signedness (Masahiko Sawada) - <ulink url="&commit_baseurl;30666d185">§</ulink> - </para> - </listitem> - - </itemizedlist> - - - <sect4 id="release-18-pgdump"> - <title><link - linkend="app-pgdump"><application>pg_dump</application></link>/<link - linkend="app-pg-dumpall"><application>pg_dumpall</application></link>/<link - linkend="app-pgrestore"><application>pg_restore</application></link></title> - - <itemizedlist> - -<!-- -Author: Andrew Dunstan <[email protected]> -2025-04-04 [1495eff7b] Non text modes for pg_dumpall, correspondingly change pg ---> - - <listitem> - <para> - Allow <xref linkend="app-pg-dumpall"/> to dump in the same output - formats as <application>pg_dump</application> supports (Mahendra - Singh Thalor, Andrew Dunstan) - <ulink url="&commit_baseurl;1495eff7b">§</ulink> - </para> - - <para> - Also modify <xref linkend="app-pgrestore"/> to handle such dumps. - Previously <application>pg_dumpall</application> only supported - text format. - </para> - </listitem> - -<!-- -Author: Jeff Davis <[email protected]> -2025-03-25 [bde2fb797] Add pg_dump - -with-{schema|data|statistics} options. ---> - - <listitem> - <para> - Add <xref linkend="app-pgdump"/> options - <option>--with-schema</option>, <option>--with-data</option>, - and <option>--with-statistics</option> (Jeff Davis) - <ulink url="&commit_baseurl;bde2fb797">§</ulink> - </para> - </listitem> - -<!-- -Author: Nathan Bossart <[email protected]> -2025-03-25 [9c49f0e8c] pg_dump: Add - -sequence-data. -Author: Nathan Bossart <[email protected]> -2025-05-07 [acea3fc49] pg_dumpall: Add - -sequence-data. ---> - - <listitem> - <para> - Add <application>pg_dump</application> and <xref - linkend="app-pg-dumpall"/> option <option>--sequence-data</option> to - dump sequence data that would normally be excluded (Nathan Bossart) - <ulink url="&commit_baseurl;9c49f0e8c">§</ulink> - <ulink url="&commit_baseurl;acea3fc49">§</ulink> - </para> - </listitem> - -<!-- -Author: Jeff Davis <[email protected]> -2025-02-20 [1fd1bd871] Transfer statistics during pg_upgrade. ---> - - <listitem> - <para> - Add <xref linkend="app-pgdump"/>, <xref linkend="app-pg-dumpall"/>, - and <xref linkend="app-pgrestore"/> options - <option>--statistics-only</option>, <option>--no-statistics</option>, - <option>--no-data</option>, and <option>--no-schema</option> - (Corey Huinker, Jeff Davis) - <ulink url="&commit_baseurl;1fd1bd871">§</ulink> - </para> - </listitem> - -<!-- -Author: Tom Lane <[email protected]> -2025-03-16 [cd3c45125] pg_dump, pg_dumpall, pg_restore: Add - -no-policies optio ---> - - <listitem> - <para> - Add option <option>--no-policies</option> to disable row level - security policy processing in <xref linkend="app-pgdump"/>, - <xref linkend="app-pg-dumpall"/>, <xref linkend="app-pgrestore"/> - (Nikolay Samokhvalov) - <ulink url="&commit_baseurl;cd3c45125">§</ulink> - </para> - - <para> - This is useful for migrating to systems with different policies. - </para> - </listitem> - - </itemizedlist> - - </sect4> - - <sect4 id="release-18-pgupgrade"> - <title><xref linkend="pgupgrade"/></title> - - <itemizedlist> - -<!-- -Author: Jeff Davis <[email protected]> -2025-02-20 [1fd1bd871] Transfer statistics during pg_upgrade. -Author: Nathan Bossart <[email protected]> -2025-03-18 [c9d502eb6] Update guidance for running vacuumdb after pg_upgrade. -Author: Nathan Bossart <[email protected]> -2025-04-30 [d5f1b6a75] Further adjust guidance for running vacuumdb after pg_up -Author: Jeff Davis <[email protected]> -2025-02-20 [1fd1bd871] Transfer statistics during pg_upgrade. ---> - - <listitem> - <para> - Allow <application>pg_upgrade</application> to preserve optimizer - statistics (Corey Huinker, Jeff Davis, Nathan Bossart) - <ulink url="&commit_baseurl;1fd1bd871">§</ulink> - <ulink url="&commit_baseurl;c9d502eb6">§</ulink> - <ulink url="&commit_baseurl;d5f1b6a75">§</ulink> - <ulink url="&commit_baseurl;1fd1bd871">§</ulink> - </para> - - <para> - Extended statistics are not preserved. Also add - <application>pg_upgrade</application> option - <option>--no-statistics</option> to disable statistics preservation. - </para> - </listitem> - -<!-- -Author: Nathan Bossart <[email protected]> -2024-09-16 [40e2e5e92] Introduce framework for parallelizing various pg_upgrade -Author: Nathan Bossart <[email protected]> -2024-09-16 [6d3d2e8e5] pg_upgrade: Parallelize retrieving relation information. -Author: Nathan Bossart <[email protected]> -2024-09-16 [7baa36de5] pg_upgrade: Parallelize subscription check. -Author: Nathan Bossart <[email protected]> -2024-09-16 [46cad8b31] pg_upgrade: Parallelize retrieving loadable libraries. -Author: Nathan Bossart <[email protected]> -2024-09-16 [6ab8f27bc] pg_upgrade: Parallelize retrieving extension updates. -Author: Nathan Bossart <[email protected]> -2024-09-16 [bbf83cab9] pg_upgrade: Parallelize data type checks. -Author: Nathan Bossart <[email protected]> -2024-09-16 [9db3018cf] pg_upgrade: Parallelize contrib/isn check. -Author: Nathan Bossart <[email protected]> -2024-09-16 [c34eabfbb] pg_upgrade: Parallelize postfix operator check. -Author: Nathan Bossart <[email protected]> -2024-09-16 [cf2f82a37] pg_upgrade: Parallelize incompatible polymorphics check. -Author: Nathan Bossart <[email protected]> -2024-09-16 [f93f5f7b9] pg_upgrade: Parallelize WITH OIDS check. -Author: Nathan Bossart <[email protected]> -2024-09-16 [c880cf258] pg_upgrade: Parallelize encoding conversion check. ---> - - <listitem> - <para> - Allow <application>pg_upgrade</application> to process database - checks in parallel (Nathan Bossart) - <ulink url="&commit_baseurl;40e2e5e92">§</ulink> - <ulink url="&commit_baseurl;6d3d2e8e5">§</ulink> - <ulink url="&commit_baseurl;7baa36de5">§</ulink> - <ulink url="&commit_baseurl;46cad8b31">§</ulink> - <ulink url="&commit_baseurl;6ab8f27bc">§</ulink> - <ulink url="&commit_baseurl;bbf83cab9">§</ulink> - <ulink url="&commit_baseurl;9db3018cf">§</ulink> - <ulink url="&commit_baseurl;c34eabfbb">§</ulink> - <ulink url="&commit_baseurl;cf2f82a37">§</ulink> - <ulink url="&commit_baseurl;f93f5f7b9">§</ulink> - <ulink url="&commit_baseurl;c880cf258">§</ulink> - </para> - - <para> - This is controlled by the existing <option>--jobs</option> option. - </para> - </listitem> - -<!-- -Author: Nathan Bossart <[email protected]> -2025-03-25 [626d7236b] pg_upgrade: Add - -swap for faster file transfer. ---> - - <listitem> - <para> - Add <application>pg_upgrade</application> option - <option>--swap</option> to swap directories rather than copy, clone, - or link files (Nathan Bossart) - <ulink url="&commit_baseurl;626d7236b">§</ulink> - </para> - - <para> - This mode is potentially the fastest. - </para> - </listitem> - -<!-- -Author: Masahiko Sawada <[email protected]> -2025-02-21 [a8238f87f] pg_upgrade: Preserve default char signedness value from -Author: Masahiko Sawada <[email protected]> -2025-02-21 [1aab68059] pg_upgrade: Add - -set-char-signedness to set the default ---> - - <listitem> - <para> - Add <application>pg_upgrade</application> option - <option>--set-char-signedness</option> to set the default - <type>char</type> signedness of new cluster (Masahiko Sawada) - <ulink url="&commit_baseurl;a8238f87f">§</ulink> - <ulink url="&commit_baseurl;1aab68059">§</ulink> - </para> - - <para> - This is to handle cases where a - pre-<productname>PostgreSQL</productname> 18 cluster's default - <acronym>CPU</acronym> signedness does not match the new cluster. - </para> - </listitem> - - </itemizedlist> - - </sect4> - - <sect4 id="release-18-logicalrep-app"> - <title>Logical Replication Applications</title> - - <itemizedlist> - -<!-- -Author: Amit Kapila <[email protected]> -2025-03-28 [fb2ea12f4] pg_createsubscriber: Add '- -all' option. ---> - - <listitem> - <para> - Add <xref linkend="app-pgcreatesubscriber"/> option - <option>--all</option> to create logical replicas for all databases - (Shubham Khanna) - <ulink url="&commit_baseurl;fb2ea12f4">§</ulink> - </para> - </listitem> - -<!-- -Author: Amit Kapila <[email protected]> -2025-03-20 [e5aeed4b8] pg_createsubscriber: Add -R publications option. ---> - - <listitem> - <para> - Add <application>pg_createsubscriber</application> option - <option>--remove</option> to remove publications (Shubham Khanna) - <ulink url="&commit_baseurl;e5aeed4b8">§</ulink> - </para> - </listitem> - -<!-- -Author: Amit Kapila <[email protected]> -2025-02-26 [e117cfb2f] Add two-phase option in pg_createsubscriber. ---> - - <listitem> - <para> - Add <application>pg_createsubscriber</application> option - <option>--enable-two-phase</option> to enable prepared transactions - (Shubham Khanna) - <ulink url="&commit_baseurl;e117cfb2f">§</ulink> - </para> - </listitem> - -<!-- -Author: Masahiko Sawada <[email protected]> -2025-04-04 [cf2655a90] pg_recvlogical: Add - -failover option. ---> - - <listitem> - <para> - Add <xref linkend="app-pgrecvlogical"/> option - <option>--failover</option> to specify failover slots (Hayato Kuroda) - <ulink url="&commit_baseurl;cf2655a90">§</ulink> - </para> - </listitem> - -<!-- -Author: Fujii Masao <[email protected]> -2025-03-25 [c68100aa4] Allow pg_recvlogical - -drop-slot to work without - -dbnam ---> - - <listitem> - <para> - Allow <application>pg_recvlogical</application> - <option>--drop-slot</option> to work without - <option>--dbname</option> (Hayato Kuroda) - <ulink url="&commit_baseurl;c68100aa4">§</ulink> - </para> - </listitem> - - </itemizedlist> - - </sect4> - - </sect3> - - <sect3 id="release-18-source-code"> - <title>Source Code</title> - - <itemizedlist> - -<!-- -Author: Michael Paquier <[email protected]> -2024-07-05 [4b211003e] Support loading of injection points -Author: Michael Paquier <[email protected]> -2024-07-18 [a0a5869a8] Add INJECTION_POINT_CACHED() to run injection points dir ---> - - <listitem> - <para> - Separate the loading and running of <link - linkend="xfunc-addin-injection-points">injection points</link> - (Michael Paquier, Heikki Linnakangas) - <ulink url="&commit_baseurl;4b211003e">§</ulink> - <ulink url="&commit_baseurl;a0a5869a8">§</ulink> - </para> - - <para> - Injection points can now be created, but not run, via <link - linkend="xfunc-addin-injection-points"><function>INJECTION_POINT_LOAD()</function></link>, - and such injection points can be run via <link - linkend="xfunc-addin-injection-points"><function>INJECTION_POINT_CACHED()</function></link>. - </para> - </listitem> - -<!-- -Author: Michael Paquier <[email protected]> -2025-05-10 [371f2db8b] Add support for runtime arguments in injection points ---> - - <listitem> - <para> - Support runtime arguments in injection points (Michael Paquier) - <ulink url="&commit_baseurl;371f2db8b">§</ulink> - </para> - </listitem> - -<!-- -Author: Heikki Linnakangas <[email protected]> -2024-07-26 [20e0e7da9] Add test for early backend startup errors ---> - - <listitem> - <para> - Allow inline injection point test code with <link - linkend="xfunc-addin-injection-points"><function>IS_INJECTION_POINT_ATTACHED()</function></link> - (Heikki Linnakangas) - <ulink url="&commit_baseurl;20e0e7da9">§</ulink> - </para> - </listitem> - -<!-- -Author: David Rowley <[email protected]> -2024-08-05 [ca6fde922] Optimize JSON escaping using SIMD ---> - - <listitem> - <para> - Improve the performance of processing long <link - linkend="datatype-json"><type>JSON</type></link> strings using - <acronym>SIMD</acronym> (Single Instruction Multiple Data) (David - Rowley) - <ulink url="&commit_baseurl;ca6fde922">§</ulink> - </para> - </listitem> - -<!-- -Author: John Naylor <[email protected]> -2025-04-06 [3c6e8c123] Compute CRC32C using AVX-512 instructions where availabl ---> - - <listitem> - <para> - Speed up CRC32C calculations using x86 <acronym>AVX</acronym>-512 - instructions (Raghuveer Devulapalli, Paul Amonson) - <ulink url="&commit_baseurl;3c6e8c123">§</ulink> - </para> - </listitem> - -<!-- -Author: Nathan Bossart <[email protected]> -2025-03-28 [6be53c276] Optimize popcount functions with ARM Neon intrinsics. -Author: Nathan Bossart <[email protected]> -2025-03-28 [519338ace] Optimize popcount functions with ARM SVE intrinsics. ---> - - <listitem> - <para> - Add <acronym>ARM</acronym> Neon and <acronym>SVE CPU</acronym> - intrinsics for popcount (integer bit counting) (Chiranmoy - Bhattacharya, Devanga Susmitha, Rama Malladi) - <ulink url="&commit_baseurl;6be53c276">§</ulink> - <ulink url="&commit_baseurl;519338ace">§</ulink> - </para> - </listitem> - -<!-- -Author: Dean Rasheed <[email protected]> -2024-07-09 [ca481d3c9] Optimise numeric multiplication for short inputs. -Author: Dean Rasheed <[email protected]> -2024-08-15 [c4e44224c] Extend mul_var_short() to 5 and 6-digit inputs. -Author: Dean Rasheed <[email protected]> -2024-08-15 [8dc28d7eb] Optimise numeric multiplication using base-NBASE^2 arith -Author: Dean Rasheed <[email protected]> -2024-10-04 [9428c001f] Speed up numeric division by always using the "fast" alg ---> - - <listitem> - <para> - Improve the speed of numeric multiplication and division (Joel - Jacobson, Dean Rasheed) - <ulink url="&commit_baseurl;ca481d3c9">§</ulink> - <ulink url="&commit_baseurl;c4e44224c">§</ulink> - <ulink url="&commit_baseurl;8dc28d7eb">§</ulink> - <ulink url="&commit_baseurl;9428c001f">§</ulink> - </para> - </listitem> - -<!-- -Author: Tomas Vondra <[email protected]> -2025-04-07 [65c298f61] Add support for basic NUMA awareness -Author: Tomas Vondra <[email protected]> -2025-04-07 [8cc139bec] Introduce pg_shmem_allocations_numa view -Author: Tomas Vondra <[email protected]> -2025-04-07 [ba2a3c230] Add pg_buffercache_numa view with NUMA node info ---> - - <listitem> - <para> - Add configure option <link - linkend="configure-option-with-libnuma"><option>--with-libnuma</option></link> - to enable <acronym>NUMA</acronym> awareness (Jakub Wartak, Bertrand - Drouvot) - <ulink url="&commit_baseurl;65c298f61">§</ulink> - <ulink url="&commit_baseurl;8cc139bec">§</ulink> - <ulink url="&commit_baseurl;ba2a3c230">§</ulink> - </para> - - <para> - The function <link - linkend="functions-info-session-table"><function>pg_numa_available()</function></link> - reports on <acronym>NUMA</acronym> awareness, and system views <link - linkend="view-pg-shmem-allocations-numa"><structname>pg_shmem_allocations_numa</structname></link> - and <link - linkend="pgbuffercache-pg-buffercache-numa"><structname>pg_buffercache_numa</structname></link> - which report on shared memory distribution across - <acronym>NUMA</acronym> nodes. - </para> - </listitem> - -<!-- -Author: Nathan Bossart <[email protected]> -2024-09-18 [b52c4fc3c] Add TOAST table to pg_index. ---> - - <listitem> - <para> - Add <link - linkend="storage-toast"><acronym>TOAST</acronym></link> table to <link - linkend="catalog-pg-index"><structname>pg_index</structname></link> - to allow for very large expression indexes (Nathan Bossart) - <ulink url="&commit_baseurl;b52c4fc3c">§</ulink> - </para> - </listitem> - -<!-- -Author: David Rowley <[email protected]> -2024-12-20 [02a8d0c45] Remove pg_attribute.attcacheoff column ---> - - <listitem> - <para> - Remove column <link - linkend="catalog-pg-attribute"><structname>pg_attribute</structname></link>.<structfield>attcacheoff</structfield> - (David Rowley) - <ulink url="&commit_baseurl;02a8d0c45">§</ulink> - </para> - </listitem> - -<!-- -Author: Melanie Plageman <[email protected]> -2025-03-03 [99f8f3fbb] Add relallfrozen to pg_class ---> - - <listitem> - <para> - Add column <link - linkend="catalog-pg-class"><structname>pg_class</structname></link>.<structfield>relallfrozen</structfield> - (Melanie Plageman) - <ulink url="&commit_baseurl;99f8f3fbb">§</ulink> - </para> - </listitem> - -<!-- -Author: Peter Eisentraut <[email protected]> -2024-09-10 [56fead44d] Add amgettreeheight index AM API routine -Author: Peter Eisentraut <[email protected]> -2025-03-07 [af4002b38] Rename amcancrosscompare ---> - - <listitem> - <para> - Add <link - linkend="indexam"><structfield>amgettreeheight</structfield></link>, - <literal>amconsistentequality</literal>, and - <literal>amconsistentordering</literal> to the index access method - <acronym>API</acronym> (Mark Dilger) - <ulink url="&commit_baseurl;56fead44d">§</ulink> - <ulink url="&commit_baseurl;af4002b38">§</ulink> - </para> - </listitem> - -<!-- -Author: Peter Eisentraut <[email protected]> -2024-09-17 [7406ab623] Add stratnum GiST support function ---> - - <listitem> - <para> - Add GiST support function <link - linkend="gist-extensibility"><function>stratnum()</function></link> - (Paul A. Jungwirth) - <ulink url="&commit_baseurl;7406ab623">§</ulink> - </para> - </listitem> - -<!-- -Author: Masahiko Sawada <[email protected]> -2025-02-21 [44fe30fda] Add default_char_signedness field to ControlFileData. ---> - - <listitem> - <para> - Record the default <acronym>CPU</acronym> signedness of - <literal>char</literal> in <xref linkend="app-pgcontroldata"/> - (Masahiko Sawada) - <ulink url="&commit_baseurl;44fe30fda">§</ulink> - </para> - </listitem> - -<!-- -Author: Peter Eisentraut <[email protected]> -2025-03-12 [72a3d0462] Prepare for Python "Limited API" in PL/Python -Author: Peter Eisentraut <[email protected]> -2025-03-14 [0793ab810] Activate Python "Limited API" in PL/Python ---> - - <listitem> - <para> - Add support for Python "Limited <acronym>API</acronym>" in <xref - linkend="plpython"/> (Peter Eisentraut) - <ulink url="&commit_baseurl;72a3d0462">§</ulink> - <ulink url="&commit_baseurl;0793ab810">§</ulink> - </para> - - <para> - This helps prevent problems caused by - <application>Python</application> 3.x version mismatches. - </para> - </listitem> - -<!-- -Author: Jacob Champion <[email protected]> -2025-04-29 [45363fca6] Bump the minimum supported Python version to 3.6.8 ---> - - <listitem> - <para> - Change the minimum supported <application>Python</application> - version to 3.6.8 (Jacob Champion) - <ulink url="&commit_baseurl;45363fca6">§</ulink> - </para> - </listitem> - -<!-- -Author: Daniel Gustafsson <[email protected]> -2024-09-02 [a70e01d43] Remove support for OpenSSL older than 1.1.0 -Author: Daniel Gustafsson <[email protected]> -2024-10-24 [6c66b7443] Raise the minimum supported OpenSSL version to 1.1.1 ---> - - <listitem> - <para> - Remove support for <application>OpenSSL</application> versions older - than 1.1.1 (Daniel Gustafsson) - <ulink url="&commit_baseurl;a70e01d43">§</ulink> - <ulink url="&commit_baseurl;6c66b7443">§</ulink> - </para> - </listitem> - -<!-- -Author: Peter Eisentraut <[email protected]> -2024-10-01 [972c2cd28] jit: Require at least LLVM 14, if enabled. ---> - - <listitem> - <para> - If <application>LLVM</application> is enabled, require version 14 - or later (Thomas Munro) - <ulink url="&commit_baseurl;972c2cd28">§</ulink> - </para> - </listitem> - -<!-- -Author: Tom Lane <[email protected]> -2025-03-26 [9324c8c58] Introduce PG_MODULE_MAGIC_EXT macro. ---> - - <listitem> - <para> - Add macro <link - linkend="functions-info"><literal>PG_MODULE_MAGIC_EXT</literal></link> - to allow extensions to report their name and version (Andrei Lepikhov) - <ulink url="&commit_baseurl;9324c8c58">§</ulink> - </para> - - <para> - This information can be access via the new function <link - linkend="functions-info-session-table"><function>pg_get_loaded_modules()</function></link>. - </para> - </listitem> - -<!-- -Author: Tom Lane <[email protected]> -2024-09-09 [218527d01] Don't bother checking the result of SPI_connect[_ext] an ---> - - <listitem> - <para> - Document that <link - linkend="spi-spi-connect"><function>SPI_connect()</function></link>/<link - linkend="spi-spi-connect"><function>SPI_connect_ext()</function></link> - always returns success (<literal>SPI_OK_CONNECT</literal>) (Stepan - Neretin) - <ulink url="&commit_baseurl;218527d01">§</ulink> - </para> - - <para> - Errors are always reported via <function>ereport()</function>. - </para> - </listitem> - -<!-- -Author: Peter Eisentraut <[email protected]> -2024-07-31 [e54a42ac9] Add API and ABI stability guidance to the C language doc ---> - - <listitem> - <para> - Add <link linkend="xfunc-api-abi-stability-guidance">documentation - section</link> about <acronym>API</acronym> and <acronym>ABI</acronym> - compatibility (David Wheeler, Peter Eisentraut) - <ulink url="&commit_baseurl;e54a42ac9">§</ulink> - </para> - </listitem> - -<!-- -Author: Peter Eisentraut <[email protected]> -2025-01-27 [5afaba629] doc: Meson is not experimental on Windows ---> - - <listitem> - <para> - Remove the experimental designation of - <application>Meson</application> builds on <systemitem - class="osname">Windows</systemitem> (Aleksander Alekseev) - <ulink url="&commit_baseurl;5afaba629">§</ulink> - </para> - </listitem> - -<!-- -Author: Thomas Munro <[email protected]> -2024-07-30 [e25626677] Remove - -disable-spinlocks. -Author: Thomas Munro <[email protected]> -2024-07-30 [813852613] Remove - -disable-atomics, require 32 bit atomics. ---> - - <listitem> - <para> - Remove configure options <option>--disable-spinlocks</option> and - <option>--disable-atomics</option> (Thomas Munro) - <ulink url="&commit_baseurl;e25626677">§</ulink> - <ulink url="&commit_baseurl;813852613">§</ulink> - </para> - - <para> - Thirty-two-bit atomic operations are now required. - </para> - </listitem> - -<!-- -Author: Tom Lane <[email protected]> -2024-07-01 [edadeb071] Remove support for HPPA (a/k/a PA-RISC) architecture. ---> - - <listitem> - <para> - Remove support for the - <acronym>HPPA</acronym>/<acronym>PA-RISC</acronym> architecture - (Tom Lane) - <ulink url="&commit_baseurl;edadeb071">§</ulink> - </para> - </listitem> - - </itemizedlist> - - </sect3> - - <sect3 id="release-18-modules"> - <title>Additional Modules</title> - - <itemizedlist> - -<!-- -Author: Masahiko Sawada <[email protected]> -2024-10-14 [7cdfeee32] Add contrib/pg_logicalinspect. ---> - - <listitem> - <para> - Add extension <xref linkend="pglogicalinspect"/> to inspect logical - snapshots (Bertrand Drouvot) - <ulink url="&commit_baseurl;7cdfeee32">§</ulink> - </para> - </listitem> - -<!-- -Author: Robert Haas <[email protected]> -2025-03-26 [8d5ceb113] pg_overexplain: Additional EXPLAIN options for debugging ---> - - <listitem> - <para> - Add extension <xref linkend="pgoverexplain"/> which adds debug details - to <link linkend="sql-explain"><command>EXPLAIN</command></link> - output (Robert Haas) - <ulink url="&commit_baseurl;8d5ceb113">§</ulink> - </para> - </listitem> - -<!-- -Author: Fujii Masao <[email protected]> -2024-07-26 [c297a47c5] postgres_fdw: Add "used_in_xact" column to postgres_fdw_ -Author: Fujii Masao <[email protected]> -2024-07-26 [857df3cef] postgres_fdw: Add connection status check to postgres_fd -Author: Fujii Masao <[email protected]> -2024-09-18 [4f08ab554] postgres_fdw: Extend postgres_fdw_get_connections to ret -Author: Fujii Masao <[email protected]> -2025-03-03 [fe186bda7] postgres_fdw: Extend postgres_fdw_get_connections to ret ---> - - <listitem> - <para> - Add output columns to <link - linkend="postgres-fdw-functions"><function>postgres_fdw_get_connections()</function></link> - (Hayato Kuroda, Sagar Dilip Shedge) - <ulink url="&commit_baseurl;c297a47c5">§</ulink> - <ulink url="&commit_baseurl;857df3cef">§</ulink> - <ulink url="&commit_baseurl;4f08ab554">§</ulink> - <ulink url="&commit_baseurl;fe186bda7">§</ulink> - </para> - - <para> - New output column <structfield>used_in_xact</structfield> indicates - if the foreign data wrapper is being used by a current transaction, - <structfield>closed</structfield> indicates if it is closed, - <structfield>user_name</structfield> indicates the user name, and - <structfield>remote_backend_pid</structfield> indicates the remote - backend process identifier. - </para> - </listitem> - -<!-- -Author: Peter Eisentraut <[email protected]> -2025-01-15 [761c79508] postgres_fdw: SCRAM authentication pass-through ---> - - <listitem> - <para> - Allow <link linkend="auth-password"><acronym>SCRAM</acronym></link> - authentication from the client to be passed to <xref - linkend="postgres-fdw"/> servers (Matheus Alcantara, Peter Eisentraut) - <ulink url="&commit_baseurl;761c79508">§</ulink> - </para> - - <para> - This avoids storing <application>postgres_fdw</application> - authentication information in the database, and is - enabled with the <application>postgres_fdw</application> <link - linkend="postgres-fdw-option-use-scram-passthrough"><literal>use_scram_passthrough</literal></link> - connection option. libpq uses new connection parameters - <xref linkend="libpq-connect-scram-client-key"/> and <xref - linkend="libpq-connect-scram-server-key"/>. - </para> - </listitem> - -<!-- -Author: Peter Eisentraut <[email protected]> -2025-03-26 [3642df265] dblink: SCRAM authentication pass-through ---> - - <listitem> - <para> - Allow <acronym>SCRAM</acronym> authentication from the client to be - passed to <xref linkend="dblink"/> servers (Matheus Alcantara) - <ulink url="&commit_baseurl;3642df265">§</ulink> - </para> - </listitem> - -<!-- -Author: Fujii Masao <[email protected]> -2024-10-03 [a1c4c8a9e] file_fdw: Add on_error and log_verbosity options to file ---> - - <listitem> - <para> - Add <literal>on_error</literal> and <literal>log_verbosity</literal> - options to <xref linkend="file-fdw"/> (Atsushi Torikoshi) - <ulink url="&commit_baseurl;a1c4c8a9e">§</ulink> - </para> - - <para> - These control how <application>file_fdw</application> handles and - reports invalid file rows. - </para> - </listitem> - -<!-- -Author: Fujii Masao <[email protected]> -2024-11-20 [6c8f67032] file_fdw: Add REJECT_LIMIT option to file_fdw. ---> - - <listitem> - <para> - Add <literal>reject_limit</literal> to control the number of - invalid rows <application>file_fdw</application> can ignore (Atsushi - Torikoshi) - <ulink url="&commit_baseurl;6c8f67032">§</ulink> - </para> - - <para> - This is active when <literal>ON_ERROR = 'ignore'</literal>. - </para> - </listitem> - -<!-- -Author: Nathan Bossart <[email protected]> -2025-01-07 [f7e1b3828] Add passwordcheck.min_password_length. ---> - - <listitem> - <para> - Add configurable variable <varname>min_password_length</varname> to - <xref linkend="passwordcheck"/> (Emanuele Musella, Maurizio Boriani) - <ulink url="&commit_baseurl;f7e1b3828">§</ulink> - </para> - - <para> - This controls the minimum password length. - </para> - </listitem> - -<!-- -Author: Tatsuo Ishii <[email protected]> -2024-10-11 [cae0f3c40] pgbench: Improve result outputs related to failed transa ---> - - <listitem> - <para> - Have <xref linkend="pgbench"/> report the number of failed, retried, - or skipped transactions in per-script reports (Yugo Nagata) - <ulink url="&commit_baseurl;cae0f3c40">§</ulink> - </para> - </listitem> - -<!-- -Author: Tom Lane <[email protected]> -2025-03-16 [448904423] contrib/isn: Make weak mode a GUC setting, and fix relat ---> - - <listitem> - <para> - Add <xref linkend="isn"/> server variable <literal>weak</literal> - to control invalid check digit acceptance (Viktor Holmberg) - <ulink url="&commit_baseurl;448904423">§</ulink> - </para> - - <para> - This was previously only controlled by function <link - linkend="isn-functions"><function>isn_weak()</function></link>. - </para> - </listitem> - -<!-- -Author: Heikki Linnakangas <[email protected]> -2025-04-03 [e4309f73f] Add support for sorted gist index builds to btree_gist ---> - - <listitem> - <para> - Allow values to be sorted to speed <xref linkend="btree-gist"/> - index builds (Bernd Helmle, Andrey Borodin) - <ulink url="&commit_baseurl;e4309f73f">§</ulink> - </para> - </listitem> - -<!-- -Author: Tomas Vondra <[email protected]> -2025-03-29 [14ffaece0] amcheck: Add gin_index_check() to verify GIN index ---> - - <listitem> - <para> - Add <xref linkend="amcheck"/> check function <link - linkend="amcheck-functions"><function>gin_index_check()</function></link> - to verify <literal>GIN</literal> indexes (Grigory Kryachko, Heikki - Linnakangas, Andrey Borodin) - <ulink url="&commit_baseurl;14ffaece0">§</ulink> - </para> - </listitem> - -<!-- -Author: Andres Freund <[email protected]> -2025-04-08 [dcf7e1697] Add pg_buffercache_evict_{relation,all} functions ---> - - <listitem> - <para> - Add functions <link - linkend="pgbuffercache-pg-buffercache-evict-relation"><function>pg_buffercache_evict_relation()</function></link> - and <link - linkend="pgbuffercache-pg-buffercache-evict-all"><function>pg_buffercache_evict_all()</function></link> - to evict unpinned shared buffers (Nazir Bilal Yavuz) - <ulink url="&commit_baseurl;dcf7e1697">§</ulink> - </para> - - <para> - The existing function <link - linkend="pgbuffercache-pg-buffercache-evict"><function>pg_buffercache_evict()</function></link> - now returns the buffer flush status. - </para> - </listitem> - -<!-- -Author: Robert Haas <[email protected]> -2025-03-18 [c65bc2e1d] Make it possible for loadable modules to add EXPLAIN opt -Author: Robert Haas <[email protected]> -2025-03-18 [4fd02bf7c] Add some new hooks so extensions can add details to EXPL -Author: Robert Haas <[email protected]> -2025-03-20 [50ba65e73] Add an additional hook for EXPLAIN option validation. ---> - - <listitem> - <para> - Allow extensions to install custom <xref linkend="sql-explain"/> - options (Robert Haas, Sami Imseih) - <ulink url="&commit_baseurl;c65bc2e1d">§</ulink> - <ulink url="&commit_baseurl;4fd02bf7c">§</ulink> - <ulink url="&commit_baseurl;50ba65e73">§</ulink> - </para> - </listitem> - -<!-- -Author: Michael Paquier <[email protected]> -2024-08-04 [7949d9594] Introduce pluggable APIs for Cumulative Statistics -Author: Michael Paquier <[email protected]> -2024-08-05 [2eff9e678] Add helper routines to retrieve data for custom fixed-nu ---> - - <listitem> - <para> - Allow extensions to use the server's cumulative statistics - <acronym>API</acronym> (Michael Paquier) - <ulink url="&commit_baseurl;7949d9594">§</ulink> - <ulink url="&commit_baseurl;2eff9e678">§</ulink> - </para> - </listitem> - - </itemizedlist> - - <sect4 id="release-18-pgstatstatements"> - <title><xref linkend="pgstatstatements"/></title> - - <itemizedlist> - -<!-- -Author: Michael Paquier <[email protected]> -2024-10-28 [6b652e6ce] Set query ID for inner queries of CREATE TABLE AS and DE ---> - - <listitem> - <para> - Allow the queries of <xref linkend="sql-createtableas"/> - and <xref linkend="sql-declare"/> to be tracked by - <application>pg_stat_statements</application> (Anthonin Bonnefoy) - <ulink url="&commit_baseurl;6b652e6ce">§</ulink> - </para> - - <para> - They are also now assigned query ids. - </para> - </listitem> - -<!-- -Author: Michael Paquier <[email protected]> -2024-09-30 [dc6851596] Show values of SET statements as constants in pg_stat_st ---> - - <listitem> - <para> - Allow the parameterization of <xref linkend="sql-set"/> values in - <application>pg_stat_statements</application> (Greg Sabino Mullane, - Michael Paquier) - <ulink url="&commit_baseurl;dc6851596">§</ulink> - </para> - - <para> - This reduces the bloat caused by <command>SET</command> statements - with differing constants. - </para> - </listitem> - -<!-- -Author: Michael Paquier <[email protected]> -2024-10-09 [cf54a2c00] pg_stat_statements: Add columns to track parallel worker ---> - - <listitem> - <para> - Add <link - linkend="pgstatstatements-pg-stat-statements"><structname>pg_stat_statements</structname></link> - columns to report parallel activity (Guillaume Lelarge) - <ulink url="&commit_baseurl;cf54a2c00">§</ulink> - </para> - - <para> - The new columns are - <structfield>parallel_workers_to_launch</structfield> and - <structfield>parallel_workers_launched</structfield>. - </para> - </listitem> - -<!-- -Author: Michael Paquier <[email protected]> -2025-02-17 [ce5bcc4a9] pg_stat_statements: Add wal_buffers_full ---> - - <listitem> - <para> - Add - <structname>pg_stat_statements</structname>.<structfield>wal_buffers_full</structfield> - to report full <acronym>WAL</acronym> buffers (Bertrand Drouvot) - <ulink url="&commit_baseurl;ce5bcc4a9">§</ulink> - </para> - </listitem> - - </itemizedlist> - - </sect4> - - <sect4 id="release-18-pgcrypto"> - <title><xref linkend="pgcrypto"/></title> - - <itemizedlist> - -<!-- -Author: Álvaro Herrera <[email protected]> -2025-04-05 [749a9e20c] Add modern SHA-2 based password hashes to pgcrypto. ---> - - <listitem> - <para> - Add <application>pgcrypto</application> algorithms <link - linkend="pgcrypto-crypt-algorithms"><literal>sha256crypt</literal></link> - and <link - linkend="pgcrypto-crypt-algorithms"><literal>sha512crypt</literal></link> - (Bernd Helmle) - <ulink url="&commit_baseurl;749a9e20c">§</ulink> - </para> - </listitem> - -<!-- -Author: Daniel Gustafsson <[email protected]> -2025-02-14 [9ad1b3d01] pgcrypto: Add support for CFB mode in AES encryption ---> - - <listitem> - <para> - Add <link - linkend="pgcrypto-raw-enc-funcs"><acronym>CFB</acronym></link> mode - to <application>pgcrypto</application> encryption and decryption - (Umar Hayat) - <ulink url="&commit_baseurl;9ad1b3d01">§</ulink> - </para> - </listitem> - -<!-- -Author: Daniel Gustafsson <[email protected]> -2025-01-24 [924d89a35] pgcrypto: Add function to check FIPS mode ---> - - <listitem> - <para> - Add function <link - linkend="pgcrypto-openssl-support-funcs"><function>fips_mode()</function></link> - to report the server's <acronym>FIPS</acronym> mode (Daniel - Gustafsson) - <ulink url="&commit_baseurl;924d89a35">§</ulink> - </para> - </listitem> - -<!-- -Author: Daniel Gustafsson <[email protected]> -2025-01-24 [035f99cbe] pgcrypto: Make it possible to disable built-in crypto ---> - - <listitem> - <para> - Add <application>pgcrypto</application> server variable <link - linkend="pgcrypto-configuration-parameters-builtin_crypto_enabled"><varname>builtin_crypto_enabled</varname></link> - to allow disabling builtin non-<acronym>FIPS</acronym> mode - cryptographic functions (Daniel Gustafsson, Joe Conway) - <ulink url="&commit_baseurl;035f99cbe">§</ulink> - </para> - - <para> - This is useful for guaranteeing <acronym>FIPS</acronym> mode behavior. - </para> - </listitem> - - </itemizedlist> - </sect4> - - </sect3> - - </sect2> - - <sect2 id="release-18-acknowledgements"> - <title>Acknowledgments</title> - - <para> - The following individuals (in alphabetical order) have contributed - to this release as patch authors, committers, reviewers, testers, - or reporters of issues. - </para> - - <simplelist> - <member>(to be completed)</member> - </simplelist> - </sect2> - - </sect1> diff --git a/doc/src/sgml/release-19.sgml b/doc/src/sgml/release-19.sgml new file mode 100644 index 00000000000..8d242b5b281 --- /dev/null +++ b/doc/src/sgml/release-19.sgml @@ -0,0 +1,16 @@ +<!-- doc/src/sgml/release-19.sgml --> +<!-- See header comment in release.sgml about typical markup --> + +<sect1 id="release-19"> + <title>Release 19</title> + + <formalpara> + <title>Release date:</title> + <para>2026-??-??</para> + </formalpara> + + <para> + This is just a placeholder for now. + </para> + +</sect1> diff --git a/doc/src/sgml/release.sgml b/doc/src/sgml/release.sgml index cee577ff8d3..a659d382db9 100644 --- a/doc/src/sgml/release.sgml +++ b/doc/src/sgml/release.sgml @@ -70,7 +70,7 @@ For new features, add links to the documentation sections. All the active branches have to be edited concurrently when doing that. --> -&release-18; +&release-19; <sect1 id="release-prior"> <title>Prior Releases</title> diff --git a/meson.build b/meson.build index 6ffe7b47275..36e168a1a2a 100644 --- a/meson.build +++ b/meson.build @@ -8,7 +8,7 @@ project('postgresql', ['c'], - version: '18beta1', + version: '19devel', license: 'PostgreSQL', # We want < 0.56 for python 3.5 compatibility on old platforms. EPEL for diff --git a/src/tools/git_changelog b/src/tools/git_changelog index b8bd874f208..dccf938685a 100755 --- a/src/tools/git_changelog +++ b/src/tools/git_changelog @@ -59,6 +59,7 @@ require IPC::Open2; # (We could get this from "git branches", but not worth the trouble.) # NB: master must be first! my @BRANCHES = qw(master + REL_18_STABLE REL_17_STABLE REL_16_STABLE REL_15_STABLE REL_14_STABLE REL_13_STABLE REL_12_STABLE REL_11_STABLE REL_10_STABLE REL9_6_STABLE REL9_5_STABLE REL9_4_STABLE REL9_3_STABLE REL9_2_STABLE REL9_1_STABLE REL9_0_STABLE diff --git a/src/tools/version_stamp.pl b/src/tools/version_stamp.pl index c3509474d83..a9d2d0910f3 100755 --- a/src/tools/version_stamp.pl +++ b/src/tools/version_stamp.pl @@ -25,7 +25,7 @@ use warnings FATAL => 'all'; # Major version is hard-wired into the script. We update it when we branch # a new development version. -my $majorversion = 18; +my $majorversion = 19; # Validate argument and compute derived variables my $minor = shift; |