For alt hvad jeg ved, pg_dump
og pg_dumpall
understøtter ikke nogen sådan begrænsning.
Du kunne flyt alle dine funktioner til et dedikeret skema, som du kan udelukke fra dumpet på denne måde:
pg_dump mydb -N function_schema > mydump.sql
Hvis du går den vej, kan du migrere funktioner til et andet skema sådan her:
ALTER FUNCTION myfunc() SET SCHEMA function_schema;
I dette tilfælde ville jeg også tilpasse search_path
i postgresql.conf
(og muligvis i standardindstillingerne for databaser og roller)
SET search_path = public,function_schema [,more schemas]
Som et alternativ , kan du lade funktionerne være i deres standardskema public
og ikke bruge det skema til noget andet. Sæt dine objekter i et eller flere separate skemaer. Det skulle gøre opgradering af PostGis nemmere.
Det kan være en god idé at ikke brug den public
skema for dine objekter. Jeg reserverer det normalt til PostGis eller andre udvidelser, der installeres i public
som standard. Jeg kan godt lide at bruge et dedikeret skema til hver applikation. Gør vedligeholdelse nemmere - herunder sikkerhedskopiering og tildeling af tilladelser.