Det er fordi time
kan ikke konverteres (castes) til timestamp
(hverken deres tidszonerelaterede varianter) i PostgreSQL. F.eks. dette vil også mislykkes:
SELECT 'now'::time::timestamp
I disse tilfælde skal du bruge USING
klausul i din ALTER TABLE
sætning (hvis du kan redigere den direkte):
ALTER TABLE [ IF EXISTS ] [ ONLY ] name [ * ] ALTER [ COLUMN ] column_name [ SET DATA ] TYPE data_type [ COLLATE collation ] [ USING expression ]
Din forespørgsel vil se sådan ud, f.eks.:
ALTER TABLE "my_model"
ALTER COLUMN "column_name"
SET DATA TYPE TIMESTAMP WITH TIME ZONE USING 'yesterday'::date + "column_name"