Database Provider Reference

August 4, 2026 · View on GitHub

This folder holds the prime (canonical) reference for each database provider in LibreDB Studio. There is exactly one document per provider, named by the provider's canonical type-id and kept in lockstep with the code (see the tri-sync rule in ../../CLAUDE.md).

Providertype-idFamilyDriverQuery languageReference
PostgreSQLpostgresSQLpgSQLpostgres.md
MySQLmysqlSQLmysql2SQLmysql.md
OracleoracleSQLoracledb (Thin)SQLoracle.md
Microsoft SQL ServermssqlSQLmssqlSQL (T-SQL)mssql.md
SQLitesqliteSQL (embedded)bun:sqlite (Bun) / node:sqlite (Node)SQLsqlite.md
RedisredisKey-ValueioredisJSONredis.md
MongoDBmongodbDocumentmongodbJSON (MQL)mongodb.md
CouchbasecouchbaseDocumentnone (HTTP: Query + management REST)SQL (SQL++)couchbase.md
ClickHouseclickhouseSQLnone (HTTP interface)SQLclickhouse.md
Apache DruiddruidSQL (analytics)none (HTTP: SQL endpoint)SQL (Calcite)druid.md
LibreDBlibredbEmbedded (Key-Value)@libredb/libredbJSON (command grammar)libredb.md

Conventions

  • Filename = canonical type-id (postgres.md, mssql.md, …), mirroring the source file (src/lib/db/providers/<family>/<type-id>.ts, or a <type-id>/ directory when a provider is split across modules, as Couchbase, ClickHouse and Druid are). The official product name (e.g. "SQL Server") is used only in each doc's title and prose.
  • Each doc mirrors the code. Every file:line citation is verified, and the per-provider triad — code, this doc, and tests/integration/db/<type-id>-provider.test.ts — must stay in sync in the same PR (the provider tri-sync invariant).
  • Each doc follows the same ~15-section shape: Overview → Architecture → Design decisions → Connection → Query interface → Schema → Monitoring → Maintenance → Capabilities & labels → Error handling → Testing → Usage → Known limitations → References.

Cross-cutting docs

  • Provider architecture: ../DATABASE_PROVIDERS.md — the Strategy-Pattern architecture, the provider hierarchy, and the shared interface/base classes.
  • Adding a new provider: ../ADDING_A_PROVIDER.md — the step-by-step guide, plus the rubric for deciding whether a database needs a driver at all, the transport seam, and the traps of talking to one over HTTP. Couchbase is the worked example.
  • HTTP API contract (request/response for /api/db/query, schema, maintenance, …): ../API_DOCS.md.

database compose connection tests

┌──────────┬───────────────┬─────────────┬──────────────┐ │ │ Couchbase │ ClickHouse │ Apache Druid │ ├──────────┼───────────────┼─────────────┼──────────────┤ │ Host │ localhost │ localhost │ localhost │ ├──────────┼───────────────┼─────────────┼──────────────┤ │ Port │ 8091 │ 8123 │ 8888 │ ├──────────┼───────────────┼─────────────┼──────────────┤ │ User │ Administrator │ libredb │ null │ ├──────────┼───────────────┼─────────────┼──────────────┤ │ Password │ password123 │ password123 │ null │ ├──────────┼───────────────┼─────────────┼──────────────┤ │ Database │ travel │ demo │ null │ └──────────┴───────────────┴─────────────┴──────────────┘