· 8 years ago · Apr 05, 2018, 12:28 PM
1CREATE TABLE if NOT EXISTS users (
2 user_id SERIAL PRIMARY KEY,
3 app_user_id TEXT NOT NULL DEFAULT '',
4 push_id TEXT NOT NULL DEFAULT '',
5 device_id TEXT NOT NULL DEFAULT '',
6 sys_properties JSONB NOT NULL DEFAULT '{}',
7 user_properties JSONB NOT NULL DEFAULT '{}',
8 time_created TIMESTAMPTZ NOT NULL DEFAULT now(),
9 time_updated TIMESTAMPTZ NOT NULL DEFAULT now()
10);
11
12SELECT create_distributed_table('users', 'user_id');
13
14DROP TABLE events
15CREATE TABLE if NOT EXISTS events (
16 user_id INT NOT NULL DEFAULT 0,
17 event_time TIMESTAMP(3) NOT NULL,
18 event_name TEXT NOT NULL,
19 session_id TEXT NOT NULL DEFAULT '',
20 event_properties JSONB NOT NULL DEFAULT '{}',
21 time_created TIMESTAMPTZ NOT NULL DEFAULT now()
22) PARTITION BY RANGE (event_time);
23
24SELECT create_distributed_table('events', 'user_id');
25CREATE TABLE events_2018_w13 PARTITION OF events FOR VALUES FROM ('2018-03-26') TO ('2018-04-01');
26CREATE TABLE events_2018_w14 PARTITION OF events FOR VALUES FROM ('2018-04-02') TO ('2018-04-08');
27CREATE TABLE events_2018_w15 PARTITION OF events FOR VALUES FROM ('2018-04-09') TO ('2018-04-15');
28CREATE TABLE events_2018_w16 PARTITION OF events FOR VALUES FROM ('2018-04-16') TO ('2018-04-22');
29CREATE TABLE events_2018_w17 PARTITION OF events FOR VALUES FROM ('2018-04-23') TO ('2018-04-29');
30CREATE TABLE events_2018_w18 PARTITION OF events FOR VALUES FROM ('2018-04-30') TO ('2018-05-06');
31CREATE TABLE events_2018_w19 PARTITION OF events FOR VALUES FROM ('2018-05-07') TO ('2018-05-13');
32CREATE TABLE events_2018_w20 PARTITION OF events FOR VALUES FROM ('2018-05-14') TO ('2018-05-20');
33CREATE TABLE events_2018_w21 PARTITION OF events FOR VALUES FROM ('2018-05-21') TO ('2018-05-27');
34CREATE TABLE events_2018_w22 PARTITION OF events FOR VALUES FROM ('2018-05-28') TO ('2018-06-03');
35CREATE TABLE events_2018_w23 PARTITION OF events FOR VALUES FROM ('2018-06-04') TO ('2018-06-10');
36CREATE TABLE events_2018_w24 PARTITION OF events FOR VALUES FROM ('2018-06-11') TO ('2018-06-17');
37CREATE TABLE events_2018_w25 PARTITION OF events FOR VALUES FROM ('2018-06-18') TO ('2018-06-24');
38CREATE TABLE events_2018_w26 PARTITION OF events FOR VALUES FROM ('2018-06-25') TO ('2018-07-01');
39CREATE TABLE events_2018_w27 PARTITION OF events FOR VALUES FROM ('2018-07-02') TO ('2018-07-08');
40CREATE TABLE events_2018_w28 PARTITION OF events FOR VALUES FROM ('2018-07-09') TO ('2018-07-15');
41CREATE TABLE events_2018_w29 PARTITION OF events FOR VALUES FROM ('2018-07-16') TO ('2018-07-22');
42CREATE TABLE events_2018_w30 PARTITION OF events FOR VALUES FROM ('2018-07-23') TO ('2018-07-29');
43CREATE TABLE events_2018_w31 PARTITION OF events FOR VALUES FROM ('2018-07-30') TO ('2018-08-05');
44CREATE TABLE events_2018_w32 PARTITION OF events FOR VALUES FROM ('2018-08-06') TO ('2018-08-12');
45CREATE TABLE events_2018_w33 PARTITION OF events FOR VALUES FROM ('2018-08-13') TO ('2018-08-19');
46CREATE TABLE events_2018_w34 PARTITION OF events FOR VALUES FROM ('2018-08-20') TO ('2018-08-26');
47CREATE TABLE events_2018_w35 PARTITION OF events FOR VALUES FROM ('2018-08-27') TO ('2018-09-02');
48CREATE TABLE events_2018_w36 PARTITION OF events FOR VALUES FROM ('2018-09-03') TO ('2018-09-09');
49CREATE TABLE events_2018_w37 PARTITION OF events FOR VALUES FROM ('2018-09-10') TO ('2018-09-16');
50CREATE TABLE events_2018_w38 PARTITION OF events FOR VALUES FROM ('2018-09-17') TO ('2018-09-23');
51CREATE TABLE events_2018_w39 PARTITION OF events FOR VALUES FROM ('2018-09-24') TO ('2018-09-30');
52CREATE TABLE events_2018_w40 PARTITION OF events FOR VALUES FROM ('2018-10-01') TO ('2018-10-07');
53CREATE TABLE events_2018_w41 PARTITION OF events FOR VALUES FROM ('2018-10-08') TO ('2018-10-14');
54CREATE TABLE events_2018_w42 PARTITION OF events FOR VALUES FROM ('2018-10-15') TO ('2018-10-21');
55CREATE TABLE events_2018_w43 PARTITION OF events FOR VALUES FROM ('2018-10-22') TO ('2018-10-28');
56CREATE TABLE events_2018_w44 PARTITION OF events FOR VALUES FROM ('2018-10-29') TO ('2018-11-04');
57CREATE TABLE events_2018_w45 PARTITION OF events FOR VALUES FROM ('2018-11-05') TO ('2018-11-11');
58CREATE TABLE events_2018_w46 PARTITION OF events FOR VALUES FROM ('2018-11-12') TO ('2018-11-18');
59CREATE TABLE events_2018_w47 PARTITION OF events FOR VALUES FROM ('2018-11-19') TO ('2018-11-25');
60CREATE TABLE events_2018_w48 PARTITION OF events FOR VALUES FROM ('2018-11-26') TO ('2018-12-02');
61CREATE TABLE events_2018_w49 PARTITION OF events FOR VALUES FROM ('2018-12-03') TO ('2018-12-09');
62CREATE TABLE events_2018_w50 PARTITION OF events FOR VALUES FROM ('2018-12-10') TO ('2018-12-16');
63CREATE TABLE events_2018_w51 PARTITION OF events FOR VALUES FROM ('2018-12-17') TO ('2018-12-23');
64CREATE TABLE events_2018_w52 PARTITION OF events FOR VALUES FROM ('2018-12-24') TO ('2018-12-30');