6 databases
PostgreSQL · MySQL · SQLite · ClickHouse · MongoDB · Elasticsearch
6 databases
PostgreSQL · MySQL · SQLite · ClickHouse · MongoDB · Elasticsearch
File formats
Parquet · CSV · JSON — query with SQL via Apache DataFusion
Smart CLI
Autocompletion · syntax highlighting · EXPLAIN visualizer · 50+ commands
Desktop GUI
Tauri app — CodeMirror editor · schema explorer · Docker panel · multi-tab
Security
SSH tunneling · HashiCorp Vault · encrypted password storage
Python & Django
Library API · Django middleware · N+1 query detection
dbcrust postgres://user:pass@localhost/mydb # PostgreSQLdbcrust mysql://root:pass@localhost:3306/app # MySQLdbcrust sqlite:///data/app.db # SQLitedbcrust clickhouse://user:pass@localhost:8123/db # ClickHousedbcrust mongodb://user:pass@localhost:27017/app # MongoDBdbcrust elasticsearch://localhost:9200 # Elasticsearch
dbcrust parquet:///data/sales.parquet # Parquetdbcrust csv:///logs/*.csv?header=true # CSV with globsdbcrust json:///events.json # JSON / NDJSON
dbcrust docker://my-postgres # Docker containerdbcrust session://production_db # Saved sessiondbcrust vault://readonly@database/postgres-prod # Vault credentials\dt -- list tables\d users -- describe table\e -- toggle EXPLAIN mode\ev -- interactive EXPLAIN TUI\cs -- column selection for wide results\ns --global daily SELECT * FROM orders WHERE created_at >= current_date - interval '$1 days'daily 7 -- run named query with parameterA Tauri-based app with CodeMirror SQL editor, schema explorer, Docker discovery, EXPLAIN viewer, and multi-tab interface.
mise install && mise run gui:devimport dbcrustresult = dbcrust.run_command("postgres://…/mydb", "SELECT count(*) FROM users")from dbcrust.django import analyzerwith analyzer.analyze() as a: for book in Book.objects.all(): print(book.author.name) # N+1 detected