public inbox for [email protected]  
help / color / mirror / Atom feed
Docs: Distinguish table and index storage parameters in CREATE TABLE
8+ messages / 4 participants
[nested] [flat]

* Docs: Distinguish table and index storage parameters in CREATE TABLE
@ 2026-04-03 18:18  David G. Johnston <[email protected]>
  0 siblings, 1 reply; 8+ messages in thread

From: David G. Johnston @ 2026-04-03 18:18 UTC (permalink / raw)
  To: PostgreSQL Hackers <[email protected]>

Hi,

Per the discussion on -general [1] I propose that we stop using the generic
label storage_parameter on the create table reference page and instead set
up proper labels for table and index variants.

David J.

[1]
https://www.postgresql.org/message-id/flat/CA%2BFnnTyGEM-1mwxKPbwFTOodf%2BYUX%3DTxTmBPY5S%3DYh1h%3Do...


Attachments:

  [application/octet-stream] v1-0001-pgsql-doc-Distinguish-table-and-index-storage-parame.patch.patch (9.9K, 3-v1-0001-pgsql-doc-Distinguish-table-and-index-storage-parame.patch.patch)
  download | inline diff:
From a485ff1b04faf706f834f533066de61176d05cd4 Mon Sep 17 00:00:00 2001
From: Developer <dev@local>
Date: Fri, 3 Apr 2026 11:00:09 -0700
Subject: [PATCH] pgsql: doc: Distinguish table and index storage parameters in
 CREATE TABLE

The WITH clause in CREATE TABLE applies to both tables and constraint
indexes, but uses a single storage_parameter placeholder in the syntax
synopsis making the distinction unclear.

Rename the placeholder to table_storage_parameter and
index_storage_parameter respectively in the synopsis and add a separate
term for the index variant in the WITH parameter description.  Update
the description to reference the index storage parameters section in
CREATE INDEX directly rather than the top-level CREATE INDEX page.

Also rename the Storage Parameters subsection to Table Storage
Parameters to make clear it covers only table parameters.
---
 doc/src/sgml/ref/create_index.sgml |  8 ++++++--
 doc/src/sgml/ref/create_table.sgml | 25 +++++++++++++++----------
 2 files changed, 21 insertions(+), 12 deletions(-)

