Skip to content

fm database ​

Reference for the fm database command group (auto-generated from fm database --help).

fm database ​

text
Database management commands across every type.

Use type-specific commands for instance lifecycle, backups, replicas, and restore:
  fm database postgres instance create --name my-db --version 16 ...
  fm database mysql instance create --name my-db --version 8.4 ...

This command group provides views across every type:
  fm database type list       List available types
  fm database instance list     List all instances (all types)
  fm database instance get      Get instance details
  fm database flavor list       List all flavors (all types)
  fm database version list      List all versions (all types)

Usage:
  fm database [command]

Aliases:
  database, db

Available Commands:
  backup-key  Manage your managed-database backup encryption key
  flavor      View database flavors
  instance    View database instances (all types)
  mysql       Manage MySQL databases
  postgres    Manage PostgreSQL databases
  type        Manage database types
  version     View database versions

Flags:
  -h, --help   help for database

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

Use "fm database [command] --help" for more information about a command.

fm database backup-key ​

text
Manage the per-account backup encryption key (BEK) for your managed databases.

The key is shared by every managed database in your account. Revoking it is a kill
switch: it disables backups AND restores for all of them (existing backups are kept
but cannot be restored until you re-enable the key). The key material is unchanged —
this is disable/enable, not destroy.

Usage:
  fm database backup-key [command]

Available Commands:
  enable      Re-enable the backup encryption key
  revoke      Revoke the backup encryption key
  status      Show the backup encryption key status

Flags:
  -h, --help   help for backup-key

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

Use "fm database backup-key [command] --help" for more information about a command.

fm database backup-key enable ​

text
Re-enable the per-account backup encryption key, restoring backup and restore capability for your managed databases. The key material is unchanged.

Usage:
  fm database backup-key enable [flags]

Flags:
  -h, --help   help for enable

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

fm database backup-key revoke ​

text
Revoke the per-account backup encryption key.

This is a kill switch: it disables backups AND restores for ALL your managed
databases. Existing backups are kept but cannot be restored until you re-enable
the key. Re-enable with "fm database backup-key enable".

Usage:
  fm database backup-key revoke [flags]

Flags:
      --force   skip the confirmation prompt
  -h, --help    help for revoke

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

fm database backup-key status ​

text
Show the backup encryption key status

Usage:
  fm database backup-key status [flags]

Flags:
  -h, --help   help for status

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

fm database flavor ​

text
List available database instance sizes across all types.

Usage:
  fm database flavor [command]

Aliases:
  flavor, flavors

Available Commands:
  list        List database flavors (all types)

Flags:
  -h, --help   help for flavor

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

Use "fm database flavor [command] --help" for more information about a command.

fm database flavor list ​

text
List all available database flavors (instance sizes) across all types.

Usage:
  fm database flavor list [flags]

Flags:
  -h, --help   help for list

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

fm database instance ​

text
View managed database instances across all types.

Usage:
  fm database instance [command]

Aliases:
  instance, instances

Available Commands:
  get         Get database instance details
  list        List database instances (all types)

Flags:
  -h, --help   help for instance

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

Use "fm database instance [command] --help" for more information about a command.

fm database instance get ​

text
Get detailed information about a specific database instance.

Usage:
  fm database instance get <instance-id> [flags]

Flags:
  -h, --help   help for get

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

fm database instance list ​

text
List all managed database instances across all types.

--tag key=value (repeatable) lists only the instances carrying EVERY given resource
tag with exactly that value; key= matches a tag whose value is empty.

Usage:
  fm database instance list [flags]

Flags:
  -h, --help          help for list
      --tag strings   only instances with this tag, key=value (repeatable; every one must match; key= matches an empty value)

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

fm database mysql ​

text
Manage MySQL databases instances and more.

Usage:
  fm database mysql [command]

Available Commands:
  backup      Manage MySQL backups
  console     Open an interactive MySQL console
  flavor      Manage MySQL flavors
  instance    Manage MySQL instances
  replica     Manage MySQL read replicas
  restore     Restore a MySQL instance
  version     Manage MySQL versions

Flags:
  -h, --help   help for mysql

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

Use "fm database mysql [command] --help" for more information about a command.

fm database mysql backup ​

text
Manage backups for MySQL database instances.

Usage:
  fm database mysql backup [command]

Aliases:
  backup, backups

Available Commands:
  create      Create a MySQL backup
  delete      Delete a MySQL backup
  list        List MySQL backups
  tags        Read and replace a MySQL backup's resource tags

Flags:
  -h, --help   help for backup

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

Use "fm database mysql backup [command] --help" for more information about a command.
fm database mysql backup create ​
text
Create a new backup for a MySQL instance.

Examples:
  fm mysql backup create <instance-id> --name my-backup
  fm mysql backup create <instance-id> --name my-backup --type full

Usage:
  fm database mysql backup create <instance-id> [flags]

Flags:
  -h, --help          help for create
      --name string   backup name (required)
      --tag strings   the backup's own resource tag, key=value (repeatable). The tenant's default tags are merged in; the instance's tags are not copied
      --type string   backup type (full)

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)
fm database mysql backup delete ​
text
Delete a backup for a MySQL instance.

Usage:
  fm database mysql backup delete <instance-id> <backup-id> [flags]

Flags:
  -h, --help   help for delete

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)
fm database mysql backup list ​
text
List all backups for a MySQL instance.

