Connect to multiple databases from a single DBHub instance using TOML configuration. Useful for:
- Managing production, staging, and development databases
- Working with databases across different cloud providers
- Querying multiple database types simultaneously
Configuration
Create a dbhub.toml file:
[[sources]]
id = "production"
dsn = "postgres://user:password@prod.example.com:5432/myapp"
readonly = true
max_rows = 1000
[[sources]]
id = "staging"
dsn = "mysql://root:password@localhost:3306/myapp_staging"
readonly = false
max_rows = 5000
[[sources]]
id = "local"
dsn = "sqlite:///./dev.db"
Start DBHub:
# Automatically loads ./dbhub.toml
npx @bytebase/dbhub --transport http --port 8080
# Or specify custom location
npx @bytebase/dbhub --config=/path/to/config.toml
See Server Options for detailed option descriptions.
Examples
Using DSN
Individual Parameters
With SSH Tunnel
[[sources]]
id = "production"
dsn = "postgres://user:pass@prod.example.com:5432/myapp"
readonly = true
max_rows = 1000
[[sources]]
id = "staging"
dsn = "mysql://root:pass@localhost:3306/myapp_staging"
The first [[sources]] entry is the default database used when no id is specified.