43 lines
1.0 KiB
SQL
43 lines
1.0 KiB
SQL
CREATE TABLE trades (
|
|
id SERIAL PRIMARY KEY,
|
|
trade_id integer NOT NULL,
|
|
product CHAR(7) NOT NULL,
|
|
price NUMERIC(1000, 8) NOT NULL,
|
|
size NUMERIC(1000, 8) NOT NULL,
|
|
buy BOOLEAN NOT NULL DEFAULT FALSE,
|
|
sell BOOLEAN NOT NULL DEFAULT FALSE,
|
|
timestamp TIMESTAMPTZ NOT NULL);
|
|
|
|
CREATE UNIQUE INDEX product_trade_id_index ON trades (
|
|
product,
|
|
trade_id);
|
|
|
|
CREATE INDEX timestamp_index ON trades (timestamp);
|
|
|
|
CREATE TABLE confirmations (
|
|
id SERIAL PRIMARY KEY,
|
|
product CHAR(7) NOT NULL,
|
|
type CHAR(1) NOT NULL,
|
|
last_id INTEGER NOT NULL DEFAULT 0);
|
|
|
|
CREATE UNIQUE INDEX confirmations_product_type_index ON confirmations (
|
|
product,
|
|
type);
|
|
|
|
CREATE TABLE aggregations (
|
|
id SERIAL PRIMARY KEY,
|
|
interval integer NOT NULL,
|
|
product CHAR(7) NOT NULL,
|
|
price NUMERIC(1000, 8) NOT NULL,
|
|
buy_volume NUMERIC(1000, 8) NOT NULL,
|
|
sell_volume NUMERIC(1000, 8) NOT NULL,
|
|
buy_transactions integer NOT NULL,
|
|
sell_transactions integer NOT NULL,
|
|
timestamp TIMESTAMPTZ NOT NULL
|
|
);
|
|
|
|
CREATE UNIQUE INDEX interval_product_time_index ON aggregations (
|
|
interval,
|
|
product,
|
|
timestamp);
|