From 9dcae643698f0a0caf77e40181c7af278e146ea7 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Sat, 11 Jun 2022 14:37:50 -0400 Subject: [PATCH] relnotes: add links to the release notes, indent, word wrap --- doc/src/sgml/func.sgml | 2 +- doc/src/sgml/release-15.sgml | 3002 +++++++++++++++++++--------------- 2 files changed, 1727 insertions(+), 1277 deletions(-) diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml index 478a216dbbb..7b652460a18 100644 --- a/doc/src/sgml/func.sgml +++ b/doc/src/sgml/func.sgml @@ -18047,7 +18047,7 @@ FROM - + JSON_TABLE json_table diff --git a/doc/src/sgml/release-15.sgml b/doc/src/sgml/release-15.sgml index d4724406793..8a26fcff119 100644 --- a/doc/src/sgml/release-15.sgml +++ b/doc/src/sgml/release-15.sgml @@ -10,8 +10,8 @@ Overview - PostgreSQL 15 contains many new features and - enhancements, including: + PostgreSQL 15 contains many new features + and enhancements, including: @@ -19,23 +19,23 @@ - The above items and other new features - of PostgreSQL 15 are explained in more - detail in the sections below. + The above items and other new features of + PostgreSQL 15 are explained in more detail + in the sections below. - Migration to Version 15 + Migration to Version 15 - A dump/restore using or use of or logical replication is required for those - wishing to migrate data from any previous release. See for general information on migrating to new major - releases. + A dump/restore using or use of + or logical replication is required for + those wishing to migrate data from any previous release. See for general information on migrating to new + major releases. @@ -50,318 +50,393 @@ Author: Noah Misch 2021-09-09 [b073c3ccd] Revoke PUBLIC CREATE from public schema, now owned by pg --> - - -Remove PUBLIC 'creation' permission on the 'public' schema (Noah Misch) - + + + Remove PUBLIC creation permission on the public schema + (Noah Misch) + - -This is a change in the default for newly-created databases in existing clusters and for new clusters; usage permissions on the 'public' schema has not been changed. Databases restored from previous -Postgres releases will be restored with their current permissions. Users wishing to have the old permissions on new objects will need to grant 'create' permission for PUBLIC on the 'public' schema; this -change can be made on 'template1' to cause all new databases to have these permissions. template1 permissions for pg_dumpall and pg_upgrade? - - + + This is a change in the default for newly-created databases in existing + clusters and for new clusters; USAGE permissions on + the public schema has not been changed. Databases + restored from previous Postgres releases will be restored with their + current permissions. Users wishing to have the old permissions on + new objects will need to grant CREATE permission + for PUBLIC on the public schema; + this change can be made on template1 to cause all new + databases to have these permissions. template1 + permissions for pg_dumpall and + pg_upgrade? + + - - -Change the owner of the public schema to pg_database_owner (Noah Misch) - + + + Change the owner of the public schema to + pg_database_owner (Noah Misch) + - -Previously it was the literal user name of the database owner. Databases restored from previous Postgres releases will be restored with their current owner specification. - - + + Previously it was the literal user name of the database owner. Databases + restored from previous Postgres releases will be restored with their + current owner specification. + + - - -Remove long-deprecated exclusive backup mode (David Steele, Nathan Bossart) - + + + Remove long-deprecated exclusive backup + mode (David Steele, Nathan Bossart) + - -If the database server stops abruptly while in this mode, the server could fail to start. The non-exclusive backup mode requires a continuous database connection during the -backup. Functions pg_start_backup()/pg_stop_backup() have been renamed to pg_backup_start()/pg_backup_stop(), and the functions pg_backup_start_time() and pg_is_in_backup() have been removed. - - + + If the database server stops abruptly while in this mode, the + server could fail to start. The non-exclusive backup mode requires + a continuous database connection during the backup. Functions + pg_start_backup()/pg_stop_backup() + have been renamed to + pg_backup_start()/pg_backup_stop(), + and the functions pg_backup_start_time() and + pg_is_in_backup() have been removed. + + - - -Increase hash_mem_multiplier default to 2.0 (Peter Geoghegan) - + + + Increase hash_mem_multiplier + default to 2.0 (Peter Geoghegan) + - -This allows query hash operations to use double the amount of work_mem memory as other operations. - - + + This allows query hash operations to use double the amount of work_mem memory as + other operations. + + - - -Remove server-side language plpython2u and generic Python language plpythonu (Andres Freund) - - + + + Remove server-side language plpython2u and generic Python + language plpythonu (Andres Freund) + + - - -Mark the interval output function as stable, not immutable, since it depends on IntervalStyle (Tom Lane) - + + + Mark the interval + output function as stable, not immutable, since it depends on IntervalStyle + (Tom Lane) + - -This will cause the creation of indexes relying on the text output of interval values to fail. - - + + This will cause the creation of indexes relying on the text output of + interval values to fail. + + - - -Generate an error if array_to_tsvector() is passed an empty array element (Jean-Christophe Arnu) - + + + Generate an error if array_to_tsvector() + is passed an empty array element (Jean-Christophe Arnu) + - -This is prohibited because lexemes should never be empty. Users of previous Postgres releases should verify that no empty lexemes are stored because they can lead to dump/restore failures and inconsistent -results. - - + + This is prohibited because lexemes should never be empty. Users of + previous Postgres releases should verify that no empty lexemes are stored + because they can lead to dump/restore failures and inconsistent results. + + - - -Generate an error when char() is supplied with a negative argument (Peter Eisentraut) - - + + + Generate an error when chr() is + supplied with a negative argument (Peter Eisentraut) + + - - -Prevent Unicode zero-length identifiers, e.g., U&"" (Peter Eisentraut) - + + + Prevent Unicode zero-length identifiers, e.g., U&"" + (Peter Eisentraut) + - -Non-Unicode zero-length identifiers were already prevented. - - + + Non-Unicode zero-length identifiers were already prevented. + + - - -Remove pg_dump's option since all supported server versions support synchronized snapshots (Tom Lane) - - + + + Remove pg_dump's + option since all supported + server versions support synchronized snapshots (Tom Lane) + + - - -Prevent CREATE OR REPLACE VIEW from changing the collation of an output column (Tom Lane) - - + + + Prevent CREATE OR REPLACE + VIEW from changing the collation of an output column + (Tom Lane) + + - - -Prevent numeric literals from having non-numeric trailing characters (Peter Eisentraut) - + + + Prevent numeric + literals from having non-numeric trailing characters (Peter + Eisentraut) + - -Previously literals like '123abc' would be interpreted as '123' and 'abc'. - - + + Previously literals like 123abc would be interpreted + as 123 and abc. + + - - -Adjust JSON numeric literal processing to match the SQL/JSON-standard (Peter Eisentraut) - + + + Adjust JSON + numeric literal processing to match the + SQL/JSON-standard (Peter Eisentraut) + - -This accepts numeric formats like ".1" and "1.", and disallows trailing junk after numeric literals, like "1.type()". - - + + This accepts numeric formats like .1 and + 1., and disallows trailing junk after numeric literals, + like 1.type(). + + - - -Improve consistency of interval parsing with trailing periods (Tom Lane) - + + + Improve consistency of interval + parsing with trailing periods (Tom Lane) + - -Some platforms disallowed trailing periods. - - + + Some platforms disallowed trailing periods. + + - - -When specifying fractional interval values in units greater than months, round to the nearest month (Bruce Momjian) - + + + When specifying fractional interval values in units greater than months, + round to the nearest month (Bruce Momjian) + - -For example, report '1.99 years' as '2 years', not '1 year 11 months'. - - + + For example, report 1.99 years as 2 + years, not 1 year 11 months. + + - - -Detect integer overflow in interval justification functions (Joe Koshakow) - + + + Detect integer overflow in interval justification functions + (Joe Koshakow) + - -Specifically, functions justify_interval(), justify_hours(), and justify_days() are affected. - - + + Specifically, functions justify_interval(), + justify_hours(), and + justify_days() are affected. + + - - -Remove the default ADMIN OPTION privilege a login role has on its own role membership (Robert Haas) - + + + Remove the default ADMIN + OPTION privilege a login role has on its own role + membership (Robert Haas) + - -Previously, login roles could add/remove members of its own role, even without ADMIN OPTION privilege. - - + + Previously, login roles could add/remove members of its own role, even + without ADMIN OPTION privilege. + + - - -Allow logical replication to run as the owner of the subscription (Mark Dilger) - + + + Allow logical replication + to run as the owner of the subscription (Mark Dilger) + - -Because row-level security policies are not checked, only superusers, roles with bypassrls, and table owners can replicate into tables with row-level security policies. - - + + Because row-level security policies are not checked, only superusers, + roles with bypassrls, and table owners can replicate + into tables with row-level security policies. + + - - -Prevent UPDATE and DELETE logical replication operations on tables where the subscription owner does not have SELECT permission on the table (Jeff Davis) - + + + Prevent UPDATE and DELETE logical replication operations on + tables where the subscription owner does not have SELECT + permission on the table (Jeff Davis) + - -UPDATE and DELETE perform SELECT, so require the subscription owner to have table SELECT permission. - - + + UPDATE and DELETE perform + SELECT, so require the subscription owner to have + table SELECT permission. + + - - -When EXPLAIN references the temporary object schema, refer to it as pg_temp (Amul Sul) - + + + When EXPLAIN + references the temporary object schema, refer to it as + pg_temp (Amul Sul) + - -Previously the actual schema name was used. - - + + Previously the actual schema name was used. + + - - -Modify SPI's SPI_commit() and SPI_commit_and_chain() to automatically start a new transaction at completion (Peter Eisentraut, Tom Lane) - + + + Modify SPI's + SPI_commit() and + SPI_commit_and_chain() to automatically start a new + transaction at completion (Peter Eisentraut, Tom Lane) + - -BACKPATCHED? - - + + BACKPATCHED? + + - - -Fix pg_statio_all_tables to sum values for the rare case of TOAST tables with multiple indexes (Andrei Zubkov) - + + + Fix pg_statio_all_tables + to sum values for the rare case of TOAST tables with + multiple indexes (Andrei Zubkov) + - -Previously such cases would have one row for each index. - - + + Previously such cases would have one row for each index. + + - - -Disallow setting of server variables matching the prefixes of installed extension (Florin Irion, Tom Lane) - + + + Disallow setting of server variables + matching the prefixes of installed extension (Florin Irion, Tom Lane) + - -This also deletes any matching server variables during extension load. - - + + This also deletes any matching server variables during extension load. + + - - -Remove unnecessary server variable stats_temp_directory (Andres Freund, Kyotaro Horiguchi) - - + + + Remove unnecessary server variable stats_temp_directory + (Andres Freund, Kyotaro Horiguchi) + + - - -Improve the algorithm used to compute random() (Fabien Coelho) - + + + Improve the algorithm used to compute random() + (Fabien Coelho) + - -This will cause random() to differ from what was emitted by prior versions for the same seed values. - - + + This will cause random() to differ from what was + emitted by prior versions for the same seed values. + + - - -Reduce casting of constants in postgres_fdw queries (Dian Fay) - + + + Reduce casting of constants in postgres_fdw queries (Dian Fay) + - -If column types were mismatched between local and remote databases, such casting could cause errors. - - + + If column types were mismatched between local and remote databases, + such casting could cause errors. + + - - -Remove contrib/xml2's function xml_is_well_formed() (Tom Lane) - + + + Remove xml2's function + xml_is_well_formed() (Tom Lane) + - -This function has been implemented in the core backend since Postgres 9.1. - - + + This function has been implemented in the core backend since Postgres 9.1. + + - - -Allow CustomScan providers to indicate if they support projections (Sven Klemm) - + + + Allow custom scan provders to indicate + if they support projections (Sven Klemm) + - -The default is now that custom scan providers can't support projections, so they need to be updated for this release. - - + + The default is now that custom scan providers can't support projections, + so they need to be updated for this release. + + @@ -462,11 +547,11 @@ The default is now that custom scan providers can't support projections, so they Changes - - Below you will find a detailed account of the changes between - PostgreSQL 15 and the previous major - release. - + + Below you will find a detailed account of the changes between + PostgreSQL 15 and the previous major + release. + Server @@ -478,44 +563,54 @@ Author: Peter Eisentraut 2022-02-14 [37851a8b8] Database-level collation version tracking --> - - -Record and check the collation of each database (Peter Eisentraut) - + + + Record and check the collation of each database (Peter Eisentraut) + - -This is designed to detect collation mismatches to avoid data corruption. Function pg_database_collation_actual_version() reports the underlying operating system collation version, and ALTER DATABASE ... -REFRESH sets the database to match the operating system collation version. DETAILS? - - + + This is designed to detect collation mismatches to avoid data corruption. + Function pg_database_collation_actual_version() + reports the underlying operating system collation version, and + ALTER DATABASE ... REFRESH sets the database to match + the operating system collation version. DETAILS? + + - - -Allow ICU collations to be set as the default for clusters and databases (Peter Eisentraut) - + + + Allow ICU collations to + be set as the default for clusters and databases (Peter Eisentraut) + - -Previously, ICU collations could only be specified in CREATE COLLATION and used with the COLLATE clause. - - + + Previously, ICU collations could only be + specified in CREATE + COLLATION and used with the COLLATE + clause. + + - - -Add system view pg_ident_file_mappings to report pg_ident.conf information (Julien Rouhaud) - - + + + Add system view pg_ident_file_mappings + to report pg_ident.conf information (Julien Rouhaud) + + - + <link linkend="ddl-partitioning">Partitioning</link> @@ -527,45 +622,55 @@ Author: David Rowley 2021-08-03 [475dbd0b7] Track a Bitmapset of non-pruned partitions in RelOptInfo --> - - -Improve planning time for queries referencing partitioned tables (David Rowley) - + + + Improve planning time for queries referencing partitioned tables (David + Rowley) + - -Specifically this helps if only a small number of the many partitions are relevant. - - + + Specifically this helps if only a small number of the many partitions + are relevant. + + - - -Allow ordered scans of partitions to avoid sorting in more cases (David Rowley) - + + + Allow ordered scans of partitions to avoid sorting in more cases (David + Rowley) + - -Previously, a partitioned table with a DEFAULT partition or a LIST partition containing multiple values could not be used for ordered partition scans. Now they can be used if these partitions are pruned. - - + + Previously, a partitioned table with a DEFAULT partition + or a LIST partition containing multiple values could + not be used for ordered partition scans. Now they can be used if these + partitions are pruned. + + - - -Improve foreign key behavior of updates on partitioned tables that move rows between partitions (Amit Langote) - + + + Improve foreign key behavior of updates on partitioned tables that move + rows between partitions (Amit Langote) + - -Previously, such updates ran delete actions on the source partition and insert actions on the target partition. PostgreSQL will now run update actions on the referenced partition root. - - + + Previously, such updates ran delete actions on the + source partition and insert actions on the target partition. + PostgreSQL will now run update actions on the + referenced partition root. + + - - -Allow CLUSTER on partitioned tables (Justin Pryzby) - - + + + Allow CLUSTER + on partitioned tables (Justin Pryzby) + + - - -Fix ALTER TRIGGER RENAME on partitioned tables to properly rename triggers an all partitions (Arne Roland, Álvaro Herrera) - + + + Fix ALTER TRIGGER + RENAME on partitioned tables to properly rename triggers + an all partitions (Arne Roland, Álvaro Herrera) + - -Also prohibit cloned triggers from being renamed. - - + + Also prohibit cloned triggers from being renamed. + + @@ -609,67 +717,79 @@ Author: Peter Geoghegan 2021-10-02 [2903f1404] Enable deduplication in system catalog indexes. --> - - -Enable system and TOAST btree indexes to efficiently store duplicates (Peter Geoghegan) - + + + Enable system and TOAST btree indexes to + efficiently store duplicates (Peter Geoghegan) + - -Previously de-duplication was disabled for these types of indexes. - - + + Previously de-duplication was disabled for these types of indexes. + + - - -Improve lookup performance of GiST indexes built using sorting (Aliaksandr Kalenik, Sergei Shoulbakov, Andrey Borodin) - - + + + Improve lookup performance of GiST indexes built using sorting + (Aliaksandr Kalenik, Sergei Shoulbakov, Andrey Borodin) + + - - -Prevent changes to columns only indexed by BRIN indexes from disabling HOT updates (Josef Simanek) - - + + + Prevent changes to columns only indexed by BRIN indexes from disabling + HOT updates (Josef Simanek) + + - - -Allow unique constraints and indexes to treat NULL values as not distinct (Peter Eisentraut) - + + + Allow unique constraints and indexes to treat NULL + values as not distinct (Peter Eisentraut) + - -Previously NULL values were always indexed as distinct values, but this can now be changed by creating constraints and indexes using UNIQUE NULLS NOT DISTINCT. - - + + Previously NULL values were always indexed as distinct + values, but this can now be changed by creating constraints and indexes + using UNIQUE NULLS NOT DISTINCT. + + - - -Allow ^@ and starts_with() to use btree indexes if using a C collation (Tom Lane) - + + + Allow ^@ + and starts_with() to use btree indexes if using a + C collation (Tom Lane) + - -Previously these could only use SP-GiST indexes. - - + + Previously these could only use SP-GiST indexes. + + @@ -685,45 +805,54 @@ Author: Tomas Vondra 2022-01-16 [269b532ae] Add stxdinherit flag to pg_statistic_ext_data --> - - -Allow extended statistics to record statistics for a parent with all its children (Tomas Vondra, Justin Pryzby) - + + + Allow extended statistics + to record statistics for a parent with all its children (Tomas Vondra, + Justin Pryzby) + - -Regular statistics already tracked parent and parent/all-children statistics separately. - - + + Regular statistics already tracked parent and parent/all-children + statistics separately. + + - - -Allow GROUP BY sorting to optimize column order (Dmitry Dolgov, Teodor Sigaev, Tomas Vondra) - + + + Allow GROUP BY + sorting to optimize column order (Dmitry Dolgov, Teodor Sigaev, Tomas + Vondra) + - -This optimization can be disabled using the server variable enable_group_by_reordering. - - + + This optimization can be disabled using the server variable enable_group_by_reordering. + + - - -Add server variable recursive_worktable_factor to allow the user to specify the expected recursive query worktable size (Simon Riggs) - + + + Add server variable recursive_worktable_factor + to allow the user to specify the expected recursive query worktable size + (Simon Riggs) + - -WHAT IS A WORKTABLE? NOT DEFINED. - - + + WHAT IS A WORKTABLE? NOT DEFINED. + + @@ -739,30 +868,35 @@ Author: David Rowley 2021-07-07 [29f45e299] Use a hash table to speed up NOT IN(values) --> - - -Allow hash lookup for NOT IN clauses with many constants (David Rowley, James Coleman) - + + + Allow hash lookup for NOT + IN clauses with many constants (David Rowley, James + Coleman) + - -Previously the code always sequentially scanned the list of values. - - + + Previously the code always sequentially scanned the list of values. + + - - -Improve validation of UTF-8 text (even if only ASCII) by processing 16 bytes at a time (John Naylor, Heikki Linnakangas) - + + + Improve validation of UTF-8 text (even if only + ASCII) by processing 16 bytes at a time (John Naylor, + Heikki Linnakangas) + - -This will improve text-heavy operations like COPY FROM. - - + + This will improve text-heavy operations like COPY FROM. + + - - -Improve performance for sorts that exceed work_mem (Heikki Linnakangas) - + + + Improve performance for sorts that exceed work_mem (Heikki + Linnakangas) + - -Specifically, switch to a batch sorting algorithm that uses more output streams internally. - - + + Specifically, switch to a batch sorting algorithm that uses more output + streams internally. + + - - -Improve performance and reduce memory consumption of in-memory sorts (Ronan Dunklau, David Rowley, Thomas Munro, John Naylor) - - + + + Improve performance and reduce memory consumption of in-memory sorts + (Ronan Dunklau, David Rowley, Thomas Munro, John Naylor) + + - - -Allow WAL full page writes to use LZ4 and Zstandard compression (Andrey Borodin, Justin Pryzby) - + + + Allow WAL full + page writes to use LZ4 and Zstandard compression (Andrey Borodin, + Justin Pryzby) + - -This is controlled by the wal_compression server setting. - - + + This is controlled by the wal_compression + server setting. + + - - -Add direct I/O support to macOS (Thomas Munro) - + + + Add direct I/O support to macOS + (Thomas Munro) + - -This only works if max_wal_senders=0 and wal_level=minimal, and only for WAL. - - + + This only works if max_wal_senders=0 and + wal_level=minimal, and only for WAL. + + - - -Allow vacuum to be more aggressive in setting the oldest frozenxid (Peter Geoghegan) - - + + + Allow vacuum to be more aggressive + in setting the oldest frozenxid (Peter Geoghegan) + + - - -Allow a query referencing multiple foreign tables to perform parallel foreign table scans in more cases (Andrey Lepikhov, Etsuro Fujita) - - + + + Allow a query referencing multiple foreign + tables to perform parallel foreign table scans in more cases + (Andrey Lepikhov, Etsuro Fujita) + + - - -Improve the performance of window functions that use row_number(), rank(), and count() (David Rowley) - - + + + Improve the performance of window + functions that use row_number(), + rank(), and count() (David + Rowley) + + - - -Improve the performance of spinlocks on high-core-count ARM64 systems (Geoffrey Blake) - - + + + Improve the performance of spinlocks on high-core-count ARM64 systems + (Geoffrey Blake) + + @@ -886,16 +1037,22 @@ Author: Robert Haas 2021-12-13 [64da07c41] Default to log_checkpoints=on, log_autovacuum_min_durati --> - - -Enable default logging of checkpoints and slow autovacuum operations (Bharath Rupireddy) - + + + Enable default logging of checkpoints and slow autovacuum operations + (Bharath Rupireddy) + - -Specifically, this changes the default of log_checkpoints to on and log_autovacuum_min_duration to 10 minutes. This will cause idle servers to generate log output, which might cause problems on -resource-constrained servers with insufficient log file removal. The defaults should be changed in such cases. - - + + Specifically, this changes the default of log_checkpoints + to on and log_autovacuum_min_duration + to 10 minutes. This will cause idle servers to generate log output, which + might cause problems on resource-constrained servers with insufficient + log file removal. The defaults should be changed in such cases. + + - - -Generate periodic log message during slow server starts (Nitin Jadhav, Robert Haas) - + + + Generate periodic log message during slow server starts (Nitin Jadhav, + Robert Haas) + - -Messages report the cause of the delay. The time interval for notification is controlled by the new server variable log_startup_progress_interval. - - + + Messages report the cause of the delay. The time interval for + notification is controlled by the new server variable log_startup_progress_interval. + + - - -Store server-level statistics in shared memory (Kyotaro Horiguchi, Andres Freund, Melanie Plageman) - + + + Store server-level statistics + in shared memory (Kyotaro Horiguchi, Andres Freund, Melanie Plageman) + - -Previously this was updated via UDP packets, stored in the file system, and read by sessions. There is no longer a statistics collector process. - - + + Previously this was updated via UDP packets, stored in + the file system, and read by sessions. There is no longer a statistics + collector process. + + - - -Add additional information to VACUUM VERBOSE and autovacuum logging messages (Peter Geoghegan) - - + + + Add additional information to VACUUM VERBOSE and + autovacuum logging messages (Peter Geoghegan) + + - - -Add EXPLAIN (BUFFERS) output for temporary file block I/O (Masahiko Sawada) - - + + + Add EXPLAIN (BUFFERS) + output for temporary file block I/O (Masahiko Sawada) + + - - -Allow log output in JSON format (Sehrope Sarkuni, Michael Paquier) - + + + Allow log output in + JSON format (Sehrope Sarkuni, Michael Paquier) + - -The new setting is log_destination=jsonlog. - - + + The new setting is log_destination=jsonlog. + + - - -Allow pg_stat_reset_single_table_counters() to reset the counters of relations shared across all databases (B Sadhu, Prasad Patro) - - + + + Allow pg_stat_reset_single_table_counters() + to reset the counters of relations shared across all databases (B Sadhu, + Prasad Patro) + + - - -Add wait events for local shell commands (Fujii Masao) - + + + Add wait events for local shell + commands (Fujii Masao) + - -Specifically the new wait events are related to commands archive_command, archive_cleanup_command, restore_command and recovery_end_command. - - + + Specifically the new wait events are related to + commands archive_command, + archive_cleanup_command, + restore_command and + recovery_end_command. + + @@ -1012,90 +1186,108 @@ Author: Dean Rasheed 2022-03-22 [7faa5fc84] Add support for security invoker views. --> - - -Allow view access to be controlled by privileges of the view user (Christoph Heiss) - + + + Allow view access to be controlled + by privileges of the view user (Christoph Heiss) + - -Previously, view access could only be based on the view owner. - - + + Previously, view access could only be based on the view owner. + + - - -Allow members of the pg_write_server_files predefined role to perform server-side base backups (Dagfinn Ilmari Mannsåker) - + + + Allow members of the pg_write_server_files + predefined role to perform server-side base backups (Dagfinn Ilmari + Mannsåker) + - -Previously only the superusers could perform such backups. - - + + Previously only the superusers could perform such backups. + + - - -Allow GRANT to assign permission to change server variables via SET and ALTER SYSTEM (Mark Dilger) - + + + Allow GRANT to + assign permission to change server variables via SET + and ALTER SYSTEM (Mark Dilger) + - -New function has_parameter_privilege() reports on this privilege. - - + + New function has_parameter_privilege() reports on + this privilege. + + - - -Add predefined role pg_checkpointer that allows members to run CHECKPOINT (Jeff Davis) - + + + Add predefined role pg_checkpointer + that allows members to run CHECKPOINT (Jeff Davis) + - -Previously checkpoints could only be run by superusers. - - + + Previously checkpoints could only be run by superusers. + + - - -Allow members of the pg_read_all_stats predefined role to access the views pg_backend_memory_contexts and pg_shmem_allocations (Bharath Rupireddy) - + + + Allow members of the pg_read_all_stats + predefined role to access the views pg_backend_memory_contexts + and pg_shmem_allocations + (Bharath Rupireddy) + - -Previously these views could only be accessed by superusers. - - + + Previously these views could only be accessed by superusers. + + - - -Allow GRANT to assign permissions on pg_log_backend_memory_contexts() (Jeff Davis) - + + + Allow GRANT + to assign permissions on pg_log_backend_memory_contexts() + (Jeff Davis) + - -Previously this function could only be run by superusers. - - + + Previously this function could only be run by superusers. + + @@ -1113,11 +1305,13 @@ Author: Michael Paquier 2021-09-09 [3b231596c] Make shared_memory_size a preset option --> - - -Add server variable shared_memory_size to report the size of allocated shared memory (Nathan Bossart) - - + + + Add server variable shared_memory_size + to report the size of allocated shared memory (Nathan Bossart) + + - - -Add server variable shared_memory_size_in_huge_pages to report the number of huge memory pages required (Nathan Bossart) - + + + Add server variable shared_memory_size_in_huge_pages + to report the number of huge memory pages required (Nathan Bossart) + - -This is only supported on Linux. - - + + This is only supported on Linux. + + - - -Allow postgres -C to properly report runtime-computed values (Nathan Bossart) - + + + Allow postgres -C + to properly report runtime-computed values (Nathan Bossart) + - -Previously runtime-computed values data_checksums, wal_segment_size, and data_directory_mode would report values that would not be accurate on the running server. However, this does not work on a running server. - - + + Previously runtime-computed values data_checksums, + wal_segment_size, + and data_directory_mode + would report values that would not be accurate on the running server. + However, this does not work on a running server. + + @@ -1171,63 +1375,71 @@ Author: Robert Haas 2022-03-30 [51c0d186d] Allow parallel zstd compression when taking a base backu --> - - -Add support for LZ4 and Zstandard compression of server-side base backups (Jeevan Ladhe, Robert Haas) - - + + + Add support for LZ4 and Zstandard compression of server-side base backups (Jeevan Ladhe, Robert + Haas) + + - - -Run checkpointer and bgwriter during crash recovery (Thomas Munro) - - + + + Run checkpointer and bgwriter during crash recovery (Thomas Munro) + + - - -Allow WAL processing to pre-fetch needed file contents (Thomas Munro) - + + + Allow WAL processing to pre-fetch needed file contents + (Thomas Munro) + - -This is controlled by the server variable recovery_prefetch. - - + + This is controlled by the server variable recovery_prefetch. + + - - -Add server variable archive_library to specify the library to be called for archiving (Nathan Bossart) - + + + Add server variable archive_library + to specify the library to be called for archiving (Nathan Bossart) + - -Previously only shell commands could be called to perform archiving. - - + + Previously only shell commands could be called to perform archiving. + + - - -No longer require IDENTIFY_SYSTEM to be run before START_REPLICATION (Jeff Davis) - - + + + No longer require IDENTIFY_SYSTEM + to be run before START_REPLICATION (Jeff Davis) + + @@ -1243,16 +1455,20 @@ Author: Amit Kapila 2021-12-08 [1a2aaeb0d] Fix changing the ownership of ALL TABLES IN SCHEMA publi --> - - -Allow publication of all tables in a schema (Vignesh C, Hou Zhijie, Amit Kapila) - + + + Allow publication of all tables in a schema (Vignesh C, Hou Zhijie, + Amit Kapila) + - -For example, this syntax is now supported: CREATE PUBLICATION pub1 FOR ALL TABLES IN SCHEMA s1,s2; ALTER PUBLICATION supports a similar syntax. Tables added to the listed schemas in the future will also -be replicated. - - + + For example, this syntax is now supported: CREATE PUBLICATION pub1 + FOR ALL TABLES IN SCHEMA s1,s2; ALTER + PUBLICATION supports a similar syntax. Tables added to the + listed schemas in the future will also be replicated. + + - - -Allow publication content to be filtered using a WHERE clause (Hou Zhijie, Euler Taveira, Peter Smith, Ajin Cherian, Tomas Vondra, Amit Kapila) - - + + + Allow publication content to be filtered using a WHERE + clause (Hou Zhijie, Euler Taveira, Peter Smith, Ajin Cherian, Tomas Vondra, + Amit Kapila) + + - - -Allow publications to be restricted to specific columns (Tomas Vondra, Álvaro Herrera, Rahila Syed) - - + + + Allow publications to be + restricted to specific columns (Tomas Vondra, Álvaro Herrera, Rahila Syed) + + - - -Allow skipping of transactions on a subscriber using ALTER SUBSCRIPTION ... SKIP (Masahiko Sawada) - - + + + Allow skipping of transactions on a subscriber using ALTER SUBSCRIPTION + ... SKIP (Masahiko Sawada) + + - - -Add support for prepared transactions to built-in logical replication (Peter Smith, Ajin Cherian, Amit Kapila, Nikhil Sontakke, Stas Kelvich) - - + + + Add support for prepared transactions to built-in logical replication + (Peter Smith, Ajin Cherian, Amit Kapila, Nikhil Sontakke, Stas Kelvich) + + - - -Add two-phase information to the logical replication stream (Ajin Cherian) - + + + Add two-phase information to the logical replication stream (Ajin Cherian) + - -The new CREATE_REPLICATION_SLOT option is called TWO_PHASE. pg_recvlogical now supports a new option during slot creation. - - + + The new CREATE_REPLICATION_SLOT + option is called TWO_PHASE. + pg_recvlogical now supports a new + option during slot creation. + + - - -Prevent logical replication of empty transactions (Ajin Cherian, Hou Zhijie, Euler Taveira) - + + + Prevent logical replication of empty transactions (Ajin Cherian, Hou + Zhijie, Euler Taveira) + - -Previously, write transactions would send empty transactions to subscribers if subscribed tables were not modified. - - + + Previously, write transactions would send empty transactions to subscribers + if subscribed tables were not modified. + + - - -Add SQL functions to monitor the directory contents of logical replication slots (Bharath Rupireddy) - + + + Add SQL functions to monitor the directory contents + of logical replication slots (Bharath Rupireddy) + - -Specifically, the functions are pg_ls_logicalsnapdir(), pg_ls_logicalmapdir(), and pg_ls_replslotdir(). They can be run by members of the predefined pg_monitor role. - - + + Specifically, the functions are pg_ls_logicalsnapdir(), + pg_ls_logicalmapdir(), and + pg_ls_replslotdir(). They can be run by members of + the predefined pg_monitor role. + + - - -Allow subscribers to stop logical replication application on error (Osumi Takamichi, Mark Dilger) - + + + Allow subscribers to stop logical replication application on error (Osumi + Takamichi, Mark Dilger) + - -This is enabled with the subscriber option disable_on_error and avoids possible infinite error loops during stream application. - - + + This is enabled with the subscriber option disable_on_error + and avoids possible infinite error loops during stream application. + + - - -Adjust subscriber server variables to match the publisher so datetime and float8 values are interpreted consistently (Japin Li) - + + + Adjust subscriber server variables to match the publisher so datetime + and float8 values are interpreted consistently (Japin Li) + - -Some publishers might be relying on inconsistent behavior. - - + + Some publishers might be relying on inconsistent behavior. + + - - -Add system view pg_stat_subscription_stats to report on subscriber activity (Masahiko Sawada) - + + + Add system view pg_stat_subscription_stats + to report on subscriber activity (Masahiko Sawada) + - -New function pg_stat_reset_subscription_stats() allows the resetting of subscriber statistics. - - + + New function pg_stat_reset_subscription_stats() + allows the resetting of subscriber statistics. + + - - -Remove incorrect duplicate partitions in system view pg_publication_tables (Hou Zhijie) - - + + + Remove incorrect duplicate partitions in system view pg_publication_tables + (Hou Zhijie) + + @@ -1423,11 +1666,11 @@ Author: David Rowley 2021-08-22 [22c4e88eb] Allow parallel DISTINCT --> - - -Allow SELECT DISTINCT to be parallelized (David Rowley) - - + + + Allow SELECT DISTINCT to be parallelized (David Rowley) + + @@ -1443,15 +1686,18 @@ Author: Alvaro Herrera 2022-03-28 [7103ebb7a] Add support for MERGE SQL command --> - - -Add SQL MERGE command to adjust one table to match another (Simon Riggs, Pavan Deolasee, Álvaro Herrera, Amit Langote) - + + + Add SQL MERGE command to adjust + one table to match another (Simon Riggs, Pavan Deolasee, Álvaro Herrera, + Amit Langote) + - -This is similar to INSERT ... ON CONFLICT but more batch-oriented. - - + + This is similar to INSERT ... ON CONFLICT but more + batch-oriented. + + - - -Add support for HEADER option in COPY text format (Rémi Lapeyre) - + + + Add support for HEADER option in COPY text format (Rémi + Lapeyre) + - -The new option causes the column names to be output, and optionally verified on input. - - + + The new option causes the column names to be output, and optionally + verified on input. + + - - -Add new default WAL-logged method for database creation (Dilip Kumar) - + + + Add new default WAL-logged method for database creation (Dilip Kumar) + - -This avoids the need for checkpoints during database creation; the old method is still available. - - + + This avoids the need for checkpoints during database creation; the old + method is still available. + + - - -Allow CREATE DATABASE to set the database OID (Shruthi KC, Antonin Houska) - - + + + Allow CREATE + DATABASE to set the database OID + (Shruthi KC, Antonin Houska) + + - - -Prevent DROP DATABASE, DROP TABLESPACE, and ALTER DATABASE SET TABLESPACE from occasionally failing during concurrent use on Windows (Thomas Munro) - - + + + Prevent DROP + DATABASE, DROP + TABLESPACE, and ALTER DATABASE SET + TABLESPACE from occasionally failing during concurrent + use on Windows (Thomas Munro) + + - - -Allow foreign key ON DELETE SET actions to affect only specified columns (Paul Martinez) - + + + Allow foreign key ON DELETE + SET actions to affect only specified columns (Paul + Martinez) + - -Previously, all of the columns in the foreign key were always affected. - - + + Previously, all of the columns in the foreign key were always affected. + + - - -Allow ALTER TABLE to modify a table's ACCESS METHOD (Justin Pryzby, Jeff Davis) - - + + + Allow ALTER TABLE + to modify a table's ACCESS METHOD (Justin Pryzby, + Jeff Davis) + + - - -Properly call object access hooks when ALTER TABLE causes table rewrites (Michael Paquier) - - + + + Properly call object access hooks when ALTER TABLE causes + table rewrites (Michael Paquier) + + @@ -1558,37 +1822,41 @@ Author: Dean Rasheed 2021-07-26 [085f931f5] Allow numeric scale to be negative or greater than preci --> - - -Allow numeric scale to be negative or greater than precision (Dean Rasheed, Tom Lane) - + + + Allow numeric scale + to be negative or greater than precision (Dean Rasheed, Tom Lane) + - -This allows rounding of values to the left of the decimal point, e.g., '1234'::numeric(4, -2) returns 1200. - - + + This allows rounding of values to the left of the decimal point, e.g., + '1234'::numeric(4, -2) returns 1200. + + - - -Improve overflow detection when casting values to interval (Joe Koshakow) - - + + + Improve overflow detection when casting values to interval (Joe Koshakow) + + - - -Allow the creation of unlogged sequences (Peter Eisentraut) - - + + + Allow the creation of unlogged sequences (Peter Eisentraut) + + - - -Update the display width information for modern Unicode characters, like emojis (Jacob Champion) - + + + Update the display width information of modern Unicode characters, like + emojis (Jacob Champion) + - -Also update from Unicode 5.0 to 14.0.0. There is now an automated way to keep Postgres updated with Unicode releases. - - + + Also update from Unicode 5.0 to 14.0.0. There is now an automated way + to keep Postgres updated with Unicode releases. + + @@ -1621,120 +1891,147 @@ Author: Peter Eisentraut 2022-03-30 [7ae1619bc] Add range_agg with multirange inputs --> - - -Add multirange input to range_agg() (Paul Jungwirth) - - + + + Add multirange input to range_agg() + (Paul Jungwirth) + + - - -Add min() and max() aggregates for the xid8 data type (Ken Kato) - - + + + Add MIN() + and MAX() aggregates for the xid8 data type (Ken Kato) + + - - -Add regular expression functions for compatibility with other relational systems (Gilles Darold, Tom Lane) - + + + Add regular expression functions for compatibility with other relational + systems (Gilles Darold, Tom Lane) + - -Specifically, the new functions are regexp_count(), regexp_instr(), regexp_like(), and regexp_substr(). Some new optional arguments were also added to regexp_replace(). - - + + Specifically, the new functions are regexp_count(), + regexp_instr(), regexp_like(), + and regexp_substr(). Some new optional arguments + were also added to regexp_replace(). + + - - -Add the ability to compute the distance between polygons (Tom Lane) - - + + + Add the ability to compute the distance between polygons (Tom Lane) + + - - -Add to_char() format codes "of", "tzh", and "tzm" format codes (Nitin Jadhav) - + + + Add to_char() + format codes of, tzh, and + tzm format codes (Nitin Jadhav) + - -The upper-case versions of these were already supported. - - + + The upper-case versions of these were already supported. + + - - -Improve the optimization of timetz_zone() by stabilizing its value at transaction start (Aleksander Alekseev, Tom Lane) - - + + + Improve the optimization of timetz_zone() by + stabilizing its value at transaction start (Aleksander Alekseev, Tom Lane) + + + + HOW IS THIS USED? + + - - -Allow tsvector_delete_arr() and tsvector_setweight_by_filter() to accept empty array elements (Jean-Christophe Arnu) - + + + Allow tsvector_delete_arr() and + tsvector_setweight_by_filter() to accept empty array + elements (Jean-Christophe Arnu) + - -These lexemes are not stored so the acceptance of empty array elements is not a problem. - - + + These lexemes are not stored so the acceptance of empty array elements + is not a problem. NOT DOCUMENTED, USER API? + + - - -Add support for petabyte units to pg_size_pretty() and pg_size_bytes() (David Christensen) - - + + + Add support for petabyte units to pg_size_pretty() + and pg_size_bytes() (David Christensen) + + - - -Change pg_event_trigger_ddl_commands() to output references to non-local temporary schemas using the actual schema name (Tom Lane) - + + + Change pg_event_trigger_ddl_commands() + to output references to non-local temporary schemas using the actual + schema name (Tom Lane) + - -Previously this function referred to temporary schemas as pg_temp. - - + + Previously this function referred to temporary schemas as + pg_temp. + + - + - <acronym>JSON</acronym> + <acronym>JSON</acronym> @@ -1751,41 +2048,56 @@ Author: Andrew Dunstan 2022-04-07 [a6baa4bad] Documentation for SQL/JSON features --> - - -Add SQL/JSON-standard JSON constructors (Nikita Glukhov) - + + + Add SQL/JSON-standard + JSON constructors (Nikita Glukhov) + - -The construction functions are JSON(), JSON_SCALAR(), and JSON_SERIALIZE(), JSON_ARRAY(), JSON_ARRAYAGG(), JSON_OBJECT(), and JSON_OBJECTAGG(). They have a few functional advantages over the existing JSON functions. - - + + The construction functions are json(), + json_scalar(), and + json_serialize(), json_array(), + json_arrayagg(), json_object(), + and json_objectagg(). They have a few functional + advantages over the existing JSON functions. + + - - -Add SQL/JSON query functions JSON_EXISTS(), JSON_QUERY(), and JSON_VALUE() (Nikita Glukhov) - - + + + Add SQL/JSON query functions json_exists(), + json_query(), and json_value() + (Nikita Glukhov) + + - - -Add JSON predicates to test JSON/JSONB values (Nikita Glukhov) - + + + Add JSON predicates to test + JSON/JSONB values (Nikita Glukhov) + - -The clauses are IS JSON [ VALUE | ARRAY | OBJECT | SCALAR | [WITH | WITHOUT ] UNIQUE KEYS ]. - - + + The clauses are IS + JSON [ VALUE | ARRAY + | OBJECT | SCALAR | + [WITH | WITHOUT ] UNIQUE + KEYS ]. + + - - -Add function JSON_TABLE() to cause JSON data to be treated as a table (Nikita Glukhov) - - + + + Add function JSON_TABLE() + to cause JSON data to be treated as a table (Nikita + Glukhov) + + @@ -1816,22 +2131,26 @@ Author: Tom Lane 2022-04-30 [ccd10a9bf] Tighten enforcement of variable CONSTANT markings in plp --> - - -Fix enforcement of PL/pgSQL variable CONSTANT markings (Tom Lane) - - - -Previously, a variable used as a CALL output parameter or refcursor OPEN variable would not enforce CONSTANT. - - + + + Fix enforcement of PL/pgSQL variable CONSTANT markings + (Tom Lane) + + + Previously, a variable used as a CALL + output parameter or refcursor OPEN variable would not + enforce CONSTANT. + + + - Client Interfaces + <link linkend="libpq">libpq</link> @@ -1840,37 +2159,43 @@ Author: Peter Eisentraut 2022-04-01 [c1932e542] libpq: Allow IP address SANs in server certificates --> - - -Allow IP address matching against a server certificate's Subject Alternative Name (Jacob Champion) - - + + + Allow IP address matching against a server certificate's + Subject Alternative Name (Jacob Champion) + + - - -Allow PQsslAttribute() to report the SSL library type without requiring a libpq connection (Jacob Champion) - - + + + Allow PQsslAttribute() to report the + SSL library type without requiring a libpq connection + (Jacob Champion) + + - - -Change query cancellations sent by the client to use the same TCP settings as normal client connections (Jelte Fennema) - + + + Change query cancellations sent by the client to use the same + TCP settings as normal client connections (Jelte + Fennema) + - -This allows configured TCP timeouts to apply to query cancel connections. - - + + This allows configured TCP timeouts to apply to query + cancel connections. + + - - -Prevent libpq event callback failures from forcing an error result (Tom Lane) - - + + + Prevent libpq event callback failures from forcing an error result + (Tom Lane) + + @@ -1899,51 +2225,59 @@ Author: Tom Lane 2022-01-09 [376ce3e40] Prefer $HOME when looking up the current user's home dir --> - - -On Unix platforms, have client applications like psql check HOME environment variable for the user's home directory before checking the operating system definition (Anders Kaseorg) - - + + + On Unix platforms, have client applications like psql check + HOME environment variable for the user's home directory + before checking the operating system definition (Anders Kaseorg) + + - - <xref linkend="app-psql"/> + + <xref linkend="app-psql"/> - + - - -Improve performance of psql's \copy command (Heikki Linnakangas) - - + + + Improve performance of psql's \copy command + (Heikki Linnakangas) + + - - -Add psql command \getenv to assign the value of an environment variable to a psql variable (Tom Lane) - - + + + Add psql command \getenv to assign the value + of an environment variable to a psql variable + (Tom Lane) + + - - -Add '+' option to psql's \lo_list/\dl to show object privileges (Pavel Luzanov) - - + + + Add '+' option to psql's + \lo_list/\dl to show object + privileges (Pavel Luzanov) + + - - -Add psql \dconfig to report server variables (Mark Dilger, Tom Lane) - + + + Add psql \dconfig to report server variables + (Mark Dilger, Tom Lane) + - -This is similar to the server-side SHOW command but can process patterns. - - + + This is similar to the server-side SHOW command but + can process patterns. + + - - -Add pager option for psql's \watch command (Pavel Stehule, Thomas Munro) - + + + Add pager option for psql's \watch command + (Pavel Stehule, Thomas Munro) + - -This is only supported on Unix, and is controlled by PSQL_WATCH_PAGER. - - + + This is only supported on Unix, and is controlled by + PSQL_WATCH_PAGER. + + - - -Have psql send intra-query double-hyphen comments to the server (Tom Lane, Greg Nancarrow) - + + + Have psql send intra-query double-hyphen + comments to the server (Tom Lane, Greg Nancarrow) + - -Previously such comments were removed from the query before being sent. Double-hyphen comments that are before query text are not sent, and are not recorded as separate psql history entries. - - + + Previously such comments were removed from the query before being sent. + Double-hyphen comments that are before query text are not sent, and are + not recorded as separate psql history entries. + + - - -Adjust psql's readline meta-# to insert a double-hyphen comment marker (Tom Lane) - + + + Adjust psql's readline meta-# to insert a + double-hyphen comment marker (Tom Lane) + - -Previously an unhelpful pound marker was inserted. - - + + Previously an unhelpful pound marker was inserted. + + - - -Have psql output all results if multiple queries are passed to the server at once (Fabien Coelho) - + + + Have psql output all results if multiple + queries are passed to the server at once (Fabien Coelho) + - -This can be disabled by setting SHOW_ALL_RESULTS. - - + + This can be disabled by setting SHOW_ALL_RESULTS. + + - - -Improve psql's tab completion (Shinya Kato, Dagfinn Ilmari Mannsåker, Peter Smith, Koyu Tanigawa, Ken Kato, David Fetter, Haiying Tang, Peter Eisentraut, Álvaro Herrera, Tom Lane, Masahiko Sawada) - - + + + Improve psql's tab completion (Shinya Kato, + Dagfinn Ilmari Mannsåker, Peter Smith, Koyu Tanigawa, Ken Kato, David + Fetter, Haiying Tang, Peter Eisentraut, Álvaro Herrera, Tom Lane, + Masahiko Sawada) + + - - -Limit support of psql to servers running PostgreSQL 9.2 and later (Tom Lane) - - + + + Limit support of psql to servers running + PostgreSQL 9.2 and later (Tom Lane) + + @@ -2102,15 +2449,20 @@ Author: Robert Haas 2022-01-20 [3500ccc39] Support base backup targets. --> - - -Add new pg_basebackup option to control the base backup location (Robert Haas) - + + + Add new pg_basebackup + option to control the base backup location + (Robert Haas) + - -New output options are 'server' to write the backup locally and 'blackhole' to discard the backup (for testing). - - + + New output options are server to write the backup + locally and blackhole to discard the backup (for + testing). + + - - -Allow pg_basebackup to decompress LZ4 and Zstandard compressed server-side base backups, and compress output files with LZ4 and Zstandard (Dipesh Pandit, Jeevan Ladhe) - - + + + Allow pg_basebackup to decompress LZ4 and + Zstandard compressed server-side base backups, and compress output files + with LZ4 and Zstandard (Dipesh Pandit, Jeevan Ladhe) + + - - -Allow pg_basebackup's option to control the compression method and options (Michael Paquier, Robert Haas) - + + + Allow pg_basebackup's + option to control the compression method and + options (Michael Paquier, Robert Haas) + - -New options include server-gzip (gzip on the server), client-gzip (same as gzip). - - + + New options include server-gzip (gzip on the server), + client-gzip (same as gzip). + + - - -Allow pg_basebackup to compress on the server side and decompress on the client side before storage (Dipesh Pandit) - + + + Allow pg_basebackup to compress on the server + side and decompress on the client side before storage (Dipesh Pandit) + - -This is accomplished by specifying compression on the server side and plain output format. - - + + This is accomplished by specifying compression on the server side and + plain output format. + + - - -Add the LZ4 compression method to pg_receivewal (Georgios Kokolatos) - + + + Add the LZ4 compression method to pg_receivewal + (Georgios Kokolatos) + - -This is enabled via --compress=lz4 and requires binaries to be built using . - - + + This is enabled via --compress=lz4 and requires binaries + to be built using . + + - - -Add additional capabilities to pg_receivewal's option (Georgios Kokolatos) - - + + + Add additional capabilities to pg_receivewal's + option (Georgios Kokolatos) + + - - -Improve pg_receivewal's ability to restart at the proper WAL location (Ronan Dunklau) - + + + Improve pg_receivewal's ability to restart at + the proper WAL location (Ronan Dunklau) + - -Previously, pg_receivewal would start based on the WAL file stored in the local archive directory, or at the sending server's current WAL flush location. With this change, if the sending server is running -Postgres 15 or later, the local archive directory is empty, and a replication slot is specified, the replication slot's restart point will be used. - - + + Previously, pg_receivewal would start based + on the WAL file stored in the local archive directory, + or at the sending server's current WAL flush location. + With this change, if the sending server is running Postgres 15 or later, + the local archive directory is empty, and a replication slot is specified, + the replication slot's restart point will be used. + + + + + + + + Add pg_rewind option + to simplify use when server configuration + files are stored outside the data directory (Gunnar Bluth) + + - - -Allow pgbench to retry after serialization and deadlock failures (Yugo Nagata, Marina Polyakova) - - + + + Allow pgbench + to retry after serialization and deadlock failures (Yugo Nagata, Marina + Polyakova) + + - - <application>pg_dump</application> + <link linkend="app-pgdump"><application>pg_dump</application></link> @@ -2229,15 +2611,16 @@ Author: Noah Misch 2021-06-28 [7ac10f692] Dump COMMENT ON SCHEMA public. --> - - -Have pg_dump dump "public" schema ownership changes and security labels (Noah Misch) - + + + Have pg_dump dump public + schema ownership changes and security labels (Noah Misch) + - -It also dumps "public" schema comments. - - + + It also dumps public schema comments. + + - - -Improve performance of dumping databases with many objects (Tom Lane) - + + + Improve performance of dumping databases with many objects (Tom Lane) + - -This will also improve the performance of pg_upgrade. - - + + This will also improve the performance of pg_upgrade. + + - - -Improve the parallel pg_dump performance of TOAST tables (Tom Lane) - - + + + Improve the parallel pg_dump performance of + TOAST tables (Tom Lane) + + - - -Add dump/restore option to force restore to only use the default table access method (Justin Pryzby) - - + + + Add dump/restore option to + force restore to only use the default table access method (Justin Pryzby) + + - - -Limit support of pg_dump and pg_dumpall to servers running PostgreSQL 9.2 and later (Tom Lane) - - + + + Limit support of pg_dump and pg_dumpall + to servers running PostgreSQL 9.2 and later + (Tom Lane) + + - - <application>pg_upgrade</application> + <link linkend="pgupgrade"><application>pg_upgrade</application></link> @@ -2306,30 +2694,35 @@ Author: Andres Freund 2022-02-21 [27b02e070] pg_upgrade: Don't print progress status when output is n --> - - -Disable default status reporting during pg_upgrade operation if the output is not a terminal (Andres Freund) - + + + Disable default status reporting during + pg_upgrade operation if the output is not a + terminal (Andres Freund) + - -The status reporting output can be enabled for non-tty usage by using . - - + + The status reporting output can be enabled for non-tty usage by using + . + + - - -Have pg_upgrade report all databases with invalid connection settings (Jeevan Ladhe) - + + + Have pg_upgrade report all databases with + invalid connection settings (Jeevan Ladhe) + - -Previously only the first database with an invalid connection setting was reported. - - + + Previously only the first database with an invalid connection setting + was reported. + + - - -Store pg_upgrade temporary files in a new cluster subdirectory called pg_upgrade_output.d (Justin Pryzby) - + + + Store pg_upgrade temporary files in a new + cluster subdirectory called pg_upgrade_output.d + (Justin Pryzby) + - -Previously temporary files were stored in the current directory. - - + + Previously temporary files were stored in the current directory. + + - - -Have pg_upgrade preserve relfilenodes, tablespace, and database OIDs between old and new clusters (Shruthi KC, Antonin Houska) - - + + + Have pg_upgrade preserve relfilenodes, + tablespace, and database OIDs between old and new clusters (Shruthi KC, + Antonin Houska) + + - - -Add a option to pg_upgrade (Michael Paquier) - + + + Add a option to + pg_upgrade (Michael Paquier) + - -This useful only for testing. - - + + This useful only for testing. + + - - -Limit support of pg_upgrade to old servers running PostgreSQL 9.2 and later (Tom Lane) - - + + + Limit support of pg_upgrade to old servers + running PostgreSQL 9.2 and later (Tom Lane) + + - - <application>pg_waldump</application> + <link linkend="pgwaldump"><application>pg_waldump</application></link> @@ -2404,63 +2802,61 @@ Author: Thomas Munro 2022-03-25 [52b556843] Improve command line options for pg_waldump. --> - - -Allow pg_waldump to be filtered by relation file node, block number, fork number, and full page images (David Christensen, Thomas Munro) - - + + + Allow pg_waldump to be filtered by relation file + node, block number, fork number, and full page images (David Christensen, + Thomas Munro) + + - - -Have pg_waldump report statistics before an interrupted exit (Bharath Rupireddy) - + + + Have pg_waldump report statistics before an + interrupted exit (Bharath Rupireddy) + - -For example, issuing a control-C in a terminal running pg_waldump --stats --follow will report the current statistics before exiting. This does not work on Windows. - - + + For example, issuing a control-C in a terminal running pg_waldump + --stats --follow will report the current statistics before + exiting. This does not work on Windows. + + - - -Improve descriptions of some transaction WAL records reported by pg_waldump (Masahiko Sawada, Michael Paquier) - - + + + Improve descriptions of some transaction WAL records + reported by pg_waldump (Masahiko Sawada, + Michael Paquier) + + - - -Allow pg_waldump to dump information about multiple resource managers (Heikki Linnakangas) - + + + Allow pg_waldump to dump information about + multiple resource managers (Heikki Linnakangas) + - -This is enabled by specifying the option multiple times. - - - - - - - -Add pg_rewind option to simplify use when server configuration files are stored outside the data directory (Gunnar "Nick" Bluth) - - + + This is enabled by specifying the option multiple + times. + + @@ -2478,29 +2874,33 @@ Author: Fujii Masao 2021-10-05 [f6b5d05ba] doc: Document pg_encoding_to_char() and pg_char_to_encod --> - - -Add documentation for pg_encoding_to_char() and pg_char_to_encoding() (Ian Lawrence Barwick) - - + + + Add documentation for pg_encoding_to_char() + and pg_char_to_encoding() (Ian Lawrence Barwick) + + - - -Document the ^@ starts-with operator (Tom Lane) - - + + + Document the ^@ starts-with + operator (Tom Lane) + + - Source Code + Source Code @@ -2509,67 +2909,78 @@ Author: Andres Freund 2021-12-30 [93d973494] ci: Add continuous integration for github repositories v --> - - -Add support for continuous integration testing using cirrus-ci (Andres Freund, Thomas Munro, Melanie Plageman) - - + + + Add support for continuous integration testing using cirrus-ci (Andres + Freund, Thomas Munro, Melanie Plageman) + + - - -Add configure option to enable Zstandard builds (Jeevan Ladhe, Robert Haas, Michael Paquier) - - + + + Add configure option + to enable Zstandard builds (Jeevan Ladhe, Robert Haas, Michael Paquier) + + - - -Add module field which can be customized for non-community PostgreSQL distributions (Peter Eisentraut) - + + + Add module field which can be customized for non-community + PostgreSQL distributions (Peter Eisentraut) + - -A module field mismatch would generate an error. - - + + A module field mismatch would generate an error. + + - - -Create a new pg_type.typcategory value for CHAR (Tom Lane) - + + + Create a new pg_type.typcategory + value for "char" (Tom Lane) + - -Some internal-use-only types have also been assigned this new pg_type.typcategory. - - + + Some internal-use-only types have also been assigned this column. + + - - -Add new protocol message TARGET to specify a new COPY method to be for base backups (Robert Haas) - + + + Add new protocol message TARGET + to specify a new COPY method to be for base backups + (Robert Haas) + - -Modify pg_basebackup to use this method. - - + + Modify pg_basebackup + to use this method. + + - - -Add new protocol message COMPRESSION and COMPRESSION_DETAIL to specify the compression method and options (Robert Haas) - - + + + Add new protocol message COMPRESSION + and COMPRESSION_DETAIL to specify the compression + method and options (Robert Haas) + + - - -Remove server support for old BASE_BACKUP command syntax and base backup protocol (Robert Haas) - - + + + Remove server support for old BASE_BACKUP command + syntax and base backup protocol (Robert Haas) + + - - -Add support for extensions to set custom backup targets (Robert Haas) - - + + + Add support for extensions to set custom backup targets (Robert Haas) + + - - -Allow extensions to define their own WAL resource managers (Jeff Davis) - - + + + Allow extensions to define their own WAL resource + managers (Jeff Davis) + + - - -Add function pg_settings_get_flags() to get the flags of server-side variables (Justin Pryzby) - - + + + Add function pg_settings_get_flags() + to get the flags of server-side variables (Justin Pryzby) + + - - -Add server variable allow_in_place_tablespaces for tablespace testing (Thomas Munro) - - + + + Add server variable allow_in_place_tablespaces + for tablespace testing (Thomas Munro) + + - - -Export all server variables on Windows using PGDLLIMPORT (Robert Haas) - + + + Export all server variables on Windows using PGDLLIMPORT + (Robert Haas) + - -Previously only specific variables where exported. - - + + Previously only specific variables where exported. + + - - -Require OpenSSL to build pgcrypto binaries (Peter Eisentraut) - - + + + Require OpenSSL to build pgcrypto binaries + (Peter Eisentraut) + + - - -Disallow building with Python 2 (Andres Freund) - - + + + Disallow building with Python 2 (Andres Freund) + + - - -Adjust configure to require Perl version 5.8.3 or later (Dagfinn Ilmari Mannsåker) - - + + + Adjust configure to require Perl version 5.8.3 + or later (Dagfinn Ilmari Mannsåker) + + @@ -2703,26 +3127,31 @@ Author: Jeff Davis 2022-04-08 [2258e76f9] Add contrib/pg_walinspect. --> - - -Add new module pg_walinspect (Bharath Rupireddy) - + + + Add new module pg_walinspect + (Bharath Rupireddy) + - -This gives SQL-level output similar to pg_waldump. - - + + This gives SQL-level output similar to pg_waldump. + + - - -Add contrib module basic_archive to perform archiving via a library (Nathan Bossart) - - + + + Add module basic_archive + to perform archiving via a library (Nathan Bossart) + + - - -Add contrib module basebackup_to_shell as a custom backup target (Robert Haas) -contrib module. - - + + + Add module basebackup_to_shell + as a custom backup target (Robert Haas) contrib module. + + - - -Add pg_stat_statements output for temporary file block I/O (Masahiko Sawada) - - + + + Add pg_stat_statements + output for temporary file block I/O (Masahiko Sawada) + + - - -Add JIT counters to pg_stat_statements (Magnus Hagander) - - + + + Add JIT counters to pg_stat_statements (Magnus Hagander) + + - - -Allow amcheck to check sequences (Mark Dilger) - - + + + Allow amcheck + to check sequences (Mark Dilger) + + - - -Improve amcheck sanity checks for TOAST tables (Mark Dilger) - - + + + Improve amcheck sanity checks for + TOAST tables (Mark Dilger) + + - - -Allow btree_gist indexes on boolean columns (Emre Hasegeli) - + + + Allow btree_gist indexes + on boolean columns (Emre Hasegeli) + - -These can be used for exclusion constraints. - - + + These can be used for exclusion constraints. + + - - -Indicate the permissive/enforcing state in sepgsql log messages (Dave Page) - - + + + Indicate the permissive/enforcing state in sepgsql log messages + (Dave Page) + + - - -Fix pageinspect's page_header() to handle 32 kilobyte page sizes (Quan Zongliang) - + + + Fix pageinspect's + page_header() to handle 32 kilobyte page sizes + (Quan Zongliang) + - -Previously improper negative values could be returned in certain cases. - - + + Previously improper negative values could be returned in certain cases. + + - + <link linkend="postgres-fdw"><application>postgres_fdw</application></link> @@ -2839,11 +3280,12 @@ Author: Tom Lane 2021-07-30 [5d44fff01] In postgres_fdw, allow CASE expressions to be pushed to --> - - -Allow postgres_fdw to push down CASE expressions (Alexander Pyhalov) - - + + + Allow postgres_fdw to push down CASE expressions + (Alexander Pyhalov) + + - - -Add server variable postgres_fdw.application_name to control the application name of postgres_fdw connections (Hayato Kuroda) - + + + Add server variable postgres_fdw.application_name + to control the application name of postgres_fdw connections (Hayato Kuroda) + - -Previously the remote application_name could only be set on the remote server or via postgres_fdw connection specification. postgres_fdw.application_name also supports escape sequences for customization. - - + + Previously the remote application_name + could only be set on the remote server or via + postgres_fdw connection specification. + postgres_fdw.application_name also supports escape + sequences for customization. + + - - -Allow parallel commit on postgres_fdw servers (Etsuro Fujita) - + + + Allow parallel commit on postgres_fdw servers + (Etsuro Fujita) + - -This is enabled with the CREATE SERVER option parallel_commit when using postgres_fdw. - - + + This is enabled with the CREATE SERVER option + parallel_commit when using postgres_fdw. + +