For the reference (from the same page):

[quote]
WITH ( storage_parameter [= value] [, ... ] )

This clause specifies optional storage parameters for a table or
index; see Storage Parameters below for more information. For
backward-compatibility the WITH clause for a table can also include
OIDS=FALSE to specify that rows of the new table should not contain
OIDs (object identifiers), OIDS=TRUE is not supported anymore.

[/quote]

So the "WITH " clause is definitely available for indexes.

Thank you.

On Sun, Mar 8, 2026 at 6:32 PM Igor Korot <[email protected]> wrote:
>
> Sahul,
>
> On Sun, Mar 8, 2026 at 5:40 PM Sahul Hameed <[email protected]> wrote:
> >
> > The problem is that you're putting the WITH clause on the PRIMARY KEY 
> > constraint, which applies to the index, not the table.
> >
> > CREATE TABLE leagues_new(id serial, name varchar(100),
> >     drafttype smallint,scoringtype smallint,roundvalues smallint,
> >     leaguetype char(5),salary integer,benchplayers smallint,primary
> > key(id) INCLUDE (drafttype, scoringtype)) WITH( fillfactor = 50, 
> > autovacuum_enabled = true );
>
> This definitely is supported for the PRIMARY KEY constraint.
> Just remove the faulty clause and leave only "fillfactor" one...
>
> Thank you.
>
> >
> > --Sahul
> >
> > On Sun, Mar 8, 2026 at 10:10 PM Igor Korot <[email protected]> wrote:
> >>
> >> Hi, ALL,
> >>
> >> [quote]
> >> draft=# CREATE TABLE leagues_new(id serial, name varchar(100),
> >> drafttype smallint, scoringtype smallint, roundvalues smallint,
> >> leaguetype char(5), salary integer, benchplayers smallint, primary
> >> key(id) INCLUDE (drafttype, scoringtype) WITH( fillfactor = 50,
> >> autovacuum_enabled ));
> >> ERROR:  unrecognized parameter "autovacuum_enabled"
> >> [/quote]
> >>
> >> But the page at
> >> https://www.postgresql.org/docs/16/sql-createtable.html#SQL-CREATETABLE-STORAGE-PARAMETERS
> >> says it's available.
> >>
> >> What am I missing?
> >>
> >> Thank you.
> >>
> >>


Reply via email to