Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PostgreSQL Новый топик    Ответить
 key  [new]
green_bot
Member

Откуда:
Сообщений: 3
подскажите возможно ли при помощи запроса узнать какой столбец в таблице является primary key а какой foreign key
26 окт 10, 20:27    [9680739]     Ответить | Цитировать Сообщить модератору
 Re: key  [new]
gray hemp
Member

Откуда: Moscow, Russia http://gray-hemp.blogspot.com
Сообщений: 122
green_bot,

Да, как-то так

SELECT contype, attname
FROM pg_constraint
JOIN pg_attribute ON
    attrelid = conrelid AND
    attnum = any(conkey)
WHERE
    contype in ('p', 'f') AND
    conrelid = 'yourtablename'::regclass::oid
ORDER BY 1, attnum;
27 окт 10, 08:38    [9682208]     Ответить | Цитировать Сообщить модератору
 Re: key  [new]
green_bot
Member

Откуда:
Сообщений: 3
спасибо помогло
27 окт 10, 09:00    [9682301]     Ответить | Цитировать Сообщить модератору
 Re: key  [new]
LeXa NalBat
Member

Откуда: Москва
Сообщений: 2877
information_schema.table_constraints
information_schema.key_column_usage
28 окт 10, 11:52    [9691122]     Ответить | Цитировать Сообщить модератору
 Re: key  [new]
SmeL_md
Member

Откуда:
Сообщений: 1065
LeXa NalBat,
information_schema.table_constraints
information_schema.key_column_usage
тоже этим пользовался но у меня только postgres выдавал PK FK U, не знаю на что венить либо я отобрал права но запрос пустой возвращался. Воспользовался запросом от gray hemp и получил данные
28 окт 10, 12:44    [9691729]     Ответить | Цитировать Сообщить модератору
Все форумы / PostgreSQL Ответить