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

postgreSQL altera o tipo de dados da coluna para timestamp sem fuso horário


Se create_time for do tipo TEXT com valor de data válido, será mais fácil prosseguir com a alteração da seguinte forma (Aconselhe-se a primeiro fazer um dump de tabela como backup):
-- Create a temporary TIMESTAMP column
ALTER TABLE AB ADD COLUMN create_time_holder TIMESTAMP without time zone NULL;

-- Copy casted value over to the temporary column
UPDATE AB SET create_time_holder = create_time::TIMESTAMP;

-- Modify original column using the temporary column
ALTER TABLE AB ALTER COLUMN create_time TYPE TIMESTAMP without time zone USING create_time_holder;

-- Drop the temporary column (after examining altered column values)
ALTER TABLE AB DROP COLUMN create_time_holder;