PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

postgreSQL modifica il tipo di dati della colonna in timestamp senza fuso orario

Se create_time è di tipo TEXT con valore di data valido, sarà più semplice procedere con la modifica come segue (si consiglia di eseguire prima un dump della tabella come 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;