Reach

Grow

Manage

Automate

Reach

Grow

Manage

Automate

Consigli Tecnologici: Come posso eseguire il backup e ripristinare il database Postgres?

Karan Singh

19 giu 2013

Email

1 min read

Consigli Tecnologici: Come posso eseguire il backup e ripristinare il database Postgres?

Karan Singh

19 giu 2013

Email

1 min read

Consigli Tecnologici: Come posso eseguire il backup e ripristinare il database Postgres?

Questo è un documento di ‘come fare’ che fornisce solo comandi esemplificativi; come viene effettivamente fatto dipende esclusivamente dalla persona che lo esegue e dai casi d'uso specifici.

Innanzitutto, un disclaimer. Questo post fornisce una guida generale su come eseguire il backup di una tabella del database Postgres. Gli esempi forniti non si riferiscono a nessuna tabella o database specifico. Se stai cercando di eseguire il backup di una tabella specifica, dovresti anche eseguire il backup delle tabelle che fanno riferimento alle tabelle originali. Poiché Postgres è un database relazionale, ci saranno sempre riferimenti tra diversi tavoli.




Questo è un documento 'come fare' che fornisce solo comandi di esempio, come viene effettivamente fatto dipende esclusivamente dalla persona che lo fa e dai casi d'uso specifici. Mantieni sempre l'integrità dei dati che stai cercando di recuperare. Eseguire il backup dell'intero database è sempre un'opzione sicura, ma quando si eseguono backup di tabelle specifiche bisogna essere attenti.

SQL-dump/pg_dump:

L'idea alla base del metodo SQL-dump è quella di generare un file di testo con i comandi SQL che, se restituiti al server, ricreeranno il database nello stesso stato in cui si trovava al momento del dump. PostgreSQL fornisce il programma utilità pg_dump per questo scopo.




pg_dump è uno strumento efficace e completo per eseguire backup del database Postgres e utilizzare i backup per ripristinare il database postgres. Tuttavia, non è limitato al solo Database. Possiamo usare pg_dump per eseguire il backup delle tabelle e quindi usarlo per ripristinare anche le singole tabelle. Utilizzando pg_dump è possibile eseguire il backup del database locale e ripristinarlo su un database remoto.

Come eseguire il backup di un database Postgres:

Backup di una Tabella Postgres:

$ /opt/msys/3rdParty/bin/pg_dump–table maincontrol.orgs -U ecuser pe -f ms_table.sql

Il comando sopra è un esempio di come eseguire il backup di una tabella specifica da un database Postgres. Usando il comando sopra stiamo eseguendo il backup della tabella ‘orgs’ nello schema ‘maincontrol’ dal database ‘pe’ al file ms_table.sql. Per eseguire il backup di una tabella specifica, utilizzare l'opzione –table NOMETABELLA nel comando pg_dump. Se ci sono stessi nomi di tabella in schemi diversi, utilizzare l'opzione –schema NOMESCHEMA.

  1. Backup di un Database Postgres Specifico:

    $ /opt/msys/3rdParty/bin/pg_dump -U ecuser pe -f pe_dump.sql

    Questo è un esempio di backup di un database Postgres specifico. Usando il comando sopra stiamo eseguendo il backup del database per Message Central ‘pe’ nel file pe_dump.sql. Il file di backup contiene create table, alter table e comandi di copia per tutte le tabelle nel database ‘pe’.

  2. Backup di Tutti i Database Postgres:

    $ /opt/msys/3rdParty/bin/pg_dumpall -U ecuser> all_dump.sql

    È possibile eseguire il backup di tutti i database utilizzando il comando pg_dumpall. Il comando sopra creerà un dump di tutti i database che risiedono sull'istanza Postgres in esecuzione su un particolare server. Per elencare tutti i database che sono stati sottoposti a backup utilizzare il comando grep “^[\]connect” all.sql.

Backup di una Tabella Postgres:

$ /opt/msys/3rdParty/bin/pg_dump–table maincontrol.orgs -U ecuser pe -f ms_table.sql

Il comando sopra è un esempio di come eseguire il backup di una tabella specifica da un database Postgres. Usando il comando sopra stiamo eseguendo il backup della tabella ‘orgs’ nello schema ‘maincontrol’ dal database ‘pe’ al file ms_table.sql. Per eseguire il backup di una tabella specifica, utilizzare l'opzione –table NOMETABELLA nel comando pg_dump. Se ci sono stessi nomi di tabella in schemi diversi, utilizzare l'opzione –schema NOMESCHEMA.

  1. Backup di un Database Postgres Specifico:

    $ /opt/msys/3rdParty/bin/pg_dump -U ecuser pe -f pe_dump.sql

    Questo è un esempio di backup di un database Postgres specifico. Usando il comando sopra stiamo eseguendo il backup del database per Message Central ‘pe’ nel file pe_dump.sql. Il file di backup contiene create table, alter table e comandi di copia per tutte le tabelle nel database ‘pe’.

  2. Backup di Tutti i Database Postgres:

    $ /opt/msys/3rdParty/bin/pg_dumpall -U ecuser> all_dump.sql

    È possibile eseguire il backup di tutti i database utilizzando il comando pg_dumpall. Il comando sopra creerà un dump di tutti i database che risiedono sull'istanza Postgres in esecuzione su un particolare server. Per elencare tutti i database che sono stati sottoposti a backup utilizzare il comando grep “^[\]connect” all.sql.

Backup di una Tabella Postgres:

$ /opt/msys/3rdParty/bin/pg_dump–table maincontrol.orgs -U ecuser pe -f ms_table.sql

Il comando sopra è un esempio di come eseguire il backup di una tabella specifica da un database Postgres. Usando il comando sopra stiamo eseguendo il backup della tabella ‘orgs’ nello schema ‘maincontrol’ dal database ‘pe’ al file ms_table.sql. Per eseguire il backup di una tabella specifica, utilizzare l'opzione –table NOMETABELLA nel comando pg_dump. Se ci sono stessi nomi di tabella in schemi diversi, utilizzare l'opzione –schema NOMESCHEMA.

  1. Backup di un Database Postgres Specifico:

    $ /opt/msys/3rdParty/bin/pg_dump -U ecuser pe -f pe_dump.sql

    Questo è un esempio di backup di un database Postgres specifico. Usando il comando sopra stiamo eseguendo il backup del database per Message Central ‘pe’ nel file pe_dump.sql. Il file di backup contiene create table, alter table e comandi di copia per tutte le tabelle nel database ‘pe’.

  2. Backup di Tutti i Database Postgres:

    $ /opt/msys/3rdParty/bin/pg_dumpall -U ecuser> all_dump.sql

    È possibile eseguire il backup di tutti i database utilizzando il comando pg_dumpall. Il comando sopra creerà un dump di tutti i database che risiedono sull'istanza Postgres in esecuzione su un particolare server. Per elencare tutti i database che sono stati sottoposti a backup utilizzare il comando grep “^[\]connect” all.sql.

How to Restore Postgres Database

  1. Ripristina una tabella Postgres :

    $ /opt/msys/3rdParty/bin/psql -U ecuser -f ms_table.sql pe

    Il comando sopra installerà la tabella che era stata salvata nel file ms_table.sql nel database ‘pe’. Assicurati che questa tabella non esista già, altrimenti vedrai una serie di errori ‘già esistente’. Questo comando crea la tabella ed esporta tutti i dati nella tabella appena creata.

  2. Ripristina un Database postgres :

    $ /opt/msys/3rdParty/bin/psql -U ecuser -d pe -f pe_dump.sql

    Simile al ripristino della tabella, possiamo usare il comando sopra per ripristinare il database completo. Qui stiamo ripristinando il database ‘pe’ utilizzando il file pe_dump.sql che avevamo creato durante il backup del database nella sezione Backup sopra.

  3. Ripristina tutti i Database :

    $ /opt/msys/3rdParty/bin/psql -u ecuser -f all_dump.sql

    Ripristina tutti i database usando il comando sopra. ‘all_dump.sql’ era il file che era stato creato usando pg_dumpall. Il comando sopra ci darà tutti i database Postgres esattamente nello stato in cui si trovavano quando è stato eseguito un dump dal server di database originale.

Connettiamoci con un esperto di Bird.
Scopri tutta la potenza del Bird in 30 minuti.

Inviando, accetti che Bird possa contattarti riguardo ai nostri prodotti e servizi.

Puoi annullare l'iscrizione in qualsiasi momento. Consulta la Informativa sulla Privacy di Bird per i dettagli sul trattamento dei dati.

Azienda

Newsletter

Rimani aggiornato con Bird attraverso aggiornamenti settimanali nella tua inbox.

Connettiamoci con un esperto di Bird.
Scopri tutta la potenza del Bird in 30 minuti.

Inviando, accetti che Bird possa contattarti riguardo ai nostri prodotti e servizi.

Puoi annullare l'iscrizione in qualsiasi momento. Consulta la Informativa sulla Privacy di Bird per i dettagli sul trattamento dei dati.

Azienda

Newsletter

Rimani aggiornato con Bird attraverso aggiornamenti settimanali nella tua inbox.

Connettiamoci con un esperto di Bird.
Scopri tutta la potenza del Bird in 30 minuti.

Inviando, accetti che Bird possa contattarti riguardo ai nostri prodotti e servizi.

Puoi annullare l'iscrizione in qualsiasi momento. Consulta la Informativa sulla Privacy di Bird per i dettagli sul trattamento dei dati.

R

Raggiungi

G

Grow

M

Manage

A

Automate

Azienda

Newsletter

Rimani aggiornato con Bird attraverso aggiornamenti settimanali nella tua inbox.