Eseguire il backup e ripristinare un database PostgreSQL
Questa guida crea una destinazione di backup dalla console Hikube, pianifica il backup giornaliero di un database PostgreSQL, ne avvia uno su richiesta e poi ripristina l'archivio ottenuto. La procedura è la stessa per un database MariaDB, una VM o un disco.
Prerequisiti
- Un progetto Hikube che contenga:
- un bucket S3 (vedere Creare un bucket);
- un database PostgreSQL, ad esempio
orders-db(vedere Avvio rapido PostgreSQL).
Passo 1: Aprire la creazione della destinazione
- Nel menu laterale, apra Infrastructure > Backups.
- Apra la scheda Destinations, poi faccia clic su Create a destination.
Si apre la pagina New destination.
Passo 2: Configurare e confermare
- Name:
quotidien(minuscole, cifre e trattini, al massimo 40 caratteri). - Bucket: scelga il bucket del progetto.
- Credentials: lasci Create a dedicated user e inserisca un User name, ad esempio
backup. Le sue credenziali serviranno solo ai backup. - Retention (days): mantenga
30. - Faccia clic su Create.
La console mostra Destination created: «quotidien» è in fase di predisposizione.
Passo 3: Verificare lo stato
Nella scheda Destinations, lo stato di quotidien passa da Provisioning a Ready in pochi istanti.
Risultato atteso: destinazione Ready, con il bucket, l'utente e la conservazione di 30 giorni.
Passo 4: Pianificare e avviare un backup
- Apra PostgreSQL, faccia clic su
orders-db, poi sulla scheda Backups. - In Schedule, faccia clic su Schedule. Si apre la finestra Schedule a backup:
- Plan name:
orders-db-quotidien; - Destination:
quotidien; - scheda Preset, Frequency: Daily, Hour
02, Minute00(ora locale).
- Plan name:
- Faccia clic su Schedule. Il riquadro Schedule mostra l'orario e la prossima esecuzione (Next).
- In On-demand backup, faccia clic su Back up now. La console mostra Backup started to “quotidien”.
Il backup compare in Run status, poi nell'elenco degli archivi del database.
Risultato atteso: dopo qualche minuto, l'archivio passa a Ready.
L'ora scelta nell'impostazione predefinita viene convertita in UTC. Si sposterà quindi di un'ora in ora locale al prossimo cambio dell'ora legale. Vedere Concetti.
Passo 5: Ripristinare e verificare
Aggiunga prima un dato di controllo, per constatarne poi l'assenza dopo il ripristino:
CREATE TABLE apres_sauvegarde (id int);
Poi ripristini l'archivio sul database di origine:
- Nella scheda Backups di
orders-db, sulla riga dell'archivio, faccia clic su Restore. - Restore target: In place.
- Restore up to: lasci lo stato del backup selezionato.
- Inserisca
orders-dbper confermare, poi faccia clic sul pulsante di ripristino (Restore the state of the backup of…).
Un ripristino sul posto sovrascrive il contenuto attuale del database. Per fare una prova senza toccare i suoi dati, crei un secondo database PostgreSQL vuoto della stessa versione e scelga Another application.
Il ripristino compare in Restores, poi passa a Succeeded. Si riconnetta al database:
SELECT to_regclass('apres_sauvegarde');
Risultato atteso: NULL: la tabella creata dopo il backup non esiste più.
Passo 6: Risoluzione rapida dei problemi
| Sintomo | Azione |
|---|---|
| No bucket in this project | Crei un bucket da S3 Buckets, poi torni alla creazione della destinazione. |
| La destinazione resta in Error | Il bucket o il suo utente non è più leggibile: vedere Risoluzione dei problemi. |
| No destination ready in this project nella finestra di pianificazione | Attenda che la destinazione sia Ready. |
| L'archivio è Failed | Legga il messaggio dell'esecuzione in Backups > Activity, poi vedere Risoluzione dei problemi. |
| Il ripristino viene rifiutato | Vedere Risoluzione dei problemi. |
Passo 7: Pulizia
- Nella scheda Backups di
orders-db, riquadro Schedule, faccia clic su Delete e confermi. Gli archivi vengono conservati. - Elimini gli archivi di prova con Delete su ogni riga. Per PostgreSQL, scompare solo la voce dell'archivio: i dati restano nel bucket, che può svuotare da S3 Buckets.
- In Backups > Destinations, apra il menu di
quotidiene scelga Delete. L'eliminazione viene rifiutata finché una pianificazione, un backup o un ripristino la utilizza.