生产数据库
连接分工
可使用 Neon PostgreSQL。应用运行通过 Hyperdrive 使用业务角色,数据库迁移通过管理连接。不同站点和环境保持独立数据与凭据,生产不使用本机演示数据库。
使用直接数据库主机连接 Hyperdrive,不叠加 Neon 的事务连接池。现有 Terraform 配置会拒绝带 -pooler 的主机及不支持的连接串格式。
准备步骤
- 创建生产数据库及独立业务角色,保留管理连接用于迁移。
- 审查并执行初始迁移,授予业务角色必要权限。
- 为实时和缓存查询分别创建 Hyperdrive,配置正确源连接。
- 将两个资源 ID 写入接口生产配置,再设置应用秘密。
- 在预发布先验证连接、权限与迁移兼容性。
db/scripts/grant-app-role.sql 已在独立本地密码认证实例验收,由实际数据库 / 公共对象所有者运行;不由部署自动执行。新密码交互输入,已有账号重复授权不会改密码,旧参数传密码方式被拒绝。权限边界、事务回滚与复验见数据库角色与凭据;真实 Neon 权限仍需在自己的环境验证。
缓存和连接额度
权限、会话、账单、积分和写后读使用实时连接。缓存连接只用于能接受短期旧结果的读取。两个 Hyperdrive 分别占用连接预算,要把它们的总量纳入源数据库限制。
缓存时间和连接上限以 infra/ 当前配置与账户限制为准,不能仅因使用免费套餐就假设不会产生费用或限制。
数据库改密码不会自动断开已有连接。更新所选环境两个 Hyperdrive 的源凭据后,也需核对旧连接池的处理和原业务恢复;不能只改本机连接或据此宣称旧连接已撤销,具体步骤见上述角色教程。
备份与恢复
发布前确认数据库备份和恢复能力;在隔离环境验证恢复,而不是只确认有一个备份按钮。回滚 Worker 不会撤销数据库迁移,破坏性改动需要单独恢复或补救方案。
排查
连接失败核对主机、数据库、角色、SSL 和网络;权限错误核对表及序列授权;缺表检查目标库的迁移记录;只在生产出现旧权限结果时检查是否误用了查询缓存。