--tag key=value (repeatable) lists only the backups carrying EVERY given resource
tag with exactly that value; key= matches a tag whose value is empty.

Usage:
  fm database mysql backup list <instance-id> [flags]

Flags:
  -h, --help          help for list
      --tag strings   only backups with this tag, key=value (repeatable; every one must match; key= matches an empty value)

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)
fm database mysql backup tags ​
text
Read and replace a MySQL backup's resource tags

Usage:
  fm database mysql backup tags [command]

Aliases:
  tags, tag

Available Commands:
  get         Show a MySQL backup's resource tags
  set         Replace a MySQL backup's resource tags

Flags:
  -h, --help   help for tags

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

Use "fm database mysql backup tags [command] --help" for more information about a command.
fm database mysql backup tags get ​
text
Show a MySQL backup's resource tags

Usage:
  fm database mysql backup tags get <instance-id> <backup-id> [flags]

Flags:
  -h, --help   help for get

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)
fm database mysql backup tags set ​
text
Replace a MySQL backup's resource tags in place with exactly the given set
(replace semantics — any tag not listed is removed). Resource tags are your own
metadata for search and filtering: nothing else about the MySQL backup changes, and the
running service is not touched.

The set you pass IS the resulting set. To ADD one tag without disturbing the
others, read the current ones first with 'fm database mysql backup tags get' and pass them all
back. Use --clear to remove every tag. The tenant's default tags are not
re-applied.

The backup's own tags: the instance's are neither copied nor changed.

Keys beginning frostmoln_ or frostmoln- (any letter case) are reserved and
refused. At most 32 tags; a key is 1-64 bytes, a value at most 256 bytes.

Examples:
  fm database mysql backup tags set inst-123 bak-456 --tag env=prod --tag owner=team-a
  fm database mysql backup tags set inst-123 bak-456 --clear

Usage:
  fm database mysql backup tags set <instance-id> <backup-id> --tag <key=value> [--tag <key=value> ...] [flags]

Flags:
      --clear         remove ALL tags (mutually exclusive with --tag)
  -h, --help          help for set
      --tag strings   tag in key=value format (repeatable; replace semantics)

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

fm database mysql console ​

text
Open an interactive MySQL console on a managed instance.

Establishes a secure port-forward session to the instance and runs your
local 'mysql' client through it — no public IP or open port required. The
'mysql' client must be installed.

Connection credentials are NOT injected: pass user/database via arguments
after '--' and supply the password through your client config (e.g. ~/.my.cnf)
or the interactive prompt — avoid putting passwords on the command line.
Fetch credentials with 'fm database mysql instance credentials <instance-id>'.

Usage:
  fm database mysql console <instance-id> [-- mysql-args] [flags]

Examples:
  fm database mysql console my-instance-id -- -u admin -D mydb

Flags:
  -h, --help   help for console

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

fm database mysql flavor ​

text
List available MySQL instance sizes.

Usage:
  fm database mysql flavor [command]

Aliases:
  flavor, flavors

Available Commands:
  list        List MySQL flavors

Flags:
  -h, --help   help for flavor

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

Use "fm database mysql flavor [command] --help" for more information about a command.
fm database mysql flavor list ​
text
List all available MySQL instance sizes.

Usage:
  fm database mysql flavor list [flags]

Flags:
  -h, --help   help for list

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

fm database mysql instance ​

text
Manage MySQL database instances.

Usage:
  fm database mysql instance [command]

Aliases:
  instance, instances

Available Commands:
  create      Create a MySQL instance
  credentials Get MySQL connection credentials
  delete      Delete a MySQL instance
  get         Get MySQL instance details
  list        List MySQL instances
  resize      Resize a MySQL instance
  restart     Restart a MySQL instance
  start       Start a MySQL instance
  stop        Stop a MySQL instance
  tags        Read and replace a MySQL instance's resource tags

Flags:
  -h, --help   help for instance

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

Use "fm database mysql instance [command] --help" for more information about a command.
fm database mysql instance create ​
text
Create a new managed MySQL database instance.

Examples:
  fm database mysql instance create --name my-db --version 8.4 --flavor db.gp1.medium --storage 100 --vpc vpc-123 --subnet subnet-456
  fm database mysql instance create --name my-db --version 8.4 --flavor db.gp1.medium --storage 100 --vpc vpc-123 --subnet subnet-456 --backup

Usage:
  fm database mysql instance create [flags]

Flags:
      --backup                   enable automated backups
      --backup-retention int     backup retention in days (35-90; 0 uses the server default of 35)
      --backup-schedule string   backup schedule (cron expression)
      --flavor string            flavor ID (required, e.g. db.gp1.medium — see 'flavors list')
  -h, --help                     help for create
      --name string              instance name (required)
      --no-wait                  return immediately instead of waiting for provisioning to complete
      --parameter-group string   parameter group ID
      --storage int              storage size in GB (required)
      --subnet string            subnet ID (required)
      --tag strings              resource tag in key=value format (repeatable). The tenant's default tags are merged in; a key you set wins
      --version string           MySQL version (required)
      --vpc string               VPC ID (required)

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)
fm database mysql instance credentials ​
text
Get the connection credentials for a MySQL instance.

