Re: Quick question

Поиск
Список
Период
Сортировка
От Kris Jurka
Тема Re: Quick question
Дата
Msg-id Pine.LNX.4.33.0310030606560.15533-100000@leary.csoft.net
обсуждение исходный текст
Ответ на Quick question  (Christopher Kings-Lynne <chriskl@familyhealth.com.au>)
Список pgsql-hackers

On Fri, 3 Oct 2003, Christopher Kings-Lynne wrote:

> Hi guys,
>
> If someone could help me with this, it would be cool.  How do I query
> the catalogs to find the underlying index for a constraint?  (Assuming
> the constraint is primary or unique)
>

For a primary key you can do:

SELECT cls.relname AS index_name
FROM pg_class cls, pg_constraint con, pg_index i
WHERE cls.oid = i.indexrelid AND con.conrelid = i.indrelid AND
i.indisprimary AND con.conname='<constraint name>';

This is not possible for a unique constraint because you can have multiple
unique constraints per table.  So you are left trying to match
pg_constraint.conkey to pg_index.indkey (for which no default operator
exists), but even this can fail if you have the unlikely situation of two
unique indexes covering the same columns.

Kris Jurka



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

Предыдущее
От: Hannu Krosing
Дата:
Сообщение: Re: Index/Function organized table layout
Следующее
От: Michael Meskes
Дата:
Сообщение: Re: ecpg doesn't compile (datetime.h/dtime_t)