Den sædvanlige proces er:
pg_dumpall --globals-only
for at få brugere/roller/etcpg_dump -Fc
for hver database at få et flot komprimeret dump, der er egnet til brug medpg_restore
.
Ja, den slags stinker. Jeg vil rigtig gerne undervise i pg_dump
for at indlejre pg_dumpall
output til -Fc
dumper, men lige nu ved den desværre ikke hvordan, så du skal selv gøre det.
Indtil PostgreSQL 11 var der også en grim advarsel med denne tilgang:Hverken pg_dump
, heller ikke pg_dumpall
i --globals-only
tilstand ville dumpe brugeradgang GRANT
s på DATABASE
s. Så du var stort set nødt til at udtrække dem fra katalogerne eller filtrere en pg_dumpall
. Dette er rettet i PostgreSQL 11; se udgivelsesbemærkningerne
.
Du bør også kende til fysiske sikkerhedskopier - pg_basebackup
, PgBarman og WAL arkivering, PITR osv. Disse tilbyder meget "finere kornet" genopretning, helt ned til minuttet eller individuelle transaktioner. Ulempen er, at de fylder mere, kun kan gendannes til den samme PostgreSQL-version på den samme platform og sikkerhedskopiere alle tabeller i alle databaser uden mulighed for at udelukke noget.