我想将数据从模式"test"中的一个表复制到模式"PUBLIC"中的另一个表.这两个表是相同的,但"type"字段是名为"Item_type"的自定义类型.这些类型在它们的架构中定义.这两种类型也是相同的,只是它们属于两个不同的架构.
我try 了什么:
INSERT INTO public.item
SELECT itemid, collectionid, signature, CAST(type AS public.item_type), status
FROM test.item
WHERE status like 'OK%'
ON CONFLICT DO NOTHING;
但是,我得到以下错误:
ERROR: cannot cast type test.item_type to item_type
LINE 2: SELECT itemid, collectionid, signature, CAST(type AS pu...
我怎么才能解决这个问题?
编辑:
自定义类型如下所示:
CREATE TYPE test.item_type AS ENUM
('image', 'audio', 'video', 'application', 'text');