Tengo una pregunta sobre el comando ALTER TABLE
en una tabla realmente grande (casi 30 millones de filas). Una de sus columnas es un varchar(255)
y me gustaría cambiar su tamaño a un varchar(40)
. Básicamente, me gustaría cambiar mi columna ejecutando el siguiente comando:
ALTER TABLE mytable ALTER COLUMN mycolumn TYPE varchar(40);
No tengo problema si el proceso es muy largo, pero parece que mi tabla ya no es legible durante el comando ALTER TABLE
. ¿Existe una manera más inteligente? ¿Quizás agregar una nueva columna, copiar los valores de la columna antigua, eliminar la columna antigua y finalmente renombrar la nueva?
Nota: Estoy utilizando PostgreSQL 9.0.