--rotate changes the admin password inside the running instance. It starts the rotation,
waits for the platform to confirm it (up to --wait-timeout), and then prints the
new credentials. Your current credentials stay valid until the rotation
completes, and stay valid if it fails. Instances created before in-place
rotation was available cannot rotate and are refused.

Examples:
  fm mysql instance credentials db-123
  fm mysql instance credentials db-123 --rotate
  fm mysql instance credentials db-123 --rotate --no-wait

Usage:
  fm database mysql instance credentials <instance-id> [flags]

Flags:
  -h, --help                    help for credentials
      --no-wait                 with --rotate: start the rotation and print its operation id instead of waiting
      --rotate                  rotate the admin password inside the instance, then print the new credentials
      --wait-timeout duration   with --rotate: how long to wait for the rotation to complete (default 5m0s)

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)
fm database mysql instance delete ​
text
Delete a managed MySQL instance.

Usage:
  fm database mysql instance delete <instance-id> [flags]

Flags:
  -h, --help   help for delete

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)
fm database mysql instance get ​
text
Get detailed information about a specific MySQL instance.

Usage:
  fm database mysql instance get <instance-id> [flags]

Flags:
  -h, --help   help for get

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)
fm database mysql instance list ​
text
List all MySQL instances.

--tag key=value (repeatable) lists only the instances carrying EVERY given resource
tag with exactly that value; key= matches a tag whose value is empty.

Usage:
  fm database mysql instance list [flags]

Flags:
  -h, --help          help for list
      --tag strings   only instances with this tag, key=value (repeatable; every one must match; key= matches an empty value)

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)
fm database mysql instance resize ​
text
Grow the storage of a MySQL instance. Storage can only be increased (volumes cannot shrink); flavor resize is not yet supported.

Examples:
  fm mysql instance resize <instance-id> --storage 20

Usage:
  fm database mysql instance resize <instance-id> [flags]

Flags:
  -h, --help          help for resize
      --storage int   new storage size in GB

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)
fm database mysql instance restart ​
text
Restart a MySQL instance.

Usage:
  fm database mysql instance restart <instance-id> [flags]

Flags:
  -h, --help                    help for restart
      --no-wait                 return once the action is accepted instead of waiting for it to finish
      --wait-timeout duration   how long to wait for the action to finish (default 15m0s)

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)
fm database mysql instance start ​
text
Start a stopped MySQL instance.

Usage:
  fm database mysql instance start <instance-id> [flags]

Flags:
  -h, --help                    help for start
      --no-wait                 return once the action is accepted instead of waiting for it to finish
      --wait-timeout duration   how long to wait for the action to finish (default 15m0s)

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)
fm database mysql instance stop ​
text
Stop a running MySQL instance.

Usage:
  fm database mysql instance stop <instance-id> [flags]

Flags:
  -h, --help                    help for stop
      --no-wait                 return once the action is accepted instead of waiting for it to finish
      --wait-timeout duration   how long to wait for the action to finish (default 15m0s)

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)
fm database mysql instance tags ​
text
Read and replace a MySQL instance's resource tags

Usage:
  fm database mysql instance tags [command]

Aliases:
  tags, tag

Available Commands:
  get         Show a MySQL instance's resource tags
  set         Replace a MySQL instance's resource tags

Flags:
  -h, --help   help for tags

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

Use "fm database mysql instance tags [command] --help" for more information about a command.
fm database mysql instance tags get ​
text
Show a MySQL instance's resource tags

Usage:
  fm database mysql instance tags get <instance-id> [flags]

Flags:
  -h, --help   help for get

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)
fm database mysql instance tags set ​
text
Replace a MySQL instance's resource tags in place with exactly the given set
(replace semantics — any tag not listed is removed). Resource tags are your own
metadata for search and filtering: nothing else about the MySQL instance changes, and the
running service is not touched.

The set you pass IS the resulting set. To ADD one tag without disturbing the
others, read the current ones first with 'fm database mysql instance tags get' and pass them all
back. Use --clear to remove every tag. The tenant's default tags are not
re-applied.

A tag change restarts nothing, and is accepted while the instance is busy (resizing, backing up). Its backups and replicas keep their own tags.

Keys beginning frostmoln_ or frostmoln- (any letter case) are reserved and
refused. At most 32 tags; a key is 1-64 bytes, a value at most 256 bytes.

Examples:
  fm database mysql instance tags set inst-123 --tag env=prod --tag owner=team-a
  fm database mysql instance tags set inst-123 --clear

Usage:
  fm database mysql instance tags set <instance-id> --tag <key=value> [--tag <key=value> ...] [flags]

Flags:
      --clear         remove ALL tags (mutually exclusive with --tag)
  -h, --help          help for set
      --tag strings   tag in key=value format (repeatable; replace semantics)

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

fm database mysql replica ​

text
Manage read replicas for MySQL database instances.

Usage:
  fm database mysql replica [command]

Aliases:
  replica, replicas

Available Commands:
  create      Create a MySQL read replica
  delete      Delete a MySQL read replica
  list        List MySQL read replicas
  tags        Read and replace a MySQL read replica's resource tags

Flags:
  -h, --help   help for replica

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

Use "fm database mysql replica [command] --help" for more information about a command.
fm database mysql replica create ​
text
Create a new read replica for a MySQL instance.

Examples:
  fm mysql replica create db-123 --name my-replica

Usage:
  fm database mysql replica create <instance-id> [flags]

