我想将带有Postgres数组的csv导入Postgres表中。
这是我的桌子:
create table dbo.countries (
id char(2) primary key,
name text not null,
elements text[]
CONSTRAINT const_dbo_countries_unique1 unique (id),
CONSTRAINT const_dbo_countries_unique2 unique (name)
);
我想在其中插入一个csv,它看起来像这样:
AC,ac,{xx yy}
当我键入copy dbo.mytable FROM '/home/file.csv' delimiter ',' csv;
时,数组将被读取为一个字符串:{"xx yy"}
。
如何将数组的deafault分隔符从,
更改为?
您不能更改数组的分隔符。您可以将数据读取到表中,稍后可以在此表上运行更新:
UPDATE dbo.countries
SET elements = string_to_array(elements[1], ' ')
WHERE strpos(elements[1], ' ') > 0;