Skip to main content
A managed database is an ordinary service in your project. Your app reaches it by name, and the connection string is resolved at deploy time rather than committed.

The whole thing

slipway.yaml
That is the complete spec. Deploying it creates the database, generates a password, attaches a 20 GB disk, brings the database up, runs your migrations, and then starts the API.

What each piece does

The generated password

The first deploy generates a password and stores it as the project secret DB_PASSWORD, named after the database. Later deploys reuse it. Reference it directly if your app needs it apart from the URL:
slipway.yaml
You can read and rotate it from the database’s Credentials tab.

Connecting from your machine

External access is off by default. Turn it on from the database’s Connection card and connect over TLS:
See Postgres.

Backups

The disk is backed up on a schedule and restorable in place from the Disks tab. Retention is measured in days and depends on your plan. For a logical export, run pg_dump from a sibling service or over external access. See Disks.

Previews get their own database

With PR previews on, each pull request gets a full copy of the project, database included, seeded from the default snapshot when one is set. Preview code never touches production data.
slipway.yaml

Sizing

Databases run with CPU reserved rather than burstable, so the allocation you pick is what they get. Start at 1 GB of memory for a small app and watch the Metrics tab. MySQL needs at least 1 GB and ClickHouse at least 2 GB. See CPU and memory.

Next steps

Postgres

Versions, roles, pgvector and external access.

Disks

Snapshots, backups and seeding a clone.