Skip to content

Latest commit

 

History

107 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DBKonn

A native macOS database client with a retro terminal aesthetic. Connect to PostgreSQL, MySQL, SQLite, or SQL Server, browse schemas and tables, filter rows, edit records inline, and run SQL — all from a single desktop app.

Built with Tauri 2 (Rust backend) and a TypeScript frontend.

Download (Apple Silicon)

Pre-built for macOS on Apple Silicon (M1/M2/M3/M4):

Download DBKonn v0.1.4 — Apple Silicon (.dmg)

Install:

  1. Open the .dmg and drag DBKonn into Applications.
  2. If macOS says the app is "damaged and can't be opened", right-click the app and choose Open, or run:
    xattr -cr /Applications/DBKonn.app
    Then open it normally.
  3. If it's still blocked (unsigned build), re-sign it locally and clear quarantine:
    codesign --force --deep -s - /Applications/DBKonn.app && xattr -rd com.apple.quarantine /Applications/DBKonn.app

Intel Macs and Linux/Windows builds are not included yet. See Build from source below.

Cloned the repo instead? Run ./install.sh to do steps 1–2 for you.

Features

  • Multi-engine support — PostgreSQL, MySQL/MariaDB, SQLite, Microsoft SQL Server
  • Connection manager — Save profiles; passwords stored in the macOS Keychain
  • Schema browser — Databases, schemas, and tables in a sidebar tree
  • Data grid — Virtual-scrolled table view with sorting and pagination
  • Filters — Column filters with =, LIKE, ILIKE, IN, null checks, and more; apply on demand
  • Record editor — Right panel to view and edit rows with commit/rollback
  • Type-aware editing — Enum dropdowns, date pickers, timestamp NOW(), JSON fields
  • SQL editor — CodeMirror 6 with dialect-aware syntax highlighting
  • CSV export
  • dbctl CLI — Backup and restore via pg_dump, mysqldump, etc.

Project layout

DBKonn/
├── app/              # Tauri desktop app (TypeScript + Rust shell)
│   ├── src/          # Frontend UI
│   └── src-tauri/    # Tauri commands and IPC
├── core/             # Shared Rust database layer (dbkonn-core)
├── cli/              # dbctl command-line tool
├── appbuilds/        # Pre-built macOS installers
└── install.sh        # One-command installer (handles Gatekeeper bypass)

Build from source

Prerequisites

Tool Version Notes
Rust stable rustup default stable
Bun latest Used for the frontend build (bun or npm works)
Xcode Command Line Tools xcode-select --install on macOS

Optional for integration tests:

  • Docker (Postgres/SQLite test containers)

Development (hot reload)

# Install frontend dependencies
cd app
bun install

# Start Tauri dev server (frontend + Rust backend)
bunx tauri dev

This opens the app connected to your dev deployment. Use the in-app connection manager to add database profiles.

Production build (macOS Apple Silicon)

cd app
bun install
bunx tauri build --target aarch64-apple-darwin

Artifacts are written to:

target/aarch64-apple-darwin/release/bundle/
├── macos/DBKonn.app
└── dmg/DBKonn_0.1.4_aarch64.dmg

Copy the .dmg into appbuilds/ if you want to ship it from the repo:

cp ../target/aarch64-apple-darwin/release/bundle/dmg/DBKonn_0.1.4_aarch64.dmg ../appbuilds/

Build the CLI (dbctl)

cargo build --release -p dbctl
# Binary: target/release/dbctl
dbctl list
dbctl backup --conn "my-postgres" --out ./backup.sql
dbctl restore --conn "my-postgres" --in ./backup.sql

Run core library tests

cargo test -p dbkonn-core

Connection storage

Saved connections are stored at:

~/Library/Application Support/DBKonn/connections.json

Passwords are kept in the macOS Keychain, not in the JSON file.

Tech stack

Layer Technology
Desktop shell Tauri 2
Frontend TypeScript, Vite 6, CodeMirror 6
Backend Rust (dbkonn-core)
Postgres / MySQL / SQLite sqlx
SQL Server tiberius
SQL validation sqlparser

License

MIT

About

A light weight database client that's superfast than anything you've used before. Not bloated at all.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages