Fast, safe-by-design, Vim-first TUI for PostgreSQL, MySQL, and SQLite, built in Rust.
Rust
317
3,494 commits
updated Oct 19, 2026
Fast, safe-by-design, Vim-first DB TUI with ER diagrams.
Vim-first · Safe by design · Oil-and-vinegar UI · Fast and lightweight
sabiql brings database browsing, querying, and editing into the terminal while using the native CLI for each database. PostgreSQL connections can reuse existing libpq connection settings such as .pgpass, pg_service.conf, and SSL settings.
Like oil.nvim, sabiql keeps its interface out of your way. Following oil.nvim's "oil and vinegar" philosophy, UI elements appear only when needed. Vim-native keybindings such as j/k, dd, and / keep navigation and editing familiar.
Safety follows a plan-before-apply flow familiar from Terraform: inline edits and row deletions show the SQL and its risk level before you confirm the change. Read-only mode (Ctrl+R) also blocks writes at the database client level.
Ctrl+R) — Block writes while investigating dataPress ? inside sabiql to see all commands and keybindings.
# macOS / Linux
brew install sabiql
# Cargo (crates.io)
cargo install sabiql
# Nix
nix profile install github:riii111/sabiql
# Run once with Nix, without installing
nix run github:riii111/sabiql
# Windows x86_64 (experimental)
# Download sabiql-x86_64-pc-windows-msvc.zip from GitHub Releases,
# extract sabiql.exe, and add its directory to PATH.
# Arch Linux (AUR)
paru -S sabiql # or yay -S sabiql
# Void Linux (Unofficial Repo)
echo "repository=https://mirror.black-hole.dev/$(xbps-uhelper arch)/" | sudo tee /etc/xbps.d/20-repository-extra.conf
sudo xbps-install -S sabiql
# FreeBSD (ports)
cd /usr/ports/databases/sabiql/ && make install clean
# Install script
curl -fsSL https://raw.githubusercontent.com/riii111/sabiql/main/install.sh | sh
sabiql uses the CLI for the database you want to open:
psqlmysql CLI 8.4.x. Oracle MySQL servers 5.7, 8.0, and 8.4 can be connected to; 8.4 is the continuously validated server version and older or newer Oracle server versions are not fully guaranteed.sqlite3 by default. Check that it is version 3.41.1 or later; additional installation is usually unnecessary. On Linux and other platforms, install sqlite3 version 3.41.1 or later.Graphviz is required only for PostgreSQL and MySQL ER diagrams. SQLite does not support ER diagrams.
Windows support is experimental.
See MySQL support and limitations and SQLite support and limitations for supported versions and database-specific limitations.
Launch sabiql and enter your connection details:
sabiql
You can also open an existing SQLite database directly:
sabiql /path/to/app.db
Use Ctrl+R before browsing data when you want to block writes. Press ? for help, or open Settings with , to change the theme and keymap.
Ctrl+R)sabiql.nvim)Have a feature request? Open an issue. Feedback is welcome!
MIT — see LICENSE.
912 followers · starred Feb 2026
5,480 followers · starred Feb 2026
308 followers · starred Feb 2026
169 followers · starred Sep 2026
Fast, safe-by-design, Vim-first TUI for PostgreSQL, MySQL, and SQLite, built in Rust.
Rust
317
3,494 commits
updated Oct 19, 2026
Fast, safe-by-design, Vim-first DB TUI with ER diagrams.
Vim-first · Safe by design · Oil-and-vinegar UI · Fast and lightweight
sabiql brings database browsing, querying, and editing into the terminal while using the native CLI for each database. PostgreSQL connections can reuse existing libpq connection settings such as .pgpass, pg_service.conf, and SSL settings.
Like oil.nvim, sabiql keeps its interface out of your way. Following oil.nvim's "oil and vinegar" philosophy, UI elements appear only when needed. Vim-native keybindings such as j/k, dd, and / keep navigation and editing familiar.
Safety follows a plan-before-apply flow familiar from Terraform: inline edits and row deletions show the SQL and its risk level before you confirm the change. Read-only mode (Ctrl+R) also blocks writes at the database client level.
Ctrl+R) — Block writes while investigating dataPress ? inside sabiql to see all commands and keybindings.
# macOS / Linux
brew install sabiql
# Cargo (crates.io)
cargo install sabiql
# Nix
nix profile install github:riii111/sabiql
# Run once with Nix, without installing
nix run github:riii111/sabiql
# Windows x86_64 (experimental)
# Download sabiql-x86_64-pc-windows-msvc.zip from GitHub Releases,
# extract sabiql.exe, and add its directory to PATH.
# Arch Linux (AUR)
paru -S sabiql # or yay -S sabiql
# Void Linux (Unofficial Repo)
echo "repository=https://mirror.black-hole.dev/$(xbps-uhelper arch)/" | sudo tee /etc/xbps.d/20-repository-extra.conf
sudo xbps-install -S sabiql
# FreeBSD (ports)
cd /usr/ports/databases/sabiql/ && make install clean
# Install script
curl -fsSL https://raw.githubusercontent.com/riii111/sabiql/main/install.sh | sh
sabiql uses the CLI for the database you want to open:
psqlmysql CLI 8.4.x. Oracle MySQL servers 5.7, 8.0, and 8.4 can be connected to; 8.4 is the continuously validated server version and older or newer Oracle server versions are not fully guaranteed.sqlite3 by default. Check that it is version 3.41.1 or later; additional installation is usually unnecessary. On Linux and other platforms, install sqlite3 version 3.41.1 or later.Graphviz is required only for PostgreSQL and MySQL ER diagrams. SQLite does not support ER diagrams.
Windows support is experimental.
See MySQL support and limitations and SQLite support and limitations for supported versions and database-specific limitations.
Launch sabiql and enter your connection details:
sabiql
You can also open an existing SQLite database directly:
sabiql /path/to/app.db
Use Ctrl+R before browsing data when you want to block writes. Press ? for help, or open Settings with , to change the theme and keymap.
Ctrl+R)sabiql.nvim)Have a feature request? Open an issue. Feedback is welcome!
MIT — see LICENSE.
912 followers · starred Feb 2026
5,480 followers · starred Feb 2026
308 followers · starred Feb 2026
169 followers · starred Sep 2026