Je sais comment créer une clé primaire dans une table, mais comment faire d'un index existant une clé primaire? J'essaie de copier une table existante d'une base de données à une autre. Lorsque je montre le tableau, l'index en bas est sous cette forme:
"my_index" PRIMARY KEY, btree (column1, column2)
J'ai créé l'index avec:
CREATE INDEX my_index ON my_table (column1, column2)
Mais je ne sais pas comment en faire la clé primaire ...
MISE À JOUR: La version de mon serveur est 8.3.3
postgresql
index
primary-key
WildBill
la source
la source
Réponses:
Vous utiliseriez ALTER TABLE pour ajouter la contrainte de clé primaire . Dans Postgres, vous pouvez "promouvoir" un index en utilisant le
ALTER TABLE .. ADD table_constraint_using_index
formulaire " "Remarque, l'index doit bien sûr être unique pour une clé primaire
la source
USING INDEX
est disponible depuis la 9.1. Donc je suppose que vousJe ne pense pas qu'il soit possible de convertir un index en clé primaire dans cette version de postgresql.
Je voudrais simplement supprimer l'index existant et créer la clé primaire en utilisant les colonnes que vous avez spécifiées .:
A travaillé en 7.4 et 8.4
la source