Z tego co wiem, pg_dump
i pg_dumpall
nie obsługują żadnego takiego ograniczenia.
możesz przenieś wszystkie swoje funkcje do dedykowanego schematu, który możesz wykluczyć ze zrzutu w następujący sposób:
pg_dump mydb -N function_schema > mydump.sql
Jeśli pójdziesz tą drogą, możesz migrować funkcje do innego schematu tak:
ALTER FUNCTION myfunc() SET SCHEMA function_schema;
W tym przypadku dostosowałbym również search_path
w postgresql.conf
(i prawdopodobnie w ustawieniach domyślnych dla baz danych i ról)
SET search_path = public,function_schema [,more schemas]
Jako alternatywa , możesz pozostawić funkcje w ich domyślnym schemacie public
i nie używaj tego schematu do niczego innego. Umieść swoje obiekty w co najmniej jednym osobnym schemacie. To powinno ułatwić aktualizację PostGis.
Dobrym pomysłem może być nie użyj public
schemat dla twoich obiektów. Zwykle rezerwuję go dla PostGis lub innych rozszerzeń, które instalują się w public
domyślnie. Lubię używać dedykowanego schematu dla każdej aplikacji. Ułatwia konserwację - w tym tworzenie kopii zapasowych i nadawanie uprawnień.