diff --git a/doc/src/sgml/ref/create_index.sgml b/doc/src/sgml/ref/create_index.sgml
index bb7505d171b..d50c71c0a11 100644
--- a/doc/src/sgml/ref/create_index.sgml
+++ b/doc/src/sgml/ref/create_index.sgml
@@ -25,7 +25,7 @@ CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] [ [ IF NOT EXISTS ] <replaceable class=
     ( { <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> [, ...] ) ]
     [ NULLS [ NOT ] DISTINCT ]
-    [ WITH ( <replaceable class="parameter">storage_parameter</replaceable> [= <replaceable class="parameter">value</replaceable>] [, ... ] ) ]
+    [ WITH ( <replaceable class="parameter">index_storage_parameter</replaceable> [= <replaceable class="parameter">value</replaceable>] [, ... ] ) ]
     [ TABLESPACE <replaceable class="parameter">tablespace_name</replaceable> ]
     [ WHERE <replaceable class="parameter">predicate</replaceable> ]
 </synopsis>
@@ -349,7 +349,7 @@ CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] [ [ IF NOT EXISTS ] <replaceable class=
      </varlistentry>
 
      <varlistentry>
-      <term><replaceable class="parameter">storage_parameter</replaceable></term>
+      <term><replaceable class="parameter">index_storage_parameter</replaceable></term>
       <listitem>
        <para>
         The name of an index-method-specific storage parameter.  See
@@ -385,6 +385,10 @@ CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] [ [ IF NOT EXISTS ] <replaceable class=
   <refsect2 id="sql-createindex-storage-parameters" xreflabel="Index Storage Parameters">
    <title>Index Storage Parameters</title>
 
+ <indexterm zone="sql-createindex-storage-parameters">
+  <primary>storage parameters</primary>
+ </indexterm>
+
    <para>
     The optional <literal>WITH</literal> clause specifies <firstterm>storage
     parameters</firstterm> for the index.  Each index method has its own set
diff --git a/doc/src/sgml/ref/create_table.sgml b/doc/src/sgml/ref/create_table.sgml
index 80829b23945..89a29430828 100644
--- a/doc/src/sgml/ref/create_table.sgml
+++ b/doc/src/sgml/ref/create_table.sgml
@@ -30,7 +30,7 @@ CREATE [ <replaceable>persistence_mode</replaceable> ] TABLE [ IF NOT EXISTS ] <
 [ INHERITS ( <replaceable>parent_table</replaceable> [, ... ] ) ]
 [ PARTITION BY { RANGE | LIST | HASH } ( { <replaceable class="parameter">column_name</replaceable> | ( <replaceable class="parameter">expression</replaceable> ) } [ COLLATE <replaceable class="parameter">collation</replaceable> ] [ <replaceable class="parameter">opclass</replaceable> ] [, ... ] ) ]
 [ USING <replaceable class="parameter">method</replaceable> ]
-[ WITH ( <replaceable class="parameter">storage_parameter</replaceable> [= <replaceable class="parameter">value</replaceable>] [, ... ] ) | WITHOUT OIDS ]
+[ WITH ( <replaceable class="parameter">table_storage_parameter</replaceable> [= <replaceable class="parameter">value</replaceable>] [, ... ] ) | WITHOUT OIDS ]
 [ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ]
 [ TABLESPACE <replaceable class="parameter">tablespace_name</replaceable> ]
 
@@ -42,7 +42,7 @@ CREATE [ <replaceable>persistence_mode</replaceable> ] TABLE [ IF NOT EXISTS ] <
 ) ]
 [ PARTITION BY { RANGE | LIST | HASH } ( { <replaceable class="parameter">column_name</replaceable> | ( <replaceable class="parameter">expression</replaceable> ) } [ COLLATE <replaceable class="parameter">collation</replaceable> ] [ <replaceable class="parameter">opclass</replaceable> ] [, ... ] ) ]
 [ USING <replaceable class="parameter">method</replaceable> ]
-[ WITH ( <replaceable class="parameter">storage_parameter</replaceable> [= <replaceable class="parameter">value</replaceable>] [, ... ] ) | WITHOUT OIDS ]
+[ WITH ( <replaceable class="parameter">table_storage_parameter</replaceable> [= <replaceable class="parameter">value</replaceable>] [, ... ] ) | WITHOUT OIDS ]
 [ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ]
 [ TABLESPACE <replaceable class="parameter">tablespace_name</replaceable> ]
 
@@ -54,7 +54,7 @@ CREATE [ <replaceable>persistence_mode</replaceable> ] TABLE [ IF NOT EXISTS ] <
 ) ] { FOR VALUES <replaceable class="parameter">partition_bound_spec</replaceable> | DEFAULT }
 [ PARTITION BY { RANGE | LIST | HASH } ( { <replaceable class="parameter">column_name</replaceable> | ( <replaceable class="parameter">expression</replaceable> ) } [ COLLATE <replaceable class="parameter">collation</replaceable> ] [ <replaceable class="parameter">opclass</replaceable> ] [, ... ] ) ]
 [ USING <replaceable class="parameter">method</replaceable> ]
-[ WITH ( <replaceable class="parameter">storage_parameter</replaceable> [= <replaceable class="parameter">value</replaceable>] [, ... ] ) | WITHOUT OIDS ]
+[ WITH ( <replaceable class="parameter">table_storage_parameter</replaceable> [= <replaceable class="parameter">value</replaceable>] [, ... ] ) | WITHOUT OIDS ]
 [ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ]
 [ TABLESPACE <replaceable class="parameter">tablespace_name</replaceable> ]
 
@@ -112,7 +112,7 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM
 <phrase>and <replaceable class="parameter">index_parameters</replaceable> in <literal>UNIQUE</literal>, <literal>PRIMARY KEY</literal>, and <literal>EXCLUDE</literal> constraints are:</phrase>
 
 [ INCLUDE ( <replaceable class="parameter">column_name</replaceable> [, ... ] ) ]
