CLIツール
achristmascarl/rainfrog avatar
achristmascarl/rainfrog

rainfrog v0.4.5のターミナルDBクライアントと4段階tier

ターミナル用のデータベース ツール。理論的には、mysql ドライバーは、mysql プロトコルをサポートするデータベースに対して同じことを実行できるはずです。

スター 5,332フォーク 95RustMIT

ひと目でわかる

これは何?
achristmascarl/rainfrogのPostgres/MySQL/SQLite/DuckDB/Oracle対応、vim風操作、cargo install、本番書き込み非推奨をREADMEから整理する。
誰に向いている?
rainfrogはターミナルで複数DBに触りたい開発者や、Ratatuiベースの軽量TUIを好むDBA向きです。READMEは本番DBへの書き込み権限付き利用を非推奨と明言し、開発中で破壊的変更があり得ると述べます。
商用利用できる?
できます。MIT は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
今もメンテナンスされている?
されています。最後のコミットは 22 日前です。
何の言語で書かれている?
主に Rust です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月15日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

Ratatui製ターミナルDBツールの目的

rainfrogはRust製のターミナル向けデータベースツールで、READMEは軽量なTUIでDB操作を行うことを目標に掲げます。vim風キーバインドとマウス操作、キーワードハイライト付きクエリエディタ、セッション履歴とお気に入り、スキーマ切替やテーブルメタデータ表示、macOS/Linux/Windows/Android(Termux)対応をfeatureとして列挙しています。

crates.io/crates/rainfrogがhomepageで、MITライセンス、stars約5299(素材時点)です。名前の由来はREADMEがScienceDailyのrainfrog/elephant tracks記事を引用して説明しており、エコロジー比喩は製品機能とは無関係です。

Ratatui製ターミナルDBツールの目的補足1: README一次資料の命令・設定名・版を検証ログ1行目に転記し、未記載挙動は未確認欄へ分離する。

Ratatui製ターミナルDBツールの目的補足2: README一次資料の命令・設定名・版を検証ログ2行目に転記し、未記載挙動は未確認欄へ分離する。

Ratatui製ターミナルDBツールの目的補足3: README一次資料の命令・設定名・版を検証ログ3行目に転記し、未記載挙動は未確認欄へ分離する。

Ratatui製ターミナルDBツールの目的補足4: README一次資料の命令・設定名・版を検証ログ4行目に転記し、未記載挙動は未確認欄へ分離する。

Postgres tier1からOracle tier4まで

supported databases表はtier 1〜4で支援度を分けます。Postgresがtier 1(最頻テスト、バグ優先)、MySQL/SQLite/Redshiftがtier 2、DuckDBがtier 3(prebuilt duckdbとmuslバイナリはドライバ非同梱とknown issues)、Oracleがtier 4(追加ランタイム依存、experimental)です。

RedshiftはPostgresワイヤプロトコル経由でPostgresドライバを流用するとREADMEは述べ、十分テストされていないと注意します。MySQLドライバも理論上MySQLプロトコル互換DBに使える可能性があるが、各DBの公式互換表を確認すべきと書かれています。tier表はrainfrog固有の期待値調整資料です。

Postgres tier1からOracle tier4まで補足1: README一次資料の命令・設定名・版を検証ログ1行目に転記し、未記載挙動は未確認欄へ分離する。

Postgres tier1からOracle tier4まで補足2: README一次資料の命令・設定名・版を検証ログ2行目に転記し、未記載挙動は未確認欄へ分離する。

Postgres tier1からOracle tier4まで補足3: README一次資料の命令・設定名・版を検証ログ3行目に転記し、未記載挙動は未確認欄へ分離する。

Postgres tier1からOracle tier4まで補足4: README一次資料の命令・設定名・版を検証ログ4行目に転記し、未記載挙動は未確認欄へ分離する。

cargo installとfeature組み合わせ

インストール基本はrustup後にcargo install rainfrog --lockedです。デフォルトですべてのfeatureが入り、Cargo.tomlでプラットフォーム非互換な組み合わせを確認するようREADMEは促します。cargo binstall rainfrogも選択肢です。

