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

pg_dump en el error de lanzamiento de la base de datos 'fuera de la memoria compartida'

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:

  1. 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 contiene

    SELECCIONE n.nspnameFROM pg_catalog.pg_namespace nWHERE n.nspname !~ '^pg_' AND n.nspname <> 'information_schema';

  2. Ahora lea todas las líneas de output_file y haga una copia de seguridad de ese esquema

    pg_dump <db_name> -f <backup_file> -i -x -O -R -n <schema_name_read_from_file>