Per quanto ne so, pg_dump
e pg_dumpall
non supportano tale restrizione.
Potresti sposta tutte le tue funzioni in uno schema dedicato che potresti escludere dal dump in questo modo:
pg_dump mydb -N function_schema > mydump.sql
Se segui quella strada, puoi migrare le funzioni a un altro schema così:
ALTER FUNCTION myfunc() SET SCHEMA function_schema;
In questo caso adatterei anche il search_path
in postgresql.conf
(ed eventualmente nelle impostazioni predefinite per database e ruoli)
SET search_path = public,function_schema [,more schemas]
Come alternativa , potresti lasciare le funzioni nel loro schema predefinito public
e non usare quello schema per nient'altro. Metti i tuoi oggetti in uno o più schemi separati. Ciò dovrebbe semplificare l'aggiornamento di PostGis.
Potrebbe essere una buona idea non usa il public
schema per i tuoi oggetti. Di solito lo prenoto per PostGis o altre estensioni che si installano in public
per impostazione predefinita. Mi piace usare uno schema dedicato per ogni applicazione. Semplifica la manutenzione, inclusi i backup e la concessione di autorizzazioni.