Я пытаюсь запустить экземпляр приложения (движок Kubernetes в Google Cloud), который вызывает некоторую миграцию. Миграции проверены и работают локально на Postgres 12. Тем не менее, облако Google Postgres (насколько я понимаю, v11) дает сбой при запросе, который выглядит для меня полностью действительным.
Я подключился через PgAdmin через Google Cloud Proxy для Google Cloud SQL и попытался выполнить запрос на миграцию (создать или заменить процедуру) и нашел строку, которая выдает мне ошибку. Но, опять же, это выглядит совершенно корректно для меня и работает локально, не дает никаких ошибок / предложений в Smart IDE и т. Д. c.
Ошибка, возвращаемая из БД, выглядит как
QueryFailedError: синтаксическая ошибка в или рядом с "publi c"
Строка, которая дает мне эту ошибку, является второй строкой из примера кода ниже. Изменение с public.percent
на percent
приводит к той же ошибке («синтаксическая ошибка в или около« процента »). Замена таблицы другим именем таблицы приводит к той же ошибке, что и выше. Замена UPDATE
на SELECT
или RAISE NOTICE
или около того (в тестовых целях) работает нормально.
Блок кода, который дает мне эту проблему:
IF (update) THEN
UPDATE public.percent
SET percent = calculations[1]
WHERE target_user_id = item.user_id
AND type = secondary_criterion;
ELSE
INSERT INTO public.percent (
type,
percent,
target_user_id
)
VALUES (
secondary_criterion,
final,
item.user_id
);
END IF;
Есть идеи?