-- 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');