David Rowley <david.rowley@xxxxxxxxxxxxxxx> writes: > On 8 May 2017 at 00:42, Igor Korot <ikorot01@xxxxxxxxx> wrote: >> Basically what I'd like to see is the definition of each column and >> whether this column is part of primary/foreign key or not. > information_schema.table_constraints is of no use to you then. There > are no details about which column(s) the constraint applies to. information_schema.constraint_column_usage might help, though you'll still need to join that to other views. > Likely you'll want to look at pg_constraint for contype in('p','f') > and unnest(conkey) and join that to information_schema.columns. You > may also need to think about pg_constraint.confkey, depending on if > you want to know if the column is referencing or referenced in a > foreign key constraint. If you don't mind a PG-specific solution, that's the way to go, as it will surely be more efficient than going through the information_schema views. Also, there are things that act like constraints but aren't SQL-standard, such as exclusion constraints; we don't reflect those in information_schema, so if you want to include those then you *must* look directly at the catalogs. regards, tom lane -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general