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

pg_dump contra pg_dumpall? ¿Cuál usar para las copias de seguridad de la base de datos?

El proceso habitual es:

  • pg_dumpall --globals-only para obtener usuarios/roles/etc
  • pg_dump -Fc para que cada base de datos obtenga un buen volcado comprimido adecuado para usar con pg_restore .

Sí, este tipo de apesta. Realmente me gustaría enseñar pg_dump para incrustar pg_dumpall salida en -Fc volcados, pero en este momento, lamentablemente, no sabe cómo hacerlo, por lo que debe hacerlo usted mismo.

Hasta PostgreSQL 11 también hubo una advertencia desagradable con este enfoque:Ni pg_dump , ni pg_dumpall en --globals-only el modo volcaría el acceso del usuario GRANT s en DATABASE s. Así que básicamente tenías que extraerlos de los catálogos o filtrar un pg_dumpall . Esto está arreglado en PostgreSQL 11; consulte las notas de la versión .

También debe conocer las copias de seguridad físicas:pg_basebackup , archivado PgBarman y WAL, PITR, etc. Estos ofrecen una recuperación mucho más detallada, hasta el minuto o transacción individual. La desventaja es que ocupan más espacio, solo se pueden restaurar a la misma versión de PostgreSQL en la misma plataforma y respaldan todas las tablas en todas las bases de datos sin posibilidad de excluir nada.