diff --git a/doc/src/sgml/release-17.sgml b/doc/src/sgml/release-17.sgml index 623b0ac905..e5955ffca7 100644 --- a/doc/src/sgml/release-17.sgml +++ b/doc/src/sgml/release-17.sgml @@ -53,16 +53,22 @@ Author: Jeff Davis 2024-03-04 [2af07e2f7] Fix search_path to a safe value during maintenance opera --> - - -Change functions to use a safe during maintenance operations (Jeff Davis) - + + + Change functions to use a safe + during maintenance operations (Jeff Davis) + - -This prevents maintenance operations (ANALYZE, CLUSTER, REFRESH MATERIALIZED VIEW, REINDEX, or VACUUM) from performing unsafe access. Functions used by expression indexes and -materialized views that need to reference non-default schemas must specify a search path during function creation. - - + + This prevents maintenance operations (ANALYZE, + CLUSTER, REFRESH + MATERIALIZED VIEW, REINDEX, + or VACUUM) from performing unsafe access. + Functions used by expression indexes and materialized views that + need to reference non-default schemas must specify a search path + during function creation. + + - - -Restrict ago to only appear at the end in interval values (Joseph Koshakow) - + + + Restrict ago to only appear at the end in + interval values (Joseph Koshakow) + - -Also, prevent empty interval units from appearing multiple times. - - + + Also, prevent empty interval units from appearing multiple times. + + - - -Remove server variable old_snapshot_threshold (Thomas Munro) - + + + Remove server variable old_snapshot_threshold (Thomas Munro) + - -This variable allowed vacuum to remove rows that potentially could be still visible to running transactions, causing "snapshot too old" errors later if accessed. This feature -might be re-added to PostgreSQL later if an improved implementation is found. - - + + This variable allowed vacuum to remove rows that potentially could + be still visible to running transactions, causing "snapshot too + old" errors later if accessed. This feature might be re-added + to PostgreSQL later if an improved + implementation is found. + + - - -Change SET SESSION AUTHORIZATION handling of the initial session user's superuser status (Joseph Koshakow) - + + + Change SET + SESSION AUTHORIZATION handling of the initial + session user's superuser status (Joseph Koshakow) + - -The new behavior is based on the session user's superuser status at the time the SET SESSION AUTHORIZATION command is issued, rather than their superuser status at connection time. - - + + The new behavior is based on the session user's superuser status at + the time the SET SESSION AUTHORIZATION command + is issued, rather than their superuser status at connection time. + + - - -Remove feature which simulated per-database users (Nathan Bossart) - + + + Remove feature which simulated per-database users (Nathan Bossart) + - -The feature, db_user_namespace, was rarely used. - - + + The feature, db_user_namespace, was rarely used. + + - - -Remove value fsync_writethrough on Windows (Thomas Munro) - + + + Remove value + fsync_writethrough on Windows (Thomas Munro) + - -This value was the same as fsync on Windows. - - + + This value was the same as fsync on Windows. + + - - -Change file boundary handling of two WAL file name functions (Kyotaro Horiguchi, Andres Freund, Bruce Momjian) - + + + Change file boundary handling of two WAL file + name functions (Kyotaro Horiguchi, Andres Freund, Bruce Momjian) + - -The functions pg_walfile_name() and pg_walfile_name_offset() used to report the previous LSN segment number when the LSN was on a file segment boundary; it now returns the LSN segment. - - + + The functions pg_walfile_name() + and pg_walfile_name_offset() used to report + the previous LSN segment number when the + LSN was on a file segment boundary; it now + returns the LSN segment. + + - - -Remove server variable trace_recovery_messages since it is no longer needed (Bharath Rupireddy) - - + + + Remove server variable trace_recovery_messages + since it is no longer needed (Bharath Rupireddy) + + - - -Remove information schema column element_types.domain_default (Peter Eisentraut) - - + + + Remove information schema column + element_types.domain_default + (Peter Eisentraut) + + - - -Change lock mode output labels (Bruce Momjian) - - + + + Change + lock mode output labels (Bruce Momjian) + + - - -Remove buffers_backend and buffers_backend_fsync from pg_stat_bgwriter (Bharath Rupireddy) - + + + Remove buffers_backend and + buffers_backend_fsync from pg_stat_bgwriter + (Bharath Rupireddy) + - -These fields are considered redundant to similar columns in pg_stat_io. - - + + These fields are considered redundant to similar columns in pg_stat_io. + + - - -Rename I/O block read/write timing statistics columns of (Nazir Bilal Yavuz) - + + + Rename I/O block read/write timing statistics columns of + + (Nazir Bilal Yavuz) + - -This renames blk_read_time to shared_blk_read_time, and blk_write_time to shared_blk_write_time. - - + + This renames blk_read_time + to shared_blk_read_time, + and blk_write_time to + shared_blk_write_time. + + - - -Change pg_attribute.attstattarget and pg_attribute.stxstattarget to represent the default statistics target as NULL (Peter Eisentraut) - - + + + Change pg_attribute.attstattarget + and + pg_attribute.stxstattarget + to represent the default statistics target as NULL + (Peter Eisentraut) + + - - -Change pg_stat_progress_vacuum columns max_dead_tuples to max_dead_tuple_bytes, rename num_dead_tuples to num_dead_item_ids, and add dead_tuple_bytes (Masahiko Sawada) - - + + + Change pg_stat_progress_vacuum + columns max_dead_tuples + to max_dead_tuple_bytes, + rename num_dead_tuples to + num_dead_item_ids, and add + dead_tuple_bytes (Masahiko Sawada) + + - - -Rename SLRU columns in system view pg_stat_slru (Alvaro Herrera) - + + + Rename SLRU columns in system view pg_stat_slru + (Alvaro Herrera) + - -The column names accepted by pg_stat_reset_slru() are also changed. - - + + The column names accepted by pg_stat_reset_slru() + are also changed. + + @@ -287,22 +339,26 @@ Author: Tom Lane 2023-11-17 [f7816aec2] Extract column statistics from CTE references, if possib --> - - -Allow the optimizer to improve CTE plans by considering the statistics of columns referenced in earlier row output clauses (Jian Guo, Tom Lane) - - + + + Allow the optimizer to improve CTE plans by + considering the statistics of columns referenced in earlier row + output clauses (Jian Guo, Tom Lane) + + - - -Allow the optimizer to improve CTE plans by considering the sort order of columns referenced in earlier row output clauses (Richard Guo) - - + + + Allow the optimizer to improve CTE plans by + considering the sort order of columns referenced in earlier row + output clauses (Richard Guo) + + - - -Improve optimization of IS NOT NULL and IS NULL query restrictions (David Rowley, Richard Guo, Andy Fan) - + + + Improve optimization of IS NOT NULL and + IS NULL query restrictions (David Rowley, + Richard Guo, Andy Fan) + - -Remove IS NOT NULL query restrictions on NOT NULL columns and eliminate scans on NOT NULL columns if IS NULL is specified. - - + + Remove IS NOT NULL query restrictions on + NOT NULL columns and eliminate scans on + NOT NULL columns if IS NULL + is specified. + + - - -Allow partition pruning on boolean columns on IS [NOT] UNKNOWN conditionals (David Rowley) - - + + + Allow partition pruning on boolean columns on IS [NOT] + UNKNOWN conditionals (David Rowley) + + - - -Improve optimization of range values when using containment operators <@ and @> (Kim Johan Andersson, Jian He) - - + + + Improve optimization of range values when using containment + operators <@ and @> (Kim Johan Andersson, Jian He) + + - - -Allow correlated IN subqueries to be transformed into joins (Andy Fan, Tom Lane) - - + + + Allow correlated IN subqueries to be transformed + into joins (Andy Fan, Tom Lane) + + - - -Improve optimization of the LIMIT clause on partitioned tables, inheritance parents, and UNION ALL queries (Andy Fan, David Rowley) - - + + + Improve optimization of the LIMIT clause + on partitioned tables, inheritance parents, and UNION + ALL queries (Andy Fan, David Rowley) + + - - -Allow query nodes to be run in parallel in more cases (Tom Lane) - - + + + Allow query nodes to be run in parallel in more cases (Tom Lane) + + - - -Allow GROUP BY columns to be internally ordered to match ORDER BY (Andrei Lepikhov, Teodor Sigaev) - + + + Allow GROUP BY columns to be internally + ordered to match ORDER BY (Andrei Lepikhov, + Teodor Sigaev) + - -This can be disabled using server variable enable_group_by_reordering. MISSING -DOCS - - + + This can be disabled using server variable + enable_group_by_reordering. MISSING DOCS + + - - -Allow UNION (without ALL) to use MergeAppend (David Rowley) - - + + + Allow UNION (without ALL) + to use MergeAppend (David Rowley) + + - - -Fix MergeAppend plans to more accurately compute the number of rows that need to be sorted (Alexander Kuzmenkov) - - + + + Fix MergeAppend plans to more accurately compute the number of + rows that need to be sorted (Alexander Kuzmenkov) + + - - -Allow GiST and SP-GiST indexes to be part of incremental sorts (Miroslav Bendik) - + + + Allow GiST and SP-GiST indexes to be part of incremental + sorts (Miroslav Bendik) + - -This is particularly useful for ORDER BY clauses where the first column has a GiST and SP-GiST index, and other columns do not. - - + + This is particularly useful for ORDER BY + clauses where the first column has a GiST and SP-GiST index, + and other columns do not. + + - - -Add columns to pg_stats to report range-type histogram information (Egor Rogov, Soumyadeep Chakraborty) - - + + + Add columns to pg_stats + to report range-type histogram information (Egor Rogov, Soumyadeep + Chakraborty) + + @@ -453,22 +530,27 @@ Author: Peter Geoghegan 2024-04-06 [5bf748b86] Enhance nbtree ScalarArrayOp execution. --> - - -Allow btree indexes to more efficiently find a set of values, such as those supplied by IN clauses using constants (Peter Geoghegan, Matthias van de Meent) - - + + + Allow btree indexes to more + efficiently find a set of values, such as those supplied by + IN clauses using constants (Peter Geoghegan, + Matthias van de Meent) + + - - -Allow BRIN indexes to be created using parallel workers (Tomas Vondra, Matthias van de Meent) - - + + + Allow BRIN indexes + to be created using parallel workers (Tomas Vondra, Matthias van + de Meent) + + @@ -484,15 +566,17 @@ Author: Heikki Linnakangas 2024-04-03 [6dbb49026] Combine freezing and pruning steps in VACUUM --> - - -Allow vacuum to more efficiently remove and freeze tuples (Melanie Plageman, Heikki Linnakangas) - + + + Allow vacuum to more efficiently remove and freeze tuples (Melanie + Plageman, Heikki Linnakangas) + - -WAL traffic caused by vacuum is also more compact. - - + + WAL traffic caused by vacuum is also more + compact. + + - - -Allow vacuum to more efficiently store tuple references (Masahiko Sawada, John Naylor) - + + + Allow vacuum to more efficiently store tuple references (Masahiko + Sawada, John Naylor) + - -Additionally, vacuum is no longer silently limited to one gigabyte of memory when or are higher. - - + + Additionally, vacuum is no longer silently limited to one gigabyte + of memory when or are higher. + + - - -Optimize vacuuming of relations with no indexes (Melanie Plageman) - - + + + Optimize vacuuming of relations with no indexes (Melanie Plageman) + + - - -Increase default to 2MB (Thomas Munro) - - + + + Increase default + to 2MB (Thomas Munro) + + - - -Improve performance when checking roles with many memberships (Nathan Bossart) - - + + + Improve performance when checking roles with many memberships + (Nathan Bossart) + + - - -Improve performance of heavily-contended WAL writes (Bharath Rupireddy) - - + + + Improve performance of heavily-contended WAL + writes (Bharath Rupireddy) + + - - -Improve performance when transferring large blocks of data to a client (Melih Mutlu) - - + + + Improve performance when transferring large blocks of data to a + client (Melih Mutlu) + + - - -Allow the grouping of file system reads with the new system variable (Thomas Munro, Andres Freund, Melanie Plageman, Nazir Bilal Yavuz) - - + + + Allow the grouping of file system reads with the new system variable + (Thomas Munro, Andres Freund, + Melanie Plageman, Nazir Bilal Yavuz) + + @@ -603,15 +696,19 @@ Author: Alexander Korotkov 2024-03-14 [e820db5b5] Improve documentation for pg_stat_checkpointer fields --> - - -Create system view pg_stat_checkpointer (Bharath Rupireddy, Anton A. Melnikov, Alexander Korotkov) - + + + Create system view pg_stat_checkpointer + (Bharath Rupireddy, Anton A. Melnikov, Alexander Korotkov) + - -Relevant columns have been removed from pg_stat_bgwriter and added to this new system view. - - + + Relevant columns have been removed from pg_stat_bgwriter + and added to this new system view. + + - - -Improve control over resetting statistics (Atsushi Torikoshi, Bharath Rupireddy) - + + + Improve control over resetting statistics (Atsushi Torikoshi, + Bharath Rupireddy) + - -Allow pg_stat_reset_shared() (with no arguments) and pg_stat_reset_shared(NULL) to reset all shared statistics. -Allow pg_stat_reset_shared('slru') and pg_stat_reset_slru() (with no arguments) to reset SLRU statistics, which was already possible with pg_stat_reset_slru(NULL). - - + + Allow pg_stat_reset_shared() + (with no arguments) and + pg_stat_reset_shared(NULL) to reset all + shared statistics. Allow pg_stat_reset_shared('slru') and pg_stat_reset_slru() + (with no arguments) to reset SLRU statistics, + which was already possible with pg_stat_reset_slru(NULL). + + - - -Add log messages related to WAL recovery from backup (Andres Freund) - - + + + Add log messages related to WAL recovery from + backup (Andres Freund) + + - - -Add log line for trust connections (Jacob Champion) - - + + + Add log line for + trust connections (Jacob Champion) + + - - -Add log message to report walsender acquisition and release of replication slots (Bharath Rupireddy) - + + + Add log message to report walsender acquisition and release of + replication slots (Bharath Rupireddy) + - -This is enabled by the server variable . - - + + This is enabled by the server variable . + + - - -Add system view pg_wait_events that reports wait event types (Bertrand Drouvot) - + + + Add system view pg_wait_events + that reports wait event types (Bertrand Drouvot) + - -This is useful for adding descriptions to wait events reported in pg_stat_activity. - - + + This is useful for adding descriptions + to wait events reported in pg_stat_activity. + + - - -Add wait events for checkpoint delays (Thomas Munro) - - + + + Add wait events for + checkpoint delays (Thomas Munro) + + - - -Allow vacuum to report the progress of index processing (Sami Imseih) - + + + Allow vacuum to report the progress of index processing (Sami + Imseih) + - -This appears in system view pg_stat_progress_vacuum columns indexes_total and indexes_processed. - - + + This appears in system view pg_stat_progress_vacuum + columns indexes_total and + indexes_processed. + + - - -Add undocumented server variable trace_connection_negotiation to allow debugging of connection encryption (Heikki Linnakangas, Kyotaro Horiguchi) - - + + + Add undocumented server variable + trace_connection_negotiation to allow debugging + of connection encryption (Heikki Linnakangas, Kyotaro Horiguchi) + + @@ -740,29 +859,39 @@ Author: Nathan Bossart 2024-03-13 [ecb0fd337] Reintroduce MAINTAIN privilege and pg_maintain predefine --> - - -Allow granting the right to perform maintenance operations (Nathan Bossart) - + + + Allow granting the right to perform maintenance operations + (Nathan Bossart) + - -The permission can be granted on a per-table basis using the MAINTAIN privilege and on a per-role basis via the -pg_maintain predefined role. Permitted operations are VACUUM, ANALYZE, -REINDEX, REFRESH MATERIALIZED VIEW, CLUSTER, and LOCK TABLE. - - + + The permission can be granted on a per-table basis using the MAINTAIN + privilege and on a per-role basis via the pg_maintain + predefined role. Permitted operations are + VACUUM, ANALYZE, + REINDEX, REFRESH MATERIALIZED + VIEW, CLUSTER, and LOCK + TABLE. + + - - -Allow roles with pg_monitor membership to execute -pg_current_logfile() (Pavlo Golub, Nathan Bossart) - - + + + Allow roles with pg_monitor + membership to execute pg_current_logfile() + (Pavlo Golub, Nathan Bossart) + + @@ -778,26 +907,31 @@ Author: Robert Haas 2024-03-29 [d3ae2a24f] Add allow_alter_system GUC. --> - - -Add system variable to disallow ALTER SYSTEM (Jelte Fennema-Nio, Gabriele Bartolini) - - + + + Add system variable + to disallow ALTER + SYSTEM (Jelte Fennema-Nio, Gabriele Bartolini) + + - - -Allow ALTER SYSTEM to set unrecognized custom server variables (Tom Lane) - + + + Allow ALTER + SYSTEM to set unrecognized custom server variables + (Tom Lane) + - -This is also possible with GRANT ON PARAMETER. - - + + This is also possible with GRANT + ON PARAMETER. + + - - -Add server variable to restrict the duration of transactions (Andrey Borodin, Japin Li, Junwang Zhao, Alexander Korotkov) - - + + + Add server variable to + restrict the duration of transactions (Andrey Borodin, Japin Li, + Junwang Zhao, Alexander Korotkov) + + - - -Add a builtin platform-independent collation provider (Jeff Davis) - + + + Add a builtin platform-independent collation provider (Jeff Davis) + - -This supports C and C.UTF-8 collations. - - + + This supports C and C.UTF-8 + collations. + + - - -Add server variable to report the use of huge pages by Postgres (Justin Pryzby) - + + + Add server variable to report + the use of huge pages by Postgres (Justin Pryzby) + - -This is useful when is set to try. - - + + This is useful when is set to + try. + + - - -Add server variable to disable event triggers (Daniel Gustafsson) - + + + Add server variable to disable event triggers (Daniel Gustafsson) + - -The setting, , allows for the temporary disabling of event triggers for debugging. - - + + The setting, , allows for the + temporary disabling of event triggers for debugging. + + - - -Allow the SLRU cache sizes to be configured (Andrey Borodin, Dilip Kumar, Alvaro Herrera) - + + + Allow the SLRU + cache sizes to be configured (Andrey Borodin, Dilip Kumar, + Alvaro Herrera) + - -The new server variables are , , , , , , and -. commit_timestamp_buffers, transaction_buffers and subtransaction_buffers scale up automatically with . - - + + The new server variables are , + , + , + , , , and . commit_timestamp_buffers, + transaction_buffers and subtransaction_buffers scale up + automatically with . + + @@ -897,15 +1048,21 @@ Author: Tomas Vondra 2024-04-05 [f8ce4ed78] Allow copying files using clone/copy_file_range --> - - -Add support for incremental file system backup (Robert Haas, Jakub Wartak, Tomas Vondra) - + + + Add support for incremental file system backup (Robert Haas, + Jakub Wartak, Tomas Vondra) + - -Incremental backups can be created using pg_basebackup's new option. The new application pg_combinebackup allows manipulation of base and incremental file system backups. - - + + Incremental backups can be created using pg_basebackup's + new + option. The new application pg_combinebackup + allows manipulation of base and incremental file system backups. + + - - -Allow the creation of WAL summarization files (Robert Haas, Nathan Bossart, Hubert Depesz Lubaczewski) - + + + Allow the creation of WAL summarization files + (Robert Haas, Nathan Bossart, Hubert Depesz Lubaczewski) + - -These files record the block numbers that have changed within an LSN range and are useful for incremental file system backups. This is controlled by the server variables - and , and introspected with pg_available_wal_summaries(), pg_wal_summary_contents(), and pg_get_wal_summarizer_state(). - - + + These files record the block numbers that have changed within an + LSN + range and are useful for incremental file + system backups. This is controlled by the server + variables and , and introspected with pg_available_wal_summaries(), + pg_wal_summary_contents(), and + pg_get_wal_summarizer_state(). + + - - -Add the system identifier to file system backup manifest files (Amul Sul) - + + + Add the system identifier to file system backup manifest files + (Amul Sul) + - -This helps detect invalid WAL usage. - - + + This helps detect invalid WAL usage. + + - - -Allow connection string value dbname to be written when pg_basebackup writes connection information to postgresql.auto.conf (Vignesh C, Hayato Kuroda) - - + + + Allow connection string value + dbname to be written when pg_basebackup + writes connection information to + postgresql.auto.conf (Vignesh C, Hayato Kuroda) + + - - -Add column pg_replication_slots.invalidation_reason to report the reason for invalid slots (Shveta Malik, Bharath Rupireddy) - - + + + Add column pg_replication_slots.invalidation_reason + to report the reason for invalid slots (Shveta Malik, Bharath + Rupireddy) + + - - -Add column pg_replication_slots.inactive_since to report slot inactivity duration (Bharath Rupireddy) - - + + + Add column pg_replication_slots.inactive_since + to report slot inactivity duration (Bharath Rupireddy) + + - - -Add function pg_sync_replication_slots() to synchronize logical replication slots (Hou Zhijie, Shveta Malik, Ajin Cherian, Peter Eisentraut) - - + + + Add function pg_sync_replication_slots() + to synchronize logical replication slots (Hou Zhijie, Shveta Malik, + Ajin Cherian, Peter Eisentraut) + + - - -Add the failover property to the replication protocol (Hou Zhijie, Shveta Malik) - - + + + Add the failover property to the replication protocol (Hou + Zhijie, Shveta Malik) + + @@ -1014,18 +1195,21 @@ Add the failover property to the <link linkend="logical-replication">Logical Replication</link> - + - - -Add application pg_createsubscriber to create a logical replica from a physical standby server (Euler Taveira) - - + + + Add application pg_createsubscriber + to create a logical replica from a physical standby server + (Euler Taveira) + + - - -Have pg_upgrade migrate valid logical slots and subscriptions (Hayato Kuroda, Hou Zhijie, Vignesh C, Julien Rouhaud, Shlok Kyal) - + + + Have pg_upgrade + migrate valid logical slots and subscriptions (Hayato Kuroda, + Hou Zhijie, Vignesh C, Julien Rouhaud, Shlok Kyal) + - -This allows logical replication to continue quickly after the upgrade. This only works for old clusters of PostgreSQL version 17 or later. - - + + This allows logical replication to continue quickly + after the upgrade. This only works for old clusters of + PostgreSQL version 17 or later. + + - - -Enable the failover of logical slots (Hou Zhijie, Shveta Malik, Ajin Cherian) - + + + Enable the failover of logical slots + (Hou Zhijie, Shveta Malik, Ajin Cherian) + - -This is controlled by an optional fifth argument to pg_create_logical_replication_slot(). - - + + This is controlled by an optional fifth argument to pg_create_logical_replication_slot(). + + - - -Add server variable to enable failover logical slot synchronization (Shveta Malik, Hou Zhijie, Peter Smith) - - + + + Add server variable + to enable failover logical slot synchronization (Shveta Malik, + Hou Zhijie, Peter Smith) + + - - -Add logical replication failover control to CREATE/ALTER SUBSCRIPTION (Shveta Malik, Hou Zhijie, Ajin Cherian) - - + + + Add logical replication failover control to CREATE/ALTER + SUBSCRIPTION (Shveta Malik, Hou Zhijie, Ajin + Cherian) + + - - -Allow the application of logical replication changes to use hash indexes on the subscriber (Hayato Kuroda) - + + + Allow the application of logical replication changes to use + hash indexes on the subscriber + (Hayato Kuroda) + - -Previously only btree indexes could be used for this purpose. - - + + Previously only btree indexes could + be used for this purpose. + + - - -Improve logical decoding performance in cases where there are many subtransactions (Masahiko Sawada) - - + + + Improve logical decoding + performance in cases where there are many subtransactions + (Masahiko Sawada) + + - - -Restart apply workers if subscription owner's superuser privileges are revoked (Vignesh C) - + + + Restart apply workers if subscription owner's superuser privileges + are revoked (Vignesh C) + - -This forces reauthentication. - - + + This forces reauthentication. + + - - -Add flush option to pg_logical_emit_message() (Michael Paquier) - + + + Add flush option to pg_logical_emit_message() + (Michael Paquier) + - -This makes the message durable. - - + + This makes the message durable. + + - - -Allow specification of physical standbys that must be synchronized before they are visible to subscribers (Hou Zhijie, Shveta Malik) - + + + Allow specification of physical standbys that must be synchronized + before they are visible to subscribers (Hou Zhijie, Shveta Malik) + - -The server variable is . - - + + The server variable is . + + - - -Add worker type column to pg_stat_subscription (Peter Smith) - - + + + Add worker type column to pg_stat_subscription + (Peter Smith) + + - + @@ -1189,159 +1397,179 @@ Author: Masahiko Sawada 2024-04-17 [a6d0fa5ef] Disallow specifying ON_ERROR option without value. --> - - -Add new COPY option ON_ERROR ignore to discard error rows (Damir Belyalov, Atsushi Torikoshi, Alex Shulgin, Jian He, Yugo Nagata) - + + + Add new COPY + option ON_ERROR ignore to discard error rows + (Damir Belyalov, Atsushi Torikoshi, Alex Shulgin, Jian He, Yugo + Nagata) + - -The default behavior is ON_ERROR stop. - - + + The default behavior is ON_ERROR stop. + + - - -Add new COPY option LOG_VERBOSITY which reports COPY FROM ignored error rows (Bharath Rupireddy) - - + + + Add new COPY option + LOG_VERBOSITY which reports COPY + FROM ignored error rows (Bharath Rupireddy) + + - - -Allow COPY FROM to report the number of skipped rows during processing (Atsushi Torikoshi) - + + + Allow COPY FROM to report the number of skipped + rows during processing (Atsushi Torikoshi) + - -This appears in system view column pg_stat_progress_copy.tuples_skipped. - - + + This appears in system view column pg_stat_progress_copy.tuples_skipped. + + - - -In COPY FROM, allow easy specification that all columns should be forced null or not null (Zhang Mingli) - - + + + In COPY FROM, allow easy specification that all + columns should be forced null or not null (Zhang Mingli) + + - - -Allow EXPLAIN to report optimizer memory usage (Ashutosh Bapat) - + + + Allow EXPLAIN + to report optimizer memory usage (Ashutosh Bapat) + - -The option is called MEMORY. - - + + The option is called MEMORY. + + - - -Add EXPLAIN option SERIALIZE to report the cost of converting data for network transmission (Stepan Rutz, Matthias van de Meent) - - + + + Add EXPLAIN option SERIALIZE + to report the cost of converting data for network transmission + (Stepan Rutz, Matthias van de Meent) + + - - -Add local I/O block read/write timing statistics to EXPLAIN (Nazir Bilal Yavuz) - - + + + Add local I/O block read/write timing statistics to + EXPLAIN (Nazir Bilal Yavuz) + + - - -Improve EXPLAIN's display of SubPlan nodes and output parameters (Tom Lane, Dean Rasheed) - - + + + Improve EXPLAIN's display of SubPlan nodes and + output parameters (Tom Lane, Dean Rasheed) + + - - -Add JIT deform_counter details to EXPLAIN (Dmitry Dolgov) - - + + + Add JIT deform_counter + details to EXPLAIN (Dmitry Dolgov) + + - - -Allow partitions to be merged using ALTER TABLE ... MERGE PARTITIONS (Dmitry Koval) - - + + + Allow partitions to be merged using ALTER TABLE ... MERGE + PARTITIONS (Dmitry Koval) + + - - -Allow partitions to be split using ALTER TABLE ... SPLIT PARTITION (Dmitry Koval) - - + + + Allow partitions to be split using ALTER TABLE ... SPLIT + PARTITION (Dmitry Koval) + + - - -Allow partitioned tables to have identity columns (Ashutosh Bapat) - - + + + Allow partitioned tables to have identity columns (Ashutosh Bapat) + + - - -Allow exclusion constraints on partitioned tables (Paul A. Jungwirth) - + + + Allow exclusion + constraints on partitioned tables (Paul A. Jungwirth) + - -As long as exclusion constraints compare partition key columns for equality, other columns can use exclusion constraint-specific comparisons. - - + + As long as exclusion constraints compare partition key columns + for equality, other columns can use exclusion constraint-specific + comparisons. + + - - -Allow specification of partitioned table access methods (Justin Pryzby, Soumyadeep Chakraborty, Michael Paquier) - - + + + Allow specification of partitioned table + access methods (Justin Pryzby, Soumyadeep Chakraborty, + Michael Paquier) + + - - -Add clearer ALTER TABLE method to set a column to the default statistics target (Peter Eisentraut) - + + + Add clearer ALTER + TABLE method to set a column to the default + statistics target (Peter Eisentraut) + - -The new syntax is ALTER TABLE ... SET STATISTICS DEFAULT; using SET STATISTICS -1 is still supported. - - + + The new syntax is ALTER TABLE ... SET STATISTICS + DEFAULT; using SET STATISTICS -1 + is still supported. + + - - -Allow ALTER TABLE to change a column's generation expression (Amul Sul) - + + + Allow ALTER TABLE to change a column's generation + expression (Amul Sul) + - -The syntax is ALTER TABLE ... ALTER COLUMN ... SET EXPRESSION. - - + + The syntax is ALTER TABLE ... ALTER COLUMN ... SET + EXPRESSION. + + - - -Add DEFAULT setting for ALTER TABLE .. SET ACCESS METHOD (Michael Paquier) - - + + + Add DEFAULT setting for ALTER TABLE + .. SET ACCESS METHOD (Michael Paquier) + + - - -Add support for event triggers that fire at connection time (Konstantin Knizhnik, Mikhail Gribkov) - - + + + Add support for event + triggers that fire at connection time (Konstantin Knizhnik, + Mikhail Gribkov) + + - - -Add event trigger support for REINDEX (Garrett Thornburg, Jian He) - - + + + Add event trigger support for REINDEX (Garrett + Thornburg, Jian He) + + - - -Allow parenthesized syntax for CLUSTER options if a table name is not specified (Nathan Bossart) - - + + + Allow parenthesized syntax for CLUSTER options if + a table name is not specified (Nathan Bossart) + + @@ -1444,26 +1687,31 @@ Author: Dean Rasheed 2023-11-14 [519fc1bd9] Support +/- infinity in the interval data type. --> - - -Allow the interval data type to support +/-infinity values (Joseph Koshakow, Jian He, Ashutosh Bapat) - - + + + Allow the interval data type to support + +/-infinity values (Joseph Koshakow, Jian He, + Ashutosh Bapat) + + - - -Allow the use of an ENUM added via ALTER TYPE if the type was created in the same transaction (Tom Lane) - + + + Allow the use of an ENUM added via ALTER TYPE if + the type was created in the same transaction (Tom Lane) + - -This was previously disallowed. - - + + This was previously disallowed. + + @@ -1480,41 +1728,47 @@ Author: Dean Rasheed 2024-02-29 [5f2e179bd] Support MERGE into updatable views. --> - - -Allow MERGE to modify updatable views (Dean Rasheed) - - + + + Allow MERGE to modify updatable views (Dean + Rasheed) + + - - -Add WHEN NOT MATCHED BY SOURCE to MERGE (Dean Rasheed) - + + + Add WHEN NOT MATCHED BY SOURCE to + MERGE (Dean Rasheed) + - -WHEN NOT MATCHED on target rows was already supported. - - + + WHEN NOT MATCHED on target rows was already + supported. + + - - -Allow MERGE to use the RETURNING clause (Dean Rasheed) - + + + Allow MERGE to use the + RETURNING clause (Dean Rasheed) + - -The new RETURNING function merge_action() reports on the DML that generated the row. - - + + The new RETURNING function + merge_action() reports on the + DML that generated the row. + + @@ -1532,26 +1786,35 @@ Author: Amit Langote 2024-04-08 [bb766cde6] JSON_TABLE: Add support for NESTED paths and columns --> - - -Add function JSON_TABLE() to convert JSON data to a table representation (Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov, Andrew Dunstan, Amit Langote, Jian He) - + + + Add function JSON_TABLE() + to convert JSON data to a table representation (Nikita + Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov, Andrew + Dunstan, Amit Langote, Jian He) + - -This function can be used in the FROM clause of SELECT queries as a tuple source. - - + + This function can be used in the FROM clause of + SELECT queries as a tuple source. + + - - -Add SQL/JSON constructor functions JSON(), JSON_SCALAR(), and JSON_SERIALIZE() (Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov, Andrew Dunstan, Amit Langote) - - + + + Add SQL/JSON constructor functions JSON(), + JSON_SCALAR(), and + JSON_SERIALIZE() (Nikita Glukhov, Teodor Sigaev, + Oleg Bartunov, Alexander Korotkov, Andrew Dunstan, Amit Langote) + + - - -Add SQL/JSON query functions JSON_EXISTS(), JSON_QUERY(), and JSON_VALUE() (Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov, Andrew Dunstan, Amit Langote, -Peter Eisentraut, Jian He) - - + + + Add SQL/JSON query functions JSON_EXISTS(), + JSON_QUERY(), and + JSON_VALUE() (Nikita Glukhov, Teodor Sigaev, + Oleg Bartunov, Alexander Korotkov, Andrew Dunstan, Amit Langote, + Peter Eisentraut, Jian He) + + - - -Add jsonpath methods to convert JSON values to other JSON data types (Jeevan Chalke) - + + + Add jsonpath + methods to convert JSON values to other + JSON data types (Jeevan Chalke) + - -The jsonpath methods are .bigint(), -.boolean(), .date(), -.decimal([precision [, scale]]), .integer(), -.number(), .string(), -.time(), .time_tz(), -.timestamp(), and -.timestamp_tz(). - - + + The jsonpath methods are .bigint(), + .boolean(), .date(), + .decimal([precision [, scale]]), + .integer(), .number(), + .string(), .time(), + .time_tz(), .timestamp(), + and .timestamp_tz(). + + - - -Add to_timestamp() time zone format specifiers (Tom Lane) - + + + Add to_timestamp() + time zone format specifiers (Tom Lane) + - -TZ accepts time zone abbreviations or numeric offsets, while OF accepts only numeric offsets. - - + + TZ accepts time zone abbreviations or numeric + offsets, while OF accepts only numeric offsets. + + - - -Allow the session time zone to be specified by AS LOCAL (Vik Fearing) - + + + Allow the session time zone + to be specified by AS LOCAL (Vik Fearing) + - -This is useful when converting adding and removing time zones from time stamps values, rather than specifying the literal session time zone. - - + + This is useful when converting adding and removing time zones from + time stamps values, rather than specifying the literal session + time zone. + + - - -Add functions uuid_extract_timestamp() and uuid_extract_version() to return UUID information (Andrey Borodin) - - + + + Add functions uuid_extract_timestamp() + and uuid_extract_version() to return + UUID information (Andrey Borodin) + + - - -Add functions to generate random numbers in a specified range (Dean Rasheed) - + + + Add functions to generate random numbers in a specified range + (Dean Rasheed) + - -The functions are random(min, max) and they take values of type integer, bigint, and numeric. - - + + The functions are random(min, + max) and they take values of type + integer, bigint, and numeric. + + - - -Add functions to convert integers to binary and octal strings (Eric Radman, Nathan Bossart) - + + + Add functions to convert integers to binary and octal strings + (Eric Radman, Nathan Bossart) + - -The functions are to_bin() and to_oct(). - - + + The functions are to_bin() + and to_oct(). + + - - -Add Unicode informational functions (Jeff Davis) - + + + Add Unicode informational functions (Jeff Davis) + - -Function unicode_version() returns the Unicode version, icu_unicode_version() returns the ICU version, and unicode_assigned() returns if the characters are assigned Unicode codepoints. - - + + Function unicode_version() + returns the Unicode version, + icu_unicode_version() + returns the ICU version, and + unicode_assigned() returns if the characters + are assigned Unicode codepoints. + + - - -Add function xmltext() to convert text to a single XML text node (Jim Jones) - - + + + Add function xmltext() + to convert text to a single XML text node (Jim Jones) + + - - -Add function to_regtypemod() to return the type modifier of a type specification (David Wheeler, Erik Wienhold) - - + + + Add function to_regtypemod() + to return the type modifier of a type specification (David Wheeler, + Erik Wienhold) + + - - -Add pg_basetype() function to return a domain's base type (Steve Chavez) - - + + + Add pg_basetype() + function to return a domain's base type (Steve Chavez) + + - - -Add function pg_column_toast_chunk_id() to return a value's TOAST identifier (Yugo Nagata) - + + + Add function pg_column_toast_chunk_id() + to return a value's TOAST identifier + (Yugo Nagata) + - -This returns NULL if the value is not stored in TOAST. - - + + This returns NULL if the value is not stored + in TOAST. + + @@ -1742,22 +2045,26 @@ Author: Tom Lane 2024-01-04 [5e8674dc8] In plpgsql, allow %TYPE and %ROWTYPE to be followed by a --> - - -Allow plpgsql %TYPE and %ROWTYPE specifications to represent arrays of non-array types (Quan Zongliang, Pavel Stehule) - - + + + Allow plpgsql %TYPE + and %ROWTYPE specifications to represent arrays + of non-array types (Quan Zongliang, Pavel Stehule) + + - - -Allow plpgsql %TYPE specification to reference composite column (Tom Lane) - - + + + Allow plpgsql %TYPE specification to reference + composite column (Tom Lane) + + @@ -1773,45 +2080,57 @@ Author: Joe Conway 2024-01-09 [a7be2a6c2] Add new function, PQchangePassword(), to libpq --> - - -Add libpq function to change role passwords (Joe Conway) - + + + Add libpq function to change role passwords (Joe Conway) + - -The new function, PQchangePassword(), hashes the new password before sending it to the server. - - + + The new function, PQchangePassword(), + hashes the new password before sending it to the server. + + - - -Add libpq functions to close portals and prepared statements (Jelte Fennema-Nio) - + + + Add libpq functions to close portals and prepared statements + (Jelte Fennema-Nio) + - -The functions are PQclosePrepared(), PQclosePortal(), PQsendClosePrepared(), and PQsendClosePortal(). - - + + The functions are PQclosePrepared(), + PQclosePortal(), + PQsendClosePrepared(), + and PQsendClosePortal(). + + - - -Add libpq API which allows for blocking and non-blocking cancel requests, with encryption if already in use (Jelte Fennema-Nio) - + + + Add libpq API which allows for blocking and + non-blocking cancel requests, + with encryption if already in use (Jelte Fennema-Nio) + - -Previously only blocking, unencrypted cancel requests were supported. - - + + Previously only blocking, unencrypted cancel requests were supported. + + - - -Add libpq function PQsocketPoll to allow polling of network sockets (Tristan Partin, Tom Lane) - - + + + Add libpq function PQsocketPoll + to allow polling of network sockets (Tristan Partin, Tom Lane) + + - - -Add libpq function PQsendPipelineSync() to send a pipeline synchronization point (Anton Kirilov) - + + + Add libpq function PQsendPipelineSync() + to send a pipeline synchronization point (Anton Kirilov) + - -This is similar to PQpipelineSync() but it does not flush to the server unless the size threshold of the output buffer is reached. - - + + This is similar to PQpipelineSync() + but it does not flush to the server unless the size threshold of + the output buffer is reached. + + - - -Add libpq function PQsetChunkedRowsMode() to allow retrieval of results in chunks (Daniel Vérité) - - + + + Add libpq function PQsetChunkedRowsMode() + to allow retrieval of results in chunks (Daniel Vérité) + + - - -Allow TLS connections without requiring a network round-trip negotiation (Greg Stark, Heikki Linnakangas, Peter Eisentraut, Michael Paquier, Daniel Gustafsson) - + + + Allow TLS connections without requiring a + network round-trip negotiation (Greg Stark, Heikki Linnakangas, + Peter Eisentraut, Michael Paquier, Daniel Gustafsson) + - -This is enabled with the client-side option sslnegotiation=direct, requires ALPN, and only works on PostgreSQL 17 and later servers. - - + + This is enabled with the client-side option sslnegotiation=direct, + requires ALPN, and only works on + PostgreSQL 17 and later servers. + + @@ -1895,67 +2228,74 @@ Author: Tom Lane 2023-11-13 [d1379ebf4] Improve default and empty privilege outputs in psql. --> - - -Improve psql display of default and empty privileges (Erik Wienhold, Laurenz Albe) - + + + Improve psql display of default and + empty privileges (Erik Wienhold, Laurenz Albe) + - -Command \dp now displays (none) for empty privileges; default still display as empty. - - + + Command \dp now displays (none) + for empty privileges; default still display as empty. + + - - -Have backslash commands honor \pset null (Erik Wienhold, Laurenz Albe) - + + + Have backslash commands honor \pset null (Erik + Wienhold, Laurenz Albe) + - -Previously \pset null was ignored. - - + + Previously \pset null was ignored. + + - - -Allow psql's \watch to stop after a minimum number of rows returned (Greg Sabino Mullane) - + + + Allow psql's \watch + to stop after a minimum number of rows returned (Greg Sabino Mullane) + - -The parameter is min_rows. - - + + The parameter is min_rows. + + - - -Allow psql connections to be canceled with control-C (Tristan Partin) - - + + + Allow psql connections to be canceled + with control-C (Tristan Partin) + + - - -Allow psql to honor FETCH_COUNT for non-SELECT queries (Daniel Vérité) - - + + + Allow psql to honor + FETCH_COUNT for non-SELECT + queries (Daniel Vérité) + + - - -Improve psql tab completion (Dagfinn Ilmari Mannsåker, Gilles Darold, Christoph Heiss, Steve Chavez, Vignesh C, Pavel Borisov, Jian He) - - + + + Improve psql tab completion (Dagfinn + Ilmari Mannsåker, Gilles Darold, Christoph Heiss, Steve Chavez, + Vignesh C, Pavel Borisov, Jian He) + + - + - + - - Server Applications + + Server Applications - + - - -Add application pg_walsummary to dump WAL summary files (Robert Haas) - - + + + Add application pg_walsummary + to dump WAL summary files (Robert Haas) + + - - -Allow pg_dump's large objects to be restorable in batches (Tom Lane) - + + + Allow pg_dump's + large objects to be restorable in batches (Tom Lane) + - -This allows the restoration of many large objects to avoid transaction limits and to be restored in parallel. - - + + This allows the restoration of many large objects to avoid + transaction limits and to be restored in parallel. + + - - -Add pg_dump option (Ayush Vatsa) - - + + + Add pg_dump option + (Ayush Vatsa) + + - - -Allow pg_dump, pg_dumpall, and pg_restore to specify include/exclude objects in a file (Pavel Stehule, Daniel Gustafsson) - + + + Allow pg_dump, pg_dumpall, + and pg_restore + to specify include/exclude objects in a file (Pavel Stehule, + Daniel Gustafsson) + - -The option is called . - - + + The option is called . + + - - -Add the parameter to several client applications (Justin Pryzby, Nathan Bossart) - + + + Add the parameter to several client + applications (Justin Pryzby, Nathan Bossart) + - -The applications are initdb, pg_basebackup, pg_checksums, pg_dump, pg_rewind, and pg_upgrade. - - + + The applications are initdb, pg_basebackup, + pg_checksums, + pg_dump, pg_rewind, + and pg_upgrade. + + - - -Add pg_restore option to allow object restore in transaction batches (Tom Lane) - + + + Add pg_restore + option to allow object restore + in transaction batches (Tom Lane) + - -This allows the performance benefits of transaction batches without the problems of excessively large transaction blocks. - - + + This allows the performance benefits of transaction batches without + the problems of excessively large transaction blocks. + + - - -Change pgbench debug mode option from to (Greg Sabino Mullane) - + + + Change pgbench debug + mode option from to + (Greg Sabino Mullane) + - -Option is now used for the database name, and the new option can be used as well. - - + + Option is now used for the database name, + and the new option can be used as well. + + - - -Add pgbench option to exit after any client aborts (Yugo Nagata) - - + + + Add pgbench option to exit after + any client aborts (Yugo Nagata) + + - - -Add pgbench command \syncpipeline to allow sending of sync messages (Anthonin Bonnefoy) - - + + + Add pgbench command \syncpipeline to allow sending of sync messages + (Anthonin Bonnefoy) + + - - -Allow pg_archivecleanup to remove backup history files (Atsushi Torikoshi) - + + + Allow pg_archivecleanup + to remove backup history files (Atsushi Torikoshi) + - -The option is . - - + + The option is . + + - - -Add some long options to pg_archivecleanup (Atsushi Torikoshi) - + + + Add some long options to pg_archivecleanup + (Atsushi Torikoshi) + - -The long options are , , and . - - + + The long options are , + , and . + + - - -Allow pg_basebackup and pg_receivewal to use dbname in their connection specification (Jelte Fennema-Nio) - + + + Allow pg_basebackup + and pg_receivewal + to use dbname in their connection specification (Jelte Fennema-Nio) + - -This is useful for connection poolers that are sensitive to the database name. - - + + This is useful for connection poolers that are sensitive to the + database name. + + - - -Add pg_upgrade option (Thomas Munro) - + + + Add pg_upgrade + option (Thomas Munro) + - -This is supported on Linux and FreeBSD. - - + + This is supported on Linux + and FreeBSD. + + - - -Allow reindexdb to process indexes from different tables in parallel (Maxim Orlov, Svetlana Derevyanko, Alexander Korotkov) - - + + + Allow reindexdb + to process indexes from different tables + in parallel (Maxim Orlov, Svetlana Derevyanko, Alexander Korotkov) + + - - -Allow reindexdb, vacuumdb, and clusterdb to process objects in all databases matching a pattern (Nathan Bossart) - + + + Allow reindexdb, + vacuumdb, and clusterdb to process objects in all + databases matching a pattern (Nathan Bossart) + - -The new option controls this behavior. - - + + The new option controls this behavior. + + @@ -2216,11 +2606,12 @@ Author: Michael Paquier 2023-07-03 [8e278b657] Remove support for OpenSSL 1.0.1 --> - - -Remove support for OpenSSL 1.0.1 (Michael Paquier) - - + + + Remove support for OpenSSL 1.0.1 + (Michael Paquier) + + - - -Allow tests to pass in OpenSSL FIPS mode (Peter Eisentraut) - - + + + Allow tests to pass in OpenSSL + FIPS mode (Peter Eisentraut) + + - - -Use CPU AVX-512 instructions for bit counting (Paul Amonson, Nathan Bossart, Ants Aasma) - - + + + Use CPU AVX-512 instructions for bit counting + (Paul Amonson, Nathan Bossart, Ants Aasma) + + - - -Require LLVM version 10 or later (Thomas Munro) - - + + + Require LLVM version + 10 or later (Thomas Munro) + + - - -Use native CRC instructions on 64-bit LoongArch CPUs (Xudong Yang) - - + + + Use native CRC instructions on 64-bit + LoongArch CPUs (Xudong Yang) + + - - -Remove AIX support (Heikki Linnakangas) - - + + + Remove AIX + support (Heikki Linnakangas) + + - - -Remove the Microsoft Visual Studio-specific PostgreSQL build option (Michael Paquier) - + + + Remove the Microsoft Visual + Studio-specific PostgreSQL + build option (Michael Paquier) + - -Meson is now the only available method for Visual Studio builds. - - + + Meson is now the only available method + for Visual Studio builds. + + - - -Remove configure option (Thomas Munro, Heikki Linnakangas) - + + + Remove configure option + (Thomas Munro, Heikki Linnakangas) + - -We now assume all supported platforms have sufficient thread support. - - + + We now assume all supported platforms have sufficient thread support. + + - - -Remove configure option (Heikki Linnakangas) - + + + Remove configure option + (Heikki Linnakangas) + - -Setting the CC environment variable is now the only supported method for specifying the compiler. - - + + Setting the CC environment variable is now the only + supported method for specifying the compiler. + + - - -User-defined data type receive functions will no longer receive their data null-terminated (David Rowley) - - + + + User-defined data type receive functions will no longer receive + their data null-terminated (David Rowley) + + - - -Add incremental JSON parser for use with huge JSON documents (Andrew Dunstan) - - + + + Add incremental JSON parser for use with huge + JSON documents (Andrew Dunstan) + + - - -Convert top-level README file to Markdown (Nathan Bossart) - - + + + Convert top-level README file to + Markdown (Nathan Bossart) + + - - -Remove no longer needed top-level INSTALL file (Tom Lane) - - + + + Remove no longer needed top-level INSTALL file + (Tom Lane) + + - - -Remove make's distprep option (Peter Eisentraut) - - + + + Remove make's distprep + option (Peter Eisentraut) + + - - -Add make support for Android shared libraries (Peter Eisentraut) - - + + + Add make support for + Android shared libraries (Peter + Eisentraut) + + - - -Add backend support for injection points (Michael Paquier) - + + + Add backend support for injection points (Michael Paquier) + - -This is used for server debugging and they must be enabled at server compile time. - - + + This is used for server debugging and they must be enabled at server + compile time. + + - - -Fix emit_log_hook to use the same time value as other log records for the same query (Kambam Vinay, Michael Paquier) - - + + + Fix emit_log_hook to use the same time value as + other log records for the same query (Kambam Vinay, Michael Paquier) + + - - -Improve documentation for using jsonpath for predicate checks (David Wheeler) - - + + + Improve documentation for using jsonpath for + predicate checks (David Wheeler) + + @@ -2442,33 +2854,37 @@ Improve documentation for using jsonpath for predicate checks Additional Modules - + - - -Allow joins with non-join qualifications to be pushed down to foreign servers and custom scans (Richard Guo, Etsuro Fujita) - + + + Allow joins with non-join qualifications to be pushed down to + foreign servers and custom scans (Richard Guo, Etsuro Fujita) + - -Foreign data wrappers and custom scans will need to be modified to handle these cases. - - + + Foreign data wrappers and custom scans will need to be modified to + handle these cases. + + - - -Allow pushdown of EXISTS and IN subqueries to the foreign server (Alexander Pyhalov) - - + + + Allow pushdown of EXISTS and IN + subqueries to the foreign server + (Alexander Pyhalov) + + - - -Increase the default foreign data wrapper tuple cost (David Rowley, Umair Shahid) - + + + Increase the default foreign data wrapper tuple cost (David Rowley, + Umair Shahid) + - -This value is used by the optimizer. - - + + This value is used by the optimizer. + + - - -Allow dblink database operations to be interrupted (Noah Misch) - - + + + Allow dblink + database operations to be interrupted (Noah Misch) + + - - -Allow the creation of hash indexes on columns (Tommy Pavlicek) - + + + Allow the creation of hash indexes on columns (Tommy Pavlicek) + - -This also enables hash join and hash aggregation on ltree columns. - - + + This also enables hash join and hash aggregation on + ltree columns. + + - - -Allow character translation rules to contain whitespace and quotes (Michael Paquier) - + + + Allow character + translation rules to contain whitespace and quotes (Michael Paquier) + - -The syntax for the unaccent.rules file has changed. - - + + The syntax for the unaccent.rules file has + changed. + + - - -Allow to check for unique constraint violations (Anastasia Lubennikova, Pavel Borisov, Maxim Orlov) - + + + Allow to + check for unique constraint violations (Anastasia Lubennikova, + Pavel Borisov, Maxim Orlov) + - -The pg_amcheck option will check all unique indexes. - - + + The pg_amcheck option + will check all unique indexes. + + - - -Allow tests to pass in OpenSSL FIPS mode (Peter Eisentraut) - - + + + Allow tests to + pass in OpenSSL FIPS mode (Peter Eisentraut) + + - - -Allow tests to pass in OpenSSL FIPS mode (Peter Eisentraut) - - + + + Allow tests + to pass in OpenSSL FIPS mode (Peter Eisentraut) + + - - -Remove some unused SPI macros (Bharath Rupireddy) - - + + + Remove some unused SPI + macros (Bharath Rupireddy) + + - - -Remove adminpack contrib extension (Daniel Gustafsson) - + + + Remove adminpack contrib extension + (Daniel Gustafsson) + - -This was used by now end-of-life pgAdmin III. - - + + This was used by now end-of-life pgAdmin + III. + + - - -Allow ALTER OPERATOR to set more optimization attributes (Tommy Pavlicek) - + + + Allow ALTER + OPERATOR to set more optimization attributes + (Tommy Pavlicek) + - -This is useful for extensions. - - + + This is useful for extensions. + + - - -Allow extensions to define custom wait events (Masahiro Ikeda) - + + + Allow extensions to define custom wait events + (Masahiro Ikeda) + - -Custom wait events have been added to and . - - + + Custom wait events have been added to and . + + - - -Add function pg_buffercache_evict() to allow shared buffer eviction (Palak Chaturvedi, Thomas Munro) - + + + Add + function pg_buffercache_evict() to allow shared + buffer eviction (Palak Chaturvedi, Thomas Munro) + - -This is useful for testing. - - + + This is useful for testing. + + - + <link linkend="pgstatstatements"><application>pg_stat_statements</application></link> @@ -2654,56 +3092,77 @@ Author: Michael Paquier 2023-09-28 [11c34b342] Show parameters of CALL as constants in pg_stat_statemen --> - - -Replace CALL parameters in pg_stat_statements with placeholders (Sami Imseih) - - + + + Replace CALL + parameters in pg_stat_statements with + placeholders (Sami Imseih) + + - - -Replace savepoint names stored in pg_stat_statements with placeholders (Greg Sabino Mullane) - + + + Replace savepoint names stored in + pg_stat_statements with placeholders + (Greg Sabino Mullane) + - -This greatly reduces the number of entries needed to record SAVEPOINT, RELEASE SAVEPOINT, and ROLLBACK TO SAVEPOINT commands. - - + + This greatly reduces the number of entries needed to record SAVEPOINT, + RELEASE + SAVEPOINT, and ROLLBACK TO + SAVEPOINT commands. + + - - -Replace the two-phase commit GIDs stored in pg_stat_statements with placeholders (Michael Paquier) - + + + Replace the two-phase commit GIDs stored in + pg_stat_statements with placeholders + (Michael Paquier) + - -This greatly reduces the number of entries needed to record PREPARE TRANSACTION, COMMIT PREPARED, and ROLLBACK PREPARED. - - + + This greatly reduces the number of entries needed to record + PREPARE + TRANSACTION, COMMIT + PREPARED, and ROLLBACK + PREPARED. + + - - -Track DEALLOCATE in pg_stat_statements (Dagfinn Ilmari Mannsåker, Michael Paquier) - + + + Track DEALLOCATE + in pg_stat_statements (Dagfinn Ilmari + Mannsåker, Michael Paquier) + - -DEALLOCATE names are stored in pg_stat_statements as placeholders. - - + + DEALLOCATE names are stored in + pg_stat_statements as placeholders. + + - - -Add local I/O block read/write timing statistics columns of pg_stat_statements (Nazir Bilal Yavuz) - + + + Add local I/O block read/write timing statistics columns of + pg_stat_statements (Nazir Bilal Yavuz) + - -The new columns are local_blk_read_time and local_blk_write_time. - - + + The new columns are local_blk_read_time + and local_blk_write_time. + + - - -Add JIT deform_counter details to pg_stat_statements (Dmitry Dolgov) - - + + + Add JIT deform_counter details to + pg_stat_statements (Dmitry Dolgov) + + - - -Add optional fourth argument (minmax_only) to pg_stat_statements_reset() to allow for the resetting of only min/max statistics (Andrei Zubkov) - + + + Add optional fourth argument (minmax_only) + to pg_stat_statements_reset() to allow for + the resetting of only min/max statistics (Andrei Zubkov) + - -This argument defaults to false. - - + + This argument defaults to false. + + - - -Add pg_stat_statements columns stats_since and minmax_stats_since to track entry creation time and last min/max reset time (Andrei Zubkov) - - + + + Add pg_stat_statements + columns stats_since and + minmax_stats_since to track entry + creation time and last min/max reset time (Andrei Zubkov) + +