01/Foxlume Query
Database client · macOS 13+
Query with confidence.
A native macOS database client for PostgreSQL, MySQL, SQLite, DuckDB, MongoDB, Redis and MariaDB. Light enough to keep open all day, careful enough to point at production.
git clone https://github.com/dannymaster1995-developer/foxlume-query.git- Category
- Database client
- Requires
- macOS 13 Ventura+
- Chip
- Apple silicon
- Engines
- 7 · 2 supported, 5 beta
- Safety
- Prod confirm · WHERE check · read-only
- Secrets
- macOS Keychain
- Licence
- GNU AGPL v3+
- Telemetry
- None
| # | id ⌃ | user_id | status | total | currency | shipping_address | notes | paid_at |
|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 2 | paid | 13.17 | VND | 1 Le Loi, District 1, Ho Chi Minh City | Note #1 | 2026-10-13 21:37:40 |
| 2 | 2 | 3 | shipped | 16.34 | EUR | 2 Le Loi, District 1, Ho Chi Minh City | Note #2 | 2026-10-13 20:37:40 |
| 3 | 3 | 4 | delivered | 19.51 | JPY | 3 Le Loi, District 1, Ho Chi Minh City | NULL | 2026-10-13 19:37:40 |
| 4 | 4 | 5 | cancelled | 22.68 | USD | 4 Le Loi, District 1, Ho Chi Minh City | Note #4 | NULL |
| 5 | 5 | 1 | pending | 25.85 | VND | 5 Le Loi, District 1, Ho Chi Minh City | Note #5 | 2026-10-13 17:37:40 |
| 6 | 6 | 2 | paid | 29.02 | EUR | 6 Le Loi, District 1, Ho Chi Minh City | NULL | 2026-10-13 16:37:40 |
| 7 | 7 | 3 | shipped | 32.19 | JPY | 7 Le Loi, District 1, Ho Chi Minh City | Note #7 | 2026-10-13 15:37:40 |
| 8 | 8 | 4 | delivered | 35.36 | USD | 8 Le Loi, District 1, Ho Chi Minh City | Note #8 | NULL |
| 9 | 9 | 5 | cancelled | 38.53 | VND | 9 Le Loi, District 1, Ho Chi Minh City | NULL | 2026-10-13 13:37:40 |
| 10 | 10 | 1 | pending | 41.70 | EUR | 10 Le Loi, District 1, Ho Chi Minh City | Note #10 | 2026-10-13 12:37:40 |
| 11 | 11 | 2 | paid | 44.87 | JPY | 11 Le Loi, District 1, Ho Chi Minh City | Note #11 | 2026-10-13 11:37:40 |
| 12 | 12 | 3 | shipped | 48.04 | USD | 12 Le Loi, District 1, Ho Chi Minh City | NULL | NULL |
| 13 | 13 | 4 | delivered | 51.21 | VND | 13 Le Loi, District 1, Ho Chi Minh City | Note #13 | 2026-10-13 09:37:40 |
| 14 | 14 | 5 | cancelled | 54.38 | EUR | 14 Le Loi, District 1, Ho Chi Minh City | Note #14 | 2026-10-13 08:37:40 |
| 15 | 15 | 1 | pending | 57.55 | JPY | 15 Le Loi, District 1, Ho Chi Minh City | NULL | 2026-10-13 07:37:40 |
| 16 | 16 | 2 | paid | 60.72 | USD | 16 Le Loi, District 1, Ho Chi Minh City | Note #16 | NULL |
| 17 | 17 | 3 | shipped | 63.89 | VND | 17 Le Loi, District 1, Ho Chi Minh City | Note #17 | 2026-10-13 05:37:40 |
| 18 | 18 | 4 | delivered | 67.06 | EUR | 18 Le Loi, District 1, Ho Chi Minh City | NULL | 2026-10-13 04:37:40 |
| 19 | 19 | 5 | cancelled | 70.23 | JPY | 19 Le Loi, District 1, Ho Chi Minh City | Note #19 | 2026-10-13 03:37:40 |
| 20 | 20 | 1 | pending | 73.40 | USD | 20 Le Loi, District 1, Ho Chi Minh City | Note #20 | NULL |
| 21 | 21 | 2 | paid | 76.57 | VND | 21 Le Loi, District 1, Ho Chi Minh City | NULL | 2026-10-13 01:37:40 |
| 22 | 22 | 3 | shipped | 79.74 | EUR | 22 Le Loi, District 1, Ho Chi Minh City | Note #22 | 2026-10-13 00:37:40 |
| 23 | 23 | 4 | delivered | 82.91 | JPY | 23 Le Loi, District 1, Ho Chi Minh City | Note #23 | 2026-10-12 23:37:40 |
| 24 | 24 | 5 | cancelled | 86.08 | USD | 24 Le Loi, District 1, Ho Chi Minh City | NULL | NULL |
| 25 | 25 | 1 | pending | 89.25 | VND | 25 Le Loi, District 1, Ho Chi Minh City | Note #25 | 2026-10-12 21:37:40 |
| 26 | 26 | 2 | paid | 92.42 | EUR | 26 Le Loi, District 1, Ho Chi Minh City | Note #26 | 2026-10-12 20:37:40 |
| 27 | 27 | 3 | shipped | 95.59 | JPY | 27 Le Loi, District 1, Ho Chi Minh City | NULL | 2026-10-12 19:37:40 |
| 28 | 28 | 4 | delivered | 98.76 | USD | 28 Le Loi, District 1, Ho Chi Minh City | Note #28 | NULL |
02/Overview
What it is
What is Foxlume Query?
Foxlume Query is a free, open-source database client for macOS, written in Swift with AppKit and SwiftUI. It connects to PostgreSQL, MySQL, MariaDB, SQLite, DuckDB, MongoDB and Redis, with no Electron, no JVM and no drivers to install, and it asks before it changes data on a production connection.
Built by Vu Nguyen. Inspired by TablePro, not affiliated with it.
No telemetry
The app makes no network connections other than the ones you configure.
No account
Nothing to sign up for. Connections and history stay in a folder on your Mac.
Free software
Licensed under the GNU AGPL v3 or later. Read it, change it, build it yourself.
03/Safe by default
Four checks, in order
It asks before it touches production.
Scroll through what happens between pressing Run and the database. The prompts, their wording and their order are the ones Foxlume Query shows.
- Step 01 · Label
Mark it Production.
Every saved connection carries an environment: Local, Development, Staging or Production. The badge follows it into the connection list and the window toolbar, so you always know where you are.
- Step 02 · Check
A DELETE without WHERE stops.
Before an UPDATE or DELETE that would change every row of its table runs, Foxlume Query shows the statement and asks. The button says Run Anyway, on purpose.
- Step 03 · Confirm
Writes on production ask first.
On a connection labelled Production, every statement that may change data asks before it is sent. Grid saves and staged truncates and drops ask too.
- Step 04 · Enforce
Read-only, enforced by the server.
Turn on Read-only and, on PostgreSQL, MySQL and MariaDB, the database session itself refuses writes. SQLite and DuckDB files open read-only too.
Beta: MariaDB · SQLite · DuckDB
MongoDB · Redis
Pick a statement, flip the settings, press Run.
Run a statement without WHERE?
These change every row of their table:
DELETE FROM ordersRun a statement without WHERE? These change every row of their table:
04/Features
12 items · available today
Everything you reach for, every day.
SELECT u.full_name, count(o.i… FROM users u JOIN orders o ON… WHERE o.status <> 'cancelled' GROUP BY u.full_name ORDER BY spent DESC;Today, 23:21:27 · 5 ms · 4 rows · shop
SELECT version(); UPDATE orders SET notes = not…Today, 23:10:21 · 2 ms · 1 rows · shop
BEGIN; DELETE FROM "public"."order… UPDATE "public"."orders" SE… UPDATE "public"."orders" SE… INSERT INTO "public"."order… COMMITToday, 23:10:04 · 4 ms · shop
A query editor that keeps up
Run the statement under the cursor with ⌘↩, run everything, or cancel with ⌘. Format SQL, open and save .sql files.
Completion from your schema
Tables, columns, aliases, functions and types for SQL; collections and operators for MongoDB; commands and keys for Redis.
Edit data in place
Change cells, add, duplicate or delete rows, with undo and redo. Changes are coloured until you save them.
Filters without writing SQL
13 operators per column, or a raw WHERE, a MongoDB filter or a Redis key pattern. Paging and sorting run on the server.
Schema at a glance
Tables, views, collections or Redis keys in a filterable sidebar. Columns, indexes, foreign keys and DDL for every table.
History you can search
Every query is kept, up to 10,000, with full-text search across one connection or all of them.
Copy and export
CSV, TSV, JSON, SQL INSERT or Markdown, to the clipboard or to a file, with or without a header row.
SSH tunnels and TLS
Connect through ssh with your agent, a key file or a password. TLS modes from Disabled to Verify Full.
Passwords in the Keychain
Saved connections never hold a password. They live in the macOS Keychain.
Open from a URL or a file
Paste a postgres://, mysql://, mongodb:// or redis:// URL, or double-click a .sqlite, .duckdb or .parquet file.
Reconnects on its own
A health check every 30 seconds by default. A query on a dropped connection reconnects first.
13 themes, or bring yours
Dracula, Nord, One Dark, Solarized, Catppuccin and more, one for light and one for dark. Import VS Code themes.
05/Databases
07 engines · 02 supported
Seven databases, one way of working.
Most drivers are written in Swift inside the app, so there is nothing else to install. PostgreSQL and MySQL come first; the other five work and are marked Beta while they get more testing.
| Database | Status | Tested with | How it connects |
|---|---|---|---|
| PostgreSQL | Supported | 18 | Own Swift driver: SCRAM-SHA-256, MD5, TLS. Schemas, views, materialized views and foreign tables. |
| MySQL | Supported | 8.4 | Own Swift driver: caching_sha2_password (fast path, RSA, TLS) and mysql_native_password. |
| MariaDB | Beta | Not yet tested | Same driver as MySQL. |
| SQLite | Beta | 3.51 | The system libsqlite3. Opens .sqlite and .db files and creates new ones. |
| DuckDB | Beta | 1.5.6 | Bundled DuckDB library. Opens .duckdb files, and Parquet, CSV, TSV and JSON files directly. |
| MongoDB | Beta | 8.2 | Own Swift driver: SCRAM-SHA-1/256, TLS, mongodb+srv. A JavaScript shell runs MQL. |
| Redis | Beta | 8.x | Own Swift driver: RESP2/RESP3, ACL, TLS, Sentinel and Cluster. Keys shown as a tree. |
06/Keyboard
10 shortcuts
Your hands stay on the keys.
Real macOS menus mean every command has a shortcut you can see. These are the ones you will use most.
- ⌘↩
- Run the statement under the cursor
- ⇧⌘↩
- Run everything in the editor
- ⌘.
- Cancel a running query
- ⇧⌘L
- Format SQL
- ⇧⌘P
- Preview the SQL a save will run
- ⌘S
- Save grid changes in one transaction
- ⇧⌘F
- Filter the table
- ⌘K
- Switch database
- ⌘Y
- Show query history
- ⇧⌘T
- Reopen a closed tab
07/Telemetry
Counted in the source · v0.1.0
Counted in the code, not guessed.
Every number below comes from the Foxlume Query repository. Launch time and memory will be published once they are measured on a release build.
PostgreSQL and MySQL supported, five more in beta.
Built in, plus any VS Code theme you import.
CSV, TSV, JSON, SQL INSERT and Markdown.
In the repository, run on CI with macOS 15.
08/Who it is for
Three kinds of user
Built for people who live in their database.
Developers who touch production
Label the connection Production and every write asks first. Make it read-only and PostgreSQL or MySQL refuse writes for the whole session.
Mac users tired of heavy clients
A real AppKit app with native menus, windows, tabs and shortcuts. No browser engine underneath.
Teams with more than one database
Postgres for the app, Redis for the cache, Mongo for events, a Parquet file from the data team: one window each, one way of working.
09/Roadmap
Phase 04 of 05
Where it is, and where it is going.
Foxlume Query is in early alpha (0.1.0). It is usable day to day but has not seen wide use yet.
Foundations
Connection manager, SSH tunnels, Keychain, environment labels, safety prompts
PostgreSQL and MySQL
Own Swift drivers, server-side read-only sessions, server-side paging
Editor and grid
Completion, in-place editing, filters, history, export
Five more engines
MariaDB, SQLite, DuckDB, MongoDB and Redis, in beta today
First public release
A signed download and the public repository
So you know before you try it.
The README lists these as missing today. None of them is promised a date.
- SQL Server and other engines
- Editing table structure or creating tables
- Importing data
- Exporting many tables at once, or Excel files
- ER diagrams
- A prebuilt download (build from source for now)
- A download signed with an Apple Developer ID (the app is signed ad hoc)
- Intel Macs (Apple silicon only)
10/Release notes
No release yet
Every release, what changed.
The three latest releases, from the changelog in the Foxlume Query repository. Every older release, with its download and checksum, is on GitHub.
No release yet
The first public release is being prepared. Until then, Foxlume Query builds from source.
11/FAQ
08 questions
Questions, answered.
A native macOS database client written in Swift. It connects to PostgreSQL, MySQL, MariaDB, SQLite, DuckDB, MongoDB and Redis, edits data in place, and asks before it changes data on a production connection.
PostgreSQL and MySQL are supported. MariaDB, SQLite, DuckDB, MongoDB and Redis work and are marked Beta in the app: they have had less testing and some features are missing. SQL Server is not supported yet.
Yes. Foxlume Query is free software under the GNU AGPL v3 or later. There is no paid tier and no licence key.
That is what it is built for. Label the connection Production and it asks before every statement that may change data. Turn on Read-only and, on PostgreSQL and MySQL, the database session itself refuses writes.
No. The app sends no telemetry and makes no network connections other than the ones you configure. Passwords stay in the macOS Keychain.
macOS 13 Ventura or later on Apple silicon. Intel Macs are not supported yet.
It is in early alpha (version 0.1.0) and there is no prebuilt download yet. You build it from source with Swift 6 from Xcode or the Command Line Tools.
Foxlume Query is inspired by TablePro and is not affiliated with it.
12/Get it
macOS 13+ · Apple silicon
Point it at production. It will ask first.
Build it from source today, report what breaks, and watch the beta engines grow up.