Przykład instrukcji załadowania pliku CSV:
LOAD CSV FROM '/root/pgloader_data.csv' INTO postgresql://root:password@188.226.251.1/pgloader?pgloader_test(c2,c3) WITH truncate, skip header = 0, fields optionally enclosed by '"', fields escaped by double-quote, fields terminated by ',' SET client_encoding to 'utf8', work_mem to '12MB', standard_conforming_strings to 'on' BEFORE LOAD DO $$ drop table if exists pgloader_test; $$, $$ create table pgloader_test ( c1 serial, c2 varchar(20), c3 integer ); $$;
Ładujemy dane:
[root@niujork ~]$ pgloader pgloader.load 2014-06-03T14:54:53.046000Z LOG Starting pgloader, log system is ready. 2014-06-03T14:54:53.076000Z LOG Main logs in '/tmp/pgloader/pgloader.log' 2014-06-03T14:54:53.082000Z LOG Data errors in '/tmp/pgloader/' 2014-06-03T14:54:53.083000Z LOG Parsing commands from file #P"/root/pgloader.load" 2014-06-03T14:54:59.686000Z ERROR Database error 22P02: invalid input syntax for integer: "sldkfhg" CONTEXT: COPY pgloader_test, line 2, column c3: "sldkfhg" table name read imported errors time before load 2 2 0 2.701s ------------------------------ --------- --------- --------- -------------- pgloader_test 219175 219174 1 18.568s ------------------------------ --------- --------- --------- -------------- ------------------------------ --------- --------- --------- -------------- Total import time 219175 219174 1 21.269s
Ładujemy dane gdzie pierwsza komuna jest varchar, a druga integer. Dla niepoprawnych danych, narzędzie wyświetla błędy ale reszta danych zostanie zaimportowana poprawnie.
Innym dodatkowym atutem jest możliwość ładowania danych z innych systemów bazodanowych: MySQL, SQLite czy dBase, a także odczytywanie danych z plików zarchiwizowanych czy danych o stałej szerokości. Jeśli musicie zaimportować dane do PostgreSQL, to polecam to narzędzie. Może się wam bardzo przydać.
Zainteresowanych odsyłam do dokumentacji tutaj.
Brak komentarzy:
Prześlij komentarz