Subject: Incorrect SQL on CREATE INDEX page

From: Josh Kupershmidt <[email-masked]>
Date: Wed, 17 Mar 2010 10:38:59 -0400

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

---

From: Tom Lane <[email-masked]>
Date: Wed, 17 Mar 2010 11:13:45 -0400

> it is missing the USING clause.

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

> explicit guarantee that CREATE UNIQUE INDEX will always use a B-Tree

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

			regards, tom lane

---

From: "Roderick A. Anderson" <[email-masked]>
Date: Wed, 17 Mar 2010 08:38:06 -0700

> Josh Kupershmidt <[email-masked]> writes:
<snip />
> It's pointed out further up the page that btree is the default access

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

\\||/
Rod
--