Skip to main content
POST
/
cloud
/
v1
/
dbaas
/
postgres
/
clusters
/
{project_id}
/
{region_id}
Create PostgreSQL cluster
curl --request POST \
  --url https://api.gcore.com/cloud/v1/dbaas/postgres/clusters/{project_id}/{region_id} \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data @- <<EOF
{
  "cluster_name": "<string>",
  "flavor": {
    "cpu": 1,
    "memory_gib": 1
  },
  "high_availability": {},
  "network": {
    "acl": [
      "92.33.34.127"
    ],
    "network_type": "public"
  },
  "pg_server_configuration": {
    "pg_conf": "\nlisten_addresses = 'localhost'\nport = 5432\nmax_connections = 100\nshared_buffers = 128MB\nlogging_collector = on",
    "version": "<string>",
    "pooler": null
  },
  "storage": {
    "size_gib": 100,
    "type": "ssd-hiiops"
  },
  "databases": [],
  "users": []
}
EOF
{
  "tasks": [
    "d478ae29-dedc-4869-82f0-96104425f565"
  ]
}

Documentation Index

Fetch the complete documentation index at: https://gcore.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

API key for authentication. Make sure to include the word apikey, followed by a single space and then your token. Example: apikey 1234$abcdef

Path Parameters

project_id
integer
required

Project ID

region_id
integer
required

Region ID

Body

application/json
cluster_name
string
required

PostgreSQL cluster name

Required string length: 1 - 50
Pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
flavor
Flavor · object
required

Instance RAM and CPU

high_availability
HighAvailabilityOptions · object
required

High Availability settings

network
Network · object
required
pg_server_configuration
PostgreSQLServerConfig · object
required

PosgtreSQL cluster configuration

storage
Storage · object
required

Cluster's storage configuration

databases
Database · object[]
users
PgUser · object[]

Response

200 - application/json

OK

tasks
string[]
required

List of task IDs representing asynchronous operations. Use these IDs to monitor operation progress:

  • GET /v1/tasks/{task_id} - Check individual task status and details Poll task status until completion (FINISHED/ERROR) before proceeding with dependent operations.
Example:
["d478ae29-dedc-4869-82f0-96104425f565"]