DBaaS Postgresql

PostgreSQL, open-source database known for its wide range of features and popularity with developers.

Read more

create-dbaas-pg-connection-pool

Create a DBaaS PostgreSQL connection pool

POST /dbaas-postgres/{service-name}/connection-pool

Path parameters

NameInDescription
service-namepath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
database-namestringyesService database name
namestringyesConnection pool name
modestringnoPGBouncer pool mode

Allowed values: transaction, statement, session.
sizeintegernoSize of PGBouncer’s PostgreSQL side connection pool
usernamestringnoPool username
Example
{
  "database-name": "string",
  "mode": "transaction",
  "name": "string",
  "size": 0,
  "username": "string"
}

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceobjectRelated resource reference schema details
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for create-dbaas-pg-connection-pool: golang | Python | Java

CLI: exo api create-dbaas-pg-connection-pool

update-dbaas-pg-connection-pool

Update a DBaaS PostgreSQL connection pool

PUT /dbaas-postgres/{service-name}/connection-pool/{connection-pool-name}

Path parameters

NameInDescription
service-namepath
connection-pool-namepath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
database-namestringnoService database name
modestringnoPGBouncer pool mode

Allowed values: transaction, statement, session.
sizeintegernoSize of PGBouncer’s PostgreSQL side connection pool
usernamestringnoPool username
Example
{
  "database-name": "string",
  "mode": "transaction",
  "size": 0,
  "username": "string"
}

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceobjectRelated resource reference schema details
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for update-dbaas-pg-connection-pool: golang | Python | Java

CLI: exo api update-dbaas-pg-connection-pool

delete-dbaas-pg-connection-pool

Delete a DBaaS PostgreSQL connection pool

DELETE /dbaas-postgres/{service-name}/connection-pool/{connection-pool-name}

Path parameters

NameInDescription
service-namepath
connection-pool-namepath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceobjectRelated resource reference schema details
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for delete-dbaas-pg-connection-pool: golang | Python | Java

CLI: exo api delete-dbaas-pg-connection-pool

create-dbaas-pg-database

Create a DBaaS Postgres database

POST /dbaas-postgres/{service-name}/database

null

Path parameters

NameInDescription
service-namepath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
database-namestringyesService database name
lc-collatestringnoDefault string sort order (LC_COLLATE) for PostgreSQL database
lc-ctypestringnoDefault character classification (LC_CTYPE) for PostgreSQL database
Example
{
  "database-name": "string",
  "lc-collate": "string",
  "lc-ctype": "string"
}

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceobjectRelated resource reference schema details
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for create-dbaas-pg-database: golang | Python | Java

CLI: exo api create-dbaas-pg-database

delete-dbaas-pg-database

Delete a DBaaS Postgres database

DELETE /dbaas-postgres/{service-name}/database/{database-name}

null

Path parameters

NameInDescription
service-namepath
database-namepath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceobjectRelated resource reference schema details
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for delete-dbaas-pg-database: golang | Python | Java

CLI: exo api delete-dbaas-pg-database

create-dbaas-postgres-user

Create a DBaaS Postgres user

POST /dbaas-postgres/{service-name}/user

null

Path parameters

NameInDescription
service-namepath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
usernamestringyesUsername
allow-replicationbooleanno
Example
{
  "allow-replication": true,
  "username": "string"
}

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceobjectRelated resource reference schema details
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for create-dbaas-postgres-user: golang | Python | Java

CLI: exo api create-dbaas-postgres-user

delete-dbaas-postgres-user

Delete a DBaaS Postgres user

DELETE /dbaas-postgres/{service-name}/user/{username}

null

Path parameters

NameInDescription
service-namepath
usernamepath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceobjectRelated resource reference schema details
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for delete-dbaas-postgres-user: golang | Python | Java

CLI: exo api delete-dbaas-postgres-user

reveal-dbaas-postgres-user-password

Reveal the secrets of a DBaaS Postgres user

GET /dbaas-postgres/{service-name}/user/{username}/password/reveal

null

Path parameters

NameInDescription
service-namepath
usernamepath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
passwordstringPostgres password
usernamestringPostgres username
Example output
{
  "password": "string",
  "username": "string"
}

SDK reference for reveal-dbaas-postgres-user-password: golang | Python | Java

CLI: exo api reveal-dbaas-postgres-user-password

reset-dbaas-postgres-user-password

Reset the credentials of a DBaaS Postgres user

PUT /dbaas-postgres/{service-name}/user/{username}/password/reset

If no password is provided one will be generated automatically.

Path parameters

NameInDescription
service-namepath
usernamepath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
passwordstringnoNew password
Example
{
  "password": "string"
}

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceobjectRelated resource reference schema details
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for reset-dbaas-postgres-user-password: golang | Python | Java

CLI: exo api reset-dbaas-postgres-user-password

create-dbaas-service-pg

Create a DBaaS PostgreSQL service

POST /dbaas-postgres/{name}

null

Path parameters

NameInDescription
namepath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
planstringyesSubscription plan
admin-passwordstringnoCustom password for admin user. Defaults to random string. This must be set only when a new service is being created.
admin-usernamestringnoCustom username for admin user. This must be set only when a new service is being created.
backup-scheduleobjectnoschema details
fork-from-servicestringnoService to fork from
integrationsarray[object]noService integrations to be enabled when creating the service. schema details
ip-filterarray[string]noAllow incoming connections from CIDR address block, e.g. ‘10.20.0.0/16’
maintenanceobjectnoAutomatic maintenance settings schema details
migrationobjectnoMigrate data from existing server schema details
pg-settingsobjectnoPostgreSQL-specific settings schema details
pgbouncer-settingsobjectnoSystem-wide settings for pgbouncer. schema details
pglookout-settingsobjectnoSystem-wide settings for pglookout. schema details
recovery-backup-timestringnoISO time of a backup to recover from for services that support arbitrary times
shared-buffers-percentageintegernoPercentage of total RAM that the database server uses for shared memory buffers. Valid range is 20-60 (float), which corresponds to 20% - 60%. This setting adjusts the shared_buffers configuration value.
synchronous-replicationstringnoSynchronous replication type. Note that the service plan also needs to support synchronous replication.

Allowed values: quorum, off.
termination-protectionbooleannoService is protected against termination and powering off
timescaledb-settingsobjectnoSystem-wide settings for the timescaledb extension schema details
variantstringnoVariant of the PostgreSQL service, may affect the features that are exposed by default

Allowed values: timescale, aiven.
versionstringnoPostgreSQL major version

