Supported databases
SkylerX hooks into each dialect through a unified driver abstraction (@db-tool/core-driver). SQL dialects go through execute(sql, params); NoSQL dialects use a parallel executeCommand(payload) channel.
Adding a new dialect takes three steps:
- Add an entry to the
DbDialectenum - Implement the
DatabaseDriverinterface indialects/<name>.ts - Register one line in
dialects/index.ts
MySQL SQL
Driver
mysql2MariaDB SQL
Driver
mysql2PostgreSQL SQL
Driver
pgOracle SQL
Driver
oracledbThin mode, supports SYSDBA role
SQL Server SQL
Driver
mssql达梦 DM SQL
Driver
dmdb人大金仓 Kingbase SQL
Driver
pgopenGauss SQL
Driver
pgOceanBase SQL
Driver
mysql2Oracle tenant also works
TiDB SQL
Driver
mysql2Apache Doris SQL
Driver
mysql2StarRocks SQL
Driver
mysql2CockroachDB SQL
Driver
pgGreenplum SQL
Driver
pgH2 SQL
Driver
pgAmazon Redshift SQL
Driver
pgSnowflake SQL
Driver
snowflake-sdkClickHouse SQL
Driver
@clickhouse/clientSQLite SQL
Driver
better-sqlite3DuckDB SQL
Driver
@duckdb/node-apiTDengine 涛思 SQL
Driver
@tdengine/websocketMongoDB NoSQL
Driver
mongodbRedis NoSQL
Driver
ioredisElasticsearch NoSQL
Driver
@elastic/elasticsearchProtocol compatibility matrix
Many "new" dialects are wire-compatible with an existing protocol (MySQL wire / PG wire). They reuse the existing driver at essentially zero cost:
MySQL protocol family (uses mysql2)
- MySQL · MariaDB · OceanBase · TiDB · Doris · StarRocks
PostgreSQL protocol family (uses pg)
- PostgreSQL · KingbaseES · openGauss · Greenplum · CockroachDB · H2 (PG-server mode) · Amazon Redshift
Dedicated drivers
| Dialect | Driver | Notes |
|---|---|---|
| Oracle | oracledb | Defaults to thin mode — pure JS, no Instant Client; supports SYSDBA / SYSOPER roles |
| DM | dmdb | Official package, lazy-loaded; the workhorse for Chinese-vendor compliance |
| SQL Server | mssql | Pure JS, supports Windows / SQL auth |
| SQLite | better-sqlite3 | Local file, .db / .sqlite |
| DuckDB | @duckdb/node-api | Local file, OLAP-friendly; BigInts auto-stringified to avoid precision loss |
| ClickHouse | @clickhouse/client | HTTP protocol |
| Snowflake | snowflake-sdk | Cloud DW, supports password / private-key / OAuth auth |
| TDengine | @tdengine/websocket | WebSocket protocol, time-series workloads |
NoSQL parallel channel
| Dialect | Driver | Channel |
|---|---|---|
| MongoDB | mongodb | executeCommand({ op, args, context }), supports find/aggregate/insert/update/delete and more |
| Redis | ioredis | executeCommand({ op, args }), SCAN sampling + bulk TYPE fetch |
| Elasticsearch | @elastic/elasticsearch | REST/HTTP, supports search/get/bulk/raw and more |
The full Chinese-vendor stack
SkylerX is one of the few open-source tools with native support for every mainstream Chinese database:
| Database | Vendor | Protocol | Status |
|---|---|---|---|
| DM | Dameng | proprietary | ✅ Full |
| KingbaseES | Kingbase | PG-compatible | ✅ Full |
| openGauss | Huawei / China Mobile | PG-compatible | ✅ Full |
| OceanBase | Ant | MySQL-compatible (also Oracle tenant) | ✅ Full |
| TiDB | PingCAP | MySQL-compatible | ✅ Full |
| TDengine | Taos Data | WebSocket | ✅ Full |
Companion features:
- 🛡 SM2/SM3/SM4 (Chinese cryptography) helpers
- 📋 MLPS 2.0 compliance check panel (MySQL + PG families)
- 🔄 Oracle → DM migration wizard (auto-translates types + functions + DDL)
Compatibility notes
| Scenario | Support |
|---|---|
| Mainstream SQL (SELECT / JOIN / WINDOW / CTE) | ✅ All dialects |
| Editor: highlighting / autocomplete / format | ✅ All SQL dialects |
| Result grid / editable cells | ✅ All SQL dialects |
| EXPLAIN visualizer | ✅ MySQL / PG / major dialects |
| Manual-commit transaction mode | ✅ MySQL / PG / Oracle / DM / SQL Server / Snowflake / OceanBase / KingbaseES / Greenplum / openGauss / TiDB / CockroachDB |
| Slow-query log analysis | ✅ MySQL family + PG family |
| Replication lag monitoring | ✅ MySQL family + PG family + SQL Server AOAG |
| Schema / data diff | ✅ All SQL dialects |
| Backup / restore (SQL format, cross-platform) | ✅ All SQL dialects |
| AI assistant | ✅ All dialects (cross-dialect SQL translation included) |
Database not listed?
- File an issue to request a new dialect →
- Protocol-compatible dialects (MySQL / PG wire) can be added in 5 minutes
- For proprietary enterprise databases, reach out:
duhbbx@gmail.com