使用postgresql中的过程将旧架构中的域复制到新架构

时间:2010-04-08 04:34:58

标签: postgresql

我们如何使用postgresql中的过程将旧架构中的域复制到新架构?

1 个答案:

答案 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
;

将它包裹在一个程序中,你就完成了。