Re: Determine if an index is a B-tree, GIST, or something else?

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Determine if an index is a B-tree, GIST, or something else?
Дата
Msg-id 15275.1358450045@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Determine if an index is a B-tree, GIST, or something else?  (Paul Jungwirth <pj@illuminatedcomputing.com>)
Ответы Re: Determine if an index is a B-tree, GIST, or something else?
Список pgsql-general
Paul Jungwirth <pj@illuminatedcomputing.com> writes:
> So in principle I can just join pg_index, pg_opclass, and pg_am to get my
> answer. It's actually a little more complicated because pg_index.indclass
> is not an oid, but an oidvector, with one entry for each column in the
> index. But unless I'm mistaken, every column in given index must use the
> same index method. For instance in a 2-column index you can't say `USING
> (btree, gist)`. So I can join with `pg_index.indclass[0] = pg_opclass.oid`.
> Can anyone confirm for me that for any index, every pg_opclass it uses will
> have the same pg_am?

pg_opclass seems the hard way --- just use pg_class.relam, which is the
OID of the index's AM.  (And yes, all the opclasses had better match
that.)

            regards, tom lane


В списке pgsql-general по дате отправления:

Предыдущее
От: Paul Jungwirth
Дата:
Сообщение: Re: Determine if an index is a B-tree, GIST, or something else?
Следующее
От: Paul Jungwirth
Дата:
Сообщение: Re: Determine if an index is a B-tree, GIST, or something else?