Вы можете вставить весь массив в виде строки:
CREATE TABLE arr (
id integer PRIMARY KEY,
tag_list character varying(128)[]
);
INSERT INTO arr (id, tag_list) VALUES
(1,
'{normal_string,string with spaces,"string,with,comma","string\"with\"quote","string''with''apostrophe"}'
);
Это приведет к таким записям:
SELECT u.* FROM arr CROSS JOIN unnest(tag_list) AS u;
u
------------------------
normal_string
string with spaces
string,with,comma
string"with"quote
string'with'apostrophe
(5 rows)
Альтернативой является вставка каждой записи массива индивидуально:
INSERT INTO arr (
id,
tag_list[1],
tag_list[2],
tag_list[3],
tag_list[4],
tag_list[5]
) VALUES (
2,
'normal_string',
'string with spaces',
'string,with,comma',
'string"with"quote',
'string''with''apostrophe'
);