How to Schedule Automatic Software Updates for PostgreSQL Database Clusters

Last verified 18 Aug 2026

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.

DigitalOcean fully manages database software updates for database clusters on your behalf. During the update process, we create a new cluster with OS-level or db_engine updates applied, replicate the existing cluster’s data, and then update DNS (which changes the cluster’s underlying IP address).

There is no downtime associated with these updates, but there may be brief periods of latency during the maintenance window. Updates are necessary for security and stability, so you can’t disable them, but you can customize the maintenance window or manually initiate an available update.

Note

The maintenance window for a cluster applies to its primary node and any standby nodes. Each read-only node has its own maintenance window that is independent of the cluster and other read-only nodes.

Software updates may begin at any time during the four-hour maintenance window. For example, if a maintenance window starts on Sunday at 7 PM, the software update can begin at any time between 7 PM and 11 PM. Updates may continue after the four-hour window ends.

Set a Maintenance Window Using the CLI

How to Set a Maintenance Window Using the DigitalOcean CLI
  1. Install doctl, the official DigitalOcean CLI.

  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 maintenance-window update. Basic usage looks like this, but you can read the usage docs for more details:

    doctl databases maintenance-window update <database-cluster-id> [flags]

    The following example updates the maintenance window for a database cluster with the ID ca9f591d-f38h-5555-a0ef-1c02d1d1e35:

    doctl databases maintenance-window update ca9f591d-f38h-5555-a0ef-1c02d1d1e35 --day tuesday --hour 16:00

Set a Maintenance Window Using the API

How to Set a Maintenance Window Using the DigitalOcean API

Create a personal access token and save it for use with the API.

cURL

Send a PUT request to https://api.digitalocean.com/v2/databases/{database_cluster_uuid}/maintenance.

Using cURL:

curl -X PUT \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \
  -d '{"day": "tuesday", "hour": "14:00"}' \
  "https://api.digitalocean.com/v2/databases/9cc10173-e9ea-4176-9dbc-a4cee4c4ff30/maintenance"

Go

Using Godo, the official DigitalOcean API client for Go:

import (
    "context"
    "os"

    "github.com/digitalocean/godo"
)

func main() {
    token := os.Getenv("DIGITALOCEAN_TOKEN")

    client := godo.NewFromToken(token)
    ctx := context.TODO()

    maintenanceRequest := &godo.DatabaseUpdateMaintenanceRequest{
        Day:  "thursday",
        Hour: "16:00",
    }

    _, err := client.Databases.UpdateMaintenance(ctx, "88055188-9e54-4f21-ab11-8a918ed79ee2", maintenanceRequest)
}

Python

Using PyDo, the official DigitalOcean API client for Python:

import os
from pydo import Client

client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN"))

req = {
  "day": "tuesday",
  "hour": "14:00"
}

update_resp = client.databases.update_maintenance_window(database_cluster_uuid="a7a8bas", body=req)

Set a Maintenance Window Using the Control Panel

To view or edit a cluster’s or read-only node’s maintenance window, go to the Databases page, select the cluster or read-only node, select the Settings tab, and then in the Upgrade window section, click Edit.

Choose the day of the week and the start time for the four-hour maintenance window.

Screenshot of the Upgrade window section of the Settings page in the Control Panel

When finished configuring your maintenance window, click Save.

Update Manually

The Databases page displays an alert above clusters with an available update. To apply an update manually, select the cluster or read-only node that has an update available.

In the upgrade banner at the top of the Overview page, click Upgrade Available.

The required patch upgrade message on a database cluster page

In the Version Upgrade window, click Upgrade Now (or Apply Patch Upgrade if a major version upgrade is also pending).

Repeat this process for each read-only node you want to update.

We can't find any results for your search.

Try using different keywords or simplifying your search terms.