Re: CREATE INDEX...USING
От | Jeff Janes |
---|---|
Тема | Re: CREATE INDEX...USING |
Дата | |
Msg-id | CAMkU=1zsGME0tzkTRRH8offAeKwckhX_MTGb_P+qnmj2aiqWCw@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: CREATE INDEX...USING (Bruce Momjian <bruce@momjian.us>) |
Ответы |
Re: CREATE INDEX...USING
|
Список | pgsql-docs |
On Wed, Aug 17, 2022 at 2:58 PM Bruce Momjian <bruce@momjian.us> wrote:
On Wed, Aug 17, 2022 at 12:41:03PM -0400, Jeff Janes wrote:
> This was recently added to CREATE INDEX reference page:
>
> + The optional <literal>USING</literal> clause specifies an index
> + type as described in <xref linkend="indexes-types"/>. If not
> + specified, a default index type will be used based on the
> + data types of the columns.
>
> But I think this is wrong, the default type is BTREE, it does not depend on the
> data type. Or at least, I've never witnessed the claimed behavior. The claim
> also conflicts with what is said at https://www.postgresql.org/docs/10/
> indexes-types.html
You are correct --- parser/gram.y has:
access_method_clause:
USING name { $$ = $2; }
| /*EMPTY*/ { $$ = DEFAULT_INDEX_TYPE; }
and from include/catalog/index.h:
#define DEFAULT_INDEX_TYPE "btree"
Patch attached.
That looks good to me. But now looking over the linked pages more, it seems like https://www.postgresql.org/docs/current/indexes-types.html was never changed to admit the possibility of custom index access methods (like bloom) and neither was the 'replaceable class="parameter">method' section of https://www.postgresql.org/docs/current/sql-createindex.html.
Also, is it odd that we say essentially the same thing for literal USING as we say for the replaceable /method/?
Cheers,
Jeff
В списке pgsql-docs по дате отправления: