PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

pg_dump sur la base de données envoyant une erreur "hors de la mémoire partagée"

J'ai résolu ce problème en effectuant une sauvegarde pour tous les schémas individuellement car la taille de la base de données (que ce soit le nombre de schémas ou le nombre de tables) augmente, il est difficile d'effectuer une sauvegarde à l'aide de pg_dump.

J'ai effectué la modification suivante du script pour effectuer une sauvegarde schématique :

  1. Avant d'exécuter pg_dump , répertorie tous les schémas de base de données dans un fichier. Afin que nous puissions itérer tous les schémas et effectuer une sauvegarde pour un schéma.

    Voici la commande pour lister tous les schémas d'un fichier

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

    Ici sql_to_list_schema contient

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

  2. Lisez maintenant toutes les lignes de output_file et sauvegardez ce schéma

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