Skip to content

Instantly share code, notes, and snippets.

@ltebean
Last active March 29, 2018 08:07
Show Gist options
  • Save ltebean/39163f0474268e64b0a80eb685ebd07c to your computer and use it in GitHub Desktop.
Save ltebean/39163f0474268e64b0a80eb685ebd07c to your computer and use it in GitHub Desktop.
CREATE TABLE if NOT EXISTS users (
user_id SERIAL PRIMARY KEY,
app_user_id TEXT NOT NULL DEFAULT '',
push_id TEXT NOT NULL DEFAULT '',
device_id TEXT NOT NULL DEFAULT '',
sys_properties JSONB NOT NULL DEFAULT '{}',
user_properties JSONB NOT NULL DEFAULT '{}',
time_created TIMESTAMPTZ NOT NULL DEFAULT now(),
time_updated TIMESTAMPTZ NOT NULL DEFAULT now()
);
SELECT create_distributed_table('users', 'user_id');
DROP TABLE events
CREATE TABLE if NOT EXISTS events (
user_id INT NOT NULL DEFAULT 0,
event_time TIMESTAMP(3) NOT NULL,
event_name TEXT NOT NULL,
session_id TEXT NOT NULL DEFAULT '',
event_properties JSONB NOT NULL DEFAULT '{}',
time_created TIMESTAMPTZ NOT NULL DEFAULT now()
) PARTITION BY RANGE (event_time);
SELECT create_distributed_table('events', 'user_id');
CREATE TABLE events_2018_w13 PARTITION OF events FOR VALUES FROM ('2018-03-26') TO ('2018-04-01');
CREATE TABLE events_2018_w14 PARTITION OF events FOR VALUES FROM ('2018-04-02') TO ('2018-04-08');
CREATE TABLE events_2018_w15 PARTITION OF events FOR VALUES FROM ('2018-04-09') TO ('2018-04-15');
CREATE TABLE events_2018_w16 PARTITION OF events FOR VALUES FROM ('2018-04-16') TO ('2018-04-22');
CREATE TABLE events_2018_w17 PARTITION OF events FOR VALUES FROM ('2018-04-23') TO ('2018-04-29');
CREATE TABLE events_2018_w18 PARTITION OF events FOR VALUES FROM ('2018-04-30') TO ('2018-05-06');
CREATE TABLE events_2018_w19 PARTITION OF events FOR VALUES FROM ('2018-05-07') TO ('2018-05-13');
CREATE TABLE events_2018_w20 PARTITION OF events FOR VALUES FROM ('2018-05-14') TO ('2018-05-20');
CREATE TABLE events_2018_w21 PARTITION OF events FOR VALUES FROM ('2018-05-21') TO ('2018-05-27');
CREATE TABLE events_2018_w22 PARTITION OF events FOR VALUES FROM ('2018-05-28') TO ('2018-06-03');
CREATE TABLE events_2018_w23 PARTITION OF events FOR VALUES FROM ('2018-06-04') TO ('2018-06-10');
CREATE TABLE events_2018_w24 PARTITION OF events FOR VALUES FROM ('2018-06-11') TO ('2018-06-17');
CREATE TABLE events_2018_w25 PARTITION OF events FOR VALUES FROM ('2018-06-18') TO ('2018-06-24');
CREATE TABLE events_2018_w26 PARTITION OF events FOR VALUES FROM ('2018-06-25') TO ('2018-07-01');
CREATE TABLE events_2018_w27 PARTITION OF events FOR VALUES FROM ('2018-07-02') TO ('2018-07-08');
CREATE TABLE events_2018_w28 PARTITION OF events FOR VALUES FROM ('2018-07-09') TO ('2018-07-15');
CREATE TABLE events_2018_w29 PARTITION OF events FOR VALUES FROM ('2018-07-16') TO ('2018-07-22');
CREATE TABLE events_2018_w30 PARTITION OF events FOR VALUES FROM ('2018-07-23') TO ('2018-07-29');
CREATE TABLE events_2018_w31 PARTITION OF events FOR VALUES FROM ('2018-07-30') TO ('2018-08-05');
CREATE TABLE events_2018_w32 PARTITION OF events FOR VALUES FROM ('2018-08-06') TO ('2018-08-12');
CREATE TABLE events_2018_w33 PARTITION OF events FOR VALUES FROM ('2018-08-13') TO ('2018-08-19');
CREATE TABLE events_2018_w34 PARTITION OF events FOR VALUES FROM ('2018-08-20') TO ('2018-08-26');
CREATE TABLE events_2018_w35 PARTITION OF events FOR VALUES FROM ('2018-08-27') TO ('2018-09-02');
CREATE TABLE events_2018_w36 PARTITION OF events FOR VALUES FROM ('2018-09-03') TO ('2018-09-09');
CREATE TABLE events_2018_w37 PARTITION OF events FOR VALUES FROM ('2018-09-10') TO ('2018-09-16');
CREATE TABLE events_2018_w38 PARTITION OF events FOR VALUES FROM ('2018-09-17') TO ('2018-09-23');
CREATE TABLE events_2018_w39 PARTITION OF events FOR VALUES FROM ('2018-09-24') TO ('2018-09-30');
CREATE TABLE events_2018_w40 PARTITION OF events FOR VALUES FROM ('2018-10-01') TO ('2018-10-07');
CREATE TABLE events_2018_w41 PARTITION OF events FOR VALUES FROM ('2018-10-08') TO ('2018-10-14');
CREATE TABLE events_2018_w42 PARTITION OF events FOR VALUES FROM ('2018-10-15') TO ('2018-10-21');
CREATE TABLE events_2018_w43 PARTITION OF events FOR VALUES FROM ('2018-10-22') TO ('2018-10-28');
CREATE TABLE events_2018_w44 PARTITION OF events FOR VALUES FROM ('2018-10-29') TO ('2018-11-04');
CREATE TABLE events_2018_w45 PARTITION OF events FOR VALUES FROM ('2018-11-05') TO ('2018-11-11');
CREATE TABLE events_2018_w46 PARTITION OF events FOR VALUES FROM ('2018-11-12') TO ('2018-11-18');
CREATE TABLE events_2018_w47 PARTITION OF events FOR VALUES FROM ('2018-11-19') TO ('2018-11-25');
CREATE TABLE events_2018_w48 PARTITION OF events FOR VALUES FROM ('2018-11-26') TO ('2018-12-02');
CREATE TABLE events_2018_w49 PARTITION OF events FOR VALUES FROM ('2018-12-03') TO ('2018-12-09');
CREATE TABLE events_2018_w50 PARTITION OF events FOR VALUES FROM ('2018-12-10') TO ('2018-12-16');
CREATE TABLE events_2018_w51 PARTITION OF events FOR VALUES FROM ('2018-12-17') TO ('2018-12-23');
CREATE TABLE events_2018_w52 PARTITION OF events FOR VALUES FROM ('2018-12-24') TO ('2018-12-30');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment