SQL traffic viewer that proxies PostgreSQL, MySQL, and TiDB with zero code chang...
GitHub RepoImpressions708
View on GitHub
@githubprojectsPost Author
# SQL Tap: See Every Query Your App Makes Without Changing a Line of Code

Ever stared at your database logs and wished you could just *see* the SQL traffic as it happens? Or tried to debug a slow query that only shows up in production, but your ORM abstracts away all the details? Most SQL debugging tools either require code changes, configuration overhauls, or are too expensive for side projects.

SQL Tap is a lightweight proxy that sits between your app and your database and *shows you every single query* in real time — without touching a single line of your application code.

## What It Does

SQL Tap is a transparent proxy for PostgreSQL, MySQL, and TiDB. You point your database connection at the proxy, and it captures every SQL statement, along with metadata like timing, error codes, and number of affected rows. It then displays them in a simple web UI.

The catch? **Zero code changes.** You don't need to modify your ORM, your app logic, or your deployment scripts. Just swap the database host/port to point at SQL Tap, and the proxy handles the rest.

## Why It's Cool

- **Works with PostgreSQL, MySQL, and TiDB** — so it's useful whether you're running a monolith or a multi-DB microservice setup.
- **No code, no config files** — just run the binary and point your app at it. No schema changes, no driver plugins.
- **A clean, readable UI** — shows raw SQL, execution time, error messages, and row counts. No clutter.
- **Lightweight** — built in Go, runs as a single binary. No external dependencies like Redis or a separate database.
- **Built-in TLS support** — because you shouldn't expose your proxy over plaintext.

It's not meant to be a full APM tool — it's a debugging and visibility layer for when you need to see exactly what your app is sending to the database.

## How to Try It

The fastest way to see if it fits your workflow:

1. Download the latest release from the [GitHub releases page](https://github.com/mickamy/sql-tap/releases).
2. Run it:  

./sql-tap proxy

By default, it listens on port 3307 for MySQL and 5433 for PostgreSQL. You can customize with `--proxy-mysql-addr` and `--proxy-pg-addr`.
3. Point your app at `localhost:3307` (MySQL) or `localhost:5433` (PostgreSQL) instead of your real database.
4. Open `http://localhost:1080` in your browser — you'll see live queries flowing in.

No environment variables, no database migration, no hassle.

*(If you prefer Docker, there's a quick start in the README with a full example including a sample Node.js app.)*

## Final Thoughts

SQL Tap fills a really specific gap: you need visibility into your SQL traffic *right now*, but you don't want to wire up 15 tools or change your codebase. Its zero-friction setup is its killer feature. I'd use this during local development to see what my ORM is actually doing, or temporarily in a staging environment to diagnose a production bug without touching live code.

It's not trying to replace your monitoring stack — it's a sharp little tool for a sharp little problem. Give it a try next time you find yourself grepping through ORM logs.

---

_Follow us at @githubprojects for more open source tools._
Back to Projects
Last updated: June 6, 2026 at 10:10 AM