-[ WITH ( <replaceable class="parameter">storage_parameter</replaceable> [= <replaceable class="parameter">value</replaceable>] [, ... ] ) ]
+[ WITH ( <replaceable class="parameter">index_storage_parameter</replaceable> [= <replaceable class="parameter">value</replaceable>] [, ... ] ) ]
 [ USING INDEX TABLESPACE <replaceable class="parameter">tablespace_name</replaceable> ]
 
 <phrase>and <replaceable class="parameter">exclude_element</replaceable> in an <literal>EXCLUDE</literal> constraint is:</phrase>
@@ -1471,12 +1471,17 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM
    </varlistentry>
 
    <varlistentry id="sql-createtable-parms-with">
-    <term><literal>WITH ( <replaceable class="parameter">storage_parameter</replaceable> [= <replaceable class="parameter">value</replaceable>] [, ... ] )</literal></term>
+    <term><literal>WITH ( <replaceable class="parameter">table_storage_parameter</replaceable> [= <replaceable class="parameter">value</replaceable>] [, ... ] )</literal></term>
+    <term><literal>WITH ( <replaceable class="parameter">index_storage_parameter</replaceable> [= <replaceable class="parameter">value</replaceable>] [, ... ] )</literal></term>
     <listitem>
      <para>
-      This clause specifies optional storage parameters for a table or index;
+      These clauses specify optional storage parameters for tables and indexes respectively;
       see <xref linkend="sql-createtable-storage-parameters"/> below for more
-      information.  For backward-compatibility the <literal>WITH</literal>
+      information on table storage parameters. For index storage parameters
+      see <xref linkend="sql-createindex-storage-parameters"/>.
+     </para>
+     <para>
+      For backward-compatibility the <literal>WITH</literal>
       clause for a table can also include <literal>OIDS=FALSE</literal> to
       specify that rows of the new table should not contain OIDs (object
       identifiers), <literal>OIDS=TRUE</literal> is not supported anymore.
@@ -1575,8 +1580,8 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM
 
   </variablelist>
 
-  <refsect2 id="sql-createtable-storage-parameters" xreflabel="Storage Parameters">
-   <title>Storage Parameters</title>
+  <refsect2 id="sql-createtable-storage-parameters" xreflabel="Table Storage Parameters">
+   <title>Table Storage Parameters</title>
 
  <indexterm zone="sql-createtable-storage-parameters">
   <primary>storage parameters</primary>
@@ -1587,7 +1592,7 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM
     for tables, and for indexes associated with a <literal>UNIQUE</literal>,
     <literal>PRIMARY KEY</literal>, or <literal>EXCLUDE</literal> constraint.
     Storage parameters for
-    indexes are documented in <xref linkend="sql-createindex"/>.
+    indexes are documented in <xref linkend="sql-createindex-storage-parameters"/>
     The storage parameters currently
     available for tables are listed below.  For many of these parameters, as
     shown, there is an additional parameter with the same name prefixed with
-- 
2.43.0



^ permalink  raw  reply  [nested|flat] 8+ messages in thread

* Re: Docs: Distinguish table and index storage parameters in CREATE TABLE
@ 2026-04-03 19:27  Andreas Karlsson <[email protected]>
  parent: David G. Johnston <[email protected]>
  0 siblings, 1 reply; 8+ messages in thread

From: Andreas Karlsson @ 2026-04-03 19:27 UTC (permalink / raw)
  To: David G. Johnston <[email protected]>; PostgreSQL Hackers <[email protected]>

On 4/3/26 8:18 PM, David G. Johnston wrote:
> Per the discussion on -general [1] I propose that we stop using the 
> generic label storage_parameter on the create table reference page and 
> instead set up proper labels for table and index variants.

Nice patch, I like these changes! But you forgot to mention that you 
added the index storage parameters as in <indexterm>. Not sure if it is 
worth sending a new version of the patch for but something probably 
useful for the committer to knw.

-- 
Andreas Karlsson
Percona






^ permalink  raw  reply  [nested|flat] 8+ messages in thread

