我有布尔NULL类型的表t1和列c1。列中的所有值都为NULL。然而,PostgreSQL不允许我以这种方式更改列的类型:
ALTER TABLE "t1"
ALTER "c1" TYPE timestamp;
* ERROR: column "c1" cannot be cast to type timestamp without time zone
如何更改类型?感谢
如果列中的所有值都是null,只需添加USING NULL
:就不会有困难的转换。
ALTER TABLE "t1"
ALTER "c1" TYPE timestamp USING NULL;
我认为你只需要给它一个时区。这对我有效:
ALTER TABLE t1
ALTER COLUMN c1 SET DATA TYPE timestamp with time zone
USING
timestamp with time zone 'epoch';