Flags:
      --flavor string   replica flavor ID (optional; inherits the primary's flavor when omitted)
  -h, --help            help for create
      --name string     replica name (required)
      --no-wait         return immediately instead of waiting for provisioning to complete
      --tag strings     the replica's own resource tag, key=value (repeatable). The tenant's default tags are merged in; the primary's tags are not copied

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)
fm database mysql replica delete ​
text
Delete a read replica for a MySQL instance.

Usage:
  fm database mysql replica delete <instance-id> <replica-id> [flags]

Flags:
  -h, --help   help for delete

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)
fm database mysql replica list ​
text
List all read replicas for a MySQL instance.

--tag key=value (repeatable) lists only the replicas carrying EVERY given resource
tag with exactly that value; key= matches a tag whose value is empty.

Usage:
  fm database mysql replica list <instance-id> [flags]

Flags:
  -h, --help          help for list
      --tag strings   only replicas with this tag, key=value (repeatable; every one must match; key= matches an empty value)

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)
fm database mysql replica tags ​
text
Read and replace a MySQL read replica's resource tags

Usage:
  fm database mysql replica tags [command]

Aliases:
  tags, tag

Available Commands:
  get         Show a MySQL read replica's resource tags
  set         Replace a MySQL read replica's resource tags

Flags:
  -h, --help   help for tags

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

Use "fm database mysql replica tags [command] --help" for more information about a command.
fm database mysql replica tags get ​
text
Show a MySQL read replica's resource tags

Usage:
  fm database mysql replica tags get <instance-id> <replica-id> [flags]

Flags:
  -h, --help   help for get

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)
fm database mysql replica tags set ​
text
Replace a MySQL read replica's resource tags in place with exactly the given set
(replace semantics — any tag not listed is removed). Resource tags are your own
metadata for search and filtering: nothing else about the MySQL read replica changes, and the
running service is not touched.

The set you pass IS the resulting set. To ADD one tag without disturbing the
others, read the current ones first with 'fm database mysql replica tags get' and pass them all
back. Use --clear to remove every tag. The tenant's default tags are not
re-applied.

The replica's own tags: the primary's are neither copied nor changed.

Keys beginning frostmoln_ or frostmoln- (any letter case) are reserved and
refused. At most 32 tags; a key is 1-64 bytes, a value at most 256 bytes.

Examples:
  fm database mysql replica tags set inst-123 rep-456 --tag env=prod --tag owner=team-a
  fm database mysql replica tags set inst-123 rep-456 --clear

Usage:
  fm database mysql replica tags set <instance-id> <replica-id> --tag <key=value> [--tag <key=value> ...] [flags]

Flags:
      --clear         remove ALL tags (mutually exclusive with --tag)
  -h, --help          help for set
      --tag strings   tag in key=value format (repeatable; replace semantics)

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

fm database mysql restore ​

text
Restore a MySQL instance from a backup.

Restore is non-destructive: it provisions a NEW instance from the backup and
leaves the source untouched. Use --target-name to name the new instance.

Examples:
  fm mysql restore db-123 --backup bak-456
  fm mysql restore db-123 --backup bak-456 --target-name my-db-restored

Usage:
  fm database mysql restore <instance-id> [flags]

Flags:
      --backup string        backup ID to restore from
  -h, --help                 help for restore
      --tag strings          resource tag for the NEW instance, key=value (repeatable). The tenant's default tags are merged in; the source instance's tags are not copied
      --target-name string   name for the new restored instance (defaults to a generated name)

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

fm database mysql version ​

text
List available MySQL versions.

Usage:
  fm database mysql version [command]

Aliases:
  version, versions

Available Commands:
  list        List available MySQL versions

Flags:
  -h, --help   help for version

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

Use "fm database mysql version [command] --help" for more information about a command.
fm database mysql version list ​
text
List all available MySQL versions.

Usage:
  fm database mysql version list [flags]

Flags:
  -h, --help   help for list

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

fm database postgres ​

text
Manage PostgreSQL databases instances and more.

Usage:
  fm database postgres [command]

Aliases:
  postgres, pg

Available Commands:
  backup      Manage PostgreSQL backups
  console     Open an interactive PostgreSQL console
  flavor      Manage PostgreSQL flavors
  instance    Manage PostgreSQL instances
  replica     Manage PostgreSQL read replicas
  restore     Restore a PostgreSQL instance
  version     Manage PostgreSQL versions

Flags:
  -h, --help   help for postgres

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

Use "fm database postgres [command] --help" for more information about a command.

fm database postgres backup ​

text
Manage backups for PostgreSQL database instances.

Usage:
  fm database postgres backup [command]

Aliases:
  backup, backups

Available Commands:
  create      Create a PostgreSQL backup
  delete      Delete a PostgreSQL backup
  list        List PostgreSQL backups
  tags        Read and replace a PostgreSQL backup's resource tags

Flags:
  -h, --help   help for backup

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

Use "fm database postgres backup [command] --help" for more information about a command.
fm database postgres backup create ​
text
Create a new backup for a PostgreSQL instance.

Examples:
  fm postgres backup create <instance-id> --name my-backup
  fm postgres backup create <instance-id> --name my-backup --type full

Usage:
  fm database postgres backup create <instance-id> [flags]

