Насколько я знаю, pg_dump
и pg_dumpall
не поддерживают такие ограничения.
Вы могли бы переместить всеваши функции в выделенной схеме, которую вы можете исключить из дампа следующим образом:
pg_dump mydb -N function_schema > mydump.sql
Если вы пойдете по этому пути, вы можете перенести функции в другую схему , например так:
ALTER FUNCTION myfunc() SET SCHEMA function_schema;
В этом случае я бы также адаптировал search_path
в postgresql.conf
(и, возможно, в значениях по умолчанию для баз данных и ролей)
SET search_path = public,function_schema [,more schemas]
в качестве альтернативы Вы можете оставить функции в их схеме по умолчанию public
и не использовать эту схему ни для чего другого.Поместите ваши объекты в одну или несколько отдельных схем.Это должно облегчить обновление PostGis.
Как правило, не - это хорошая схема public
для ваших объектов.Я обычно резервирую его для PostGis или других расширений, которые по умолчанию устанавливаются в public
.Мне нравится использовать выделенную схему для каждого приложения.Облегчает обслуживание, включая резервное копирование и предоставление разрешений.