Soweit ich weiß, pg_dump
und pg_dumpall
unterstützen solche Beschränkungen nicht.
Sie könnten Verschieben Sie alle Ihre Funktionen in ein dediziertes Schema, das Sie wie folgt aus dem Dump ausschließen können:
pg_dump mydb -N function_schema > mydump.sql
Wenn Sie diesen Weg gehen, können Sie Funktionen in ein anderes Schema migrieren so:
ALTER FUNCTION myfunc() SET SCHEMA function_schema;
In diesem Fall würde ich auch den search_path
anpassen in postgresql.conf
(und möglicherweise in den Standardeinstellungen für Datenbanken und Rollen)
SET search_path = public,function_schema [,more schemas]
Als Alternative , könnten Sie die Funktionen in ihrem Standardschema public
belassen und dieses Schema nicht für etwas anderes verwenden. Platzieren Sie Ihre Objekte in einem oder mehreren separaten Schemas. Das sollte das Upgraden von PostGis einfacher machen.
Es kann eine gute Idee sein, dies nicht zu tun Verwenden Sie den public
Schema für Ihre Objekte. Normalerweise reserviere ich es für PostGis oder andere Erweiterungen, die in public
installiert werden standardmäßig. Ich verwende gerne ein dediziertes Schema für jede Anwendung. Vereinfacht die Wartung – einschließlich Backups und Gewährung von Berechtigungen.