用途
该技能是一个最佳实践矩阵(best-practices matrix)工具,核心目的是把数据库评估得出的发现映射到推荐的 PlanetScale 功能面上,确保评估过程不会遗漏重要的安全与运维能力。它覆盖跨引擎的通用建议,以及针对 Vitess 和 Postgres 的引擎专属建议。该技能仅用于分析与推荐,不执行任何实际变更。
主要能力
跨引擎建议涵盖以下功能面:
- Query Insights(查询洞察):建议对所有生产数据库启用,用于审查慢查询、高开销、高频与报错的查询模式。对于 Postgres,在诊断 CPU 压力时可按 CPU 排序(Insights API 的 sort=cpuTime);对于分片 Vitess,可按查询模式审查 vindex 使用情况及索引或路由变更后的使用趋势;将性能回退与部署关联;使用标签/注释把查询映射回代码;使用标签过滤与导航(两个引擎均提供 insights/tags、insights/tags/summaries 标签 API,Vitess 仪表盘支持 tag:key:value 过滤与按执行标签下钻);将异常用作告警与自动化输入。
- Webhooks:建议用于运维事件,包括异常、存储压力、分支就绪/休眠、主库提升、维护、可用的 schema 建议,以及 Vitess 的部署请求生命周期。
- MCP 与智能体:建议大多数自主分析使用仅洞察(insights-only)MCP;完整 MCP 仅在范围狭窄且默认只读时使用;在 AGENTS.md 中写明数据库目标与安全规则;智能体生成 PR/issue/变更计划,由人审批数据库变更。
- SQLCommenter / 查询标签:建议添加框架原生的 SQLCommenter 兼容插桩,使用低基数标签,包含应用、服务、路由/任务、功能、来源和发布 SHA,避免 PII 与无界 ID。
- Schema 建议工作流:建议对未处理建议进行分诊,与代码和 Insights 关联,转成迁移或分支变更,生产前测试,且仅通过已批准的工作流应用。
Vitess 专属建议:
- 安全迁移(Safe migrations):建议用于生产分支及接受部署请求的预发布分支。
- 部署请求(Deploy requests):建议用于进入受保护分支的 schema 变更。
- 强制切换纪律(Force cutover):建议记录谁可以使用“force cutover now”(用于被长事务延迟的部署请求),它会停止正在运行的事务以完成 schema 切换,频繁使用应先触发工作负载审查。
- 管理员审批:建议用于多管理员组织的生产部署请求;单管理员组织仅靠审批无法防护智能体(该管理员可自行开启并批准同一部署请求),应优先使用独立的智能体身份或无法批准部署请求的服务令牌。
- 门控部署(Gated deployments):当切换时机与人工控制重要时建议使用。
- Schema 回滚运行手册:建议记录回滚责任及与应用程序回滚的关系。
- 分支策略:建议采用生产、预发布和短期开发分支,并在受保护目标上启用安全迁移。
- 分片/keyspace 审查:当查询模式或增长表明存在分片感知问题时建议进行,不要自动重新分片。
Postgres 专属建议:
- 用户自定义角色:建议应用服务器使用而非默认角色;若角色由 Terraform 管理且密码不应留在 Terraform state 中,优先使用 planetscale_postgres_redacted_branch_role 加独立的密码重置与密钥管理器存储路径。
- pg_strict:评估后建议用于应用角色,尤其用于阻止意外的全表 update/delete 错误。
- 流量控制(Traffic Control):建议用于智能体、导出、报表、worker、集成、BI 及已知昂贵查询指纹的资源隔离。
- 备份与 PITR:建议验证保留期与恢复演练覆盖;若 Terraform 是客户事实来源,建议在其中管理备份策略,使备份姿态变更作为基础设施代码审查。
- PgBouncer 与连接池:当连接频繁建立或 serverless/边缘行为造成压力时建议使用,受事务池限制约束。
- 私有连接与 IP 限制:建议用于需要私有网络姿态或减少公网暴露的客户,相关变更视为生产风险。
- 扩展(Extensions):仅在用例明确且接受重启/激活影响时建议;当慢查询自动计划日志能显著改善诊断且日志量可接受时,可包含 auto_explain;若 Terraform 管理 Postgres 分支参数或受支持的扩展,应保持该事实来源与经批准的仪表盘/API 变更一致。
- 实时连接(Live connections):在连接压力事件中建议检查 pscale branch connections top,以识别会话、阻塞者及 idle-in-transaction 根因,而不依赖常规数据库连接容量。
使用方式
该技能本身是一个决策参考矩阵:对每个矩阵项,输出时标记“适用:是/否/未知”、当前状态、差距、价值(该功能所解决的具体可测量发现,如查询指纹、异常数量、事件、指标,需说明机制与度量)、建议编号与审批要求,最后以“No changes have been applied.”(未应用任何变更)结尾。
适用场景
适用于 PlanetScale 数据库的评估与审计流程,帮助在 Vitess 或 Postgres 环境中系统性地核对安全、可观测性与自动化建议,并指导智能体只做分析与生成变更计划、由人工审批实际数据库变更。
限制
该技能只产出映射与建议,不执行数据库变更;所有建议均需按各自审批流程落地。文档中未提供该技能的具体安装命令、收费信息或平台兼容性细节,暂未提供。