sql >> Databáze >  >> RDS >> PostgreSQL

Vypište všechny názvy indexů, názvy sloupců a název jejich tabulky databáze PostgreSQL

Tím se vytisknou všechny indexy s podrobnostmi (vyjmuty z mých definic pohledu):

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;

Volitelně přidejte další spojení na konec, abyste ořízli jmenné prostory:

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
JOIN   pg_namespace as ns
ON     ns.oid = i.relnamespace
AND    ns.nspname = ANY(current_schemas(false));


  1. Vytvořte Computed Column v SQL Server pomocí T-SQL

  2. Řešení chyb nesouladu architektury při používání aplikace Microsoft Access

  3. Vícesloupcový index na 3 polích s heterogenními datovými typy

  4. 3 způsoby připojení souboru MDF k serveru SQL