# Jam SQL Studio > A modern, AI-native SQL IDE for macOS, Windows, and Linux. Free for personal use. Supports SQL Server, PostgreSQL, MySQL, MariaDB, SQLite, Oracle, and Azure SQL. ## Documentation - [Getting Started](https://jamsql.com/docs/getting-started/): Installation and first connection setup - [Query Editor](https://jamsql.com/docs/query-editor/): Write and execute SQL with IntelliSense - [Table Explorer](https://jamsql.com/docs/table-explorer/): Browse, filter, and edit table data - [Table Designer](https://jamsql.com/docs/table-designer/): Visual table creation and modification - [SQL Notebooks](https://jamsql.com/docs/sql-notebooks/): Jupyter-compatible SQL notebooks with multi-engine support - [Schema Compare](https://jamsql.com/docs/schema-compare/): Compare schemas across SQL Server, PostgreSQL, MySQL, MariaDB, Oracle, and SQLite — side-by-side DDL diff and engine-specific sync scripts - [Data Compare](https://jamsql.com/docs/data-compare/): Compare table data between databases - [Cross-Engine Database Migration](https://jamsql.com/docs/cross-engine-database-migration/): Overview of migrating tables + data between any pair of SQL Server/PostgreSQL/MySQL/Oracle/SQLite via a canonical type model; what's mechanical (tables/types/keys/indexes/rows) vs manual (views/procedures/triggers); supported-pair matrix - [T-SQL vs PL/pgSQL](https://jamsql.com/docs/t-sql-vs-plpgsql/): Side-by-side dialect reference for porting SQL Server procedural code to PostgreSQL — variables (@x→DECLARE), control flow, TRY/CATCH→EXCEPTION, temp tables, and the built-in functions that change name; the manual-port companion to the table migration - [Finish a PostgreSQL Schema After Migration](https://jamsql.com/docs/finish-postgresql-schema-after-migration/): Day-after checklist after migrating SQL Server tables — use cross-engine Schema Compare for the object inventory, port views/procedures/triggers, resolve type/default/collation warnings, verify data with Data Compare - [Execution Plans](https://jamsql.com/docs/execution-plans/): Visualize and analyze query execution plans - [Schema Overview](https://jamsql.com/docs/schema-overview/): Interactive graph of database schema - [Dependency Viewer](https://jamsql.com/docs/dependency-viewer/): Visualize object dependencies - [Virtual Foreign Keys (Loose Relationships)](https://jamsql.com/docs/loose-foreign-keys/): Virtual / unenforced / loose foreign keys — declare column-to-column references without touching the schema; reads PostgreSQL 18 NOT ENFORCED constraints from pg_constraint automatically; source/target filter scoping for polymorphic associations and soft-delete-aware references; works on Postgres array columns and JSON paths across all 5 engines (PG, MSSQL, MySQL, Oracle, SQLite) - [JSON Columns](https://jamsql.com/docs/json-columns/): Filter, inspect, and declare JSON columns across all 5 engines — JSONPath sub-operators, peek popover for path discovery, JSON tree/code cell viewer, declared-on-text validity guards - [Enum Columns](https://jamsql.com/docs/enum-columns/): Declare any column as an enum and get a dropdown filter — values sourced from native MySQL ENUM / Postgres pg_enum, CHECK constraints, or sampled distinct values (200 cap, 5s hard timeout); JSON-path enums supported - [AI Integrations & MCP](https://jamsql.com/docs/ai-integrations-mcp/): Connect Claude Code, ChatGPT, Cursor, and Codex to SQL databases via the local MCP server - [Connections](https://jamsql.com/docs/connections/): Connection management and authentication - [Backup & Restore](https://jamsql.com/docs/backup-restore/): Database backup and restore operations - [Charts](https://jamsql.com/docs/charts/): Create charts from query results - [Sessions](https://jamsql.com/docs/sessions/): Session persistence and workspace management - [Session Browser](https://jamsql.com/docs/session-browser/): View and kill active SQL sessions - [Snippets](https://jamsql.com/docs/snippets/): SQL snippet templates - [Clone](https://jamsql.com/docs/clone/): Clone databases and tables - [Security](https://jamsql.com/docs/security/): Security manager and permissions - [Scripting](https://jamsql.com/docs/scripting/): Script generation for database objects - [Keyboard Shortcuts](https://jamsql.com/docs/keyboard-shortcuts/): Keyboard shortcuts reference - [Performance Dashboard](https://jamsql.com/docs/performance-dashboard/): Real-time database performance metrics - [Tablespace Manager](https://jamsql.com/docs/tablespace-manager/): Oracle tablespace administration - [Filegroup Manager](https://jamsql.com/docs/filegroup-manager/): SQL Server filegroup administration - [PL/SQL Debugger](https://jamsql.com/docs/plsql-debugger/): Cross-platform Oracle PL/SQL debugging - [Agent Jobs](https://jamsql.com/docs/agent-jobs/): Manage SQL Server Agent jobs - [Package Explorer](https://jamsql.com/docs/package-explorer/): Oracle package navigation - [Migrate from Azure Data Studio](https://jamsql.com/docs/migrate-from-azure-data-studio/): Step-by-step Azure Data Studio migration guide for the Feb 28, 2026 retirement — connections, notebooks, snippets, keybindings - [Export Azure Data Studio Connections](https://jamsql.com/docs/export-azure-data-studio-connections/): How to export ADS settings.json connections for import into any SQL client ## Alternatives Comparisons - [vs Azure Data Studio](https://jamsql.com/alternatives/azure-data-studio/): ADS was retired on Feb 28, 2026 - [vs SSMS](https://jamsql.com/alternatives/ssms/): Cross-platform SQL Server IDE - [vs DBeaver](https://jamsql.com/alternatives/dbeaver/): Free DBeaver alternative — Apple Silicon native binary, no JVM dependency, AI agents via local MCP - [vs DataGrip](https://jamsql.com/alternatives/datagrip/): Free DataGrip alternative — no JetBrains account, no JVM dependency, plus AI agents via local MCP - [vs HeidiSQL](https://jamsql.com/alternatives/heidisql/): HeidiSQL alternative for Mac and Linux (HeidiSQL is Windows-only); free, AI-native, multi-engine - [vs Navicat](https://jamsql.com/alternatives/navicat/): Free Navicat alternative for Mac, Linux, and Windows — same engines, plus AI agents via local MCP - [vs TablePlus](https://jamsql.com/alternatives/tableplus/): Free TablePlus alternative — execution plans, schema compare, charting, AI agents, no row limit - [vs Beekeeper Studio](https://jamsql.com/alternatives/beekeeper-studio/): Free Beekeeper Studio alternative — adds execution plans, schema/data compare, charting, AI agents - [vs DbVisualizer](https://jamsql.com/alternatives/dbvisualizer/): Free DbVisualizer alternative — no JVM dependency, plus AI agents via local MCP - [vs Polyglot Notebooks](https://jamsql.com/alternatives/polyglot-notebooks/): Polyglot Notebooks deprecated, migrate to SQL Notebooks - [vs Jupyter Notebooks](https://jamsql.com/alternatives/jupyter-notebooks/): SQL-native notebook alternative - [vs Toad for Oracle](https://jamsql.com/alternatives/toad-for-oracle/): Free cross-platform Oracle client - [vs Oracle SQL Developer](https://jamsql.com/alternatives/sql-developer/): Free modern Oracle alternative - [vs PL/SQL Developer](https://jamsql.com/alternatives/plsql-developer/): Cross-platform PL/SQL development - [vs Aqua Data Studio](https://jamsql.com/alternatives/aqua-data-studio/): Free alternative with AI support - [vs Oracle Developer Tools for VS Code](https://jamsql.com/alternatives/oracle-developer-tools-vscode/): Standalone Oracle IDE alternative - [Best Oracle Database GUI](https://jamsql.com/alternatives/best-oracle-database-gui/): Best Oracle database client / GUI / IDE comparison — Jam SQL Studio (no Oracle Client / Thin driver), SQL Developer, Toad, DBeaver, DataGrip, Navicat - [Best Oracle Client](https://jamsql.com/alternatives/best-oracle-client/): Ranked Oracle client list for Mac/Windows/Linux - [Azure Data Studio Retirement 2026](https://jamsql.com/alternatives/azure-data-studio-retirement-2026/): Free replacement after the Feb 28, 2026 retirement — SQL notebooks, execution plans, schema compare, AI agents - [Azure Data Studio Replacement](https://jamsql.com/alternatives/azure-data-studio-replacement/): Decision guide for picking an ADS replacement - [Best SQL Client for Mac](https://jamsql.com/alternatives/best-sql-client-mac/): SQL client comparison for macOS - [Best SQL Client for Windows](https://jamsql.com/alternatives/best-sql-client-windows/): Best SQL client comparison for Windows — Jam SQL Studio vs SSMS, DBeaver, DataGrip, HeidiSQL; Windows Auth, Entra ID, replaces Azure Data Studio post-Feb-2026 - [Best SQL Client for Linux](https://jamsql.com/alternatives/best-sql-client-linux/): SQL client comparison for Linux - [Best Free SQL Client](https://jamsql.com/alternatives/best-free-sql-client/): Best free cross-platform SQL IDE for PostgreSQL and SQL Server (with MySQL and Oracle support too) - [Best Azure SQL Client](https://jamsql.com/alternatives/best-azure-sql-client/): Azure SQL Database client comparison - [Best DBA Tool](https://jamsql.com/alternatives/best-dba-tool/): DBA tooling comparison - [Best Lightweight SQL IDE](https://jamsql.com/alternatives/best-lightweight-sql-ide/): Lightweight SQL IDE comparison - [Best Multi-Database SQL Client](https://jamsql.com/alternatives/best-multi-database-sql-client/): Multi-engine client comparison - [Best PostgreSQL GUI](https://jamsql.com/alternatives/best-postgresql-gui/): Best PostgreSQL GUI / client / IDE comparison — Jam SQL Studio, pgAdmin, DBeaver, DataGrip, TablePlus; free for Mac (Apple Silicon), Windows, Linux - [Best MySQL Client](https://jamsql.com/alternatives/best-mysql-client/): Best MySQL / MariaDB GUI / client / IDE comparison — Jam SQL Studio (Apple Silicon native, native ENUM dropdowns, schema compare, AI MCP), MySQL Workbench, DBeaver, DataGrip, TablePlus - [Best SQL Data Compare Tool](https://jamsql.com/alternatives/best-sql-data-compare-tool/): Data comparison tool roundup - [Best SQL IDE with AI](https://jamsql.com/alternatives/best-sql-ide-ai/): AI-native SQL IDE comparison - [Best SQL IDE for Developers](https://jamsql.com/alternatives/best-sql-ide-for-developers/): Developer-focused SQL IDE comparison - [Best SQL Notebook Tool](https://jamsql.com/alternatives/best-sql-notebook-tool/): SQL notebook tool roundup - [SQL Server Management Tool](https://jamsql.com/alternatives/sql-server-management-tool/): SQL Server Management Studio alternatives compared (free, cross-platform — covers Mac and Linux) - [DBeaver Version Control](https://jamsql.com/alternatives/dbeaver-version-control/): How DBeaver version control (Team-menu Git on projects) works vs Jam's Database Blueprint — schema as a folder of .sql files with a built-in Git panel - [DataGrip Version Control](https://jamsql.com/alternatives/datagrip-version-control/): How DataGrip version control (bundled Git + DDL data sources) works vs Jam's Database Blueprint two-way schema-folder sync - [Azure Data Studio SQL Database Projects](https://jamsql.com/alternatives/azure-data-studio-sql-database-projects/): How ADS SQL Database Projects (.sqlproj / dacpac) work vs Jam's Database Blueprint folder-of-.sql-files approach - [SQL Server Source Control](https://jamsql.com/alternatives/sql-server-source-control/): SQL Server source control compared — SSDT / SQL Database Projects, Redgate (EOL 2025), Flyway vs Jam's Database Blueprint - [Navicat Version Control](https://jamsql.com/alternatives/navicat-version-control/): How Navicat version control (export SQL, commit in an external client) works vs Jam's built-in Git panel + Database Blueprint ## Databases - [Databases Hub](https://jamsql.com/databases/): SQL clients by database engine - [SQL Server Client](https://jamsql.com/databases/sql-server/): SQL Server client for Mac, Windows & Linux - [PostgreSQL Client](https://jamsql.com/databases/postgresql/): Free PostgreSQL client for Mac (Apple Silicon native), Windows, and Linux — EXPLAIN ANALYZE visualizer, schema compare - [MySQL Client](https://jamsql.com/databases/mysql/): Free MySQL and MariaDB client for Mac (Apple Silicon native), Windows, and Linux — IntelliSense, session browser, performance dashboard - [Oracle Client](https://jamsql.com/databases/oracle/): Oracle database GUI for Mac, Windows & Linux ## Blog ### JSON in Relational Databases (series) - [JSON in Relational Databases: 5 Engines Compared (2026)](https://jamsql.com/blog/json-in-relational-databases-compared/): Pillar — PostgreSQL, MySQL, SQL Server, Oracle, SQLite JSON support side-by-side, including "do you still need MongoDB" decision matrix - [PostgreSQL JSON and JSONB: Complete Guide](https://jamsql.com/blog/postgresql-json-jsonb-complete-guide/): json vs jsonb, GIN indexes, SQL/JSON path language (12), JSON_TABLE/JSON_VALUE/JSON_QUERY/JSON_EXISTS (17) - [MySQL JSON Column Guide](https://jamsql.com/blog/mysql-json-column-guide/): JSON_VALUE vs JSON_EXTRACT, multi-valued indexes (8.0.17+), JSON_TABLE, when MySQL replaces MongoDB - [SQL Server JSON Support](https://jamsql.com/blog/sql-server-json-support-guide/): OPENJSON, native JSON type (Azure SQL GA, SQL Server 2025 preview), JSON_PATH_EXISTS, JSON_OBJECTAGG/JSON_ARRAYAGG - [Oracle JSON Guide: 12c to 26ai](https://jamsql.com/blog/oracle-json-support-guide/): JSON_VALUE, JSON_TABLE, IS JSON, native JSON type (21c+), MongoDB-wire-compatible Database API for MongoDB (23ai/26ai) - [SQLite JSON: json1 as a Document Store](https://jamsql.com/blog/sqlite-json-support-guide/): json1 default since 3.38, -> and ->> operators, JSONB binary (3.45+), generated-column indexes - [Migrate From MongoDB to Postgres, MySQL, SQL Server, Oracle, or SQLite (2026)](https://jamsql.com/blog/migrate-from-mongodb-to-relational/): Schema mapping, BSON-to-JSON, dual writes / CDC, 7-step migration plan with engine-by-engine playbooks - [MongoDB Alternatives in 2026](https://jamsql.com/blog/mongodb-alternatives-2026/): Ranked alternatives — Postgres jsonb, Oracle 26ai Mongo API, MySQL, SQL Server, SQLite, FerretDB, AWS DocumentDB, ScyllaDB — with comparison matrix ### Migration - [Migrate SQL Server to PostgreSQL](https://jamsql.com/blog/2026-06-13-migrate-sql-server-to-postgresql/): MSSQL→Postgres table migration — right-click a table, preview translated CREATE TABLE + INSERT, copy schema + data with value coercion; carries types, identity (→GENERATED), portable defaults, CHECK/UNIQUE, foreign keys, and indexes; procedural bodies + collation stay manual; verified row-count convergence; full SQL Server→PostgreSQL type-mapping table - [Migrate MySQL to PostgreSQL](https://jamsql.com/blog/2026-06-14-migrate-mysql-to-postgresql/): MySQL/MariaDB→Postgres table migration — tinyint(1)→boolean, datetime→timestamp, AUTO_INCREMENT→IDENTITY, unsigned widening, ENUM/SET carried verbatim+warning; full type table - [Migrate Oracle to PostgreSQL](https://jamsql.com/blog/2026-06-14-migrate-oracle-to-postgresql/): Oracle→Postgres table migration — VARCHAR2→varchar, NUMBER→numeric/int by precision, DATE→timestamp (Oracle DATE carries time-of-day), CLOB→text, RAW/BLOB→bytea; PL/SQL is a manual port - [Migrate SQL Server to MySQL](https://jamsql.com/blog/2026-06-14-migrate-sql-server-to-mysql/): MSSQL→MySQL table migration — bit→tinyint(1), uniqueidentifier→char(36), money→decimal(19,4), datetime2→datetime, datetimeoffset→timestamp (tz dropped), IDENTITY→AUTO_INCREMENT - [SQL Server ↔ PostgreSQL Data Type Mapping (both directions)](https://jamsql.com/blog/2026-06-13-mssql-to-postgresql-data-type-mapping/): Complete MSSQL↔Postgres type reference via canonical model — bit→boolean, nvarchar→varchar, datetime2→timestamp, uniqueidentifier→uuid, money→numeric; edge cases (SQL Server timestamp=rowversion→bytea, Postgres bit≠boolean, char→N-types, tinyint widening) - [Convert SQL Server Stored Procedures to PostgreSQL](https://jamsql.com/blog/2026-06-14-convert-sql-server-stored-procedures-to-postgresql/): Worked T-SQL procedure → PL/pgSQL function — @param→named, DECLARE section, SELECT @x=→INTO, SCOPE_IDENTITY()→RETURNING, OUTPUT params→OUT, result sets→RETURNS TABLE/RETURN QUERY; verified on PostgreSQL 16 - [Convert SQL Server Triggers to PostgreSQL](https://jamsql.com/blog/2026-06-14-convert-sql-server-triggers-to-postgresql/): INSERTED/DELETED→NEW/OLD, the separate RETURNS TRIGGER function, row-level vs statement-level with transition tables (REFERENCING NEW TABLE AS inserted, the true 1:1 for set logic); both forms verified on PostgreSQL 16 - [T-SQL to PostgreSQL Function Cheat Sheet](https://jamsql.com/blog/2026-06-14-t-sql-to-postgresql-function-cheat-sheet/): Every common T-SQL built-in → Postgres equivalent — ISNULL→COALESCE, GETDATE()→now(), LEN→length, CHARINDEX→position, DATEADD→INTERVAL, NEWID()→gen_random_uuid(); the five silent breakers; checked against PostgreSQL 16 ### Other - [Filter JSON Columns Across 5 SQL Engines](https://jamsql.com/blog/2026-05-20-filter-json-columns-sql/): Hands-on tour — JSONPath sub-operators, peek popover for path discovery, declared-on-text validity guards, loose FKs and enums on JSON paths - [Polymorphic Foreign Keys in SQL](https://jamsql.com/blog/2026-05-20-polymorphic-loose-foreign-keys/): Source-filter scoping for Rails / Django / Laravel polymorphic associations and soft-delete-aware references — without a real FK - [Enum Columns Dropdown Filter](https://jamsql.com/blog/2026-05-15-enum-columns/): Declare VARCHAR/INT columns as enums — values from MySQL ENUM, Postgres pg_enum, CHECK constraints, or sampled DISTINCT - [Azure Data Studio Has Been Retired](https://jamsql.com/blog/azure-data-studio-retired/): What happened and migration options - [Azure Data Studio Migration Guide](https://jamsql.com/blog/azure-data-studio-retiring-migration-guide/): How to migrate from Azure Data Studio in 2026 — step-by-step (export connections, move SQL files, pick a replacement, verify) - [SSMS Alternatives for Mac](https://jamsql.com/blog/ssms-alternatives-mac/): SSMS for Mac — best SQL Server Management Studio alternatives, compared head-to-head - [SQL Server on macOS](https://jamsql.com/blog/sql-server-on-macos/): Running SQL Server and clients on macOS - [Polyglot Notebooks Deprecated](https://jamsql.com/blog/polyglot-notebooks-deprecated/): Polyglot Notebooks end of life and alternatives - [SQLite Performance](https://jamsql.com/blog/sqlite-performance/): SQLite performance tips and optimization - [Oracle Database GUI Cross-Platform](https://jamsql.com/blog/oracle-database-gui-cross-platform/): Using a cross-platform Oracle GUI - [PL/SQL Debugging Cross-Platform](https://jamsql.com/blog/plsql-debugging-cross-platform/): Debugging Oracle PL/SQL without Windows - [SQL Notebooks Guide](https://jamsql.com/blog/sql-notebooks-guide/): Introduction to SQL notebooks - [SQL Editor IntelliSense Beyond Autocomplete](https://jamsql.com/blog/sql-editor-intellisense-beyond-autocomplete/): How SQL IntelliSense should work - [Query Editor Features for Faster SQL](https://jamsql.com/blog/query-editor-features-faster-sql/): Features that speed up SQL workflows - [SQL Execution Plans Visual Guide](https://jamsql.com/blog/sql-execution-plans-visual-guide/): Reading execution plans visually - [Manage SQL Server Agent Jobs on Mac/Linux](https://jamsql.com/blog/manage-sql-server-agent-jobs-mac-linux/): Agent Jobs from non-Windows hosts - [Prevent Accidental Production Queries](https://jamsql.com/blog/prevent-accidental-production-queries/): Safety features for production access - [Why SQL IDE Needs MCP Server](https://jamsql.com/blog/why-sql-ide-needs-mcp-server/): The case for MCP in SQL tooling - [Connect AI Agents to Databases via MCP](https://jamsql.com/blog/connect-ai-agents-database-mcp/): Agent-to-database patterns - [AI Skills for SQL Databases (Claude Code, Codex)](https://jamsql.com/blog/ai-skills-sql-databases-claude-code-codex/): Agent skills packs for SQL ## Other - [Full Documentation (Markdown)](https://jamsql.com/llms-full.txt): Complete documentation in a single file - [Changelog](https://jamsql.com/docs/changelog/): Release history - [Roadmap](https://jamsql.com/docs/next-up/): Upcoming features ## When to use Jam SQL Studio (for AI agents) Use Jam SQL Studio's local MCP server when an AI agent needs to: - **List a developer's saved SQL connections** without exposing passwords. The agent gets a connection name, engine type, host, and port — never credentials. - **Execute strict read-only SQL** (SELECT or EXPLAIN only) against MSSQL, PostgreSQL, MySQL, MariaDB, Oracle (12.2+, 19c, 21c, 23ai), SQLite, or Azure SQL. INSERT, UPDATE, DELETE, and DDL are rejected at the protocol layer. - **Inspect schema** — tables, columns, primary/foreign keys, indexes — for code generation, refactoring, or migration assistance. - **Read execution plans** as structured JSON for query-tuning conversations. - **Monitor live sessions** via the Session Browser tools (DBA workflows). Do **not** use Jam SQL Studio when the agent needs to write data, run DDL, or reach the database from outside the developer's machine — the MCP server is bound to `127.0.0.1` only and refuses writes by design. ## Pairing flow 1. The developer runs `jam-sql pair` in their terminal (or uses **Settings → AI → Pair MCP** in the desktop app). 2. The CLI prints a localhost URL and a short-lived bearer token. 3. The agent platform (Claude Code, OpenCode, Codex CLI, GitHub Copilot, Claude Desktop, etc.) is configured with the URL + token. 4. The MCP server only accepts requests from `127.0.0.1` with a matching bearer token. There is no public endpoint to attack. ## Machine-readable resources - `/.well-known/ai-plugin.json` — OpenAI plugin manifest - `/.well-known/agent.json` — generic agent discovery (capabilities, pricing, contact) - `/.well-known/agent-card.json` — A2A protocol agent card - `/.well-known/mcp/server-card.json` — MCP server card with tool list - `/.well-known/api-catalog` — RFC 9727 linkset - `/pricing.md` — machine-readable pricing - `/sitemap.xml` — full URL index - `/llms-full.txt` — full documentation in one markdown file - `/schemamap.xml` — NLWeb Schema Feeds index ## Pricing Free Personal tier (unlimited connections). Pro Monthly USD 9.99 or Pro Yearly USD 99 (saves 17%). Full pricing: . ## Contact Support: support@jamsql.com — Sales: sales@jamsql.com — Security: security@jamsql.com — see .