Files
Aether/crates/aether-data/schema/generated/postgres/baseline/004_proxy_nodes.sql
2026-05-08 22:03:17 +08:00

91 lines
3.9 KiB
SQL

-- Generated by aether-data-schema from schema/logical/*.toml.
-- Do not edit generated files directly; edit logical schema or explicit overrides instead.
CREATE TABLE IF NOT EXISTS public.proxy_nodes (
id character varying(64) NOT NULL,
name character varying(255) NOT NULL,
ip character varying(512) NOT NULL,
port integer NOT NULL,
region character varying(100),
status character varying(32) DEFAULT 'online' NOT NULL,
registered_by character varying(64),
last_heartbeat_at bigint,
heartbeat_interval integer DEFAULT 30 NOT NULL,
active_connections integer DEFAULT 0 NOT NULL,
total_requests bigint DEFAULT 0 NOT NULL,
avg_latency_ms double precision,
is_manual boolean DEFAULT false NOT NULL,
proxy_url character varying(500),
proxy_username character varying(255),
proxy_password character varying(500),
created_at bigint NOT NULL,
updated_at bigint NOT NULL,
remote_config jsonb,
config_version integer DEFAULT 0 NOT NULL,
hardware_info jsonb,
estimated_max_concurrency integer,
tunnel_mode boolean DEFAULT false NOT NULL,
tunnel_connected boolean DEFAULT false NOT NULL,
tunnel_connected_at bigint,
failed_requests bigint DEFAULT 0 NOT NULL,
dns_failures bigint DEFAULT 0 NOT NULL,
stream_errors bigint DEFAULT 0 NOT NULL,
proxy_metadata jsonb
);
ALTER TABLE ONLY public.proxy_nodes ADD CONSTRAINT proxy_nodes_pkey PRIMARY KEY (id);
CREATE TABLE IF NOT EXISTS public.proxy_node_events (
id bigserial NOT NULL,
node_id character varying(64) NOT NULL,
event_type character varying(64) NOT NULL,
detail character varying(500),
event_metadata jsonb,
created_at bigint NOT NULL
);
ALTER TABLE ONLY public.proxy_node_events ADD CONSTRAINT proxy_node_events_pkey PRIMARY KEY (id);
CREATE TABLE IF NOT EXISTS public.proxy_node_metrics_1m (
node_id character varying(64) NOT NULL,
bucket_start_unix_secs bigint NOT NULL,
samples bigint DEFAULT 0 NOT NULL,
uptime_samples bigint DEFAULT 0 NOT NULL,
active_connections_sum bigint DEFAULT 0 NOT NULL,
active_connections_max bigint DEFAULT 0 NOT NULL,
heartbeat_rtt_ms_sum bigint DEFAULT 0 NOT NULL,
heartbeat_rtt_ms_max bigint DEFAULT 0 NOT NULL,
connect_errors_delta bigint DEFAULT 0 NOT NULL,
disconnects_delta bigint DEFAULT 0 NOT NULL,
error_events_delta bigint DEFAULT 0 NOT NULL,
ws_in_bytes_delta bigint DEFAULT 0 NOT NULL,
ws_out_bytes_delta bigint DEFAULT 0 NOT NULL,
ws_in_frames_delta bigint DEFAULT 0 NOT NULL,
ws_out_frames_delta bigint DEFAULT 0 NOT NULL
);
ALTER TABLE ONLY public.proxy_node_metrics_1m ADD CONSTRAINT proxy_node_metrics_1m_pkey PRIMARY KEY (node_id, bucket_start_unix_secs);
CREATE INDEX IF NOT EXISTS idx_proxy_node_metrics_1m_bucket_start ON public.proxy_node_metrics_1m USING btree (bucket_start_unix_secs);
CREATE TABLE IF NOT EXISTS public.proxy_node_metrics_1h (
node_id character varying(64) NOT NULL,
bucket_start_unix_secs bigint NOT NULL,
samples bigint DEFAULT 0 NOT NULL,
uptime_samples bigint DEFAULT 0 NOT NULL,
active_connections_sum bigint DEFAULT 0 NOT NULL,
active_connections_max bigint DEFAULT 0 NOT NULL,
heartbeat_rtt_ms_sum bigint DEFAULT 0 NOT NULL,
heartbeat_rtt_ms_max bigint DEFAULT 0 NOT NULL,
connect_errors_delta bigint DEFAULT 0 NOT NULL,
disconnects_delta bigint DEFAULT 0 NOT NULL,
error_events_delta bigint DEFAULT 0 NOT NULL,
ws_in_bytes_delta bigint DEFAULT 0 NOT NULL,
ws_out_bytes_delta bigint DEFAULT 0 NOT NULL,
ws_in_frames_delta bigint DEFAULT 0 NOT NULL,
ws_out_frames_delta bigint DEFAULT 0 NOT NULL
);
ALTER TABLE ONLY public.proxy_node_metrics_1h ADD CONSTRAINT proxy_node_metrics_1h_pkey PRIMARY KEY (node_id, bucket_start_unix_secs);
CREATE INDEX IF NOT EXISTS idx_proxy_node_metrics_1h_bucket_start ON public.proxy_node_metrics_1h USING btree (bucket_start_unix_secs);