* Re: Docs: Distinguish table and index storage parameters in CREATE TABLE
@ 2026-04-03 19:35  Andreas Karlsson <[email protected]>
  parent: Andreas Karlsson <[email protected]>
  0 siblings, 2 replies; 8+ messages in thread

From: Andreas Karlsson @ 2026-04-03 19:35 UTC (permalink / raw)
  To: David G. Johnston <[email protected]>; PostgreSQL Hackers <[email protected]>

On 4/3/26 9:27 PM, Andreas Karlsson wrote:
> On 4/3/26 8:18 PM, David G. Johnston wrote:
>> Per the discussion on -general [1] I propose that we stop using the 
>> generic label storage_parameter on the create table reference page and 
>> instead set up proper labels for table and index variants.
> 
> Nice patch, I like these changes! But you forgot to mention that you 
> added the index storage parameters as in <indexterm>. Not sure if it is 
> worth sending a new version of the patch for but something probably 
> useful for the committer to knw.

Shouldn't also update ALTER INDEX and LATER TABLE to match?

-- 
Andreas Karlsson
Percona






^ permalink  raw  reply  [nested|flat] 8+ messages in thread

* Re: Docs: Distinguish table and index storage parameters in CREATE TABLE
@ 2026-04-03 19:44  David G. Johnston <[email protected]>
  parent: Andreas Karlsson <[email protected]>
  1 sibling, 1 reply; 8+ messages in thread

From: David G. Johnston @ 2026-04-03 19:44 UTC (permalink / raw)
  To: Andreas Karlsson <[email protected]>; +Cc: PostgreSQL Hackers <[email protected]>

On Fri, Apr 3, 2026 at 12:35 PM Andreas Karlsson <[email protected]> wrote:

> On 4/3/26 9:27 PM, Andreas Karlsson wrote:
> > On 4/3/26 8:18 PM, David G. Johnston wrote:
> >> Per the discussion on -general [1] I propose that we stop using the
> >> generic label storage_parameter on the create table reference page and
> >> instead set up proper labels for table and index variants.
> >
> > Nice patch, I like these changes! But you forgot to mention that you
> > added the index storage parameters as in <indexterm>. Not sure if it is
> > worth sending a new version of the patch for but something probably
> > useful for the committer to knw.
>
> Shouldn't also update ALTER INDEX and LATER TABLE to match?
>
>
I gave it a thought and decided there was no ambiguity to resolve on those
pages.

I'm not opposed to it but figured I'd wait for a committer to show interest
and ask the scope to be expanded to a full docs review instead of just
addressing the immediate user-reported confusion.  When I do expand the
scope on my own it seems to scare them off.

David J.


^ permalink  raw  reply  [nested|flat] 8+ messages in thread

* Re: Docs: Distinguish table and index storage parameters in CREATE TABLE
@ 2026-04-03 19:50  Andreas Karlsson <[email protected]>
  parent: David G. Johnston <[email protected]>
  0 siblings, 0 replies; 8+ messages in thread

From: Andreas Karlsson @ 2026-04-03 19:50 UTC (permalink / raw)
  To: David G. Johnston <[email protected]>; +Cc: PostgreSQL Hackers <[email protected]>

On 4/3/26 9:44 PM, David G. Johnston wrote:
> I'm not opposed to it but figured I'd wait for a committer to show 
> interest and ask the scope to be expanded to a full docs review instead 
> of just addressing the immediate user-reported confusion.  When I do 
> expand the scope on my own it seems to scare them off.

Well, ALTER TABLE also has the same potential confusion so I think we 
should either just change CREATE TABLE and ALTER TABLE or all of CREATE 
TABLE, ALTER TABLE, CREATE INDEX and ALTER INDEX.

Just changing the two CREATE pages makes little sense when CREATE|ALTER 
TABLE are both equally problematic en my opinion.

Andreas






^ permalink  raw  reply  [nested|flat] 8+ messages in thread

* Re: Docs: Distinguish table and index storage parameters in CREATE TABLE
@ 2026-04-03 19:51  Robert Treat <[email protected]>
  parent: Andreas Karlsson <[email protected]>
  1 sibling, 1 reply; 8+ messages in thread

