A terminal (TUI) database client for PostgreSQL, MySQL, SQLite, DuckDB and more, with vim-style keybindings.
columnar-tech/databow
A command-line tool for running SQL queries against databases through ADBC drivers, with an interactive shell and file export.
Open-source alternative to:DBeaver
- Stars
- 299
- Forks
- 19
- Open issues
- 9
- Last commit
- 7 days ago
What is it?
databow is a command-line client for querying databases through Apache ADBC (Arrow Database Connectivity). Any database with a compatible ADBC driver can be connected to from the same tool, so developers do not need a separate client for each database system. The examples in the project use DuckDB, with drivers installed through the dbc tool.
It offers an interactive SQL shell with command history and SQL syntax highlighting, and it prints results as aligned tables that adjust column widths to the content. It can also run in non-interactive mode, taking a query from a command-line flag, standard input, or a SQL file.
Query results can be written to JSON, JSON Lines, CSV, Arrow IPC, or Parquet files. Connection settings can be supplied through flags such as --driver, --uri, --username, and --option, or through a saved profile. The tool is written in Rust and installs via uv, Cargo, or Homebrew.
Key features
- 01Connects to any database that has a compatible ADBC driver.
- 02Interactive SQL shell with command history and syntax highlighting.
- 03Runs queries from a flag, standard input, or a SQL file, then exits.
- 04Exports results to JSON, JSON Lines, CSV, Arrow IPC, or Parquet.
- 05Supports connection profiles and driver-specific options.
Use cases
- Querying a local DuckDB file or in-memory database from the terminal.
- Running SQL scripts against a database in shell pipelines or CI jobs.
- Exporting query results to CSV or Parquet for further analysis.
- Using one command-line client across several database engines.
Quick start
- 1
Install databow with uv
uv tool install databow - 2
Install the DuckDB ADBC driver with dbc
dbc install duckdb - 3
Start the interactive shell connected to DuckDB in-memory
databow --driver duckdb
Things to know
- Requires a separate ADBC driver to be installed for each database you want to query.
In collections
Topics
FAQ
- What is databow?
- A command-line tool for running SQL queries against databases through ADBC drivers, with an interactive shell and file export. databow is a command-line client for querying databases through Apache ADBC (Arrow Database Connectivity). Any database with a compatible ADBC driver can be connected to from the same tool, so developers do not need a separate client for each database system. The examples in the project use DuckDB, with drivers installed through the dbc tool.
- Is databow free to use? What license does it have?
- databow is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is databow still maintained?
- Actively maintained. The last commit to databow was on Oct 15, 2026.
- What can I use databow for?
- Querying a local DuckDB file or in-memory database from the terminal. Running SQL scripts against a database in shell pipelines or CI jobs. Exporting query results to CSV or Parquet for further analysis. Using one command-line client across several database engines.
- How do I install databow?
- Install databow with uv: uv tool install databow Install the DuckDB ADBC driver with dbc: dbc install duckdb Start the interactive shell connected to DuckDB in-memory: databow --driver duckdb
- Where can I get databow?
- The source code and installation instructions are on GitHub: https://github.com/columnar-tech/databow
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
AI-powered database client and MCP server for desktop and web, supporting Postgres, MySQL, MariaDB, SQL Server, ClickHouse and SQLite.
A free, local-first, AI-assisted database client and SQL workspace supporting 40+ databases across desktop, web, Docker and CLI.
Cross-platform SQL editor and database manager for Linux, macOS, and Windows, supporting MySQL, PostgreSQL, SQLite, SQL Server and many more.
Open-source database governance platform that controls schema changes, access, and queries across major databases for both humans and AI agents.
Lightweight cross-platform database client for 100+ databases, with desktop, Docker, CLI, a built-in AI SQL assistant and an MCP server.