Maison > base de données > tutoriel mysql > Comment récupérer les informations des colonnes indexées dans PostgreSQL ?

Comment récupérer les informations des colonnes indexées dans PostgreSQL ?

Linda Hamilton
Libérer: 2024-12-30 00:18:14
original
856 Les gens l'ont consulté

How to Retrieve Indexed Column Information in PostgreSQL?

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%';
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal