Database Support
Understand which databases DBX can connect to and which advanced features are available per engine.
Connection Profiles
The connection dialog exposes ready-to-use profiles with default ports and driver labels.
| Group | Profiles | Notes |
|---|---|---|
| Core SQL engines | MySQL, PostgreSQL, SQLite, DuckDB, ClickHouse, SQL Server, Oracle, Redshift, DM, GaussDB, KWDB, Teradata, Vertica, Exasol, Firebird, SAP HANA, YashanDB, GBase | Available directly in the DBX connection picker |
| Document, key-value, and config services | Redis, MongoDB, Elasticsearch, etcd, Nacos | Use dedicated browsers, admin consoles, or query flows instead of the generic relational grid where appropriate |
| MySQL-compatible profiles | MariaDB, TiDB, OceanBase, Doris, SelectDB, StarRocks, Manticore Search, GoldenDB, TDSQL, PolarDB, GreatSQL, custom MySQL | Reuse MySQL-style connection handling where the engine speaks a compatible protocol |
| PostgreSQL-compatible profiles | openGauss, KingBase, HighGo, Vastbase, CockroachDB, custom PostgreSQL | Reuse PostgreSQL-style connection handling where the engine speaks a compatible protocol |
| File-based engines | SQLite, DuckDB, Microsoft Access, RQLite, Turso | Choose a local database file or HTTP endpoint instead of host and port |
| Time-series and edge | Cloudflare D1, InfluxDB, IoTDB, TDengine, Databend, QuestDB | Managed SQLite, time-series, IoT, or edge workloads |
| Agent/JDBC-oriented engines | H2, Snowflake, Trino, PrestoSQL, Hive, DB2, Informix, Neo4j, Cassandra, BigQuery, Kylin, SunDB, XuguDB, Databricks, IRIS, JDBC | Feature coverage depends on the driver path used by that engine |
Default Ports
| Profile | Default Port |
|---|---|
| MySQL / MariaDB / GoldenDB / TDSQL / PolarDB / GreatSQL | 3306 |
| PostgreSQL / openGauss / GaussDB / Vastbase | 5432 |
| Redis | 6379 |
| MongoDB | 27017 |
| ClickHouse | 8123 |
| SQL Server | 1433 |
| Oracle | 1521 |
| Elasticsearch | 9200 |
| TiDB | 4000 |
| OceanBase | 2881 |
| Doris / SelectDB / StarRocks / Databend | 9030 |
| Manticore Search | 9306 |
| Redshift | 5439 |
| CockroachDB | 26257 |
| DM | 5236 |
| KingBase | 54321 |
| HighGo | 5866 |
| KWDB | 26257 |
| YashanDB | 1688 |
| GBase | 5258 |
| Firebird | 3050 |
| Teradata | 1025 |
| Vertica | 5433 |
| Exasol | 8563 |
| SAP HANA | 39015 |
| Databricks | 443 |
| Cloudflare D1 REST API | 443 |
| InfluxDB | 8086 |
| IoTDB | 6667 |
| etcd | 2379 |
| Nacos | 8848 |
| Nacos console/admin API | 8085 |
| IRIS | 1972 |
| RQLite | 4001 |
| H2 | 9092 |
| Snowflake | 443 |
| Trino | 8080 |
| PrestoSQL | 8080 |
| Hive | 10000 |
| DB2 | 50000 |
| Informix | 9088 |
| Neo4j | 7687 |
| Cassandra | 9042 |
| BigQuery | 443 |
| Kylin | 7070 |
| SunDB | 22000 |
| TDengine | 6041 |
| XuguDB | 5138 |
| QuestDB | 8812 |
0 in the saved connection model when a network port is not part of the connection.Feature Matrix
DBX intentionally enables advanced workflows only where the app has enough metadata and SQL-generation support.
| Feature | Supported Types |
|---|---|
| Schema-aware tree | PostgreSQL, SQL Server, Oracle, Redshift, DM, GaussDB, KWDB, KingBase, HighGo, Vastbase, JDBC, H2, Snowflake, Trino, DB2, TDengine, XuguDB, Teradata, Vertica, Exasol, Firebird, SAP HANA, YashanDB, GBase |
| ER diagram | MySQL, PostgreSQL, SQLite, Cloudflare D1, SQL Server, Oracle, Redshift, DM, GaussDB, KWDB, KingBase, HighGo, Vastbase, GoldenDB, Access, H2, DB2, Teradata, Vertica, Firebird, Exasol, GBase, YashanDB |
| Database search | MySQL, PostgreSQL, SQLite, SQL Server, Oracle, Redshift, DuckDB, ClickHouse, DM, GaussDB, KWDB, KingBase, HighGo, Vastbase, GoldenDB, Access, H2, Snowflake, Trino, Hive, DB2, Informix, Neo4j, Cassandra, BigQuery, Kylin, SunDB, TDengine, XuguDB, Databricks, Teradata, Vertica |
| Table import | MySQL, PostgreSQL, SQLite, Cloudflare D1, DuckDB, ClickHouse, SQL Server, Oracle, Doris, StarRocks, Redshift, DM, GaussDB, KWDB, KingBase, HighGo, Vastbase, GoldenDB, Access, Databend |
| Geometry map preview | PostgreSQL, HighGo, KingBase, Vastbase, openGauss, GaussDB (PostGIS geometry / geography columns are returned as WKT in the result grid and unlock the grid-toolbar map preview button) |
| Table structure editor | MySQL, PostgreSQL, SQLite, SQL Server, KWDB |
| Create database | MySQL, PostgreSQL, SQL Server, ClickHouse, Oracle, DM, GaussDB, KWDB, Doris, StarRocks, Redshift, Teradata, Vertica |
| Field lineage | MySQL, PostgreSQL, SQLite, Cloudflare D1, SQL Server, Oracle, Redshift, DM, GaussDB, KWDB |
| Data transfer | MySQL, PostgreSQL, SQLite, Cloudflare D1, SQL Server, Oracle, ClickHouse, DuckDB, DM, GaussDB, KWDB |
| SQL file execution unavailable | Redis, MongoDB, Elasticsearch, etcd, Nacos |
Connection Options
Most network databases support host, port, username, password, default database, optional URL parameters, SSL, connection color, and tunnel / proxy settings. File-based engines replace host and port with a file picker.
DBX can also parse common connection URLs for engines such as MySQL, PostgreSQL, Redis, MongoDB, ClickHouse, SQL Server, Oracle, Elasticsearch, DM, GaussDB, KWDB, openGauss, TDengine, XuguDB, Access, Teradata, Vertica, Firebird, Exasol, GBase, YashanDB, SAP HANA, InfluxDB, QuestDB, IoTDB, etcd, Nacos, RQLite, and Databricks.
Cloudflare D1
Create a Cloudflare D1 connection with the Account ID, D1 Database ID (UUID), and an API Token. The token needs D1 Read permission for browsing and queries; add D1 Write for inserts, updates, DDL, imports, or transfers. DBX uses Cloudflare's HTTPS API directly, so SSH and proxy transport layers are not available for this profile.
Nacos Console
Nacos connections open a dedicated admin console for namespaces, configs, services, instances, config history, and raw API requests. Use the Nacos console/admin API address when creating the connection. Nacos 3 Docker deployments usually expose that console on 8085; older deployments may share 8848 with the service port.
ClickHouse TLS
ClickHouse connections support TLS encryption. When creating a ClickHouse connection, enable the TLS toggle to connect over HTTPS instead of HTTP. This is recommended for production ClickHouse instances or any ClickHouse Cloud deployments.
GaussDB Native Driver
GaussDB and openGauss now use a native Rust driver (rust-gaussdb) instead of ODBC. Connections that previously used the PostgreSQL compatibility path are auto-migrated to the GaussDB driver. The native driver provides better type handling and metadata support specific to GaussDB.
DuckDB File and Memory Modes
DuckDB connections support two modes:
- File mode: Select a
.dbor.duckdbfile for persistent storage - Memory mode: Use an in-memory database for temporary analysis. Data is lost when the connection is closed.
Create a new DuckDB database file directly from the connection form by entering a path that does not yet exist.
DuckDB Connection Init Script
DuckDB connections can run a SQL script every time the connection is established. Configure it in the Init Script field of the connection dialog. Typical uses are loading extensions, creating secrets, tuning session options, and attaching additional catalogs:
INSTALL quack;
LOAD quack;
ATTACH 'quack:analytics-host' AS remote (TOKEN 'your_token');Or attach a DuckLake catalog:
INSTALL ducklake;
LOAD ducklake;
ATTACH 'ducklake:/data/lake/meta.ducklake' AS lake (DATA_PATH '/data/lake/files');- Databases attached by the script (local files, DuckLake, remote Quack servers, ...) appear in the sidebar like configured attached databases, and are re-attached automatically on every reconnect. Prefer an explicit
AS aliasso catalog names stay stable. - Statements run in order; when one fails, the connection fails with the statement number and the engine error so the script is easy to fix.
- The script runs on every new connection, so prefer statements that are safe to repeat, and use guards such as
IF NOT EXISTSwhere the engine or extension supports them. - The init script is stored like a connection password: it lives in the local secret store, is never written to plain-text config files, and only syncs inside the encrypted sensitive payload — tokens such as the Quack
TOKENabove stay out of public sync snapshots and exports.
In-Memory SQLite
SQLite connections can use :memory: as the file path for ephemeral, in-memory databases. This is useful for quick experiments or temporary data transformations.
Doris / StarRocks Multi-Catalog
Doris and StarRocks are MPP engines that federate external data through catalogs (SHOW CATALOGS). DBX lists every catalog the current user can read and renders them as a catalog → database → table tree:
- The built-in
internalcatalog shows the engine's own databases and tables. - External catalogs (Hive, Iceberg, Hudi, Paimon, JDBC, etc.) list their databases and tables the same way. Catalogs you lack permission to read are skipped silently.
- When only the
internalcatalog is present, the sidebar stays flat (no catalog grouping layer) so single-catalog deployments are unaffected.
Opening a table from an external catalog previews its data using the 3-part catalog.database.table name, so no session SWITCH is needed. External catalogs expose tables and views only — routines, sequences, triggers, and foreign keys are not available.
Extending Support
Use the JDBC Plugin when a database is not covered by the built-in profiles or when your team must use a vendor JDBC driver. JDBC keeps vendor driver JARs outside the main DBX app, so you control which driver files are installed.