Method: ActiveRecord::ConnectionAdapters::PostgreSQL::SchemaStatements#primary_keys

Defined in:
activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb

#primary_keys(table_name) ⇒ Object

:nodoc:



368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
# File 'activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb', line 368

def primary_keys(table_name) # :nodoc:
  query_values("    SELECT a.attname\n      FROM (\n             SELECT indrelid, indkey, generate_subscripts(indkey, 1) idx\n               FROM pg_index\n              WHERE indrelid = \#{quote(quote_table_name(table_name))}::regclass\n                AND indisprimary\n           ) i\n      JOIN pg_attribute a\n        ON a.attrelid = i.indrelid\n       AND a.attnum = i.indkey[i.idx]\n     ORDER BY i.idx\n  SQL\nend\n", "SCHEMA")