<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Priyank Malviya</title>
    <description>The latest articles on DEV Community by Priyank Malviya (@malviyapriyank).</description>
    <link>https://dev.to/malviyapriyank</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3842156%2Ff19c7dc0-4824-426a-8b97-84595bc4fc35.png</url>
      <title>DEV Community: Priyank Malviya</title>
      <link>https://dev.to/malviyapriyank</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/malviyapriyank"/>
    <language>en</language>
    <item>
      <title>7 CLI Tools Every Data Engineer Needs in 2025</title>
      <dc:creator>Priyank Malviya</dc:creator>
      <pubDate>Sun, 26 Apr 2026 13:37:54 +0000</pubDate>
      <link>https://dev.to/malviyapriyank/7-cli-tools-every-data-engineer-needs-in-2025-34hg</link>
      <guid>https://dev.to/malviyapriyank/7-cli-tools-every-data-engineer-needs-in-2025-34hg</guid>
      <description>&lt;h2&gt;
  
  
  Why CLI Tools Still Matter
&lt;/h2&gt;

&lt;p&gt;In a world of flashy GUIs and cloud consoles, CLI tools remain the secret weapon of productive data engineers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Speed&lt;/strong&gt; — No mouse hunting, no loading screens&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scriptability&lt;/strong&gt; — Automate everything with bash, Python, or cron&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Remote-friendly&lt;/strong&gt; — SSH into any server and you're productive immediately&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Composability&lt;/strong&gt; — Pipe output between tools (&lt;code&gt;tool1 | tool2 | tool3&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lower resource usage&lt;/strong&gt; — No Electron apps eating 2GB of RAM&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The best data engineers I know live in the terminal. Here are the 7 CLI tools that will 10x your productivity in 2025.&lt;/p&gt;




&lt;h2&gt;
  
  
  1. Frosty — AI Agent for Multi-Database Operations 🥇
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/Gyrus-Dev/frosty" rel="noopener noreferrer"&gt;https://github.com/Gyrus-Dev/frosty&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Best for:&lt;/strong&gt; Natural language database operations across Snowflake, PostgreSQL, SQL Server&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Price:&lt;/strong&gt; Free (open-source)&lt;/p&gt;
&lt;h3&gt;
  
  
  What It Does
&lt;/h3&gt;

&lt;p&gt;Frosty is an AI agent that translates plain English into database operations. Instead of writing SQL or DDL manually, you type:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"show me my top 10 customers by revenue last quarter"
"set up MFA for all users without it"
"why is my warehouse spend up 40% this month?"
"create a data pipeline for S3 CSV ingestion with daily loads"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Frosty handles schema discovery, query generation, safety validation, and execution.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why It's #1
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Frosty&lt;/th&gt;
&lt;th&gt;Traditional Tools&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Natural language input&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Multi-database support&lt;/td&gt;
&lt;td&gt;✅ (Snowflake + Postgres + SQL Server)&lt;/td&gt;
&lt;td&gt;Varies&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Auto-generate DDL&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Safety gates (block DROP)&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Self-hosted&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;Sometimes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Price&lt;/td&gt;
&lt;td&gt;Free&lt;/td&gt;
&lt;td&gt;$0–$$$&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Real-World Use Cases
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Data Engineering:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;"set up a data pipeline for S3 CSV ingestion"&lt;/span&gt;
&lt;span class="c"&gt;# Generates: external stage, file format, table, COPY INTO, task schedule&lt;/span&gt;
&lt;span class="c"&gt;# Time: 5 minutes vs. 2-3 hours manually&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Security:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;"enforce MFA for all users without it"&lt;/span&gt;
&lt;span class="c"&gt;# Generates ALTER statements, shows preview, executes with approval&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Cost Governance:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;"why is warehouse spend up 40% this month?"&lt;/span&gt;
&lt;span class="c"&gt;# Queries metering views, returns itemized breakdown with recommendations&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Setup
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/Gyrus-Dev/frosty.git
&lt;span class="nb"&gt;cd &lt;/span&gt;frosty
pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; requirements.txt
&lt;span class="c"&gt;# Configure .env with credentials + API key&lt;/span&gt;
python &lt;span class="nt"&gt;-m&lt;/span&gt; src.frosty_ai.objagents.main
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Model Support
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;OpenAI (GPT-4, GPT-4o)&lt;/li&gt;
&lt;li&gt;Anthropic (Claude 3.5, Claude 3)&lt;/li&gt;
&lt;li&gt;Google (Gemini 2.0, Gemini 1.5)&lt;/li&gt;
&lt;li&gt;Ollama (local, free)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Swap models in one &lt;code&gt;.env&lt;/code&gt; line — no code changes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Safety
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;DROP&lt;/code&gt; unconditionally blocked in code&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;CREATE OR REPLACE&lt;/code&gt; requires explicit approval&lt;/li&gt;
&lt;li&gt;Read-only modes for analyst roles&lt;/li&gt;
&lt;li&gt;Audit logging of all executed statements&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Verdict
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Must-have&lt;/strong&gt; for any data engineer working with Snowflake, PostgreSQL, or SQL Server. The time savings on repetitive tasks alone justify installation. Multi-database unified interface launching late April 2025.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Rating:&lt;/strong&gt; ⭐⭐⭐⭐⭐ (5/5)&lt;/p&gt;




&lt;h2&gt;
  
  
  2. dbt (Data Build Tool) — SQL Transformations
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Website:&lt;/strong&gt; &lt;a href="https://getdbt.com" rel="noopener noreferrer"&gt;https://getdbt.com&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Best for:&lt;/strong&gt; Analytics engineering, SQL-based transformations in data warehouses&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Price:&lt;/strong&gt; Free (Core), $$$ (Cloud)&lt;/p&gt;
&lt;h3&gt;
  
  
  What It Does
&lt;/h3&gt;

&lt;p&gt;dbt lets you write SQL transformations that are version-controlled, tested, and documented. You write &lt;code&gt;SELECT&lt;/code&gt; statements; dbt handles DDL, dependencies, and orchestration.&lt;/p&gt;
&lt;h3&gt;
  
  
  Example Workflow
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="c1"&gt;-- models/customers.sql&lt;/span&gt;
&lt;span class="p"&gt;{{&lt;/span&gt;
  &lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;materialized&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'table'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;tags&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'customers'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'core'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
  &lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;}}&lt;/span&gt;

