- cei care au făcut deja o copie de rezervă
și cei care încă nu fac.
În acest post voi încerca să contureze câteva dintre modurile în care se poate face o copie de rezervă a PostgreSQL. Pentru testele vor folosi Ubuntu 12,04 VPS cu PostgreSQL 9.1. Pentru cele mai multe distribuții moderne și cele mai recente versiuni ale PostgreSQL sfatul meu va fi relevant.
- Creați o copie de rezervă a PostgreSQL folosind pg_dump
PostgreSQL include un utilitar numit «pg_dump». care vă permite să arunce baza de date într-un fișier. consola Utility, sintaxa este destul de simplu:
Comanda trebuie să fie condusă de un utilizator cu privilegii pentru a citi baza de date.
Alternativ, putem intra prin „rostgres» sudo un utilizator și executați comanda:
«Pg_dump» - este un „client cu drepturi depline» PostgreSQL. și anume dacă este necesar, acesta poate fi rulat de la o mașină de la distanță, dacă aveți permisiunile corespunzătoare la baza de date.
sintaxa avansată este după cum urmează:
- Cum de a restabili depozitele de pg_dump în PostgreSQL
Pentru a restaura o copie de rezervă pg_dump creat, trebuie să redirecționeze fișierul de imagine la psql standard de intrare:
Această operație nu creează o nouă bază de date. Acest lucru ar trebui să aibă grijă în avans.
De exemplu, creați o nouă bază de date numită «restored_database», și apoi extinde groapa numita «database.bak»:
O bază de date goală trebuie să fie create cu ajutorul șablonului «template0«. De asemenea, trebuie să vă asigurați că aveți drepturile de utilizator necesare pentru a stabili o bază, altfel va trebui să creeze un nou:
În mod implicit, PostgreSQL va încerca să continue pentru a restabili baza de date, chiar dacă stalknetsya erori. Din mai multe motive, astfel încât să nu ar trebui să facă. Putem specifica explicit PostgreSQL să se oprească în cazul unor greșeli:
Cu această opțiune, vom obține restaurat parțial bază de date.
Puteți încerca să restaurați întregul într-o groapa de gunoi tranzatsiyu, și anume de rezervă va fi fie complet restaurat sau nu restaurat deloc. Acest mod poate fi setat folosind opțiunile 1 sau -single-tranzacție pentru psql.
În același timp, orice greșeală va duce la un proces de recuperare derulare înapoi, ceea ce poate necesita destul de mult timp.
Pentru a economisi timp, puteți face o copie de rezervă a tuturor bazelor de date în sistemul dvs. cu utilități «pg_dumpal l»:
Într-un mod similar, puteți restaura baza de date:
Copiile de rezervă sunt un aspect important în orice fel de muncă cu datele. Din fericire, PostgreSQL include instrumentele necesare pentru informații importante de backup eficient. Ca și în orice fel de rezervă, este important să se verifice în mod regulat copii de rezervă.
Ca adăugirile script. care creează o copie de rezervă cu o ștampilă de timp și salvează ultimele 14 backup-uri: