Update PostgreSQL cluster
curl --request PATCH \
--url https://api.gcore.com/cloud/v1/dbaas/postgres/clusters/{project_id}/{region_id}/{cluster_name} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data @- <<EOF
{
"databases": [],
"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",
"pooler": null,
"version": "15"
},
"storage": {
"size_gib": 100
},
"users": []
}
EOFimport requests
url = "https://api.gcore.com/cloud/v1/dbaas/postgres/clusters/{project_id}/{region_id}/{cluster_name}"
payload = {
"databases": [],
"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",
"pooler": None,
"version": "15"
},
"storage": { "size_gib": 100 },
"users": []
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
databases: [],
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',
pooler: null,
version: '15'
},
storage: {size_gib: 100},
users: []
})
};
fetch('https://api.gcore.com/cloud/v1/dbaas/postgres/clusters/{project_id}/{region_id}/{cluster_name}', 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}/{cluster_name}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'databases' => [
],
'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',
'pooler' => null,
'version' => '15'
],
'storage' => [
'size_gib' => 100
],
'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}/{cluster_name}"
payload := strings.NewReader("{\n \"databases\": [],\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 \"pooler\": null,\n \"version\": \"15\"\n },\n \"storage\": {\n \"size_gib\": 100\n },\n \"users\": []\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.gcore.com/cloud/v1/dbaas/postgres/clusters/{project_id}/{region_id}/{cluster_name}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"databases\": [],\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 \"pooler\": null,\n \"version\": \"15\"\n },\n \"storage\": {\n \"size_gib\": 100\n },\n \"users\": []\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gcore.com/cloud/v1/dbaas/postgres/clusters/{project_id}/{region_id}/{cluster_name}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"databases\": [],\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 \"pooler\": null,\n \"version\": \"15\"\n },\n \"storage\": {\n \"size_gib\": 100\n },\n \"users\": []\n}"
response = http.request(request)
puts response.read_body{
"tasks": [
"d478ae29-dedc-4869-82f0-96104425f565"
]
}Managed PostgreSQL
Update PostgreSQL cluster
Update the configuration of an existing PostgreSQL cluster.
PATCH
/
cloud
/
v1
/
dbaas
/
postgres
/
clusters
/
{project_id}
/
{region_id}
/
{cluster_name}
Update PostgreSQL cluster
curl --request PATCH \
--url https://api.gcore.com/cloud/v1/dbaas/postgres/clusters/{project_id}/{region_id}/{cluster_name} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data @- <<EOF
{
"databases": [],
"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",
"pooler": null,
"version": "15"
},
"storage": {
"size_gib": 100
},
"users": []
}
EOFimport requests
url = "https://api.gcore.com/cloud/v1/dbaas/postgres/clusters/{project_id}/{region_id}/{cluster_name}"
payload = {
"databases": [],
"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",
"pooler": None,
"version": "15"
},
"storage": { "size_gib": 100 },
"users": []
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
databases: [],
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',
pooler: null,
version: '15'
},
storage: {size_gib: 100},
users: []
})
};
fetch('https://api.gcore.com/cloud/v1/dbaas/postgres/clusters/{project_id}/{region_id}/{cluster_name}', 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}/{cluster_name}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'databases' => [
],
'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',
'pooler' => null,
'version' => '15'
],
'storage' => [
'size_gib' => 100
],
'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}/{cluster_name}"
payload := strings.NewReader("{\n \"databases\": [],\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 \"pooler\": null,\n \"version\": \"15\"\n },\n \"storage\": {\n \"size_gib\": 100\n },\n \"users\": []\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.gcore.com/cloud/v1/dbaas/postgres/clusters/{project_id}/{region_id}/{cluster_name}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"databases\": [],\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 \"pooler\": null,\n \"version\": \"15\"\n },\n \"storage\": {\n \"size_gib\": 100\n },\n \"users\": []\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gcore.com/cloud/v1/dbaas/postgres/clusters/{project_id}/{region_id}/{cluster_name}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"databases\": [],\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 \"pooler\": null,\n \"version\": \"15\"\n },\n \"storage\": {\n \"size_gib\": 100\n },\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
Path Parameters
Project ID
Region ID
Cluster name
Body
application/json
Show child attributes
Show child attributes
New instance RAM and CPU
Show child attributes
Show child attributes
New High Availability settings
Show child attributes
Show child attributes
Show child attributes
Show child attributes
New PosgtreSQL cluster configuration
Show child attributes
Show child attributes
New storage configuration
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