Я пытаюсь создать геопространственный индекс для большого количества таблиц, используя PL / pgSQL. Каждый индекс должен быть уникальным, поэтому я пытаюсь добавить статическую строку в конец каждого имени таблицы для имени индекса. Это тестовый код, который я пробовал:
DO
$do$
DECLARE
m text;
arr text[] := array['E09000001','E09000002'];
BEGIN
FOREACH m IN ARRAY arr
LOOP
EXECUTE format($fmt$
CREATE INDEX %1$L || '_gist_index'
ON %1$I
USING GIST (wkb_geometry);
$fmt$, m);
END LOOP;
END
$do$
Я получаю следующую ошибку:
ERROR: syntax error at or near "'E09000001'"
LINE 2: CREATE INDEX 'E09000001' || '_gist_index'
Любая помощь будет принята с благодарностью.