&lt;span class="k"&gt;select&lt;/span&gt;
    &lt;span class="n"&gt;customer_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="k"&gt;sum&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;revenue&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;total_revenue&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="k"&gt;count&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;order_id&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;order_count&lt;/span&gt;
&lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="k"&gt;ref&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'orders'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;}}&lt;/span&gt;
&lt;span class="k"&gt;group&lt;/span&gt; &lt;span class="k"&gt;by&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Run with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;dbt run &lt;span class="nt"&gt;--select&lt;/span&gt; customers
dbt &lt;span class="nb"&gt;test&lt;/span&gt; &lt;span class="nt"&gt;--select&lt;/span&gt; customers
dbt docs generate
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Key Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Modular SQL&lt;/strong&gt; — Use &lt;code&gt;ref()&lt;/code&gt; to build dependency graphs&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Testing&lt;/strong&gt; — Built-in assertions (&lt;code&gt;unique&lt;/code&gt;, &lt;code&gt;not_null&lt;/code&gt;, &lt;code&gt;accepted_values&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Documentation&lt;/strong&gt; — Auto-generated data dictionary&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CI/CD&lt;/strong&gt; — Integrate with GitHub Actions, GitLab CI&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Environments&lt;/strong&gt; — Dev, staging, prod with separate schemas&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  When to Use It
&lt;/h3&gt;

&lt;p&gt;✅ Building analytics models in Snowflake/BigQuery/Redshift&lt;br&gt;&lt;br&gt;
✅ Team collaboration on SQL transformations&lt;br&gt;&lt;br&gt;
✅ Need for testing and documentation&lt;br&gt;&lt;br&gt;
❌ Real-time streaming (use dbt + Airflow or dbt + Kafka)&lt;br&gt;&lt;br&gt;
❌ Non-SQL transformations (use Python + Pandas instead)&lt;/p&gt;
&lt;h3&gt;
  
  
  Verdict
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Industry standard&lt;/strong&gt; for analytics engineering. If you're doing SQL transformations in a data warehouse, dbt should be in your stack.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Rating:&lt;/strong&gt; ⭐⭐⭐⭐⭐ (5/5)&lt;/p&gt;


&lt;h2&gt;
  
  
  3. pgcli / mycli — Enhanced Database Clients
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/dbcli/pgcli" rel="noopener noreferrer"&gt;https://github.com/dbcli/pgcli&lt;/a&gt; (PostgreSQL)&lt;br&gt;&lt;br&gt;
&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/dbcli/mycli" rel="noopener noreferrer"&gt;https://github.com/dbcli/mycli&lt;/a&gt; (MySQL/MariaDB)&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Best for:&lt;/strong&gt; Interactive SQL with auto-completion and syntax highlighting&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Price:&lt;/strong&gt; Free (open-source)&lt;/p&gt;
&lt;h3&gt;
  
  
  What They Do
&lt;/h3&gt;

&lt;p&gt;These are drop-in replacements for &lt;code&gt;psql&lt;/code&gt; and &lt;code&gt;mysql&lt;/code&gt; with superpowers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Auto-completion&lt;/strong&gt; — Table names after &lt;code&gt;FROM&lt;/code&gt;, column names after &lt;code&gt;WHERE&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Syntax highlighting&lt;/strong&gt; — Colorized SQL in the terminal&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Smart completion&lt;/strong&gt; — Context-aware suggestions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-line mode&lt;/strong&gt; — Write complex queries across lines&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fuzzy search&lt;/strong&gt; — Quickly find tables/columns&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Example
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Instead of psql&lt;/span&gt;
psql &lt;span class="nt"&gt;-h&lt;/span&gt; localhost &lt;span class="nt"&gt;-U&lt;/span&gt; postgres &lt;span class="nt"&gt;-d&lt;/span&gt; mydb

&lt;span class="c"&gt;# Use pgcli&lt;/span&gt;
pgcli &lt;span class="nt"&gt;-h&lt;/span&gt; localhost &lt;span class="nt"&gt;-U&lt;/span&gt; postgres &lt;span class="nt"&gt;-d&lt;/span&gt; mydb
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Now type:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="k"&gt;c&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;  &lt;span class="o"&gt;#&lt;/span&gt; &lt;span class="n"&gt;Auto&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;completes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;customer_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;customer_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;created_at&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;...&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;customers&lt;/span&gt; &lt;span class="k"&gt;c&lt;/span&gt;
&lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="k"&gt;c&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;   &lt;span class="o"&gt;#&lt;/span&gt; &lt;span class="n"&gt;Auto&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;completes&lt;/span&gt; &lt;span class="k"&gt;column&lt;/span&gt; &lt;span class="k"&gt;names&lt;/span&gt; &lt;span class="n"&gt;again&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Key Features
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;pgcli/mycli&lt;/th&gt;
&lt;th&gt;psql/mysql&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Auto-completion&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌ (basic in psql)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Syntax highlighting&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Smart completion&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Multi-line mode&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;Manual (&lt;code&gt;\e&lt;/code&gt; in psql)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Fuzzy search&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  When to Use It
&lt;/h3&gt;

&lt;p&gt;✅ Daily SQL work in PostgreSQL or MySQL&lt;br&gt;&lt;br&gt;
✅ Want better UX than default CLI&lt;br&gt;&lt;br&gt;
✅ Working with large schemas (auto-completion saves time)&lt;br&gt;&lt;br&gt;
❌ Need GUI features (ER diagrams, visual query builder)&lt;br&gt;&lt;br&gt;
❌ Working with unsupported databases (only Postgres/MySQL)&lt;/p&gt;
&lt;h3&gt;
  
  
  Verdict
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Instant productivity boost&lt;/strong&gt; for PostgreSQL and MySQL users. Installation takes 30 seconds; you'll wonder how you lived without it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Rating:&lt;/strong&gt; ⭐⭐⭐⭐⭐ (5/5)&lt;/p&gt;


&lt;h2&gt;
  
  
  4. ingestr — Data Copying Between Databases
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/igorbarinov/ingestr" rel="noopener noreferrer"&gt;https://github.com/igorbarinov/ingestr&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Best for:&lt;/strong&gt; Copying data between databases without custom code&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Price:&lt;/strong&gt; Free (open-source)&lt;/p&gt;
&lt;h3&gt;
  
  
  What It Does
&lt;/h3&gt;

&lt;p&gt;ingestr copies data from source to destination databases with support for incremental loads. No custom Python scripts needed.&lt;/p&gt;
&lt;h3&gt;
  
  
  Example
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Copy entire table&lt;/span&gt;
ingestr copy &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--source&lt;/span&gt; postgres://user:pass@localhost/mydb &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--source-table&lt;/span&gt; &lt;span class="nb"&gt;users&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--destination&lt;/span&gt; snowflake://account/user/pass &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--destination-table&lt;/span&gt; analytics.users

&lt;span class="c"&gt;# Incremental load (append only)&lt;/span&gt;
ingestr copy &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--source&lt;/span&gt; postgres://... &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--source-table&lt;/span&gt; orders &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--destination&lt;/span&gt; snowflake://... &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--destination-table&lt;/span&gt; analytics.orders &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--mode&lt;/span&gt; append &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--incremental-key&lt;/span&gt; created_at
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Supported Sources/Destinations
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;PostgreSQL&lt;/li&gt;
&lt;li&gt;MySQL&lt;/li&gt;
&lt;li&gt;SQL Server&lt;/li&gt;
&lt;li&gt;BigQuery&lt;/li&gt;
&lt;li&gt;Snowflake&lt;/li&gt;
&lt;li&gt;Redshift&lt;/li&gt;
&lt;li&gt;CSV/Parquet files&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Key Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Incremental loads&lt;/strong&gt; — &lt;code&gt;append&lt;/code&gt;, &lt;code&gt;delete+insert&lt;/code&gt;, &lt;code&gt;create+replace&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Schema auto-detection&lt;/strong&gt; — No manual DDL writing&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scheduling&lt;/strong&gt; — Integrate with cron, Airflow, Prefect&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Logging&lt;/strong&gt; — Row counts, timing, error handling&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  When to Use It
&lt;/h3&gt;

&lt;p&gt;✅ Copying data between databases regularly&lt;br&gt;&lt;br&gt;
✅ Need incremental loads (CDC-like behavior)&lt;br&gt;&lt;br&gt;
✅ Want to avoid custom ETL scripts&lt;br&gt;&lt;br&gt;
❌ Complex transformations (use dbt or Spark)&lt;br&gt;&lt;br&gt;
❌ Real-time streaming (use Kafka + connectors)&lt;/p&gt;
&lt;h3&gt;
  
  
  Verdict
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Huge time-saver&lt;/strong&gt; for data replication tasks. Replaces hours of custom script writing with a single command.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Rating:&lt;/strong&gt; ⭐⭐⭐⭐ (4/5)&lt;/p&gt;


&lt;h2&gt;
  
  
  5. fzf — Fuzzy Finder
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/junegunn/fzf" rel="noopener noreferrer"&gt;https://github.com/junegunn/fzf&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Best for:&lt;/strong&gt; Quickly searching files, commands, history&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Price:&lt;/strong&gt; Free (open-source)&lt;/p&gt;
&lt;h3&gt;
  
  
  What It Does
&lt;/h3&gt;

&lt;p&gt;fzf is a general-purpose fuzzy finder that lets you search anything in the terminal interactively.&lt;/p&gt;
&lt;h3&gt;
  
  
  Examples
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Search command history&lt;/span&gt;
&lt;span class="c"&gt;# Press Ctrl+R, start typing, fzf finds matching commands&lt;/span&gt;

&lt;span class="c"&gt;# Find and open a file&lt;/span&gt;
vim &lt;span class="si"&gt;$(&lt;/span&gt;fzf&lt;span class="si"&gt;)&lt;/span&gt;

&lt;span class="c"&gt;# Search SQL files in a project&lt;/span&gt;
&lt;span class="nb"&gt;cat&lt;/span&gt; &lt;span class="si"&gt;$(&lt;/span&gt;find &lt;span class="nb"&gt;.&lt;/span&gt; &lt;span class="nt"&gt;-name&lt;/span&gt; &lt;span class="s2"&gt;"*.sql"&lt;/span&gt; | fzf&lt;span class="si"&gt;)&lt;/span&gt;

&lt;span class="c"&gt;# Kill a process interactively&lt;/span&gt;
ps aux | fzf | &lt;span class="nb"&gt;awk&lt;/span&gt; &lt;span class="s1"&gt;'{print $2}'&lt;/span&gt; | xargs &lt;span class="nb"&gt;kill&lt;/span&gt; &lt;span class="nt"&gt;-9&lt;/span&gt;

&lt;span class="c"&gt;# Preview file contents while searching&lt;/span&gt;
fzf &lt;span class="nt"&gt;--preview&lt;/span&gt; &lt;span class="s1"&gt;'head -100 {}'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Key Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Fuzzy matching&lt;/strong&gt; — Type &lt;code&gt;custmr&lt;/code&gt; and it finds &lt;code&gt;customer_orders.sql&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Interactive&lt;/strong&gt; — Filter results as you type&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Preview&lt;/strong&gt; — See file contents before selecting&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keybindings&lt;/strong&gt; — Ctrl+R for history, Ctrl+T for files&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Integration&lt;/strong&gt; — Works with vim, emacs, bash, zsh&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  When to Use It
&lt;/h3&gt;

&lt;p&gt;✅ Large codebases with many files&lt;br&gt;&lt;br&gt;
✅ Frequent command history searches&lt;br&gt;&lt;br&gt;
✅ Want to navigate faster in the terminal&lt;br&gt;&lt;br&gt;
❌ Prefer GUI file explorers&lt;br&gt;&lt;br&gt;
❌ Working with small projects (less value)&lt;/p&gt;
&lt;h3&gt;
  
  
  Verdict
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Universal productivity booster&lt;/strong&gt;. Once you get used to fzf, you'll miss it in every other terminal session.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Rating:&lt;/strong&gt; ⭐⭐⭐⭐⭐ (5/5)&lt;/p&gt;


&lt;h2&gt;
  
  
  6. jq — JSON Processor
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/jqlang/jq" rel="noopener noreferrer"&gt;https://github.com/jqlang/jq&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Best for:&lt;/strong&gt; Parsing, filtering, transforming JSON in the terminal&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Price:&lt;/strong&gt; Free (open-source)&lt;/p&gt;
&lt;h3&gt;
  
  
  What It Does
&lt;/h3&gt;

&lt;p&gt;jq is a lightweight command-line JSON processor. It's essential for working with APIs, logs, and JSON-heavy data pipelines.&lt;/p&gt;
&lt;h3&gt;
  
  
  Examples
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Pretty-print JSON&lt;/span&gt;
curl https://api.example.com/data | jq

&lt;span class="c"&gt;# Extract specific fields&lt;/span&gt;
curl https://api.example.com/users | jq &lt;span class="s1"&gt;'.[] | {name, email}'&lt;/span&gt;

&lt;span class="c"&gt;# Filter by condition&lt;/span&gt;
curl https://api.example.com/orders | jq &lt;span class="s1"&gt;'.[] | select(.status == "pending")'&lt;/span&gt;

&lt;span class="c"&gt;# Aggregate data&lt;/span&gt;
curl https://api.example.com/orders | jq &lt;span class="s1"&gt;'[.[] | .amount] | add'&lt;/span&gt;

&lt;span class="c"&gt;# Transform structure&lt;/span&gt;
curl https://api.example.com/data | jq &lt;span class="s1"&gt;'{total: .count, items: .results}'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Key Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;SQL-like syntax&lt;/strong&gt; — Filter, map, reduce JSON&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Chaining&lt;/strong&gt; — Pipe multiple operations&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Error handling&lt;/strong&gt; — Graceful failures on malformed JSON&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Colorized output&lt;/strong&gt; — Readable by default&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  When to Use It
&lt;/h3&gt;

&lt;p&gt;✅ Working with REST APIs&lt;br&gt;&lt;br&gt;
✅ Parsing JSON logs&lt;br&gt;&lt;br&gt;
✅ Transforming JSON for downstream systems&lt;br&gt;&lt;br&gt;
❌ XML data (use &lt;code&gt;xmllint&lt;/code&gt; instead)&lt;br&gt;&lt;br&gt;
❌ Complex transformations (use Python + Pandas)&lt;/p&gt;
&lt;h3&gt;
  
  
  Verdict
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Essential&lt;/strong&gt; for any data engineer working with APIs or JSON data. The learning curve is steep but worth it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Rating:&lt;/strong&gt; ⭐⭐⭐⭐⭐ (5/5)&lt;/p&gt;


&lt;h2&gt;
  
  
  7. httpie — HTTP Client
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Website:&lt;/strong&gt; &lt;a href="https://httpie.io" rel="noopener noreferrer"&gt;https://httpie.io&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Best for:&lt;/strong&gt; API testing and debugging&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Price:&lt;/strong&gt; Free (CLI), $$$ (Desktop app)&lt;/p&gt;
&lt;h3&gt;
  
  
  What It Does
&lt;/h3&gt;

&lt;p&gt;httpie is a user-friendly HTTP client for the terminal. It's like &lt;code&gt;curl&lt;/code&gt; but with readable syntax and colorized output.&lt;/p&gt;
&lt;h3&gt;
  
  
  Examples
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# GET request&lt;/span&gt;
http GET https://api.example.com/users

&lt;span class="c"&gt;# POST with JSON body&lt;/span&gt;
http POST https://api.example.com/users &lt;span class="nv"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"John"&lt;/span&gt; &lt;span class="nv"&gt;email&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"john@example.com"&lt;/span&gt;

&lt;span class="c"&gt;# With authentication&lt;/span&gt;
http &lt;span class="nt"&gt;--auth&lt;/span&gt; user:pass GET https://api.example.com/protected

&lt;span class="c"&gt;# Download a file&lt;/span&gt;
http &lt;span class="nt"&gt;--download&lt;/span&gt; GET https://example.com/file.zip

&lt;span class="c"&gt;# Set custom headers&lt;/span&gt;
http GET https://api.example.com/data X-API-Key:abc123
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Key Features
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;httpie&lt;/th&gt;
&lt;th&gt;curl&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Readable syntax&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌ (flags everywhere)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Colorized output&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌ (needs flags)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;JSON auto-formatting&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌ (pipe to jq)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Interactive mode&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Download files&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h3&gt;
  
  
  When to Use It
&lt;/h3&gt;

&lt;p&gt;✅ Testing REST APIs&lt;br&gt;&lt;br&gt;
✅ Debugging webhook payloads&lt;br&gt;&lt;br&gt;
✅ Quick API experiments&lt;br&gt;&lt;br&gt;
❌ Production scripts (curl is more universal)&lt;br&gt;&lt;br&gt;
❌ Complex authentication flows (use Postman/Insomnia)&lt;/p&gt;
&lt;h3&gt;
  
  
  Verdict
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Better than curl&lt;/strong&gt; for interactive API work. The syntax is intuitive, and the output is immediately readable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Rating:&lt;/strong&gt; ⭐⭐⭐⭐ (4/5)&lt;/p&gt;


&lt;h2&gt;
  
  
  Honorable Mentions
&lt;/h2&gt;

&lt;p&gt;These didn't make the top 7 but are still worth knowing:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;bat&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;cat&lt;/code&gt; with syntax highlighting and Git integration&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;ripgrep (rg)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Faster &lt;code&gt;grep&lt;/code&gt; for code search&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;tmux&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Terminal multiplexer for session management&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;httpie&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Already covered, but worth repeating&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;peepDB&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Quick database table inspection without SQL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Sling&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Another data copying tool (alternative to ingestr)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Meltano&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;ELT orchestration with CLI interface&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;


&lt;h2&gt;
  
  
  How to Get Started
&lt;/h2&gt;
&lt;h3&gt;
  
  
  This Weekend
&lt;/h3&gt;

&lt;p&gt;Pick 2-3 tools and install them:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Frosty (AI database agent)&lt;/span&gt;
git clone https://github.com/Gyrus-Dev/frosty.git
&lt;span class="nb"&gt;cd &lt;/span&gt;frosty &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; requirements.txt

&lt;span class="c"&gt;# pgcli (if you use PostgreSQL)&lt;/span&gt;
pip &lt;span class="nb"&gt;install &lt;/span&gt;pgcli

&lt;span class="c"&gt;# fzf (fuzzy finder)&lt;/span&gt;
brew &lt;span class="nb"&gt;install &lt;/span&gt;fzf  &lt;span class="c"&gt;# macOS&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;fzf  &lt;span class="c"&gt;# Ubuntu&lt;/span&gt;

&lt;span class="c"&gt;# jq (JSON processor)&lt;/span&gt;
brew &lt;span class="nb"&gt;install &lt;/span&gt;jq  &lt;span class="c"&gt;# macOS&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;jq  &lt;span class="c"&gt;# Ubuntu&lt;/span&gt;

&lt;span class="c"&gt;# httpie (HTTP client)&lt;/span&gt;
brew &lt;span class="nb"&gt;install &lt;/span&gt;httpie  &lt;span class="c"&gt;# macOS&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;httpie  &lt;span class="c"&gt;# Ubuntu&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Next Week
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Try each tool on a real task (not just installation)&lt;/li&gt;
&lt;li&gt;Replace one existing workflow with a CLI alternative&lt;/li&gt;
&lt;li&gt;Share what you learned with your team&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Long-Term
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Build a personal toolkit of 10-15 go-to CLI tools&lt;/li&gt;
&lt;li&gt;Script repetitive tasks using these tools&lt;/li&gt;
&lt;li&gt;Contribute to open-source CLI projects you use&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;CLI tools aren't about rejecting modern GUIs — they're about having the right tool for the job.&lt;/p&gt;

&lt;p&gt;Some tasks are better in a GUI (ER diagrams, visual query building). But for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Quick data exploration&lt;/li&gt;
&lt;li&gt;Repetitive admin tasks&lt;/li&gt;
&lt;li&gt;Automation and scripting&lt;/li&gt;
&lt;li&gt;Remote server work&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;CLI tools are unmatched.&lt;/p&gt;

&lt;p&gt;Start with Frosty for database operations, add fzf for navigation, and jq for JSON work. You'll be shocked at how much faster you move.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Want to try Frosty?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🐙 &lt;a href="https://github.com/Gyrus-Dev/frosty" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; — Star to get notified about multi-DB launch&lt;/li&gt;
&lt;li&gt;💬 &lt;a href="https://discord.gg/GpgVzJ6ku" rel="noopener noreferrer"&gt;Discord&lt;/a&gt; — Join the community&lt;/li&gt;
&lt;li&gt;📧 &lt;a href="mailto:priyank@thegyrus.com"&gt;Contact&lt;/a&gt; — Questions or demo requests&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;About the author: This list was compiled by the team behind Frosty, an AI agent for multi-database operations. We live in the terminal and love sharing tools that make data engineering faster.&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>AI Agents for Database Management: Complete Guide 2025</title>
      <dc:creator>Priyank Malviya</dc:creator>
      <pubDate>Sat, 25 Apr 2026 13:12:55 +0000</pubDate>
      <link>https://dev.to/malviyapriyank/ai-agents-for-database-management-complete-guide-2025-2hg9</link>
      <guid>https://dev.to/malviyapriyank/ai-agents-for-database-management-complete-guide-2025-2hg9</guid>
      <description>&lt;h2&gt;
  
  
  What Are AI Database Agents?
&lt;/h2&gt;

&lt;p&gt;AI database agents are intelligent systems that understand natural language and translate it into database operations. Instead of writing SQL queries, crafting DDL statements, or memorizing CLI commands, you simply ask questions or give instructions in plain English.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;Instead&lt;/span&gt; &lt;span class="k"&gt;of&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;  &lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="n"&gt;customer_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;SUM&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;revenue&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;orders&lt;/span&gt; 
             &lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;order_date&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="s1"&gt;'2025-01-01'&lt;/span&gt; 
             &lt;span class="k"&gt;GROUP&lt;/span&gt; &lt;span class="k"&gt;BY&lt;/span&gt; &lt;span class="n"&gt;customer_id&lt;/span&gt; &lt;span class="k"&gt;ORDER&lt;/span&gt; &lt;span class="k"&gt;BY&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="k"&gt;DESC&lt;/span&gt; &lt;span class="k"&gt;LIMIT&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="n"&gt;You&lt;/span&gt; &lt;span class="k"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;    &lt;span class="nv"&gt;"Show me my top 10 customers by revenue this year"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The agent handles schema discovery, query generation, execution, and returns results in a readable format often with explanations.&lt;/p&gt;




&lt;h2&gt;
  
  
  Key Use Cases for AI Database Agents
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Natural Language Queries
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; Analysts, product managers, anyone who needs data but isn't SQL-fluent&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"how many orders did we get last month?"
"what's the average order value by region?"
"compare revenue Q1 vs Q2 this year"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The agent discovers relevant tables, writes accurate SQL, and returns formatted results.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Automated Pipeline Creation
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; Data engineers tired of writing boilerplate DDL&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"set up a data pipeline for S3 CSV ingestion with daily loads"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A single request can generate:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;External stage configuration&lt;/li&gt;
&lt;li&gt;File format definitions&lt;/li&gt;
&lt;li&gt;Table schemas&lt;/li&gt;
&lt;li&gt;COPY INTO statements&lt;/li&gt;
&lt;li&gt;Task schedules for automation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What used to take hours happens in minutes.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Security Hardening
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; DBAs and security teams ensuring compliance&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"enforce MFA for all users without it"
"apply password policies to meet SOC2 requirements"
"show me all users with excessive privileges"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Agents generate the ALTER statements, show you what will change, and execute with approval.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Cost Governance
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; FinOps teams managing cloud database spend&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"why is my warehouse spend up 40% this month?"
"which queries are consuming the most credits?"
"recommend warehouse sizing for my workload"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Agents query metering views, identify anomalies, and suggest optimizations.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Multi-Database Operations
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; Teams managing Snowflake + PostgreSQL + SQL Server simultaneously&lt;/p&gt;

&lt;p&gt;The next generation of agents (coming soon in tools like Frosty) will let you operate across multiple databases from a single interface — no more context-switching between tools.&lt;/p&gt;




&lt;h2&gt;
  
  
  AI Agents vs. Traditional Database Tools
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;AI Agents&lt;/th&gt;
&lt;th&gt;DBeaver&lt;/th&gt;
&lt;th&gt;DataGrip&lt;/th&gt;
&lt;th&gt;SSMS / Snowsight&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Natural Language Input&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Auto-generate DDL from description&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;Partial&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Multi-step workflow automation&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Safety gates (block DROP, require approval)&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Schema-aware query generation&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cross-database operations&lt;/td&gt;
&lt;td&gt;Emerging&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Price&lt;/td&gt;
&lt;td&gt;Free–$$&lt;/td&gt;
&lt;td&gt;Free–$$$&lt;/td&gt;
&lt;td&gt;$25/mo&lt;/td&gt;
&lt;td&gt;Free&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Key insight:&lt;/strong&gt; Traditional tools are excellent for manual SQL work. AI agents excel at automation, accessibility, and reducing repetitive tasks.&lt;/p&gt;




&lt;h2&gt;
  
  
  How to Choose an AI Database Agent
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Safety Architecture
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Ask:&lt;/strong&gt; Can the agent execute destructive commands without my approval?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Look for:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hard-coded blocks on DROP, TRUNCATE, DELETE FROM prod&lt;/li&gt;
&lt;li&gt;Approval prompts for CREATE OR REPLACE&lt;/li&gt;
&lt;li&gt;Read-only modes for analyst roles&lt;/li&gt;
&lt;li&gt;Audit logging of all executed statements&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Model Flexibility
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Ask:&lt;/strong&gt; Am I locked into one LLM provider?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Look for:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Support for OpenAI, Anthropic, Google, Ollama&lt;/li&gt;
&lt;li&gt;Easy model switching via config (no code changes)&lt;/li&gt;
&lt;li&gt;Local model support for cost-sensitive deployments&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Database Coverage
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Ask:&lt;/strong&gt; Which databases does it support?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Current landscape:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Snowflake:&lt;/strong&gt; Most mature AI agent support (Frosty, Snowflake Cortex, dbForge AI)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PostgreSQL:&lt;/strong&gt; Growing support (pgEdge, Xata Agent, custom agents)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SQL Server:&lt;/strong&gt; Microsoft-integrated tools (GitHub Copilot in SSMS, Azure OpenAI)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-database:&lt;/strong&gt; Emerging category (Frosty merging support in 2025)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4. Deployment Model
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Ask:&lt;/strong&gt; Where does the agent run?&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;Pros&lt;/th&gt;
&lt;th&gt;Cons&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Self-hosted&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Full control, credentials stay local, no SaaS fees&lt;/td&gt;
&lt;td&gt;You manage infrastructure&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;SaaS&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Zero setup, managed updates&lt;/td&gt;
&lt;td&gt;Credentials leave your environment, recurring costs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Hybrid&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Best of both&lt;/td&gt;
&lt;td&gt;More complex setup&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  5. Community &amp;amp; Support
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Ask:&lt;/strong&gt; Is there an active user community?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Look for:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Active Discord/Slack community&lt;/li&gt;
&lt;li&gt;Regular updates and changelog&lt;/li&gt;
&lt;li&gt;Template gallery or recipe sharing&lt;/li&gt;
&lt;li&gt;Responsive maintainers&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Real-World Example: Frosty for Snowflake
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/Gyrus-Dev/frosty" rel="noopener noreferrer"&gt;Frosty&lt;/a&gt; is an open-source, self-hosted AI agent for Snowflake that demonstrates best practices in the category.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key features:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;153 specialist agents covering data engineering, security, governance, and admin&lt;/li&gt;
&lt;li&gt;Two-layer safety system (prompt-level + hard-coded gates)&lt;/li&gt;
&lt;li&gt;Supports OpenAI, Anthropic, Google, and local Ollama models&lt;/li&gt;
&lt;li&gt;Self-hosted — credentials never leave your machine&lt;/li&gt;
&lt;li&gt;Free and open-source&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Example workflow:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Clone and setup&lt;/span&gt;
git clone https://github.com/Gyrus-Dev/frosty.git
&lt;span class="nb"&gt;cd &lt;/span&gt;frosty
pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; requirements.txt

&lt;span class="c"&gt;# Run and ask a question&lt;/span&gt;
python &lt;span class="nt"&gt;-m&lt;/span&gt; src.frosty_ai.objagents.main

&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;"set up MFA for all users without it"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Frosty inspects your users, generates ALTER statements, shows you what will change, and executes with approval.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What makes it different:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Safety-first architecture&lt;/strong&gt; — DROP is unconditionally blocked in code&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Context-aware&lt;/strong&gt; — Inspects live environment before planning&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Specialist agents&lt;/strong&gt; — 153 focused agents vs. one generalist&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No SaaS fees&lt;/strong&gt; — You only pay for LLM tokens&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Building Your Own AI Database Agent
&lt;/h2&gt;

&lt;p&gt;If existing tools don't fit your needs, you can build a custom agent. Here's the minimal architecture:&lt;/p&gt;

&lt;h3&gt;
  
  
  Core Components
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User Input (Natural Language)
         │
         ▼
Intent Classifier ──► Route to specialist agent
         │
         ▼
Schema Inspector ──► Discover tables, columns, relationships
         │
         ▼
SQL Generator (LLM) ──► Generate query/DDL
         │
         ▼
Safety Gate ──► Block/approve dangerous operations
         │
         ▼
Executor ──► Run against database
         │
         ▼
Result Formatter ──► Return to user
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Key Libraries
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;th&gt;Library&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;LLM orchestration&lt;/td&gt;
&lt;td&gt;LangChain, Google ADK, OpenAI SDK&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Database connectivity&lt;/td&gt;
&lt;td&gt;SQLAlchemy, Snowflake Connector, psycopg2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CLI interface&lt;/td&gt;
&lt;td&gt;Rich, prompt_toolkit, Click&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Safety validation&lt;/td&gt;
&lt;td&gt;Custom regex + AST parsing&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Safety Must-Haves
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Example safety gate (simplified)
&lt;/span&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;execute_query&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;query&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;dict&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="c1"&gt;# Hard blocks
&lt;/span&gt;    &lt;span class="n"&gt;blocked_patterns&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;DROP &lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;TRUNCATE &lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;DELETE FROM prod.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;pattern&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;blocked_patterns&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;pattern&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;upper&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;query&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;upper&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;success&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="bp"&gt;False&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;message&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Blocked: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;pattern&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="c1"&gt;# Approval required
&lt;/span&gt;    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;CREATE OR REPLACE&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;query&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;upper&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
        &lt;span class="n"&gt;user_approval&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;input&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Execute?&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;query&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;(yes/no): &lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;user_approval&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;lower&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;yes&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;success&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="bp"&gt;False&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;message&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;User declined&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="c1"&gt;# Execute
&lt;/span&gt;    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;snowflake_connection&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;execute&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;query&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  The Future of AI Database Agents
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What's Coming in 2025-2026
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Multi-Database Unification&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Single interface for Snowflake + PostgreSQL + SQL Server + more&lt;/li&gt;
&lt;li&gt;Cross-database queries and pipelines&lt;/li&gt;
&lt;li&gt;Unified security and governance&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Productivity Tool Integrations&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Agents for Confluent (Kafka), Asana, Notion&lt;/li&gt;
&lt;li&gt;Automated workflows between databases and business tools&lt;/li&gt;
&lt;li&gt;"Create a Jira ticket when this query returns X"&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Vector Database Operations&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Natural language operations on vector embeddings&lt;/li&gt;
&lt;li&gt;RAG pipeline creation&lt;/li&gt;
&lt;li&gt;Semantic search across structured + unstructured data&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Dynamic Visualizations&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"Show me a chart of revenue over time"&lt;/li&gt;
&lt;li&gt;Auto-generate Streamlit dashboards&lt;/li&gt;
&lt;li&gt;Interactive data exploration&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Communication Integrations&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"Email this report to the team every Monday"&lt;/li&gt;
&lt;li&gt;"Send a Slack alert when warehouse spend exceeds $X"&lt;/li&gt;
&lt;li&gt;Automated reporting workflows&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Getting Started Today
&lt;/h2&gt;

&lt;h3&gt;
  
  
  If You Use Snowflake
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Try Frosty&lt;/strong&gt; — It's free, open-source, and production-ready.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GitHub: &lt;a href="https://github.com/Gyrus-Dev/frosty" rel="noopener noreferrer"&gt;https://github.com/Gyrus-Dev/frosty&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Discord: &lt;a href="https://discord.gg/GpgVzJ6ku" rel="noopener noreferrer"&gt;https://discord.gg/GpgVzJ6ku&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Setup time: ~10 minutes&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  If You Use PostgreSQL
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Explore options:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;pgEdge Agentic AI Toolkit&lt;/li&gt;
&lt;li&gt;Xata Agent&lt;/li&gt;
&lt;li&gt;Custom agents with LangChain + psycopg2&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  If You Use SQL Server
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Explore options:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GitHub Copilot in SSMS&lt;/li&gt;
&lt;li&gt;Azure OpenAI integration&lt;/li&gt;
&lt;li&gt;dbForge AI Assistant&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  If You Use Multiple Databases
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Watch this space.&lt;/strong&gt; Multi-database AI agents are emerging in 2025. Frosty is merging PostgreSQL and SQL Server support into a unified interface — star their repo to get notified.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;AI database agents aren't replacing database expertise — they're amplifying it. You still need to understand:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Your data model&lt;/li&gt;
&lt;li&gt;Security requirements&lt;/li&gt;
&lt;li&gt;Performance implications&lt;/li&gt;
&lt;li&gt;Governance policies&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What agents do is eliminate the repetitive work: writing boilerplate DDL, debugging syntax errors, switching between tools, and manually executing multi-step workflows.&lt;/p&gt;

&lt;p&gt;The best time to start experimenting is now. Pick one agent, try it on a non-production database, and measure how much time it saves.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Want to see AI agents in action?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🐙 &lt;a href="https://github.com/Gyrus-Dev/frosty" rel="noopener noreferrer"&gt;Frosty on GitHub&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;💬 &lt;a href="https://discord.gg/GpgVzJ6ku" rel="noopener noreferrer"&gt;Join the Discord community&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📧 &lt;a href="mailto:priyank@thegyrus.com"&gt;Get notified about multi-DB support&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;About the author: This guide was written by the team behind Frosty, an open-source AI agent for Snowflake. We're building the future of agentic data operations.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>dataengineerin</category>
      <category>multiplatform</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Frosty : 150 + AI Open Source Sub- Agents to Automate Snowflake</title>
      <dc:creator>Priyank Malviya</dc:creator>
      <pubDate>Thu, 26 Mar 2026 14:18:09 +0000</pubDate>
      <link>https://dev.to/malviyapriyank/frosty-150-ai-open-source-sub-agents-to-automate-snowflake-247e</link>
      <guid>https://dev.to/malviyapriyank/frosty-150-ai-open-source-sub-agents-to-automate-snowflake-247e</guid>
      <description>&lt;p&gt;With the advancement in AI, most teams are still not sure whether to use AI for their data or not. I feel the only way to empower them is to give them the control. That's why we released our AI Agent #Frosty as open source project on March 25th. Teams can own it and pay nothing beyond actual token usage.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Frosty?
&lt;/h2&gt;

&lt;p&gt;Frosty is an AI Agent that can do everything that you can do on Snowflake. Yes EVERYTHING is a very broad scope, but that is exactly what Frosty can do. It has its own google search agent, which can read snowflake documentation and understand best practices and implement them for you.&lt;/p&gt;

&lt;p&gt;It has a roster of 153 special agents, that can take care of engineering, administrator, security, governance , research tasks. It understands the entire context of your Snowflake by using its Inspector agent. &lt;/p&gt;


&lt;div class="crayons-card c-embed"&gt;

  
&lt;h3&gt;
  
  
  Agent Breakdown by Function
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Engineer : 34 Agents&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Administrator : 16 Agents&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Security : 14 Agents&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Governance : 8 Agents&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Inspector : 56 Agents&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Account Monitor : 25 Agents.&lt;br&gt;

&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;



&lt;p&gt;Checkout the repository here:&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/Gyrus-Dev" rel="noopener noreferrer"&gt;
        Gyrus-Dev
      &lt;/a&gt; / &lt;a href="https://github.com/Gyrus-Dev/frosty" rel="noopener noreferrer"&gt;
        frosty
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      AI Agent for Snowflake
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div&gt;
&lt;div class="snippet-clipboard-content notranslate position-relative overflow-auto"&gt;&lt;pre class="notranslate"&gt;&lt;code&gt;███████╗██████╗  ██████╗ ███████╗████████╗██╗   ██╗
██╔════╝██╔══██╗██╔═══██╗██╔════╝╚══██╔══╝╚██╗ ██╔╝
█████╗  ██████╔╝██║   ██║███████╗   ██║    ╚████╔╝
██╔══╝  ██╔══██╗██║   ██║╚════██║   ██║     ╚██╔╝
██║     ██║  ██║╚██████╔╝███████║   ██║      ██║
╚═╝     ╚═╝  ╚═╝ ╚═════╝ ╚══════╝   ╚═╝      ╚═╝
                    ╰─ by Gyrus Inc ─╯
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;An open-source, self-hosted agentic framework that turns plain English into Snowflake operations.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/Gyrus-Dev/frosty#license" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/ad5d38e0904ed52bd2b874d63a65975e5081013d3095674714c3a0ceb4905893/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d254332254139253230323032352532304779727573253230496e632d626c7565" alt="License"&gt;&lt;/a&gt;
&lt;a href="https://www.python.org/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/c6402d8388aeb3e302c478b4ba10f43ba414836f4da85f8ecdef404b192d694a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f707974686f6e2d332e31312e31302d626c75653f6c6f676f3d707974686f6e" alt="Python"&gt;&lt;/a&gt;
&lt;a href="https://github.com/Gyrus-Dev/frosty#model-provider" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/37b66754962c4be616c112cd59d7d4c465c3e7398538846eb0c36c522f22a72b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6d6f64656c732d436c6175646525323025374325323047656d696e692532302537432532304f70656e41492d677265656e" alt="Models"&gt;&lt;/a&gt;
&lt;a href="https://github.com/Gyrus-Dev/frosty#architecture" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/6315acadc401cac33e2c9684d1ba7c3302015998158e55ab3250f1d0edbf14a7/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6167656e74732d3135332532307370656369616c697374732d6f72616e6765" alt="Agents"&gt;&lt;/a&gt;
&lt;a href="https://www.snowflake.com/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/18f641223c289f150124125def3287b310a353eed63dcc716b04c541e97ca488/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6275696c74253230666f722d536e6f77666c616b652d3239423545383f6c6f676f3d736e6f77666c616b65" alt="Snowflake"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/Gyrus-Dev/frosty#quick-start" rel="noopener noreferrer"&gt;&lt;strong&gt;Quick Start&lt;/strong&gt;&lt;/a&gt; · &lt;a href="https://github.com/Gyrus-Dev/frosty#spotlight-features" rel="noopener noreferrer"&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/a&gt; · &lt;a href="https://github.com/Gyrus-Dev/frosty#architecture" rel="noopener noreferrer"&gt;&lt;strong&gt;Architecture&lt;/strong&gt;&lt;/a&gt; · &lt;a href="https://github.com/Gyrus-Dev/frosty#setup" rel="noopener noreferrer"&gt;&lt;strong&gt;Setup&lt;/strong&gt;&lt;/a&gt; · &lt;a href="https://github.com/Gyrus-Dev/frosty#safety" rel="noopener noreferrer"&gt;&lt;strong&gt;Safety&lt;/strong&gt;&lt;/a&gt; · &lt;a href="https://github.com/Gyrus-Dev/frosty#contributing" rel="noopener noreferrer"&gt;&lt;strong&gt;Contributing&lt;/strong&gt;&lt;/a&gt; · &lt;a href="https://github.com/Gyrus-Dev/frosty#get-in-touch" rel="noopener noreferrer"&gt;&lt;strong&gt;Get in Touch&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If you find Frosty useful, please consider giving it a ⭐ — it helps others discover the project!&lt;/p&gt;
&lt;/div&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;What is Frosty?&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;Frosty is a &lt;strong&gt;153-agent system&lt;/strong&gt; built by &lt;a href="https://www.thegyrus.com" rel="nofollow noopener noreferrer"&gt;Gyrus Inc&lt;/a&gt; that lets you manage your entire Snowflake environment in plain English — from querying data to administering security policies.&lt;/p&gt;
&lt;div class="snippet-clipboard-content notranslate position-relative overflow-auto"&gt;
&lt;pre class="notranslate"&gt;&lt;code&gt;"who are my top 10 customers by revenue last quarter?"
  → Returns a Markdown table, powered by live SQL
"set up MFA for all users without it"
  → Generates and runs the ALTER statements, with your approval

"why is my&lt;/code&gt;&lt;/pre&gt;…&lt;/div&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/Gyrus-Dev/frosty" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  What can Frosty do?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Frosty can &lt;strong&gt;build entire pipeline in minutes&lt;/strong&gt;. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Frosty can &lt;strong&gt;create roles, grant privileges and plan the least access privilege policy&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Frosty can &lt;strong&gt;implement password policies, session policies, network rules, network policies to safeguard your Snowflake&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Frosty can &lt;strong&gt;implement masking policies, row access policies , plan tags to tag every object for better governance&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Frosty can &lt;strong&gt;access the metadata of every object on your Snowflake to understand your setup and plan things accordingly&lt;/strong&gt;. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Frosty can generate synthetic data to help developers do comprehensive testing.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Frosty can do Data profiling and explain you the gaps in your data.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What Frosty can't do?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;It can't drop any objects , as it has two level of safeguards, one through prompt, the other through code. So even if for some reason Frosty decides to run a DROP query, the code blocks it out before it reaches Snowflake.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It can't run CREATE OR REPLACE statements, without approval.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It can't create dashboards, but being open source users can extend its capabilities.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://github.com/Gyrus-Dev/frosty" class="crayons-btn crayons-btn--primary" rel="noopener noreferrer"&gt;Frosty is open source and free to use. We would love feedback, feature requests , contributions from Dev.to community.&lt;/a&gt;
&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>opensource</category>
      <category>dataengineering</category>
    </item>
  </channel>
</rss>
