Thread: Incorrect SQL on CREATE INDEX page

Incorrect SQL on CREATE INDEX page

From
Josh Kupershmidt
Date:
In the "Examples" section of the page for CREATE INDEX:
http://www.postgresql.org/docs/current/static/sql-createindex.html
it says:
   To create a GIN index with fast updates disabled:
   CREATE INDEX gin_idx ON documents_table (locations) WITH (fastupdate = off);

This SQL fails with 'ERROR:  unrecognized parameter "fastupdate"', as
it is missing the USING clause. Correct syntax should be:
    CREATE INDEX gin_idx ON documents_table USING gin(locations) WITH
(fastupdate = off);

Also, a more minor quibble about the same section: the first example says:

    To create a B-tree index on the column title  in the table films:
    CREATE UNIQUE INDEX title_idx ON films (title);

Perhaps the mention of "B-tree" should be omitted here, since "USING
btree" is not actually used in the SQL provided. Or is there an
explicit guarantee that CREATE UNIQUE INDEX will always use a B-Tree
documented somewhere?

Josh

Re: Incorrect SQL on CREATE INDEX page

From
Tom Lane
Date:
Josh Kupershmidt <schmiddy@gmail.com> writes:
> In the "Examples" section of the page for CREATE INDEX:
> http://www.postgresql.org/docs/current/static/sql-createindex.html
> it says:
>    To create a GIN index with fast updates disabled:
>    CREATE INDEX gin_idx ON documents_table (locations) WITH (fastupdate = off);

> This SQL fails with 'ERROR:  unrecognized parameter "fastupdate"', as
> it is missing the USING clause.

Ooops.  You're right, that's definitely a mistake.  Will fix.

> Also, a more minor quibble about the same section: the first example says:
>     To create a B-tree index on the column title  in the table films:
>     CREATE UNIQUE INDEX title_idx ON films (title);
> Perhaps the mention of "B-tree" should be omitted here, since "USING
> btree" is not actually used in the SQL provided. Or is there an
> explicit guarantee that CREATE UNIQUE INDEX will always use a B-Tree
> documented somewhere?

It's pointed out further up the page that btree is the default access
method.

            regards, tom lane

Re: Incorrect SQL on CREATE INDEX page

From
"Roderick A. Anderson"
Date:
Tom Lane wrote:
> Josh Kupershmidt <schmiddy@gmail.com> writes:
<snip />
>> Also, a more minor quibble about the same section: the first example says:
>>     To create a B-tree index on the column title  in the table films:
>>     CREATE UNIQUE INDEX title_idx ON films (title);
>> Perhaps the mention of "B-tree" should be omitted here, since "USING
>> btree" is not actually used in the SQL provided. Or is there an
>> explicit guarantee that CREATE UNIQUE INDEX will always use a B-Tree
>> documented somewhere?
>
> It's pointed out further up the page that btree is the default access
> method.

Maybe change it to  " ... B-tree index (the default) on the column ... "
for those of us with short memories.


\\||/
Rod
--