GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment exporter une table PostgreSQL vers CSV

Présentation

PostgreSQL (ou Postgres ) est un système de gestion de base de données relationnelle objet similaire à MySQL, mais prend en charge des fonctionnalités et une stabilité améliorées. Une excellente fonctionnalité est que vous pouvez exporter une table Postgres vers un .CSV dossier. Cela peut être particulièrement utile lors du transfert d'une table vers un autre système ou de son importation dans une autre application de base de données.

Dans ce didacticiel, vous apprendrez à exporter une table Postgres vers un fichier .CSV à l'aide de \copy et COPY commandes.

Prérequis

  • PostgreSQL installé sur le système
  • Une base de données existante dans PostgreSQL
  • Une fenêtre de terminal/ligne de commande (Ctrl+Alt+T)

Avant de commencer avec PostgreSQL

Postgres peut être installé sur Windows, Mac, Linux, et il peut même être déployé dans un conteneur Docker. Ce guide vous guide tout au long de la procédure à l'aide d'Ubuntu Linux. Cependant, toutes les commandes d'exportation peut être utilisé dans tout autre système d'exploitation pris en charge.

Si vous n'avez pas Postgres, vous pouvez l'installer en téléchargeant le logiciel depuis le site Web du développeur. Installez Postgres sur Ubuntu à partir des référentiels par défaut en saisissant ce qui suit :

sudo apt-get install postgresql

Une fois le service démarré, vous devez créer ou importer une base de données.

Exporter les données du tableau vers .CSV avec la commande COPY

Dans psql, il existe deux commandes différentes.

L'utilisation de base du COPY commande est la suivante :

COPY db_name TO [/path/to/destination/db_name.csv] DELIMITER ‘,’ CSV HEADER;

Remplacez db_name avec le nom réel de votre base de données et le /path/to/destination avec l'emplacement réel où vous souhaitez stocker le fichier .CSV.

Par exemple, sous Windows, vous pouvez enregistrer une copie dans C:\tmp\db_name.csv . Sous Linux, le chemin par défaut pourrait être /tmp/db_name.csv . Ensuite, vous pouvez ouvrir le fichier .CSV et voir le contenu du tableau répertorié dans un format légèrement différent. Vous pouvez voir la différence dans l'exemple ci-dessous.

Tout d'abord, nous listons le contenu d'une table spécifiée dans le shell psql avec la commande :

SELECT * FROM [table_name]

La sortie affiche les valeurs dans notre exemple de tableau comme dans l'image ci-dessous :

Vous pouvez maintenant le comparer à son fichier .CSV correspondant. Les données exportées de la table mentionnée précédemment apparaissent dans un fichier .CSV, comme illustré dans l'image suivante :

Exporter des colonnes spécifiques du tableau vers .CSV

Vous pouvez utiliser le COPY commande pour cibler des colonnes spécifiques :

COPY [db_name](column1,column2,column3) TO [/path/to/destination/db_name_partial.csv] DELIMITER ‘,’ CSV HEADER;

Exporter les données du tableau vers .CSV avec la commande \copy

Utilisez le \copy commande lorsque vous travaillez à distance. Il vous permet d'exporter des données d'un serveur vers un fichier .CSV sur une machine cliente locale. Utilisez-le comme suit :

\copy (SELECT * FROM [db_name]) to [/path/to/destination] CSV HEADER

Remplacez db_name avec le nom de la base de données source. Remplacez /path/to/destination avec l'emplacement réel du fichier .CSV. Sous Windows, vous pouvez exporter vers C:tmpdb_name.csv . Sous Linux, vous pouvez exporter vers /tmp/db_name.csv .

Le \copy La commande nécessite uniquement des privilèges élevés pour le système client. Ceci est utile si vous ne disposez pas de privilèges suffisants pour exécuter le COPY commande sur le serveur. De plus, le \copy La commande vous permet d'utiliser un chemin relatif.

Par exemple, vous pouvez spécifier desktop/db_name.csv sur un système Windows, et il serait enregistré sur le bureau de l'utilisateur actuel.


Ubuntu
  1. Comment créer une table dans Hive

  2. Comment créer une table dans MySQL

  3. Comment créer une table externe dans Hive

  4. Comment installer PostgreSQL sur Ubuntu 18.04

  5. Comment exporter une table de MySQL vers CSV

Comment installer TimescaleDB sur Ubuntu 20.04

Comment installer PostgreSQL sur Debian 11 ?

Comment installer PostgreSQL sur Ubuntu 14.04

Comment installer PostgreSQL sur Ubuntu 15.04

Comment installer PostgreSQL sur Ubuntu 16.04

Comment exporter ma base de données PostgreSQL ?