Comment utiliser pg_dump sur postgressql

Comment utiliser pg_dump sur postgressql

PostgreSQL est livré avec pg_dump, Un outil intégré pour fabriquer des sauvegardes des bases de données. Il permet aux administrateurs de créer des sauvegardes de différentes manières: des sauvegardes complètes, incrémentielles ou continues (localement / à distance).

Dans ce guide, nous présenterons en utilisant pg_dump Pour faire des sauvegardes de nos bases de données PostgreSQL.

Conditions préalables

Pour effectuer les étapes démontrées dans ce guide, vous aurez besoin des composants suivants:

  • Un système Linux correctement configuré. En savoir plus sur l'installation d'Ubuntu.
  • La dernière version de PostgreSQL installée et configurée. Consultez l'installation et la configuration de PostgreSQL sur Ubuntu.

De plus, nous utiliserons également une exemple de base de données PostgreSQL. Pour plus de facilité d'utilisation, j'utiliserai phppgadmin, un web front-end pour postgresql.

Utilisation de pg_dump

Le pg_dump La commande exporte une base de données dans un fichier de script (contenant des commandes SQL pour reconstruire la base de données) ou un fichier d'archive. Le principal objectif de cet outil est de sauvegarder les bases de données. En utilisant pg_dump, La base de données sera toujours accessible pour les lectures et les écritures.

Noter que pg_dump Fonctionne avec une seule base de données uniquement.

Si la base de données a été extraite en tant que script SQL, vous pouvez importer la base de données dans une autre base de données basée sur SQL. Cependant, s'il a été extrait en tant que fichier d'archive, il ne peut être restauré qu'à l'aide du pg_restore outil. Une chose cool avec pg_restore est, vous pouvez définir la partie de la base de données à restaurer.

Structure de commande pg_dump

La structure de commande principale de pg_dump ressemble à ça:

1
$ pg_dump

Exportation d'une base de données (en tant que script SQL)

Comme mentionné précédemment, pg_dump peut exporter la base de données dans différents formats. Pour exporter la base de données dans un fichier SQL, utilisez la commande suivante:

1
$ pg_dump > .SQL

Dans cet exemple, nous exportons la base de données dvderal pour dvderal-backup.SQL:

1
$ pg_dump -U Postgres DvDRENTAL> DVDRENTAL-BACKUP.SQL

Notez que l'opération d'exportation échouera si l'utilisateur que vous utilisez pg_dump n'a pas la permission de lire la base de données. Ici, parce que postgres est le superutilisateur de PostgreSQL, la commande a été exécutée avec succès.

Exportation d'une base de données (en tant qu'archive TAR)

Ensuite, nous exporterons la base de données en tant qu'archive. La commande suivante l'exportera dans un format TAR:

1
$ pg_dump -u postgres -f c dvDRENTAL> DVDRENTAL.le goudron

Exportation d'une base de données (en tant qu'archive compressée)

Si vous exportez une grande base de données, la compression aidera à réduire la taille du fichier. Dans l'exemple suivant, la base de données exportée sera compressée à l'aide de l'outil GZIP:

1
$ pg_dump -U Postgres DvDental | GZIP> DVDRENTAL.gz

Alternativement, nous pouvons utiliser la compression intégrée de pg_dump Pour comprimer la sortie:

1
$ pg_dump -u postgres --compress = 9 dvDental> DVDRENTAL.le goudron

Exportation d'une base de données (format de répertoire)

Au lieu d'exporter la base de données dans un seul fichier, pg_dump Offre la possibilité de le jeter dans un répertoire.

Dans l'exemple suivant, nous exportons la base de données dvderal au répertoire dvderal-backup:

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

Exportation de toutes les bases de données

Si vous devez faire une sauvegarde complète du Postgresql serveur de base de données, alors vous pouvez utiliser pg_dumpall.

1
$ pg_dumpall -f full_backup.SQL

La sauvegarde comprendra tout: rôles, schémas et données. Cependant, pg_dumpall permet à l'exportation de composants spécifiques d'être exportés.

La commande suivante exportera uniquement les rôles:

1
$ PG_DUMPALL - rôles -Uly -U Postgres> all_db_roles.SQL

La commande suivante exportera uniquement des schémas:

1
$ PG_DUMPALL --SCHEMA-UNLY -U Postgres> ALL_DB_SCHEMA.SQL

La commande suivante exportera uniquement les définitions de l'espace de table:

1
$ PG_DUMPALL - TABLESPACES-ONLY -U Postgres> All_DB_TABLESPACES.SQL

Dernières pensées

Dans ce guide, nous avons exploré diverses façons d'utiliser le pg_dump Commande pour exporter des bases de données de PostgreSQL. Nous avons exporté une exemple de base de données en tant que script SQL et archive. En utilisant PG_Dumpall, nous avons également présenté l'exportation de divers composants de toutes les bases de données de PostgreSQL.

PostgreSQL est un puissant moteur de base de données avec des tonnes de fonctionnalités. La sous-catégorie PostgreSQL contient de nombreux guides. En savoir plus sur la liste des utilisateurs, la suppression des utilisateurs, la recherche floue, etc.