我有两个用户定义的类型:
CREATE TYPE s.s_stavp_kv AS ENUM('k','v');
和
CREATE TYPE s.stavp_kv AS ENUM('k','v');
表格是这样的
CREATE TABLE s.zv_stavp
(
version integer NOT NULL,
id integer NOT NULL,
tudu integer NOT NULL,
kv s_stavp_kv NOT NULL,
cobj text NOT NULL,
iobj text NOT NULL,
typev text
)
现在我需要将 kv
的类型更改为 stavp_kv
类型。我正在尝试类似的东西:
ALTER TABLE s.zv_stavp
ALTER COLUMN kv TYPE stavp_kv USING ...???...;
但是我完全不知道写什么作为USING表达式。
最佳答案
答案是:
ALTER TABLE s.zv_stavp
ALTER COLUMN kv TYPE stavp_kv USING kv::text::stavp_kv;
关于postgresql - 在postgres中更改用户定义的类型列类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32224448/