Upgrade an instance to Cloud SQL Enterprise Plus edition by using in-place upgrade


This page shows you how to use the in-place upgrade method to upgrade a Cloud SQL Enterprise edition instance to Cloud SQL Enterprise Plus edition. Additionally, it also describes the procedure to downgrade a Cloud SQL Enterprise Plus edition instance to Cloud SQL Enterprise edition.

Upgrading to Cloud SQL Enterprise Plus edition provides you with several benefits and performance enhancements. For more information, see Introduction to Cloud SQL for PostgreSQL editions.

To enable these enhancements for your existing Cloud SQL Enterprise edition instances, you must upgrade them to Cloud SQL Enterprise Plus edition. The upgrade process takes a few minutes to complete with an expected downtime of less than 60 seconds. Additionally, this process doesn't require your applications to change the endpoints they connect to.

Before you begin

  • Ensure that you're running a Cloud SQL Enterprise edition instance on PostgreSQL 12 or later.

    If your instance is on an earlier version of PostgreSQL, then you must upgrade your instance to PostgreSQL 12 or later. For more information, see Upgrade the database major version in-place.

  • Ensure that your instance uses a solid state drive (SSD).

Upgrade an instance to Cloud SQL Enterprise Plus edition

Use the procedure in this section to upgrade a Cloud SQL Enterprise edition instance to Cloud SQL Enterprise Plus edition.

Console

  1. In the Google Cloud console, go to the Cloud SQL Instances page.

    Go to Cloud SQL Instances

  2. To open the Overview page of an instance, click the instance name.
  3. Click Edit.
  4. In the Choose a Cloud SQL edition section, click Upgrade.
  5. In the Upgrade to Enterprise Plus panel, enter your instance ID and then click Upgrade edition.

Alternatively, you can also upgrade an instance by clicking Upgrade in the Configuration section of the instance Overview page.

gcloud

The following code sample shows how to upgrade your instance to Cloud SQL Enterprise Plus edition:


gcloud sql instances patch INSTANCE_ID \
  --edition=enterprise-plus \
  --tier=MACHINE_TYPE \
  --project=PROJECT_ID

Optional: you can also enable data cache for your instance by adding the --enable-data-cache flag.

Replace the following:

  • PROJECT_ID: the project ID of the instance that you want to upgrade.
  • INSTANCE_ID: name of the instance that you want to upgrade.
  • MACHINE_TYPE: the machine type of the instance that you want to upgrade to. For more information about machine types for Cloud SQL Enterprise Plus edition, see Machine types for Cloud SQL Enterprise Plus edition instances.

REST

The following command upgrades your instance to Cloud SQL Enterprise edition and triggers a restart operation.

Before using any of the request data, make the following replacements:

  • PROJECT_ID: the project ID of the instance that you want to upgrade.
  • INSTANCE_ID: the instance ID of the instance that you want to upgrade.
  • MACHINE_TYPE: the machine type of the instance that you want to upgrade to. For more information about machine types for Cloud SQL Enterprise Plus edition, see Machine types for Cloud SQL Enterprise Plus edition instances.

Optional: you can enable data cache by setting the dataCacheEnabled parameter as true.

HTTP method and URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID

Request JSON body:

{
  "settings": {
      "tier": "MACHINE_TYPE",
      "edition": "ENTERPRISE_PLUS",
      "dataCacheConfig": {
        "dataCacheEnabled": true
      },
  }
}

To send your request, expand one of these options:

You should receive a JSON response similar to the following:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

REST v1beta4

The following command upgrades your instance to Cloud SQL Enterprise edition and triggers a restart operation.

Before using any of the request data, make the following replacements:

  • PROJECT_ID: the project ID of the instance that you want to upgrade.
  • INSTANCE_ID: the instance ID of the instance that you want to upgrade.
  • MACHINE_TYPE: the machine type of the instance that you want to upgrade to. For more information about machine types for Cloud SQL Enterprise Plus edition, see Machine types for Cloud SQL Enterprise Plus edition instances.

Optional: you can enable data cache by setting the dataCacheEnabled parameter as true.

HTTP method and URL:

PATCH https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID

Request JSON body:

{
  "settings": {
      "tier": "MACHINE_TYPE",
      "edition": "ENTERPRISE_PLUS",
      "dataCacheConfig": {
        "dataCacheEnabled": true
      },
  }
}

To send your request, expand one of these options:

You should receive a JSON response similar to the following:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

Change to Cloud SQL Enterprise edition

Console

  1. In the Google Cloud console, go to the Cloud SQL Instances page.

    Go to Cloud SQL Instances

  2. To open the Overview page of an instance, click the instance name.
  3. Click Edit.
  4. In the Choose a Cloud SQL edition section, click Switch to Enterprise.
  5. In the Switch to Enterprise panel, enter your instance ID and then click Switch edition.

Alternatively, you can also change to Cloud SQL Enterprise edition by clicking Switch to Enterprise in Configuration section of the instance Overview page.

gcloud

The following code sample shows how to change your instance to Cloud SQL Enterprise edition:

gcloud sql instances patch INSTANCE_ID \
  --edition=enterprise \
  --tier=MACHINE_TYPE \
  --project=PROJECT_ID

Replace the following:
  • PROJECT_ID: the project ID of the instance.
  • INSTANCE_ID: name of the instance.
  • MACHINE_TYPE: the machine type of the instance that you want to switch to. For more information about machine types for Cloud SQL Enterprise edition, see Machine types for Cloud SQL Enterprise edition instances.

REST

The following command changes your instance to Cloud SQL Enterprise edition and triggers a restart operation.

Before using any of the request data, make the following replacements:

  • PROJECT_ID: the project ID of the instance.
  • INSTANCE_ID: the instance ID of the instance.
  • MACHINE_TYPE: the machine type of the instance that you want to switch to. For more information about machine types for Cloud SQL Enterprise edition, see Machine types for Cloud SQL Enterprise edition instances.

HTTP method and URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID

Request JSON body:

{
  "settings": {
      "tier": "MACHINE_TYPE",
      "edition": "ENTERPRISE"
  }
}

To send your request, expand one of these options:

You should receive a JSON response similar to the following:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

REST v1beta4

The following command changes your instance to Cloud SQL Enterprise edition and triggers a restart operation.

Before using any of the request data, make the following replacements:

  • PROJECT_ID: the project ID of the instance.
  • INSTANCE_ID: the instance ID of the instance.
  • MACHINE_TYPE: the machine type of the instance that you want to switch to. For more information about machine types for Cloud SQL Enterprise edition, see Machine types for Cloud SQL Enterprise edition instances.

HTTP method and URL:

PATCH https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID

Request JSON body:

{
  "settings": {
      "tier": "MACHINE_TYPE",
      "edition": "ENTERPRISE"
  }
}

To send your request, expand one of these options:

You should receive a JSON response similar to the following:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

What's next