mcpField
P
postgresql-expert-best-practices-code-review

postgresql-expert-best-practices-code-review

github.com/wispbit-aiデータ・データベース8387 回インストール37 週間前に更新
リポジトリ

postgresql-expert-best-practices-code-review について

PostgreSQL の本番用スキーマ、マイグレーション、クエリを作成・レビューする開発者向けのガイドです。優先度別のルールに、誤った例と修正例を添えています。

主な機能

  1. 01優先度別のインデックスルール
  2. 02制約と外部キーの安全な変更
  3. 03スキーマ設計と命名の指針
  4. 04誤りと修正を示すマイグレーション例

活用シーン

  1. 01スキーマの性能問題のレビュー
  2. 02書き込みを止めないインデックス追加
  3. 03安全な制約マイグレーションの計画

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/wispbit-ai/skills --skill postgresql-expert-best-practices-code-review

インストール後、Claude Code で/postgresql-expert-best-practices-code-reviewを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

rules/
add-index-for-foreign-key.md
always-include-columns.md
column-naming-standards.md
index-naming-standards.md
limit-non-unique-index.md
only-concurrent-indexes.md
only-jsonb.md
set-column-not-null.md
split-foreign-key.md
unique-constraint.md

詳細

PostgreSQL のエキスパート向けベストプラクティス

シンプルで、実用的で、明確な方針に基づいています。本番環境向けの PostgreSQL クエリを書くうえで重要なことだけを扱います。

適用する場面

次のような場合に、これらのガイドラインを参考にしてください。

  • データベースのマイグレーションやスキーマ変更を行う
  • PostgreSQL のテーブルやカラムを作成または変更する
  • インデックス、制約、外部キーを追加する
  • パフォーマンスの問題がないかデータベーススキーマを確認する
  • 既存のデータベース構造をリファクタリングする
  • クエリのパフォーマンスやデータベース設計を最適化する

優先度別のルールカテゴリ

優先度カテゴリ影響度プレフィックス
1インデックス管理CRITICAL-HIGHonly-concurrent-indexes, add-index-for-foreign-key
2制約の安全性HIGHunique-constraint, split-foreign-key, set-column-not-null
3スキーマ設計MEDIUMonly-jsonb, always-include-columns, limit-non-unique-index
4命名規則LOWindex-naming-standards, column-naming-standards

クイックリファレンス

  • only-concurrent-indexes - インデックス作成時の書き込みブロックを防ぐため、常に CONCURRENTLY を使用します
  • add-index-for-foreign-key - クエリのパフォーマンスを向上させるため、外部キーにインデックスを作成します
  • unique-constraint - 一意制約の作成を、並行インデックスの作成と制約の追加の手順に分けます
  • split-foreign-key - まず検証なしで外部キーを追加し、その後別途検証します
  • set-column-not-null - テーブルロックを避けるため、NOT NULL を設定する前にチェック制約を使用します
  • only-jsonb - パフォーマンスとインデックス機能を向上させるため、JSON の代わりに JSONB を使用します
  • always-include-columns - 監査可能性を確保するため、すべてのテーブルに id、created_at、updated_at を含めます
  • limit-non-unique-index - 効率性のため、一意でないインデックスのカラム数を最大 3 つに制限します
  • index-naming-standards - 一貫性のあるインデックス命名を使用します:idx_tablename_columnname
  • column-naming-standards - 一貫性のある snake_case 命名を維持し、外部キーには id 接尾辞を使用します

使用方法

詳しい説明とコード例については、各ルールのファイルを参照してください。

rules/only-concurrent-indexes.md
rules/add-index-for-foreign-key.md
rules/unique-constraint.md
rules/split-foreign-key.md
rules/set-column-not-null.md
rules/only-jsonb.md
rules/always-include-columns.md
rules/limit-non-unique-index.md
rules/index-naming-standards.md
rules/column-naming-standards.md

各ルールファイルには、次の内容が含まれています。

  • 重要な理由の簡単な説明
  • 影響度とその説明
  • 説明付きの誤ったマイグレーション例
  • ベストプラクティスに沿った正しいマイグレーション例
  • 追加の背景情報と参考資料

コメント