Skip to content

Instantly share code, notes, and snippets.

SELECT distinct i.relname as index_name, pg_get_indexdef(i.oid) as index_def
FROM pg_class t
JOIN pg_index d ON t.oid = d.indrelid
JOIN pg_class i ON d.indexrelid = i.oid AND i.relkind='i'
JOIN pg_namespace ns ON t.relnamespace = ns.oid
WHERE d.indisprimary = 'f'
AND t.relname = 'my_table'
AND ns.nspname = 'my_schema'
module DBLoaderUtils
def self.constraints_for(connection,table_name,schema_name="public")
q = "SELECT distinct ns.nspname as schemaname, t.relname as tablename,
cons.conname as constraint_name, pg_get_constraintdef(cons.oid) as constraint_def,
cons.contype as constraint_type
FROM pg_class t
JOIN pg_constraint cons ON t.oid = cons.conrelid
JOIN pg_class cons_cls ON cons.conrelid = cons_cls.oid
JOIN pg_namespace ns ON t.relnamespace = ns.oid
WHERE cons.contype = 'f'