| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- -- 054_ops_system_logs.sql
- -- 统一日志索引表与清理审计表
- CREATE TABLE IF NOT EXISTS ops_system_logs (
- id BIGSERIAL PRIMARY KEY,
- created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
- level VARCHAR(16) NOT NULL,
- component VARCHAR(128) NOT NULL DEFAULT '',
- message TEXT NOT NULL,
- request_id VARCHAR(128),
- client_request_id VARCHAR(128),
- user_id BIGINT,
- account_id BIGINT,
- platform VARCHAR(32),
- model VARCHAR(128),
- extra JSONB NOT NULL DEFAULT '{}'::jsonb
- );
- CREATE INDEX IF NOT EXISTS idx_ops_system_logs_created_at_id
- ON ops_system_logs (created_at DESC, id DESC);
- CREATE INDEX IF NOT EXISTS idx_ops_system_logs_level_created_at
- ON ops_system_logs (level, created_at DESC);
- CREATE INDEX IF NOT EXISTS idx_ops_system_logs_component_created_at
- ON ops_system_logs (component, created_at DESC);
- CREATE INDEX IF NOT EXISTS idx_ops_system_logs_request_id
- ON ops_system_logs (request_id);
- CREATE INDEX IF NOT EXISTS idx_ops_system_logs_client_request_id
- ON ops_system_logs (client_request_id);
- CREATE INDEX IF NOT EXISTS idx_ops_system_logs_user_id_created_at
- ON ops_system_logs (user_id, created_at DESC);
- CREATE INDEX IF NOT EXISTS idx_ops_system_logs_account_id_created_at
- ON ops_system_logs (account_id, created_at DESC);
- CREATE INDEX IF NOT EXISTS idx_ops_system_logs_platform_model_created_at
- ON ops_system_logs (platform, model, created_at DESC);
- CREATE INDEX IF NOT EXISTS idx_ops_system_logs_message_search
- ON ops_system_logs USING GIN (to_tsvector('simple', COALESCE(message, '')));
- CREATE TABLE IF NOT EXISTS ops_system_log_cleanup_audits (
- id BIGSERIAL PRIMARY KEY,
- created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
- operator_id BIGINT NOT NULL,
- conditions JSONB NOT NULL DEFAULT '{}'::jsonb,
- deleted_rows BIGINT NOT NULL DEFAULT 0
- );
- CREATE INDEX IF NOT EXISTS idx_ops_system_log_cleanup_audits_created_at
- ON ops_system_log_cleanup_audits (created_at DESC, id DESC);
|