PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

pg_dump no banco de dados lançando erro 'out of shared memory'


Resolvi esse problema fazendo backup de todos os esquemas individualmente, pois o tamanho do banco de dados (seja no.of schemas ou no.of tables) aumenta, é difícil fazer backup usando pg_dump.

Eu fiz a seguinte modificação no script para fazer backup do esquema:

  1. Antes de executar o pg_dump , lista todos os esquemas de banco de dados em um arquivo. Para que possamos iterar todos os esquemas e fazer backup de um esquema.

    Aqui está o comando para listar todo o esquema em um arquivo

    psql <db_name> -o <output_file> < <sql_to_list_schema>

    Aqui sql_to_list_schema contém

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

  2. Agora leia todas as linhas de output_file e faça backup desse esquema

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