Skip to main content
PostgreSQL データベースを接続して、Tony(データベースエンジニア)がクエリを分析し、パフォーマンスを最適化し、データベースの健全性を監視できるようにします。

対応プラットフォーム

前提条件

  • CloudThinker からネットワーク経由で到達可能な PostgreSQL インスタンス。
  • 専用ユーザーの作成と権限付与に必要な管理者アクセス。
  • クエリレベルの分析が必要な場合は pg_stat_statements 拡張のインストール(低速クエリデータに必要)。

セットアップ

1

管理者として接続する

管理者アカウントで PostgreSQL インスタンスに接続します:
2

読み取り専用ユーザーを作成する

CloudThinker 専用のユーザーを作成します:
3

接続とスキーマのアクセスを付与する

接続とスキーマの使用を許可します:
4

SELECT 権限を付与する

既存および今後作成されるすべてのテーブルとビューに SELECT を付与します:
5

pg_stat_statements を有効化する

この拡張はクエリ分析に必要です:
RDS/Aurora の場合はパラメータグループに追加します:
6

ネットワークアクセスを設定する

CloudThinker がデータベースに到達できるよう設定します:
  • CloudThinker の IP をセキュリティグループまたはファイアウォールに追加
  • RDS の場合:パブリックアクセスを有効化するか VPC ピアリングを使用
7

CloudThinker に接続を追加する

Connections → PostgreSQL に移動し、以下を入力します:
  • Host:データベースのホスト名または IP
  • Port:データベースポート(デフォルト:5432
  • Database:データベース名
  • Usernamecloudthinker_readonly
  • Password:上記で設定したパスワード
  • SSL moderequire(推奨)
Connect をクリックします。成功すると CloudThinker は Connected ステータスを表示します。

接続詳細

接続文字列の形式:

必要な権限

最小権限

推奨(フル分析)

まず最小権限から始め、クエリレベルの分析とキャッシュヒットレポートを解放するために推奨の統計情報権限を追加してください。

エージェントの機能

接続後、Tony は以下を実行できます:

接続を確認する

プロンプト例

トラブルシューティング

  • ホストとポートが正しいか確認してください
  • セキュリティグループまたはファイアウォールが CloudThinker の IP を許可しているか確認してください
  • RDS の場合:「Publicly accessible」が有効になっているか、VPC ピアリングを使用しているか確認してください
  • PostgreSQL が正しいインターフェースでリッスンしているか確認してください
  • ユーザー名とパスワードが正しいか確認してください
  • pg_hba.conf が接続方式を許可しているか確認してください
  • ユーザーがデータベースに CONNECT 権限を持っているか確認してください
  • 拡張がインストールされているか確認:SELECT * FROM pg_extension WHERE extname = 'pg_stat_statements';
  • shared_preload_librariespg_stat_statements が含まれているか確認してください
  • shared_preload_libraries 変更後は PostgreSQL を再起動してください
  • RDS の場合:パラメータグループを変更してインスタンスを再起動してください
  • ユーザーが必要なテーブルに SELECT 権限を持っているか確認してください
  • PostgreSQL 14+ では pg_read_all_stats ロールを付与してください
  • psql で \dn+ を使ってスキーマ権限を確認してください

セキュリティ

  • 最小権限 — エージェントがユースケースに必要な権限のみを付与します。まず読み取り専用から始め、後から拡張してください。
  • デフォルトで読み取り専用 — エージェントにこの接続で変更を行わせる場合を除き、読み取り専用の認証情報を使用してください。
  • 認証情報のローテーション — 通常のスケジュールに従ってキーとトークンをローテーションしてください。接続を更新すると、CloudThinker が新しい値を自動的に取得します。
  • オフボーディング時に失効 — 接続を削除するか、チームメンバーが退職する際には、プロバイダー側で認証情報を無効化してください。
  • SSL 必須 — 転送中のデータを暗号化するために、常に SSL モード require 以上を使用してください。
  • 最小権限 — CloudThinker ユーザーには SELECT のみを付与し、書き込みアクセスは絶対に付与しないでください。

関連

Tony Agent

データベース特化の最適化エージェント

MySQL 接続

MySQL データベースの同様のセットアップ