aboutsummaryrefslogtreecommitdiff
path: root/doc/src/sgml
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src/sgml')
-rw-r--r--doc/src/sgml/catalogs.sgml8
-rw-r--r--doc/src/sgml/config.sgml18
-rw-r--r--doc/src/sgml/gist.sgml25
-rw-r--r--doc/src/sgml/postgres-fdw.sgml15
-rw-r--r--doc/src/sgml/ref/pg_dump.sgml20
-rw-r--r--doc/src/sgml/ref/pg_dumpall.sgml20
-rw-r--r--doc/src/sgml/ref/security_label.sgml4
-rw-r--r--doc/src/sgml/release-18.sgml102
-rw-r--r--doc/src/sgml/system-views.sgml2
-rw-r--r--doc/src/sgml/trigger.sgml7
-rw-r--r--doc/src/sgml/xindex.sgml2
11 files changed, 148 insertions, 75 deletions
diff --git a/doc/src/sgml/catalogs.sgml b/doc/src/sgml/catalogs.sgml
index cbd4e40a320..fa86c569dc4 100644
--- a/doc/src/sgml/catalogs.sgml
+++ b/doc/src/sgml/catalogs.sgml
@@ -1582,7 +1582,7 @@
<structfield>rolpassword</structfield> <type>text</type>
</para>
<para>
- Password (possibly encrypted); null if none. The format depends
+ Encrypted password; null if none. The format depends
on the form of encryption used.
</para></entry>
</row>
@@ -1627,11 +1627,6 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l
<replaceable>ServerKey</replaceable> are in Base64 encoded format. This format is
the same as that specified by <ulink url="https://datatracker.ietf.org/doc/html/rfc5803">RFC 5803</ulink>.
</para>
-
- <para>
- A password that does not follow either of those formats is assumed to be
- unencrypted.
- </para>
</sect1>
@@ -2629,7 +2624,6 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</replaceable>:<replaceable>&l
</para>
<para>
Has the constraint been validated?
- Currently, can be false only for foreign keys and CHECK constraints
</para></entry>
</row>
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index ca2a567b2b1..021153b2a5f 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -7527,12 +7527,12 @@ local0.* /var/log/postgresql
<entry><literal>setup_durations</literal></entry>
<entry>
Logs the time spent establishing the connection and setting up the
- backend at the time the connection is ready to execute its first
- query. The log message includes the total setup duration, starting
- from the postmaster accepting the incoming connection and ending
- when the connection is ready for query. It also includes the time
- it took to fork the new backend and the time it took to
- authenticate the user.
+ backend until the connection is ready to execute its first
+ query. The log message includes three durations: the total
+ setup duration (starting from the postmaster accepting the
+ incoming connection and ending when the connection is ready
+ for query), the time it took to fork the new backend, and
+ the time it took to authenticate the user.
</entry>
</row>
@@ -7923,10 +7923,10 @@ log_line_prefix = '%m [%p] %q%u@%d/%a '
</listitem>
</varlistentry>
- <varlistentry id="guc-log-lock-failure" xreflabel="log_lock_failure">
- <term><varname>log_lock_failure</varname> (<type>boolean</type>)
+ <varlistentry id="guc-log-lock-failures" xreflabel="log_lock_failures">
+ <term><varname>log_lock_failures</varname> (<type>boolean</type>)
<indexterm>
- <primary><varname>log_lock_failure</varname> configuration parameter</primary>
+ <primary><varname>log_lock_failures</varname> configuration parameter</primary>
</indexterm>
</term>
<listitem>
diff --git a/doc/src/sgml/gist.sgml b/doc/src/sgml/gist.sgml
index a373a8aa4b2..ee86e170055 100644
--- a/doc/src/sgml/gist.sgml
+++ b/doc/src/sgml/gist.sgml
@@ -1170,7 +1170,7 @@ my_sortsupport(PG_FUNCTION_ARGS)
</varlistentry>
<varlistentry>
- <term><function>stratnum</function></term>
+ <term><function>translate_cmptype</function></term>
<listitem>
<para>
Given a <literal>CompareType</literal> value from
@@ -1189,11 +1189,22 @@ my_sortsupport(PG_FUNCTION_ARGS)
</para>
<para>
+ This support function corresponds to the index access method callback
+ function <structfield>amtranslatecmptype</structfield> (see <xref
+ linkend="index-functions"/>). The
+ <structfield>amtranslatecmptype</structfield> callback function for
+ GiST indexes merely calls down to the
+ <function>translate_cmptype</function> support function of the
+ respective operator family, since the GiST index access method has no
+ fixed strategy numbers itself.
+ </para>
+
+ <para>
The <acronym>SQL</acronym> declaration of the function must look like
this:
<programlisting>
-CREATE OR REPLACE FUNCTION my_stratnum(integer)
+CREATE OR REPLACE FUNCTION my_translate_cmptype(integer)
RETURNS smallint
AS 'MODULE_PATHNAME'
LANGUAGE C STRICT;
@@ -1202,7 +1213,7 @@ LANGUAGE C STRICT;
And the operator family registration must look like this:
<programlisting>
ALTER OPERATOR FAMILY my_opfamily USING gist ADD
- FUNCTION 12 ("any", "any") my_stratnum(int);
+ FUNCTION 12 ("any", "any") my_translate_cmptype(int);
</programlisting>
</para>
@@ -1210,10 +1221,10 @@ ALTER OPERATOR FAMILY my_opfamily USING gist ADD
The matching code in the C module could then follow this skeleton:
<programlisting>
-PG_FUNCTION_INFO_V1(my_stratnum);
+PG_FUNCTION_INFO_V1(my_translate_cmptype);
Datum
-my_stratnum(PG_FUNCTION_ARGS)
+my_translate_cmptype(PG_FUNCTION_ARGS)
{
CompareType cmptype = PG_GETARG_INT32(0);
StrategyNumber ret = InvalidStrategy;
@@ -1232,11 +1243,11 @@ my_stratnum(PG_FUNCTION_ARGS)
<para>
One translation function is provided by
<productname>PostgreSQL</productname>:
- <literal>gist_stratnum_common</literal> is for operator classes that
+ <literal>gist_translate_cmptype_common</literal> is for operator classes that
use the <literal>RT*StrategyNumber</literal> constants.
The <literal>btree_gist</literal>
extension defines a second translation function,
- <literal>gist_stratnum_btree</literal>, for operator classes that use
+ <literal>gist_translate_cmptype_btree</literal>, for operator classes that use
the <literal>BT*StrategyNumber</literal> constants.
</para>
</listitem>
diff --git a/doc/src/sgml/postgres-fdw.sgml b/doc/src/sgml/postgres-fdw.sgml
index 781a01067f7..c464716e3ce 100644
--- a/doc/src/sgml/postgres-fdw.sgml
+++ b/doc/src/sgml/postgres-fdw.sgml
@@ -1078,6 +1078,21 @@ postgres=# SELECT postgres_fdw_disconnect_all();
</para>
<para>
+ The remote transaction is opened in the same read/write mode as the local
+ transaction: if the local transaction is <literal>READ ONLY</literal>,
+ the remote transaction is opened in <literal>READ ONLY</literal> mode,
+ otherwise it is opened in <literal>READ WRITE</literal> mode.
+ (This rule is also applied to remote and local subtransactions.)
+ </para>
+
+ <para>
+ The remote transaction is also opened in the same deferrable mode as the
+ local transaction: if the local transaction is <literal>DEFERRABLE</literal>,
+ the remote transaction is opened in <literal>DEFERRABLE</literal> mode,
+ otherwise it is opened in <literal>NOT DEFERRABLE</literal> mode.
+ </para>
+
+ <para>
Note that it is currently not supported by
<filename>postgres_fdw</filename> to prepare the remote transaction for
two-phase commit.
diff --git a/doc/src/sgml/ref/pg_dump.sgml b/doc/src/sgml/ref/pg_dump.sgml
index c10bca63e55..d7595a7e546 100644
--- a/doc/src/sgml/ref/pg_dump.sgml
+++ b/doc/src/sgml/ref/pg_dump.sgml
@@ -1134,7 +1134,7 @@ PostgreSQL documentation
<term><option>--no-statistics</option></term>
<listitem>
<para>
- Do not dump statistics.
+ Do not dump statistics. This is the default.
</para>
</listitem>
</varlistentry>
@@ -1461,7 +1461,7 @@ PostgreSQL documentation
<term><option>--with-statistics</option></term>
<listitem>
<para>
- Dump statistics. This is the default.
+ Dump statistics.
</para>
</listitem>
</varlistentry>
@@ -1681,14 +1681,14 @@ CREATE DATABASE foo WITH TEMPLATE template0;
</para>
<para>
- By default, <command>pg_dump</command> will include most optimizer
- statistics in the resulting dump file. However, some statistics may not be
- included, such as those created explicitly with <xref
- linkend="sql-createstatistics"/> or custom statistics added by an
- extension. Therefore, it may be useful to run <command>ANALYZE</command>
- after restoring from a dump file to ensure optimal performance; see <xref
- linkend="vacuum-for-statistics"/> and <xref linkend="autovacuum"/> for more
- information.
+ If <option>--with-statistics</option> is specified,
+ <command>pg_dump</command> will include most optimizer statistics in the
+ resulting dump file. However, some statistics may not be included, such as
+ those created explicitly with <xref linkend="sql-createstatistics"/> or
+ custom statistics added by an extension. Therefore, it may be useful to
+ run <command>ANALYZE</command> after restoring from a dump file to ensure
+ optimal performance; see <xref linkend="vacuum-for-statistics"/> and <xref
+ linkend="autovacuum"/> for more information.
</para>
<para>
diff --git a/doc/src/sgml/ref/pg_dumpall.sgml b/doc/src/sgml/ref/pg_dumpall.sgml
index 8c5141d036c..723a466cfaa 100644
--- a/doc/src/sgml/ref/pg_dumpall.sgml
+++ b/doc/src/sgml/ref/pg_dumpall.sgml
@@ -567,7 +567,7 @@ exclude database <replaceable class="parameter">PATTERN</replaceable>
<term><option>--no-statistics</option></term>
<listitem>
<para>
- Do not dump statistics.
+ Do not dump statistics. This is the default.
</para>
</listitem>
</varlistentry>
@@ -741,7 +741,7 @@ exclude database <replaceable class="parameter">PATTERN</replaceable>
<term><option>--with-statistics</option></term>
<listitem>
<para>
- Dump statistics. This is the default.
+ Dump statistics.
</para>
</listitem>
</varlistentry>
@@ -957,14 +957,14 @@ exclude database <replaceable class="parameter">PATTERN</replaceable>
</para>
<para>
- By default, <command>pg_dumpall</command> will include most optimizer
- statistics in the resulting dump file. However, some statistics may not be
- included, such as those created explicitly with <xref
- linkend="sql-createstatistics"/> or custom statistics added by an
- extension. Therefore, it may be useful to run <command>ANALYZE</command>
- on each database after restoring from a dump file to ensure optimal
- performance. You can also run <command>vacuumdb -a -z</command> to analyze
- all databases.
+ If <option>--with-statistics</option> is specified,
+ <command>pg_dumpall</command> will include most optimizer statistics in the
+ resulting dump file. However, some statistics may not be included, such as
+ those created explicitly with <xref linkend="sql-createstatistics"/> or
+ custom statistics added by an extension. Therefore, it may be useful to
+ run <command>ANALYZE</command> on each database after restoring from a dump
+ file to ensure optimal performance. You can also run <command>vacuumdb -a
+ -z</command> to analyze all databases.
</para>
<para>
diff --git a/doc/src/sgml/ref/security_label.sgml b/doc/src/sgml/ref/security_label.sgml
index e5e5fb483e9..aa45c0af248 100644
--- a/doc/src/sgml/ref/security_label.sgml
+++ b/doc/src/sgml/ref/security_label.sgml
@@ -84,6 +84,10 @@ SECURITY LABEL [ FOR <replaceable class="parameter">provider</replaceable> ] ON
based on object labels, rather than traditional discretionary access control
(DAC) concepts such as users and groups.
</para>
+
+ <para>
+ You must own the database object to use <command>SECURITY LABEL</command>.
+ </para>
</refsect1>
<refsect1>
diff --git a/doc/src/sgml/release-18.sgml b/doc/src/sgml/release-18.sgml
index 2ae03065f94..19e770c65b5 100644
--- a/doc/src/sgml/release-18.sgml
+++ b/doc/src/sgml/release-18.sgml
@@ -82,7 +82,8 @@ Deprecate MD5 password authentication (Nathan Bossart)
</para>
<para>
-Warnings generated by their use can be disabled by the server variable md5_password_warnings.
+Support for MD5 passwords will be removed in a future major version release. CREATE ROLE and ALTER ROLE now emit deprecation warnings when setting MD5 passwords.
+These warnings can be disabled by setting the md5_password_warnings parameter to "off".
</para>
</listitem>
@@ -193,6 +194,27 @@ These were previously zero-based.
</para>
</listitem>
+<!--
+Author: Peter Eisentraut <peter@eisentraut.org>
+2024-10-16 [04bec894a04] initdb: Change default to using data checksums.
+-->
+
+<listitem>
+<para>
+initdb defaults to enabling data checksums
+<ulink url="&commit_baseurl;04bec894a04">&sect;</ulink>
+</para>
+
+<para>
+The previous default behavior (checksums disabled) can be obtained using the
+new option --no-data-checksums. Note that pg_upgrade will reject upgrading
+between clusters with different checksum settings, so if the old cluster does
+not have checksums enabled (the previous default), then the new cluster will
+need to be initialized with --no-data-checksums in order to allow pg_upgrade
+to succeed.
+</para>
+</listitem>
+
</itemizedlist>
</sect2>
@@ -568,6 +590,7 @@ Add an asynchronous I/O subsystem (Andres Freund, Thomas Munro, Nazir Bilal Yavu
</para>
<para>
+This feature allows backends to queue multiple read requests, which allows for more efficient sequential scans, bitmap heap scans, vacuums, etc.
This is enabled by server variable io_method, with server variables io_combine_limit and io_max_combine_limit added to control it. This also enables
effective_io_concurrency and maintenance_io_concurrency values greater than zero for systems without fadvise() support. The new system view pg_aios shows the file handles being used
for asynchronous I/O.
@@ -681,15 +704,12 @@ This more accurately reflects modern hardware.
<!--
Author: Melanie Plageman <melanieplageman@gmail.com>
2025-03-12 [9219093ca] Modularize log_connections output
-Author: Melanie Plageman <melanieplageman@gmail.com>
-2025-03-12 [18cd15e70] Add connection establishment duration logging
-->
<listitem>
<para>
Increase the logging granularity of server variable log_connections (Melanie Plageman)
<ulink url="&commit_baseurl;9219093ca">&sect;</ulink>
-<ulink url="&commit_baseurl;18cd15e70">&sect;</ulink>
</para>
<para>
@@ -698,6 +718,18 @@ This server variable was previously only boolean; these options are still suppo
</listitem>
<!--
+Author: Melanie Plageman <melanieplageman@gmail.com>
+2025-03-12 [18cd15e70] Add connection establishment duration logging
+-->
+
+<listitem>
+<para>
+Add log_connections option to report the duration of connection stages (Melanie Plageman)
+<ulink url="&commit_baseurl;18cd15e70">&sect;</ulink>
+</para>
+</listitem>
+
+<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2025-04-07 [3516ea768] Add local-address escape "%L" to log_line_prefix.
-->
@@ -716,7 +748,7 @@ Author: Fujii Masao <fujii@postgresql.org>
<listitem>
<para>
-Add server variable log_lock_failure to log lock acquisition failures (Yuki Seino)
+Add server variable log_lock_failures to log lock acquisition failures (Yuki Seino)
<ulink url="&commit_baseurl;6d376c3b0">&sect;</ulink>
</para>
@@ -762,6 +794,33 @@ mode; tracking must be enabled with the server variable track_cost_delay_timing.
</listitem>
<!--
+Author: Masahiko Sawada <msawada@postgresql.org>
+2024-08-13 [4c1b4cdb8] Add resource statistics reporting to ANALYZE VERBOSE.
+Author: Masahiko Sawada <msawada@postgresql.org>
+2024-09-09 [bb7775234] Add WAL usage reporting to ANALYZE VERBOSE output.
+-->
+
+<listitem>
+<para>
+Add WAL, CPU, and average read statistics output to ANALYZE VERBOSE (Anthonin Bonnefoy)
+<ulink url="&commit_baseurl;4c1b4cdb8">&sect;</ulink>
+<ulink url="&commit_baseurl;bb7775234">&sect;</ulink>
+</para>
+</listitem>
+
+<!--
+Author: Michael Paquier <michael@paquier.xyz>
+2025-02-17 [6a8a7ce47] Add information about WAL buffers full to VACUUM/ANALYZE
+-->
+
+<listitem>
+<para>
+Add full WAL buffer count to VACUUM/ANALYZE (VERBOSE) and autovacuum log output (Bertrand Drouvot)
+<ulink url="&commit_baseurl;6a8a7ce47">&sect;</ulink>
+</para>
+</listitem>
+
+<!--
Author: Michael Paquier <michael@paquier.xyz>
2024-12-19 [9aea73fc6] Add backend-level statistics to pgstats
Author: Michael Paquier <michael@paquier.xyz>
@@ -1740,32 +1799,14 @@ Automatically include BUFFERS output in EXPLAIN ANALYZE (Guillaume Lelarge, Davi
</listitem>
<!--
-Author: Masahiko Sawada <msawada@postgresql.org>
-2024-08-13 [4c1b4cdb8] Add resource statistics reporting to ANALYZE VERBOSE.
-Author: Masahiko Sawada <msawada@postgresql.org>
-2024-09-09 [bb7775234] Add WAL usage reporting to ANALYZE VERBOSE output.
--->
-
-<listitem>
-<para>
-Add WAL, CPU, and average read statistics output to EXPLAIN ANALYZE VERBOSE (Anthonin Bonnefoy)
-<ulink url="&commit_baseurl;4c1b4cdb8">&sect;</ulink>
-<ulink url="&commit_baseurl;bb7775234">&sect;</ulink>
-</para>
-</listitem>
-
-<!--
Author: Michael Paquier <michael@paquier.xyz>
2025-02-17 [320545bfc] Add information about WAL buffers being full to EXPLAIN
-Author: Michael Paquier <michael@paquier.xyz>
-2025-02-17 [6a8a7ce47] Add information about WAL buffers full to VACUUM/ANALYZE
-->
<listitem>
<para>
-Add full WAL buffer count to EXPLAIN (WAL), VACUUM/ANALYZE (VERBOSE), and autovacuum log output (Bertrand Drouvot)
+Add full WAL buffer count to EXPLAIN (WAL) output (Bertrand Drouvot)
<ulink url="&commit_baseurl;320545bfc">&sect;</ulink>
-<ulink url="&commit_baseurl;6a8a7ce47">&sect;</ulink>
</para>
</listitem>
@@ -2745,7 +2786,7 @@ This is to handle cases where a pre-Postgres 18 cluster's default CPU signedness
</sect4>
<sect4 id="release-18-logicalrep-app">
- <title>Logical Replication Applications></title>
+ <title>Logical Replication Applications</title>
<itemizedlist>
@@ -2904,13 +2945,22 @@ Add ARM Neon and SVE CPU intrinsics for popcount (integer bit counting) (Chiranm
<!--
Author: Dean Rasheed <dean.a.rasheed@gmail.com>
+2024-07-09 [ca481d3c9] Optimise numeric multiplication for short inputs.
+Author: Dean Rasheed <dean.a.rasheed@gmail.com>
+2024-08-15 [c4e44224c] Extend mul_var_short() to 5 and 6-digit inputs.
+Author: Dean Rasheed <dean.a.rasheed@gmail.com>
2024-08-15 [8dc28d7eb] Optimise numeric multiplication using base-NBASE^2 arith
+Author: Dean Rasheed <dean.a.rasheed@gmail.com>
+2024-10-04 [9428c001f] Speed up numeric division by always using the "fast" alg
-->
<listitem>
<para>
-Improve the speed of multiplication (Joel Jacobson, Dean Rasheed)
+Improve the speed of numeric multiplication and division (Joel Jacobson, Dean Rasheed)
+<ulink url="&commit_baseurl;ca481d3c9">&sect;</ulink>
+<ulink url="&commit_baseurl;c4e44224c">&sect;</ulink>
<ulink url="&commit_baseurl;8dc28d7eb">&sect;</ulink>
+<ulink url="&commit_baseurl;9428c001f">&sect;</ulink>
</para>
</listitem>
diff --git a/doc/src/sgml/system-views.sgml b/doc/src/sgml/system-views.sgml
index b58c52ea50f..986ae1f543d 100644
--- a/doc/src/sgml/system-views.sgml
+++ b/doc/src/sgml/system-views.sgml
@@ -3932,7 +3932,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
<structfield>passwd</structfield> <type>text</type>
</para>
<para>
- Password (possibly encrypted); null if none. See
+ Encrypted password; null if none. See
<link linkend="catalog-pg-authid"><structname>pg_authid</structname></link>
for details of how encrypted passwords are stored.
</para></entry>
diff --git a/doc/src/sgml/trigger.sgml b/doc/src/sgml/trigger.sgml
index e9214dcf1b1..bb1b5faf34e 100644
--- a/doc/src/sgml/trigger.sgml
+++ b/doc/src/sgml/trigger.sgml
@@ -129,10 +129,9 @@
In all cases, a trigger is executed as part of the same transaction as
the statement that triggered it, so if either the statement or the
trigger causes an error, the effects of both will be rolled back.
- Also, the trigger will always run in the security context of the role
- that executed the statement that caused the trigger to fire, unless
- the trigger function is defined as <literal>SECURITY DEFINER</literal>,
- in which case it will run as the function owner.
+ Also, the trigger will always run as the role that queued the trigger
+ event, unless the trigger function is marked as <literal>SECURITY
+ DEFINER</literal>, in which case it will run as the function owner.
</para>
<para>
diff --git a/doc/src/sgml/xindex.sgml b/doc/src/sgml/xindex.sgml
index 7e23a7b6e43..3d315df2f98 100644
--- a/doc/src/sgml/xindex.sgml
+++ b/doc/src/sgml/xindex.sgml
@@ -598,7 +598,7 @@
<entry>11</entry>
</row>
<row>
- <entry><function>stratnum</function></entry>
+ <entry><function>translate_cmptype</function></entry>
<entry>translate compare types to strategy numbers
used by the operator class (optional)</entry>
<entry>12</entry>