新闻详情

新闻详情

首页 / 资讯中心 / 详情

codex-lb 多账号代理数据库指南:SQLite 与 PostgreSQL 取舍、备份快照与升级实战

发布时间:2026/9/28 20:13:39来源:尧图网络
codex-lb 多账号代理数据库指南:SQLite 与 PostgreSQL 取舍、备份快照与升级实战
codex-lb 多账号代理数据库指南SQLite 与 PostgreSQL 取舍、备份快照与升级实战【免费下载链接】codex-lbCodex/ChatGPT multiple account load balancer proxy with usage tracking, dashboard, and OpenCode-compatible endpoints项目地址: https://gitcode.com/gh_mirrors/co/codex-lb️ codex-lb 是一款面向 Codex / ChatGPT 多账号的负载均衡代理自带用量追踪、管理面板和 OpenCode 兼容端点。它的所有账号、用量历史、请求日志都存储在数据库中——选 SQLite 还是 PostgreSQL、如何备份快照、升级时怎么不丢数据正是新手最常踩坑的三个问题。本文带你一次搞懂。一、为什么数据库选型对 codex-lb 很重要codex-lb 会持续写入三类数据账号凭据加密存储、用量快照usage_history、请求日志request_logs。面板上看到的用量曲线、费用统计、账号趋势全部来自这些表。数据量小、单机自用 →SQLite一个文件搞定零配置多副本部署、高并发写日志、外部高可用集群 →PostgreSQL更稳。好消息是codex-lb 对两者做了统一封装切换只靠一个环境变量无需改代码。二、SQLite默认后端零配置上手SQLite 是 codex-lb 的默认后端安装后无需任何配置即可运行。数据存放在哪里运行环境数据目录本地 / uvx~/.codex-lb/Docker/var/lib/codex-lb/⚠️ 记住一句话备份这个目录就备份了你的全部数据数据库、加密密钥、会话归档。数据库文件旁还会生成一个runstate状态文件进程正常运行时记录running干净关机后记录clean。下次启动时如果检测到上次是非干净退出崩溃、断电、被 kill会自动对数据库做一次启动完整性检查确保文件没有损坏才放行。这是 codex-lb 内置的第一道数据安全网。面板上的用量看板、账号列表读的全是这份 SQLite 数据三、PostgreSQL一个环境变量即可切换当你的部署是多副本、Helm/Kubernetes 集群时建议切换 PostgreSQL。原理很简单请求路径引擎启用连接池预检pre-ping与连接回收遥测写入放宽同步刷盘以获得更高吞吐而配置类写入账号、API Key、限额始终保留完整持久性——这些细节都由 codex-lb 自动处理你只需给对连接串。1. 设置环境变量export CODEX_LB_DATABASE_URLpostgresqlasyncpg://codex_lb:codex_lb127.0.0.1:5432/codex_lb2. 用 Docker Compose 一键起 Postgres项目根目录的 docker-compose.yml 内置了postgres与postgres-upgrade两个 profile# 启用 Postgres 18 服务数据落在命名卷 codex-lb-postgres-data docker compose --profile postgres up -dpostgres服务还带了一个入口守卫如果检测到卷里还是旧版本 Postgres 的数据目录会拒绝启动并提示你先用postgres-upgrade升级避免直接打开不兼容的数据目录。3. 连接池调优可选相关配置见 docs/reference/settings.mdCODEX_LB_DATABASE_POOL_SIZE默认 25CODEX_LB_DATABASE_MAX_OVERFLOW默认 15默认值已按单副本不超过 Postgres 默认 100 连接的 80%设计一般无需调整。四、备份与快照自动 pre-migrate 备份 损坏恢复1. 升级前的自动快照每次执行数据库结构升级前codex-lb 会先自动创建一份 SQLite 快照命名形如store.pre-migrate-20260927T010000Z.db基于 SQLite 官方 Backup API 生成是热备而非复制半截文件默认最多保留 5 份CODEX_LB_DATABASE_SQLITE_PRE_MIGRATE_BACKUP_MAX_FILES超出自动淘汰最旧的可用CODEX_LB_DATABASE_SQLITE_PRE_MIGRATE_BACKUP_ENABLED关闭。快照逻辑位于 app/db/backup.py升级主流程在 app/db/migrate.py。2. 数据库损坏了怎么救万一启动时完整性检查未通过codex-lb 提供了宿主级恢复命令思路是把能读的页面抢救出来生成一个新的、完整的数据库文件并顺手清理-wal、-shm等附属文件。核心实现见 app/db/recover.py。日常备份建议最稳的一条# 定期打包数据目录即可本地 tar -czf codex-lb-backup-$(date %F).tgz ~/.codex-lb/五、升级实战版本迁移与 Postgres 16 → 181. 应用版本升级Schema 迁移codex-lb 使用 Alembic 管理表结构服务启动时默认自动迁移CODEX_LB_DATABASE_MIGRATE_ON_STARTUP默认为True迁移过程受分布式锁保护多副本同时启动也不会互相踩踏。你也可以手动执行# 手动触发一次数据库升级自动先打快照 codex-lb-db upgrade # 升级后做一次体检 codex-lb-db check所有历史迁移脚本都在 app/db/alembic/ 下可追溯每一次表结构变化。2. Postgres 16 → 18 数据卷升级如果你在用 Compose 内置的 Postgres官方文档给出了标准的四步升级流程先停库 → 备份卷 → 跑pg_upgrade→ 重启docker compose --profile postgres stop postgres docker run --rm -v codex-lb-postgres-data:/var/lib/postgresql -v $PWD:/backup alpine \ tar -C /var/lib/postgresql -czf /backup/codex-lb-postgres-data-before-pg18.tgz . docker compose --profile postgres-upgrade run --rm postgres-upgrade docker compose --profile postgres up -d postgrespostgres-upgrade容器会对同一个命名卷执行一次性的pg_upgrade把数据目录原地升级到 Postgres 18 布局后自动退出。✅升级完成的应用启动、且codex-lb-db check通过之前请不要删除那份备份。六、数据留存别让日志无限膨胀请求日志会持续增长codex-lb 内置了数据留存data retention机制可以在面板的高级设置中配置保留周期过期日志由后台任务自动清理SQLite 与 PostgreSQL 行为一致。相关文档docs/database.md、docs/configuration.md。七、常见疑问速查问题答案SQLite 能扛住代理高并发写日志吗单机完全够用写路径有统一的 writer 串行化与 30s busy 超时保护换数据库会丢数据吗选型在空库阶段决定即可两者是两套独立存储不做在线互相迁移多副本必须用 PostgreSQL 吗推荐。SQLite 用文件锁多副本共享会互相阻塞Helm 部署官方组合就是 PostgreSQL 选主启动慢是因为在检查数据库可能是。若上次是干净关机则自动跳过否则quick模式会快速扫描 SQLite 文件总结默认 SQLite零配置、单文件备份~/.codex-lb/或 Docker 下/var/lib/codex-lb/目录即可多副本 / 集群用CODEX_LB_DATABASE_URL切到 PostgreSQL连接池默认值已调好升级别慌每次迁移自动打快照Postgres 大版本升级走postgres-upgradeprofile守住底线定期codex-lb-db check 定期打包数据目录数据永远有一手备份。 更多细节请阅读 docs/database.md 与 docs/reference/settings.md。【免费下载链接】codex-lbCodex/ChatGPT multiple account load balancer proxy with usage tracking, dashboard, and OpenCode-compatible endpoints项目地址: https://gitcode.com/gh_mirrors/co/codex-lb创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

