关于 ghost-database
Ghost 是面向 Agent 工作流的托管 PostgreSQL 服务,可通过 CLI 或 MCP 创建、查询和管理数据库。数据库分叉与共享快照支持安全实验和数据交接。
主要功能
- 01创建和查询 PostgreSQL 数据库
- 02快速分叉数据库进行实验
- 03分享数据库快照
- 04检查数据库结构
- 05启用 MCP 只读模式
适用场景
- 01为 Agent 工作流提供持久存储
- 02在分叉副本上测试迁移
- 03分享示例数据或问题复现
- 04限制 Agent 的数据库操作权限
MCP 相关
Ghost MCP 服务向 Agent 提供数据库生命周期管理工具,包括创建、分叉、查询、检查、恢复和删除。只读模式可限制查询并阻止破坏性工具。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ timescale/ pg-aiguide --skill ghost-database安装后在 Claude Code 中输入/ghost-database确认已加载。
详细介绍
Ghost 数据库管理
Ghost 是一项专为 Agent 设计的托管 PostgreSQL 服务。你的账户按 Space 组织,每个 Space 中有不限数量的按需数据库和分支,共享一个计算时长池(执行查询时按 15 分钟为单位计费)。免费套餐:每月 100 小时,1TB 存储空间。
需要持续运行时,可将任意数据库升级为专用实例——独立计费、始终在线的数据库。
其他功能:
- **CLI 和 MCP 原生支持:**可通过终端或任何兼容 MCP 的 Agent 创建和查询数据库
- **即时分支:**数秒内创建完整数据库副本,安全地进行实验
- **可分享的快照:**通过 URL 分享数据库快照——任何拥有链接的人都可以在自己的 Space 中创建副本
- MCP 只读模式:
ghost config set read_only true会将所有 MCP 工具锁定为只读——SQL 查询以只读模式执行,破坏性工具(ghost_delete、ghost_password、ghost_rename)将被禁用
安装
提供多种安装方式。如果不确定,请使用第一种。
安装脚本(macOS/Linux/WSL)
curl -fsSL https://install.ghost.build | sh
安装脚本(Windows PowerShell)
irm https://install.ghost.build/install.ps1 | iex
Debian/Ubuntu
curl -s https://packagecloud.io/install/repositories/timescale/ghost/script.deb.sh | sudo os=any dist=any bash
sudo apt-get install ghost
Red Hat/Fedora
curl -s https://packagecloud.io/install/repositories/timescale/ghost/script.rpm.sh | sudo os=rpm_any dist=rpm_any bash
sudo yum install ghost
快速入门
CLI
ghost login # Authenticate with GitHub
ghost create # Create a new database (returns an ID, e.g. abc123)
ghost list # List all databases with their IDs
ghost connect <name-or-id> # Get connection string
MCP
ghost_login() // Authenticate with GitHub
ghost_create({ name: "my-db" }) // → returns { id: "abc123", ... }
ghost_list() // List all databases with their IDs
ghost_connect({ name_or_id: "abc123" }) // Get connection string
核心工作流
创建和查询数据库
CLI
# Create a database (returns an ID like abc123)
ghost create my-app-db
# Run SQL directly
ghost sql abc123 "CREATE TABLE users (id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, email TEXT NOT NULL UNIQUE, created_at TIMESTAMPTZ NOT NULL DEFAULT now())"
# Query it
ghost sql abc123 "SELECT * FROM users"
# Open interactive psql session
ghost psql abc123
MCP
ghost_create({ name: "my-app-db" })
// → returns { id: "abc123", ... }
ghost_sql({ name_or_id: "abc123", query: "CREATE TABLE users (id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, email TEXT NOT NULL UNIQUE, created_at TIMESTAMPTZ NOT NULL DEFAULT now())" })
ghost_sql({ name_or_id: "abc123", query: "SELECT * FROM users" })
创建分支以安全地进行实验
创建分支可在数秒内生成数据库的完整副本——架构和数据均保持一致。使用分支测试迁移、尝试架构变更,或让 Agent 在不影响工作数据库的情况下进行探索。你可以将专用实例分支为按需实例——这有助于在生产环境副本上进行测试,而无需为始终在线的计算资源付费。
如需了解使用分支进行迁移测试的完整工作流——包括迁移前后的验证查询和回滚计划——请参阅 postgres-database-migration 技能。
CLI
# Fork a database (returns the fork's ID, e.g. def456)
ghost fork abc123 my-app-db-experiment
# Test changes on the fork
ghost sql my-app-db-experiment "ALTER TABLE users ADD COLUMN role TEXT NOT NULL DEFAULT 'user'"
# If it worked: apply to original
ghost sql abc123 "ALTER TABLE users ADD COLUMN role TEXT NOT NULL DEFAULT 'user'"
# If it failed: delete the fork, original is untouched
ghost delete my-app-db-experiment --confirm
MCP
ghost_fork({ name_or_id: "abc123", name: "my-app-db-experiment" })
// → returns { id: "def456", ... }
ghost_sql({ name_or_id: "def456", query: "ALTER TABLE users ADD COLUMN role TEXT NOT NULL DEFAULT 'user'" })
// If it worked: apply to original
ghost_sql({ name_or_id: "abc123", query: "ALTER TABLE users ADD COLUMN role TEXT NOT NULL DEFAULT 'user'" })
// If it failed: delete the fork, original is untouched
ghost_delete({ name_or_id: "def456" })
自动暂停与恢复
数据库在闲置 30 天后会自动暂停,以节省计算时长。存储的数据会保留。需要时可恢复已暂停的数据库:
CLI
ghost resume abc123 --wait
MCP
ghost_resume({ name_or_id: "abc123" })
检查架构
CLI
ghost schema abc123
MCP
ghost_schema({ name_or_id: "abc123" })
返回针对大模型优化的架构表示,其中包含所有表、列、索引和约束。
分享数据库
分享会创建一个快照,任何人都可以用它创建自己的副本——无需访问你的 Space。适合分享示例数据集、问题复现环境或初始数据库。
Agent 也可以通过分享数据库来传递数据库资源:Agent 可以分享数据库作为输出(向接收方提供 URL,以便对方创建自己的副本),也可以将分享令牌作为输入,从预填充数据的数据库开始工作。
CLI
# Share a database (returns a share URL)
ghost share abc123
# Share with an expiry
ghost share abc123 --expires 24h
# Recipient creates their own database from the share token
ghost create --from-share <token>
# Manage shares
ghost share list abc123
ghost share revoke <token>
MCP
ghost_share({ name_or_id: "abc123" })
// → returns { share_token: "...", url: "..." }
ghost_share({ name_or_id: "abc123", expires: "24h" })
// Recipient creates their own database from the share token
ghost_create({ from_share: "<token>" })
// Manage shares
ghost_share_list()
ghost_share_revoke({ share_token: "<token>" })
CLI 命令参考
如需查看完整的命令和标志列表,请运行:
ghost --help
ghost <command> --help # e.g. ghost create --help
MCP 集成
Ghost MCP 服务让 Agent 无需人工干预即可全面管理数据库生命周期,包括创建、分支、查询、检查、恢复和删除数据库。
安装 MCP 服务
ghost mcp install
支持:Claude Code、Cursor、Windsurf、Codex、Gemini、VS Code、Kiro。
MCP 只读模式
如需为 Agent 提供安全的只读访问权限,请在启动 MCP 服务前启用只读模式:
ghost config set read_only true
这会将所有 MCP 工具锁定为只读:ghost_sql 以只读模式执行查询,破坏性工具(ghost_delete、ghost_password、ghost_rename)将被完全禁用。
何时使用 Ghost
适用场景:
- 为 Agent 工作流提供持久化的 Postgres 存储
- 为每个 Agent,甚至每次 Agent 执行,分配专用数据库
- 无需担心成本,随意创建和销毁数据库
- 通过数据库分叉安全地进行实验和迁移测试
- 设置严格的支出上限,费用可预测(计算时长按 15 分钟为单位计费)
不适用场景:
- 需要 Web 控制面板(Ghost 仅支持 CLI/MCP)
- 需要非 Postgres 数据库