Встречайте databow — новый open-source инструмент для работы с базами данных прямо из терминала. Это одна утилита, написанная на Rust, которая подключается к любой базе с ADBC-драйвером. Разработчики устали от зоопарка CLI: psql, mysql, snowsql, bq, sqlite3 — у каждого свои флаги, формат вывода и странности. databow даёт единый интерфейс для всего стека.
Утилита поддерживает больше 30 баз. Транзакционные: PostgreSQL, MySQL, MariaDB, SQLite, Oracle, Microsoft SQL Server, CockroachDB, YugabyteDB, TiDB. Аналитические: DuckDB, ClickHouse, Snowflake, BigQuery, Databricks, Amazon Redshift, Teradata. Lakehouse: Trino, Dremio, StarRocks, Apache Doris. Time-series: InfluxDB, TimescaleDB, GreptimeDB. Список растёт вместе с экосистемой ADBC.
databow умеет работать в интерактивном режиме — современный REPL с подсветкой синтаксиса, поддержкой многострочных запросов, чистыми таблицами с динамической шириной столбцов и историей команд. Можно выполнить databow --driver duckdb и сразу писать SQL. Результаты экспортируются в CSV, JSON или Arrow. Утилита заточена под скрипты и пайплайны: databow --driver postgresql --file daily_metrics.sql --output metrics.csv или просто через echo "SELECT version()" | databow --driver postgresql.
Длинные строки подключения сохраняются в профили — --profile production-warehouse и готово.
В основе databow лежит стандарт ADBC от Apache Arrow. ADBC — это аналог JDBC и ODBC, но спроектированный для передачи данных в колоночном формате Arrow. Результаты возвращаются без построчной сериализации, а если база говорит на Arrow «нативно», то оверхед вообще нулевой. API одинаковый для всех баз, и когда появляется новый ADBC-драйвер, databow его подхватывает автоматически.
Установка — одной командой: uv tool install databow или cargo install databow. Драйверы ставятся через dbc install duckdb. В планах — dot-команды для быстрой настройки, экспорт в Parquet, настройка лимитов для больших выборок и отображение типов данных рядом с результатами.