Flags:
  -h, --help          help for create
      --name string   backup name (required)
      --tag strings   the backup's own resource tag, key=value (repeatable). The tenant's default tags are merged in; the instance's tags are not copied
      --type string   backup type (full)

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)
fm database postgres backup delete ​
text
Delete a backup for a PostgreSQL instance.

Usage:
  fm database postgres backup delete <instance-id> <backup-id> [flags]

Flags:
  -h, --help   help for delete

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)
fm database postgres backup list ​
text
List all backups for a PostgreSQL instance.

--tag key=value (repeatable) lists only the backups carrying EVERY given resource
tag with exactly that value; key= matches a tag whose value is empty.

Usage:
  fm database postgres backup list <instance-id> [flags]

Flags:
  -h, --help          help for list
      --tag strings   only backups with this tag, key=value (repeatable; every one must match; key= matches an empty value)

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)
fm database postgres backup tags ​
text
Read and replace a PostgreSQL backup's resource tags

Usage:
  fm database postgres backup tags [command]

Aliases:
  tags, tag

Available Commands:
  get         Show a PostgreSQL backup's resource tags
  set         Replace a PostgreSQL backup's resource tags

Flags:
  -h, --help   help for tags

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

Use "fm database postgres backup tags [command] --help" for more information about a command.
fm database postgres backup tags get ​
text
Show a PostgreSQL backup's resource tags

Usage:
  fm database postgres backup tags get <instance-id> <backup-id> [flags]

Flags:
  -h, --help   help for get

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)
fm database postgres backup tags set ​
text
Replace a PostgreSQL backup's resource tags in place with exactly the given set
(replace semantics — any tag not listed is removed). Resource tags are your own
metadata for search and filtering: nothing else about the PostgreSQL backup changes, and the
running service is not touched.

The set you pass IS the resulting set. To ADD one tag without disturbing the
others, read the current ones first with 'fm database postgres backup tags get' and pass them all
back. Use --clear to remove every tag. The tenant's default tags are not
re-applied.

The backup's own tags: the instance's are neither copied nor changed.

Keys beginning frostmoln_ or frostmoln- (any letter case) are reserved and
refused. At most 32 tags; a key is 1-64 bytes, a value at most 256 bytes.

Examples:
  fm database postgres backup tags set inst-123 bak-456 --tag env=prod --tag owner=team-a
  fm database postgres backup tags set inst-123 bak-456 --clear

Usage:
  fm database postgres backup tags set <instance-id> <backup-id> --tag <key=value> [--tag <key=value> ...] [flags]

Flags:
      --clear         remove ALL tags (mutually exclusive with --tag)
  -h, --help          help for set
      --tag strings   tag in key=value format (repeatable; replace semantics)

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

fm database postgres console ​

text
Open an interactive PostgreSQL console on a managed instance.

Establishes a secure port-forward session to the instance and runs your
local 'psql' client through it — no public IP or open port required. The
'psql' client must be installed.

Connection credentials are NOT injected: pass user/database via arguments
after '--' and supply the password through your client config (e.g. ~/.pgpass)
or the interactive prompt — avoid putting passwords on the command line.
Fetch credentials with 'fm database postgres instance credentials <instance-id>'.

Usage:
  fm database postgres console <instance-id> [-- psql-args] [flags]

Examples:
  fm database postgres console my-instance-id -- -U admin -d mydb

Flags:
  -h, --help   help for console

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

fm database postgres flavor ​

text
List available PostgreSQL instance sizes.

Usage:
  fm database postgres flavor [command]

Aliases:
  flavor, flavors

Available Commands:
  list        List PostgreSQL flavors

Flags:
  -h, --help   help for flavor

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

Use "fm database postgres flavor [command] --help" for more information about a command.
fm database postgres flavor list ​
text
List all available PostgreSQL instance sizes.

Usage:
  fm database postgres flavor list [flags]

Flags:
  -h, --help   help for list

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

fm database postgres instance ​

text
Manage PostgreSQL database instances.

Usage:
  fm database postgres instance [command]

Aliases:
  instance, instances

Available Commands:
  create      Create a PostgreSQL instance
  credentials Get PostgreSQL connection credentials
  delete      Delete a PostgreSQL instance
  extensions  Manage PostgreSQL instance extensions
  failover    Fail a PostgreSQL instance over to its standby
  get         Get PostgreSQL instance details
  list        List PostgreSQL instances
  resize      Resize a PostgreSQL instance
  restart     Restart a PostgreSQL instance
  start       Start a PostgreSQL instance
  stop        Stop a PostgreSQL instance
  tags        Read and replace a PostgreSQL instance's resource tags

Flags:
  -h, --help   help for instance

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

Use "fm database postgres instance [command] --help" for more information about a command.
fm database postgres instance create ​
text
Create a new managed PostgreSQL database instance.

Examples:
  fm database postgres instance create --name my-db --version 16 --flavor db.gp1.medium --storage 100 --vpc vpc-123 --subnet subnet-456
  fm database postgres instance create --name my-db --version 16 --flavor db.gp1.medium --storage 100 --vpc vpc-123 --subnet subnet-456 --ha --backup

Usage:
  fm database postgres instance create [flags]