Allowed values: 14, 17, 15, 18, 13, 16.
work-memintegernoSets the maximum amount of memory to be used by a query operation (such as a sort or hash table) before writing to temporary disk files, in MB. Default is 1MB + 0.075% of total RAM (up to 32MB).
Example
{
  "admin-password": "string",
  "admin-username": "string",
  "backup-schedule": {
    "backup-hour": 0,
    "backup-minute": 0
  },
  "fork-from-service": "string",
  "integrations": [
    {
      "dest-service": "string",
      "settings": {},
      "source-service": "string",
      "type": "read_replica"
    }
  ],
  "ip-filter": [
    "string"
  ],
  "maintenance": {
    "dow": "saturday",
    "time": "string"
  },
  "migration": {
    "dbname": "string",
    "host": "string",
    "ignore-dbs": "string",
    "method": "dump",
    "password": "string",
    "port": 0,
    "ssl": true,
    "username": "string"
  },
  "pg-settings": {
    "autovacuum": {
      "autovacuum_analyze_scale_factor": 0,
      "autovacuum_analyze_threshold": 0,
      "autovacuum_freeze_max_age": 0,
      "autovacuum_max_workers": 0,
      "autovacuum_naptime": 0,
      "autovacuum_vacuum_cost_delay": 0,
      "autovacuum_vacuum_cost_limit": 0,
      "autovacuum_vacuum_scale_factor": 0,
      "autovacuum_vacuum_threshold": 0,
      "log_autovacuum_min_duration": 0
    },
    "bg-writer": {
      "bgwriter_delay": 0,
      "bgwriter_flush_after": 0,
      "bgwriter_lru_maxpages": 0,
      "bgwriter_lru_multiplier": 0
    },
    "deadlock_timeout": 0,
    "default_toast_compression": "lz4",
    "idle_in_transaction_session_timeout": 0,
    "io_combine_limit": 0,
    "io_max_combine_limit": 0,
    "io_max_concurrency": 0,
    "io_method": "worker",
    "io_workers": 0,
    "jit": true,
    "log_error_verbosity": "TERSE",
    "log_line_prefix": "'pid=%p,user=%u,db=%d,app=%a,client=%h '",
    "log_min_duration_statement": 0,
    "log_temp_files": 0,
    "max_files_per_process": 0,
    "max_locks_per_transaction": 0,
    "max_logical_replication_workers": 0,
    "max_parallel_workers": 0,
    "max_parallel_workers_per_gather": 0,
    "max_pred_locks_per_transaction": 0,
    "max_prepared_transactions": 0,
    "max_replication_slots": 0,
    "max_stack_depth": 0,
    "max_standby_archive_delay": 0,
    "max_standby_streaming_delay": 0,
    "max_sync_workers_per_subscription": 0,
    "max_worker_processes": 0,
    "password_encryption": "md5",
    "pg_partman_bgw.interval": 0,
    "pg_partman_bgw.role": "myrolename",
    "pg_stat_monitor.pgsm_enable_query_plan": true,
    "pg_stat_monitor.pgsm_max_buckets": 0,
    "pg_stat_statements.track": "all",
    "temp_file_limit": 0,
    "timezone": "Europe/Helsinki",
    "track_activity_query_size": 0,
    "track_commit_timestamp": "off",
    "track_functions": "all",
    "track_io_timing": "off",
    "wal": {
      "max_slot_wal_keep_size": 0,
      "max_wal_senders": 0,
      "wal_sender_timeout": 0,
      "wal_writer_delay": 0
    }
  },
  "pgbouncer-settings": {
    "autodb_idle_timeout": 0,
    "autodb_max_db_connections": 0,
    "autodb_pool_mode": "transaction",
    "autodb_pool_size": 0,
    "ignore_startup_parameters": [
      "extra_float_digits"
    ],
    "max_prepared_statements": 0,
    "min_pool_size": 0,
    "server_idle_timeout": 0,
    "server_lifetime": 0,
    "server_reset_query_always": true
  },
  "pglookout-settings": {
    "max_failover_replication_time_lag": 0
  },
  "plan": "string",
  "recovery-backup-time": "string",
  "shared-buffers-percentage": 0,
  "synchronous-replication": "quorum",
  "termination-protection": true,
  "timescaledb-settings": {
    "max_background_workers": 0
  },
  "variant": "timescale",
  "version": "14",
  "work-mem": 0
}

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceobjectRelated resource reference schema details
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for create-dbaas-service-pg: golang | Python | Java

CLI: exo api create-dbaas-service-pg

get-dbaas-service-pg

Get a DBaaS PostgreSQL service

GET /dbaas-postgres/{name}

Get a DBaaS PostgreSQL service

Path parameters

NameInDescription
namepath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
backup-scheduleobjectBackup schedule schema details
backupsarray[object]List of backups for the service schema details
componentsarray[object]Service component information objects schema details
connection-infoobjectPG connection information properties schema details
connection-poolsarray[object]PostgreSQL PGBouncer connection pools schema details
created-atstringService creation timestamp (ISO 8601)
databasesarray[string]List of PostgreSQL databases
disk-sizeintegerTODO UNIT disk space for data storage
integrationsarray[object]Service integrations schema details
ip-filterarray[string]Allowed CIDR address blocks for incoming connections
maintenanceobjectAutomatic maintenance settings schema details
max-connectionsintegerMaximum number of connections allowed to an instance
namestringService name
node-countintegerNumber of service nodes in the active plan
node-cpu-countintegerNumber of CPUs for each node
node-memoryintegerTODO UNIT of memory for each node
node-statesarray[object]State of individual service nodes schema details
notificationsarray[object]Service notifications schema details
pg-settingsobjectPostgreSQL-specific settings schema details
pgbouncer-settingsobjectSystem-wide settings for pgbouncer. schema details
pglookout-settingsobjectSystem-wide settings for pglookout. schema details
planstringSubscription plan
prometheus-uriobjectPrometheus integration URI schema details
shared-buffers-percentageintegerPercentage of total RAM that the database server uses for shared memory buffers. Valid range is 20-60 (float), which corresponds to 20% - 60%. This setting adjusts the shared_buffers configuration value.
statestringState of the service

