Search Postgresql Archives

primary keys

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I'm trying to craft a query that will determine what column(s) are the primary key for a given table. I have succeeded but the query is so ugly that it borders on silly and cannot work for an arbitrary number of tables since indkey is an int2vect and the ANY keyword does not work on it. Please tell me there's an easier way to do this. Here is the query for tablename $table.

SELECT attname
FROM pg_index
 JOIN pg_class ON (indrelid = pg_class.oid)
 JOIN pg_attribute ON (attrelid = pg_class.oid)
WHERE indisprimary IS TRUE
 AND (attnum = indkey[0] OR attnum = indkey[1] OR attnum = indkey[2])
 AND relname = '$table';

Orion



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux