</para>
<para>
- This is a change in the default for newly-created databases in existing
- clusters and for new clusters; <literal>USAGE</literal> permissions on
- the <literal>public</literal> 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 <literal>CREATE</literal> permission
- for <literal>PUBLIC</literal> on the <literal>public</literal> schema;
- this change can be made on <literal>template1</literal> to cause all new
- databases to have these permissions. <literal>template1</literal>
+ This is a change in the default for newly-created databases in
+ existing clusters and for new clusters; <literal>USAGE</literal>
+ permissions on the <literal>public</literal> 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
+ <literal>CREATE</literal> permission for <literal>PUBLIC</literal>
+ on the <literal>public</literal> schema; this change can be made
+ on <literal>template1</literal> to cause all new databases
+ to have these permissions. <literal>template1</literal>
permissions for <application>pg_dumpall</application> and
<application>pg_upgrade</application>?
</para>
</para>
<para>
- 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.
</para>
</listitem>
<listitem>
<para>
- Remove long-deprecated exclusive <link linkend="backup-base-backup">backup
- mode</link> (David Steele, Nathan Bossart)
+ Remove long-deprecated exclusive <link
+ linkend="backup-base-backup">backup mode</link> (David Steele,
+ Nathan Bossart)
</para>
<para>
<function>pg_start_backup()</function>/<function>pg_stop_backup()</function>
have been renamed to
<function>pg_backup_start()</function>/<function>pg_backup_stop()</function>,
- and the functions <function>pg_backup_start_time()</function> and
- <function>pg_is_in_backup()</function> have been removed.
+ and the functions <function>pg_backup_start_time()</function>
+ and <function>pg_is_in_backup()</function> have been removed.
</para>
</listitem>
</para>
<para>
- This allows query hash operations to use double the amount of <link
- linkend="guc-work-mem"><varname>work_mem</varname></link> memory as
- other operations.
+ This allows query hash operations to use double the amount of
+ <link linkend="guc-work-mem"><varname>work_mem</varname></link>
+ memory as other operations.
</para>
</listitem>
<listitem>
<para>
Remove server-side language <link
- linkend="plpython"><literal>plpython2u</literal></link> and generic Python
- language <literal>plpythonu</literal> (Andres Freund)
+ linkend="plpython"><literal>plpython2u</literal></link> and generic
+ Python language <literal>plpythonu</literal> (Andres Freund)
</para>
</listitem>
<listitem>
<para>
- Mark the <link linkend="datatype-datetime"><type>interval</type></link>
- output function as stable, not immutable, since it depends on <link
+ Mark the <link
+ linkend="datatype-datetime"><type>interval</type></link> output
+ function as stable, not immutable, since it depends on <link
linkend="guc-intervalstyle"><varname>IntervalStyle</varname></link>
(Tom Lane)
</para>
<para>
- This will cause the creation of indexes relying on the text output of
- <type>interval</type> values to fail.
+ This will cause the creation of indexes relying on the text output
+ of <type>interval</type> values to fail.
</para>
</listitem>
<para>
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.
+ previous Postgres releases should verify that no empty lexemes
+ are stored because they can lead to dump/restore failures and
+ inconsistent results.
</para>
</listitem>
<listitem>
<para>
Generate an error when <link
- linkend="functions-string-other"><function>chr()</function></link> is
- supplied with a negative argument (Peter Eisentraut)
+ linkend="functions-string-other"><function>chr()</function></link>
+ is supplied with a negative argument (Peter Eisentraut)
</para>
</listitem>
<para>
Remove <link
linkend="sql-syntax-identifiers"><application>pg_dump</application></link>'s
- <option>--no-synchronized-snapshots</option> option since all supported
- server versions support synchronized snapshots (Tom Lane)
+ <option>--no-synchronized-snapshots</option> option since all
+ supported server versions support synchronized snapshots (Tom Lane)
</para>
</listitem>
</para>
<para>
- Previously literals like <literal>123abc</literal> would be interpreted
- as <literal>123</literal> and <literal>abc</literal>.
+ Previously literals like <literal>123abc</literal> would be
+ interpreted as <literal>123</literal> and <literal>abc</literal>.
</para>
</listitem>
<para>
Adjust <link linkend="datatype-json"><acronym>JSON</acronym></link>
numeric literal processing to match the
- <acronym>SQL</acronym>/<acronym>JSON</acronym>-standard (Peter Eisentraut)
+ <acronym>SQL</acronym>/<acronym>JSON</acronym>-standard (Peter
+ Eisentraut)
</para>
<para>
This accepts numeric formats like <literal>.1</literal> and
- <literal>1.</literal>, and disallows trailing junk after numeric literals,
- like <literal>1.type()</literal>.
+ <literal>1.</literal>, and disallows trailing junk after numeric
+ literals, like <literal>1.type()</literal>.
</para>
</listitem>
<listitem>
<para>
- Improve consistency of <link linkend="datatype-datetime">interval</link>
- parsing with trailing periods (Tom Lane)
+ Improve consistency of <link
+ linkend="datatype-datetime">interval</link> parsing with trailing
+ periods (Tom Lane)
</para>
<para>
<listitem>
<para>
- 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)
</para>
<para>
<listitem>
<para>
Detect integer overflow in <link
- linkend="functions-datetime-table">interval justification functions</link>
- (Joe Koshakow)
+ linkend="functions-datetime-table">interval justification
+ functions</link> (Joe Koshakow)
</para>
<para>
</para>
<para>
- Previously, login roles could add/remove members of its own role, even
- without <literal>ADMIN OPTION</literal> privilege.
+ Previously, login roles could add/remove members of its own role,
+ even without <literal>ADMIN OPTION</literal> privilege.
</para>
</listitem>
<para>
Because row-level security policies are not checked, only superusers,
- roles with <literal>bypassrls</literal>, and table owners can replicate
- into tables with row-level security policies.
+ roles with <literal>bypassrls</literal>, and table owners can
+ replicate into tables with row-level security policies.
</para>
</listitem>
<listitem>
<para>
- Prevent <command>UPDATE</command> and <command>DELETE</command> <link
- linkend="logical-replication">logical replication</link> operations on
- tables where the subscription owner does not have <command>SELECT</command>
- permission on the table (Jeff Davis)
+ Prevent <command>UPDATE</command> and <command>DELETE</command>
+ <link linkend="logical-replication">logical replication</link>
+ operations on tables where the subscription owner does not have
+ <command>SELECT</command> permission on the table (Jeff Davis)
</para>
<para>
<command>UPDATE</command> and <command>DELETE</command> perform
- <command>SELECT</command>, so require the subscription owner to have
- table <command>SELECT</command> permission.
+ <command>SELECT</command>, so require the subscription owner to
+ have table <command>SELECT</command> permission.
</para>
</listitem>
<para>
Modify <link linkend="spi"><acronym>SPI</acronym></link>'s
<function>SPI_commit()</function> and
- <function>SPI_commit_and_chain()</function> to automatically start a new
- transaction at completion (Peter Eisentraut, Tom Lane)
+ <function>SPI_commit_and_chain()</function> to automatically start
+ a new transaction at completion (Peter Eisentraut, Tom Lane)
</para>
<para>
<para>
Fix <link
linkend="monitoring-pg-statio-all-tables-view"><structname>pg_statio_all_tables</structname></link>
- to sum values for the rare case of <acronym>TOAST</acronym> tables with
- multiple indexes (Andrei Zubkov)
+ to sum values for the rare case of <acronym>TOAST</acronym> tables
+ with multiple indexes (Andrei Zubkov)
</para>
<para>
<listitem>
<para>
- Disallow setting of <link linkend="config-setting">server variables</link>
- matching the prefixes of installed extension (Florin Irion, Tom Lane)
+ Disallow setting of <link linkend="config-setting">server
+ variables</link> matching the prefixes of installed extension
+ (Florin Irion, Tom Lane)
</para>
<para>
- This also deletes any matching server variables during extension load.
+ This also deletes any matching server variables during extension
+ load.
</para>
</listitem>
<listitem>
<para>
- Remove unnecessary server variable <varname>stats_temp_directory</varname>
- (Andres Freund, Kyotaro Horiguchi)
+ Remove unnecessary server variable
+ <varname>stats_temp_directory</varname> (Andres Freund, Kyotaro
+ Horiguchi)
</para>
</listitem>
</para>
<para>
- This will cause <function>random()</function> to differ from what was
- emitted by prior versions for the same seed values.
+ This will cause <function>random()</function> to differ from what
+ was emitted by prior versions for the same seed values.
</para>
</listitem>
</para>
<para>
- 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.
</para>
</listitem>
<listitem>
<para>
- Allow <link linkend="custom-scan">custom scan provders</link> to indicate
- if they support projections (Sven Klemm)
+ Allow <link linkend="custom-scan">custom scan provders</link>
+ to indicate if they support projections (Sven Klemm)
</para>
<para>
- 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.
</para>
</listitem>
</para>
<para>
- This is designed to detect collation mismatches to avoid data corruption.
- Function <function>pg_database_collation_actual_version()</function>
+ This is designed to detect collation
+ mismatches to avoid data corruption. Function
+ <function>pg_database_collation_actual_version()</function>
reports the underlying operating system collation version, and
- <command>ALTER DATABASE ... REFRESH</command> sets the database to match
- the operating system collation version. DETAILS?
+ <command>ALTER DATABASE ... REFRESH</command> sets the database
+ to match the operating system collation version. DETAILS?
</para>
</listitem>
<listitem>
<para>
- Allow <link linkend="locale"><acronym>ICU</acronym></link> collations to
- be set as the default for clusters and databases (Peter Eisentraut)
+ Allow <link linkend="locale"><acronym>ICU</acronym></link>
+ collations to be set as the default for clusters and databases
+ (Peter Eisentraut)
</para>
<para>
Previously, <acronym>ICU</acronym> collations could only be
specified in <link linkend="sql-createcollation"><command>CREATE
- COLLATION</command></link> and used with the <literal>COLLATE</literal>
- clause.
+ COLLATION</command></link> and used with the
+ <literal>COLLATE</literal> clause.
</para>
</listitem>
<para>
Add system view <link
linkend="view-pg-ident-file-mappings"><structname>pg_ident_file_mappings</structname></link>
- to report <filename>pg_ident.conf</filename> information (Julien Rouhaud)
+ to report <filename>pg_ident.conf</filename> information (Julien
+ Rouhaud)
</para>
</listitem>
<listitem>
<para>
- Improve planning time for queries referencing partitioned tables (David
- Rowley)
+ Improve planning time for queries referencing partitioned tables
+ (David Rowley)
</para>
<para>
- 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.
</para>
</listitem>
<listitem>
<para>
- 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)
</para>
<para>
- Previously, a partitioned table with a <literal>DEFAULT</literal> partition
- or a <literal>LIST</literal> 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 <literal>DEFAULT</literal>
+ partition or a <literal>LIST</literal> partition containing
+ multiple values could not be used for ordered partition scans.
+ Now they can be used if these partitions are pruned.
</para>
</listitem>
<listitem>
<para>
- 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)
</para>
<para>
- Previously, such updates ran delete actions on the
- source partition and insert actions on the target partition.
- <productname>PostgreSQL</productname> 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.
+ <productname>PostgreSQL</productname> will now run update actions
+ on the referenced partition root.
</para>
</listitem>
<listitem>
<para>
Fix <link linkend="sql-altertable"><command>ALTER TRIGGER
- RENAME</command></link> on partitioned tables to properly rename triggers
- an all partitions (Arne Roland, Álvaro Herrera)
+ RENAME</command></link> on partitioned tables to properly rename
+ triggers an all partitions (Arne Roland, Álvaro Herrera)
</para>
<para>
<listitem>
<para>
Enable system and <link
- linkend="storage-toast"><acronym>TOAST</acronym></link> btree indexes to
- efficiently store duplicates (Peter Geoghegan)
+ linkend="storage-toast"><acronym>TOAST</acronym></link> btree
+ indexes to efficiently store duplicates (Peter Geoghegan)
</para>
<para>
<listitem>
<para>
Improve lookup performance of <link
- linkend="gist"><acronym>GiST</acronym></link> indexes built using sorting
- (Aliaksandr Kalenik, Sergei Shoulbakov, Andrey Borodin)
+ linkend="gist"><acronym>GiST</acronym></link> indexes built using
+ sorting (Aliaksandr Kalenik, Sergei Shoulbakov, Andrey Borodin)
</para>
</listitem>
<listitem>
<para>
Prevent changes to columns only indexed by <link
- linkend="brin"><acronym>BRIN</acronym></link> indexes from disabling
- <acronym>HOT</acronym> updates (Josef Simanek)
+ linkend="brin"><acronym>BRIN</acronym></link> indexes from
+ disabling <acronym>HOT</acronym> updates (Josef Simanek)
</para>
</listitem>
<listitem>
<para>
- Allow unique constraints and indexes to treat <literal>NULL</literal>
- values as not distinct (Peter Eisentraut)
+ Allow unique constraints and indexes to treat
+ <literal>NULL</literal> values as not distinct (Peter Eisentraut)
</para>
<para>
- Previously <literal>NULL</literal> values were always indexed as distinct
- values, but this can now be changed by creating constraints and indexes
- using <literal>UNIQUE NULLS NOT DISTINCT</literal>.
+ Previously <literal>NULL</literal> values were always indexed
+ as distinct values, but this can now be changed by creating
+ constraints and indexes using <literal>UNIQUE NULLS NOT
+ DISTINCT</literal>.
</para>
</listitem>
<listitem>
<para>
- Allow <link linkend="functions-string-other"><literal>^@</literal></link>
- and <function>starts_with()</function> to use btree indexes if using a
- C collation (Tom Lane)
+ Allow <link
+ linkend="functions-string-other"><literal>^@</literal></link>
+ and <function>starts_with()</function> to use btree indexes if
+ using a C collation (Tom Lane)
</para>
<para>
<listitem>
<para>
- Allow <link linkend="sql-createstatistics">extended statistics</link>
- to record statistics for a parent with all its children (Tomas Vondra,
- Justin Pryzby)
+ Allow <link linkend="sql-createstatistics">extended
+ statistics</link> to record statistics for a parent with all its
+ children (Tomas Vondra, Justin Pryzby)
</para>
<para>
<listitem>
<para>
- Allow <link linkend="queries-group"><literal>GROUP BY</literal></link>
- sorting to optimize column order (Dmitry Dolgov, Teodor Sigaev, Tomas
- Vondra)
+ Allow <link linkend="queries-group"><literal>GROUP
+ BY</literal></link> sorting to optimize column order (Dmitry
+ Dolgov, Teodor Sigaev, Tomas Vondra)
</para>
<para>
<para>
Add server variable <link
linkend="guc-recursive-worktable-factor"><varname>recursive_worktable_factor</varname></link>
- to allow the user to specify the expected recursive query worktable size
- (Simon Riggs)
+ to allow the user to specify the expected recursive query worktable
+ size (Simon Riggs)
</para>
<para>
<listitem>
<para>
- Allow hash lookup for <link linkend="functions-subquery-notin"><literal>NOT
- IN</literal></link> clauses with many constants (David Rowley, James
- Coleman)
+ Allow hash lookup for <link
+ linkend="functions-subquery-notin"><literal>NOT IN</literal></link>
+ clauses with many constants (David Rowley, James Coleman)
</para>
<para>
<listitem>
<para>
- Improve validation of <acronym>UTF</acronym>-8 text (even if only
- <acronym>ASCII</acronym>) by processing 16 bytes at a time (John Naylor,
- Heikki Linnakangas)
+ Improve validation of <acronym>UTF</acronym>-8 text (even if
+ only <acronym>ASCII</acronym>) by processing 16 bytes at a time
+ (John Naylor, Heikki Linnakangas)
</para>
<para>
<listitem>
<para>
Improve performance for sorts that exceed <link
- linkend="guc-work-mem"><varname>work_mem</varname></link> (Heikki
- Linnakangas)
+ linkend="guc-work-mem"><varname>work_mem</varname></link>
+ (Heikki Linnakangas)
</para>
<para>
- 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.
</para>
</listitem>
<listitem>
<para>
- 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)
</para>
</listitem>
<listitem>
<para>
- Allow <acronym>WAL</acronym> <link linkend="guc-full-page-writes">full
- page writes</link> to use LZ4 and Zstandard compression (Andrey Borodin,
- Justin Pryzby)
+ Allow <acronym>WAL</acronym> <link
+ linkend="guc-full-page-writes">full page writes</link> to use
+ LZ4 and Zstandard compression (Andrey Borodin, Justin Pryzby)
</para>
<para>
<listitem>
<para>
- Add <link linkend="guc-wal-sync-method">direct I/O</link> support to macOS
- (Thomas Munro)
+ Add <link linkend="guc-wal-sync-method">direct I/O</link> support
+ to macOS (Thomas Munro)
</para>
<para>
- This only works if <literal>max_wal_senders=0</literal> and
- <literal>wal_level=minimal</literal>, and only for <acronym>WAL</acronym>.
+ This only works if <literal>max_wal_senders=0</literal>
+ and <literal>wal_level=minimal</literal>, and only for
+ <acronym>WAL</acronym>.
</para>
</listitem>
<listitem>
<para>
- Allow <link linkend="routine-vacuuming">vacuum</link> to be more aggressive
- in setting the oldest frozenxid (Peter Geoghegan)
+ Allow <link linkend="routine-vacuuming">vacuum</link> to be more
+ aggressive in setting the oldest frozenxid (Peter Geoghegan)
</para>
</listitem>
<listitem>
<para>
- Allow a query referencing multiple <link linkend="ddl-foreign-data">foreign
- tables</link> to perform parallel foreign table scans in more cases
- (Andrey Lepikhov, Etsuro Fujita)
+ Allow a query referencing multiple <link
+ linkend="ddl-foreign-data">foreign tables</link> to perform
+ parallel foreign table scans in more cases (Andrey Lepikhov,
+ Etsuro Fujita)
</para>
</listitem>
<para>
Improve the performance of <link linkend="functions-window">window
functions</link> that use <function>row_number()</function>,
- <function>rank()</function>, and <function>count()</function> (David
- Rowley)
+ <function>rank()</function>, and <function>count()</function>
+ (David Rowley)
</para>
</listitem>
<listitem>
<para>
- 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)
</para>
</listitem>
<listitem>
<para>
- Enable default logging of checkpoints and slow autovacuum operations
- (Bharath Rupireddy)
+ Enable default logging of checkpoints and slow autovacuum
+ operations (Bharath Rupireddy)
</para>
<para>
linkend="guc-log-checkpoints"><varname>log_checkpoints</varname></link>
to on and <link
linkend="guc-log-autovacuum-min-duration"><varname>log_autovacuum_min_duration</varname></link>
- 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.
+ 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.
</para>
</listitem>
<listitem>
<para>
- Generate periodic log message during slow server starts (Nitin Jadhav,
- Robert Haas)
+ Generate periodic log message during slow server starts (Nitin
+ Jadhav, Robert Haas)
</para>
<para>
<listitem>
<para>
- Store <link linkend="monitoring-stats">server-level statistics</link>
- in shared memory (Kyotaro Horiguchi, Andres Freund, Melanie Plageman)
+ Store <link linkend="monitoring-stats">server-level
+ statistics</link> in shared memory (Kyotaro Horiguchi, Andres
+ Freund, Melanie Plageman)
</para>
<para>
- Previously this was updated via <acronym>UDP</acronym> packets, stored in
- the file system, and read by sessions. There is no longer a statistics
- collector process.
+ Previously this was updated via <acronym>UDP</acronym> packets,
+ stored in the file system, and read by sessions. There is no
+ longer a statistics collector process.
</para>
</listitem>
<listitem>
<para>
- Add additional information to <command>VACUUM VERBOSE</command> and
- autovacuum logging messages (Peter Geoghegan)
+ Add additional information to <command>VACUUM VERBOSE</command>
+ and autovacuum logging messages (Peter Geoghegan)
</para>
</listitem>
<listitem>
<para>
- Add <link linkend="sql-explain"><command>EXPLAIN (BUFFERS)</command></link>
- output for temporary file block I/O (Masahiko Sawada)
+ Add <link linkend="sql-explain"><command>EXPLAIN
+ (BUFFERS)</command></link> output for temporary file block I/O
+ (Masahiko Sawada)
</para>
</listitem>
<para>
Allow <link
linkend="monitoring-stats-funcs-table"><function>pg_stat_reset_single_table_counters()</function></link>
- to reset the counters of relations shared across all databases (B Sadhu,
- Prasad Patro)
+ to reset the counters of relations shared across all databases
+ (B Sadhu, Prasad Patro)
</para>
</listitem>
<listitem>
<para>
- Add <link linkend="wait-event-table">wait events</link> for local shell
- commands (Fujii Masao)
+ Add <link linkend="wait-event-table">wait events</link> for local
+ shell commands (Fujii Masao)
</para>
<para>
<listitem>
<para>
- Allow <link linkend="sql-createview">view access</link> to be controlled
- by privileges of the view user (Christoph Heiss)
+ Allow <link linkend="sql-createview">view access</link> to be
+ controlled by privileges of the view user (Christoph Heiss)
</para>
<para>
<para>
Allow members of the <link
linkend="predefined-roles-table"><literal>pg_write_server_files</literal></link>
- predefined role to perform server-side base backups (Dagfinn Ilmari
- Mannsåker)
+ predefined role to perform server-side base backups (Dagfinn
+ Ilmari Mannsåker)
</para>
<para>
<listitem>
<para>
- Allow <link linkend="sql-grant"><command>GRANT</command></link> to
- assign permission to change server variables via <command>SET</command>
- and <command>ALTER SYSTEM</command> (Mark Dilger)
+ Allow <link linkend="sql-grant"><command>GRANT</command></link>
+ to assign permission to change server variables via
+ <command>SET</command> and <command>ALTER SYSTEM</command>
+ (Mark Dilger)
</para>
<para>
- New function <function>has_parameter_privilege()</function> reports on
- this privilege.
+ New function <function>has_parameter_privilege()</function>
+ reports on this privilege.
</para>
</listitem>
<para>
Add predefined role <link
linkend="predefined-roles-table"><literal>pg_checkpointer</literal></link>
- that allows members to run <command>CHECKPOINT</command> (Jeff Davis)
+ that allows members to run <command>CHECKPOINT</command>
+ (Jeff Davis)
</para>
<para>
<listitem>
<para>
- Allow <link linkend="app-postgres"><command>postgres -C</command></link>
- to properly report runtime-computed values (Nathan Bossart)
+ Allow <link linkend="app-postgres"><command>postgres
+ -C</command></link> to properly report runtime-computed values
+ (Nathan Bossart)
</para>
<para>
linkend="guc-wal-segment-size"><varname>wal_segment_size</varname></link>,
and <link
linkend="guc-data-directory-mode"><varname>data_directory_mode</varname></link>
- would report values that would not be accurate on the running server.
- However, this does not work on a running server.
+ would report values that would not be accurate on the running
+ server. However, this does not work on a running server.
</para>
</listitem>
<listitem>
<para>
Add support for LZ4 and Zstandard compression of server-side <link
- linkend="backup-base-backup">base backups</link> (Jeevan Ladhe, Robert
- Haas)
+ linkend="backup-base-backup">base backups</link> (Jeevan Ladhe,
+ Robert Haas)
</para>
</listitem>
<listitem>
<para>
- Allow <acronym>WAL</acronym> processing to pre-fetch needed file contents
- (Thomas Munro)
+ Allow <acronym>WAL</acronym> processing to pre-fetch needed file
+ contents (Thomas Munro)
</para>
<para>
For example, this syntax is now supported: <link
linkend="sql-createpublication"><command>CREATE PUBLICATION pub1
FOR ALL TABLES IN SCHEMA s1,s2;</command></link> <command>ALTER
- PUBLICATION</command> supports a similar syntax. Tables added to the
- listed schemas in the future will also be replicated.
+ PUBLICATION</command> supports a similar syntax. Tables added
+ to the listed schemas in the future will also be replicated.
</para>
</listitem>
<listitem>
<para>
- Allow publication content to be filtered using a <literal>WHERE</literal>
- clause (Hou Zhijie, Euler Taveira, Peter Smith, Ajin Cherian, Tomas Vondra,
- Amit Kapila)
+ Allow publication content to be filtered using a
+ <literal>WHERE</literal> clause (Hou Zhijie, Euler Taveira,
+ Peter Smith, Ajin Cherian, Tomas Vondra, Amit Kapila)
</para>
</listitem>
<listitem>
<para>
- Allow <link linkend="sql-createpublication">publications</link> to be
- restricted to specific columns (Tomas Vondra, Álvaro Herrera, Rahila Syed)
+ Allow <link linkend="sql-createpublication">publications</link> to
+ be restricted to specific columns (Tomas Vondra, Álvaro Herrera,
+ Rahila Syed)
</para>
</listitem>
<listitem>
<para>
- 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)
</para>
</listitem>
<listitem>
<para>
- Add two-phase information to the logical replication stream (Ajin Cherian)
+ Add two-phase information to the logical replication stream
+ (Ajin Cherian)
</para>
<para>
<listitem>
<para>
- Prevent logical replication of empty transactions (Ajin Cherian, Hou
- Zhijie, Euler Taveira)
+ Prevent logical replication of empty transactions (Ajin Cherian,
+ Hou Zhijie, Euler Taveira)
</para>
<para>
- 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.
</para>
</listitem>
<listitem>
<para>
- Add <acronym>SQL</acronym> functions to monitor the directory contents
- of logical replication slots (Bharath Rupireddy)
+ Add <acronym>SQL</acronym> functions to monitor the directory
+ contents of logical replication slots (Bharath Rupireddy)
</para>
<para>
Specifically, the functions are <link
linkend="functions-admin-genfile-table"><function>pg_ls_logicalsnapdir()</function></link>,
<function>pg_ls_logicalmapdir()</function>, and
- <function>pg_ls_replslotdir()</function>. They can be run by members of
- the predefined <literal>pg_monitor</literal> role.
+ <function>pg_ls_replslotdir()</function>. They can be run by
+ members of the predefined <literal>pg_monitor</literal> role.
</para>
</listitem>
<listitem>
<para>
- 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)
</para>
<para>
<listitem>
<para>
- 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)
</para>
<para>
<listitem>
<para>
- Allow <command>SELECT DISTINCT</command> to be parallelized (David Rowley)
+ Allow <command>SELECT DISTINCT</command> to be parallelized
+ (David Rowley)
</para>
</listitem>
<listitem>
<para>
- Add <acronym>SQL</acronym> <command>MERGE</command> command to adjust
- one table to match another (Simon Riggs, Pavan Deolasee, Álvaro Herrera,
- Amit Langote)
+ Add <acronym>SQL</acronym> <command>MERGE</command> command to
+ adjust one table to match another (Simon Riggs, Pavan Deolasee,
+ Álvaro Herrera, Amit Langote)
</para>
<para>
- This is similar to <command>INSERT ... ON CONFLICT</command> but more
- batch-oriented.
+ This is similar to <command>INSERT ... ON CONFLICT</command>
+ but more batch-oriented.
</para>
</listitem>
<listitem>
<para>