Allowed values: running, rebuilding, rebalancing, poweroff.
synchronous-replicationstringSynchronous replication type. Note that the service plan also needs to support synchronous replication.

Allowed values: quorum, off.
termination-protectionbooleanService is protected against termination and powering off
timescaledb-settingsobjectSystem-wide settings for the timescaledb extension schema details
typestringService type code
updated-atstringService last update timestamp (ISO 8601)
uristringURI for connecting to the service (may be absent)
uri-paramsobjectservice_uri parameterized into key-value pairs
usersarray[object]List of service users schema details
versionstringPostgreSQL version
work-memintegerSets the maximum amount of memory to be used by a query operation (such as a sort or hash table) before writing to temporary disk files, in MB. Default is 1MB + 0.075% of total RAM (up to 32MB).
zonestringThe zone where the service is running
Example output
{
  "backup-schedule": {
    "backup-hour": 0,
    "backup-minute": 0
  },
  "backups": [
    {
      "backup-name": "string",
      "backup-time": "2024-01-01T12:00:00Z",
      "data-size": 0
    }
  ],
  "components": [
    {
      "component": "string",
      "host": "string",
      "port": 0,
      "route": "dynamic",
      "usage": "primary"
    }
  ],
  "connection-info": {
    "params": [
      {}
    ],
    "standby": [
      "string"
    ],
    "syncing": [
      "string"
    ],
    "uri": [
      "string"
    ]
  },
  "connection-pools": [
    {
      "connection-uri": "string",
      "database": "string",
      "mode": "transaction",
      "name": "string",
      "size": 0,
      "username": "string"
    }
  ],
  "created-at": "2024-01-01T12:00:00Z",
  "databases": [
    "string"
  ],
  "disk-size": 0,
  "integrations": [
    {
      "description": "string",
      "dest": "string",
      "id": "string",
      "is-active": true,
      "is-enabled": true,
      "settings": {},
      "source": "string",
      "status": "string",
      "type": "string"
    }
  ],
  "ip-filter": [
    "string"
  ],
  "maintenance": {
    "dow": "saturday",
    "time": "string",
    "updates": [
      {
        "deadline": "2024-01-01T12:00:00Z",
        "description": "string",
        "start-after": "2024-01-01T12:00:00Z",
        "start-at": "2024-01-01T12:00:00Z"
      }
    ]
  },
  "max-connections": 0,
  "name": "string",
  "node-count": 0,
  "node-cpu-count": 0,
  "node-memory": 0,
  "node-states": [
    {
      "name": "string",
      "progress-updates": [
        {
          "completed": true,
          "current": 0,
          "max": 0,
          "min": 0,
          "phase": "stream",
          "unit": "string"
        }
      ],
      "role": "standby",
      "state": "leaving"
    }
  ],
  "notifications": [
    {
      "level": "warning",
      "message": "string",
      "metadata": {},
      "type": "service_powered_off_removal"
    }
  ],
  "pg-settings": {
    "autovacuum": {
      "autovacuum_analyze_scale_factor": 0,
      "autovacuum_analyze_threshold": 0,
      "autovacuum_freeze_max_age": 0,
      "autovacuum_max_workers": 0,
      "autovacuum_naptime": 0,
      "autovacuum_vacuum_cost_delay": 0,
      "autovacuum_vacuum_cost_limit": 0,
      "autovacuum_vacuum_scale_factor": 0,
      "autovacuum_vacuum_threshold": 0,
      "log_autovacuum_min_duration": 0
    },
    "bg-writer": {
      "bgwriter_delay": 0,
      "bgwriter_flush_after": 0,
      "bgwriter_lru_maxpages": 0,
      "bgwriter_lru_multiplier": 0
    },
    "deadlock_timeout": 0,
    "default_toast_compression": "lz4",
    "idle_in_transaction_session_timeout": 0,
    "io_combine_limit": 0,
    "io_max_combine_limit": 0,
    "io_max_concurrency": 0,
    "io_method": "worker",
    "io_workers": 0,
    "jit": true,
    "log_error_verbosity": "TERSE",
    "log_line_prefix": "'pid=%p,user=%u,db=%d,app=%a,client=%h '",
    "log_min_duration_statement": 0,
    "log_temp_files": 0,
    "max_files_per_process": 0,
    "max_locks_per_transaction": 0,
    "max_logical_replication_workers": 0,
    "max_parallel_workers": 0,
    "max_parallel_workers_per_gather": 0,
    "max_pred_locks_per_transaction": 0,
    "max_prepared_transactions": 0,
    "max_replication_slots": 0,
    "max_stack_depth": 0,
    "max_standby_archive_delay": 0,
    "max_standby_streaming_delay": 0,
    "max_sync_workers_per_subscription": 0,
    "max_worker_processes": 0,
    "password_encryption": "md5",
    "pg_partman_bgw.interval": 0,
    "pg_partman_bgw.role": "myrolename",
    "pg_stat_monitor.pgsm_enable_query_plan": true,
    "pg_stat_monitor.pgsm_max_buckets": 0,
    "pg_stat_statements.track": "all",
    "temp_file_limit": 0,
    "timezone": "Europe/Helsinki",
    "track_activity_query_size": 0,
    "track_commit_timestamp": "off",
    "track_functions": "all",
    "track_io_timing": "off",
    "wal": {
      "max_slot_wal_keep_size": 0,
      "max_wal_senders": 0,
      "wal_sender_timeout": 0,
      "wal_writer_delay": 0
    }
  },
  "pgbouncer-settings": {
    "autodb_idle_timeout": 0,
    "autodb_max_db_connections": 0,
    "autodb_pool_mode": "transaction",
    "autodb_pool_size": 0,
    "ignore_startup_parameters": [
      "extra_float_digits"
    ],
    "max_prepared_statements": 0,
    "min_pool_size": 0,
    "server_idle_timeout": 0,
    "server_lifetime": 0,
    "server_reset_query_always": true
  },
  "pglookout-settings": {
    "max_failover_replication_time_lag": 0
  },
  "plan": "string",
  "prometheus-uri": {
    "host": "string",
    "port": 0
  },
  "shared-buffers-percentage": 0,
  "state": "running",
  "synchronous-replication": "quorum",
  "termination-protection": true,
  "timescaledb-settings": {
    "max_background_workers": 0
  },
  "type": "string",
  "updated-at": "2024-01-01T12:00:00Z",
  "uri": "string",
  "uri-params": {},
  "users": [
    {
      "allow-replication": true,
      "password": "string",
      "type": "string",
      "username": "string"
    }
  ],
  "version": "string",
  "work-mem": 0,
  "zone": "string"
}

SDK reference for get-dbaas-service-pg: golang | Python | Java

CLI: exo api get-dbaas-service-pg

update-dbaas-service-pg

Update a DBaaS PostgreSQL service

PUT /dbaas-postgres/{name}

Update a DBaaS PostgreSQL service

Path parameters

NameInDescription
namepath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
backup-scheduleobjectnoschema details
ip-filterarray[string]noAllow incoming connections from CIDR address block, e.g. ‘10.20.0.0/16’
maintenanceobjectnoAutomatic maintenance settings schema details
migrationobjectnoMigrate data from existing server schema details
pg-settingsobjectnoPostgreSQL-specific settings schema details
pgbouncer-settingsobjectnoSystem-wide settings for pgbouncer. schema details
pglookout-settingsobjectnoSystem-wide settings for pglookout. schema details
planstringnoSubscription plan
shared-buffers-percentageintegernoPercentage of total RAM that the database server uses for shared memory buffers. Valid range is 20-60 (float), which corresponds to 20% - 60%. This setting adjusts the shared_buffers configuration value.
synchronous-replicationstringnoSynchronous replication type. Note that the service plan also needs to support synchronous replication.

Allowed values: quorum, off.
termination-protectionbooleannoService is protected against termination and powering off
timescaledb-settingsobjectnoSystem-wide settings for the timescaledb extension schema details
variantstringnoVariant of the PostgreSQL service, may affect the features that are exposed by default

