🤔 なぜGhostなのか?
従来のマネージドデータベースは長期間運用されるプロダクションインフラに最適化されています。インスタンスを作成し、ネットワークを構成し、認証情報を管理し、アプリケーションを接続した後は、データベースを「貴重で壊れやすいもの」として扱うことになります。
しかし、AIエージェントがコードを書き、マイグレーションをテストし、スキーマを検査し、SQLを実行し、データを実験する時代にはどうでしょうか?エージェントは使い捨て可能でプログラム可能なデータベースを必要とします。まさにこの点でGhostが登場します。
Ghostは開発者とAIエージェントがデータベースを作成、フォーク、検査、クエリ、操作、削除することを、コードサンドボックスのように簡単にします。特に以下のワークフローに適しています:
- テストおよびプロトタイピング
- エージェントワークフロー
- ブランチデータベース
- マイグレーション実験
- 使い捨てデータベース環境
日本の開発エコシステムにおける適用コンテキスト: 日本のスタートアップやSIerのPoC(概念実証)フェーズでは、常に時間との戦いがあります。従来のRDSインスタンスを立ち上げ、ネットワークACLを設定し、シードデータを投入するだけで数時間かかることがあります。Ghostを使えばこのプロセスを1分以内に短縮できます。特にAIコーディングエージェント(Codex, Claude Code)と組み合わせれば、「こんなデータベース作って」という自然言語の指示一つで即座に実験を開始できます。
Qiitaコミュニティの文脈: 最近のQiitaでは「AIエージェント×データベース」というテーマが注目を集めています。特に「エージェントにDB操作を任せるのは怖い」という意見も多いですが、Ghostの読み取り専用モードやフォーク機能を使えば、安全に実験できるという点は大きなメリットです。

🛠️ インストールとセットアップ
1. Ghostのインストール
Linux / macOS / WSL:
curl -fsSL https://install.ghost.build | sh
Windows PowerShell:
irm https://install.ghost.build/install.ps1 | iex
2. ログインとMCPサーバーのインストール
ghost login
# ブラウザでGitHub認証を実行
ghost mcp install
# 使用中のエージェントを選択(Codex, Claude Code, Cursorなど)
インストール完了後、エージェントを再起動してください。Ghost MCPサーバーが自動的に接続されます。
3. 正常インストールの確認
ghost mcp list
# インストールされたMCPツールとプロンプトの一覧を表示
# Codexを使用する場合
codex mcp list
# ghost MCPサーバーが'enabled'と表示されることを確認
💻 実践例1:10,000件の販売データ生成
Codexに以下のように指示します:
Codex> Create a ghost database called sales_data that stores 10,000 dummy sales
records. In the database, create whichever tables are suitable for such
data. Do not include any indexes, primary or foreign keys for now.
結果(約1分30秒):
customers(1,000行)products(150行)sales_reps(30行)sales_orders(10,000行)sales_order_items(30,000行)
🚀 実践例2:Ghost CLIでデータ確認
# データベース一覧表示
ghost list
# スキーマ確認
ghost schema sales_data
# SQL直接実行
ghost sql sales_data "SELECT * FROM sales_orders LIMIT 10;"
# 読み取り専用モード設定(エージェントの誤操作防止)
ghost config set read_only true
読み取り専用モードでDELETEを試行すると、以下のようにブロックされます:
ERROR: cannot execute DELETE in a read-only transaction (SQLSTATE 25006)
⚡ 実践例3:MCPによるパフォーマンスチューニング
この例がGhostの真価を最もよく示しています。インデックスがない sales_order_items テーブルから特定のレコードを検索するのに 25.833ms かかりました。ここでGhostのフォーク機能を使って、3つのチューニング戦略を並列で実験します。
Codex> Fork 3 duplicate sales-data databases in parallel, naming them
sales_data-1, etc... Using differering strategies in each fork, tune the
database so that the above query runs more quickly. Output your results in
an ascii table with database name, tuning strategy and database execution time.
結果(約2分40秒):
| Database | Tuning strategy | Execution time |
|---|---|---|
| sales_data-1 | Btree index on sales_order_item_id | 0.131 ms |
| sales_data-2 | Covering btree index | 0.143 ms |
| sales_data-3 | Hash index for equality lookup | 0.158 ms |
なんと200倍のパフォーマンス向上! 最も重要なのは、プロダクションDBに全く影響を与えずに、複数の戦略を同時に実験できることです。
📊 実践例4:動的ダッシュボードアプリ構築
Codex> Use your performance tuning findings to upgrade the sales_data
database. Then construct a dashboard using javascript and HTML for the
database. The dashboard should be dynamic. I want to be able to filter on data
and the dashboard should only show data that is inside the database.
CodexはExpress.jsバックエンドとHTML/JSフロントエンドを生成し、Ghostの読み取り専用接続を使用して認証情報を露出させることなく動的ダッシュボードを完成させました。約7分30秒で完成したダッシュボードは http://localhost:5101/sales_dashboard.html で確認できます。
注意点: ダッシュボードコードを生成する際、Ghostの読み取り専用接続文字列を使用するよう指示することが重要です。そうしないと、エージェントがHTMLファイルにデータベースパスワードをハードコーディングするリスクがあります。上記の例では
ghost connect --read-only sales_dataコマンドを使用して安全に処理しています。

