Files
rust_logger/init.sql
2026-01-21 14:03:53 +08:00

26 lines
1.1 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- 1. 创建 rust_logger 专用用户
CREATE USER rust_logger_user WITH PASSWORD 'rust_logger_password';
-- 2. 创建 rust_logger 专用数据库
CREATE DATABASE rust_logger_db OWNER rust_logger_user;
-- 3. 赋予权限(确保它能在 rust_logger_db 库里创建 Schema
GRANT ALL PRIVILEGES ON DATABASE rust_logger_db TO rust_logger_user;
CREATE TABLE app_logs (
id BIGSERIAL, -- 注意:后面会讲分区,分区表通常不直接用主键
service_name VARCHAR(50) NOT NULL, -- 新增:用于区分是哪个服务
log_level VARCHAR(10) NOT NULL,
message TEXT NOT NULL,
module VARCHAR(100),
created_at TIMESTAMPTZ NOT NULL
) PARTITION BY RANGE (created_at); -- 核心优化:按时间分区
-- 建立索引(包含 service_name
CREATE INDEX idx_logs_service_time ON app_logs(service_name, created_at);
-- create_next_month.sql
-- 这里的日期逻辑需要通过外部脚本Python/Shell动态生成 SQL 语句
CREATE TABLE IF NOT EXISTS app_logs_2026_01 PARTITION OF app_logs
FOR VALUES FROM ('2026-01-01') TO ('2026-02-01');