Il solito processo è:
pg_dumpall --globals-onlyper ottenere utenti/ruoli/eccpg_dump -Fcper 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.