⚠️ 注意点と制限事項
-
プロダクションデータは慎重に: GhostはPoCと実験に最適化されています。プロダクションワークロードをすぐにGhostに移行するよりも、Ghostで検証したスキーマとインデックス戦略を実際のRDSやAuroraに適用することをお勧めします。
-
ネットワークレイテンシ: Ghostのクラウドインフラを使用するため、アプリケーションとデータベース間でネットワークレイテンシが発生する可能性があります。ローカルPostgresよりは遅くなることがあります。
-
エージェント依存性: Ghostの真価はAIコーディングエージェントと組み合わせて使用する際に発揮されます。CLIのみの使用であれば、既存のツール(
pgcli,DBeaverなど)と大きな差はないかもしれません。 -
コスト: 無料枠は寛大ですが、大規模データや長期使用時にはコストが発生する可能性があります。公式ドキュメントで確認してください。
📚 次のステップとしての学習方向
- Ghost公式ドキュメントでさらに多くのCLIコマンドとMCPツールを確認
- 多様なエージェント(Claude Code, Cursor, Gemini CLI)との統合を実験
- GitHub ActionsとGhostを連携してCI/CDパイプラインでのデータベーステスト自動化
- TimescaleDBハイパーテーブルやpgvectorなどの拡張機能を実験(Ghostがデフォルトプロンプトを提供)
合わせて読みたい記事

✨ まとめ
Ghostは「AIエージェント時代のデータベース」という新しいパラダイムを提示します。従来のデータベースが「貴重な資産」であるのに対し、Ghostは「実験ツール」に近い存在です。
私が最も気に入った点はwhat-ifシナリオ実験の容易さです。既存のデータベースをフォークし、インデックスを変更し、マテリアライズドビューを作成し、パフォーマンスを測定するすべてのプロセスを自然言語で説明すれば、エージェントが自動的に処理してくれます。
もちろん、まだプロダクションよりもPoCと実験に適したツールです。しかし、AIエージェントがコードを書く時代において、データベースもそれに合わせたワークフローを持つべきだという点で、Ghostは非常に意味のある試みです。
要点まとめ:
- Ghost = AIエージェントのためのPostgresデータベースプラットフォーム
- MCPサーバーを通じてCodex, Claude Code, Cursorなどと直接統合
- フォーク機能により複数のチューニング戦略を並列実験可能(200倍のパフォーマンス向上事例)
- 読み取り専用モードで安全な実験環境を保証
- PoCおよびプロトタイピングに最適、プロダクションは慎重に検討