pg.ddx.io  pgsql-docs@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Laurenz Albe <laurenz.albe@cybertec.at>
To: Bruce Momjian <bruce@momjian.us>
To: galiev_mr@taximaxim.ru
To: pgsql-docs@lists.postgresql.org
Subject: Re: INDEX with optional storage parameter value
Date: Mon, 29 Jun 2020 09:26:57 +0200
Message-ID: <218a622abfb0aa895e9fce4e41b278e469932211.camel@cybertec.at> (raw)
In-Reply-To: <20200627211423.GG16644@momjian.us>
References: <159283163235.684.4482737698910467437@wrigleys.postgresql.org>
	<20200627211423.GG16644@momjian.us>

On Sat, 2020-06-27 at 17:14 -0400, Bruce Momjian wrote:
> > I noticed an slight inaccuracy in the documentation for CREATE INDEX and
> > ALTER INDEX:
> > 
> > CREATE INDEX ... [ WITH ( storage_parameter = value [, ... ] ) ]
> > ALTER INDEX [ IF EXISTS ] name SET ( storage_parameter = value [, ... ] )
> > 
> > In indices, as in tables, you can omit the вoolean value for a parameter.
> > For example:
> > 
> > CREATE INDEX ON public.testtable USING GIN (c1) WITH (fastupdate);
> > ALTER INDEX testtable_c1_idx SET (fastupdate);
> > 
> > It might be more correct to use the construct from CREATE TABLE: 
> > 
> > storage_parameter [= value] [, ... ]
> 
> I found a few more places that also didn't properly document this; 
> patch attached.

Looks good.
Perhaps it is worth explaining this explicitly, as in the attached.

Yours,
Laurenz Albe

Attachments:

