primary_key(table)
public
Returns just a table’s primary key
# File activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb, line 399
def primary_key(table)
pks = exec_query( SELECT attr.attname FROM pg_attribute attr INNER JOIN pg_constraint cons ON attr.attrelid = cons.conrelid AND attr.attnum = any(cons.conkey) WHERE cons.contype = 'p' AND cons.conrelid = '#{quote_table_name(table)}'::regclass, 'SCHEMA').rows
return nil unless pks.count == 1
pks[0][0]
end