forked from dimitri/pgloader
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsimple.load
58 lines (50 loc) · 1.34 KB
/
simple.load
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/*
* This test is ported from pgloader 2.x where it was defined as:
*
* [simple_tmpl]
* template = True
* format = text
* datestyle = dmy
* field_sep = |
* trailing_sep = True
*
* [simple]
* use_template = simple_tmpl
* table = simple
* filename = simple/simple.data
* columns = a:1, b:3, c:2
* skip_head_lines = 2
*
* # those reject settings are defaults one
* reject_log = /tmp/simple.rej.log
* reject_data = /tmp/simple.rej
*/
LOAD CSV
FROM inline (a, c, b, trailing)
INTO postgresql:///pgloader?simple (a, b, c)
WITH truncate,
skip header = 2,
fields optionally enclosed by '"',
fields escaped by double-quote,
fields terminated by '|'
SET client_encoding to 'latin1',
datestyle to 'dmy',
work_mem to '12MB',
standard_conforming_strings to 'on'
BEFORE LOAD DO
$$ drop table if exists simple; $$,
$$ create table simple (
a integer primary key,
b date,
c text
);
$$;
This is a stupid useless header like you sometime find in CSV files
id|data|date|
1|some first row text|2006-11-11|
2|some second row text|13/11/2006|
3|some third row text|12-10-2006|
4|\ |2006-10-4|
5|some fifth row text|2006-5-12|
6|some sixth row text|10/7/6|
7|some null date to play with||