GNU/Linux >> Linux Esercitazione >  >> Linux

Come eseguire il backup e il ripristino del database in PostgreSQL

PostgreSQL è gratuito, open source e uno dei più popolari sistemi di gestione di database relazionali, che alimenta milioni di applicazioni. Se sei un amministratore di database che utilizza PostgreSQL in un ambiente di produzione, è essenziale eseguire il backup del database in modo da poter ripristinare rapidamente il sistema in caso di smarrimento del database.

In questo tutorial, ti mostreremo come eseguire il backup e il ripristino del database PostgreSQL in Linux.

Prerequisiti

  • Un nuovo VPS Ubuntu 20.04 con PostgreSQL installato sulla piattaforma Atlantic.net Cloud.
  • Se non hai già installato PostgreSQL, puoi consultare questo blog per scoprire come installare e configurare Postgres.
  • Una password di root configurata sul tuo server.

1 – Crea un server cloud Atlantic.Net

Per prima cosa, accedi al tuo server Atlantic.Net Cloud. Crea un nuovo server, scegliendo Ubuntu 20.04 come sistema operativo con almeno 1GB di RAM. Collegati al tuo Cloud Server tramite SSH e accedi utilizzando le credenziali evidenziate in alto nella pagina.

Dopo aver effettuato l'accesso al tuo server Ubuntu 20.04, esegui il comando seguente per aggiornare il tuo sistema di base con gli ultimi pacchetti disponibili.

apt-get update -y

2 – Comprendere la sintassi di base di pg_dump

PostgreSQL viene fornito con utility integrate chiamate pg_dump per creare e ripristinare facilmente i backup.

La sintassi di base del comando pg_dump è mostrata di seguito:

pg_dump [OPTION]... [DBNAME]

Di seguito viene mostrata una breve spiegazione di ciascuna opzione:

-d, –dbname=DATABASENAME : Utilizzato per specificare il database di cui si desidera eseguire il backup.
-h, –host=HOSTNAME : Utilizzato per specificare il nome host del server del database.
-U, –username=USERNAME : Utilizzato per specificare il nome utente PostgreSQL.
-w, –no-password : Utilizzato per ignorare la richiesta della password.
-p, –port=PORT : Utilizzato per specificare il numero di porta del server PostgreSQL.
-W, –password : Utilizzato per forzare la richiesta della password.
–role=ROLENAME : IMPOSTA RUOLO prima del dump.

3 – Backup e ripristino di un singolo database

È possibile eseguire il backup e il ripristino di un singolo database utilizzando l'utilità pg_dump. La sintassi di base per eseguire il backup di un singolo database è mostrata di seguito:

pg_dump -d [source-database] -f [database_backup.sql]

Ad esempio, per eseguire il backup di un singolo database denominato testdb e generare un file di backup denominato testdb_backup.sql, eseguire il comando seguente:

su - postgres
pg_dump -d testdb -f testdb_backup.sql

Puoi anche ripristinare un singolo database usando il comando psql. La sintassi di base per ripristinare un singolo database è mostrata di seguito:

psql -d [destination_database] -f [database_backup.sql]

Ad esempio, per ripristinare un singolo database denominato testdb da un file di backup denominato testdb_backup.sql, eseguire il comando seguente:

su - postgres
psql -d testdb -f testdb_backup.sql

Dovresti ottenere il seguente output:

SET
SET
SET
SET
SET
 set_config
------------

(1 row)

SET
SET
SET
SET

Se si desidera interrompere il processo di ripristino del database in caso di errore, eseguire il comando seguente:

psql -d testdb --set ON_ERROR_STOP=on -f testdb_backup.sql

Nota : Prima di ripristinare qualsiasi database, si consiglia di terminare tutte le connessioni a quel database e preparare il file di backup.

Backup e ripristino di tutti i database

Puoi eseguire il backup di tutti i database in PostgreSQL usando l'utilità pg_dumpall. La sintassi di base per eseguire il backup di tutti i database come mostrato di seguito:

pg_dumpall -f [alldatabase_backup.sql]

Ad esempio, per eseguire il backup di tutti i database in PostgreSQL e generare un file di backup denominato alldb_backup.sql, eseguire il comando seguente:

pg_dumpall -f alldb_backup.sql

Per ripristinare tutti i database da un file di backup denominato alldb_backup.sql, eseguire il comando seguente:

psql -f alldb_backup.sql

Backup e ripristino di una singola tabella

PostgreSQL consente anche di eseguire il backup di una singola tabella dal database specifico. Puoi ottenerlo usando la seguente sintassi:

pg_dump -d [source-database] -t [table_name]-f [dbtable_backup.sql]

Ad esempio, per eseguire il backup di una tabella denominata mytab dal database denominato testdb e generare un file di backup denominato testdb_mytab.sql, eseguire il comando seguente:

pg_dump -d testdb -t mytab  -f testdb_mytab_backup.sql

Se desideri ripristinare questa tabella dal file di backup, esegui il comando seguente:

psql -d testdb -f testdb_mytab_backup.sql

Backup e ripristino del database compresso

Puoi anche eseguire il backup del database PostgreSQL e comprimerlo in formato .gz per ridurre le dimensioni del backup.

Per eseguire un backup del database denominato testdb e generare un file di backup compresso denominato testdb_compressed.sql.gz, eseguire il comando seguente:

pg_dump -d testdb | gzip > testdb_compressed.sql.gz

Puoi anche ripristinare il backup dal file compresso usando il seguente comando:

gunzip -c testdb_compressed.sql.gz | psql  -d testdb

Conclusione

Nella guida precedente, hai appreso diversi modi per eseguire il backup e il ripristino di un database PostgreSQL per aiutarti a eseguire le operazioni di backup del database quotidiane. Inizia oggi con un database PostgreSQL sull'hosting VPS di Atlantic.Net!


Linux
  1. MySQL:come eseguire il backup (scaricare) e ripristinare il database utilizzando mysqldump

  2. Come eseguire il backup e il ripristino del repository SVN in Linux

  3. Come eseguire il backup e il ripristino del database Postgres

  4. Come eseguire il backup e il ripristino di dati e configurazioni di RabbitMQ

  5. Come eseguire il backup e il ripristino del database MySQL utilizzando la riga di comando

Come eseguire il backup e il ripristino della scheda SD per Raspberry Pi

Come utilizzare Timeshift per eseguire il backup e il ripristino di Linux

Come eseguire il backup e ripristinare il database MSSQL/MySQL in Plesk

Come ripristinare il backup del database utilizzando JetBackup 5?

Come installare il database PostgreSQL e pgAdmin su Linux

Come eseguire il backup e il ripristino di un sito Web WordPress