sql >> Base de Datos >  >> RDS >> PostgreSQL

Excluir definiciones de funciones al volcar una base de datos PostgreSQL

Por lo que sé, pg_dump y pg_dumpall no admite ninguna restricción de este tipo.

podrías mueva todas sus funciones a un esquema dedicado que podría excluir del volcado de esta manera:

pg_dump mydb -N function_schema > mydump.sql

Si sigue esa ruta, puede migrar funciones a otro esquema así:

ALTER FUNCTION myfunc() SET SCHEMA function_schema;

En este caso también adaptaría el search_path en postgresql.conf (y posiblemente en los valores predeterminados para bases de datos y roles)

SET search_path = public,function_schema [,more schemas]

Como alternativa , puede dejar las funciones en su esquema predeterminado public y no usar ese esquema para nada más. Coloque sus objetos en uno o más esquemas separados. Eso debería facilitar la actualización de PostGis.

Puede ser una buena idea no usa el public esquema para sus objetos. Normalmente lo reservo para PostGis u otras extensiones que se instalan en public por defecto. Me gusta usar un esquema dedicado para cada aplicación. Facilita el mantenimiento, incluidas las copias de seguridad y la concesión de permisos.