Det beror på att time
kan inte konverteras (castas) till timestamp
(inte heller deras tidszonsrelaterade varianter) i PostgreSQL. T.ex. detta kommer också att misslyckas:
SELECT 'now'::time::timestamp
I dessa fall bör du använda USING
sats i din ALTER TABLE
uttalande (om du kan redigera det direkt):
ALTER TABLE [ IF EXISTS ] [ ONLY ] name [ * ] ALTER [ COLUMN ] column_name [ SET DATA ] TYPE data_type [ COLLATE collation ] [ USING expression ]
Din fråga kommer att se ut så här, t.ex.:
ALTER TABLE "my_model"
ALTER COLUMN "column_name"
SET DATA TYPE TIMESTAMP WITH TIME ZONE USING 'yesterday'::date + "column_name"