Skip to main content
RDST - the Readyset Data and SQL Toolkit

License: Apache 2.0 Platforms PostgreSQL and MySQL Documentation Download RDST Desktop

Find slow queries, analyze them, and fix them — from your terminal.

RDST is a command-line toolkit for database diagnostics, query analysis, performance tuning, and caching with Readyset. Point it at PostgreSQL or MySQL and it finds your slow queries, explains why they are slow, and shows what an index, a rewrite, or a Readyset cache would do about it.

Highlights

  • rdst top — live view of the slowest queries hitting your database
  • rdst analyze — EXPLAIN-driven analysis with AI index and rewrite recommendations, plus a real Readyset cache benchmark (--readyset-cache)
  • rdst ask — ask questions about your data in natural language; guarded, read-only SQL generation
  • rdst audit / rdst fleet — deep health audits of one database or a whole fleet
  • rdst scan — find ORM queries (SQLAlchemy, Django, Prisma, Drizzle) in your codebase and flag performance issues, deterministic and CI-friendly
  • rdst demo — try everything against a local demo database in one command
  • MCP built in — rdst claude add registers RDST as an MCP server so Claude Code can use your targets

Installation

Prefer an app? RDST Desktop packages the same toolkit with a graphical client for macOS, Windows, and Linux.

Install the RDST CLI on macOS or Linux without sudo, pip, or a preinstalled Python:

curl -fsSL https://downloads.readyset.io/packages/rdst-cli/install.sh | sh

Open a new shell, then verify the installation:

rdst version

The installer supports Apple silicon, Intel macOS, and glibc-based x86_64 or arm64 Linux distributions. To install an exact package release:

curl -fsSL https://downloads.readyset.io/packages/rdst-cli/install.sh | \
  sh -s -- --version 0.1.1589

Immutable release scripts and checksums are published under packages/rdst-cli/versions/VERSION/ on the download origin.

Installer-managed RDST never updates silently. Check for and install updates explicitly:

rdst update --check
rdst update

rdst update installs the exact resolved release and makes no changes when the installed version is already current.

To uninstall the managed runtime while preserving ~/.rdst configuration:

curl -fsSL https://downloads.readyset.io/packages/rdst-cli/install.sh | \
  sh -s -- --uninstall

Existing uv and pipx users can continue to use uv tool install rdst or pipx install rdst; those installations remain managed by their package manager. Update them with uv tool upgrade rdst or pipx upgrade rdst.

After installing, run rdst init to configure your first database connection.

Native Windows development

Use PowerShell with Python 3.12+ and uv:

cd rdst
uv sync --group dev
uv run rdst version
$env:PROD_DB_PASSWORD = "your-password"

RDST stores user data under %USERPROFILE%\.rdst. Interactive editor commands use EDITOR or VISUAL and fall back to Notepad.

When the Docker CLI talks to a daemon on another machine, configure the daemon network explicitly:

$env:RDST_DOCKER_REMOTE = "1"
$env:RDST_DOCKER_PUBLISHED_HOST = "192.168.122.1"
$env:RDST_DOCKER_UPSTREAM_HOST = "192.168.122.222"

RDST_DOCKER_PUBLISHED_HOST is where Windows reaches published container ports. RDST_DOCKER_UPSTREAM_HOST is where containers reach a database running on the Windows client. The database must listen on that routable address.

Quick start

  1. Initialize RDST — the wizard walks you through your first target:

    rdst init
    
  2. Or configure a database target directly:

    rdst configure add --target mydb \
      --host db.example.com \
      --port 5432 \
      --database myapp \
      --user postgres \
      --password-env MYDB_PASSWORD
    

    Passwords are never stored in config files — RDST reads them from the environment variable you name, or the OS keychain.

  3. Watch what's slow:

    rdst top --target mydb
    
  4. Analyze a query:

    rdst analyze -q "SELECT * FROM users WHERE active = true" --target mydb
    
    # Verify with a temporary Readyset performance test
    rdst analyze -q "SELECT * FROM products ORDER BY created_at" --readyset-cache
    
  5. Audit health — one target or the whole fleet:

    rdst audit --target mydb
    rdst fleet audit --target prod
    

    See the fleet audit docs.

No database handy? rdst demo setup starts a local demo database to explore with.

Commands

Command Description
rdst top Monitor slow queries in real time
rdst analyze Analyze SQL query performance and caching opportunities
rdst ask Ask questions about your database in natural language
rdst agent Manage and run data agents with safety policies
rdst init First-time setup wizard
rdst configure Manage database targets and connection profiles
rdst account Sign in for capped Readyset-hosted AI inference
rdst tunnel List, close, and test SSH tunnels
rdst schema Manage the semantic layer that improves SQL generation
rdst query Manage the saved-query registry
rdst guard Manage reusable safety policies
rdst audit Run a deep health audit of a database target
rdst fleet Manage and audit database fleets
rdst scan Scan a codebase for ORM queries (experimental)
rdst demo Try RDST with a demo database
rdst claude Register RDST with Claude Code (MCP)
rdst slack Deploy a Slack bot for database queries
rdst web Start the RDST web server and client
rdst report Submit feedback or bug reports
rdst help Show help, or answer a question (rdst help "...")
rdst update Check for and install RDST updates
rdst version Show version information

Run rdst <command> --help for options and examples.

AI-assisted commands (ask, analyze insights, schema annotate) use capped Readyset-hosted GLM 5.3 Flash after rdst account login. If you set ANTHROPIC_API_KEY, RDST uses Claude Sonnet 4.6 directly without requiring a Readyset account. RDST_ANTHROPIC_MODEL can override the Claude BYOK model.

Requirements

  • Packaged CLI: macOS or a glibc-based Linux distribution on x86_64 or arm64
  • Native Windows development: Python 3.12+, uv, and PowerShell
  • curl or wget for the macOS/Linux installer
  • PostgreSQL or MySQL database access

About Readyset

Readyset is a SQL caching engine that sits between your application and your database, keeping query results up to date as the underlying data changes. Learn more at readyset.io.

Documentation and support

License

Apache License 2.0 — see LICENSE for details.

Metadata

Release files for rdst 0.1.2246

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rdst 0.1.2246
File Size Uploaded
rdst-0.1.2246.tar.gz 4.3 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for rdst 0.1.2246
File Interpreter ABI Platform
rdst-0.1.2246-py3-none-any.whl Python 3 none any Details

Total release size: 7.4 MB

Release files / rdst-0.1.2246.tar.gz

Download URL rdst-0.1.2246.tar.gz
Size 4.3 MB
Tags Source
SHA-256 checksum
How to use checksums
ac490c2bc9d301e8173db9c0ffd97f69cc6253b997f57ebcf0bace2942bbea12
BLAKE2b-256 checksum
How to use checksums
9f917f0b90d0ed44b6a0c307f0da0c2553e50868e6b7084f280d65f7535e999e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / rdst-0.1.2246-py3-none-any.whl

Download URL rdst-0.1.2246-py3-none-any.whl
Size 3.0 MB
Tags Python 3
SHA-256 checksum
How to use checksums
9eba238d453eca412d748120b3096146d6bf687e335b7efd864cad25fe619c8c
BLAKE2b-256 checksum
How to use checksums
c412902e3c22f32652a1d9773a2decb7c166fcbc7bff80e21d851b4554b6f3ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release history Release notifications | RSS feed

This release

0.1.2246 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page