Release / update-version (push) Has been cancelled
Release / build-frontend (push) Has been cancelled
Release / release (push) Has been cancelled
Release / sync-version-file (push) Has been cancelled
CI / shell (push) Canceled after 0s
CI / test (push) Canceled after 0s
CI / frontend (push) Canceled after 0s
CI / golangci-lint (push) Canceled after 0s
Security Scan / backend-security (push) Canceled after 0s
Security Scan / frontend-security (push) Canceled after 0s
28 lines
1.2 KiB
SQL
28 lines
1.2 KiB
SQL
SET LOCAL lock_timeout = '5s';
|
|
SET LOCAL statement_timeout = '10min';
|
|
|
|
CREATE TABLE IF NOT EXISTS ops_ingress_reject_aggregates (
|
|
id BIGSERIAL PRIMARY KEY,
|
|
bucket_start TIMESTAMPTZ NOT NULL,
|
|
reject_reason VARCHAR(64) NOT NULL,
|
|
route_family VARCHAR(64) NOT NULL,
|
|
protocol VARCHAR(32) NOT NULL,
|
|
client_ip INET NOT NULL,
|
|
user_id BIGINT NOT NULL DEFAULT 0,
|
|
api_key_id BIGINT NOT NULL DEFAULT 0,
|
|
request_count BIGINT NOT NULL DEFAULT 0,
|
|
first_seen TIMESTAMPTZ NOT NULL,
|
|
last_seen TIMESTAMPTZ NOT NULL,
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
CONSTRAINT ops_ingress_reject_aggregates_dimensions_unique UNIQUE
|
|
(bucket_start, reject_reason, route_family, protocol, client_ip, user_id, api_key_id)
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_ops_ingress_reject_aggregates_bucket
|
|
ON ops_ingress_reject_aggregates (bucket_start DESC);
|
|
CREATE INDEX IF NOT EXISTS idx_ops_ingress_reject_aggregates_reason_bucket
|
|
ON ops_ingress_reject_aggregates (reject_reason, bucket_start DESC);
|
|
CREATE INDEX IF NOT EXISTS idx_ops_ingress_reject_aggregates_ip_bucket
|
|
ON ops_ingress_reject_aggregates (client_ip, bucket_start DESC);
|