Re: How to retrieve functional index column names

Поиск
Список
Период
Сортировка
От Tom Hebbron
Тема Re: How to retrieve functional index column names
Дата
Msg-id bterm0$1u8h$1@news.hub.org
обсуждение исходный текст
Ответ на How to retrieve functional index column names  (glogy@centrum.cz (Jakub))
Список pgsql-hackers
"Jakub" <glogy@centrum.cz> wrote in message
news:c7ed2227.0401052332.3512fbd0@posting.google.com...
> Hi,
> I need to retrieve the name of the function and the index column names
> of the functional index. The system information about the
> index(function and its args) is stored in the system catalog column
> pg_index.indexprs. Do I have to parse pg_index.indexprs text or
> pg_get_indexdef(pg_index.indexrelid) result? Am I wrong? Is there
> another way to retrieve the column names? Could anybody help me
> please.
>
> Regards Jakub

the column names are stored in pg_catalog.pg_attribute.attname - linked to
the oid in pg_class of the index.

select
c.oid::regclass,
i.*,
ia.attname
from   pg_catalog.pg_class  c
inner join  pg_catalog.pg_index  i  ON (i.indrelid = c.oid)
inner join  pg_catalog.pg_attribute ia ON (i.indexrelid = ia.attrelid);

should do the trick.


--
Tom Hebbron
www.hebbron.com





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

Предыдущее
От: Manfred Spraul
Дата:
Сообщение: Re: libpq thread safety
Следующее
От: glogy@centrum.cz (Jakub)
Дата:
Сообщение: Re: How to retrieve functional index column names