Skills · Claude Code · Agent Skills
运维 Postgres 而不拖垮生产 — 没有商量余地。
在线表上的安全 DDL、建索引前先 EXPLAIN、健康的 vacuum、前置连接池,以及只有恢复演练通过才算数的备份。表结构设计归 schematize-database,这里负责数据库引擎本身。
schematize-postgres · v0.2.0bash
$ schematize install postgres不可妥协的底线
绝不为“求快”而关闭。完整清单见技能。
只用受支持的主版本
生产绝不运行已停止支持的主版本;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 确认。
讨论
加载中…