Cum se face backup la baza de date PostgreSQL pe Ubuntu 18

Introducere

Pierderea de date poate fi un set important pentru dumneavoastră, în special cu sancțiunile guvernamentale cu privire la amenda impusă pentru pierderea datelor utilizatorilor.


Pentru a atenua daunele care rezultă fie dintr-o catastrofă fizică, fie dintr-un atac al hackerilor rău intenționate, se consideră necesar un backup regulat ca un mod de recuperare a dezastrelor..

Cu PostgreSQL, există abordări fundamental diferite pentru efectuarea copiilor de siguranță a datelor, iar acestea includ:

  • Copie de rezervă a sistemului de fișiere care implică realizarea directă a copiilor fișierelor pe care PostgreSQL le folosește pentru a stoca date în baza de date.
  • Arhivarea continuă și recuperarea punct-in-time care implică salvarea și restaurarea jurnalelor atunci când este nevoie, iar baza de date restabilită în concordanță prin înlocuirea intrărilor făcute în ultimul punct de verificare.
  • SQL dump care implică generarea comenzilor care sunt utilizate pentru crearea bazei de date și salvarea lor într-un fișier. Când acest fișier este rulat, comenzile SQL vor fi folosite pentru a recrea din nou baza de date pe un șablon simplu.

În acest ghid, aflați cum să faceți o copie de rezervă și să efectuați o restaurare pe o bază de date folosind SQL dump.

Inainte sa incepi

Pentru a realiza această sarcină, trebuie îndeplinite următoarele condiții:

  • Un utilizator non-root cu privilegii sudo pe un VPS sau un server dedicat care rulează sistemul de operare Ubuntu 18.04.
  • Pachetul de baze de date PostgreSQL instalat și configurat pe VPS. Puteți afla cum să instalați serverul de baze de date PostgreSQL pe Ubuntu 18.04.
  • O bază de date de exemplu sau scheme / tabele specifice pe care le vom folosi pentru a face backup și a restaura (opțional, deoarece vom crea baza noastră de date de eșantion pentru backup și restaurare).

paşi

pg_dumpis utilitatea oficială a bazei de date PostgreSQL care este folosită pentru backup-ul bazei de date.

Vei crea propria bază de date de probă, astfel încât să o faci și să o restaurezi.

$ sudo -i -u postgres psql
# CREATEDATABASE eșantionat;
# c eșantionat;
# Tabelul CREATETABLE sample (
# sampledb (# tableID PRINCIPALĂ CHEIE PRIMARĂ,
# sampledb (# prenume VARCHAR,
# sampledb (# prenume VARCHAR,
# samplingb (# vârstă INT);
CREATETABLE
# CREATETABLE sampleTable2 (
# table2ID SERIA PRIMARĂ SERIALĂ,
# tableID INTREFERENȚE sampleTable (tableID),
# locatie VARCHAR,
# luniINT);
CREATETABLE

Backup

Ieșiți baza de date și creați backup-ul într-un format simplu text simplu.

$ pg_dump eșantionat > sampledb.sql

Când vizualizați datele descărcate în sampledb.fișierul sql, ar trebui să arate similar cu următorul extras din întregul fișier.


— Descărcarea bazei de date PostgreSQL

— Descărcat din baza de date versiunea 10.5 (Ubuntu 10.5-0ubuntu0.18.04)
— Descărcat de pg_dump versiunea 10.5 (Ubuntu 10.5-0ubuntu0.18.04)

SET statement_timeout = 0;
SET lock_timeout = 0;
SET idle_in_transaction_session_timeout = 0;
SET client_encoding = ‘UTF8’;
SET standard_conforming_strings = pornit;
SELECT pg_catalog.set_config (‘căutare_path’, ”, fals);
SET check_function_bodies = false;
SET client_min_messages = avertizare;
SET rând_security = off;


— Nume: plpgsql; Tip: EXTENSIUNE; Schema: -; Proprietar:

Puteți decide să aruncați datele din VPS într-un format de fișier care este considerat mai potrivit pentru bazele de date mai mari, care este metoda comprimată. Puteți utiliza următoarea comandă la fel.

Puteți utiliza următorul fișier pentru a comprima fișierul într-un format binar comprimat.

$ pg_dump -Fc eșantionat > sampledb.bak

Puteți utiliza, de asemenea, următoarea comandă pentru a face backup la baza de date într-un format de fișier tarball.

$ pg_dump -Ft eșantionat > sampledb.tar

Restabili

Acum veți renunța la baza de date din formularul de vizualizare a liniei de comandă PostgreSQL și veți ieși.

# DROPDATABASE eșantionat;
DROPDATABASE
# q

Pg_restoreis utilitatea bazei de date oferită de PostgreSQL pentru restaurarea bazei de date.

Vă rugăm să rețineți că trebuie să creați baza de date în care veți restaura datele dvs..

$ createb eșantionat

Dacă există dintr-un șablon, puteți utiliza următoarea comandă dacă baza de date este într-un format de fișier .bak.

$ pg_restore -sampledb -Fc sampledb.bak

Dacă este într-un format de fișier .tar, atunci utilizați următoarea comandă:

$ pg_restore -d sampledb -Ft sampledb.tar

Concluzie

Ați creat o copie de rezervă și ați restaurat baza de date folosind pg_dumpși utilitățile bazei de date pg_restore.

Vă rugăm să rețineți că această metodă face o copie de siguranță numai o bază de date simultan și nu face copii de rezervă pentru diferitele roluri care îi sunt atribuite, deoarece este considerată a nu se încadra în sfera bazei de date. Dacă doriți să faceți backup pentru fiecare bază de date, inclusiv diversele roluri, puteți utiliza utilitarul pg_dumpalldatabase în formatul de mai jos:

$ pg_dumpall > dumpfile

Consultați aceste 3 servicii de gazduire Linux

FastComet

Pret de inceput:
$ 2,95


Fiabilitate
9.7


Prețuri
9.5


Ușor de utilizat
9.7


A sustine
9.7


Caracteristici
9.6

Citește recenziile

Accesați FastComet

Hostinger

Pret de inceput:
$ 0,99


Fiabilitate
9.3


Prețuri
9.3


Ușor de utilizat
9.4


A sustine
9.4


Caracteristici
9.2

Citește recenziile

Vizitați Hostinger

ChemiCloud

Pret de inceput:
$ 2,76


Fiabilitate
10


Prețuri
9.9


Ușor de utilizat
9.9


A sustine
10


Caracteristici
9.9

Citește recenziile

Accesați ChemiCloud

Articole legate de modalități conexe

  • Cum se instalează Ruby pe șine pe Ubuntu 18
    intermediar
  • Cum se instalează Serverul de baze de date PostgreSQL pe Ubuntu 18.04?
    intermediar
  • Cum să configurați replicarea pe PostgreSQL pe Ubuntu 18.04 VPS sau pe serverul dedicat
    intermediar
  • Cum dezactivați MySQL 5 "Mod Strict" pe un Ubuntu 18.04 VPS sau pe un server dedicat
    intermediar
  • Cum să securizați Postfix cu SpamAssassin pe un Ubuntu 18.04 VPS sau Server Dedicat
    intermediar
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me