Hi
2018-05-18 10:37 GMT+02:00 a <372660931@xxxxxx>:
Hi:I would like to import data from a csv table. But the table that is going to be inserted is constructed with arrays and composite types, also with array of composite.I have tried many ways of inserting but fail. Can anyone help? Thank you so much.
create type p as (a int, b int);
create table f(pv p[], c int);
insert into f values(array[(10,20),(30,40)]::p[], 1000);
insert into f values(array[(1,20),(3,40)]::p[], -1000);
insert into f values(array[(10,20),(30,40)]::p[], 1000);
insert into f values(array[(1,20),(3,40)]::p[], -1000);
postgres=# copy f to stdout csv;
"{""(10,20)"",""(30,40)""}",1000
"{""(1,20)"",""(3,40)""}",-1000
Time: 0,391 ms
"{""(10,20)"",""(30,40)""}",1000
"{""(1,20)"",""(3,40)""}",-1000
Time: 0,391 ms
So you have to respect this format. CSV doesn't know a arrays, doesn't know composite - so these values are passed as string
Regards
Pavel