primary keys - Mailing list pgsql-general

From Orion Henry
Subject primary keys
Date
Msg-id 4446F471.1090503@orangekids.org
Whole thread Raw
Responses Re: primary keys  (Klint Gore <kg@kgb.une.edu.au>)
List pgsql-general
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


pgsql-general by date:

Previous
From: Orion
Date:
Subject: locating a primary key
Next
From: Dilan A
Date:
Subject: Permission problem opening database