Files
st/deploy/postgres/init.sql

83 lines
2.9 KiB
Go
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.

-- ====================================================
-- 云酒馆数据库初始化脚本
-- ====================================================
-- 设置客户端编码
SET client_encoding = 'UTF8';
-- 创建必要的扩展
-- ====================================================
-- 1. pgvector - 向量相似度搜索扩展用于 AI 记忆功能
CREATE EXTENSION IF NOT EXISTS vector;
-- 2. uuid-ossp - UUID 生成扩展用于生成唯一标识符
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
-- 3. pg_trgm - 三元组模糊匹配扩展用于全文搜索
CREATE EXTENSION IF NOT EXISTS pg_trgm;
-- 4. btree_gin - GIN 索引扩展用于加速 JSONB 查询
CREATE EXTENSION IF NOT EXISTS btree_gin;
-- 验证扩展是否安装成功
-- ====================================================
DO $$
BEGIN
RAISE NOTICE '===========================================';
RAISE NOTICE '云酒馆数据库初始化完成';
RAISE NOTICE '===========================================';
RAISE NOTICE '已安装的扩展:';
RAISE NOTICE ' vector - 向量相似度搜索';
RAISE NOTICE ' uuid-ossp - UUID 生成';
RAISE NOTICE ' pg_trgm - 模糊搜索';
RAISE NOTICE ' btree_gin - GIN 索引优化';
RAISE NOTICE '===========================================';
RAISE NOTICE '数据库信息:';
RAISE NOTICE ' 数据库名: st_dev';
RAISE NOTICE ' 用户名: st_user';
RAISE NOTICE ' 字符集: UTF8';
RAISE NOTICE '===========================================';
END $$;
-- 创建用户并授予权限
-- ====================================================
-- 如果需要额外的只读用户可以取消以下注释
-- CREATE USER st_readonly WITH PASSWORD 'readonly_password';
-- GRANT CONNECT ON DATABASE st_dev TO st_readonly;
-- GRANT USAGE ON SCHEMA public TO st_readonly;
-- GRANT SELECT ON ALL TABLES IN SCHEMA public TO st_readonly;
-- ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO st_readonly;
-- 性能优化设置
-- ====================================================
-- 启用 JIT 编译PostgreSQL 11+
SET jit = on;
-- 设置默认的统计信息采样
ALTER DATABASE st_dev SET default_statistics_target = 100;
-- 优化大数据量查询
ALTER DATABASE st_dev SET work_mem = '16MB';
-- 提示信息
-- ====================================================
\echo ''
\echo '=========================================='
\echo '数据库初始化完成'
\echo '=========================================='
\echo '连接信息:'
\echo ' Host: localhost'
\echo ' Port: 5432'
\echo ' Database: st_dev'
\echo ' Username: st_user'
\echo ' Password: st_password'
\echo '=========================================='
\echo ''
\echo '管理工具:'
\echo ' pgAdmin: http://localhost:5050'
\echo ' Email: admin@st.local'
\echo ' Pass: admin123'
\echo '=========================================='
\echo ''