39 lines
1.1 KiB
Bash
39 lines
1.1 KiB
Bash
#!/bin/bash
|
|
|
|
psql --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
|
|
CREATE TYPE CLASS AS ENUM ('us_equity', 'crypto', 'unknown');
|
|
|
|
CREATE TYPE EXCHANGE AS ENUM (
|
|
'AMEX',
|
|
'ARCA',
|
|
'BATS',
|
|
'NASDAQ',
|
|
'NYSE',
|
|
'NYSEARCA',
|
|
'OTC',
|
|
'unknown'
|
|
);
|
|
|
|
CREATE TABLE assets (
|
|
symbol TEXT PRIMARY KEY,
|
|
class CLASS NOT NULL,
|
|
exchange EXCHANGE NOT NULL,
|
|
trading BOOLEAN NOT NULL DEFAULT FALSE,
|
|
date_added TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
|
);
|
|
|
|
CREATE TABLE bars (
|
|
timestamp TIMESTAMPTZ NOT NULL,
|
|
asset_symbol TEXT NOT NULL REFERENCES assets(symbol),
|
|
open DOUBLE PRECISION NOT NULL,
|
|
high DOUBLE PRECISION NOT NULL,
|
|
low DOUBLE PRECISION NOT NULL,
|
|
close DOUBLE PRECISION NOT NULL,
|
|
volume DOUBLE PRECISION NOT NULL,
|
|
PRIMARY KEY (asset_symbol, timestamp),
|
|
FOREIGN KEY (asset_symbol) REFERENCES assets(symbol)
|
|
);
|
|
|
|
SELECT create_hypertable('bars', 'timestamp', 'asset_symbol', 2);
|
|
EOSQL
|