Valentin Thomas
Tous les projets

Ducky

Un explorateur de bases PostgreSQL dans le terminal

Rôle
Seul développeur
Depuis
2026
Statut
Outil personnel, utilisé au quotidien
Stack
Rust, Ratatui, Tokio, PostgreSQL
Capture d’écran de Ducky

Ducky est un outil simple conçu pour remplacer Adminer, pgAdmin ou phpMyAdmin dans mon workflow de développement. Je trouvais la plupart de ces outils lents pour lancer une simple requête et peu intuitifs, j'ai donc construit une TUI qui reste dans le terminal, à côté du code.

Il permet de parcourir les schémas, les tables, leur structure et leurs données, d'exécuter des scripts SQL dans un éditeur façon vim avec coloration et autocomplétion, d'enregistrer des fichiers SQL, et de faire des dumps et restaurations avec pg_dump / pg_restore.

Quelques fonctionnalités que j'utilise tous les jours :

  • Profils de connexion regroupés par projet et typés local, staging ou prod. Les couleurs suivent le type, et les requêtes en staging et prod demandent une confirmation avant de s'exécuter.
  • Changement de profil en conservant chaque onglet, requête et résultat, pour relancer la même requête sur une autre base en quelques touches.
  • Édition directe, façon Drizzle Studio : les modifications restent en brouillon jusqu'à leur enregistrement groupé dans une seule transaction.
  • Navigation par clés étrangères : aller à la ligne référencée, ou lister les lignes qui référencent la ligne courante.
  • Paramètres de requête (:name, $1) renseignés via un formulaire avant l'exécution.

Le projet est un workspace Rust découpé en crates (configuration, parsing SQL, accès PostgreSQL, état de l'application, runtime) avec une interface Ratatui, et testé en CI contre une base PostGIS. Il a été en grande partie écrit avec l'assistance de l'IA et est destiné au développement local, sur des bases qui m'appartiennent.