sql >> Databasteknik >  >> RDS >> PostgreSQL

Kontrollerar om det finns index i PostgreSQL

Du kan få listan över index, deras tabell och kolumn med den här frågan:

select
    t.relname as table_name,
    i.relname as index_name,
    a.attname as column_name
from
    pg_class t,
    pg_class i,
    pg_index ix,
    pg_attribute a
where
    t.oid = ix.indrelid
    and i.oid = ix.indexrelid
    and a.attrelid = t.oid
    and a.attnum = ANY(ix.indkey)
    and t.relkind = 'r'
   -- and t.relname like 'mytable'
order by
    t.relname,
    i.relname;

Därifrån kan du kontrollera existensen efter indexnamn eller involverade kolumner och bestämma dig för att skapa/hoppa över indexet.




  1. Veckovisa aktiva användare för varje dag från loggen

  2. Hur tvingar man fram skiftlägeskänsliga tabellnamn?

  3. Förbryllande php/Mysql Time aritmetiska beteende

  4. Hur ansluter jag till Microsoft SQL Server 2008 (MSSQL) från Matlab?