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

Postgres altera o inteiro da coluna para booleano


Tente isto:
ALTER TABLE mytabe ALTER COLUMN mycolumn DROP DEFAULT;
ALTER TABLE mytabe ALTER mycolumn TYPE bool USING CASE WHEN mycolumn=0 THEN FALSE ELSE TRUE END;
ALTER TABLE mytabe ALTER COLUMN mycolumn SET DEFAULT FALSE;

Você precisa remover a restrição primeiro (já que não é um booleano) e, em segundo lugar, seu CASE declaração estava sintaticamente errada.