Obtention d'informations sur les colonnes indexées dans PostgreSQL
Dans MySQL, la commande SHOW INDEXES peut être utilisée pour récupérer les colonnes indexées pour un tableau. Cependant, dans PostgreSQL, il n'existe pas d'équivalent direct à cette commande.
Pour obtenir ces informations dans PostgreSQL, vous pouvez utiliser la requête suivante :
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 'test%';
Cette requête rejoint la table pg_class ( qui contient des informations sur les tables), la table pg_index (qui contient des informations sur les index) et la table pg_attribute (qui contient des informations sur les colonnes des tables). Il filtre ensuite les résultats pour inclure uniquement les index d'une table spécifique (dans cet exemple, les tables dont les noms commencent par "test").
Le résultat de cette requête sera une liste de noms d'index et les colonnes qui ils couvrent.
Pour résumer, alors que MySQL dispose d'une commande dédiée pour récupérer les informations des colonnes indexées, PostgreSQL nécessite une requête plus complexe impliquant plusieurs jointures de tables. Néanmoins, la requête fournie peut accomplir la tâche efficacement.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!