Couchbase is now a supported database
LibreDB Studio speaks SQL++ to Couchbase Server and Capella, over the documented Query and
management REST APIs. It is the ninth provider and the first that adds no driver dependency at
all — package.json is unchanged, so the Docker image, Snap, AppImage, Flatpak, deb/rpm and the
@libredb/studio npm package are all exactly the size they were before.
That was a deliberate choice rather than a shortcut. The official SDK is 64.6 MB unpacked across
3765 files and runs a postinstall step that downloads a prebuilt binary or compiles from source,
which fails outright in an air-gapped or egress-restricted install. Going over REST also travels
through corporate HTTP proxies, which the binary key-value protocol on port 11210 does not, and
needs no native module in the container image.
What you get
- The bucket, scope and collection explorer, with scopes flattened the way PostgreSQL schemas are:
_defaultis implicit, everything else reads asscope.collection. - Column types inferred per collection with
INFER, and the document key surfaced as__id— in
Couchbase the key is not part of the document, so without it you would never see it. - EXPLAIN plans rendered as a tree.
- Read-your-writes consistency by default. The server default would let a
SELECTimmediately after
anINSERTreturn nothing; the provider asks forrequest_plusso you always see your own writes. - Monitoring — cluster version and uptime, bucket size, connections, cache hit ratio, slow queries
and active requests — and maintenance for update-statistics, deferred index builds and killing a
running request. - Query ports are discovered from the cluster rather than configured, so only the management port
goes in the connection form. NAT and Docker deployments work through the cluster's advertised
alternate addresses, and Capella SRV endpoints resolve automatically.
Un-indexed collections are readable on Server 7.6 and later through a sequential scan; on 7.0 to 7.2
the query fails and the error now carries the CREATE PRIMARY INDEX statement that fixes it.
Reference: docs/providers/couchbase.md
Distribution coverage matrix
docs/CHANNELS.md is now a coverage matrix for three audiences at once — users looking for an
install route, developers checking what is automated, and anyone evaluating the project's reach. It
is generated from distribution/channels.yaml, so the table cannot drift from the inventory: 26
channels, 20 live, across Linux, macOS, Windows, containers, Kubernetes and cloud.
Adding a provider is now documented
docs/ADDING_A_PROVIDER.md carries the whole path: a seven-criteria rubric for deciding whether a
database needs a driver at all, the transport seam that keeps the wire protocol out of provider
logic, and the failure modes specific to HTTP databases — a 200 response that carries an error, an
envelope that does not describe the rows, rows that are not objects. Couchbase is the worked example.
Helm chart: 0.1.28
Application version only. No template changes — the rendered manifests are identical to 0.1.27.
Full changelog: 0.9.65...0.9.66