feat(project): init

This commit is contained in:
2026-01-21 14:03:53 +08:00
commit 739234a896
10 changed files with 415 additions and 0 deletions

26
init.sql Normal file
View File

@@ -0,0 +1,26 @@
-- 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');