Database tool の多くは、connection、query、result table、schema information、editing をひとつの GUI にまとめます。DBeaver や DataGrip のような tool は強力ですが、その分 installation は重くなり、connection setting も増え、terminal workflow から少し離れます。

今日紹介する riii111/sabiql は、別の方向を向いています。PostgreSQL 向けの TUI ですが、自前の database driver を中心に据えるのではなく、既存の psql CLI を包む形で動きます。.pgpass、SSL、connection config、PostgreSQL client environment はそのまま使い、table browsing、query、軽い editing に向いた terminal interface を得る、という考え方です。

公開時点の GitHub page では、およそ 198 stars9 forks。主な言語は Rust、license は MIT です。Project は 2025-12 に作成され、現在も active に更新されています。Latest release は v1.12.3、公開日は 2026-06-07 です。

プロジェクト概要

項目内容
Repositoryriii111/sabiql
位置づけPostgreSQL terminal UI
Stars約 198
Forks9
主な言語Rust
LicenseMIT
Latest releasev1.12.3

psql を interactive workbench にする

psql は信頼できる tool です。ただし、性格としては command-line の tool knife に近い。SQL を実行し、database を切り替え、schema を確認できますが、table を行き来し、column information を見て、foreign key relation を追い、result を export し、少しだけ編集したい場面では、pure command line は少し不便になります。

sabiql の中心価値は、それらの操作を TUI にまとめることです。Connection setting を別 application に移す必要はなく、Rust 側で database driver や connection pool を抱える設計でもありません。つまり psql を置き換えるのではなく、psql をより navigate しやすい database workbench にする tool です。

Terminal に慣れている developer には、この差が効きます。同じ shell environment の中で SSH、proxy、credential、project context を保ったまま、一枚の table を見るためだけに大きな GUI を開かずに済みます。

Vim-first な操作は高頻度の browsing に合う

sabiql は Vim-first を明確に掲げています。Table list、result area、search、delete などの操作は、Vim user の muscle memory に寄せられています。たとえば j/k で移動し、/ で search し、dd で delete する、という形です。

この design はすべての人に合うわけではありません。ただ、terminal user にとっては、keyboard、mouse、window を行き来する回数を減らせます。Database browsing は細かい操作の連続です。Table を探し、column を見て、数行の data を確認し、filter を変え、execution plan を見る。そのたびに keyboard から手を離すなら、tool の friction は大きくなります。

README では、oil.nvim の interface philosophy に影響を受けていることにも触れられています。必要なときだけ UI element を見せ、画面を長く占有しない、という方向です。Traditional database GUI が多くの情報を同時に並べるのに対し、sabiql は current data と current query に screen を残そうとします。

Editing は「できる」より「安全に止まれる」ことが大事

Database TUI が editing を持つとき、重要なのは編集できるかどうかだけではありません。誤操作をどう止めるかです。

sabiql はこの点で慎重です。Inline cell editing と row deletion を持っていますが、destructive operation は preview を挟んでから実行されます。また read-only mode があり、application side と PostgreSQL session side の両方で write を抑えられます。

この guardrail は production database では特に重要です。多くの場合、ただ data を確認したいだけなのに、tool が editing を持っていると誤操作の余地が生まれます。Read-only mode があることで、日常の browsing に使いやすくなり、「必要なときだけ編集する」という境界も作れます。

もちろん、これで production change の review が不要になるわけではありません。Default は read-only にし、変更前に接続先、transaction boundary、WHERE condition、backup strategy を確認するべきです。sabiql の preview は reminder であり、process の代替ではありません。

SQL modal と EXPLAIN workflow が実務に近い

Table browsing に加えて、sabiql には SQL modal があります。Ad-hoc query を書き、table name、column name、keyword の completion を使えます。Query result を見たり、past query を呼び戻したりすることもできます。

特に面白いのは EXPLAIN workflow です。README では、同じ modal の中で execution plan を確認し、2 つの plan を比較できると説明されています。これは日常の performance tuning にかなり近い。大きな report を作りたいのではなく、ある index が使われているか、join の cost が妙に高くないか、SQL を書き換えた前後で plan がどう変わるかをすぐに見たい場面があります。

Terminal tool が「SQL を書く -> result を見る -> plan を見る -> SQL を調整する」という loop をひとつの interface に圧縮できるなら、それは単なる table browser ではなく、実際の debugging flow に入れる tool になります。

ER diagram と inspector が schema 理解を補う

Database issue は単一 table だけで完結しないことが多いです。Relation を理解する必要があります。sabiql は ER diagram 機能を持ち、Graphviz を使って relationship diagram を生成し、browser で開けます。Inspector pane では、table の column、type、constraint、index を確認できます。

この 2 つは、「schema を調べてから query を書く」までの距離を短くします。古い system を引き継いだとき、各 table の関係をすぐに把握できるとは限りません。GUI database tool はこの領域が強い一方で、軽量 CLI tool では欠けがちな部分です。sabiql がここを terminal workflow に持ち込んでいる点は、普通の psql wrapper より価値があります。

注意点として、ER diagram には Graphviz が必要です。sabiql だけを入れて Graphviz を用意していない場合、この部分の体験は完全にはなりません。

Installation path はかなり広い

sabiql の README には複数の installation method が並んでいます。Homebrew、Cargo、Arch Linux AUR、Void Linux の unofficial repository、FreeBSD ports、install script です。Runtime requirement は PostgreSQL client、つまり psql。ER diagram には追加で Graphviz が必要です。

Target user は明確です。Terminal environment を持ち、自分で local development tool を管理でき、PostgreSQL によく触れる developer や operator です。Click だけで使える desktop app ではなく、terminal user が重い database GUI を開く回数を減らすための tool と見るのが自然です。

Latest release の v1.12.3 は、platform compatibility、external tool opener path、release pipeline 周りの改善が中心です。README では Android / Termux support についても触れていますが、現時点では full platform support というより build-only に近い扱いです。非標準 platform で使う場合は、clipboard、browser open、psql の挙動を先に確認した方がよいでしょう。

先に試す価値がある人

sabiql をまず勧めたいのは、次のような人です。

  1. 日常的に terminal で作業し、PostgreSQL data をよく確認する。
  2. psql.pgpass、SSL、jump host などをすでに設定済みで、GUI tool に再設定したくない。
  3. Vim-style keybinding が好きで、database browsing も keyboard-driven にしたい。
  4. psql よりよい table browsing、schema inspection、query history、EXPLAIN 体験がほしい。
  5. Early-stage tool の境界を理解し、まず development database や read-only connection で試せる。

一方で、IDE 級の database management、複数 database type の横断対応、複雑な import/export、graphical modeling、team permission management が必要なら、sabiql はまだその代替ではありません。PostgreSQL に絞り、よくある browsing と query 操作を terminal で滑らかにする narrow tool です。

まとめ

riii111/sabiql の design judgement ははっきりしています。PostgreSQL connection layer を作り直さず psql を使う。Heavy GUI ではなく、terminal 上で browsing、query、安全な editing、ER diagram、EXPLAIN workflow を提供する。

この type の tool の価値は、feature list の長さではなく、developer の現実の database browsing flow にどれだけ合うかで決まります。Terminal と PostgreSQL の間をよく往復しているなら、sabiql は試す価値があります。まず read-only mode で development database につなぎ、大きな database GUI を開いていた高頻度作業を置き換えられるか確認するとよいでしょう。