Sé cómo hacer una clave primaria dentro de una tabla, pero ¿cómo hago para que un índice existente sea una clave primaria? Estoy tratando de copiar una tabla existente de una base de datos a otra. Cuando muestro la tabla, el índice en la parte inferior está en esta forma:
"my_index" PRIMARY KEY, btree (column1, column2)
He creado el índice con:
CREATE INDEX my_index ON my_table (column1, column2)
Pero no sé cómo convertirlo en la clave principal ...
ACTUALIZACIÓN: La versión de mi servidor es 8.3.3
postgresql
index
primary-key
WildBill
fuente
fuente
Respuestas:
Usaría ALTER TABLE para agregar la restricción de clave principal . En Postgres puedes "promocionar" un índice usando el
ALTER TABLE .. ADD table_constraint_using_index
formulario " "Tenga en cuenta que el índice debe ser único, por supuesto, para una clave primaria
fuente
USING INDEX
está disponible desde 9.1. Así que supongo que no estás ejecutando la versión actualNo creo que sea posible convertir un índice en una clave primaria en esa versión de postgresql.
Simplemente soltaría el índice existente y crearía la clave primaria usando las columnas que especificó:
Trabajó en 7.4 y 8.4
fuente