ST7789V 8080并口驱动实战:FSMC配置与60fps刷新优化 2026/9/28 21:51:59

ST7789V 8080并口驱动实战:FSMC配置与60fps刷新优化

1. 为什么我要折腾ST7789V的8080并口模式市面上关于ST7789V的教程,十篇里有八篇讲的是SPI驱动,剩下两篇讲的是RGB接口。8080并口(也就是Intel 8080时序的MCU接口)的完整教程少得可怜,能跑通的初始化代码更是凤毛麟角。…

阅读更多 →
Altium Designer集成库IntLib元件调用不显示的根源与实战解决 2026/9/28 21:51:59

Altium Designer集成库IntLib元件调用不显示的根源与实战解决

1. 项目概述:为什么“元件调用不显示”是AD用户最常卡住的生死线Altium Designer里,元件调用后在原理图上一片空白、属性栏里只显示“?”、放置时提示“Component not found”——这种问题我每天至少收到7条私信。不是设计能力不行,而是集成…

阅读更多 →
STM32驱动ST7789V 8080并口屏:从GPIO模拟到FSMC硬件加速实战 2026/9/28 21:51:52

STM32驱动ST7789V 8080并口屏:从GPIO模拟到FSMC硬件加速实战

1. 项目缘起与整体设计思路1.1 为什么还要折腾8080并口屏现在做嵌入式显示,SPI接口的屏几乎占了半壁江山,接线少、驱动简单、Arduino库一抓一大把。但真到了量产项目或者对刷屏速度有要求的场景,SPI那点带宽就开始捉襟见肘了。我去年做一个工…

阅读更多 →
Superpowers实战:给AI编码代理装上技能包、记忆库和工作流 2026/9/28 21:51:52

Superpowers实战:给AI编码代理装上技能包、记忆库和工作流

做AI辅助编程大半年,我最深的感受是:工具越来越强,用起来却越来越散。Codex聊着聊着就忘了上半场的结论,每次新开会话要把项目背景重新讲一遍,团队里各人的Agent配置又五花八门。后来我把一套叫 superpowers 的增强工作…

阅读更多 →
agent-native架构实战:从LLM-native到自主Agent系统设计 2026/9/28 21:51:52

agent-native架构实战:从LLM-native到自主Agent系统设计

Agent-native这个词,最近在各种AI技术大会和工程团队的技术选型讨论里被反复提起。但就我观察,不少人对它的理解还停留在“产品里接了个大模型聊天框”,或者干脆把它当成营销话术。我今年完整跟进了两个agent-native架构的落地项目&#xff0…

阅读更多 →
天邑TY1613刷机指南:S905L3SB芯片BL加载与固件匹配实战 2026/9/28 21:51:45

天邑TY1613刷机指南:S905L3SB芯片BL加载与固件匹配实战

1. 天邑TY1613刷机前必须搞清楚的芯片底细天邑TY1613这款机顶盒在二手市场和运营商退网设备里流通量不小,很多人拿到手第一件事就是想刷个干净系统或者换个桌面。但真正动手之前,你得先弄明白一件事:这盒子里面装的到底是什么芯片。天邑TY161…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