Allowed values: timescale, aiven.
versionstringnoVersion
work-memintegernoSets the maximum amount of memory to be used by a query operation (such as a sort or hash table) before writing to temporary disk files, in MB. Default is 1MB + 0.075% of total RAM (up to 32MB).
Example
{
  "backup-schedule": {
    "backup-hour": 0,
    "backup-minute": 0
  },
  "ip-filter": [
    "string"
  ],
  "maintenance": {
    "dow": "saturday",
    "time": "string"
  },
  "migration": {
    "dbname": "string",
    "host": "string",
    "ignore-dbs": "string",
    "method": "dump",
    "password": "string",
    "port": 0,
    "ssl": true,
    "username": "string"
  },
  "pg-settings": {
    "autovacuum": {
      "autovacuum_analyze_scale_factor": 0,
      "autovacuum_analyze_threshold": 0,
      "autovacuum_freeze_max_age": 0,
      "autovacuum_max_workers": 0,
      "autovacuum_naptime": 0,
      "autovacuum_vacuum_cost_delay": 0,
      "autovacuum_vacuum_cost_limit": 0,
      "autovacuum_vacuum_scale_factor": 0,
      "autovacuum_vacuum_threshold": 0,
      "log_autovacuum_min_duration": 0
    },
    "bg-writer": {
      "bgwriter_delay": 0,
      "bgwriter_flush_after": 0,
      "bgwriter_lru_maxpages": 0,
      "bgwriter_lru_multiplier": 0
    },
    "deadlock_timeout": 0,
    "default_toast_compression": "lz4",
    "idle_in_transaction_session_timeout": 0,
    "io_combine_limit": 0,
    "io_max_combine_limit": 0,
    "io_max_concurrency": 0,
    "io_method": "worker",
    "io_workers": 0,
    "jit": true,
    "log_error_verbosity": "TERSE",
    "log_line_prefix": "'pid=%p,user=%u,db=%d,app=%a,client=%h '",
    "log_min_duration_statement": 0,
    "log_temp_files": 0,
    "max_files_per_process": 0,
    "max_locks_per_transaction": 0,
    "max_logical_replication_workers": 0,
    "max_parallel_workers": 0,
    "max_parallel_workers_per_gather": 0,
    "max_pred_locks_per_transaction": 0,
    "max_prepared_transactions": 0,
    "max_replication_slots": 0,
    "max_stack_depth": 0,
    "max_standby_archive_delay": 0,
    "max_standby_streaming_delay": 0,
    "max_sync_workers_per_subscription": 0,
    "max_worker_processes": 0,
    "password_encryption": "md5",
    "pg_partman_bgw.interval": 0,
    "pg_partman_bgw.role": "myrolename",
    "pg_stat_monitor.pgsm_enable_query_plan": true,
    "pg_stat_monitor.pgsm_max_buckets": 0,
    "pg_stat_statements.track": "all",
    "temp_file_limit": 0,
    "timezone": "Europe/Helsinki",
    "track_activity_query_size": 0,
    "track_commit_timestamp": "off",
    "track_functions": "all",
    "track_io_timing": "off",
    "wal": {
      "max_slot_wal_keep_size": 0,
      "max_wal_senders": 0,
      "wal_sender_timeout": 0,
      "wal_writer_delay": 0
    }
  },
  "pgbouncer-settings": {
    "autodb_idle_timeout": 0,
    "autodb_max_db_connections": 0,
    "autodb_pool_mode": "transaction",
    "autodb_pool_size": 0,
    "ignore_startup_parameters": [
      "extra_float_digits"
    ],
    "max_prepared_statements": 0,
    "min_pool_size": 0,
    "server_idle_timeout": 0,
    "server_lifetime": 0,
    "server_reset_query_always": true
  },
  "pglookout-settings": {
    "max_failover_replication_time_lag": 0
  },
  "plan": "string",
  "shared-buffers-percentage": 0,
  "synchronous-replication": "quorum",
  "termination-protection": true,
  "timescaledb-settings": {
    "max_background_workers": 0
  },
  "variant": "timescale",
  "version": "string",
  "work-mem": 0
}

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceobjectRelated resource reference schema details
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for update-dbaas-service-pg: golang | Python | Java

