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": []
}
EOFimport requests
url = "https://api.gcore.com/cloud/v1/dbaas/postgres/clusters/{project_id}/{region_id}"
payload = {
"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": "
listen_addresses = 'localhost'
port = 5432
max_connections = 100
shared_buffers = 128MB
logging_collector = on",
"version": "<string>",
"pooler": None
},
"storage": {
"size_gib": 100,
"type": "ssd-hiiops"
},
"databases": [],
"users": []
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
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: []
})
};
fetch('https://api.gcore.com/cloud/v1/dbaas/postgres/clusters/{project_id}/{region_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.gcore.com/cloud/v1/dbaas/postgres/clusters/{project_id}/{region_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'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' => '
listen_addresses = \'localhost\'
port = 5432
max_connections = 100
shared_buffers = 128MB
logging_collector = on',
'version' => '<string>',
'pooler' => null
],
'storage' => [
'size_gib' => 100,
'type' => 'ssd-hiiops'
],
'databases' => [
],
'users' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.gcore.com/cloud/v1/dbaas/postgres/clusters/{project_id}/{region_id}"
payload := strings.NewReader("{\n \"cluster_name\": \"<string>\",\n \"flavor\": {\n \"cpu\": 1,\n \"memory_gib\": 1\n },\n \"high_availability\": {},\n \"network\": {\n \"acl\": [\n \"92.33.34.127\"\n ],\n \"network_type\": \"public\"\n },\n \"pg_server_configuration\": {\n \"pg_conf\": \"\\nlisten_addresses = 'localhost'\\nport = 5432\\nmax_connections = 100\\nshared_buffers = 128MB\\nlogging_collector = on\",\n \"version\": \"<string>\",\n \"pooler\": null\n },\n \"storage\": {\n \"size_gib\": 100,\n \"type\": \"ssd-hiiops\"\n },\n \"databases\": [],\n \"users\": []\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.gcore.com/cloud/v1/dbaas/postgres/clusters/{project_id}/{region_id}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"cluster_name\": \"<string>\",\n \"flavor\": {\n \"cpu\": 1,\n \"memory_gib\": 1\n },\n \"high_availability\": {},\n \"network\": {\n \"acl\": [\n \"92.33.34.127\"\n ],\n \"network_type\": \"public\"\n },\n \"pg_server_configuration\": {\n \"pg_conf\": \"\\nlisten_addresses = 'localhost'\\nport = 5432\\nmax_connections = 100\\nshared_buffers = 128MB\\nlogging_collector = on\",\n \"version\": \"<string>\",\n \"pooler\": null\n },\n \"storage\": {\n \"size_gib\": 100,\n \"type\": \"ssd-hiiops\"\n },\n \"databases\": [],\n \"users\": []\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gcore.com/cloud/v1/dbaas/postgres/clusters/{project_id}/{region_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"cluster_name\": \"<string>\",\n \"flavor\": {\n \"cpu\": 1,\n \"memory_gib\": 1\n },\n \"high_availability\": {},\n \"network\": {\n \"acl\": [\n \"92.33.34.127\"\n ],\n \"network_type\": \"public\"\n },\n \"pg_server_configuration\": {\n \"pg_conf\": \"\\nlisten_addresses = 'localhost'\\nport = 5432\\nmax_connections = 100\\nshared_buffers = 128MB\\nlogging_collector = on\",\n \"version\": \"<string>\",\n \"pooler\": null\n },\n \"storage\": {\n \"size_gib\": 100,\n \"type\": \"ssd-hiiops\"\n },\n \"databases\": [],\n \"users\": []\n}"
response = http.request(request)
puts response.read_body{
"tasks": [
"d478ae29-dedc-4869-82f0-96104425f565"
]
}Managed PostgreSQL
Create PostgreSQL cluster
Create a new PostgreSQL cluster with the specified configuration.
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": []
}
EOFimport requests
url = "https://api.gcore.com/cloud/v1/dbaas/postgres/clusters/{project_id}/{region_id}"
payload = {
"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": "
listen_addresses = 'localhost'
port = 5432
max_connections = 100
shared_buffers = 128MB
logging_collector = on",
"version": "<string>",
"pooler": None
},
"storage": {
"size_gib": 100,
"type": "ssd-hiiops"
},
"databases": [],
"users": []
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
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: []
})
};
fetch('https://api.gcore.com/cloud/v1/dbaas/postgres/clusters/{project_id}/{region_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.gcore.com/cloud/v1/dbaas/postgres/clusters/{project_id}/{region_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'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' => '
listen_addresses = \'localhost\'
port = 5432
max_connections = 100
shared_buffers = 128MB
logging_collector = on',
'version' => '<string>',
'pooler' => null
],
'storage' => [
'size_gib' => 100,
'type' => 'ssd-hiiops'
],
'databases' => [
],
'users' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.gcore.com/cloud/v1/dbaas/postgres/clusters/{project_id}/{region_id}"
payload := strings.NewReader("{\n \"cluster_name\": \"<string>\",\n \"flavor\": {\n \"cpu\": 1,\n \"memory_gib\": 1\n },\n \"high_availability\": {},\n \"network\": {\n \"acl\": [\n \"92.33.34.127\"\n ],\n \"network_type\": \"public\"\n },\n \"pg_server_configuration\": {\n \"pg_conf\": \"\\nlisten_addresses = 'localhost'\\nport = 5432\\nmax_connections = 100\\nshared_buffers = 128MB\\nlogging_collector = on\",\n \"version\": \"<string>\",\n \"pooler\": null\n },\n \"storage\": {\n \"size_gib\": 100,\n \"type\": \"ssd-hiiops\"\n },\n \"databases\": [],\n \"users\": []\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.gcore.com/cloud/v1/dbaas/postgres/clusters/{project_id}/{region_id}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"cluster_name\": \"<string>\",\n \"flavor\": {\n \"cpu\": 1,\n \"memory_gib\": 1\n },\n \"high_availability\": {},\n \"network\": {\n \"acl\": [\n \"92.33.34.127\"\n ],\n \"network_type\": \"public\"\n },\n \"pg_server_configuration\": {\n \"pg_conf\": \"\\nlisten_addresses = 'localhost'\\nport = 5432\\nmax_connections = 100\\nshared_buffers = 128MB\\nlogging_collector = on\",\n \"version\": \"<string>\",\n \"pooler\": null\n },\n \"storage\": {\n \"size_gib\": 100,\n \"type\": \"ssd-hiiops\"\n },\n \"databases\": [],\n \"users\": []\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gcore.com/cloud/v1/dbaas/postgres/clusters/{project_id}/{region_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"cluster_name\": \"<string>\",\n \"flavor\": {\n \"cpu\": 1,\n \"memory_gib\": 1\n },\n \"high_availability\": {},\n \"network\": {\n \"acl\": [\n \"92.33.34.127\"\n ],\n \"network_type\": \"public\"\n },\n \"pg_server_configuration\": {\n \"pg_conf\": \"\\nlisten_addresses = 'localhost'\\nport = 5432\\nmax_connections = 100\\nshared_buffers = 128MB\\nlogging_collector = on\",\n \"version\": \"<string>\",\n \"pooler\": null\n },\n \"storage\": {\n \"size_gib\": 100,\n \"type\": \"ssd-hiiops\"\n },\n \"databases\": [],\n \"users\": []\n}"
response = http.request(request)
puts response.read_body{
"tasks": [
"d478ae29-dedc-4869-82f0-96104425f565"
]
}Authorizations
API key for authentication. Make sure to include the word apikey, followed by a single space and then your token.
Example: apikey 1234$abcdef
Body
application/json
PostgreSQL cluster name
Required string length:
1 - 50Pattern:
^[a-z0-9]([-a-z0-9]*[a-z0-9])?$Instance RAM and CPU
Show child attributes
Show child attributes
High Availability settings
Show child attributes
Show child attributes
Show child attributes
Show child attributes
PosgtreSQL cluster configuration
Show child attributes
Show child attributes
Cluster's storage configuration
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Response
200 - application/json
OK
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"]
Was this page helpful?
⌘I