Universal Database Client
A free, feature-rich database client for Visual Studio Code — built for speed, designed for developers who work with tables containing 10M to 100M+ rows.

✨ Features
🔌 Multi-Database Connectivity
- PostgreSQL — Full support including schemas, functions, procedures, materialized views
- Amazon RDS — Seamless connectivity to AWS-hosted databases
- Amazon Redshift — Optimized for data warehouse workloads
- MySQL — (coming soon)
- SQLite, Redis, MongoDB — (planned)
🔐 Enterprise-Grade Security
- SecretStorage API — Passwords never stored in plaintext; uses VS Code's encrypted vault
- SSH Tunneling — Connect through bastion hosts with password, private key, or SSH agent authentication
- SSL/TLS — Full support with CA certificates, client certs, and client keys
- Proxy Support — SOCKS5, HTTP, and HTTPS proxy connectivity
📝 Premium SQL Editor
- Syntax Highlighting — Real-time tokenized highlighting for keywords, functions, types, strings, comments, and numbers
- Smart Autocomplete — Context-aware suggestions for SQL keywords, table names, and column names (type
users. to see columns of the users table)
- Inline Query Execution — Green ▶ play buttons appear in the gutter next to each SQL statement — click to run just that query
- Client-Side Linter — Real-time warnings for unclosed strings and unbalanced parentheses, shown as ⚠️ icons in the line gutter
- Error Line Highlighting — When a query fails, the exact error line is highlighted in red with a descriptive tooltip
- State Persistence — Your SQL editor content is automatically saved and restored across VS Code restarts and reloads
- Query Bookmarks — Save frequently-used queries with custom names for instant recall from the sidebar
- SQL Formatting — One-click SQL beautification
- Dark Theme Optimized — Carefully layered z-index architecture ensures text is always visible in any VS Code theme
⚡ Blazing-Fast Results Viewer
- Server-Side Pagination — Only fetches the rows you need; handles 100M+ row tables effortlessly
- Configurable Page Size — 50, 100, 500, 1000, or 5000 rows per page
- Server-Side Sorting — Click column headers to sort — executes ORDER BY on the server, not in the browser
- Server-Side Search — Filter results with debounced search queries executed on the database
- Multi-Row Selection — Click, Shift+Click, and Ctrl/Cmd+Click for row selection
- Column Resizing — Drag column borders to resize
- Inline Cell Editing — Double-click any cell to edit values directly in the table (requires primary key)
- Insert & Delete Rows — Full CRUD operations from the results grid
- Data Type Badges — NULL, boolean, and JSON values displayed with color-coded badges
- Copy Support — Right-click context menu to copy cells, rows, or columns; Ctrl+C for selected rows
📈 Built-In Charting
- Chart Types — Bar, Line, Pie, Doughnut, and Radar charts generated from query results
- Customizable — Select X-axis label column, Y-axis value column, and color theme
- Color Themes — Neon Blue, Emerald Green, Amethyst Purple, Sunset Orange, and Spectrum Multi-color
- Export — Save charts as PNG images
📤 Export Engine
- Column Selection — Choose which columns to include before exporting
- CSV — RFC 4180 compliant, Excel-compatible with proper quoting
- JSON — Pretty-printed with full type preservation
- SQL INSERT — Generate INSERT statements for data migration
- Full Dataset Export — Exports all rows (not just the current page)
- Tree View — Browse schemas, tables, views, columns, functions, procedures, and materialized views
- Table Preview — Click any table to instantly run
SELECT * FROM with pagination
- Saved Queries — Dedicated tree section for your bookmarked queries
- Connection Status — Visual indicators showing connected/disconnected state
- Connection Colors — Color-code your connections for quick visual identification
🔄 Schema Diff
- Cross-Connection Comparison — Compare schemas between any two database connections
- Table Diff — Detect added, removed, and modified tables
- Column Diff — Detect added, removed, and modified columns (type changes, nullability, defaults)
- Primary Key Diff — Detect primary key changes
- SQL Migration Generation — Auto-generate ALTER TABLE statements to sync schemas
🗺️ ERD Diagrams
- Auto-Generated — Entity-Relationship diagrams rendered from your live database schema
- Foreign Key Visualization — See relationships between tables
- SVG Export — Save diagrams as SVG files
🏗️ Query Builder
- Visual Query Construction — Build SELECT queries with a point-and-click interface
- Table & Column Selection — Pick tables and columns from dropdowns
- WHERE Clauses — Add filter conditions visually
- JOIN Support — Build multi-table queries with visual join configuration
🚀 Getting Started
- Install the extension from the VS Code Marketplace
- Click the database icon in the Activity Bar (left sidebar)
- Click + to add a new connection
- Fill in your connection details (host, port, database, user, password) and click Save
- Click your connection to connect, then explore schemas, tables, and views
- Click any table to open the Query Panel, or use the Query Editor to write custom SQL
⌨️ Keyboard Shortcuts
| Shortcut |
Action |
Ctrl+Enter / Cmd+Enter |
Execute current query |
Ctrl+Shift+Enter |
Execute selected statement at cursor |
Ctrl+Space |
Trigger autocomplete suggestions |
Ctrl+S |
Save current query as bookmark |
Ctrl+C |
Copy selected rows |
Escape |
Close autocomplete / cancel |
Tab / Enter |
Accept autocomplete suggestion |
↑ / ↓ |
Navigate autocomplete suggestions |
🏗️ Architecture
src/
├── extension.ts # Entry point & command registration
├── core/
│ ├── interfaces/ # IDatabaseDriver, IConnectionConfig, types
│ ├── security/ # SecureStorageManager (SecretStorage API)
│ ├── tunnel/ # SSH tunnel manager (ssh2)
│ ├── proxy/ # SOCKS5/HTTP proxy support
│ ├── export/ # CSV, JSON, SQL export engine
│ ├── diff/ # Schema diff service
│ ├── erd/ # ERD diagram generator
│ ├── queryBuilder/ # Visual query builder service
│ ├── savedQueries/ # Query bookmark manager
│ └── ConnectionManager.ts # Connection lifecycle & driver pool
├── drivers/
│ ├── DriverFactory.ts # Factory pattern for database drivers
│ ├── postgres/ # PostgreSQL driver + SQL dialect
│ ├── mysql/ # MySQL driver + SQL dialect
│ ├── mssql/ # SQL Server driver + SQL dialect
│ ├── sqlite/ # SQLite driver + SQL dialect
│ └── redshift/ # Redshift driver + SQL dialect
├── providers/
│ ├── DatabaseTreeProvider.ts # Sidebar tree view data provider
│ ├── DatabaseTreeItem.ts # Tree node types & icons
│ ├── SQLCompletionProvider.ts # IntelliSense autocomplete
│ ├── SQLHoverProvider.ts # Hover tooltips for SQL tokens
│ └── SavedQueriesProvider.ts # Saved queries tree provider
└── webview/
├── WebviewPanelManager.ts # postMessage bridge & state management
└── html/
├── connectionForm.html # Connection configuration form
└── queryPanel.html # SQL editor + results + charts UI
🛠️ Development
# Install dependencies
npm install
# Watch mode (auto-recompile on save)
npm run dev
# Type-check without emitting
npm run compile
# Production build (webpack)
npm run build
# Package as VSIX
npx @vscode/vsce package
# Press F5 in VS Code to launch Extension Development Host
🤝 Contributing
Contributions are welcome! Please open an issue or pull request on GitHub.
📄 License
MIT
| |