CLI: exo api update-dbaas-service-pg

delete-dbaas-service-pg

Delete a Postgres service

DELETE /dbaas-postgres/{name}

null

Path parameters

NameInDescription
namepath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceobjectRelated resource reference schema details
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for delete-dbaas-service-pg: golang | Python | Java

CLI: exo api delete-dbaas-service-pg


Other Operations

start-dbaas-pg-maintenance

Initiate PostgreSQL maintenance update

PUT /dbaas-postgres/{name}/maintenance/start

null

Path parameters

NameInDescription
namepath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceobjectRelated resource reference schema details
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for start-dbaas-pg-maintenance: golang | Python | Java

CLI: exo api start-dbaas-pg-maintenance

stop-dbaas-pg-migration

Stop a DBaaS PostgreSQL migration

POST /dbaas-postgres/{name}/migration/stop

null

Path parameters

NameInDescription
namepath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceobjectRelated resource reference schema details
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for stop-dbaas-pg-migration: golang | Python | Java

CLI: exo api stop-dbaas-pg-migration

create-dbaas-pg-upgrade-check

POST /dbaas-postgres/{service}/upgrade-check

Check whether you can upgrade Postgres service to a newer version

Path parameters

NameInDescription
servicepath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
target-versionstringyesTarget version for upgrade

Allowed values: 14, 17, 15, 18, 13, 16.
Example
{
  "target-version": "14"
}

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
create-timestring
idstring
resultstring
result-codesarray[object]schema details
successboolean
task-typestring
Example output
{
  "create-time": "2024-01-01T12:00:00Z",
  "id": "string",
  "result": "string",
  "result-codes": [
    {
      "code": "string",
      "dbname": "string"
    }
  ],
  "success": true,
  "task-type": "string"
}

SDK reference for create-dbaas-pg-upgrade-check: golang | Python | Java

CLI: exo api create-dbaas-pg-upgrade-check

update-dbaas-postgres-allow-replication

Update access control for one service user

PUT /dbaas-postgres/{service-name}/user/{username}/allow-replication

null

Path parameters

NameInDescription
service-namepath
usernamepath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
allow-replicationbooleanno
Example
{
  "allow-replication": true
}

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
usersarray[object]schema details
Example output
{
  "users": [
    {
      "allow-replication": true,
      "username": "string"
    }
  ]
}

SDK reference for update-dbaas-postgres-allow-replication: golang | Python | Java

CLI: exo api update-dbaas-postgres-allow-replication

get-dbaas-settings-pg

Get DBaaS PostgreSQL settings

GET /dbaas-settings-pg

Get DBaaS PostgreSQL settings

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
settingsobjectschema details
Example output
{
  "settings": {
    "pg": {
      "additionalProperties": true,
      "properties": {},
      "title": "string",
      "type": "string"
    },
    "pgbouncer": {
      "additionalProperties": true,
      "properties": {},
      "title": "string",
      "type": "string"
    },
    "pglookout": {
      "additionalProperties": true,
      "properties": {},
      "title": "string",
      "type": "string"
    },
    "timescaledb": {
      "additionalProperties": true,
      "properties": {},
      "title": "string",
      "type": "string"
    }
  }
}

SDK reference for get-dbaas-settings-pg: golang | Python | Java

CLI: exo api get-dbaas-settings-pg

Last updated on