Доколкото знам, 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
по подразбиране. Обичам да използвам специална схема за всяко приложение. Улеснява поддръжката - включително архивиране и предоставяне на разрешения.