Dado um tipo enum (por exemplo, letter
).
Qual é a sintaxe para converter um array existente para o tipo enum? Os valores existentes são válidos para o enum. Por exemplo, como eu converteria letter_data
em:
create table sample (
letter_data text[];
);
Para o letter
enum?
Para converter um
text[]
array existente para o tipo enumletter[]
(como você pediu), basta converter:Para realmente converter a coluna da tabela (como você provavelmente queria perguntar):
Aciona uma reescrita de toda a tabela. Apenas algumas exceções observadas permitem a conversão no local. Ver:
Precisamos da conversão explícita em uma
USING
cláusula, pois, citando o manual paraALTER TABLE
:violino
Além: raramente uso
enum
tipos. Muitas vezes existe uma solução melhor.