El proceso habitual es:
pg_dumpall --globals-only
para obtener usuarios/roles/etcpg_dump -Fc
para que cada base de datos obtenga un buen volcado comprimido adecuado para usar conpg_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.