Josh Trutwin <josh(at)trutwins(dot)homeip(dot)net> writes:
> I have a column in a table defined as type TEXT and I'd like to
> convert to a TIME type - I tried this:
> ALTER TABLE t1 ALTER COLUMN tcol TYPE TIME WITHOUT TIME ZONE;
> which throws:
> ERROR: column "tcol" cannot be cast to type "pg_catalog.time"
You just need to cast it explicitly --- to prevent surprises, ALTER
COLUMN TYPE won't implicitly do anything there's no implicit cast for.
ALTER TABLE t1 ALTER COLUMN tcol TYPE TIME USING tcol::TIME;
regards, tom lane