web-dev-qa-db-fra.com

PostgreSQL: pouvez-vous créer un index dans la définition CREATE TABLE?

Je veux ajouter des index à certaines des colonnes d'un tableau sur la création. Existe-t-il un moyen de les ajouter à la définition CREATE TABLE ou dois-je les ajouter ensuite avec une autre requête?

CREATE INDEX reply_user_id ON reply USING btree (user_id);
87
Xeoncross

Il ne semble pas y avoir de moyen de spécifier un index dans le CREATE TABLE syntaxe. PostgreSQL crée cependant un index pour les contraintes uniques et les clés primaires par défaut, comme décrit dans cette note :

PostgreSQL crée automatiquement un index pour chaque contrainte unique et contrainte de clé primaire pour renforcer l'unicité.

Sinon, si vous voulez un index non unique, vous devrez le créer vous-même dans un CREATE INDEX requête.

96
rid

Non.

Cependant, vous pouvez créer des index unique dans la création, mais c'est parce qu'ils sont classés comme contraintes. Vous ne pouvez pas créer un index "général".

18
Bohemian