Skip to content

Managed Databases

Frostmoln runs managed PostgreSQL and MySQL instances for you — the platform provisions the virtual machine, attaches persistent storage, configures the engine, and gives you a ready-to-use connection. You manage your data; we manage the infrastructure underneath.

Choosing an engine and version

Pick PostgreSQL or MySQL at create time. Each engine offers several versions, and the create dropdown is the source of truth for what you can launch right now — currently around PostgreSQL 14–17 and MySQL 8.0 / 8.4.

Every version carries a lifecycle status:

StatusLaunchable?Meaning
currentYesNewest fully-supported release
supportedYesFully supported
deprecatedYes (marked)Still launchable, shown with a (deprecated) marker — plan to move off it
eolNoEnd of life — hidden from the create dropdown

The recommended version for each engine is marked (Recommended). End-of-life and preview versions are not offered for new instances.

Sizing

Instance sizes use the db.gp1.<size> flavor family (general-purpose):

FlavorvCPURAM
db.gp1.micro11 GB
db.gp1.small24 GB
db.gp1.medium48 GB
db.gp1.large816 GB
db.gp1.xlarge1632 GB

You choose storage separately (20–1000 GB). The create dialog shows the estimated cost before you confirm.

Create an instance

In the portal, go to Databases → Instances → Create and choose the engine, version, flavor, storage size, and the VPC + subnet the instance attaches to. Optionally enable High Availability (see below).

From the CLI

Lifecycle commands are engine-specific (fm postgres … / fm mysql …); the cross-engine fm database … group lists across engines.

bash
fm postgres instance create \
  --name app-db \
  --version 16 \
  --flavor db.gp1.medium \
  --storage 100 \
  --vpc my-vpc \
  --subnet my-subnet

# MySQL is symmetric:
fm mysql instance create --name app-db --version 8.4 --flavor db.gp1.small --storage 40 --vpc my-vpc --subnet my-subnet

# Cross-engine views:
fm database instance list
fm database version list

With Terraform

hcl
resource "frostmoln_postgres_instance" "app" {
  name             = "app-db"
  postgres_version = "16"
  flavor           = "db.gp1.medium"
  storage_gb       = 100
  vpc_id           = frostmoln_network_vpc.main.id
  subnet_id        = frostmoln_network_subnet.main.id
  ha_enabled       = true
}

Connect

After provisioning, the instance detail page reveals the connection details behind a Show Credentials button:

  • Host — the instance's private address
  • Port5432 (PostgreSQL) or 3306 (MySQL)
  • Usernamepgadmin (PostgreSQL) or mysqladmin (MySQL)
  • Password — generated for you (rotatable)
  • a ready-to-use connection URI

Databases are reachable from instances on the same VPC; the create flow opens the engine port in the instance's security group. Connect like any standard client:

bash
psql "host=<host> port=5432 user=pgadmin dbname=postgres"

TIP

Treat the admin credentials like any secret — store them in Secrets or your application's secret store, not in source control.

High availability

Enable High Availability at create time (the HA option in the portal, --ha on the CLI, or ha_enabled = true in Terraform). The platform provisions a standby alongside the primary so the instance can fail over. HA is selected at create time.

Backups and data safety

Take your own backups for now

Database instances are backed by persistent (non-ephemeral) storage, but deleting an instance permanently removes it and its storage volume — there is no automatic backup on deletion.

Automated and on-demand backups through the platform are not yet available. Until they are, take your own logical backups regularly and keep them somewhere durable such as object storage:

bash
pg_dump   "host=<host> user=pgadmin dbname=app"  > app.sql   # PostgreSQL
mysqldump -h <host> -u mysqladmin app            > app.sql   # MySQL

Lifecycle and limits

  • Versions are fixed for the life of an instance — in-place upgrades are not yet available. To move to a newer major version, create a new instance on that version and migrate your data (e.g. with pg_dump / mysqldump).
  • Deletion is permanent and removes the storage volume (see above).
  • An instance lives in one VPC/subnet (one region).