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

マイグレーション用ロールとアプリ用ロールを分け、TLS 付き scram-sha-256、マルチテナントでは FORCE 付き RLS を fail-closed で使う。

コマンド

.claude/commands/ にインストール。いつでも /pg-help を実行。

/pg-backupバックアップ/PITR を監査し、RPO/RTO を計測する復元リハーサルを組む。
/pg-ccContext compact:コンテキストとチェックリストをアーカイブに書き出し、/compact を実行。
/pg-claude常時オンの Postgres 用 CLAUDE.md をルートに作成またはマージ(他スキルのブロックは上書きしない)。
/pg-explainEXPLAIN (ANALYZE, BUFFERS) のプランを読み、ロックなしで作れるインデックスまたは書き換えを提案。
/pg-handoffコンパクトせずにコンテキストの handoff を作成 — セッション終了やタスク切り替え。
/pg-helpすべてのコマンドを一覧表示。
/pg-load規範の全文を強制ロード:バージョンと設定、EXPLAIN、vacuum、ロック、プーリング、レプリケーション、バックアップ、アップグレード、RLS。
/pg-migrateスキーマ変更を稼働中テーブル向けの安全な手順(expand、バッチ backfill、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 で確認。

インストールしたくない?

完全な規約を読み、そのままプロジェクトにコピーできます。あるいはスキルをインストールすれば、エージェントが自動で適用します。