You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ErrorDetecting/backend/dump.sql

2194 lines
57 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

--
-- PostgreSQL database dump
--
\restrict x3vbKb2vAIlctC0uebdrXag55BFVsJBRQxqhKA1MdoFQjC3OJ9m4YZLeFNLKBRA
-- Dumped from database version 15.15 (Debian 15.15-1.pgdg13+1)
-- Dumped by pg_dump version 15.15 (Debian 15.15-1.pgdg13+1)
SET statement_timeout = 0;
SET lock_timeout = 0;
SET idle_in_transaction_session_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = on;
SELECT pg_catalog.set_config('search_path', '', false);
SET check_function_bodies = false;
SET xmloption = content;
SET client_min_messages = warning;
SET row_security = off;
SET default_tablespace = '';
SET default_table_access_method = heap;
--
-- Name: app_configurations; Type: TABLE; Schema: public; Owner: postgres
--
CREATE TABLE public.app_configurations (
id bigint NOT NULL,
config_type character varying(20) NOT NULL,
config_key character varying(100) NOT NULL,
config_value jsonb NOT NULL,
description character varying(500),
is_enabled boolean DEFAULT true NOT NULL,
created_at timestamp with time zone DEFAULT now() NOT NULL,
updated_at timestamp with time zone DEFAULT now() NOT NULL,
CONSTRAINT app_config_type_chk CHECK (((config_type)::text = ANY ((ARRAY['system'::character varying, 'alert_rule'::character varying, 'notification'::character varying, 'llm'::character varying])::text[])))
);
ALTER TABLE public.app_configurations OWNER TO postgres;
--
-- Name: TABLE app_configurations; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON TABLE public.app_configurations IS '应用统一配置表';
--
-- Name: COLUMN app_configurations.id; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.app_configurations.id IS '主键ID';
--
-- Name: COLUMN app_configurations.config_type; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.app_configurations.config_type IS '配置类型(system/alert_rule/notification/llm)';
--
-- Name: COLUMN app_configurations.config_key; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.app_configurations.config_key IS '配置键';
--
-- Name: COLUMN app_configurations.config_value; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.app_configurations.config_value IS '配置值(JSONB)';
--
-- Name: COLUMN app_configurations.description; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.app_configurations.description IS '配置描述';
--
-- Name: COLUMN app_configurations.is_enabled; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.app_configurations.is_enabled IS '是否启用';
--
-- Name: COLUMN app_configurations.created_at; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.app_configurations.created_at IS '创建时间';
--
-- Name: COLUMN app_configurations.updated_at; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.app_configurations.updated_at IS '更新时间';
--
-- Name: app_configurations_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
--
ALTER TABLE public.app_configurations ALTER COLUMN id ADD GENERATED ALWAYS AS IDENTITY (
SEQUENCE NAME public.app_configurations_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1
);
--
-- Name: audit_logs; Type: TABLE; Schema: public; Owner: postgres
--
CREATE TABLE public.audit_logs (
id bigint NOT NULL,
user_id bigint,
cluster_id bigint,
role_id bigint,
username character varying(50) NOT NULL,
action character varying(100) NOT NULL,
resource_type character varying(50) NOT NULL,
resource_id character varying(100),
ip_address inet NOT NULL,
request_data jsonb,
response_status integer,
created_at timestamp with time zone DEFAULT now() NOT NULL
);
ALTER TABLE public.audit_logs OWNER TO postgres;
--
-- Name: TABLE audit_logs; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON TABLE public.audit_logs IS '操作审计表';
--
-- Name: COLUMN audit_logs.id; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.audit_logs.id IS '主键ID';
--
-- Name: COLUMN audit_logs.user_id; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.audit_logs.user_id IS '用户ID';
--
-- Name: COLUMN audit_logs.cluster_id; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.audit_logs.cluster_id IS '集群ID';
--
-- Name: COLUMN audit_logs.role_id; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.audit_logs.role_id IS '角色ID';
--
-- Name: COLUMN audit_logs.username; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.audit_logs.username IS '用户名';
--
-- Name: COLUMN audit_logs.action; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.audit_logs.action IS '操作动作';
--
-- Name: COLUMN audit_logs.resource_type; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.audit_logs.resource_type IS '资源类型';
--
-- Name: COLUMN audit_logs.resource_id; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.audit_logs.resource_id IS '资源ID';
--
-- Name: COLUMN audit_logs.ip_address; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.audit_logs.ip_address IS '请求来源IP(INET, 兼容IPv4/IPv6)';
--
-- Name: COLUMN audit_logs.request_data; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.audit_logs.request_data IS '请求数据(JSONB)';
--
-- Name: COLUMN audit_logs.response_status; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.audit_logs.response_status IS '响应状态码';
--
-- Name: COLUMN audit_logs.created_at; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.audit_logs.created_at IS '创建时间';
--
-- Name: audit_logs_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
--
ALTER TABLE public.audit_logs ALTER COLUMN id ADD GENERATED ALWAYS AS IDENTITY (
SEQUENCE NAME public.audit_logs_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1
);
--
-- Name: clusters; Type: TABLE; Schema: public; Owner: postgres
--
CREATE TABLE public.clusters (
id bigint NOT NULL,
uuid uuid NOT NULL,
name character varying(100) NOT NULL,
type character varying(50) NOT NULL,
node_count integer DEFAULT 0 NOT NULL,
health_status character varying(20) DEFAULT 'unknown'::character varying NOT NULL,
description text,
config_info jsonb,
created_at timestamp with time zone DEFAULT now() NOT NULL,
updated_at timestamp with time zone DEFAULT now() NOT NULL,
CONSTRAINT clusters_health_status_chk CHECK (((health_status)::text = ANY ((ARRAY['healthy'::character varying, 'warning'::character varying, 'error'::character varying, 'unknown'::character varying])::text[])))
);
ALTER TABLE public.clusters OWNER TO postgres;
--
-- Name: TABLE clusters; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON TABLE public.clusters IS '集群信息表';
--
-- Name: COLUMN clusters.id; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.clusters.id IS '主键ID';
--
-- Name: COLUMN clusters.uuid; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.clusters.uuid IS '集群唯一标识(UUID)';
--
-- Name: COLUMN clusters.name; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.clusters.name IS '集群名称';
--
-- Name: COLUMN clusters.type; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.clusters.type IS '集群类型';
--
-- Name: COLUMN clusters.node_count; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.clusters.node_count IS '集群节点数量';
--
-- Name: COLUMN clusters.health_status; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.clusters.health_status IS '集群健康状态(healthy/warning/error/unknown)';
--
-- Name: COLUMN clusters.description; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.clusters.description IS '集群描述';
--
-- Name: COLUMN clusters.config_info; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.clusters.config_info IS '集群配置信息(JSONB)';
--
-- Name: COLUMN clusters.created_at; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.clusters.created_at IS '创建时间';
--
-- Name: COLUMN clusters.updated_at; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.clusters.updated_at IS '更新时间';
--
-- Name: clusters_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
--
ALTER TABLE public.clusters ALTER COLUMN id ADD GENERATED ALWAYS AS IDENTITY (
SEQUENCE NAME public.clusters_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1
);
--
-- Name: exec_logs; Type: TABLE; Schema: public; Owner: postgres
--
CREATE TABLE public.exec_logs (
id bigint NOT NULL,
exec_id character varying(32) NOT NULL,
fault_id character varying(32) NOT NULL,
command_type character varying(50) NOT NULL,
script_path character varying(255),
command_content text NOT NULL,
target_nodes jsonb,
risk_level character varying(20) DEFAULT 'medium'::character varying NOT NULL,
execution_status character varying(20) DEFAULT 'pending'::character varying NOT NULL,
start_time timestamp with time zone,
end_time timestamp with time zone,
duration integer,
stdout_log text,
stderr_log text,
exit_code integer,
operator character varying(50) DEFAULT 'system'::character varying NOT NULL,
created_at timestamp with time zone DEFAULT now() NOT NULL,
updated_at timestamp with time zone DEFAULT now() NOT NULL,
CONSTRAINT exec_logs_duration_chk CHECK (((duration IS NULL) OR (duration >= 0))),
CONSTRAINT exec_logs_risk_chk CHECK (((risk_level)::text = ANY ((ARRAY['low'::character varying, 'medium'::character varying, 'high'::character varying])::text[]))),
CONSTRAINT exec_logs_status_chk CHECK (((execution_status)::text = ANY ((ARRAY['pending'::character varying, 'running'::character varying, 'success'::character varying, 'failed'::character varying, 'timeout'::character varying])::text[])))
);
ALTER TABLE public.exec_logs OWNER TO postgres;
--
-- Name: TABLE exec_logs; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON TABLE public.exec_logs IS '执行日志表';
--
-- Name: COLUMN exec_logs.id; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.exec_logs.id IS '主键ID';
--
-- Name: COLUMN exec_logs.exec_id; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.exec_logs.exec_id IS '执行唯一标识';
--
-- Name: COLUMN exec_logs.fault_id; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.exec_logs.fault_id IS '关联故障标识(无外键)';
--
-- Name: COLUMN exec_logs.command_type; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.exec_logs.command_type IS '命令类型';
--
-- Name: COLUMN exec_logs.script_path; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.exec_logs.script_path IS '脚本路径';
--
-- Name: COLUMN exec_logs.command_content; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.exec_logs.command_content IS '执行的命令内容';
--
-- Name: COLUMN exec_logs.target_nodes; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.exec_logs.target_nodes IS '目标执行节点(JSONB)';
--
-- Name: COLUMN exec_logs.risk_level; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.exec_logs.risk_level IS '风险级别(low/medium/high)';
--
-- Name: COLUMN exec_logs.execution_status; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.exec_logs.execution_status IS '执行状态(pending/running/success/failed/timeout)';
--
-- Name: COLUMN exec_logs.start_time; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.exec_logs.start_time IS '开始执行时间';
--
-- Name: COLUMN exec_logs.end_time; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.exec_logs.end_time IS '结束执行时间';
--
-- Name: COLUMN exec_logs.duration; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.exec_logs.duration IS '执行时长(秒)';
--
-- Name: COLUMN exec_logs.stdout_log; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.exec_logs.stdout_log IS '标准输出日志';
--
-- Name: COLUMN exec_logs.stderr_log; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.exec_logs.stderr_log IS '错误输出日志';
--
-- Name: COLUMN exec_logs.exit_code; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.exec_logs.exit_code IS '退出码';
--
-- Name: COLUMN exec_logs.operator; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.exec_logs.operator IS '操作人';
--
-- Name: COLUMN exec_logs.created_at; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.exec_logs.created_at IS '创建时间';
--
-- Name: COLUMN exec_logs.updated_at; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.exec_logs.updated_at IS '更新时间';
--
-- Name: exec_logs_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
--
ALTER TABLE public.exec_logs ALTER COLUMN id ADD GENERATED ALWAYS AS IDENTITY (
SEQUENCE NAME public.exec_logs_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1
);
--
-- Name: nodes; Type: TABLE; Schema: public; Owner: postgres
--
CREATE TABLE public.nodes (
id bigint NOT NULL,
uuid uuid NOT NULL,
cluster_id bigint NOT NULL,
hostname character varying(100) NOT NULL,
ip_address inet NOT NULL,
status character varying(20) DEFAULT 'unknown'::character varying NOT NULL,
cpu_usage numeric(5,2),
memory_usage numeric(5,2),
disk_usage numeric(5,2),
last_heartbeat timestamp with time zone,
created_at timestamp with time zone DEFAULT now() NOT NULL,
updated_at timestamp with time zone DEFAULT now() NOT NULL,
CONSTRAINT nodes_cpu_chk CHECK (((cpu_usage IS NULL) OR ((cpu_usage >= (0)::numeric) AND (cpu_usage <= (100)::numeric)))),
CONSTRAINT nodes_disk_chk CHECK (((disk_usage IS NULL) OR ((disk_usage >= (0)::numeric) AND (disk_usage <= (100)::numeric)))),
CONSTRAINT nodes_mem_chk CHECK (((memory_usage IS NULL) OR ((memory_usage >= (0)::numeric) AND (memory_usage <= (100)::numeric)))),
CONSTRAINT nodes_status_chk CHECK (((status)::text = ANY ((ARRAY['healthy'::character varying, 'unhealthy'::character varying, 'warning'::character varying, 'unknown'::character varying])::text[])))
);
ALTER TABLE public.nodes OWNER TO postgres;
--
-- Name: TABLE nodes; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON TABLE public.nodes IS '节点信息表';
--
-- Name: COLUMN nodes.id; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.nodes.id IS '主键ID';
--
-- Name: COLUMN nodes.uuid; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.nodes.uuid IS '节点唯一标识(UUID)';
--
-- Name: COLUMN nodes.cluster_id; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.nodes.cluster_id IS '所属集群ID';
--
-- Name: COLUMN nodes.hostname; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.nodes.hostname IS '节点主机名';
--
-- Name: COLUMN nodes.ip_address; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.nodes.ip_address IS '节点IP地址(INET, 兼容IPv4/IPv6)';
--
-- Name: COLUMN nodes.status; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.nodes.status IS '节点健康状态(healthy/unhealthy/warning/unknown)';
--
-- Name: COLUMN nodes.cpu_usage; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.nodes.cpu_usage IS 'CPU使用率(%)';
--
-- Name: COLUMN nodes.memory_usage; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.nodes.memory_usage IS '内存使用率(%)';
--
-- Name: COLUMN nodes.disk_usage; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.nodes.disk_usage IS '磁盘使用率(%)';
--
-- Name: COLUMN nodes.last_heartbeat; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.nodes.last_heartbeat IS '最后心跳时间';
--
-- Name: COLUMN nodes.created_at; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.nodes.created_at IS '创建时间';
--
-- Name: COLUMN nodes.updated_at; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.nodes.updated_at IS '更新时间';
--
-- Name: nodes_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
--
ALTER TABLE public.nodes ALTER COLUMN id ADD GENERATED ALWAYS AS IDENTITY (
SEQUENCE NAME public.nodes_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1
);
--
-- Name: permissions; Type: TABLE; Schema: public; Owner: postgres
--
CREATE TABLE public.permissions (
id bigint NOT NULL,
permission_name character varying(100) NOT NULL,
permission_key character varying(100) NOT NULL,
description character varying(255),
created_at timestamp with time zone DEFAULT now() NOT NULL
);
ALTER TABLE public.permissions OWNER TO postgres;
--
-- Name: TABLE permissions; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON TABLE public.permissions IS '权限表';
--
-- Name: COLUMN permissions.id; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.permissions.id IS '主键ID';
--
-- Name: COLUMN permissions.permission_name; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.permissions.permission_name IS '权限名称';
--
-- Name: COLUMN permissions.permission_key; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.permissions.permission_key IS '权限唯一标识';
--
-- Name: COLUMN permissions.description; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.permissions.description IS '权限描述';
--
-- Name: COLUMN permissions.created_at; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.permissions.created_at IS '创建时间';
--
-- Name: permissions_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
--
ALTER TABLE public.permissions ALTER COLUMN id ADD GENERATED ALWAYS AS IDENTITY (
SEQUENCE NAME public.permissions_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1
);
--
-- Name: repair_templates; Type: TABLE; Schema: public; Owner: postgres
--
CREATE TABLE public.repair_templates (
id bigint NOT NULL,
template_name character varying(100) NOT NULL,
fault_type character varying(50) NOT NULL,
script_content text NOT NULL,
risk_level character varying(20) DEFAULT 'medium'::character varying NOT NULL,
description text,
parameters jsonb,
created_by character varying(50),
created_at timestamp with time zone DEFAULT now() NOT NULL,
updated_at timestamp with time zone DEFAULT now() NOT NULL,
CONSTRAINT repair_templates_risk_chk CHECK (((risk_level)::text = ANY ((ARRAY['low'::character varying, 'medium'::character varying, 'high'::character varying])::text[])))
);
ALTER TABLE public.repair_templates OWNER TO postgres;
--
-- Name: TABLE repair_templates; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON TABLE public.repair_templates IS '修复脚本模板表';
--
-- Name: COLUMN repair_templates.id; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.repair_templates.id IS '主键ID';
--
-- Name: COLUMN repair_templates.template_name; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.repair_templates.template_name IS '模板名称';
--
-- Name: COLUMN repair_templates.fault_type; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.repair_templates.fault_type IS '适用故障类型';
--
-- Name: COLUMN repair_templates.script_content; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.repair_templates.script_content IS '脚本内容';
--
-- Name: COLUMN repair_templates.risk_level; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.repair_templates.risk_level IS '风险级别(low/medium/high)';
--
-- Name: COLUMN repair_templates.description; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.repair_templates.description IS '模板描述';
--
-- Name: COLUMN repair_templates.parameters; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.repair_templates.parameters IS '模板参数定义(JSONB)';
--
-- Name: COLUMN repair_templates.created_by; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.repair_templates.created_by IS '创建人';
--
-- Name: COLUMN repair_templates.created_at; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.repair_templates.created_at IS '创建时间';
--
-- Name: COLUMN repair_templates.updated_at; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.repair_templates.updated_at IS '更新时间';
--
-- Name: repair_templates_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
--
ALTER TABLE public.repair_templates ALTER COLUMN id ADD GENERATED ALWAYS AS IDENTITY (
SEQUENCE NAME public.repair_templates_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1
);
--
-- Name: role_permission_mapping; Type: TABLE; Schema: public; Owner: postgres
--
CREATE TABLE public.role_permission_mapping (
role_id bigint NOT NULL,
permission_id bigint NOT NULL
);
ALTER TABLE public.role_permission_mapping OWNER TO postgres;
--
-- Name: TABLE role_permission_mapping; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON TABLE public.role_permission_mapping IS '角色-权限映射表';
--
-- Name: COLUMN role_permission_mapping.role_id; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.role_permission_mapping.role_id IS '角色ID';
--
-- Name: COLUMN role_permission_mapping.permission_id; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.role_permission_mapping.permission_id IS '权限ID';
--
-- Name: roles; Type: TABLE; Schema: public; Owner: postgres
--
CREATE TABLE public.roles (
id bigint NOT NULL,
role_name character varying(50) NOT NULL,
role_key character varying(50) NOT NULL,
description character varying(255),
is_system_role boolean DEFAULT false NOT NULL,
created_at timestamp with time zone DEFAULT now() NOT NULL,
updated_at timestamp with time zone DEFAULT now() NOT NULL
);
ALTER TABLE public.roles OWNER TO postgres;
--
-- Name: TABLE roles; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON TABLE public.roles IS '角色表';
--
-- Name: COLUMN roles.id; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.roles.id IS '主键ID';
--
-- Name: COLUMN roles.role_name; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.roles.role_name IS '角色名称';
--
-- Name: COLUMN roles.role_key; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.roles.role_key IS '角色唯一标识';
--
-- Name: COLUMN roles.description; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.roles.description IS '角色描述';
--
-- Name: COLUMN roles.is_system_role; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.roles.is_system_role IS '是否为系统内置角色';
--
-- Name: COLUMN roles.created_at; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.roles.created_at IS '创建时间';
--
-- Name: COLUMN roles.updated_at; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.roles.updated_at IS '更新时间';
--
-- Name: roles_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
--
ALTER TABLE public.roles ALTER COLUMN id ADD GENERATED ALWAYS AS IDENTITY (
SEQUENCE NAME public.roles_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1
);
--
-- Name: system_logs; Type: TABLE; Schema: public; Owner: postgres
--
CREATE TABLE public.system_logs (
id bigint NOT NULL,
log_id character varying(32) NOT NULL,
fault_id character varying(32),
cluster_id bigint,
"timestamp" timestamp with time zone NOT NULL,
host character varying(100) NOT NULL,
service character varying(50) NOT NULL,
source character varying(50),
log_level character varying(10) NOT NULL,
message text NOT NULL,
exception text,
raw_log text,
processed boolean DEFAULT false NOT NULL,
created_at timestamp with time zone DEFAULT now() NOT NULL,
CONSTRAINT system_logs_level_chk CHECK (((log_level)::text = ANY ((ARRAY['DEBUG'::character varying, 'INFO'::character varying, 'WARN'::character varying, 'ERROR'::character varying, 'FATAL'::character varying])::text[])))
);
ALTER TABLE public.system_logs OWNER TO postgres;
--
-- Name: TABLE system_logs; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON TABLE public.system_logs IS '系统日志表';
--
-- Name: COLUMN system_logs.id; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.system_logs.id IS '主键ID';
--
-- Name: COLUMN system_logs.log_id; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.system_logs.log_id IS '日志唯一标识';
--
-- Name: COLUMN system_logs.fault_id; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.system_logs.fault_id IS '关联故障标识(无外键)';
--
-- Name: COLUMN system_logs.cluster_id; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.system_logs.cluster_id IS '关联集群ID';
--
-- Name: COLUMN system_logs."timestamp"; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.system_logs."timestamp" IS '日志时间戳';
--
-- Name: COLUMN system_logs.host; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.system_logs.host IS '主机名';
--
-- Name: COLUMN system_logs.service; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.system_logs.service IS '服务名';
--
-- Name: COLUMN system_logs.source; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.system_logs.source IS '来源';
--
-- Name: COLUMN system_logs.log_level; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.system_logs.log_level IS '日志级别(DEBUG/INFO/WARN/ERROR/FATAL)';
--
-- Name: COLUMN system_logs.message; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.system_logs.message IS '日志消息';
--
-- Name: COLUMN system_logs.exception; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.system_logs.exception IS '异常堆栈';
--
-- Name: COLUMN system_logs.raw_log; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.system_logs.raw_log IS '原始日志内容';
--
-- Name: COLUMN system_logs.processed; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.system_logs.processed IS '是否已处理';
--
-- Name: COLUMN system_logs.created_at; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.system_logs.created_at IS '创建时间';
--
-- Name: system_logs_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
--
ALTER TABLE public.system_logs ALTER COLUMN id ADD GENERATED ALWAYS AS IDENTITY (
SEQUENCE NAME public.system_logs_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1
);
--
-- Name: user_cluster_mapping; Type: TABLE; Schema: public; Owner: postgres
--
CREATE TABLE public.user_cluster_mapping (
id bigint NOT NULL,
user_id bigint NOT NULL,
cluster_id bigint NOT NULL,
role_id bigint NOT NULL,
created_at timestamp with time zone DEFAULT now() NOT NULL
);
ALTER TABLE public.user_cluster_mapping OWNER TO postgres;
--
-- Name: TABLE user_cluster_mapping; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON TABLE public.user_cluster_mapping IS '用户与集群映射表';
--
-- Name: COLUMN user_cluster_mapping.id; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.user_cluster_mapping.id IS '主键ID';
--
-- Name: COLUMN user_cluster_mapping.user_id; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.user_cluster_mapping.user_id IS '用户ID';
--
-- Name: COLUMN user_cluster_mapping.cluster_id; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.user_cluster_mapping.cluster_id IS '集群ID';
--
-- Name: COLUMN user_cluster_mapping.role_id; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.user_cluster_mapping.role_id IS '角色ID';
--
-- Name: COLUMN user_cluster_mapping.created_at; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.user_cluster_mapping.created_at IS '创建时间';
--
-- Name: user_cluster_mapping_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
--
ALTER TABLE public.user_cluster_mapping ALTER COLUMN id ADD GENERATED ALWAYS AS IDENTITY (
SEQUENCE NAME public.user_cluster_mapping_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1
);
--
-- Name: user_role_mapping; Type: TABLE; Schema: public; Owner: postgres
--
CREATE TABLE public.user_role_mapping (
user_id bigint NOT NULL,
role_id bigint NOT NULL
);
ALTER TABLE public.user_role_mapping OWNER TO postgres;
--
-- Name: TABLE user_role_mapping; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON TABLE public.user_role_mapping IS '用户-角色映射表';
--
-- Name: COLUMN user_role_mapping.user_id; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.user_role_mapping.user_id IS '用户ID';
--
-- Name: COLUMN user_role_mapping.role_id; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.user_role_mapping.role_id IS '角色ID';
--
-- Name: users; Type: TABLE; Schema: public; Owner: postgres
--
CREATE TABLE public.users (
id bigint NOT NULL,
username character varying(50) NOT NULL,
email character varying(100) NOT NULL,
password_hash character varying(255) NOT NULL,
full_name character varying(100) NOT NULL,
is_active boolean DEFAULT true NOT NULL,
last_login timestamp with time zone,
created_at timestamp with time zone DEFAULT now() NOT NULL,
updated_at timestamp with time zone DEFAULT now() NOT NULL
);
ALTER TABLE public.users OWNER TO postgres;
--
-- Name: TABLE users; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON TABLE public.users IS '用户表';
--
-- Name: COLUMN users.id; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.users.id IS '主键ID';
--
-- Name: COLUMN users.username; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.users.username IS '用户名';
--
-- Name: COLUMN users.email; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.users.email IS '邮箱';
--
-- Name: COLUMN users.password_hash; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.users.password_hash IS '密码哈希';
--
-- Name: COLUMN users.full_name; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.users.full_name IS '姓名';
--
-- Name: COLUMN users.is_active; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.users.is_active IS '是否激活';
--
-- Name: COLUMN users.last_login; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.users.last_login IS '最后登录时间';
--
-- Name: COLUMN users.created_at; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.users.created_at IS '创建时间';
--
-- Name: COLUMN users.updated_at; Type: COMMENT; Schema: public; Owner: postgres
--
COMMENT ON COLUMN public.users.updated_at IS '更新时间';
--
-- Name: users_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
--
ALTER TABLE public.users ALTER COLUMN id ADD GENERATED ALWAYS AS IDENTITY (
SEQUENCE NAME public.users_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1
);
--
-- Data for Name: app_configurations; Type: TABLE DATA; Schema: public; Owner: postgres
--
COPY public.app_configurations (id, config_type, config_key, config_value, description, is_enabled, created_at, updated_at) FROM stdin;
1 system system.name {"value": "故障检测系统"} t 2025-12-12 02:42:15.555003+00 2025-12-12 02:42:15.555003+00
2 system log.retention.days {"value": 90} t 2025-12-12 02:42:15.555003+00 2025-12-12 02:42:15.555003+00
3 system repair.auto.enabled {"value": false} t 2025-12-12 02:42:15.555003+00 2025-12-12 02:42:15.555003+00
4 llm api.timeout {"value": 30} LLM API() t 2025-12-12 02:42:15.555003+00 2025-12-12 02:42:15.555003+00
5 alert_rule CPU使 {"metric": "cpu_usage", "severity": "high", "condition": ">", "threshold": 85} CPU使85% t 2025-12-12 02:42:15.555835+00 2025-12-12 02:42:15.555835+00
6 alert_rule 使 {"metric": "memory_usage", "severity": "high", "condition": ">", "threshold": 90} 使90% t 2025-12-12 02:42:15.555835+00 2025-12-12 02:42:15.555835+00
7 alert_rule 线 {"value": "offline", "metric": "node_status", "severity": "critical", "condition": "="} 线 t 2025-12-12 02:42:15.555835+00 2025-12-12 02:42:15.555835+00
8 notification {"type": "email", "triggers": ["high", "critical"], "recipients": ["admin@example.com"]} t 2025-12-12 02:42:15.556355+00 2025-12-12 02:42:15.556355+00
\.
--
-- Data for Name: audit_logs; Type: TABLE DATA; Schema: public; Owner: postgres
--
COPY public.audit_logs (id, user_id, cluster_id, role_id, username, action, resource_type, resource_id, ip_address, request_data, response_status, created_at) FROM stdin;
\.
--
-- Data for Name: clusters; Type: TABLE DATA; Schema: public; Owner: postgres
--
COPY public.clusters (id, uuid, name, type, node_count, health_status, description, config_info, created_at, updated_at) FROM stdin;
1 a1b2c3d4-e5f6-7890-1234-567890abcdef Hadoop Hadoop 0 unknown Hadoop {"namenode_uri": "hdfs://nn1.hadoop.prod:8020"} 2025-12-12 02:42:15.548794+00 2025-12-12 02:42:15.548794+00
2 b2c3d4e5-f6a7-8901-2345-67890abcdef1 Hadoop Hadoop 0 unknown Hadoop {"namenode_uri": "hdfs://nn.hadoop.test:8020"} 2025-12-12 02:42:15.548794+00 2025-12-12 02:42:15.548794+00
\.
--
-- Data for Name: exec_logs; Type: TABLE DATA; Schema: public; Owner: postgres
--
COPY public.exec_logs (id, exec_id, fault_id, command_type, script_path, command_content, target_nodes, risk_level, execution_status, start_time, end_time, duration, stdout_log, stderr_log, exit_code, operator, created_at, updated_at) FROM stdin;
\.
--
-- Data for Name: nodes; Type: TABLE DATA; Schema: public; Owner: postgres
--
COPY public.nodes (id, uuid, cluster_id, hostname, ip_address, status, cpu_usage, memory_usage, disk_usage, last_heartbeat, created_at, updated_at) FROM stdin;
\.
--
-- Data for Name: permissions; Type: TABLE DATA; Schema: public; Owner: postgres
--
COPY public.permissions (id, permission_name, permission_key, description, created_at) FROM stdin;
19 user:manage 2025-12-14 07:35:24.029806+00
20 role:assign 2025-12-14 07:35:24.072852+00
21 policy:manage 2025-12-14 07:35:24.126385+00
22 audit:manage 2025-12-14 07:35:24.167929+00
23 cluster:list:read 2025-12-14 07:35:24.209617+00
24 cluster:list:manage // 2025-12-14 07:35:24.265104+00
25 log:query 2025-12-14 07:35:24.307086+00
26 log:manage 2025-12-14 07:35:24.357143+00
27 fault:diagnose 2025-12-14 07:35:24.399563+00
28 exec_log:read 2025-12-14 07:35:24.454338+00
29 exec_log:manage 2025-12-14 07:35:24.496722+00
30 system:config 2025-12-14 07:35:24.554589+00
\.
--
-- Data for Name: repair_templates; Type: TABLE DATA; Schema: public; Owner: postgres
--
COPY public.repair_templates (id, template_name, fault_type, script_content, risk_level, description, parameters, created_by, created_at, updated_at) FROM stdin;
\.
--
-- Data for Name: role_permission_mapping; Type: TABLE DATA; Schema: public; Owner: postgres
--
COPY public.role_permission_mapping (role_id, permission_id) FROM stdin;
7 19
7 20
7 21
7 22
7 23
7 24
7 25
7 26
7 27
7 28
7 29
7 30
8 23
8 24
8 25
8 26
8 27
8 28
8 29
10 23
10 25
10 26
10 28
\.
--
-- Data for Name: roles; Type: TABLE DATA; Schema: public; Owner: postgres
--
COPY public.roles (id, role_name, role_key, description, is_system_role, created_at, updated_at) FROM stdin;
7 admin t 2025-12-14 07:33:23.611365+00 2025-12-14 07:33:23.611365+00
8 operator t 2025-12-14 07:33:23.653257+00 2025-12-14 07:33:23.653257+00
10 observer t 2025-12-14 07:34:28.548724+00 2025-12-14 07:34:28.548724+00
\.
--
-- Data for Name: system_logs; Type: TABLE DATA; Schema: public; Owner: postgres
--
COPY public.system_logs (id, log_id, fault_id, cluster_id, "timestamp", host, service, source, log_level, message, exception, raw_log, processed, created_at) FROM stdin;
\.
--
-- Data for Name: user_cluster_mapping; Type: TABLE DATA; Schema: public; Owner: postgres
--
COPY public.user_cluster_mapping (id, user_id, cluster_id, role_id, created_at) FROM stdin;
\.
--
-- Data for Name: user_role_mapping; Type: TABLE DATA; Schema: public; Owner: postgres
--
COPY public.user_role_mapping (user_id, role_id) FROM stdin;
4 7
3 7
\.
--
-- Data for Name: users; Type: TABLE DATA; Schema: public; Owner: postgres
--
COPY public.users (id, username, email, password_hash, full_name, is_active, last_login, created_at, updated_at) FROM stdin;
4 bdmin bdmin@qq.com $2b$12$.jKVn3UqH/w0Ajdi01aqY.K70z8QEtLlgL45u883hKp2sWREYG4Om bdmin t 2025-12-12 07:47:22.734564+00 2025-12-12 07:15:29.72108+00 2025-12-12 07:47:22.734564+00
3 admin admin@qq.com $2b$12$F85LDEh5BP3G9VY9q/ALh.YpRNn.ob5fZM3fcfu.8G/B/WNgeBZPS admin t 2025-12-12 07:47:31.178442+00 2025-12-12 06:58:05.785083+00 2025-12-12 07:47:31.178442+00
\.
--
-- Name: app_configurations_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres
--
SELECT pg_catalog.setval('public.app_configurations_id_seq', 9, true);
--
-- Name: audit_logs_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres
--
SELECT pg_catalog.setval('public.audit_logs_id_seq', 1, false);
--
-- Name: clusters_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres
--
SELECT pg_catalog.setval('public.clusters_id_seq', 2, true);
--
-- Name: exec_logs_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres
--
SELECT pg_catalog.setval('public.exec_logs_id_seq', 1, false);
--
-- Name: nodes_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres
--
SELECT pg_catalog.setval('public.nodes_id_seq', 1, false);
--
-- Name: permissions_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres
--
SELECT pg_catalog.setval('public.permissions_id_seq', 30, true);
--
-- Name: repair_templates_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres
--
SELECT pg_catalog.setval('public.repair_templates_id_seq', 1, false);
--
-- Name: roles_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres
--
SELECT pg_catalog.setval('public.roles_id_seq', 10, true);
--
-- Name: system_logs_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres
--
SELECT pg_catalog.setval('public.system_logs_id_seq', 1, false);
--
-- Name: user_cluster_mapping_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres
--
SELECT pg_catalog.setval('public.user_cluster_mapping_id_seq', 2, true);
--
-- Name: users_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres
--
SELECT pg_catalog.setval('public.users_id_seq', 4, true);
--
-- Name: app_configurations app_configurations_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.app_configurations
ADD CONSTRAINT app_configurations_pkey PRIMARY KEY (id);
--
-- Name: audit_logs audit_logs_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.audit_logs
ADD CONSTRAINT audit_logs_pkey PRIMARY KEY (id);
--
-- Name: clusters clusters_name_key; Type: CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.clusters
ADD CONSTRAINT clusters_name_key UNIQUE (name);
--
-- Name: clusters clusters_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.clusters
ADD CONSTRAINT clusters_pkey PRIMARY KEY (id);
--
-- Name: clusters clusters_uuid_key; Type: CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.clusters
ADD CONSTRAINT clusters_uuid_key UNIQUE (uuid);
--
-- Name: exec_logs exec_logs_exec_id_key; Type: CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.exec_logs
ADD CONSTRAINT exec_logs_exec_id_key UNIQUE (exec_id);
--
-- Name: exec_logs exec_logs_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.exec_logs
ADD CONSTRAINT exec_logs_pkey PRIMARY KEY (id);
--
-- Name: nodes nodes_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.nodes
ADD CONSTRAINT nodes_pkey PRIMARY KEY (id);
--
-- Name: nodes nodes_uuid_key; Type: CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.nodes
ADD CONSTRAINT nodes_uuid_key UNIQUE (uuid);
--
-- Name: permissions permissions_permission_key_key; Type: CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.permissions
ADD CONSTRAINT permissions_permission_key_key UNIQUE (permission_key);
--
-- Name: permissions permissions_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.permissions
ADD CONSTRAINT permissions_pkey PRIMARY KEY (id);
--
-- Name: repair_templates repair_templates_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.repair_templates
ADD CONSTRAINT repair_templates_pkey PRIMARY KEY (id);
--
-- Name: repair_templates repair_templates_template_name_key; Type: CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.repair_templates
ADD CONSTRAINT repair_templates_template_name_key UNIQUE (template_name);
--
-- Name: role_permission_mapping role_permission_mapping_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.role_permission_mapping
ADD CONSTRAINT role_permission_mapping_pkey PRIMARY KEY (role_id, permission_id);
--
-- Name: roles roles_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.roles
ADD CONSTRAINT roles_pkey PRIMARY KEY (id);
--
-- Name: roles roles_role_key_key; Type: CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.roles
ADD CONSTRAINT roles_role_key_key UNIQUE (role_key);
--
-- Name: system_logs system_logs_log_id_key; Type: CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.system_logs
ADD CONSTRAINT system_logs_log_id_key UNIQUE (log_id);
--
-- Name: system_logs system_logs_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.system_logs
ADD CONSTRAINT system_logs_pkey PRIMARY KEY (id);
--
-- Name: app_configurations uk_app_config; Type: CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.app_configurations
ADD CONSTRAINT uk_app_config UNIQUE (config_type, config_key);
--
-- Name: user_cluster_mapping uk_user_cluster; Type: CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.user_cluster_mapping
ADD CONSTRAINT uk_user_cluster UNIQUE (user_id, cluster_id);
--
-- Name: user_cluster_mapping user_cluster_mapping_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.user_cluster_mapping
ADD CONSTRAINT user_cluster_mapping_pkey PRIMARY KEY (id);
--
-- Name: user_role_mapping user_role_mapping_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.user_role_mapping
ADD CONSTRAINT user_role_mapping_pkey PRIMARY KEY (user_id, role_id);
--
-- Name: users users_email_key; Type: CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.users
ADD CONSTRAINT users_email_key UNIQUE (email);
--
-- Name: users users_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.users
ADD CONSTRAINT users_pkey PRIMARY KEY (id);
--
-- Name: users users_username_key; Type: CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.users
ADD CONSTRAINT users_username_key UNIQUE (username);
--
-- Name: idx_app_config_enabled; Type: INDEX; Schema: public; Owner: postgres
--
CREATE INDEX idx_app_config_enabled ON public.app_configurations USING btree (is_enabled);
--
-- Name: idx_audit_logs_action; Type: INDEX; Schema: public; Owner: postgres
--
CREATE INDEX idx_audit_logs_action ON public.audit_logs USING btree (action);
--
-- Name: idx_audit_logs_cluster_id; Type: INDEX; Schema: public; Owner: postgres
--
CREATE INDEX idx_audit_logs_cluster_id ON public.audit_logs USING btree (cluster_id);
--
-- Name: idx_audit_logs_created_at; Type: INDEX; Schema: public; Owner: postgres
--
CREATE INDEX idx_audit_logs_created_at ON public.audit_logs USING btree (created_at);
--
-- Name: idx_audit_logs_role_id; Type: INDEX; Schema: public; Owner: postgres
--
CREATE INDEX idx_audit_logs_role_id ON public.audit_logs USING btree (role_id);
--
-- Name: idx_audit_logs_user_id; Type: INDEX; Schema: public; Owner: postgres
--
CREATE INDEX idx_audit_logs_user_id ON public.audit_logs USING btree (user_id);
--
-- Name: idx_exec_logs_end_time; Type: INDEX; Schema: public; Owner: postgres
--
CREATE INDEX idx_exec_logs_end_time ON public.exec_logs USING btree (end_time);
--
-- Name: idx_exec_logs_fault_id; Type: INDEX; Schema: public; Owner: postgres
--
CREATE INDEX idx_exec_logs_fault_id ON public.exec_logs USING btree (fault_id);
--
-- Name: idx_exec_logs_start_time; Type: INDEX; Schema: public; Owner: postgres
--
CREATE INDEX idx_exec_logs_start_time ON public.exec_logs USING btree (start_time);
--
-- Name: idx_exec_logs_status; Type: INDEX; Schema: public; Owner: postgres
--
CREATE INDEX idx_exec_logs_status ON public.exec_logs USING btree (execution_status);
--
-- Name: idx_nodes_cluster_id; Type: INDEX; Schema: public; Owner: postgres
--
CREATE INDEX idx_nodes_cluster_id ON public.nodes USING btree (cluster_id);
--
-- Name: idx_nodes_ip_address; Type: INDEX; Schema: public; Owner: postgres
--
CREATE INDEX idx_nodes_ip_address ON public.nodes USING btree (ip_address);
--
-- Name: idx_nodes_last_heartbeat; Type: INDEX; Schema: public; Owner: postgres
--
CREATE INDEX idx_nodes_last_heartbeat ON public.nodes USING btree (last_heartbeat);
--
-- Name: idx_nodes_status; Type: INDEX; Schema: public; Owner: postgres
--
CREATE INDEX idx_nodes_status ON public.nodes USING btree (status);
--
-- Name: idx_repair_templates_fault_type; Type: INDEX; Schema: public; Owner: postgres
--
CREATE INDEX idx_repair_templates_fault_type ON public.repair_templates USING btree (fault_type);
--
-- Name: idx_system_logs_cluster_id; Type: INDEX; Schema: public; Owner: postgres
--
CREATE INDEX idx_system_logs_cluster_id ON public.system_logs USING btree (cluster_id);
--
-- Name: idx_system_logs_fault_id; Type: INDEX; Schema: public; Owner: postgres
--
CREATE INDEX idx_system_logs_fault_id ON public.system_logs USING btree (fault_id);
--
-- Name: idx_system_logs_level; Type: INDEX; Schema: public; Owner: postgres
--
CREATE INDEX idx_system_logs_level ON public.system_logs USING btree (log_level);
--
-- Name: idx_system_logs_processed; Type: INDEX; Schema: public; Owner: postgres
--
CREATE INDEX idx_system_logs_processed ON public.system_logs USING btree (processed);
--
-- Name: idx_system_logs_timestamp; Type: INDEX; Schema: public; Owner: postgres
--
CREATE INDEX idx_system_logs_timestamp ON public.system_logs USING btree ("timestamp");
--
-- Name: uk_cluster_hostname; Type: INDEX; Schema: public; Owner: postgres
--
CREATE UNIQUE INDEX uk_cluster_hostname ON public.nodes USING btree (cluster_id, hostname);
--
-- Name: audit_logs audit_logs_cluster_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.audit_logs
ADD CONSTRAINT audit_logs_cluster_id_fkey FOREIGN KEY (cluster_id) REFERENCES public.clusters(id) ON UPDATE CASCADE ON DELETE SET NULL;
--
-- Name: audit_logs audit_logs_role_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.audit_logs
ADD CONSTRAINT audit_logs_role_id_fkey FOREIGN KEY (role_id) REFERENCES public.roles(id) ON UPDATE CASCADE ON DELETE SET NULL;
--
-- Name: audit_logs audit_logs_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.audit_logs
ADD CONSTRAINT audit_logs_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id) ON UPDATE CASCADE ON DELETE SET NULL;
--
-- Name: nodes nodes_cluster_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.nodes
ADD CONSTRAINT nodes_cluster_id_fkey FOREIGN KEY (cluster_id) REFERENCES public.clusters(id) ON UPDATE CASCADE ON DELETE CASCADE;
--
-- Name: role_permission_mapping role_permission_mapping_permission_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.role_permission_mapping
ADD CONSTRAINT role_permission_mapping_permission_id_fkey FOREIGN KEY (permission_id) REFERENCES public.permissions(id) ON UPDATE CASCADE ON DELETE CASCADE;
--
-- Name: role_permission_mapping role_permission_mapping_role_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.role_permission_mapping
ADD CONSTRAINT role_permission_mapping_role_id_fkey FOREIGN KEY (role_id) REFERENCES public.roles(id) ON UPDATE CASCADE ON DELETE CASCADE;
--
-- Name: system_logs system_logs_cluster_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.system_logs
ADD CONSTRAINT system_logs_cluster_id_fkey FOREIGN KEY (cluster_id) REFERENCES public.clusters(id) ON UPDATE CASCADE ON DELETE SET NULL;
--
-- Name: user_cluster_mapping user_cluster_mapping_cluster_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.user_cluster_mapping
ADD CONSTRAINT user_cluster_mapping_cluster_id_fkey FOREIGN KEY (cluster_id) REFERENCES public.clusters(id) ON UPDATE CASCADE ON DELETE CASCADE;
--
-- Name: user_cluster_mapping user_cluster_mapping_role_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.user_cluster_mapping
ADD CONSTRAINT user_cluster_mapping_role_id_fkey FOREIGN KEY (role_id) REFERENCES public.roles(id) ON UPDATE CASCADE ON DELETE CASCADE;
--
-- Name: user_cluster_mapping user_cluster_mapping_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.user_cluster_mapping
ADD CONSTRAINT user_cluster_mapping_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id) ON UPDATE CASCADE ON DELETE CASCADE;
--
-- Name: user_role_mapping user_role_mapping_role_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.user_role_mapping
ADD CONSTRAINT user_role_mapping_role_id_fkey FOREIGN KEY (role_id) REFERENCES public.roles(id) ON UPDATE CASCADE ON DELETE CASCADE;
--
-- Name: user_role_mapping user_role_mapping_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.user_role_mapping
ADD CONSTRAINT user_role_mapping_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id) ON UPDATE CASCADE ON DELETE CASCADE;
--
-- Name: SCHEMA public; Type: ACL; Schema: -; Owner: pg_database_owner
--
GRANT USAGE ON SCHEMA public TO echo;
--
-- Name: TABLE app_configurations; Type: ACL; Schema: public; Owner: postgres
--
GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE public.app_configurations TO echo;
--
-- Name: SEQUENCE app_configurations_id_seq; Type: ACL; Schema: public; Owner: postgres
--
GRANT ALL ON SEQUENCE public.app_configurations_id_seq TO echo;
--
-- Name: TABLE audit_logs; Type: ACL; Schema: public; Owner: postgres
--
GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE public.audit_logs TO echo;
--
-- Name: SEQUENCE audit_logs_id_seq; Type: ACL; Schema: public; Owner: postgres
--
GRANT ALL ON SEQUENCE public.audit_logs_id_seq TO echo;
--
-- Name: TABLE clusters; Type: ACL; Schema: public; Owner: postgres
--
GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE public.clusters TO echo;
--
-- Name: SEQUENCE clusters_id_seq; Type: ACL; Schema: public; Owner: postgres
--
GRANT ALL ON SEQUENCE public.clusters_id_seq TO echo;
--
-- Name: TABLE exec_logs; Type: ACL; Schema: public; Owner: postgres
--
GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE public.exec_logs TO echo;
--
-- Name: SEQUENCE exec_logs_id_seq; Type: ACL; Schema: public; Owner: postgres
--
GRANT ALL ON SEQUENCE public.exec_logs_id_seq TO echo;
--
-- Name: TABLE nodes; Type: ACL; Schema: public; Owner: postgres
--
GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE public.nodes TO echo;
--
-- Name: SEQUENCE nodes_id_seq; Type: ACL; Schema: public; Owner: postgres
--
GRANT ALL ON SEQUENCE public.nodes_id_seq TO echo;
--
-- Name: TABLE permissions; Type: ACL; Schema: public; Owner: postgres
--
GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE public.permissions TO echo;
--
-- Name: SEQUENCE permissions_id_seq; Type: ACL; Schema: public; Owner: postgres
--
GRANT ALL ON SEQUENCE public.permissions_id_seq TO echo;
--
-- Name: TABLE repair_templates; Type: ACL; Schema: public; Owner: postgres
--
GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE public.repair_templates TO echo;
--
-- Name: SEQUENCE repair_templates_id_seq; Type: ACL; Schema: public; Owner: postgres
--
GRANT ALL ON SEQUENCE public.repair_templates_id_seq TO echo;
--
-- Name: TABLE role_permission_mapping; Type: ACL; Schema: public; Owner: postgres
--
GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE public.role_permission_mapping TO echo;
--
-- Name: TABLE roles; Type: ACL; Schema: public; Owner: postgres
--
GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE public.roles TO echo;
--
-- Name: SEQUENCE roles_id_seq; Type: ACL; Schema: public; Owner: postgres
--
GRANT ALL ON SEQUENCE public.roles_id_seq TO echo;
--
-- Name: TABLE system_logs; Type: ACL; Schema: public; Owner: postgres
--
GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE public.system_logs TO echo;
--
-- Name: SEQUENCE system_logs_id_seq; Type: ACL; Schema: public; Owner: postgres
--
GRANT ALL ON SEQUENCE public.system_logs_id_seq TO echo;
--
-- Name: TABLE user_cluster_mapping; Type: ACL; Schema: public; Owner: postgres
--
GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE public.user_cluster_mapping TO echo;
--
-- Name: SEQUENCE user_cluster_mapping_id_seq; Type: ACL; Schema: public; Owner: postgres
--
GRANT ALL ON SEQUENCE public.user_cluster_mapping_id_seq TO echo;
--
-- Name: TABLE user_role_mapping; Type: ACL; Schema: public; Owner: postgres
--
GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE public.user_role_mapping TO echo;
--
-- Name: TABLE users; Type: ACL; Schema: public; Owner: postgres
--
GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE public.users TO echo;
--
-- Name: SEQUENCE users_id_seq; Type: ACL; Schema: public; Owner: postgres
--
GRANT ALL ON SEQUENCE public.users_id_seq TO echo;
--
-- Name: DEFAULT PRIVILEGES FOR SEQUENCES; Type: DEFAULT ACL; Schema: public; Owner: postgres
--
ALTER DEFAULT PRIVILEGES FOR ROLE postgres IN SCHEMA public GRANT ALL ON SEQUENCES TO echo;
--
-- Name: DEFAULT PRIVILEGES FOR TABLES; Type: DEFAULT ACL; Schema: public; Owner: postgres
--
ALTER DEFAULT PRIVILEGES FOR ROLE postgres IN SCHEMA public GRANT SELECT,INSERT,DELETE,UPDATE ON TABLES TO echo;
--
-- PostgreSQL database dump complete
--
\unrestrict x3vbKb2vAIlctC0uebdrXag55BFVsJBRQxqhKA1MdoFQjC3OJ9m4YZLeFNLKBRA