如何更改postgresql数组的默认分隔符



我想将带有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;

最新更新