Il solito processo è:
pg_dumpall --globals-only
per ottenere utenti/ruoli/eccpg_dump -Fc
per ogni database per ottenere un bel dump compresso adatto per l'uso conpg_restore
.
Sì, questo tipo di schifo. Mi piacerebbe davvero insegnare pg_dump
per incorporare pg_dumpall
output in -Fc
discariche, ma in questo momento purtroppo non sa come quindi devi farlo da solo.
Fino a PostgreSQL 11 c'era anche un brutto avvertimento con questo approccio:né pg_dump
, né pg_dumpall
in --globals-only
la modalità scaricherà l'accesso dell'utente GRANT
s su DATABASE
S. Quindi dovevi praticamente estrarli dai cataloghi o filtrare un pg_dumpall
. Questo è stato risolto in PostgreSQL 11; consulta le note sulla versione
.
Dovresti anche conoscere i backup fisici:pg_basebackup
, PgBarman e archiviazione WAL, PITR, ecc. Questi offrono un recupero molto "più fine", fino al minuto o alla singola transazione. Lo svantaggio è che occupano più spazio, sono ripristinabili solo sulla stessa versione di PostgreSQL sulla stessa piattaforma ed eseguono il backup di tutte le tabelle in tutti i database senza alcuna possibilità di escludere nulla.