Re: Finding the primary key of tables

Поиск
Список
Период
Сортировка
От Merlin Moncure
Тема Re: Finding the primary key of tables
Дата
Msg-id AANLkTinuTt8G35Hp-QtWz1f3e+-c6kY9nyRBC7x0YCYM@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Finding the primary key of tables  (George Silva <georger.silva@gmail.com>)
Ответы Re: Finding the primary key of tables  (George Silva <georger.silva@gmail.com>)
Список pgsql-general
2010/8/3 George Silva <georger.silva@gmail.com>:
> I'm going for Merlin's solution. Its the easiest one :P
>
> But I'm also having a problem:
>
> SELECT column_name FROM information_schema.key_column_usage k
>     LEFT OUTER JOIN information_schema.table_constraints ON (k.table_name =
> table_constraints.table_name)
> WHERE
>         table_constraints.constraint_type = 'PRIMARY KEY'
>         AND k.table_name = 'acidentes'
>         AND k.table_schema = 'public'
>
> this still returns me multiple columns. Did I forgot something?

yup -- you are supposed be matching on constraint_name, not just
table_name. try:
 SELECT column_name FROM information_schema.key_column_usage k
     LEFT OUTER JOIN information_schema.table_constraints USING
(table_schema, table_name, constraint_name)
 WHERE
         table_constraints.constraint_type = 'PRIMARY KEY'
         AND k.table_name = 'acidentes'
         AND k.table_schema = 'public'


merlin

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Question about Idle in TX
Следующее
От: George Silva
Дата:
Сообщение: Re: Finding the primary key of tables