v0.1.0Version 0.1.0 is out

A fast database client. Open source.

A free database GUI for MySQL, MariaDB, PostgreSQL and SQL Server on Linux and macOS. A Rust core, no bundled Chromium, no JVM.

AppImage · 86.0 MB · Other packages

Quarry showing the customers table of a shop database

Works with

Write it, run it, change it. Safely.

SQL editor

An editor that reads your SQL.

Completion follows the statement you are in, not a list of every word in the database.

  • Knows the context. Tables after FROM, the columns of the alias you typed, the keywords that fit.
  • Errors before you run. Syntax mistakes are underlined as you type.
  • Variables. ? and :name ask for a value and stay in your SQL.
  • Runs what you mean. Ctrl Enter runs the statement under the cursor. A script runs one statement at a time.
Column completion for the alias o in a JOIN
Safe mode

Safe on production.

Mark a connection as production or staging. Quarry checks every statement before it runs.

  • PROD asks before any write.
  • STAGING asks before DROP, TRUNCATE, and UPDATE or DELETE without WHERE.
  • Read-only connections refuse writes.
  • A red line on every production tab, so you always know where you are.
A confirmation dialog before an UPDATE runs on a production connection
Data editing

Edit like a spreadsheet. Save like a transaction.

Change cells, set NULL, add and delete rows. Every change stays marked until you save.

  • One transaction. All changes go in, or none do.
  • Query results too, when they come from one table.
  • Discard brings everything back.
Edited cells and a deleted row waiting to be saved

Made for real tables. Not demo data.

Big tables stay light.

Rows stream in pages of 500. Nothing loads a whole table. The row count is an estimate until you ask for the exact one.

DataStructure4 ms1–500 of ~20,121 rows

Export every row.

A whole table of any size, with progress and cancel. Or just the cells you selected.

CSVTSVJSONNDJSONSQL INSERTExcel

Import CSV and TSV.

Map columns, preview, load in one transaction. A refused row keeps nothing, and Quarry names it.

StopSkipOverwrite

Schema changes show their SQL.

Columns, indexes, tables and databases. You read the statement before it runs.

ALTER TABLE products ADD COLUMN weight_g INT NULL;

Everything a key away.

Open a tableCtrlK
All commandsCtrlShiftP
New queryCtrlT
Run statementCtrlEnter
7.9 MBDebian package
14.2 MBmacOS app, Apple silicon and Intel
3.5–4.7 MBEach Linux driver, downloaded only when you need it
0Accounts to create

Sizes of the v0.1.0 release files on GitHub.

Passwords in the keyring

Never in config files, logs or error messages.

Drivers checked before they run

Each driver runs in its own process and is verified against a SHA-256 hash.

Tabs come back

Tabs and split editor groups reopen where you left them.

History and favorites

Every query you ran, and the ones you want to keep.

Explain plans

See how a query runs without leaving the editor.

Output you can read

Every statement a tab runs, listed with its timing.

Open source. Yours to read.

AGPL-3.0. Read the code, build it yourself, send a fix.

Questions? Read the FAQ or get in touch.