Resolví este problema haciendo una copia de seguridad de todos los esquemas individualmente a medida que aumenta el tamaño de la base de datos (ya sea el número de esquemas o el número de tablas), es difícil hacer una copia de seguridad usando pg_dump.
Hice la siguiente modificación en el script para realizar una copia de seguridad del esquema:
-
Antes de ejecutar
pg_dump
, enumere todos los esquemas de base de datos en un archivo. Para que podamos iterar todos los esquemas y hacer una copia de seguridad de un esquema.Aquí está el comando para enumerar todos los esquemas en un archivo
psql <db_name> -o <output_file> < <sql_to_list_schema>
Aquí
sql_to_list_schema
contieneSELECCIONE n.nspnameFROM pg_catalog.pg_namespace nWHERE n.nspname !~ '^pg_' AND n.nspname <> 'information_schema';
-
Ahora lea todas las líneas de
output_file
y haga una copia de seguridad de ese esquemapg_dump <db_name> -f <backup_file> -i -x -O -R -n <schema_name_read_from_file>