Homebrewはbrew install rainfrog、Arch Linuxはpacman -S rainfrog、conda/pixi/nix-envもREADMEに列挙されます。install.shはcurl -LSsf https://raw.githubusercontent.com/achristmascarl/rainfrog/main/install.sh | bashで、jqとfzfが必要、~/.local/bin/へバイナリを置く方式です。release pageから手動取得する手順もv0.4.5タグが最新(2026-08-25)としてリンクされています。

cargo installとfeature組み合わせ補足1: README一次資料の命令・設定名・版を検証ログ1行目に転記し、未記載挙動は未確認欄へ分離する。

cargo installとfeature組み合わせ補足2: README一次資料の命令・設定名・版を検証ログ2行目に転記し、未記載挙動は未確認欄へ分離する。

cargo installとfeature組み合わせ補足3: README一次資料の命令・設定名・版を検証ログ3行目に転記し、未記載挙動は未確認欄へ分離する。

cargo installとfeature組み合わせ補足4: README一次資料の命令・設定名・版を検証ログ4行目に転記し、未記載挙動は未確認欄へ分離する。

TermuxとOracle Instant Client

Termuxではpkg install rustの後、cargo install rainfrog --no-default-features --features termux相当(READMEはdefault featuresを切るよう指示)が必要です。Android端末でのDB閲覧というニッチ用途向けです。

OracleドライバはODPI-Cを使い、Oracle Client librariesが必要です。READMEはODPI-C Installationドキュメントをリンクし、Instant Clientをrainfrogバイナリと同じフォルダかライブラリパスに置く必要があると述べます。Oracle tier4を試す前にこの依存を満たすかがrainfrog Oracle検証の前提です。

TermuxとOracle Instant Client補足1: README一次資料の命令・設定名・版を検証ログ1行目に転記し、未記載挙動は未確認欄へ分離する。

TermuxとOracle Instant Client補足2: README一次資料の命令・設定名・版を検証ログ2行目に転記し、未記載挙動は未確認欄へ分離する。

TermuxとOracle Instant Client補足3: README一次資料の命令・設定名・版を検証ログ3行目に転記し、未記載挙動は未確認欄へ分離する。

TermuxとOracle Instant Client補足4: README一次資料の命令・設定名・版を検証ログ4行目に転記し、未記載挙動は未確認欄へ分離する。

接続URL・環境変数・docker run

usage節はconnection options、connection url、environment variables、docker runの4パターンを目次に持ちます。README抜粋では具体例が省略されているため、接続試験時はリポジトリのusage章かrainfrog --helpが一次資料です。

customizationではsettings、database connections、keybindings(macユーザー向け注記、menu、query editor、history、favorites、results)が分節されています。Nerd Fontがアイコン表示に必要とicons節が述べ、ターミナル字体設定もrainfrog体験の一部です。

接続URL・環境変数・docker run補足1: README一次資料の命令・設定名・版を検証ログ1行目に転記し、未記載挙動は未確認欄へ分離する。

接続URL・環境変数・docker run補足2: README一次資料の命令・設定名・版を検証ログ2行目に転記し、未記載挙動は未確認欄へ分離する。

接続URL・環境変数・docker run補足3: README一次資料の命令・設定名・版を検証ログ3行目に転記し、未記載挙動は未確認欄へ分離する。

接続URL・環境変数・docker run補足4: README一次資料の命令・設定名・版を検証ログ4行目に転記し、未記載挙動は未確認欄へ分離する。

本番書き込み禁止とactive development

disclaimer節はactive development中で破壊的変更があり得ること、自己責任で使うこと、本番DBへのwrite access付き利用は非推奨と明記しています。これはrainfrog README上の強い制約です。

読み取り専用ロールでstaging DBに接続し、schemaブラウザとquery editorの操作感を確かめるのがREADMEの意図に沿った試し方です。exports、favorites、known issues and limitations節はREADME後半にあり、v0.4.5リリースノートと合わせて読むと機能境界が把握しやすくなります。

