Database Notebook
日本語

Database Notebook brings SQL, RPC requests, JavaScript/TypeScript, Markdown, and execution results together in one notebook file, so you can turn ad-hoc investigations across databases, logs, and cloud resources into something you can save, share, and re-run.
What it's for
- Investigate incidents across databases, logs, and cloud resources — Query production and staging databases, inspect CloudWatch logs, and scan AWS resources (S3, SQS, DynamoDB, Secrets Manager, SSM) — all from the same notebook, so the whole investigation stays in one reusable file.
- Keep SQL, JavaScript, Markdown, and results in one reusable file — Mix SQL, JavaScript/TypeScript, shell, and Markdown cells with variables shared between them, then export the results as HTML or Excel. See Database Notebook file examples.
- Call gRPC services from a panel or notebook — Inspect service definitions, invoke unary or streaming methods, save requests as RPC JSON cells, and export the results as HTML. See the RPC usage guide.
- Diagnose and improve slow SQL (Experimental) — Collect execution plans, table statistics, indexes, and physical-health signals together, then use the evidence to investigate bottlenecks — and compare a saved report from before your change against the current one to see exactly what moved. See the Performance Tuning Guide.
- Reuse your saved connections from GitHub Copilot Chat / MCP clients — The same connections you set up in the DB Explorer are available as AI tools in Copilot Chat (Agent mode), and via a standalone MCP server for other MCP clients (Claude Code, Claude Desktop, Cursor, ...). See AI Tools Usage Guide.
Quickstart (3–5 min)
No external database needed — this uses a small local SQLite file.
- Install the extension.
- Open the Command Palette and run
Database Notebook: Create SQLite Demo. This creates a small local SQLite database, a connection pointing at it, and a ready-to-run .dbn notebook.
- Run the notebook with Run All.
- The generated chart opens automatically in the bottom panel. To view the result tables, click Open ResultSets (table icon) in the notebook's top toolbar.
- Save the result as an HTML or Excel file from the ResultSets panel's toolbar.
- When you're ready, create your own connection from the DB Explorer side panel and point your notebooks at it.
Supported databases & resources
MySQL, PostgreSQL, SQL Server, SQLite, Oracle, Redis, Memcached, AWS, Keycloak, Auth0, MQTT, gRPC
Detailed features
- Mix SQL, JavaScript/TypeScript (Node.js), shell/batch script, Redis/Memcached command, and Markdown cells in a single notebook file
- Shell script cells (
shellscript: bash/sh/zsh) run and capture stdout/stderr like any other cell; Windows batch cells (bat) are also supported but experimental (not verified end-to-end on Windows)
- Shell script and batch cells can read shared variables from preceding cells as
DB_NOTEBOOK_VAR_<name> environment variables ($DB_NOTEBOOK_VAR_name / %DB_NOTEBOOK_VAR_name%): Use shared variables in shellscript/bat cells
- Redis/Memcached command cells (
redis/memcached) run one raw command per cell (e.g. GET mykey, HGETALL myhash) against a saved connection and return a tabular (RDH) result, the same as SQL cells, instead of plain text
- Share variables between cells, including passing a SQL cell's result set into a later JavaScript cell for further processing
- See a full SQL → JavaScript → Markdown walkthrough: Database Notebook file examples
- See Redis/Memcached command cell examples: Database Notebook Redis/Memcached command cell examples
- Access databases through Notebooks, Sidebars, and panel UIs
- Dashboards (Experimental)
- Inspect live database statistics for MySQL, PostgreSQL, SQL Server, SQLite, and Oracle, or CloudWatch metrics for supported AWS resources, directly from the DB Explorer.
- Start/stop database sampling, refresh CloudWatch metrics, switch dashboard views, and export the collected snapshot to a read-only
.dbnr report.
- This feature is experimental: available panels and metrics depend on the database version, permissions, endpoint, and AWS metric configuration, and the UI/report format may change.
- Dashboard Guide
- Execute SQL mode
- Execute query (Default)
- Execute explain plan (Generates a query plan).
- Execute explain analyze (Displays actual execution time and statistics)
- Query and RPC history management in one Histories view
- Variable sharing between notebook cells
- Generate ER diagrams in mermaid format or as an editable draw.io diagram
- Generate Mermaid or editable draw.io diagrams from CloudFormation stacks
- Count all tables in the schema
- Provide IntelliSense with database resource names and comments
- Intuitive visualization of result sets
- Difference display using comparison key (Primary or Unique key)
- Label display using code label resolver
- Verify result sets comply with a rule.
- Output in Excel file format
- Generate descriptive statistics
- Support graphs
- Create and execute SQL statements to undo changes
- Export notebook as an HTML file
- File preview
- CSV file preview
- Har file preview
- MQTT Client
- Intuitive publish/subscribe interface
- Query subscribed payloads using SQLite directly from the notebook
- Parse SQL log
Screenshots
Setup connection settings, access to Mysql through the Side-panel
Access to Mysql through the Notebook ( Create a new blank Database Notebook )
Variable sharing between notebook cells
Export notebook as an HTML file
ER diagram creation
Execute SQL mode
- Execute query (Default)
- Execute explain plan (Generates a query plan).
- Execute explain analyze (Displays actual

Format SQL statement
Count all tables in the schema
Create DB Notebook from an sql file
Access to Aws( DynamoDB ) through the Notebook
- On the DB Notebook, specify the number of counts in the LIMIT clause

MQTT Client
Screenshots ( Intuitive visualization of result sets ) ( Click here )
Difference display using comparison key (Primary or Unique key)
Label display using code label resolver ( Create a new blank Code label resolver )
Generate descriptive statistics
Screenshots ( Access to the Keycloak from the side panel ) ( Click here )
Expand and display JSON items in columns.
Screenshots ( File viewer ) ( Click here )
Csv file viewer
Har file viewer
SQL Log Parse and Comparison
The Log Parse feature analyzes application logs and extracts structured SQL execution data.
SQL Log Comparison compares SQL from two logs and exports an Excel report with differences and source lines.
AI / MCP
- Use Database Notebook's connections as AI tools in GitHub Copilot Chat (Agent mode)
- List/test connections, inspect schema, run queries & transactions, scan non-SQL resources (Redis, Memcache, MQTT, Keycloak, Auth0, AWS), and create/edit
.dbn notebooks — all reusing the credentials you've already saved
- AI Tools Usage Guide
- Run a standalone MCP server so supported external MCP clients (Claude Code, Claude Desktop, Cursor, ...) can use the same connections outside VS Code
- MCP Server Usage Guide
- The local MCP server has been verified with ChatGPT Work and Codex. ChatGPT's regular Chat mode does not expose these tools in the tested setup; see the usage guide for client-specific limitations.
Reference & samples
Tips
- Instead of using VS Code's built-in
Copy Cell or + Code / Add Code Cell, I recommend using Duplicate Cell with Metadata.
This action copies not only the cell content, but also all associated metadata—such as database connection settings and ResultSet decoration options—so you can add a new cell without reconfiguring these settings.
- You can specify a default connection definition each time you add a new SQL cell to the notebook
Keyboard shortcuts
You can open this editor by going to the menu under Code > Settings > Keyboard Shortcuts or by using the Preferences: Open Keyboard Shortcuts command (⌘K ⌘S).
| Command |
Keybindings |
When |
Source |
| Mark cell as skip or not |
ctrl+alt+s |
notebookType == 'database-notebook-type' && notebookCellListFocused && notebookCellType == 'code' |
Database notebook |
| Specify connection to use |
ctrl+alt+c |
notebookType == 'database-notebook-type' && notebookCellListFocused && cellLangId == 'sql' |
Database notebook |
| Notebook: cell execution |
ctrl+enter |
- |
System (default) |
Requirements
Recommended Extensions
When you generate an ER diagram in Mermaid format (the alternative is an editable draw.io diagram), it's rendered inside a preview notebook.
It is recommended to use the "Markdown Preview Mermaid Support" extension together to visualize it.
🎁 Donate
| |