Skills · Claude Code · Agent Skills

运维 Postgres 而不拖垮生产 — 没有商量余地。

在线表上的安全 DDL、建索引前先 EXPLAIN、健康的 vacuum、前置连接池,以及只有恢复演练通过才算数的备份。表结构设计归 schematize-database,这里负责数据库引擎本身。

v0.2.0Disciplina · Banco/PostgreSQLgithub.com/schematizeme/skill-postgres

维护者 Lucas Andrade

schematize-postgres · v0.2.0bash
$ schematize install postgres
GitHub →下载技能 (.zip)/postgres-help · github.com/schematizeme/schematize-cli

不可妥协的底线

绝不为“求快”而关闭。完整清单见技能。

只用受支持的主版本

生产绝不运行已停止支持的主版本;EOL 写入日历,升级经过演练并备有回滚。

没有 lock_timeout 就不执行 DDL

在线表上的每条 DDL 都以 lock_timeout 和重试开头:等待锁的迁移会阻塞其后的所有查询。

不阻塞的索引与约束

使用 CREATE INDEX CONCURRENTLY,新约束先以 NOT VALID 添加再 VALIDATE;绝不在 ACCESS EXCLUSIVE 下重写整张表。

先度量再建索引

每个集群启用 pg_stat_statements,并用 EXPLAIN (ANALYZE, BUFFERS) 取得真实执行计划;否则“很慢”只是猜测。

Autovacuum 与连接池

Autovacuum 绝不关闭,监控 wraparound,max_connections 保持较低,应用前面放 PgBouncer。

恢复经过测试的备份

基础备份 + 连续 WAL(PITR),加密存放,自动化恢复并度量 RPO/RTO;pg_dump 不是正式备份。

最小权限与 RLS

迁移角色与应用角色分离,scram-sha-256 加 TLS,多租户使用带 FORCE 且 fail-closed 的 RLS。

命令

安装在 .claude/commands/。随时运行 /pg-help。

/pg-backup审计备份/PITR,并搭建带实测 RPO/RTO 的恢复演练。
/pg-ccContext compact:将上下文和清单写入归档并运行 /compact。
/pg-claude在仓库根目录创建或合并常开的 Postgres CLAUDE.md(不覆盖其他技能的区块)。
/pg-explain解读 EXPLAIN (ANALYZE, BUFFERS) 执行计划,提出无锁创建的索引或改写方案。
/pg-handoff生成上下文交接而不压缩——会话结束或任务切换。
/pg-help列出所有命令。
/pg-load强制加载全部规范内容:版本与配置、EXPLAIN、vacuum、锁、连接池、复制、备份、升级和 RLS。
/pg-migrate把表结构变更转换为适合在线表的安全步骤(expand、分批回填、contract)并运行门禁。
/pg-review审查迁移与配置:运行 check-pg-migration.sh 门禁,并检查机器读不出的部分。
/pg-upgrade规划主版本升级(pg_upgrade 或逻辑方式),含演练、回滚和检查清单。

面向 AI 智能体

无需人工即可安装。元数据见 llms.txt。

  • 运行:git clone https://github.com/schematizeme/skill-postgres.git && ./skill-postgres/install.sh
  • 或下载:https://github.com/schematizeme/skill-postgres/releases/latest/download/skill-postgres.zip 并解压到 .claude/skills/
  • 将 assets/CLAUDE.md 复制到仓库根目录(常开规则)。
  • 用 /pg-help 确认。

不想安装?

阅读完整规范并直接复制到你的项目——或安装该技能,让智能体自动执行。