Files
taiji-AI-PAD/scripts/init.sql
T
xiaohei a0ba54b039 feat: 完成核心服务开发和阿里云源配置
- 修复MCP Server数据库连接和导入问题
- 创建Data Ingestion服务核心模块
- 配置阿里云镜像源提升构建速度
- 添加项目状态报告和文档
- 完善微服务架构基础设施
2025-12-20 16:45:05 +00:00

108 lines
3.1 KiB
PL/PgSQL

-- taiji-AI-PAD 数据库初始化脚本
-- 创建扩展
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
CREATE EXTENSION IF NOT EXISTS "pg_trgm";
-- 创建数据库(如果不存在)
-- 注意:在Docker初始化脚本中,数据库已经存在
-- 设置时区
SET timezone = 'UTC';
-- 创建一些基础索引(如果表已存在的话,模型会自动创建)
-- 这里可以添加一些额外的性能优化索引
-- 创建全文搜索配置
CREATE TEXT SEARCH CONFIGURATION IF NOT EXISTS simple_english (COPY = english);
-- 创建一些有用的函数
CREATE OR REPLACE FUNCTION update_updated_at_column()
RETURNS TRIGGER AS $$
BEGIN
NEW.updated_at = NOW();
RETURN NEW;
END;
$$ language 'plpgsql';
-- 日志表(用于审计和调试)
CREATE TABLE IF NOT EXISTS system_logs (
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
level VARCHAR(20) NOT NULL,
service VARCHAR(50) NOT NULL,
message TEXT NOT NULL,
context JSONB,
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);
CREATE INDEX IF NOT EXISTS idx_system_logs_service ON system_logs(service);
CREATE INDEX IF NOT EXISTS idx_system_logs_level ON system_logs(level);
CREATE INDEX IF NOT EXISTS idx_system_logs_created ON system_logs(created_at);
-- 配置表
CREATE TABLE IF NOT EXISTS system_config (
key VARCHAR(100) PRIMARY KEY,
value JSONB NOT NULL,
description TEXT,
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);
-- 创建触发器
CREATE TRIGGER update_system_config_updated_at
BEFORE UPDATE ON system_config
FOR EACH ROW EXECUTE FUNCTION update_updated_at_column();
-- 插入初始配置
INSERT INTO system_config (key, value, description) VALUES
('app_version', '"1.0.0"', 'Application version'),
('maintenance_mode', 'false', 'Maintenance mode flag'),
('max_api_calls_per_minute', '1000', 'Maximum API calls per minute'),
('default_timeout', '30', 'Default timeout in seconds')
ON CONFLICT (key) DO NOTHING;
-- 性能优化设置
-- 注意:这些设置可能需要根据实际硬件调整
ALTER SYSTEM SET shared_preload_libraries = 'pg_stat_statements';
ALTER SYSTEM SET max_connections = 200;
ALTER SYSTEM SET shared_buffers = '256MB';
ALTER SYSTEM SET effective_cache_size = '1GB';
ALTER SYSTEM SET maintenance_work_mem = '64MB';
ALTER SYSTEM SET checkpoint_completion_target = 0.9;
ALTER SYSTEM SET wal_buffers = '16MB';
ALTER SYSTEM SET default_statistics_target = 100;
ALTER SYSTEM SET random_page_cost = 1.1;
ALTER SYSTEM SET effective_io_concurrency = 200;
ALTER SYSTEM SET work_mem = '4MB';
ALTER SYSTEM SET min_wal_size = '1GB';
ALTER SYSTEM SET max_wal_size = '4GB';
-- 创建监控视图
CREATE OR REPLACE VIEW system_stats AS
SELECT
schemaname,
tablename,
attname,
n_distinct,
correlation
FROM pg_stats
WHERE schemaname = 'public';
-- 创建连接监控视图
CREATE OR REPLACE VIEW connection_stats AS
SELECT
datname,
numbackends,
xact_commit,
xact_rollback,
blks_read,
blks_hit,
tup_returned,
tup_fetched,
tup_inserted,
tup_updated,
tup_deleted
FROM pg_stat_database
WHERE datname = current_database();