Nom |
Description |
UNIQUE |
Ce paramètre permet d'indiquer que le système recherche les valeurs en double dans la table lors de la création de l'index (si des données existent déjà) et chaque fois que des données sont ajoutées. Les tentatives d'insertion ou de mise à jour de données entraînant des entrées en double généreront une erreur. |
CONCURRENTLY |
Ce paramètre permet d'indiquer que PostgreSQL construira l'index sans prendre de verrous empêchant les insertions, mises à jour ou suppressions simultanées sur la table ; alors qu'une construction d'index standard verrouille les écritures (mais pas les lectures) sur la table jusqu'à ce qu'elle soit terminée. Il y a plusieurs mises en garde à prendre en compte lors de l'utilisation de cette option. Pour les tables temporaires, CREATE INDEX est toujours non simultané, car aucune autre session ne peut y accéder, et la création d'index non simultanés est moins chère. |
IF NOT EXISTS |
Ce paramètre permet d'indiquer s'il n'existe pas. Ne renvoie pas d'erreur si une relation du même nom existe déjà. Un avis est émis dans ce cas. Notez qu'il n'y a aucune garantie que l'index existant ressemble à celui qui aurait été créé. Le nom de l'index est requis lorsque IF NOT EXISTS est spécifié. |
name |
Ce paramètre permet d'indiquer le nom de l'index à créer. Aucun nom de schéma ne peut être inclus ici ; l'index est toujours créé dans le même schéma que sa table parent. Si le nom est omis, PostgreSQL choisit un nom approprié basé sur le nom de la table parent et le(s) nom(s) de colonne indexée. |
table_name |
Ce paramètre permet d'indiquer le nom (éventuellement qualifié par le schéma) de la table à indexer. |
method |
Ce paramètre permet d'indiquer le nom de la méthode d'indexation à utiliser. Les choix sont btree, hash, gist, spgist, gin et brin. La méthode par défaut est btree. |
column_name |
Ce paramètre permet d'indiquer le nom d'une colonne de la table. |
expression |
Ce paramètre permet d'indiquer une expression basée sur une ou plusieurs colonnes de la table. L'expression doit généralement être écrite avec des parenthèses environnantes, comme indiqué dans la syntaxe. Cependant, les parenthèses peuvent être omises si l'expression a la forme d'un appel de fonction. |
collation |
Ce paramètre permet d'indiquer le nom du classement à utiliser pour l'index. Par défaut, l'index utilise le classement déclaré pour la colonne à indexer ou le classement résultant de l'expression à indexer. Les index avec des classements autres que ceux par défaut peuvent être utiles pour les requêtes impliquant des expressions utilisant des classements autres que ceux par défaut. |
opclass |
Ce paramètre permet d'indiquer le nom d'une classe d'opérateurs. |
ASC |
Ce paramètre permet d'indiquer l'ordre de tri croissant (étant la valeur par défaut). |
DESC |
Ce paramètre permet d'indiquer l'ordre de tri décroissant. |
NULLS FIRST |
Ce paramètre permet d'indiquer que les valeurs NULL sont triées avant les valeurs non NULL. Il s'agit de la valeur par défaut lorsque DESC est spécifié. |
NULLS LAST |
Ce paramètre permet d'indiquer que les valeurs NULL sont triées après les valeurs non NULL. Il s'agit de la valeur par défaut lorsque DESC n'est pas spécifié. |
storage_parameter |
Ce paramètre permet d'indiquer le nom d'un paramètre d'entreposage spécifique à la méthode d'indexation. |
tablespace_name |
Ce paramètre permet d'indiquer l'espace table dans lequel créer l'index. S'il n'est pas spécifié, default_tablespace est consulté, ou temp_tablespaces pour les index sur les tables temporaires. |
predicate |
Ce paramètre permet d'indiquer l'expression de contrainte pour un index partiel. |
Cette instruction permet de définir un nouvel index.