我们如何使用postgresql中的过程将旧架构中的域复制到新架构?
答案 0 :(得分:1)
请参阅pg_type中的信息,然后使用另一个命名空间(架构):
INSERT INTO pg_type
SELECT
typname,
(SELECT oid FROM pg_namespace WHERE nspname = 'your_schema_name'),
typowner,
typlen,
typbyval,
typtype,
typcategory,
typispreferred,
typisdefined,
typdelim,
typrelid,
typelem,
typarray,
typinput,
typoutput,
typreceive,
typsend,
typmodin,
typmodout,
typanalyze,
typalign,
typstorage,
typnotnull,
typbasetype,
typtypmod,
typndims,
typdefaultbin,
typdefault
FROM
pg_type
WHERE
typname = 'name_of_your_domain'
AND
typnamespace = 2200 -- oid of schema public
;
将它包裹在一个程序中,你就完成了。