PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Escludere le definizioni delle funzioni durante il dump di un database PostgreSQL

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.