Skip to content

fm database

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

fm database

text
Cross-engine database management commands.

Use engine-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 cross-engine views:
  fm database engine list       List available engines
  fm database instance list     List all instances (all engines)
  fm database instance get      Get instance details
  fm database flavor list       List all flavors (all engines)
  fm database version list      List all versions (all engines)

Usage:
  fm database [command]

Aliases:
  database, db

Available Commands:
  backup-key  Manage your managed-database backup encryption key
  engine      Manage database engines
  flavor      View database flavors
  instance    View database instances (all engines)
  mysql       Manage MySQL databases
  postgres    Manage PostgreSQL databases
  version     View database engine 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 engine

text
List available database engines and their versions.

Usage:
  fm database engine [command]

Aliases:
  engine, engines

Available Commands:
  list        List available database engines

Flags:
  -h, --help   help for engine

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 engine [command] --help" for more information about a command.

fm database engine list

text
List all available database engines with their supported versions.

Usage:
  fm database engine 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 flavor

text
List available database instance sizes across all engines.

Usage:
  fm database flavor [command]

Aliases:
  flavor, flavors

Available Commands:
  list        List database flavors (all engines)

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 engines.

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 engines.

Usage:
  fm database instance [command]

Aliases:
  instance, instances

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

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 engines.

Usage:
  fm database instance 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

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

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)
      --type string   backup type (full or incremental)

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.

Usage:
  fm database mysql backup list <instance-id> [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 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
tenant needs the 'instance-access' entitlement, and 'mysql' 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

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 16 --flavor db.gp1.medium --storage 100 --vpc vpc-123 --subnet subnet-456
  fm database mysql instance create --name my-db --version 16 --flavor db.gp1.medium --storage 100 --vpc vpc-123 --subnet subnet-456 --ha --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.micro — see 'flavors list')
      --ha                       enable high availability
  -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)
      --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.

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

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

Flags:
  -h, --help     help for credentials
      --rotate   rotate credentials

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.

Usage:
  fm database mysql instance 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 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

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

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

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
  promote     Promote a MySQL read replica

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

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.

Usage:
  fm database mysql replica list <instance-id> [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 replica promote
text
Promote a read replica to a standalone MySQL instance.

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

Flags:
  -h, --help   help for promote

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 or to a point in time.

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
  fm mysql restore db-123 --pitr "2024-01-15T10:30:00Z"

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

Flags:
      --backup string        backup ID to restore from
  -h, --help                 help for restore
      --pitr string          point-in-time timestamp (RFC3339)
      --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 engine 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

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)
      --type string   backup type (full or incremental)

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.

Usage:
  fm database postgres backup list <instance-id> [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 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
tenant needs the 'instance-access' entitlement, and 'psql' 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
  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

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.micro — see 'flavors list')
      --ha                       enable high availability
  -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)
      --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.

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

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

Flags:
  -h, --help     help for credentials
      --rotate   rotate credentials

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 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.

Usage:
  fm database postgres instance 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 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

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

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

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
  promote     Promote a PostgreSQL read replica

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

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.

Usage:
  fm database postgres replica list <instance-id> [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 replica promote
text
Promote a read replica to a standalone PostgreSQL instance.

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

Flags:
  -h, --help   help for promote

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 backup and
leaves the source untouched. Use --target-name to name the new instance.

Examples:
  fm postgres restore db-123 --backup bak-456
  fm postgres restore db-123 --backup bak-456 --target-name my-db-restored
  fm postgres restore db-123 --pitr "2024-01-15T10:30:00Z"

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

Flags:
      --backup string        backup ID to restore from
  -h, --help                 help for restore
      --pitr string          point-in-time timestamp (RFC3339)
      --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 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 engine 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 version

text
List available database engine versions across all engines.

Usage:
  fm database version [command]

Aliases:
  version, versions

Available Commands:
  list        List available database engine versions (all engines)

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 engine versions across all engines.

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)