PostgreSQL Database logo

PostgreSQL Database

開く

AIコーディングエージェント向けのPostgreSQL読み取り専用スキル。複数DB接続、テーブル・スキーマ一覧、書き込み禁止・タイムアウト・行数上限で安全に照会。

共有:
代替ツールを見る

概要

PostgreSQL Database は sanjay3290/ai-skills に含まれる postgres スキルです。このコレクションは Agent Skills 標準に準拠し、Claude Code、Gemini CLI、Cursor、Codex CLI、Goose などで利用できます。小さな Python スクリプトを通じて、設定済みの PostgreSQL データベースに読み取り専用の SQL を実行させるため、エージェントに書き込み権限を与えずに自然言語でデータを調べられます。

主な機能

  • 説明付きの複数接続:connections.json の各DBに description(例:「ユーザー、注文、取引」)を持たせ、質問内容と照合して接続先を選びます。意図が曖昧なら --list を実行して確認します。
  • 多層防御:PostgreSQL の readonly=True モードでセッションを開き、さらに SELECT・SHOW・EXPLAIN・WITH 以外のクエリと複数ステートメントを拒否します。
  • ガードレール:30秒のステートメントタイムアウト、1クエリ最大10,000行、列幅100文字、パスワードを含まないエラーメッセージ。
  • SSL設定:sslmode(disable から verify-full まで)で指定。

クイックスタート

  1. Claude Code で /plugin marketplace add sanjay3290/ai-skills を実行し、続けて /plugin install ai-skills@ai-skills でインストール。
  2. pip install -r requirements.txt で依存関係(psycopg2-binary、Python 3.8+)を導入。
  3. スキルフォルダまたは ~/.config/claude/postgres-connections.json に接続設定を作成し、パスワードを含むため chmod 600 を設定。
  4. エージェントに質問するか、スクリプトを直接実行します。
python3 scripts/query.py --list
python3 scripts/query.py --db production --tables
python3 scripts/query.py --db production --schema
python3 scripts/query.py --db production --query "SELECT * FROM orders" --limit 100

使いどころ

  • マイグレーションや新機能の前に、見慣れないスキーマを把握する。
  • リードレプリカに対してアドホックな分析を行う。
  • デバッグ中にターミナルから離れずデータを確認する。

制限事項

  • 認証情報は平文のJSONに保存されるため、読み取り専用のDBユーザーを使い、ファイル権限を絞ってください。
  • 対応はPostgreSQLのみ。同じリポジトリに mysql と mssql スキルがあります。
  • 読み取り専用なので、マイグレーションやデータ修正はできません。

よくある質問

このスキルでデータが変更されることはありますか?

ありません。接続は読み取り専用で開かれ、SELECT・SHOW・EXPLAIN・WITH 以外の文はスクリプトが拒否します。

接続設定はどこから読み込まれますか?

スキルディレクトリの connections.json、または ~/.config/claude/postgres-connections.json です。

代替ツール

  • Supabase と Neon:エージェント向けツールを備えたマネージドPostgres。
  • MySQL を使う場合は MySQL。同リポジトリに対応する mysql スキルもあります。

出典:GitHub の postgres スキル。関連は Skills カテゴリ と database タグ へ。

コメント

まだコメントがありません。最初のコメントを投稿してください!