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)