列 "foo" 的类型为 test12.test_type[] 但表达式的类型为 record[]

column "foo" is of type test12.test_type[] but expression is of type record[]

我正在尝试在 Greenplum 中创建复合类型并使用该类型的数组。但是当我尝试将数据插入 table 时,它总是显示

column "foo" is of type test11.test_type[] but expression is of type record[].
HINT: You will need to rewrite or cast the expression. SQL state: 42804".

我已经尝试了所有将数组插入greenplum的方法。例如。 array[(3,4),(2,4)] and '{(1,3), (1,2)}'

create type test11.test123 as (a1 int, a2 int);

create table test11.test(faa qlake_streaming_ioc.test11[], aa int);

insert into test(faa, aa) values (array[(3,4),(2,4)] , 3);

我不能说这是否适用于 Greenplum,但您可以尝试:

INSERT INTO tab (foo)
   VALUES (ARRAY[(3,4), (2,4)]::test11.test_type[]);