From: Robert Treat @ 2026-04-03 19:51 UTC (permalink / raw)
  To: Andreas Karlsson <[email protected]>; +Cc: David G. Johnston <[email protected]>; PostgreSQL Hackers <[email protected]>

On Fri, Apr 3, 2026 at 3:35 PM Andreas Karlsson <[email protected]> wrote:
> On 4/3/26 9:27 PM, Andreas Karlsson wrote:
> > On 4/3/26 8:18 PM, David G. Johnston wrote:
> >> Per the discussion on -general [1] I propose that we stop using the
> >> generic label storage_parameter on the create table reference page and
> >> instead set up proper labels for table and index variants.
> >

It's sort of interesting that no one in the above discussion gave an
example like:
create table t (c int, constraint pk primary key (c) with (fillfactor
= 90)) with (fillfactor = 100);
and pointing out that where you put the parameter changes what it
effects, so I'm a little skeptical that this patch would help the
original discussion, but it certainly wouldn't hurt, so +1 from me.

> > Nice patch, I like these changes! But you forgot to mention that you
> > added the index storage parameters as in <indexterm>. Not sure if it is
> > worth sending a new version of the patch for but something probably
> > useful for the committer to knw.
>

Looking through the index on my local generated doc build, this seems
like an improvement.

> Shouldn't also update ALTER INDEX and LATER TABLE to match?
>

I was thinking the same thing. While we only have one version of the
term on those pages, ISTM that we ought to use the terms consistently
if we are going to change them in one place. A quick search also seems
to indicate that this would expand the change to a number of other
pages too though (materialized views and such).

Robert Treat
https://xzilla.net





^ permalink  raw  reply  [nested|flat] 8+ messages in thread

* Re: Docs: Distinguish table and index storage parameters in CREATE TABLE
@ 2026-04-04 03:03  David G. Johnston <[email protected]>
  parent: Robert Treat <[email protected]>
  0 siblings, 0 replies; 8+ messages in thread

From: David G. Johnston @ 2026-04-04 03:03 UTC (permalink / raw)
  To: Robert Treat <[email protected]>; +Cc: Andreas Karlsson <[email protected]>; PostgreSQL Hackers <[email protected]>

On Friday, April 3, 2026, Robert Treat <[email protected]> wrote:

> On Fri, Apr 3, 2026 at 3:35 PM Andreas Karlsson <[email protected]> wrote:
> > On 4/3/26 9:27 PM, Andreas Karlsson wrote:
> > > On 4/3/26 8:18 PM, David G. Johnston wrote:
> > >> Per the discussion on -general [1] I propose that we stop using the
> > >> generic label storage_parameter on the create table reference page and
> > >> instead set up proper labels for table and index variants.
> > >
>
> It's sort of interesting that no one in the above discussion gave an
> example like:
> create table t (c int, constraint pk primary key (c) with (fillfactor
> = 90)) with (fillfactor = 100);
> and pointing out that where you put the parameter changes what it
> effects, so I'm a little skeptical that this patch would help the
> original discussion, but it certainly wouldn't hurt, so +1 from me.
>

Stretches my skills a bit but if the error message had been: (unrecognized
index storage parameter “autovacuum_enabled”) the syntax placement issue
may have been recognized working under the assumption the author knows
their intent is to modify the table (and vice-versa).

As a quick footgun prevention attempt (not a huge fan though):

Note, specifying a primary key or unique constraint as the final component
of create table makes assigning storage parameters to the wrong object more
likely.
(Added to the with clause section)

David J.


^ permalink  raw  reply  [nested|flat] 8+ messages in thread

* [PATCH] DOCS: Distinguish table and index storage parameters
@ 2026-06-04 10:08  vellaipandiyan sm <[email protected]>
  0 siblings, 0 replies; 8+ messages in thread

From: vellaipandiyan sm @ 2026-06-04 10:08 UTC (permalink / raw)
  To: pgsql-hackers

Hi,

This patch replaces the generic placeholder name
"storage_parameter" with more specific names in the
CREATE TABLE and CREATE INDEX reference pages.

Table-level storage parameters are documented as
"table_storage_parameter", while index-level storage
parameters are documented as "index_storage_parameter".

