On Thu, Sep 10, 2020 at 03:58:31PM +0900, Michael Paquier wrote: > On Wed, Sep 09, 2020 at 09:37:42AM -0500, Justin Pryzby wrote: > > I've added a few more. > > I have done an extra round of review on this patch series, and applied > what looked obvious to me (basically the points already discussed > upthread). Some parts applied down to 9.6 for the docs.
Thanks. Here's the remainder, with some new ones. -- Justin
>From ff7662fb2e68257bcffd9f0281220b5d3ab9dfbc Mon Sep 17 00:00:00 2001 From: Justin Pryzby <pryz...@telsasoft.com> Date: Mon, 30 Mar 2020 19:43:22 -0500 Subject: [PATCH v9 01/15] doc: btree deduplication commit 0d861bbb702f8aa05c2a4e3f1650e7e8df8c8c27 Author: Peter Geoghegan <p...@bowt.ie> --- doc/src/sgml/btree.sgml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/sgml/btree.sgml b/doc/src/sgml/btree.sgml index 20cabe921f..bb395e6a85 100644 --- a/doc/src/sgml/btree.sgml +++ b/doc/src/sgml/btree.sgml @@ -642,7 +642,7 @@ options(<replaceable>relopts</replaceable> <type>local_relopts *</type>) returns </para> <para> Deduplication works by periodically merging groups of duplicate - tuples together, forming a single posting list tuple for each + tuples together, forming a single <firstterm>posting list</firstterm> tuple for each group. The column key value(s) only appear once in this representation. This is followed by a sorted array of <acronym>TID</acronym>s that point to rows in the table. This -- 2.17.0
>From 9be911f869805b2862154d0170fa89fbd6be9e10 Mon Sep 17 00:00:00 2001 From: Justin Pryzby <pryz...@telsasoft.com> Date: Sun, 29 Mar 2020 21:22:43 -0500 Subject: [PATCH v9 02/15] doc: pg_stat_progress_basebackup commit e65497df8f85ab9b9084c928ff69f384ea729b24 Author: Fujii Masao <fu...@postgresql.org> --- doc/src/sgml/monitoring.sgml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/monitoring.sgml b/doc/src/sgml/monitoring.sgml index 673a0e73e4..4e0193a967 100644 --- a/doc/src/sgml/monitoring.sgml +++ b/doc/src/sgml/monitoring.sgml @@ -6089,8 +6089,8 @@ SELECT pg_stat_get_backend_pid(s.backendid) AS pid, <entry><literal>waiting for checkpoint to finish</literal></entry> <entry> The WAL sender process is currently performing - <function>pg_start_backup</function> to set up for - taking a base backup, and waiting for backup start + <function>pg_start_backup</function> to prepare to + take a base backup, and waiting for the start-of-backup checkpoint to finish. </entry> </row> -- 2.17.0
>From 6500196ffbcc735eccb7623e728788aa3f5494bc Mon Sep 17 00:00:00 2001 From: Justin Pryzby <pryz...@telsasoft.com> Date: Tue, 7 Apr 2020 19:56:56 -0500 Subject: [PATCH v9 03/15] doc: Allow users to limit storage reserved by replication slots commit c6550776394e25c1620bc8258427c8f1d448080d Author: Alvaro Herrera <alvhe...@alvh.no-ip.org> --- doc/src/sgml/config.sgml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index 2c75876e32..6c1c9157d8 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -3902,9 +3902,9 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows slots</link> are allowed to retain in the <filename>pg_wal</filename> directory at checkpoint time. If <varname>max_slot_wal_keep_size</varname> is -1 (the default), - replication slots retain unlimited amount of WAL files. If - restart_lsn of a replication slot gets behind more than that megabytes - from the current LSN, the standby using the slot may no longer be able + replication slots may retain an unlimited amount of WAL files. Otherwise, if + restart_lsn of a replication slot falls behind the current LSN by more + than the given size, the standby using the slot may no longer be able to continue replication due to removal of required WAL files. You can see the WAL availability of replication slots in <link linkend="view-pg-replication-slots">pg_replication_slots</link>. -- 2.17.0
>From bf31db4f44e2d379660492a68343a1a65e10cb60 Mon Sep 17 00:00:00 2001 From: Justin Pryzby <pryz...@telsasoft.com> Date: Mon, 6 Apr 2020 17:16:07 -0500 Subject: [PATCH v9 04/15] doc: s/evade/avoid/ --- src/backend/access/gin/README | 2 +- src/backend/utils/adt/jsonpath_exec.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/backend/access/gin/README b/src/backend/access/gin/README index 125a82219b..41d4e1e8a0 100644 --- a/src/backend/access/gin/README +++ b/src/backend/access/gin/README @@ -413,7 +413,7 @@ leftmost leaf of the tree. Deletion algorithm keeps exclusive locks on left siblings of pages comprising currently investigated path. Thus, if current page is to be removed, all required pages to remove both downlink and rightlink are already locked. That -evades potential right to left page locking order, which could deadlock with +avoids potential right to left page locking order, which could deadlock with concurrent stepping right. A search concurrent to page deletion might already have read a pointer to the diff --git a/src/backend/utils/adt/jsonpath_exec.c b/src/backend/utils/adt/jsonpath_exec.c index 2c0b362502..0591c9effc 100644 --- a/src/backend/utils/adt/jsonpath_exec.c +++ b/src/backend/utils/adt/jsonpath_exec.c @@ -35,7 +35,7 @@ * executeItemOptUnwrapTarget() function have 'unwrap' argument, which indicates * whether unwrapping of array is needed. When unwrap == true, each of array * members is passed to executeItemOptUnwrapTarget() again but with unwrap == false - * in order to evade subsequent array unwrapping. + * in order to avoid subsequent array unwrapping. * * All boolean expressions (predicates) are evaluated by executeBoolItem() * function, which returns tri-state JsonPathBool. When error is occurred -- 2.17.0
>From a43b68cdc4ffe3f33412eab313bfdd942f060183 Mon Sep 17 00:00:00 2001 From: Justin Pryzby <pryz...@telsasoft.com> Date: Fri, 10 Apr 2020 10:05:21 -0500 Subject: [PATCH v9 05/15] doc: Add logical replication support to replicate into partitioned tables commit f1ac27bfda6ce8a399d8001843e9aefff5814f9b Author: Peter Eisentraut <pe...@eisentraut.org> --- doc/src/sgml/logical-replication.sgml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/sgml/logical-replication.sgml b/doc/src/sgml/logical-replication.sgml index c35415801f..87eac7be58 100644 --- a/doc/src/sgml/logical-replication.sgml +++ b/doc/src/sgml/logical-replication.sgml @@ -403,7 +403,7 @@ <listitem> <para> Replication is only supported by tables, including partitioned tables. - Attempts to replicate other types of relations such as views, materialized + Attempts to replicate other types of relations, such as views, materialized views, or foreign tables, will result in an error. </para> </listitem> -- 2.17.0
>From e810fc7c0dd23b074a7e37a62e3277db197d549a Mon Sep 17 00:00:00 2001 From: Justin Pryzby <pryz...@telsasoft.com> Date: Fri, 3 Apr 2020 16:17:28 -0500 Subject: [PATCH v9 06/15] doc: backup manifests commit 0d8c9c1210c44b36ec2efcb223a1dfbe897a3661 Author: Robert Haas <rh...@postgresql.org> Previously reported here: https://www.postgresql.org/message-id/20200403212445.GB12283%40telsasoft.com --- doc/src/sgml/protocol.sgml | 4 ++-- doc/src/sgml/ref/pg_basebackup.sgml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml index c3cb7b4255..f5e3318106 100644 --- a/doc/src/sgml/protocol.sgml +++ b/doc/src/sgml/protocol.sgml @@ -2587,7 +2587,7 @@ The commands accepted in replication mode are: and sent along with the backup. The manifest is a list of every file present in the backup with the exception of any WAL files that may be included. It also stores the size, last modification time, and - an optional checksum for each file. + optionally a checksum for each file. A value of <literal>force-encode</literal> forces all filenames to be hex-encoded; otherwise, this type of encoding is performed only for files whose names are non-UTF8 octet sequences. @@ -2603,7 +2603,7 @@ The commands accepted in replication mode are: <term><literal>MANIFEST_CHECKSUMS</literal> <replaceable>checksum_algorithm</replaceable></term> <listitem> <para> - Specifies the algorithm that should be applied to each file included + Specifies the checksum algorithm that should be applied to each file included in the backup manifest. Currently, the available algorithms are <literal>NONE</literal>, <literal>CRC32C</literal>, <literal>SHA224</literal>, <literal>SHA256</literal>, diff --git a/doc/src/sgml/ref/pg_basebackup.sgml b/doc/src/sgml/ref/pg_basebackup.sgml index aa0b27c9f3..44e7b2444b 100644 --- a/doc/src/sgml/ref/pg_basebackup.sgml +++ b/doc/src/sgml/ref/pg_basebackup.sgml @@ -368,7 +368,7 @@ PostgreSQL documentation </para> <para> The following command-line options control the generation of the - backup and the running of the program: + backup and the invocation of the program: <variablelist> <varlistentry> @@ -540,7 +540,7 @@ PostgreSQL documentation of each file for users who wish to verify that the backup has not been tampered with, while the CRC32C algorithm provides a checksum that is much faster to calculate; it is good at catching errors due to accidental - changes but is not resistant to targeted modifications. Note that, to + changes but is not resistant to malicious modifications. Note that, to be useful against an adversary who has access to the backup, the backup manifest would need to be stored securely elsewhere or otherwise verified not to have been modified since the backup was taken. -- 2.17.0
>From 1292a4efd61ddcdc4d8287fd32f2b68786041f6f Mon Sep 17 00:00:00 2001 From: Justin Pryzby <pryz...@telsasoft.com> Date: Mon, 31 Aug 2020 08:19:37 -0500 Subject: [PATCH v9 07/15] doc: pgbench cmdline --- doc/src/sgml/ref/pgbench.sgml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/ref/pgbench.sgml b/doc/src/sgml/ref/pgbench.sgml index 75575b6f06..7180fedd65 100644 --- a/doc/src/sgml/ref/pgbench.sgml +++ b/doc/src/sgml/ref/pgbench.sgml @@ -812,8 +812,8 @@ pgbench <optional> <replaceable>options</replaceable> </optional> <replaceable>d <title>Common Options</title> <para> - <application>pgbench</application> accepts the following command-line - common arguments: + <application>pgbench</application> also accepts the following common command-line + arguments for connection parameters: <variablelist> -- 2.17.0
>From d051090e9138f39f69f1dbfca0b93ee6a54d4dc0 Mon Sep 17 00:00:00 2001 From: Justin Pryzby <pryz...@telsasoft.com> Date: Tue, 9 Jul 2019 10:42:26 -0500 Subject: [PATCH v9 08/15] Say it more naturally Originally submitted here and never integrated. https://www.postgresql.org/message-id/flat/20190427025647.GD3925%40telsasoft.com#e1731c33455145eadc1158042cc411f9 Should backpatch to v12 --- doc/src/sgml/config.sgml | 2 +- doc/src/sgml/ddl.sgml | 2 +- doc/src/sgml/libpq.sgml | 2 +- doc/src/sgml/ref/alter_table.sgml | 2 +- doc/src/sgml/ref/pg_rewind.sgml | 4 ++-- doc/src/sgml/ref/reindex.sgml | 2 +- doc/src/sgml/runtime.sgml | 2 +- doc/src/sgml/sources.sgml | 2 +- 8 files changed, 9 insertions(+), 9 deletions(-) diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index 6c1c9157d8..3f8bd8a7e8 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -3813,7 +3813,7 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows servers or streaming base backup clients (i.e., the maximum number of simultaneously running WAL sender processes). The default is <literal>10</literal>. The value <literal>0</literal> means - replication is disabled. Abrupt streaming client disconnection might + replication is disabled. Abrupt disconnection of a streaming client might leave an orphaned connection slot behind until a timeout is reached, so this parameter should be set slightly higher than the maximum number of expected clients so disconnected clients can immediately diff --git a/doc/src/sgml/ddl.sgml b/doc/src/sgml/ddl.sgml index 6004dd1def..e890bdd10a 100644 --- a/doc/src/sgml/ddl.sgml +++ b/doc/src/sgml/ddl.sgml @@ -3992,7 +3992,7 @@ ALTER TABLE measurement ATTACH PARTITION measurement_y2008m02 Before running the <command>ATTACH PARTITION</command> command, it is recommended to create a <literal>CHECK</literal> constraint on the table to be attached matching the desired partition constraint. That way, - the system will be able to skip the scan to validate the implicit + the system will be able to skip the scan which is otherwise needed to validate the implicit partition constraint. Without the <literal>CHECK</literal> constraint, the table will be scanned to validate the partition constraint while holding an <literal>ACCESS EXCLUSIVE</literal> lock on that partition diff --git a/doc/src/sgml/libpq.sgml b/doc/src/sgml/libpq.sgml index b50391caee..3315f1dd05 100644 --- a/doc/src/sgml/libpq.sgml +++ b/doc/src/sgml/libpq.sgml @@ -1227,7 +1227,7 @@ postgresql://%2Fvar%2Flib%2Fpostgresql/dbname <term><literal>connect_timeout</literal></term> <listitem> <para> - Maximum wait for connection, in seconds (write as a decimal integer, + Maximum time to wait while connecting, in seconds (write as a decimal integer, e.g., <literal>10</literal>). Zero, negative, or not specified means wait indefinitely. The minimum allowed timeout is 2 seconds, therefore a value of <literal>1</literal> is interpreted as <literal>2</literal>. diff --git a/doc/src/sgml/ref/alter_table.sgml b/doc/src/sgml/ref/alter_table.sgml index 35971cd723..ac58cf2a60 100644 --- a/doc/src/sgml/ref/alter_table.sgml +++ b/doc/src/sgml/ref/alter_table.sgml @@ -669,7 +669,7 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM When applied to a partitioned table, nothing is moved, but any partitions created afterwards with <command>CREATE TABLE PARTITION OF</command> will use that tablespace, - unless the <literal>TABLESPACE</literal> clause is used to override it. + unless overridden by its <literal>TABLESPACE</literal> clause. </para> <para> diff --git a/doc/src/sgml/ref/pg_rewind.sgml b/doc/src/sgml/ref/pg_rewind.sgml index ae23badc08..688acdcb06 100644 --- a/doc/src/sgml/ref/pg_rewind.sgml +++ b/doc/src/sgml/ref/pg_rewind.sgml @@ -211,7 +211,7 @@ PostgreSQL documentation <command>pg_rewind</command> to return without waiting, which is faster, but means that a subsequent operating system crash can leave the synchronized data directory corrupt. Generally, this option is - useful for testing but should not be used when creating a production + useful for testing but should not be used on a production installation. </para> </listitem> @@ -322,7 +322,7 @@ GRANT EXECUTE ON function pg_catalog.pg_read_binary_file(text, bigint, bigint, b <para> When executing <application>pg_rewind</application> using an online cluster as source which has been recently promoted, it is necessary - to execute a <command>CHECKPOINT</command> after promotion so as its + to execute a <command>CHECKPOINT</command> after promotion such that its control file reflects up-to-date timeline information, which is used by <application>pg_rewind</application> to check if the target cluster can be rewound using the designated source cluster. diff --git a/doc/src/sgml/ref/reindex.sgml b/doc/src/sgml/ref/reindex.sgml index 33af4ae02a..e2a7e05332 100644 --- a/doc/src/sgml/ref/reindex.sgml +++ b/doc/src/sgml/ref/reindex.sgml @@ -252,7 +252,7 @@ REINDEX [ ( <replaceable class="parameter">option</replaceable> [, ...] ) ] { IN <para> Reindexing a single index or table requires being the owner of that index or table. Reindexing a schema or database requires being the - owner of that schema or database. Note that is therefore sometimes + owner of that schema or database. Note specifically that it's possible for non-superusers to rebuild indexes of tables owned by other users. However, as a special exception, when <command>REINDEX DATABASE</command>, <command>REINDEX SCHEMA</command> diff --git a/doc/src/sgml/runtime.sgml b/doc/src/sgml/runtime.sgml index f584231935..f975406acd 100644 --- a/doc/src/sgml/runtime.sgml +++ b/doc/src/sgml/runtime.sgml @@ -2575,7 +2575,7 @@ openssl x509 -req -in server.csr -text -days 365 \ <para> The <productname>PostgreSQL</productname> server will listen for both normal and <acronym>GSSAPI</acronym>-encrypted connections on the same TCP - port, and will negotiate with any connecting client on whether to + port, and will negotiate with any connecting client whether to use <acronym>GSSAPI</acronym> for encryption (and for authentication). By default, this decision is up to the client (which means it can be downgraded by an attacker); see <xref linkend="auth-pg-hba-conf"/> about diff --git a/doc/src/sgml/sources.sgml b/doc/src/sgml/sources.sgml index d4f73a03c3..38a516080c 100644 --- a/doc/src/sgml/sources.sgml +++ b/doc/src/sgml/sources.sgml @@ -518,7 +518,7 @@ Hint: the addendum <title>Use of Quotes</title> <para> - Use quotes always to delimit file names, user-supplied identifiers, and + Always use quotes to delimit file names, user-supplied identifiers, and other variables that might contain words. Do not use them to mark up variables that will not contain words (for example, operator names). </para> -- 2.17.0
>From 6d46e62c26a97bb63399a61327caca175d9505fe Mon Sep 17 00:00:00 2001 From: Justin Pryzby <pryz...@telsasoft.com> Date: Sat, 5 Sep 2020 20:48:46 -0500 Subject: [PATCH v9 09/15] doc: Improve user control over truncation of logged bind-parameter values. 0b34e7d307e6a142ee94800e6d5f3e73449eeffd --- doc/src/sgml/config.sgml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index 3f8bd8a7e8..450ba23d8c 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -6847,9 +6847,9 @@ log_line_prefix = '%m [%p] %q%u@%d/%a ' </term> <listitem> <para> - If greater than zero, each bind parameter value reported in - non-error statement-logging messages is trimmed to this many bytes. - Zero disables logging bind parameters with statements. + If greater than zero, each bind parameter value logged with a + non-error statement-logging message is trimmed to this many bytes. + Zero disables logging of bind parameters for non-error statement logs. <literal>-1</literal> (the default) allows bind parameters to be logged in full. If this value is specified without units, it is taken as bytes. -- 2.17.0
>From 1ac66f5f1e814367ea5aca29b83b6cd60f018a2f Mon Sep 17 00:00:00 2001 From: Justin Pryzby <pryz...@telsasoft.com> Date: Sun, 5 Apr 2020 22:35:09 -0500 Subject: [PATCH v9 10/15] Fix docs: "time of the" commit 9e257a181cc1dc5e19eb5d770ce09cc98f470f5f Author: Andrew Dunstan <and...@dunslane.net> Date: Sun Mar 24 11:27:20 2013 -0400 Add parallel pg_dump option. commit 5ab892c391c6bc54a00e7a8de5cab077cabace6a Author: Michael Paquier <mich...@paquier.xyz> Date: Sat Jul 27 22:21:18 2019 +0900 Add support for --jobs in reindexdb commit a17923204736d8842eade3517d6a8ee81290fca4 Author: Alvaro Herrera <alvhe...@alvh.no-ip.org> Date: Fri Jan 23 15:02:45 2015 -0300 vacuumdb: enable parallel mode --- doc/src/sgml/ref/pg_dump.sgml | 2 +- doc/src/sgml/ref/reindexdb.sgml | 4 ++-- doc/src/sgml/ref/vacuumdb.sgml | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/src/sgml/ref/pg_dump.sgml b/doc/src/sgml/ref/pg_dump.sgml index 0ec99165c5..e09ed0a4c3 100644 --- a/doc/src/sgml/ref/pg_dump.sgml +++ b/doc/src/sgml/ref/pg_dump.sgml @@ -322,7 +322,7 @@ PostgreSQL documentation <listitem> <para> Run the dump in parallel by dumping <replaceable class="parameter">njobs</replaceable> - tables simultaneously. This option reduces the time of the dump but it also + tables simultaneously. This option may reduce the time needed to perform the dump but it also increases the load on the database server. You can only use this option with the directory output format because this is the only output format where multiple processes can write their data at the same time. diff --git a/doc/src/sgml/ref/reindexdb.sgml b/doc/src/sgml/ref/reindexdb.sgml index 026fd018d9..4f821c2095 100644 --- a/doc/src/sgml/ref/reindexdb.sgml +++ b/doc/src/sgml/ref/reindexdb.sgml @@ -174,8 +174,8 @@ PostgreSQL documentation <para> Execute the reindex commands in parallel by running <replaceable class="parameter">njobs</replaceable> - commands simultaneously. This option reduces the time of the - processing but it also increases the load on the database server. + commands simultaneously. This option may reduce the processing time + but it also increases the load on the database server. </para> <para> <application>reindexdb</application> will open diff --git a/doc/src/sgml/ref/vacuumdb.sgml b/doc/src/sgml/ref/vacuumdb.sgml index 95d6894cb0..7b13950552 100644 --- a/doc/src/sgml/ref/vacuumdb.sgml +++ b/doc/src/sgml/ref/vacuumdb.sgml @@ -155,8 +155,8 @@ PostgreSQL documentation <para> Execute the vacuum or analyze commands in parallel by running <replaceable class="parameter">njobs</replaceable> - commands simultaneously. This option reduces the time of the - processing but it also increases the load on the database server. + commands simultaneously. This option may reduce the processing time + but it also increases the load on the database server. </para> <para> <application>vacuumdb</application> will open -- 2.17.0
>From 82980dbf3880cc3865c6ba9e1562ac95d2bb93da Mon Sep 17 00:00:00 2001 From: Justin Pryzby <pryz...@telsasoft.com> Date: Sat, 5 Sep 2020 18:48:04 -0500 Subject: [PATCH v9 11/15] s/periodical/periodic/ Since 6587818542e79012276dcfedb2f97e3522ee5e9b and 801c2dc72cb3c68a7c430bb244675b7a68fd541a --- doc/src/sgml/config.sgml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index 450ba23d8c..b8ad25ae0d 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -8227,7 +8227,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; set this value anywhere from zero to two billions, <command>VACUUM</command> will silently limit the effective value to 95% of <xref linkend="guc-autovacuum-freeze-max-age"/>, so that a - periodical manual <command>VACUUM</command> has a chance to run before an + periodic manual <command>VACUUM</command> has a chance to run before an anti-wraparound autovacuum is launched for the table. For more information see <xref linkend="vacuum-for-wraparound"/>. @@ -8274,7 +8274,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; Although users can set this value anywhere from zero to two billions, <command>VACUUM</command> will silently limit the effective value to 95% of <xref linkend="guc-autovacuum-multixact-freeze-max-age"/>, so that a - periodical manual <command>VACUUM</command> has a chance to run before an + periodic manual <command>VACUUM</command> has a chance to run before an anti-wraparound is launched for the table. For more information see <xref linkend="vacuum-for-multixact-wraparound"/>. </para> -- 2.17.0
>From 7bdddf55268dc656c1b72ebf34fe6d1d44587f69 Mon Sep 17 00:00:00 2001 From: Justin Pryzby <pryz...@telsasoft.com> Date: Sat, 5 Sep 2020 18:49:28 -0500 Subject: [PATCH v9 12/15] Two billions since: 801c2dc72cb3c68a7c430bb244675b7a68fd541a --- doc/src/sgml/config.sgml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index b8ad25ae0d..8eabf93834 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -8224,7 +8224,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; a regular <command>VACUUM</command> in that it visits every page that might contain unfrozen XIDs or MXIDs, not just those that might contain dead tuples. The default is 150 million transactions. Although users can - set this value anywhere from zero to two billions, <command>VACUUM</command> + set this value anywhere from zero to two billion, <command>VACUUM</command> will silently limit the effective value to 95% of <xref linkend="guc-autovacuum-freeze-max-age"/>, so that a periodic manual <command>VACUUM</command> has a chance to run before an @@ -8271,7 +8271,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; a regular <command>VACUUM</command> in that it visits every page that might contain unfrozen XIDs or MXIDs, not just those that might contain dead tuples. The default is 150 million multixacts. - Although users can set this value anywhere from zero to two billions, + Although users can set this value anywhere from zero to two billion, <command>VACUUM</command> will silently limit the effective value to 95% of <xref linkend="guc-autovacuum-multixact-freeze-max-age"/>, so that a periodic manual <command>VACUUM</command> has a chance to run before an -- 2.17.0
>From 25108802a374f1dec40146083de2312da66dfc00 Mon Sep 17 00:00:00 2001 From: Justin Pryzby <pryz...@telsasoft.com> Date: Sat, 5 Sep 2020 19:12:57 -0500 Subject: [PATCH v9 13/15] Add spaces following argument since a83586b5543b948f9e621462537a7303b113c482 --- doc/src/sgml/func.sgml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml index 5d486258ed..461b748d89 100644 --- a/doc/src/sgml/func.sgml +++ b/doc/src/sgml/func.sgml @@ -15626,11 +15626,11 @@ table2-mapping <literal>'use_json_null'</literal>. </para> <para> - <literal>jsonb_set_lax('[{"f1":1,"f2":null},2,null,3]', '{0,f1}',null)</literal> + <literal>jsonb_set_lax('[{"f1":1,"f2":null},2,null,3]', '{0,f1}', null)</literal> <returnvalue>[{"f1":null,"f2":null},2,null,3]</returnvalue> </para> <para> - <literal>jsonb_set_lax('[{"f1":99,"f2":null},2]', '{0,f3}',null, true, 'return_target')</literal> + <literal>jsonb_set_lax('[{"f1":99,"f2":null},2]', '{0,f3}', null, true, 'return_target')</literal> <returnvalue>[{"f1": 99, "f2": null}, 2]</returnvalue> </para></entry> </row> -- 2.17.0
>From b0df450e1c5404515c4d88355a3dc2e200d506d0 Mon Sep 17 00:00:00 2001 From: Justin Pryzby <pryz...@telsasoft.com> Date: Sat, 5 Sep 2020 19:53:53 -0500 Subject: [PATCH v9 14/15] fix description of stxstattarget = -1 behavior Previously sent https://www.postgresql.org/message-id/20200906011231.gb6...@telsasoft.com --- doc/src/sgml/catalogs.sgml | 3 ++- doc/src/sgml/ref/alter_statistics.sgml | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/catalogs.sgml b/doc/src/sgml/catalogs.sgml index 7e99928d0c..de9bacd34f 100644 --- a/doc/src/sgml/catalogs.sgml +++ b/doc/src/sgml/catalogs.sgml @@ -7298,7 +7298,8 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l of statistics accumulated for this statistics object by <xref linkend="sql-analyze"/>. A zero value indicates that no statistics should be collected. - A negative value says to use the system default statistics target. + A negative value says to use the maximum of the statistics targets of + the referenced columns, if set, or the system default statistics target. Positive values of <structfield>stxstattarget</structfield> determine the target number of <quote>most common values</quote> to collect. diff --git a/doc/src/sgml/ref/alter_statistics.sgml b/doc/src/sgml/ref/alter_statistics.sgml index 112f5d8924..ac3c18e8af 100644 --- a/doc/src/sgml/ref/alter_statistics.sgml +++ b/doc/src/sgml/ref/alter_statistics.sgml @@ -101,7 +101,8 @@ ALTER STATISTICS <replaceable class="parameter">name</replaceable> SET STATISTIC The statistic-gathering target for this statistics object for subsequent <xref linkend="sql-analyze"/> operations. The target can be set in the range 0 to 10000; alternatively, set it - to -1 to revert to using the system default statistics + to -1 to revert to using the maximum statistics target of the + referenced column's, if set, or the system default statistics target (<xref linkend="guc-default-statistics-target"/>). For more information on the use of statistics by the <productname>PostgreSQL</productname> query planner, refer to -- 2.17.0
>From da1cf24de0907d3726b0ea43f28b9f90b4ddfaf8 Mon Sep 17 00:00:00 2001 From: Justin Pryzby <pryz...@telsasoft.com> Date: Tue, 15 Sep 2020 10:28:11 -0500 Subject: [PATCH v9 15/15] Fix one of our many spellings of "partition" --- src/test/regress/expected/partition_join.out | 2 +- src/test/regress/sql/partition_join.sql | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/regress/expected/partition_join.out b/src/test/regress/expected/partition_join.out index 585e724375..0057f41caa 100644 --- a/src/test/regress/expected/partition_join.out +++ b/src/test/regress/expected/partition_join.out @@ -4567,7 +4567,7 @@ ANALYZE plt3_adv; -- This tests that when merging partitions from plt1_adv and plt2_adv in -- merge_list_bounds(), process_outer_partition() returns an already-assigned -- merged partition when re-called with plt1_adv_p1 for the second list value --- '0001' of that partitin +-- '0001' of that partition EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.a, t2.c, t3.a, t3.c FROM (plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.c = t2.c)) FULL JOIN plt3_adv t3 ON (t1.c = t3.c) WHERE coalesce(t1.a, 0) % 5 != 3 AND coalesce(t1.a, 0) % 5 != 4 ORDER BY t1.c, t1.a, t2.a, t3.a; QUERY PLAN diff --git a/src/test/regress/sql/partition_join.sql b/src/test/regress/sql/partition_join.sql index 73606c86e5..d97b5b69ff 100644 --- a/src/test/regress/sql/partition_join.sql +++ b/src/test/regress/sql/partition_join.sql @@ -1090,7 +1090,7 @@ ANALYZE plt3_adv; -- This tests that when merging partitions from plt1_adv and plt2_adv in -- merge_list_bounds(), process_outer_partition() returns an already-assigned -- merged partition when re-called with plt1_adv_p1 for the second list value --- '0001' of that partitin +-- '0001' of that partition EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.a, t2.c, t3.a, t3.c FROM (plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.c = t2.c)) FULL JOIN plt3_adv t3 ON (t1.c = t3.c) WHERE coalesce(t1.a, 0) % 5 != 3 AND coalesce(t1.a, 0) % 5 != 4 ORDER BY t1.c, t1.a, t2.a, t3.a; SELECT t1.a, t1.c, t2.a, t2.c, t3.a, t3.c FROM (plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.c = t2.c)) FULL JOIN plt3_adv t3 ON (t1.c = t3.c) WHERE coalesce(t1.a, 0) % 5 != 3 AND coalesce(t1.a, 0) % 5 != 4 ORDER BY t1.c, t1.a, t2.a, t3.a; -- 2.17.0