6.4k stars · MIT · v2.14.0 (2026-09-14), read from /releases/latest; PyPI still showed 2.13.0 on 16 September, which is the less common direction · Track this in Scout
A full SQL editor that runs inside a terminal window, with a schema sidebar, autocompletion and query history.
▶Repo detailsthe review · specs · pros & cons · install
What it is
A terminal application for writing and running SQL. It has a schema sidebar, a multi-tab query editor, a scrollable results grid, query history, and support for several databases through adapters: DuckDB, SQLite, PostgreSQL, MySQL and others. A companion command called hsql runs queries without the screen, for use in scripts.What it is good for. Anyone who works on a database over a remote connection, where a desktop program is not an option. The problem it removes is typing table names from memory. Grasppy's data is in PostgreSQL on a Hetzner server, and this is what turns a session there into something closer to a real editor. Edition 21 gave you pspg, which makes the output of the standard psql client readable in two minutes of setup. This is the larger answer: pspg improves what you already use, and Harlequin replaces it.
- The schema sidebar and autocompletion together remove most of the guessing in an unfamiliar database.
- One program covers SQLite, DuckDB, PostgreSQL and MySQL, so you learn one set of keys.
- MIT licence, and installation is a single command with
uv.
- It is a bigger commitment than a pager. If all you want is readable output from
psql, pspg costs two minutes and this costs an afternoon of getting used to it. - Each database needs its own adapter installed, and forgetting the extra is the usual first-run problem.
- When we checked, GitHub showed v2.14.0 and PyPI still showed 2.13.0. That direction is unusual and it normally settles within a day.
- dbcli/pgcli
Replaces the standard PostgreSQL prompt with one that completes names as you type, and stays a prompt rather than becoming a screen.
Track this in Scout
okbob/pspgNot an editor at all: it makes the tables your existing client prints readable, with frozen headings and search.
Track this in Scout
```bash
