Valentin Thomas
All projects

Ducky

A terminal explorer for PostgreSQL databases

Role
Sole developer
Since
2026
Status
Personal tool, in daily use
Stack
Rust, Ratatui, Tokio, PostgreSQL
Screenshot of Ducky

Ducky is a simple tool made to replace Adminer, pgAdmin or phpMyAdmin in my dev workflow. I found most of these tools slow to run a simple query and not very intuitive, so I built a TUI that stays in the terminal, next to the code.

It lets me browse schemas, tables, structure and data, run SQL scripts in a vim-style editor with highlighting and completion, store SQL files, and dump or restore databases with pg_dump / pg_restore.

A few features I rely on every day:

  • Connection profiles grouped by project and typed local, staging or prod. The colours follow the type, and queries on staging and prod ask for confirmation before running.
  • Switching profile keeps every tab, query and result, so the same query can be rerun on another database in a couple of keystrokes.
  • Inline editing, Drizzle Studio style: changes stay as drafts until they are saved together in a single transaction.
  • Foreign key navigation: jump to the referenced row, or list the rows that reference the current one.
  • Query parameters (:name, $1) filled through a form before the query runs.

The project is a Rust workspace split into crates (config, SQL parsing, PostgreSQL access, app state, runtime) with a Ratatui interface, and is tested against a PostGIS database in CI. It was largely written with AI assistance and is meant for local development, on databases I own.