0001-Document-that-values-can-be-omitted-for-boolean-stor.patch (text/x-patch, 7.9K) download From 6f88d34f94a8f6aadff1ccb5fd634f42c45e6501 Mon Sep 17 00:00:00 2001 From: Laurenz Albe <laurenz.albe@cybertec.at> Date: Mon, 29 Jun 2020 09:25:07 +0200 Subject: [PATCH] Document that values can be omitted for boolean storage parameters This was already documented for CREATE TABLE, but not for CREATE INDEX. Discussion: https://postgr.es/m/159283163235.684.4482737698910467437@wrigleys.postgresql.org --- doc/src/sgml/ref/alter_index.sgml | 4 ++-- doc/src/sgml/ref/alter_materialized_view.sgml | 2 +- doc/src/sgml/ref/alter_table.sgml | 4 ++-- doc/src/sgml/ref/create_index.sgml | 8 +++++++- doc/src/sgml/ref/create_table.sgml | 6 ++++++ 5 files changed, 18 insertions(+), 6 deletions(-) diff --git a/doc/src/sgml/ref/alter_index.sgml b/doc/src/sgml/ref/alter_index.sgml index de6f89d458..a5e3b06ee4 100644 --- a/doc/src/sgml/ref/alter_index.sgml +++ b/doc/src/sgml/ref/alter_index.sgml @@ -25,7 +25,7 @@ ALTER INDEX [ IF EXISTS ] <replaceable class="parameter">name</replaceable> RENA ALTER INDEX [ IF EXISTS ] <replaceable class="parameter">name</replaceable> SET TABLESPACE <replaceable class="parameter">tablespace_name</replaceable> ALTER INDEX <replaceable class="parameter">name</replaceable> ATTACH PARTITION <replaceable class="parameter">index_name</replaceable> ALTER INDEX <replaceable class="parameter">name</replaceable> DEPENDS ON EXTENSION <replaceable class="parameter">extension_name</replaceable> -ALTER INDEX [ IF EXISTS ] <replaceable class="parameter">name</replaceable> SET ( <replaceable class="parameter">storage_parameter</replaceable> = <replaceable class="parameter">value</replaceable> [, ... ] ) +ALTER INDEX [ IF EXISTS ] <replaceable class="parameter">name</replaceable> SET ( <replaceable class="parameter">storage_parameter</replaceable> [= <replaceable class="parameter">value</replaceable>] [, ... ] ) ALTER INDEX [ IF EXISTS ] <replaceable class="parameter">name</replaceable> RESET ( <replaceable class="parameter">storage_parameter</replaceable> [, ... ] ) ALTER INDEX [ IF EXISTS ] <replaceable class="parameter">name</replaceable> ALTER [ COLUMN ] <replaceable class="parameter">column_number</replaceable> SET STATISTICS <replaceable class="parameter">integer</replaceable> @@ -113,7 +113,7 @@ ALTER INDEX ALL IN TABLESPACE <replaceable class="parameter">name</replaceable> </varlistentry> <varlistentry> - <term><literal>SET ( <replaceable class="parameter">storage_parameter</replaceable> = <replaceable class="parameter">value</replaceable> [, ... ] )</literal></term> + <term><literal>SET ( <replaceable class="parameter">storage_parameter</replaceable> [= <replaceable class="parameter">value</replaceable>] [, ... ] )</literal></term> <listitem> <para> This form changes one or more index-method-specific storage parameters diff --git a/doc/src/sgml/ref/alter_materialized_view.sgml b/doc/src/sgml/ref/alter_materialized_view.sgml index 9df8a79977..7321183dd0 100644 --- a/doc/src/sgml/ref/alter_materialized_view.sgml +++ b/doc/src/sgml/ref/alter_materialized_view.sgml @@ -42,7 +42,7 @@ ALTER MATERIALIZED VIEW ALL IN TABLESPACE <replaceable class="parameter">name</r ALTER [ COLUMN ] <replaceable class="parameter">column_name</replaceable> SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN } CLUSTER ON <replaceable class="parameter">index_name</replaceable> SET WITHOUT CLUSTER - SET ( <replaceable class="parameter">storage_parameter</replaceable> = <replaceable class="parameter">value</replaceable> [, ... ] ) + SET ( <replaceable class="parameter">storage_parameter</replaceable> [= <replaceable class="parameter">value</replaceable>] [, ... ] ) RESET ( <replaceable class="parameter">storage_parameter</replaceable> [, ... ] ) OWNER TO { <replaceable class="parameter">new_owner</replaceable> | CURRENT_USER | SESSION_USER } </synopsis> diff --git a/doc/src/sgml/ref/alter_table.sgml b/doc/src/sgml/ref/alter_table.sgml index cbfb4828e5..b2eb7097a9 100644 --- a/doc/src/sgml/ref/alter_table.sgml +++ b/doc/src/sgml/ref/alter_table.sgml @@ -76,7 +76,7 @@ ALTER TABLE [ IF EXISTS ] <replaceable class="parameter">name</replaceable> SET WITHOUT OIDS SET TABLESPACE <replaceable class="parameter">new_tablespace</replaceable> SET { LOGGED | UNLOGGED } - SET ( <replaceable class="parameter">storage_parameter</replaceable> = <replaceable class="parameter">value</replaceable> [, ... ] ) + SET ( <replaceable class="parameter">storage_parameter</replaceable> [= <replaceable class="parameter">value</replaceable>] [, ... ] ) RESET ( <replaceable class="parameter">storage_parameter</replaceable> [, ... ] ) INHERIT <replaceable class="parameter">parent_table</replaceable> NO INHERIT <replaceable class="parameter">parent_table</replaceable> @@ -702,7 +702,7 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM </varlistentry> <varlistentry> - <term><literal>SET ( <replaceable class="parameter">storage_parameter</replaceable> = <replaceable class="parameter">value</replaceable> [, ... ] )</literal></term> + <term><literal>SET ( <replaceable class="parameter">storage_parameter</replaceable> [= <replaceable class="parameter">value</replaceable>] [, ... ] )</literal></term> <listitem> <para> This form changes one or more storage parameters for the table. See diff --git a/doc/src/sgml/ref/create_index.sgml b/doc/src/sgml/ref/create_index.sgml index ff87b2d28f..0edfc92f2e 100644 --- a/doc/src/sgml/ref/create_index.sgml +++ b/doc/src/sgml/ref/create_index.sgml @@ -24,7 +24,7 @@ PostgreSQL documentation CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] [ [ IF NOT EXISTS ] <replaceable class="parameter">name</replaceable> ] ON [ ONLY ] <replaceable class="parameter">table_name</replaceable> [ USING <replaceable class="parameter">method</replaceable> ] ( { <replaceable class="parameter">column_name</replaceable> | ( <replaceable class="parameter">expression</replaceable> ) } [ COLLATE <replaceable class="parameter">collation</replaceable> ] [ <replaceable class="parameter">opclass</replaceable> [ ( <replaceable class="parameter">opclass_parameter</replaceable> = <replaceable class="parameter">value</replaceable> [, ... ] ) ] ] [ ASC | DESC ] [ NULLS { FIRST | LAST } ] [, ...] ) [ INCLUDE ( <replaceable class="parameter">column_name</replaceable> [, ...] ) ] - [ WITH ( <replaceable class="parameter">storage_parameter</replaceable> = <replaceable class="parameter">value</replaceable> [, ... ] ) ] + [ WITH ( <replaceable class="parameter">storage_parameter</replaceable> [= <replaceable class="parameter">value</replaceable>] [, ... ] ) ] [ TABLESPACE <replaceable class="parameter">tablespace_name</replaceable> ] [ WHERE <replaceable class="parameter">predicate</replaceable> ] </synopsis> @@ -375,6 +375,12 @@ CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] [ [ IF NOT EXISTS ] <replaceable class= accept this parameter: </para> + <para> + For <type>boolean</type> storage parameters, the + <replaceable class="parameter">value</replaceable> can be omitted; it is + set to <literal>TRUE</literal> in that case. + </para> + <variablelist> <varlistentry id="index-reloption-fillfactor" xreflabel="fillfactor"> <term><literal>fillfactor</literal> (<type>integer</type>) diff --git a/doc/src/sgml/ref/create_table.sgml b/doc/src/sgml/ref/create_table.sgml index 849f7e931f..1964033a73 100644 --- a/doc/src/sgml/ref/create_table.sgml +++ b/doc/src/sgml/ref/create_table.sgml @@ -1326,6 +1326,12 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM but you may specify them for individual leaf partitions. </para> + <para> + For <type>boolean</type> storage parameters, the + <replaceable class="parameter">value</replaceable> can be omitted; it is + set to <literal>TRUE</literal> in that case. + </para> + <variablelist> <varlistentry id="reloption-fillfactor" xreflabel="fillfactor"> -- 2.21.3

view thread (7+ messages)  latest in thread

Message-ID: <218a622abfb0aa895e9fce4e41b278e469932211.camel@cybertec.at>
Permalink:  ../218a622abfb0aa895e9fce4e41b278e469932211.camel@cybertec.at/
Also on:    postgresql.org/message-id/218a622abfb0aa895e9fce4e41b278e469932211.camel@cybertec.at

 ·  · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-docs@postgresql.org
  Cc: laurenz.albe@cybertec.at, bruce@momjian.us, galiev_mr@taximaxim.ru, pgsql-docs@lists.postgresql.org
  Subject: Re: INDEX with optional storage parameter value
  In-Reply-To: <218a622abfb0aa895e9fce4e41b278e469932211.camel@cybertec.at>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox