mcpField
P
postgresql-optimization

postgresql-optimization

github.com/sickn33データ・データベース48.8k276 回インストール今日更新
リポジトリ

postgresql-optimization について

クエリ性能や本番データベース運用に取り組む開発者と管理者向けの PostgreSQL 最適化ワークフローです。評価、クエリ調整、インデックス、設定、保守、監視を段階化し、変更時の運用上の安全策も示します。

主な機能

  1. 01性能とボトルネックの評価
  2. 02クエリと実行計画の分析
  3. 03インデックスの設計と確認
  4. 04設定項目の調整
  5. 05保守と監視の整理
  6. 06データベース変更の安全策

活用シーン

  1. 01遅い PostgreSQL クエリの調査
  2. 02ワークロードに応じたインデックス設計
  3. 03設定と保守計画の見直し
  4. 04監視を伴う本番変更の準備

インストール

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

$npx skills add https://github.com/sickn33/agentic-awesome-skills --skill postgresql-optimization

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

詳細

PostgreSQL 最適化ワークフロー

概要

クエリのチューニング、インデックス戦略、パフォーマンス分析、VACUUM 管理、本番データベースの管理など、PostgreSQL データベースの最適化に特化したワークフローです。

このワークフローを使用する場面

次のような場合にこのワークフローを使用します。

  • 遅い PostgreSQL クエリを最適化する
  • インデックス戦略を設計する
  • データベースのパフォーマンスを分析する
  • PostgreSQL の設定をチューニングする
  • 本番データベースを管理する

ワークフローのフェーズ

フェーズ 1:パフォーマンス評価
呼び出すスキル
  • database-optimizer - データベースの最適化
  • postgres-best-practices - PostgreSQL のベストプラクティス
アクション
  1. データベースのバージョンを確認する
  2. 設定を確認する
  3. 遅いクエリを分析する
  4. リソースの使用状況を確認する
  5. ボトルネックを特定する
コピー&ペースト用プロンプト
Use @database-optimizer to assess PostgreSQL performance
フェーズ 2:クエリ分析
呼び出すスキル
  • sql-optimization-patterns - SQL の最適化
  • postgres-best-practices - PostgreSQL のパターン
アクション
  1. EXPLAIN から始めます。EXPLAIN ANALYZE は文を実行します。書き込みやコストの高いクエリでは、本番環境で実行する前に、代表的なステージング環境のコピーを使用し、適切なタイムアウトを設定してください。本番環境で実行する場合は、必ず承認を得てください。
  2. スキャンの種類を特定する
  3. 結合戦略を確認する
  4. 実行時間を分析する
  5. 最適化の機会を見つける
コピー&ペースト用プロンプト
Use @sql-optimization-patterns to analyze and optimize queries
フェーズ 3:インデックス戦略
呼び出すスキル
  • database-design - インデックス設計
  • postgresql - PostgreSQL のインデックス
アクション
  1. 不足しているインデックスを特定する
  2. B-tree インデックスを作成する
  3. 複合インデックスを追加する
  4. 部分インデックスを検討する
  5. インデックスの使用状況を確認する
コピー&ペースト用プロンプト
Use @database-design to design PostgreSQL indexing strategy
フェーズ 4:クエリの最適化
呼び出すスキル
  • sql-optimization-patterns - クエリのチューニング
  • sql-pro - SQL の専門知識
アクション
  1. 非効率なクエリを書き換える
  2. 結合を最適化する
  3. 効果がある場合は CTE を追加する
  4. ページネーションを実装する
  5. 改善をテストする
コピー&ペースト用プロンプト
Use @sql-optimization-patterns to optimize SQL queries
フェーズ 5:設定のチューニング
呼び出すスキル
  • postgres-best-practices - 設定
  • database-admin - データベース管理
アクション
  1. shared_buffers をチューニングする
  2. work_mem を設定する
  3. effective_cache_size を設定する
  4. チェックポイントの設定を調整する
  5. autovacuum を設定する
コピー&ペースト用プロンプト
Use @postgres-best-practices to tune PostgreSQL configuration
フェーズ 6:メンテナンス
呼び出すスキル
  • database-admin - データベースのメンテナンス
  • postgresql - PostgreSQL のメンテナンス
アクション
  1. VACUUM をスケジュールする
  2. ANALYZE を実行する
  3. テーブルの肥大化を確認する
  4. autovacuum を監視する
  5. 統計情報を確認する
コピー&ペースト用プロンプト
Use @database-admin to schedule PostgreSQL maintenance
フェーズ 7:監視
呼び出すスキル
  • grafana-dashboards - 監視ダッシュボード
  • prometheus-configuration - メトリクス収集
アクション
  1. 監視を設定する
  2. ダッシュボードを作成する
  3. アラートを設定する
  4. 主要なメトリクスを追跡する
  5. 傾向を確認する
コピー&ペースト用プロンプト
Use @grafana-dashboards to create PostgreSQL monitoring

最適化チェックリスト

  • 遅いクエリを特定済み
  • インデックスを最適化済み
  • 設定をチューニング済み
  • メンテナンスをスケジュール済み
  • 監視が稼働中
  • パフォーマンスが向上済み

品質ゲート

  • クエリのパフォーマンスが向上済み
  • インデックスが効果的に機能
  • 設定を最適化済み
  • メンテナンスを自動化済み
  • 監視を導入済み

関連ワークフローバンドル

  • database - データベース操作
  • cloud-devops - インフラストラクチャ
  • performance-optimization - パフォーマンス

運用上の境界

変更を加える前に、基準となるレイテンシ、行数、実行計画、ワークロードを記録し、一度に 1 つの変数だけを変更してください。インデックスの作成や設定変更は、ディスクを消費したり、ロックを取得したり、再起動が必要になったりする場合があります。事前にメンテナンス時間帯を調整し、ロールバックの手順を決めてください。無差別な手動メンテナンスではなく、通常の autovacuum の監視を優先してください。VACUUM FULL はテーブルを書き換え、ロックします。レイテンシだけでなく、結果が同等であることも検証してください。

参考:PostgreSQL EXPLAIN のガイダンス。

制限事項

  • このスキルは、タスクが上記のスコープに明確に一致する場合にのみ使用してください。
  • 出力を、環境固有の検証、テスト、専門家によるレビューの代替として扱わないでください。
  • 必要な入力、権限、安全境界、成功基準が欠けている場合は、作業を中断して確認を求めてください。

コメント