Skip to main content
When Direct migration connection is available on a managed database, request access from its dashboard or with dbhost databases migration-request. Give the exact public IP of your migration runner. DBHost first reserves the request; access opens after an operator has applied the matching cloud and host allowlists and verified the PostgreSQL TLS certificate. A reserved request is not a working connection. The active profile shows migrate.dbhost.app:5432, database name, a dedicated migration username and expiry. Use sslmode=verify-full and the password revealed by the owner in the dashboard or returned by dbhost databases migration-credentials <database-id> --show-secret and the owner-scoped API. Keep that password in your CI secret store; never commit it or put it in a command URL. The migration login starts with the database owner as its effective SQL role, so migration tools create objects under the same owner as the rest of the managed database. It cannot create roles or databases, and the admission allows only one migration job at a time with at most two direct sessions. Pending requests wait for that single active slot. Your application runtime URL stays on PgBouncer at port 6432. Use one runner per database even when the role permits two connections. Do not use a wildcard source IP or a dynamic CI egress address; use a runner with stable public egress. Schema changes and logical backup/restore cannot be promised as one consistent point while your own DDL is in flight. To finish early, click Revoke migration access or run dbhost databases migration-revoke <database-id> --yes. New logins stop and existing migration sessions are disconnected. The operator then removes the matching network rules. At expiry, DBHost also disables the role and drains its sessions; status may show reconciliation until the exact rules and role are removed. A second request waits until that cleanup is terminal. If the API returns FEATURE_NOT_AVAILABLE, keep using your existing owner connection for migrations. Direct migration access is released only after its TLS and network checks have passed for your database.