我想将用户定义的数据类型从 ORACLE 转换为工作的 POSTGRE 用户定义数据?

I want to convert a user defined datatype from ORACLE in to a working POSTGRE user defined data?

TYPE group_opt_cov_rec IS RECORD (
   n_product_version_id          PRODUCT_COVERAGE_GROUP.PRODUCT_VERSION_ID%TYPE := Null 
   n_group_id                PRODUCT_COVERAGE_GROUP.GROUP_ID%TYPE := Null ,
   n_opt_group_cost            PRODUCT_COVERAGE_GROUP.GROUP_PRICE%TYPE := Null,
   n_group_maximum            PRODUCT_COVERAGE_GROUP.GROUP_MAXIMUM%TYPE := Null,
   nt_opt_grp_member_cov_id      prod_types.TYPE_NUMBER_ARRAY := prod_types.TYPE_NUMBER_ARRAY(), 
   nt_opt_grp_member_cov_qty      prod_types.TYPE_NUMBER_ARRAY := prod_types.TYPE_NUMBER_ARRAY(),
   st_opt_grp_member_required      prod_types.TYPE_STRING_ARRAY := prod_types.TYPE_STRING_ARRAY()
-- nt_opt_grp_member_cov_id         common_func.NUM_TABLE := common_func.EMPTY_NUM_TABLE,
-- nt_opt_grp_member_cov_qty      common_func.NUM_TABLE := common_func.EMPTY_NUM_TABLE,
-- st_opt_grp_member_required      common_func.STRING_TABLE := common_func.EMPTY_STRING_TABLE
);

以上代码是Oracle的用户自定义数据类型,我无法将其转换成PostgreSQL上的用户自定义数据类型。请帮忙!

PostgreSQL 中的复合类型几乎相同,对于数组使用数组。

CREATE TYPE group_opt_cov_rec AS (
   n_product_version_id       bigint,
   n_group_id                 bigint,
   n_opt_group_cost           numeric,
   n_group_maximum            numeric,
   nt_opt_grp_member_cov_id   bigint[],
   nt_opt_grp_member_cov_qty  bigint[],
   st_opt_grp_member_required text[]
);

我不得不猜测数据类型,并根据需要替换它们。如果您确实需要这些默认值,请在基本数据类型上使用域。