sql >> Base de Datos >  >> RDS >> PostgreSQL

Actualización de una columna varchar al tipo de enumeración en postgresql

Debe definir una conversión que se utilizará porque no hay una conversión predeterminada disponible.

Si todos los valores en varcharColumn cumplir con la definición de enumeración, lo siguiente debería funcionar:

alter table foo 
  ALTER COLUMN varcharColumn TYPE enum_type using varcharColumn::enum_type;

Personalmente, no me gustan las enumeraciones porque son bastante poco flexibles. Prefiero una restricción de verificación en una columna varchar si quiero restringir los valores en una columna. O, si la lista de valores cambia con frecuencia y va a crecer, una buena "tabla de búsqueda" con una restricción de clave externa.