sidymar
5/8/2017 - 1:43 PM

lista indíces em um BD (postgres)

lista indíces em um BD (postgres)

SELECT i.relname as indname,
      i.relowner as indowner,
      idx.indrelid::regclass,
      am.amname as indam,
      idx.indkey,
      ARRAY(
      SELECT pg_get_indexdef(idx.indexrelid, k + 1, true)
      FROM generate_subscripts(idx.indkey, 1) as k
      ORDER BY k
      ) as indkey_names,
      idx.indexprs IS NOT NULL as indexprs,
      idx.indpred IS NOT NULL as indpred
FROM   pg_index as idx
JOIN   pg_class as i
ON     i.oid = idx.indexrelid
JOIN   pg_am as am
ON     i.relam = am.oid
order by indname