Connecting to Databases

Connections are server-held records bound to your user account, the browser never sees a credential or opens a socket to a database. This page covers the connection model, engine-specific parameters that actually matter (TLS posture, Oracle addressing, Mongo topology, server-side file access), and how connections move between the IDE and the DB DevOps Manager.

Ownership & Persistence

Connections are private to the creating user: you see only your own in the IDE, and they live on the server tied to your account, so they persist across sign-out and browser-cache clears. Passwords are encrypted at rest (AES-256-GCM) and are never returned to the client, on edit, the password field reads blank; leave it blank to retain the stored secret, or type a value to replace it. Administrators can see all connections through the DB DevOps Manager.

Lifecycle & Navigator State

Every saved connection is a root node in the navigator. A connected root shows its engine icon in full color and an expandable, introspected tree; a disconnected root is greyed and collapsed. Row-level (and right-click) actions: Connect (opens the pool and loads schema), Disconnect (tears down the pool and clears the tree), and Edit connection (re-validates before applying). Test before saving: the probe opens a socket, authenticates, runs a liveness statement appropriate to the engine, and returns the server version on success or the precise driver error on failure, connection refused, auth failure, unreachable host/timeout, and TLS-required are the usual distinct outcomes.

Engine-Specific Connection Notes

Beyond the standard host/database/credential fields, the connection form exposes the parameters that change behavior per engine. Defaults are engine-appropriate and pre-filled; the items below are the ones worth deliberate attention.

PostgreSQL / CockroachDB / TimescaleDB

MySQL / MariaDB

SQL Server

Oracle

MongoDB

SQLite

Redis

Importing from DB DevOps

The IDE and the DB DevOps Manager maintain independent connection registries. Use Import from DB DevOps (the + menu) to copy DevOps connections into the IDE as your own editable records, mutating or deleting the copy never touches the DevOps original. The picker excludes any target you already hold and de-dupes on import, so re-importing is idempotent. The inverse (IDE → DevOps) lives in the DevOps Connections view.

Organization

Folders are a per-browser presentation layer, they group connection roots (nestable, collapsible; unfoldered connections fall under "Ungrouped") without altering the server-side record. Typical segmentation is environment-first (Development / Staging / Production) with role annotations (primary vs. read replica) so read-only replicas are visually distinct from writable primaries.

Pooling & Tier Limits

Activating a connection establishes a server-side pool that is reused across queries and tabs and reaped after idle timeout, so tab switching costs nothing at the transport layer. Pool sizing and idle behavior are configurable via server env (see Configuration). Registry size is capped at 10 on Starter; Professional and Enterprise are unlimited.