PostgreSQLLa base de données la plus sophistiquée au monde.
Documentation PostgreSQL 13.18 » Langage SQL » Index » Index et collationnements

11.11. Index et collationnements

Un index peut supporter seulement un collationnement par colonne d'index. Si plusieurs collationnements ont un intérêt, plusieurs index pourraient être nécessaires.

Regardez ces requêtes :

CREATE TABLE test1c (
    id integer,
    content varchar COLLATE "x"
);

CREATE INDEX test1c_content_index ON test1c (content);
  

L'index utilise automatiquement le collationnement de la colonne sous-jacente. Donc une requête de la forme

SELECT * FROM test1c WHERE content > constant;
  

peut utiliser l'index, car la comparaison utilisera par défaut le collationnement de la colonne. Néanmoins, cet index ne peut pas accélérer les requêtes qui impliquent d'autres collationnements. Donc, pour des requêtes de cette forme

SELECT * FROM test1c WHERE content > constant COLLATE "y";
  

un index supplémentaire, supportant le collationnement "y" peut être ajouté ainsi :

CREATE INDEX test1c_content_y_index ON test1c (content COLLATE "y");