У меня есть вот такая таблица в базе данных
CREATE TABLE public."Releases" (
id uuid NOT NULL,
name character varying(150) COLLATE pg_catalog."default" NOT NULL,
english character varying(150) COLLATE pg_catalog."default",
synonyms character varying(150)[] COLLATE pg_catalog."default" NOT NULL DEFAULT (ARRAY[]::character varying[])::character varying(150)[]
) WITH (
OIDS = FALSE
)
TABLESPACE pg_default;
ALTER TABLE public."Releases"
OWNER to postgres;
Реализовать поиск с использованием ILIKE для полей name, english очень просто. Только вот теперь понадобился поиск по массиву synonyms, и вот тут соответственно возникла ситуация при таком запросе:
SELECT * FROM "public"."Releases" WHERE synonyms ILIKE '%test%'
Возникает ошибка:
ОШИБКА: оператор не существует: character varying[] ~~* unknown
СТРОКА 1: SELECT * FROM "public"."Releases" WHERE synonyms ILIKE '%tes...
^
ПОДСКАЗКА: Оператор с данными именем и типами аргументов не найден. Возможно, вам следует добавить явные приведения типов.
Так вот как именно отредактировать запрос, чтобы добавить это поведение?