Articles

Copie

Tweet

Qu’est-ce que la copie

Postgres est livré avec plusieurs utilitaires formidables pour déplacer vos données. Les plus évidents sont pg_dump et pg_restore pour bien sûr les sauvegardes et restaurations de bases de données. Un utilitaire similaire, dont on parle beaucoup moins, mais qui est tout aussi précieux, est l’utilitaire Copy de Postgres. Copy vous permet de docopier des données dans et hors des tables de votre base de données. Il prend en charge plusieurs modes, notamment :

  • binaire
  • délimité par des tabulations
  • délimité par des csv

Que ce soit pour charger des données en vrac pour des tests, faire de l’ETL léger, ou simplement saisir un extrait de données pour l’envoyer à quelqu’un, c’est un utilitaire que chaque développeur voudra utiliser à un moment donné.

Copie en action

Extraction de tous les employés vers un fichier délimité par des tabulations:

\copy (SELECT * FROM employees) TO '~/employees.tsv';

Extraction de tous les employés vers un fichier délimité par des csv :

\copy (SELECT * FROM employees) TO '~/employees.csv' WITH (FORMAT CSV);

Extraction de tous les employés vers un fichier binaire (notez les guillemets autour du mot Binaire) :

\copy (SELECT * FROM employees) TO '~/employees.dat' WITH (FORMAT "Binary");

Et pour charger les données dans un tableau, l’équivalent pour chacun des éléments ci-dessus :

\copy employees FROM '~/employees.tsv';\copy employees FROM '~/employees.csv' WITH CSV;\copy employees FROM '~/employees.dat' WITH BINARY;

.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *