Support for MD5 passwords will be removed in a future major version release. <command>CREATE ROLE</command> and <command>ALTER ROLE</command> now emit deprecation warnings when setting MD5 passwords.
Support for MD5 passwords will be removed in a future major version release. <xref linkend="sql-createrole"/> and <xref linkend="sql-alterrole"/> now emit deprecation warnings when setting MD5 passwords.
These warnings can be disabled by setting the <xref linkend="guc-md5-password-warnings"/> parameter to <literal>off</literal>.
</para>
</listitem>
@ -112,7 +112,7 @@ Author: David Rowley <drowley@postgresql.org>
<listitem>
<para>
Change <command>VACUUM</command> and <command>ANALYZE</command> to process the inheritance children of a parent (Michael Harris)
Change <xref linkend="sql-vacuum"/> and <xref linkend="sql-analyze"/> to process the inheritance children of a parent (Michael Harris)
@ -130,7 +130,7 @@ Author: Tom Lane <tgl@sss.pgh.pa.us>
<listitem>
<para>
Prevent <command>COPY FROM</command> from treating <literal>\.</literal> as an end-of-file marker when reading <acronym>CSV</acronym> files (Daniel Vérité, Tom Lane)
Prevent <link linkend="sql-copy"><command>COPY FROM</command></link> from treating <literal>\.</literal> as an end-of-file marker when reading <acronym>CSV</acronym> files (Daniel Vérité, Tom Lane)
Previously <command>ALTER TABLE SET [UN]LOGGED</command> did nothing, and the creation of an unlogged partitioned table did not cause its children to be unlogged.
Previously <link linkend="sql-altertable"><command>ALTER TABLE SET [UN]LOGGED</command></link> did nothing, and the creation of an unlogged partitioned table did not cause its children to be unlogged.
</para>
</listitem>
@ -170,7 +170,7 @@ Execute <literal>AFTER</literal> triggers as the role that was active when trigg
</para>
<para>
Previously such triggers were run as the role that was active at trigger execution time (e.g., at <command>COMMIT</command>). This is significant for cases where the role is changed between queue time and
Previously such triggers were run as the role that was active at trigger execution time (e.g., at <xref linkend="sql-commit"/>). This is significant for cases where the role is changed between queue time and
@ -607,7 +607,7 @@ Add an asynchronous I/O subsystem (Andres Freund, Thomas Munro, Nazir Bilal Yavu
<para>
This feature allows backends to queue multiple read requests, which allows for more efficient sequential scans, bitmap heap scans, vacuums, etc.
This is enabled by server variable <xref linkend="guc-io-method"/>, with server variables <xref linkend="guc-io-combine-limit"/> and <xref linkend="guc-io-max-combine-limit"/> added to control it. This also enables
<xref linkend="guc-effective-io-concurrency"/> and <xref linkend="guc-maintenance-io-concurrency"/> values greater than zero for systems without <function>fadvise()</function> support. The new system view <structname>pg_aios</structname> shows the file handles being used
<xref linkend="guc-effective-io-concurrency"/> and <xref linkend="guc-maintenance-io-concurrency"/> values greater than zero for systems without <function>fadvise()</function> support. The new system view <link linkend="view-pg-aios"><structname>pg_aios</structname></link> shows the file handles being used
Add server variable <xref linkend="guc-vacuum-truncate"/> to control file truncation during <command>VACUUM</command> (Nathan Bossart, Gurjeet Singh)
Add server variable <xref linkend="guc-vacuum-truncate"/> to control file truncation during <xref linkend="sql-vacuum"/> (Nathan Bossart, Gurjeet Singh)
@ -768,7 +768,7 @@ Add server variable <xref linkend="guc-log-lock-failures"/> to log lock acquisit
</para>
<para>
Specifically it reports <command>SELECT ... NOWAIT</command> lock failures.
Specifically it reports <link linkend="sql-select"><command>SELECT ... NOWAIT</command></link> lock failures.
</para>
</listitem>
@ -779,7 +779,7 @@ Author: Michael Paquier <michael@paquier.xyz>
<listitem>
<para>
Modify <structname>pg_stat_all_tables</structname> and its variants to report the time spent in <literal>VACUUM</literal>, <literal>ANALYZE</literal>, and their automatic variants (Sami Imseih)
Modify <link linkend="monitoring-pg-stat-all-tables-view"><structname>pg_stat_all_tables</structname></link> and its variants to report the time spent in <literal>VACUUM</literal>, <literal>ANALYZE</literal>, and their automatic variants (Sami Imseih)
This information appears in the autovacuum logs, the system views <structname>pg_stat_progress_vacuum</structname> and <structname>pg_stat_progress_analyze</structname>, and the output of <command>VACUUM</command> and <command>ANALYZE</command> when in <literal>VERBOSE</literal>
This information appears in the autovacuum logs, the system views <link linkend="vacuum-progress-reporting"><structname>pg_stat_progress_vacuum</structname></link> and <link linkend="pg-stat-progress-analyze-view"><structname>pg_stat_progress_analyze</structname></link>, and the output of <command>VACUUM</command> and <command>ANALYZE</command> when in <literal>VERBOSE</literal>
mode; tracking must be enabled with the server variable <xref linkend="guc-track-cost-delay-timing"/>.
</para>
</listitem>
@ -861,7 +861,7 @@ Author: Michael Paquier <michael@paquier.xyz>
<listitem>
<para>
Add <structname>pg_stat_io</structname> columns to report I/O activity in bytes (Nazir Bilal Yavuz)
Add <link linkend="monitoring-pg-stat-io-view"><structname>pg_stat_io</structname></link> columns to report I/O activity in bytes (Nazir Bilal Yavuz)
@ -900,7 +900,7 @@ Author: Michael Paquier <michael@paquier.xyz>
<listitem>
<para>
Change server variable <xref linkend="guc-track-wal-io-timing"/> to control tracking <acronym>WAL</acronym> timing in <structname>pg_stat_io</structname> instead of <structname>pg_stat_wal</structname> (Bertrand Drouvot)
Change server variable <xref linkend="guc-track-wal-io-timing"/> to control tracking <acronym>WAL</acronym> timing in <structname>pg_stat_io</structname> instead of <link linkend="pg-stat-wal-view"><structname>pg_stat_wal</structname></link> (Bertrand Drouvot)
Add column <structname>pg_stat_checkpointer</structname>.<structfield>num_done</structfield> to report the number of completed checkpoints (Anton A. Melnikov)
Add column <link linkend="monitoring-pg-stat-checkpointer-view"><structname>pg_stat_checkpointer</structname></link>.<structfield>num_done</structfield> to report the number of completed checkpoints (Anton A. Melnikov)
@ -1042,7 +1042,7 @@ Author: David Rowley <drowley@postgresql.org>
<listitem>
<para>
Add column <structname>pg_backend_memory_contexts</structname>.<structfield>type</structfield> to report the type of memory context (David Rowley)
Add column <link linkend="view-pg-backend-memory-contexts"><structname>pg_backend_memory_contexts</structname></link>.<structfield>type</structfield> to report the type of memory context (David Rowley)
Also report in new columns of <structname>pg_stat_subscription_stats</structname>.
Also report in new columns of <link linkend="monitoring-pg-stat-subscription-stats"><structname>pg_stat_subscription_stats</structname></link>.
</para>
</listitem>
@ -1471,7 +1471,7 @@ Add <literal>OLD</literal>/<literal>NEW</literal> support to <literal>RETURNING<
</para>
<para>
Previously <literal>RETURNING</literal> only returned new values for <command>INSERT</command> and <command>UPDATE</command>, and old values for <command>DELETE</command>; <command>MERGE</command> would return the appropriate value for the internal query executed. This new syntax
Previously <literal>RETURNING</literal> only returned new values for <xref linkend="sql-insert"/> and <xref linkend="sql-update"/>, and old values for <xref linkend="sql-delete"/>; <xref linkend="sql-merge"/> would return the appropriate value for the internal query executed. This new syntax
allows the <literal>RETURNING</literal> list of <command>INSERT</command>/<command>UPDATE</command>/<command>DELETE</command>/<command>MERGE</command> to explicitly return old and new values by using the special aliases <literal>old</literal> and <literal>new</literal>. These aliases can be renamed to
avoid identifier conflicts.
</para>
@ -1489,7 +1489,7 @@ Allow foreign tables to be created like existing local tables (Zhang Mingli)
</para>
<para>
The syntax is <command>CREATE FOREIGN TABLE ... LIKE</command>.
The syntax is <link linkend="sql-createforeigntable"><command>CREATE FOREIGN TABLE ... LIKE</command></link>.
</para>
</listitem>
@ -1544,7 +1544,7 @@ Author: David Rowley <drowley@postgresql.org>
<listitem>
<para>
Allow <command>VACUUM</command> and <command>ANALYZE</command> to process partitioned tables without processing their children (Michael Harris)
Allow <xref linkend="sql-vacuum"/> and <xref linkend="sql-analyze"/> to process partitioned tables without processing their children (Michael Harris)
@ -1588,7 +1588,7 @@ Add server variable <xref linkend="guc-file-copy-method"/> to control the file c
</para>
<para>
This controls whether <command>CREATE DATABASE ... STRATEGY=FILE_COPY</command> and <command>ALTER DATABASE ... SET TABLESPACE</command> uses file copy or clone.
This controls whether <link linkend="sql-createdatabase"><command>CREATE DATABASE ... STRATEGY=FILE_COPY</command></link> and <link linkend="sql-alterdatabase"><command>ALTER DATABASE ... SET TABLESPACE</command></link> uses file copy or clone.
</para>
</listitem>
@ -1630,7 +1630,7 @@ Allow <literal>CHECK</literal> and foreign key constraints to be specified as <l
</para>
<para>
This also adds column <structname>pg_constraint</structname>.<structfield>conenforced</structfield>.</para>
This also adds column <link linkend="catalog-pg-constraint"><structname>pg_constraint</structname></link>.<structfield>conenforced</structfield>.</para>
Allow <command>ALTER TABLE</command> to set the <literal>NOT VALID</literal> attribute of <literal>NOT NULL</literal> constraints (Rushabh Lathia, Jian He)
Allow <xref linkend="sql-altertable"/> to set the <literal>NOT VALID</literal> attribute of <literal>NOT NULL</literal> constraints (Rushabh Lathia, Jian He)
The function <function>pg_numa_available()</function> reports on <acronym>NUMA</acronym> awareness, and system views <structname>pg_shmem_allocations_numa</structname> and <structname>pg_buffercache_numa</structname> which report on shared memory distribution across
The function <function>pg_numa_available()</function> reports on <acronym>NUMA</acronym> awareness, and system views <link linkend="view-pg-shmem-allocations-numa"><structname>pg_shmem_allocations_numa</structname></link> and <link linkend="pgbuffercache-pg-buffercache-numa"><structname>pg_buffercache_numa</structname></link> which report on shared memory distribution across
Add <acronym>TOAST</acronym> table to <structname>pg_index</structname> to allow for very large expression indexes (Nathan Bossart)
Add <acronym>TOAST</acronym> table to <link linkend="catalog-pg-index"><structname>pg_index</structname></link> to allow for very large expression indexes (Nathan Bossart)
@ -3481,7 +3481,7 @@ Author: Michael Paquier <michael@paquier.xyz>
<listitem>
<para>
Allow the queries of <command>CREATE TABLE AS</command> and <command>DECLARE</command> to be tracked by <application>pg_stat_statements</application> (Anthonin Bonnefoy)
Allow the queries of <xref linkend="sql-createtableas"/> and <xref linkend="sql-declare"/> to be tracked by <application>pg_stat_statements</application> (Anthonin Bonnefoy)