Built for the parts that go wrong

Any client can run a SELECT. RoboDB is built for the migration that drops halfway, the row the target refuses, and the server nobody has looked at in a year.

MySQL 5.7 · 8.0 · 8.4 MariaDB 10 · 11 · 12 PostgreSQL Requires macOS 26

Get to the database, however it's hidden

Three engines, one app

MySQL, MariaDB and PostgreSQL. Managed and compatible flavours are labelled automatically where the server identifies itself — Amazon RDS and Aurora, Percona, Google Cloud SQL for PostgreSQL, CockroachDB, YugabyteDB, TimescaleDB and Citus. Anything else connects fine and shows as plain MySQL or PostgreSQL.

SSH tunnelling that belongs to the app

Key, password or passphrase, with trust-on-first-use host-key verification and a Known Hosts manager you can import, export and audit. It runs in-process, so it works inside the App Store sandbox.

Keychain, optionally synced

Passwords and key passphrases live in the macOS Keychain. Opt-in iCloud Keychain sync carries them to another Mac — off by default, one switch in Settings.

Enterprise auth

AWS RDS IAM tokens with optional STS assume-role, Google Cloud SQL IAM, and HashiCorp Vault for teams that don't hand out passwords.

Environment markers

Label a connection development, staging or production. Production is marked in the toolbar and on its tab, and turns on the write safeguards.

Tabs and windows

Browser-style tabs with drag-to-reorder, ⌘T and ⌘W, and as many windows as you want.

A grid that behaves like a Mac app

  • Sidebar tree of databases and tables, with per-table structure, indexes, triggers and info tabs.
  • Edit a row in a proper form — double-click it — with sortable, resizable columns whose widths are remembered per table, and per-column filters.
  • Follow a foreign key — right-click a foreign-key value and land on the referenced row, already filtered.
  • Type-driven editors. The column editor shows precision, charset and collation, ENUM values, ON UPDATE CURRENT_TIMESTAMP and column position only where the type allows — with a live SQL preview.
  • Create sheets for tables, views, routines and triggers; full editing for tables, columns, indexes and triggers.
  • Per-table export to SQL, CSV, JSON or XML, and import from SQL or CSV — streaming, with a live error log you can save.
RoboDB browsing a table with an editable data grid

The editor from VS Code, offline

  • Monaco is bundled with the app — it has no network access.
  • Schema-aware autocomplete that understands table aliases, so o. resolves to that table's columns.
  • ⌘⏎ runs the statement under the cursor; ⌘⇧⏎ runs the selection.
  • Format, comment toggle, and inline error squiggles on the failing token.
  • Visual EXPLAIN for MySQL and PostgreSQL, plus export of the visible result grid.
  • A safety net on destructive SQL: an EXPLAIN-derived row estimate and full-scan warnings before you commit. Pro
The RoboDB SQL Workbench with schema-aware autocomplete open mid-query

Copy a database between serversPro

A seven-phase pipeline — plan, prep, structure, data, objects, verify, finalise — designed around the assumption that the network will fail at least once.

  • Checkpointed per chunk. A dropped tunnel resumes from the last committed row. Chunk sizes adapt to the speed of the link.
  • Bisection salvage. When the target rejects rows, RoboDB narrows to the exact offending rows — for a handful of bad rows in a large chunk that is tens of statements rather than thousands — lands the rest, and reports the row and the server’s error.
  • Pre-flight checks for orphaned rows, foreign-key type mismatches, charset drift, zero dates, row-size and index-prefix limits, target privileges and version compatibility.
  • Fixes apply to the target, never the source — enforced by the type system rather than by convention: the “modify source” options were removed from the code, so the compiler rejects them.
  • Verification report — row counts, AUTO_INCREMENT, foreign keys and indexes compared per table, using counts snapshotted at transfer time so a busy source doesn't raise false alarms.
  • Diff & sync to refresh an already-migrated target. Schema Diff compares two databases on any tier; applying the generated DDL is Pro.
  • MySQL → PostgreSQL type translation for cross-engine moves.
A RoboDB transfer in progress with per-table rows and progress bars

The server dashboard

  • Server vitals, process list, InnoDB status, lock and deadlock monitor and storage analyzer.
  • Slow-query triage from three sources — Performance Schema, mysql.slow_log, or a log file you drop in — with correct guidance when the log is server-managed on RDS.
  • Index Advisor and a 12-rule schema linter: missing primary keys, non-InnoDB tables, charset drift, foreign-key type mismatches, unindexed TEXT and BLOB columns and more.
  • Foreign-key integrity — find orphaned rows and missing relationships. Read-only and advisory.
  • Drop-column impact — see every view, trigger, routine, foreign key, index and generated column that references a column before you drop it.
  • What Changed? merges the audit log and query insights into one chronological feed for incident response.
  • Compare Config — two servers’ running configuration side by side, or one server’s variables and status on their own.
The RoboDB AI assistant explaining a failed query

Made for production, reluctantly

Touch ID on destructive SQL

On a connection marked production, statements like DROP and TRUNCATE require Touch ID re-authentication — on every tier. In the SQL editor, running them against a production connection also requires Pro.

Tamper-evident audit log

DROP, TRUNCATE, DELETE, ALTER, GRANT, REVOKE, KILL, transfers and schema applies are appended to a SHA-256 hash chain, each entry signed with a device-local key. Verify the chain in Settings.

Read-only safe mode

Block every write at the client, before the bytes reach the wire — per connection. Plus an optional statement timeout injected into your SELECTs.

Failsafe backups

Before a bulk find-and-replace, RoboDB writes a safety copy so there's a way back.

Try it on your own database

Free for up to 3 connections, with no account and no time limit.