Isso porque
time
não pode ser convertido (casted) para timestamp
(nem suas variantes relacionadas ao fuso horário) no PostgreSQL. F.ex. isso também irá falhar:SELECT 'now'::time::timestamp
Nesses casos, você deve usar o
USING
cláusula em seu ALTER TABLE
declaração (se você puder editá-la diretamente):ALTER TABLE [ IF EXISTS ] [ ONLY ] name [ * ] ALTER [ COLUMN ] column_name [ SET DATA ] TYPE data_type [ COLLATE collation ] [ USING expression ]
Sua consulta será semelhante, por exemplo:
ALTER TABLE "my_model"
ALTER COLUMN "column_name"
SET DATA TYPE TIMESTAMP WITH TIME ZONE USING 'yesterday'::date + "column_name"