В pg_restore
Postgresql выдает ошибку при создании индекса:
pg_restore: error: could not execute query: ERROR: functions in index expression must be marked IMMUTABLE
Command was: CREATE INDEX inventory_package__name_index ON public.inventory_package USING gin (public.unaccent((name)::text) public.gin_trgm_ops);
Использование Postgresql 15
Предположительно кто-то изменил функцию, чтобы пометить ее как неизменяемую:
alter function unaccent(text) immutable;
Но поскольку функция unaccent является частью расширения (также называемого «unaccent»), эта маркировка теряется во время дампа и восстановления. Вам нужно будет повторить модификацию, если, конечно, вы считаете, что это правильно. Возможно, было бы лучше создать оболочку для функции unaccent расширения, объявить эту оболочку неизменяемой и использовать ее. Таким образом, будущие обновления не будут иметь такой же проблемы.
Определить
unaccent
какimmutable
? (Что, очевидно, и должно быть, судя по названию).