Comment importer/exporter une bases de données PostgreSQL

Cet article explique comment importer et exporter une base de données PostgreSQL. Vous pouvez importer et exporter des bases de données pour divers scénarios, notamment :

  • Transférer une base de données d’un compte ou d’un fournisseur d’hébergement Web à un autre.
  • Importation d’une base de données tierce.
  • Sauvegarde d’une base de données.

 

Exporter une base de données PostgreSQL

Vous pouvez exporter une base de données PostgreSQL vers un fichier en utilisant le programme de ligne de commande pg_dump , ou vous pouvez utiliser phpPgAdmin dans votre cPanel.

 

Méthode n°1 : utiliser le programme pg_dump

Pour exporter une base de données PostgreSQL à l’aide du programme pg_dump , suivez ces étapes :

  1. Accédez à la ligne de commande sur l’ordinateur où est stockée la base de données. Par exemple, si la base de données est hébergée sur un autre compte ou chez un autre hébergeur, connectez-vous à ce compte via SSH. Si vous disposez d’un accès physique à l’ordinateur, vous pouvez ouvrir une fenêtre DOS ou un terminal pour accéder à la ligne de commande.
  2. Saisissez la commande suivante, puis appuyez sur Entrée. Remplacez « dbusername » par un nom d’utilisateur autorisé à accéder à la base de données, et « dbname » par le nom de la base de données à exporter :
    pg_dump -U dbusername dbname > dbexport.pgsql

    📘 Note

    Cet article utilise le nom de fichier dbexport.pgsql pour la base de données exportée, mais vous pouvez nommer le fichier comme vous le souhaitez.

  3. Saisissez le mot de passe de votre compte cPanel à l’ invite Mot de passe .
  4. Le fichier dbexport.pgsql contient désormais toutes les données de la base de données dbname . Si le fichier dbexport.pgsql se trouve sur un ordinateur distant, téléchargez-le sur votre ordinateur local.

    📘 Note

    Vous pouvez recevoir les messages d’erreur suivants lorsque vous essayez d’exporter une base de données :

    pg_dump: SQL command failed
    pg_dump: Error message from server: ERROR:  permission denied for schema topology
    pg_dump: The command was: LOCK TABLE topology.topology IN ACCESS SHARE MODE
    

    Ces erreurs se produisent car certains modèles de bases de données de serveur incluent PostGIS avec des autorisations d’accès restreintes. Pour exporter une base de données PostgreSQL sans ces données, saisissez la commande suivante au lieu de celle indiquée à l’étape 2 :

    pg_dump -U dbusername dbname -N topology -T spatial_ref_sys > dbexport.pgsql

 

Méthode n°2 : utiliser phpPgAdmin

Pour exporter une base de données PostgreSQL à l’aide de phpPgAdmin, suivez ces étapes :

  1. Connectez-vous à cPanel.

    📘 Note

    Si vous ne savez pas comment vous connecter à votre compte cPanel, veuillez consulter cet article .

  2. Ouvrez phpPgAdmin :
  3. La page d’administration de phpPgAdmin apparaît dans une nouvelle fenêtre. Dans le volet gauche, développez « Serveurs » , « PostgreSQL » , puis cliquez sur le nom de la base de données à exporter.
  4. Dans la barre de menu supérieure, cliquez sur Exporter .
  5. Sous Format , cliquez sur Structure et données .
  6. Sous Options , dans la zone de liste Format , sélectionnez SQL .
  7. Sous Options , cliquez sur Télécharger .
  8. Cliquez sur Exporter .
  9. Dans la boîte de dialogue du fichier, sélectionnez un emplacement pour enregistrer le fichier, puis cliquez sur Enregistrer .

 

Création d’une nouvelle base de données PostgreSQL et attribution d’un utilisateur

Avant d’importer la base de données, vous devez créer une nouvelle base de données dans cPanel et lui attribuer un utilisateur. Pour cela, suivez ces étapes :

  1. Connectez-vous à cPanel.

    📘 Note

    Si vous ne savez pas comment vous connecter à votre compte cPanel, veuillez consulter cet article .

  2. Ouvrez l’outil Bases de données PostgreSQL :
  3. Sous Créer une nouvelle base de données , dans la zone de texte Nom de la base de données , saisissez le nom de la base de données.

    📘 Note

    Vous ne pouvez pas utiliser de majuscules dans un nom de base de données PostgreSQL.

  4. Cliquez sur Créer une base de données .
  5. Une fois la base de données créée, cliquez sur Retour .
  6. Sous Ajouter un utilisateur à la base de données , dans la zone de liste Utilisateur , sélectionnez l’utilisateur que vous souhaitez ajouter.
  7. Dans la liste Base de données , sélectionnez la nouvelle base de données.
  8. Cliquez sur Soumettre .

 

Importer une base de données PostgreSQL

Après avoir créé une nouvelle base de données dans cPanel, vous pouvez importer le contenu de la base de données en utilisant le programme de ligne de commande psql ou phpPgAdmin.

🚧 Important

Vous devez importer toutes les données PostgreSQL en tant qu’utilisateur principal (c’est-à-dire en utilisant votre nom d’utilisateur de domaine). Si vous importez les données PostgreSQL en tant qu’utilisateur standard, vous ne pourrez ni les consulter ni les manipuler correctement avec phpPgAdmin. Après avoir importé les données en tant qu’utilisateur principal, vous pouvez accorder l’accès à ces données à un utilisateur standard. Vous n’aurez alors plus besoin d’utiliser le nom d’utilisateur et le mot de passe du domaine principal dans les scripts d’accès à la base de données.

 

Méthode n°1 : utiliser le programme psql

Pour importer une base de données PostgreSQL à l’aide du programme psql , suivez ces étapes :

  1. Transférez le fichier dbexport.pgsql vers votre compte cPanel en utilisant le gestionnaire des fichiers ou FTP.
  2. Connectez-vous à votre compte cPanel , puis, Terminal.
  3. Saisissez la commande suivante, puis appuyez sur Entrée. Remplacez « nom d’utilisateur » par votre nom d’utilisateur et « nom_base » par le nom de la base de données dans laquelle vous souhaitez importer les données :
    psql -U username dbname < dbexport.pgsql
  4. La base de données dbname doit maintenant contenir les données qui se trouvent dans le fichier dbexport.pgsql .

 

Méthode n°2 : utiliser phpPgAdmin

Pour importer une base de données PostgreSQL à l’aide de phpPgAdmin, suivez ces étapes :

  1. Connectez-vous à cPanel.

    📘 Note

    Si vous ne savez pas comment vous connecter à votre compte cPanel, veuillez consulter cet article .

  2. Ouvrez phpPgAdmin :
  3. La page d’administration de phpPgAdmin apparaît dans une nouvelle fenêtre. Dans le volet gauche, développez « Serveurs » , « PostgreSQL » , puis cliquez sur le nom de la base de données dans laquelle vous souhaitez importer les données.
  4. Dans la barre de menu supérieure, cliquez sur SQL .

    📘 Note

    Le lien SQL est situé entre les liens Schémas et Rechercher .

  5. Cliquez sur Choisir un fichier .
  6. Dans la boîte de dialogue du fichier, sélectionnez l’emplacement du fichier d’importation, puis cliquez sur Ouvrir .
  7. Cliquez sur Exécuter . phpPgAdmin importe les données du fichier dans la base de données.

Est-ce que cela a été utile ?