Flags:
      --backup                   enable automated backups
      --backup-retention int     backup retention in days (35-90; 0 uses the server default of 35)
      --backup-schedule string   backup schedule (cron expression)
      --flavor string            flavor ID (required, e.g. db.gp1.medium — see 'flavors list')
      --ha                       enable high availability (a synchronous standby; PostgreSQL only, chosen at create time)
  -h, --help                     help for create
      --name string              instance name (required)
      --no-pitr                  create without point-in-time recovery. Whether an instance CAN do it is fixed at create, so this cannot be undone later — restore to a new instance instead
      --no-wait                  return immediately instead of waiting for provisioning to complete
      --parameter-group string   parameter group ID
      --pitr                     enable point-in-time recovery (PostgreSQL only; requires --backup). Turning it off and on again later is done in the portal or with terraform-provider-frostmoln, not here
      --storage int              storage size in GB (required)
      --subnet string            subnet ID (required)
      --tag strings              resource tag in key=value format (repeatable). The tenant's default tags are merged in; a key you set wins
      --version string           PostgreSQL version (required)
      --vpc string               VPC ID (required)

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)
fm database postgres instance credentials ​
text
Get the connection credentials for a PostgreSQL instance.

--rotate changes the admin password inside the running instance. It starts the rotation,
waits for the platform to confirm it (up to --wait-timeout), and then prints the
new credentials. Your current credentials stay valid until the rotation
completes, and stay valid if it fails. Instances created before in-place
rotation was available cannot rotate and are refused.

Examples:
  fm postgres instance credentials db-123
  fm postgres instance credentials db-123 --rotate
  fm postgres instance credentials db-123 --rotate --no-wait

Usage:
  fm database postgres instance credentials <instance-id> [flags]

Flags:
  -h, --help                    help for credentials
      --no-wait                 with --rotate: start the rotation and print its operation id instead of waiting
      --rotate                  rotate the admin password inside the instance, then print the new credentials
      --wait-timeout duration   with --rotate: how long to wait for the rotation to complete (default 5m0s)

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)
fm database postgres instance delete ​
text
Delete a managed PostgreSQL instance.

Usage:
  fm database postgres instance delete <instance-id> [flags]

Flags:
  -h, --help   help for delete

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)
fm database postgres instance extensions ​
text
Manage the PostgreSQL extensions on a PostgreSQL instance.

Extension names are platform catalog values: only names the platform's
extension catalog advertises can be enabled, and an unknown or unsupported
name earns the platform's typed refusal. A preload-required extension
(timescaledb and pg_stat_statements in the catalog today) pays a restart
window, and the instance is unavailable while the apply runs; the apply
for the rest is in place, with no restart. The platform runs one
operation at a time per instance — a second operation while one is in
flight is refused with an operation-in-progress message; retry it once
the first completes.

Usage:
  fm database postgres instance extensions [command]

Available Commands:
  disable     Disable extension(s) on a PostgreSQL instance (a preload-required extension restarts the instance)
  enable      Enable extension(s) on a PostgreSQL instance (a preload-required extension restarts the instance)
  list        List recorded extensions on a PostgreSQL instance

Flags:
  -h, --help   help for extensions

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

Use "fm database postgres instance extensions [command] --help" for more information about a command.
fm database postgres instance extensions disable ​
text
Disabling extension(s) on a PostgreSQL instance.

This waits for the platform's apply to finish and then verifies the recorded
outcome on the ledger; a failed apply is reported with the platform's reason.
Applies one operation at a time per instance: while another operation holds
the instance, the platform refuses with an operation-in-progress message.

Use --no-wait to return as soon as the apply is accepted, and read the
outcome later with 'fm database postgres instance extensions list'.

Usage:
  fm database postgres instance extensions disable <instance-id> <extension-name>... [flags]

Flags:
  -h, --help      help for disable
      --no-wait   return once the request is accepted instead of waiting for the apply to finish
      --yes       skip the confirmation prompt (non-interactive use)

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)
fm database postgres instance extensions enable ​
text
Enabling extension(s) on a PostgreSQL instance.

This waits for the platform's apply to finish and then verifies the recorded
outcome on the ledger; a failed apply is reported with the platform's reason.
Applies one operation at a time per instance: while another operation holds
the instance, the platform refuses with an operation-in-progress message.

Use --no-wait to return as soon as the apply is accepted, and read the
outcome later with 'fm database postgres instance extensions list'.

Usage:
  fm database postgres instance extensions enable <instance-id> <extension-name>... [flags]

Flags:
  -h, --help      help for enable
      --no-wait   return once the request is accepted instead of waiting for the apply to finish
      --yes       skip the confirmation prompt (non-interactive use)

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)
fm database postgres instance extensions list ​
text
List the extension outcomes recorded on a PostgreSQL instance. Outcomes are recorded once, at the end of each apply: while one is running, the revision moves without new entries appearing.

Usage:
  fm database postgres instance extensions list <instance-id> [flags]

Aliases:
  list, ls

Flags:
  -h, --help   help for list

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)
fm database postgres instance failover ​
text
Promote the synchronous standby of a high-availability PostgreSQL instance to primary.

THIS IS DISRUPTIVE AND CAN LOSE DATA. Open connections are cut, the instance is
briefly unavailable while the standby takes over, and any write the OLD primary
acknowledged but had not yet replicated at the moment of the split is LOST.

The instance keeps its name, endpoint and private IP — reconnect and continue.

The platform refuses a failover it cannot perform safely: the instance must be
high-availability with a healthy pair, each instance has a limited failover budget
per 24 hours, and there is a cooldown between attempts. The refusal says which one
applies. There is no override.

