📝 docs: 统一 PostgreSQL 主库并固化索引命名约定
- 新增 ADR-024:服务端关系主库统一 PostgreSQL,不设 SQLite 档(pgvector 与中文全文无法在 SQLite 承载,双档必然残缺或第二实现);端侧离线缓存不受约束 - AGENTS.md:权威事实源与部署句更新;8.6 固化 pk_/uk_/idx_/fk_ 索引命名约定 - system-architecture、data-architecture、memory-and-knowledge、roadmap WP-01、handoff(决策 29)同步清理 SQLite 引用
This commit is contained in:
1 parent
42513d13c6
commit
5da1efe921
7 files changed
+27
-8
No files matched your search
@@ -379,3 +379,21 @@ UUIDv7 为高写入关系表提供索引局部性和大致创建顺序;请求
|
||||
- 阶段记忆(`_phase_memory`)持久化每阶段输入输出摘要,供审计、幂等与用户可见的演化谱系。
|
||||
- 触发条件为可配置阈值组合并逐角色设频率上限;用户手动触发始终可用,关闭大周天后不再触发新 cycle,已有历史保留。
|
||||
- "天工"(任务对象)与"小周天"(运转过程)为同一 `run` 的两个视角,不新增运行时对象;`run` 工程值与 `run_` 前缀不变。
|
||||
|
||||
## ADR-024:关系主库统一 PostgreSQL,不设 SQLite 档
|
||||
|
||||
**状态**:采纳
|
||||
|
||||
**决策**
|
||||
|
||||
服务端关系主库在开发、测试、个人自托管与正式部署中统一使用 PostgreSQL;不提供 SQLite 主库档。Alembic 迁移只在 PostgreSQL 上定义与验证。SQLite 不作为服务端主库出现;端侧(Tauri)加密离线缓存属客户端本地存储,不受本决策约束。
|
||||
|
||||
**理由**
|
||||
|
||||
1.0 记忆与知识检索依赖 PostgreSQL 全文(中文分词扩展)与 pgvector 语义检索;SQLite 档无法承载,双档必然功能残缺或形成第二实现,违反"单一真源"与最小实现原则。双方言还使迁移与测试矩阵翻倍(JSONB/TEXT、向量、并发写锁、部分索引差异)。容器时代个人自托管以 Docker Compose 附带 PostgreSQL 容器即可,运维成本可接受;开发与 CI 用本地容器或嵌入式 PostgreSQL 保持一致性。
|
||||
|
||||
**后果**
|
||||
|
||||
- 开发环境用 `docker compose`(或嵌入式 PostgreSQL)启动数据库;测试统一在 PostgreSQL 上运行,不用 SQLite 内存库替代,避免方言差异掩盖缺陷。
|
||||
- 自托管两档(单机/标准服务器)均含 PostgreSQL 容器;单机档降低的是资源规格,不是能力面。
|
||||
- 迁移与性能优化只需针对 PostgreSQL(JSONB、pgvector、tsvector、事务性 DDL、行级锁);索引命名按工程规范执行(见 AGENTS.md 第 8.6 节)。
|
||||
Reference in new issue
Block a user