> For the complete documentation index, see [llms.txt](https://docs.ionos.com/cloud/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ionos.com/cloud/tools-cli/subcommands/database-as-a-service/postgres/v2/cluster/create.md).

# create

## Usage

```
ionosctl dbaas postgres-v2 cluster create [flags]
```

## Aliases

For `postgres-v2` command:

```
[pg-v2 pgsql-v2 postgresql-v2 psql-v2]
```

For `cluster` command:

```
[c]
```

For `create` command:

```
[c]
```

## Description

Use this command to create a new PostgreSQL Cluster. You must set the unique ID of the Datacenter, the unique ID of the LAN, and IP and subnet. If the other options are not set, the default values will be used.

Required values to run command:

* Datacenter Id
* Lan Id
* CIDR (IP and subnet)
* PostgreSQL Version
* Credentials for the database user: Username, Password, and Database name

## Options

```
  -u, --api-url string              Override default host URL. If contains placeholder, location will be embedded. Preferred over the config file override 'psqlv2' and env var 'IONOS_API_URL' (default "https://postgresql.%s.ionos.com")
  -b, --backup-id string            The unique ID of the backup you want to restore from when creating this cluster
  -B, --backup-location string      The Object Storage location where the backups will be stored (default "eu-central-4")
      --backup-retention-days int   Configures how many days cluster backups are retained. Minimum: 1, Maximum: 365 (default 30)
  -C, --cidr string                 The IP and subnet for the cluster. Note the following unavailable IP range: 10.208.0.0/12. e.g.: 192.168.1.100/24 (required)
      --cols strings                Set of columns to be printed on output 
                                    Available columns: [ClusterId DisplayName DnsName PostgresVersion Instances Ram Cores StorageSize State SyncMode Description ConnectionPooler MaintenanceDay MaintenanceTime BackupLocation BackupRetentionDays LogsEnabled MetricsEnabled DatacenterId LanId Cidr DbUsername DbDatabase StatusMessage]
  -c, --config string               Configuration file used for authentication (default "$XDG_CONFIG_HOME/ionosctl/config.yaml")
      --connection-pooler string    Connection pooling mode. Can be one of: DISABLED, TRANSACTION, SESSION (default "DISABLED")
      --cores int                   The number of CPU cores per instance. Minimum: 1, Maximum: 62 (default 2)
      --database string             The name of the initial database to be created (required)
      --datacenter-id string        The unique ID of the Datacenter to connect to your cluster (required)
  -P, --db-password string          Password for the initial postgres user (required)
  -U, --db-username string          Username for the initial postgres user. Some system usernames are restricted (e.g. postgres, admin, standby) (required)
  -D, --depth int                   Level of detail for response objects (default 1)
      --description string          Human-readable description for the cluster
  -F, --filters strings             Limit results to results containing the specified filter:KEY1=VALUE1,KEY2=VALUE2
  -f, --force                       Force command to execute without user input
  -h, --help                        Print usage
  -I, --instances int               The number of instances in your cluster (one primary and n-1 standbys). Minimum: 1, Maximum: 5 (default 1)
  -L, --lan-id string               The unique ID of the LAN to connect your cluster to (required)
      --limit int                   Maximum number of items to return per request (default 50)
  -l, --location string             Location of the resource to operate on. When unset, list commands query all locations. Can be one of: de/txl, de/fra, es/vit, fr/par, gb/lhr, gb/bhx, us/las, us/mci, us/ewr. A facility inside one of these metro regions (e.g. de/fra/1) is also accepted and served by its metro region's endpoint
      --logs-enabled                Enable collection and reporting of logs for this cluster
  -d, --maintenance-day string      Day of the week for the MaintenanceWindow. Defaults to a random day during Mon-Fri. Can be one of: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday (default "Random (Mon-Fri 10:00-16:00)")
  -T, --maintenance-time string     Time for the MaintenanceWindow. The MaintenanceWindow is a weekly 4 hour-long window, during which maintenance might occur. e.g.: 16:30:59. Defaults to a random time during 10:00-16:00 (default "Random (Mon-Fri 10:00-16:00)")
      --metrics-enabled             Enable collection and reporting of metrics for this cluster
  -n, --name string                 The friendly name of your cluster (default "UnnamedCluster")
      --no-headers                  Don't print table headers when table output is used
      --offset int                  Number of items to skip before starting to collect the results
      --order-by string             Property to order the results by
  -o, --output string               Desired output format [text|json|api-json] (default "text")
      --query string                JMESPath query string to filter the output
  -q, --quiet                       Quiet output
      --ram string                  The amount of memory per instance in GB. Minimum: 4, Maximum: 240. e.g. --ram 4, --ram 4GB (default "4GB")
  -R, --recovery-time string        If this value is supplied as ISO 8601 timestamp, the backup will be replayed up until the given timestamp. If empty, the backup will be applied completely
      --storage-size string         The amount of storage per instance in GB. Minimum: 10, Maximum: 4096. e.g.: --storage-size 20, --storage-size 20GB (default "20GB")
  -S, --sync-mode string            Replication mode. Can be one of: ASYNCHRONOUS, STRICTLY_SYNCHRONOUS (default "ASYNCHRONOUS")
  -t, --timeout int                 Timeout in seconds for --wait and other wait operations (default 600)
  -v, --verbose count               Increase verbosity level [-v, -vv, -vvv]
  -V, --version string              The PostgreSQL version of your Cluster (required)
  -w, --wait                        Wait for the resource to reach AVAILABLE state after the command completes. No-op for list commands
```

## Examples

```
ionosctl dbaas postgres-v2 cluster create --datacenter-id <datacenter-id> --lan-id <lan-id> --cidr <cidr> --db-username <username> --db-password <password> --database <database> --version <version>
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.ionos.com/cloud/tools-cli/subcommands/database-as-a-service/postgres/v2/cluster/create.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