This makes it easier to distinguish between the two
parameter categories when reading the command syntax.

Thanks,
Vellaipandiyan


Attachments:

  [application/octet-stream] 0001-DOCS-Distinguish-table-and-index-storage-parameters.patch (6.6K, 3-0001-DOCS-Distinguish-table-and-index-storage-parameters.patch)
  download | inline diff:
From 9724706799ca46bda387d93d85eab61f4335cb01 Mon Sep 17 00:00:00 2001
From: vellaipandiyansm <[email protected]>
Date: Thu, 4 Jun 2026 10:00:45 +0000
Subject: [PATCH] DOCS: Distinguish table and index storage parameters

---
 doc/src/sgml/ref/create_index.sgml |  4 ++--
 doc/src/sgml/ref/create_table.sgml | 10 +++++-----
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/doc/src/sgml/ref/create_index.sgml b/doc/src/sgml/ref/create_index.sgml
index bb7505d..5685071 100644
--- a/doc/src/sgml/ref/create_index.sgml
+++ b/doc/src/sgml/ref/create_index.sgml
@@ -25,7 +25,7 @@ CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] [ [ IF NOT EXISTS ] <replaceable class=
     ( { <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> [, ...] ) ]
     [ NULLS [ NOT ] DISTINCT ]
-    [ WITH ( <replaceable class="parameter">storage_parameter</replaceable> [= <replaceable class="parameter">value</replaceable>] [, ... ] ) ]
+    [ WITH ( <replaceable class="parameter">index_storage_parameter</replaceable> [= <replaceable class="parameter">value</replaceable>] [, ... ] ) ]
     [ TABLESPACE <replaceable class="parameter">tablespace_name</replaceable> ]
     [ WHERE <replaceable class="parameter">predicate</replaceable> ]
 </synopsis>
@@ -349,7 +349,7 @@ CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] [ [ IF NOT EXISTS ] <replaceable class=
      </varlistentry>
 
      <varlistentry>
-      <term><replaceable class="parameter">storage_parameter</replaceable></term>
+      <term><replaceable class="parameter">index_storage_parameter</replaceable></term>
       <listitem>
        <para>
         The name of an index-method-specific storage parameter.  See
diff --git a/doc/src/sgml/ref/create_table.sgml b/doc/src/sgml/ref/create_table.sgml
index e342585..85e1b92 100644
--- a/doc/src/sgml/ref/create_table.sgml
+++ b/doc/src/sgml/ref/create_table.sgml
@@ -30,7 +30,7 @@ CREATE [ <replaceable>persistence_mode</replaceable> ] TABLE [ IF NOT EXISTS ] <
 [ INHERITS ( <replaceable>parent_table</replaceable> [, ... ] ) ]
 [ PARTITION BY { RANGE | LIST | HASH } ( { <replaceable class="parameter">column_name</replaceable> | ( <replaceable class="parameter">expression</replaceable> ) } [ COLLATE <replaceable class="parameter">collation</replaceable> ] [ <replaceable class="parameter">opclass</replaceable> ] [, ... ] ) ]
 [ USING <replaceable class="parameter">method</replaceable> ]
-[ WITH ( <replaceable class="parameter">storage_parameter</replaceable> [= <replaceable class="parameter">value</replaceable>] [, ... ] ) | WITHOUT OIDS ]
+[ WITH ( <replaceable class="parameter">table_storage_parameter</replaceable> [= <replaceable class="parameter">value</replaceable>] [, ... ] ) | WITHOUT OIDS ]
 [ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ]
 [ TABLESPACE <replaceable class="parameter">tablespace_name</replaceable> ]
 
@@ -42,7 +42,7 @@ CREATE [ <replaceable>persistence_mode</replaceable> ] TABLE [ IF NOT EXISTS ] <
 ) ]
 [ PARTITION BY { RANGE | LIST | HASH } ( { <replaceable class="parameter">column_name</replaceable> | ( <replaceable class="parameter">expression</replaceable> ) } [ COLLATE <replaceable class="parameter">collation</replaceable> ] [ <replaceable class="parameter">opclass</replaceable> ] [, ... ] ) ]
 [ USING <replaceable class="parameter">method</replaceable> ]
