How to Reconfigure PostgreSQL Database Clusters

PostgreSQL is an open source, object-relational database built for extensibility, data integrity, and speed. Its concurrency support makes it fully ACID-compliant, and it supports dynamic loading and catalog-driven operations to let users customize its data types, functions, and more.


You can update your database engine’s parameters with the API, such as pgbouncer and work_mem. For a full list of the parameters you can edit, see our API reference. Under the REQUEST BODY SCHEMA section, click config, and then click the postgres option.

To ensure database stability, you can only edit the parameters listed in our API reference. To change other PostgreSQL parameters, contact support.

Update a Database’s Configuration Using the CLI

How to Update a Database's Configuration Using the DigitalOcean CLI
  1. Install doctl, the DigitalOcean command-line tool.

  2. Create a personal access token and save it for use with doctl.

  3. Use the token to grant doctl access to your DigitalOcean account.

              doctl auth init
              
  4. Finally, run doctl databases configuration update. Basic usage looks like this, but you can read the usage docs for more details:

                doctl databases configuration update <db-id> [flags]
              

Update a Database’s Configuration Using the API

How to Update a Database's Configuration Using the DigitalOcean API
  1. Create a personal access token and save it for use with the API.

  2. Send a PATCH request to https://api.digitalocean.com/v2/databases/{database_cluster_uuid}/config

    cURL

    Using cURL:

                    curl -X PATCH \
      -H "Content-Type: application/json" \
      -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \
      -d '{"config": {"sql_mode": "ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES","sql_require_primary_key": true}}' \
      "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/config"
                  

    Python

                    import os
    from pydo import Client
    
    client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN"))
    
    resp = client.databases.patch_config(database_cluster_uuid="a7aba9d")