PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Atualizando uma coluna varchar para o tipo enum no postgresql


Você precisa definir uma conversão a ser usada porque não há uma conversão padrão disponível.

Se todos os valores no varcharColumn cumprir com a definição enum, o seguinte deve funcionar:
alter table foo 
  ALTER COLUMN varcharColumn TYPE enum_type using varcharColumn::enum_type;

Eu pessoalmente não gosto de enums porque eles são bastante inflexíveis. Eu prefiro uma restrição de verificação em uma coluna varchar se quiser restringir os valores em uma coluna. Ou - se a lista de valores muda frequentemente e vai crescer - uma boa e velha "tabela de consulta" com uma restrição de chave estrangeira.