Alterando colunas de tipos conflitantes no PostgreSQL
Neste episódio demonstro como alterar colunas de tabelas quando o tipo de destino é conflitante. Nem sempre é possível fazer isso diretamente, por isso é necessário utilizar alguns artifícios.
Mais informações:
http://www.postgresql.org/docs/9.0/interactive/sql-altertable.html
Comandos:
BEGIN; ALTER TABLE contatos ALTER cpf TYPE numeric USING CAST(cpf AS numeric); ALTER TABLE contatos ALTER idade TYPE date USING NULL; ALTER TABLE contatos RENAME total_dias_cadstrado TO data_cadastro; ALTER TABLE contatos ALTER data_cadastro DROP DEFAULT; ALTER TABLE contatos ALTER data_cadastro TYPE date USING current_date - CAST(data_cadastro||' days' as interval); ALTER TABLE contatos ALTER data_cadastro SET DEFAULT now(); COMMIT;














