Je demande au catalogue système dans PostgreSQL 9.6.4
Obtenir un ensemble de tables de résultat et leurs index sont directement en avant, ce qui me manque, c'est le type d'index (Btree, Brin, etc.), je ne peux pas sembler trouver le type d'index n'importe où dans les catalogues système.
Comment puis-je interroger les catalogues pour obtenir une liste d'index avec leur type?
Les types d'index dans PostgreSQL sont stockés dans le pg_am
Tableau de catalogue. afin d'obtenir une liste de toutes les tables et de leurs index avec le type d'index (ou la méthode d'accès ("am") comme l'appelle PostgreSQL) Vous pouvez exécuter ce qui suit.
SELECT tab.relname, cls.relname, am.amname
FROM pg_index idx
JOIN pg_class cls ON cls.oid=idx.indexrelid
JOIN pg_class tab ON tab.oid=idx.indrelid
JOIN pg_am am ON am.oid=cls.relam;