Skip to content

Latest commit

 

History

72 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

squeal

A lightweight TUI database viewer for SQLite and PostgreSQL, built in Rust.

squeal lets you open any SQLite or PostgreSQL database and browse its tables directly in the terminal. It features a split-pane interface. Navigation is intuitive and easy, and large tables are lazily loaded.

asciinema

Features

  • SQLite & PostgreSQL — auto-detects connection type from the URL
  • Recent databases — startup screen with recently opened databases
  • Split-pane layout — table list on the left, data on the right
  • Vim-style navigation — supports vim movement keys natively, as well as arrow keys
  • Lazy row loading — loads 100 rows at a time, fetches more on demand as you scroll
  • Column filtering — type-aware operators: exact match, substring, numeric comparisons
  • Column sorting — sort any column ascending or descending
  • Foreign key record view — press Enter on a row to view related records from referenced tables
  • Fuzzy finder — press Ctrl+P to quickly jump to any table or saved query
  • Peak view — press Space on a row to see full column values with type and key metadata
  • Query persistence — saved queries survive restarts, isolated per database connection
  • Auto-refresh — table data refreshes every 5 seconds (manual refresh with r)
  • Help overlay — press ? anytime to see all available keybindings

Installation

# Install via cargo binstall (picks up prebuilt binaries from GitHub releases)
cargo binstall squeal
# Install from source via GitHub
cargo install --git https://github.com/metruzanca/squeal
# Oneliner for servers
curl -sL https://github.com/metruzanca/squeal/releases/latest/download/squeal-x86_64-unknown-linux-musl.tar.gz | tar -xz && ./squeal

Usage

Open a database:

squeal my-database.db                # SQLite
squeal postgres://user:pass@host/db  # PostgreSQL
squeal --demo                        # preview with dummy data

Tech Stack

  • ratatui — terminal UI framework
  • rusqlite — SQLite bindings for Rust
  • postgres — PostgreSQL client for Rust
  • crossterm — cross-platform terminal input
  • clap — CLI argument parsing
How AI was used

This project was written entirely through agentic coding. I (@metruzanca) didn't write a single line of code—everything was done through prompts with Kimi K2.5 via Opencode. I've been writing code professionally since late 2019 and coding even longer than that, so while I didn't write the code, I wasn't flying blind when steering the agent in the right direction.

I'm currently using squeal in my own dev environment and it's working well. You're free to use it as-is or modify it to suit your needs.

Why is it called squeal?

Based on how ThePrimeagen jokingly pronounces SQL.

About

TUI app for viewing databases in your terminal

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages