rainfrog: A Terminal Database Client That Puts Postgres First
a database tool for the terminal. in theory, the mysql driver should be able to do the same for databases that support the mysql protocol.
At a glance
- What is it?
- rainfrog is a Rust terminal database client with a query editor, keyboard navigation and different support tiers for its database drivers. PostgreSQL is the most frequently tested; the project cautions against production write access.
- Who is it for?
- Adopt rainfrog if you are a Postgres user who lives in the terminal and values lightweight, keyboard-driven database browsing, and you are comfortable with active development and potential breaking changes. Avoid it if you need production write access, rely on Oracle, or expect stable behavior across all databases.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 2 days ago.
- What is it written in?
- Mainly Rust, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on November 13, 2026, and from our analysis. They are not legal advice.
Star history
- achristmascarl/rainfrog5,404 ★ · +187
| Repository | 2026-07-28 | 2026-11-13 |
|---|---|---|
| achristmascarl/rainfrog | 5.2k | 5.4k |
187 Stars in the last 108 days, measured from the daily GitHub snapshot. Compare with other projects
Editorial analysis
What rainfrog Solves and Who It's For
rainfrog brings schema browsing and SQL queries into a terminal interface. Its README lists PostgreSQL as tier 1, MySQL, SQLite, Redshift and DuckDB as tier 2, and Oracle as community-supported tier 3. The tiers describe testing and maintenance attention, not a guarantee of compatibility.
Redshift uses the PostgreSQL driver via the wire protocol; the project warns that this route is not well tested. Check connectivity and the operations you need against your database version before relying on it.
How rainfrog Works: Architecture and Data Flow
The interface provides Vim-like navigation and mouse support, a query editor with highlighting, session history and favorites, and shortcuts for inspecting table metadata. Mouse support is limited to focus and scrolling: the README says it cannot select menu items or edit text with the mouse.
The client connects through the selected database driver. Use the documented connection options, URL or saved connection settings, and grant only the permissions required for the task.
Getting Started: Installation and First Run
The project documents package-manager, Cargo and release-binary installation. For example, with Rust installed, the README gives `cargo install rainfrog --locked`; Homebrew users can use `brew install rainfrog`. Check the current instructions and available features for your platform.
You can provide a driver, host, port, user and database as options, or use a connection URL. The README also documents `DATABASE_URL` and a Docker image. Oracle needs separate Oracle Client libraries, and the documented Docker image does not currently support drivers requiring runtime dependencies such as Oracle.
Customization: Settings, Keybindings, and Connections
Settings and named connections live in `rainfrog_config.toml`; `rainfrog edit` can create or open the configuration. `RAINFROG_CONFIG` points to the containing directory, not the file itself. The README describes settings for mouse capture and display, plus a subset of customizable keybindings.
Connection selection prioritizes command-line input, then `DATABASE_URL`, then configuration. For saved connections the application can prompt for a password and offer to store it in the platform keychain. Avoid exposing credentials in shell history or shared configuration.
Exports and Favorites: Practical Workflow Features
The results pane can export query results to CSV; the README warns that exporting is blocking and a large export can freeze the application. The default destination is the operating system's downloads directory and can be changed with `RAINFROG_EXPORT`.
Favorite queries are saved as separate SQL files in the application's data directory by default, with `RAINFROG_FAVORITES` available to change the location. Treat exports and saved SQL as potentially sensitive files.
Limitations and Known Issues: Where rainfrog Falls Short
The README says geometry types are not currently supported and that mouse interaction is limited. Some prebuilt Android, i686 and musl binaries omit DuckDB, while Oracle needs client libraries. A Nerd Font is needed for the documented icons.
The project warns that breaking changes are possible and recommends against granting production write access. Start with a staging database and a read-only account; verify the features and drivers needed in your environment.
Alternatives: How rainfrog Compares to Other Terminal Clients
PostgreSQL's psql and pgcli offer command-line workflows, while usql targets multiple database systems. rainfrog adds a terminal interface for navigating schemas, editing queries and inspecting results. Compare actual driver support, workflows and operational requirements for your environment rather than assuming equivalent features or stability.
Maintenance, Upgrades, and License Implications
The repository identifies the project as MIT licensed. Before upgrading, read the release notes and test the new binary and configuration against a staging database. The project warns of breaking changes and recommends against production write access; the support tiers also differ by database.
Editorial conclusion
Adopt rainfrog if you are a Postgres user who lives in the terminal and values lightweight, keyboard-driven database browsing, and you are comfortable with active development and potential breaking changes. Avoid it if you need production write access, rely on Oracle, or expect stable behavior across all databases. Before adopting, verify your specific database's tier and known issues, check feature flags in Cargo.toml for platform compatibility, and test read-only against a staging instance first.
Frequently asked questions
Which databases does rainfrog support best?
postgres is the only tier 1 entry, meaning most frequently tested. mysql, sqlite, redshift and duckdb are tier 2, and oracle is tier 3, which the tiers define as community supported with minimal development.
Can rainfrog reach a Redshift database?
Yes, through the postgres driver over the postgres wire protocol. The README attaches a warning to that route: this functionality is not well tested, and it suggests checking each database's own documentation for compatibility.
Does rainfrog work on Android through Termux?
Termux users install rust with pkg install rust and then run cargo install rainfrog --no-default-features. Note that the prebuilt android, i686 and musl binaries do not include the duckdb driver.
What does rainfrog need before it can connect to Oracle?
The oracle driver uses ODPI-C, which requires Oracle Client libraries to be installed. After installation the client files may need to be copied manually to a location ODPI-C can find, such as the same folder as the rainfrog binary.
Is it safe to point rainfrog at a production database?
The disclaimer says the software is under active development, that breaking changes should be expected, and that it is not recommended to use the tool with write access on a production database.
Official sources
Was this useful?