Come usare pg_dump su postgressql

Come usare pg_dump su postgressql

PostgreSQL arriva con pg_dump, Uno strumento integrato per effettuare backup dei database. Consente agli amministratori di creare backup in diverse maniere: backup completi, incrementali o continui (localmente/a distanza).

In questa guida, mostreremo usando pg_dump Per effettuare backup dei nostri database PostgreSQL.

Prerequisiti

Per eseguire i passaggi dimostrati in questa guida, avrai bisogno dei seguenti componenti:

  • Un sistema Linux correttamente configurato. Ulteriori informazioni sull'installazione di Ubuntu.
  • L'ultima versione di PostgreSQL installata e configurata. Scopri l'installazione e la configurazione di PostgreSQL su Ubuntu.

Inoltre, utilizzeremo anche un database PostgreSQL di esempio. Per facilità d'uso, userò PhppGadmin, Un front-end Web per PostgreSQL.

Usando pg_dump

IL pg_dump I comandi esportano un database in un file di script (contenente comandi SQL per ricostruire il database) o un file di archivio. L'obiettivo principale di questo strumento è il backup dei database. Mentre usi pg_dump, Il database sarà comunque accessibile per letture e scritture.

Notare che pg_dump Funziona con un solo database.

Se il database è stato estratto come script SQL, è possibile importare il database in qualsiasi altro database basato su SQL. Tuttavia, se è stato estratto come file di archivio, allora può essere ripristinato solo usando il pg_restore attrezzo. Una cosa interessante con pg_restore è, puoi definire quale parte del database.

Struttura del comando PG_DUMP

La struttura di comando principale di pg_dump Somiglia a questo:

1
$ pg_dump

Esportazione di un database (come script SQL)

Come menzionato prima, pg_dump può esportare il database in diversi formati. Per esportare il database in un file SQL, utilizzare il comando seguente:

1
$ pg_dump > .SQL

In questo esempio, stiamo esportando il database dvdRental A backup dvdRental.SQL:

1
$ pg_dump -u postgres dvdRental> dvdRental -backup.SQL

Si noti che l'operazione di esportazione fallirà se l'utente stai eseguendo pg_dump non ha il permesso di leggere il database. Qui, perché Postgres è il superutente di PostgreSQL, il comando è stato eseguito correttamente.

Esportazione di un database (come archivio di catrame)

Successivamente, esporteremo il database come archivio. Il seguente comando lo esporterà in un formato catrame:

1
$ pg_dump -u postgres -f c dvdRental> dvdRental.catrame

Esportazione di un database (come archivio compresso)

Se stai esportando un database di grandi dimensioni, la compressione aiuterà a ridurre le dimensioni del file. Nell'esempio seguente, il database esportato verrà compresso utilizzando lo strumento GZIP:

1
$ pg_dump -u postgres dvdRental | gzip> dvdRental.Gz

In alternativa, possiamo usare la compressione integrata di pg_dump Per comprimere l'output:

1
$ pg_dump -u postgres --compress = 9 dvDRENTRA.catrame

Esportazione di un database (formato directory)

Invece di esportare il database in un singolo file, pg_dump offre la possibilità di scaricarlo in una directory.

Nel seguente esempio, stiamo esportando il database dvdRental alla directory backup dvdRental:

1
$ pg_dump -u postgres -f d dvdRental -f dvdRental -backup/

Esportazione di tutti i database

Se è necessario effettuare un backup completo del Postgresql server di database, quindi puoi utilizzare pg_dumpall.

1
$ pg_dumpall -f full_backup.SQL

Il backup includerà tutto: Ruoli, schemi e dati. Tuttavia, pg_dumpall consente di esportare componenti specifici.

Il seguente comando esporterà solo i ruoli:

1
$ pg_dumpall -sola -sola -u postgres> all_db_roles.SQL

Il seguente comando esporta solo schemi:

1
$ PG_DUMPALL -SCHEMA SOLO -U Postgres> All_DB_SCHEMA.SQL

Il comando seguente esporta solo le definizioni di tablespace:

1
$ pg_dumpall - -tablespaces solo -u postgres> all_db_tablespaces.SQL

Pensieri finali

In questa guida, abbiamo esplorato vari modi di usare il pg_dump Comando per esportare database da PostgreSQL. Abbiamo esportato un database di esempio come script e archivio SQL. Usando PG_Dumpall, abbiamo anche mostrato esportazione di vari componenti di tutti i database di PostgreSQL.

PostgreSQL è un potente motore di database con tonnellate di funzionalità. La sottocategoria PostgreSQL contiene numerose guide. Ulteriori informazioni sull'elenco degli utenti, sulla caduta degli utenti, sulla ricerca fuzzy, ecc.