-[ WITH ( <replaceable class="parameter">storage_parameter</replaceable> [= <replaceable class="parameter">value</replaceable>] [, ... ] ) | WITHOUT OIDS ]
+[ WITH ( <replaceable class="parameter">table_storage_parameter</replaceable> [= <replaceable class="parameter">value</replaceable>] [, ... ] ) | WITHOUT OIDS ]
 [ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ]
 [ TABLESPACE <replaceable class="parameter">tablespace_name</replaceable> ]
 
@@ -54,7 +54,7 @@ CREATE [ <replaceable>persistence_mode</replaceable> ] TABLE [ IF NOT EXISTS ] <
 ) ] { FOR VALUES <replaceable class="parameter">partition_bound_spec</replaceable> | DEFAULT }
 [ PARTITION BY { RANGE | LIST | HASH } ( { <replaceable class="parameter">column_name</replaceable> | ( <replaceable class="parameter">expression</replaceable> ) } [ COLLATE <replaceable class="parameter">collation</replaceable> ] [ <replaceable class="parameter">opclass</replaceable> ] [, ... ] ) ]
 [ USING <replaceable class="parameter">method</replaceable> ]
-[ WITH ( <replaceable class="parameter">storage_parameter</replaceable> [= <replaceable class="parameter">value</replaceable>] [, ... ] ) | WITHOUT OIDS ]
+[ WITH ( <replaceable class="parameter">table_storage_parameter</replaceable> [= <replaceable class="parameter">value</replaceable>] [, ... ] ) | WITHOUT OIDS ]
 [ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ]
 [ TABLESPACE <replaceable class="parameter">tablespace_name</replaceable> ]
 
@@ -112,7 +112,7 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM
 <phrase>and <replaceable class="parameter">index_parameters</replaceable> in <literal>UNIQUE</literal>, <literal>PRIMARY KEY</literal>, and <literal>EXCLUDE</literal> constraints are:</phrase>
 
 [ INCLUDE ( <replaceable class="parameter">column_name</replaceable> [, ... ] ) ]
-[ WITH ( <replaceable class="parameter">storage_parameter</replaceable> [= <replaceable class="parameter">value</replaceable>] [, ... ] ) ]
+[ WITH ( <replaceable class="parameter">index_storage_parameter</replaceable> [= <replaceable class="parameter">value</replaceable>] [, ... ] ) ]
 [ USING INDEX TABLESPACE <replaceable class="parameter">tablespace_name</replaceable> ]
 
 <phrase>and <replaceable class="parameter">exclude_element</replaceable> in an <literal>EXCLUDE</literal> constraint is:</phrase>
@@ -1471,7 +1471,7 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM
    </varlistentry>
 
    <varlistentry id="sql-createtable-parms-with">
-    <term><literal>WITH ( <replaceable class="parameter">storage_parameter</replaceable> [= <replaceable class="parameter">value</replaceable>] [, ... ] )</literal></term>
+    <term><literal>WITH ( <replaceable class="parameter">table_storage_parameter</replaceable> [= <replaceable class="parameter">value</replaceable>] [, ... ] )</literal></term>
     <listitem>
      <para>
       This clause specifies optional storage parameters for a table or index;
-- 
2.53.0



^ permalink  raw  reply  [nested|flat] 8+ messages in thread


end of thread, other threads:[~2026-06-04 10:08 UTC | newest]

Thread overview: 8+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2026-04-03 18:18 Docs: Distinguish table and index storage parameters in CREATE TABLE David G. Johnston <[email protected]>
2026-04-03 19:27 ` Andreas Karlsson <[email protected]>
2026-04-03 19:35   ` Andreas Karlsson <[email protected]>
2026-04-03 19:44     ` David G. Johnston <[email protected]>
2026-04-03 19:50       ` Andreas Karlsson <[email protected]>
2026-04-03 19:51     ` Robert Treat <[email protected]>
2026-04-04 03:03       ` David G. Johnston <[email protected]>
2026-06-04 10:08 [PATCH] DOCS: Distinguish table and index storage parameters vellaipandiyan sm <[email protected]>

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