Ich weiß, wie man einen Primärschlüssel in einer Tabelle erstellt, aber wie mache ich einen vorhandenen Index zu einem Primärschlüssel? Ich versuche, eine vorhandene Tabelle von einer Datenbank in eine andere zu kopieren. Wenn ich die Tabelle zeige, sieht der Index unten so aus:
"my_index" PRIMARY KEY, btree (column1, column2)
Ich habe den Index erstellt mit:
CREATE INDEX my_index ON my_table (column1, column2)
Aber ich weiß nicht, wie ich es zum Primärschlüssel machen soll ...
UPDATE: Die Version meines Servers ist 8.3.3
postgresql
index
primary-key
WildBill
quelle
quelle
Antworten:
Sie würden ALTER TABLE verwenden , um die Primärschlüssel hinzuzufügen Einschränkung . In Postgres können Sie einen Index über das
ALTER TABLE .. ADD table_constraint_using_index
Formular " " " " promotenBeachten Sie, dass der Index für einen Primärschlüssel natürlich eindeutig sein muss
quelle
USING INDEX
ist verfügbar seit 9.1. IchIch denke nicht, dass es in dieser Version von postgresql möglich ist, einen Index in einen Primärschlüssel umzuwandeln.
Ich würde einfach den vorhandenen Index löschen und den Primärschlüssel unter Verwendung der von Ihnen angegebenen Spalten erstellen:
Arbeitete in 7.4 und 8.4
quelle