本番書き込み禁止とactive development補足1: README一次資料の命令・設定名・版を検証ログ1行目に転記し、未記載挙動は未確認欄へ分離する。

本番書き込み禁止とactive development補足2: README一次資料の命令・設定名・版を検証ログ2行目に転記し、未記載挙動は未確認欄へ分離する。

本番書き込み禁止とactive development補足3: README一次資料の命令・設定名・版を検証ログ3行目に転記し、未記載挙動は未確認欄へ分離する。

本番書き込み禁止とactive development補足4: README一次資料の命令・設定名・版を検証ログ4行目に転記し、未記載挙動は未確認欄へ分離する。

v0.4.5でのPostgres接続スモーク

検証手順として、cargo install rainfrog --lockedを実行し、PATH上でrainfrogが起動することを確認します。Postgres tier1なので、README usageのconnection url形式でローカルpostgres://ユーザー:パス@localhost/dbnameを渡し、menuでschema一覧が開くかを見ます。

query editorでSELECT 1を実行し、resultsペインに行が返るかを記録します。DuckDB tier3を試す場合はknown issuesのmusl/prebuilt制約を読み、--no-default-featuresでduckdb featureを調整する必要があるかCargo.tomlを直接確認するのがrainfrog READMEから導ける次のステップです。

v0.4.5でのPostgres接続スモーク補足1: README一次資料の命令・設定名・版を検証ログ1行目に転記し、未記載挙動は未確認欄へ分離する。

v0.4.5でのPostgres接続スモーク補足2: README一次資料の命令・設定名・版を検証ログ2行目に転記し、未記載挙動は未確認欄へ分離する。

v0.4.5でのPostgres接続スモーク補足3: README一次資料の命令・設定名・版を検証ログ3行目に転記し、未記載挙動は未確認欄へ分離する。

v0.4.5でのPostgres接続スモーク補足4: README一次資料の命令・設定名・版を検証ログ4行目に転記し、未記載挙動は未確認欄へ分離する。

keybindingsとexports/favorites節

README customization目次はsettings、database connections、keybindings(mac向け注記、menu、query editor、history、favorites、results)を分節しています。exports、favorites、known issues and limitations節は後半にあり、v0.4.5(2026-08-25)Releaseと併読すると機能境界が把握しやすくなります。

install.shはcurl -LSsf raw.githubusercontent.com/achristmascarl/rainfrog/main/install.sh | bashで、jqとfzf依存、~/.local/bin/配置をREADME install script節が説明しています。Nerd Fontはicons節で必須とされ、ターミナル字体設定もrainfrog体験の一部です。

docker run節が目次にあるため、コンテナ経由接続例はリポジトリusage章を直接開くのがrainfrog固有導線です。Postgres tier1でcargo install rainfrog --locked後にconnection url形式でSELECT 1をresultsペイン確認する流れがREADME整合スモークです。

keybindingsとexports/favorites節補足1: README一次資料の命令・設定名・版を検証ログ1行目に転記し、未記載挙動は未確認欄へ分離する。

keybindingsとexports/favorites節補足2: README一次資料の命令・設定名・版を検証ログ2行目に転記し、未記載挙動は未確認欄へ分離する。

keybindingsとexports/favorites節補足3: README一次資料の命令・設定名・版を検証ログ3行目に転記し、未記載挙動は未確認欄へ分離する。

keybindingsとexports/favorites節補足4: README一次資料の命令・設定名・版を検証ログ4行目に転記し、未記載挙動は未確認欄へ分離する。

編集部の結論

rainfrogはターミナルで複数DBに触りたい開発者や、Ratatuiベースの軽量TUIを好むDBA向きです。READMEは本番DBへの書き込み権限付き利用を非推奨と明言し、開発中で破壊的変更があり得ると述べます。GUIベースのSchemaブラウザや、Oracle tier4をREADMEだけで完結させたい場合は向きません。`cargo install rainfrog --locked`後、Postgres接続URLで起動し、query editorでSELECT 1が結果ペインに出るか確認してください。

公式情報源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
コミュニティノート

コミュニティノート