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;
.