Examples:
  fm database postgres instance failover <instance-id>
  fm database postgres instance failover <instance-id> --yes       # non-interactive: skip the prompt
  fm database postgres instance failover <instance-id> --no-wait   # return the operation id immediately

Usage:
  fm database postgres instance failover <instance-id> [flags]

Flags:
  -h, --help      help for failover
      --no-wait   return immediately instead of waiting for the failover to complete
      --yes       skip the confirmation prompt (non-interactive use)

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)
fm database postgres instance get ​
text
Get detailed information about a specific PostgreSQL instance.

Usage:
  fm database postgres instance get <instance-id> [flags]

Flags:
  -h, --help   help for get

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)
fm database postgres instance list ​
text
List all PostgreSQL instances.

--tag key=value (repeatable) lists only the instances carrying EVERY given resource
tag with exactly that value; key= matches a tag whose value is empty.

Usage:
  fm database postgres instance list [flags]

Flags:
  -h, --help          help for list
      --tag strings   only instances with this tag, key=value (repeatable; every one must match; key= matches an empty value)

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)
fm database postgres instance resize ​
text
Grow the storage of a PostgreSQL instance. Storage can only be increased (volumes cannot shrink); flavor resize is not yet supported.

Examples:
  fm postgres instance resize <instance-id> --storage 20

Usage:
  fm database postgres instance resize <instance-id> [flags]

Flags:
  -h, --help          help for resize
      --storage int   new storage size in GB

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)
fm database postgres instance restart ​
text
Restart a PostgreSQL instance.

Usage:
  fm database postgres instance restart <instance-id> [flags]

Flags:
  -h, --help                    help for restart
      --no-wait                 return once the action is accepted instead of waiting for it to finish
      --wait-timeout duration   how long to wait for the action to finish (default 15m0s)

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)
fm database postgres instance start ​
text
Start a stopped PostgreSQL instance.

Usage:
  fm database postgres instance start <instance-id> [flags]

Flags:
  -h, --help                    help for start
      --no-wait                 return once the action is accepted instead of waiting for it to finish
      --wait-timeout duration   how long to wait for the action to finish (default 15m0s)

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)
fm database postgres instance stop ​
text
Stop a running PostgreSQL instance.

Usage:
  fm database postgres instance stop <instance-id> [flags]

Flags:
  -h, --help                    help for stop
      --no-wait                 return once the action is accepted instead of waiting for it to finish
      --wait-timeout duration   how long to wait for the action to finish (default 15m0s)

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)
fm database postgres instance tags ​
text
Read and replace a PostgreSQL instance's resource tags

Usage:
  fm database postgres instance tags [command]

Aliases:
  tags, tag

Available Commands:
  get         Show a PostgreSQL instance's resource tags
  set         Replace a PostgreSQL instance's resource tags

Flags:
  -h, --help   help for tags

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

Use "fm database postgres instance tags [command] --help" for more information about a command.
fm database postgres instance tags get ​
text
Show a PostgreSQL instance's resource tags

Usage:
  fm database postgres instance tags get <instance-id> [flags]

Flags:
  -h, --help   help for get

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)
fm database postgres instance tags set ​
text
Replace a PostgreSQL instance's resource tags in place with exactly the given set
(replace semantics — any tag not listed is removed). Resource tags are your own
metadata for search and filtering: nothing else about the PostgreSQL instance changes, and the
running service is not touched.

The set you pass IS the resulting set. To ADD one tag without disturbing the
others, read the current ones first with 'fm database postgres instance tags get' and pass them all
back. Use --clear to remove every tag. The tenant's default tags are not
re-applied.

A tag change restarts nothing, and is accepted while the instance is busy (resizing, backing up). Its backups and replicas keep their own tags.

Keys beginning frostmoln_ or frostmoln- (any letter case) are reserved and
refused. At most 32 tags; a key is 1-64 bytes, a value at most 256 bytes.

Examples:
  fm database postgres instance tags set inst-123 --tag env=prod --tag owner=team-a
  fm database postgres instance tags set inst-123 --clear

Usage:
  fm database postgres instance tags set <instance-id> --tag <key=value> [--tag <key=value> ...] [flags]

Flags:
      --clear         remove ALL tags (mutually exclusive with --tag)
  -h, --help          help for set
      --tag strings   tag in key=value format (repeatable; replace semantics)

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

fm database postgres replica ​

text
Manage read replicas for PostgreSQL database instances.

Usage:
  fm database postgres replica [command]

Aliases:
  replica, replicas

Available Commands:
  create      Create a PostgreSQL read replica
  delete      Delete a PostgreSQL read replica
  list        List PostgreSQL read replicas
  tags        Read and replace a PostgreSQL read replica's resource tags

Flags:
  -h, --help   help for replica

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

Use "fm database postgres replica [command] --help" for more information about a command.
fm database postgres replica create ​
text
Create a new read replica for a PostgreSQL instance.

Examples:
  fm postgres replica create db-123 --name my-replica

Usage:
  fm database postgres replica create <instance-id> [flags]

Flags:
      --flavor string   replica flavor ID (optional; inherits the primary's flavor when omitted)
  -h, --help            help for create
      --name string     replica name (required)
      --no-wait         return immediately instead of waiting for provisioning to complete
      --tag strings     the replica's own resource tag, key=value (repeatable). The tenant's default tags are merged in; the primary's tags are not copied

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)
fm database postgres replica delete ​
text
Delete a read replica for a PostgreSQL instance.

Usage:
  fm database postgres replica delete <instance-id> <replica-id> [flags]

Flags:
  -h, --help   help for delete

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)
fm database postgres replica list ​
text
List all read replicas for a PostgreSQL instance.

--tag key=value (repeatable) lists only the replicas carrying EVERY given resource
tag with exactly that value; key= matches a tag whose value is empty.

Usage:
  fm database postgres replica list <instance-id> [flags]

Flags:
  -h, --help          help for list
      --tag strings   only replicas with this tag, key=value (repeatable; every one must match; key= matches an empty value)

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)
fm database postgres replica tags ​
text
Read and replace a PostgreSQL read replica's resource tags

Usage:
  fm database postgres replica tags [command]

Aliases:
  tags, tag

Available Commands:
  get         Show a PostgreSQL read replica's resource tags
  set         Replace a PostgreSQL read replica's resource tags

Flags:
  -h, --help   help for tags

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

Use "fm database postgres replica tags [command] --help" for more information about a command.
fm database postgres replica tags get ​
text
Show a PostgreSQL read replica's resource tags

Usage:
  fm database postgres replica tags get <instance-id> <replica-id> [flags]

Flags:
  -h, --help   help for get

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)
fm database postgres replica tags set ​
text
Replace a PostgreSQL read replica's resource tags in place with exactly the given set
(replace semantics — any tag not listed is removed). Resource tags are your own
metadata for search and filtering: nothing else about the PostgreSQL read replica changes, and the
running service is not touched.

The set you pass IS the resulting set. To ADD one tag without disturbing the
others, read the current ones first with 'fm database postgres replica tags get' and pass them all
back. Use --clear to remove every tag. The tenant's default tags are not
re-applied.

The replica's own tags: the primary's are neither copied nor changed.

Keys beginning frostmoln_ or frostmoln- (any letter case) are reserved and
refused. At most 32 tags; a key is 1-64 bytes, a value at most 256 bytes.

Examples:
  fm database postgres replica tags set inst-123 rep-456 --tag env=prod --tag owner=team-a
  fm database postgres replica tags set inst-123 rep-456 --clear

Usage:
  fm database postgres replica tags set <instance-id> <replica-id> --tag <key=value> [--tag <key=value> ...] [flags]

Flags:
      --clear         remove ALL tags (mutually exclusive with --tag)
  -h, --help          help for set
      --tag strings   tag in key=value format (repeatable; replace semantics)

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

fm database postgres restore ​

text
Restore a PostgreSQL instance from a backup, or to a point in time.

Restore is non-destructive: it provisions a NEW instance from the source and
leaves the source untouched. Use --target-name to name the new instance.

Give exactly one of --backup and --to-time. --to-time restores to a point inside
the instance's restore window; 'instance get' prints that window as "Restorable
from" and "Restorable to". Neither row appears while there is no window to
restore into, which includes the stretch after an interruption in archiving
until the next base backup finishes.

Aim inside the window rather than at its edge. "Restorable from" is the later of
the retention cut-off and the start of the archive the platform can still
restore from, which moves forward after any interruption in archiving. Once
retention is what bounds it the value advances in real time, so a moment copied
from 'instance get' can fall outside the window by the time the restore is
submitted.

Examples:
  fm postgres restore db-123 --backup bak-456
  fm postgres restore db-123 --to-time 2026-09-20T14:30:00Z
  fm postgres restore db-123 --to-time 2026-09-20T14:30:00Z --target-name my-db-restored

Usage:
  fm database postgres restore <instance-id> [flags]

Flags:
      --backup string        backup ID to restore from
  -h, --help                 help for restore
      --tag strings          resource tag for the NEW instance, key=value (repeatable). The tenant's default tags are merged in; the source instance's tags are not copied
      --target-name string   name for the new restored instance (defaults to a generated name)
      --to-time string       restore to this RFC 3339 point in time instead of a backup (e.g. 2026-09-20T14:30:00Z); see 'instance get' for the restore window

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

fm database postgres version ​

text
List available PostgreSQL versions.

Usage:
  fm database postgres version [command]

Aliases:
  version, versions

Available Commands:
  list        List available PostgreSQL versions

Flags:
  -h, --help   help for version

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

Use "fm database postgres version [command] --help" for more information about a command.
fm database postgres version list ​
text
List all available PostgreSQL versions.

Usage:
  fm database postgres version list [flags]

Flags:
  -h, --help   help for list

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

fm database type ​

text
List available database types and their versions.

Usage:
  fm database type [command]

Aliases:
  type, types

Available Commands:
  list        List available database types

Flags:
  -h, --help   help for type

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

Use "fm database type [command] --help" for more information about a command.

fm database type list ​

text
List all available database types with their supported versions.

Usage:
  fm database type list [flags]

Flags:
  -h, --help   help for list

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

fm database version ​

text
List available database versions across all types.

Usage:
  fm database version [command]

Aliases:
  version, versions

Available Commands:
  list        List available database versions (all types)

Flags:
  -h, --help   help for version

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

Use "fm database version [command] --help" for more information about a command.

fm database version list ​

text
List all available database versions across all types.

Usage:
  fm database version list [flags]

Flags:
  -h, --help   help for list

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)