Configure Managed Connection Pooling

MySQL  |  PostgreSQL  |  SQL Server

Preview —Managed Connection Pooling

This feature is subject to the "Pre-GA Offerings Terms" in the General Service Terms section of theService Specific Terms. You can process personal data for this feature as outlined in theCloud Data Processing Addendum, subject to the obligations and restrictions described in the agreement under which you access Google Cloud. Pre-GA features are available "as is" and might have limited support. For more information, see thelaunch stage descriptions.

This page describes how to configure Managed Connection Poolingfor your Cloud SQL instances.

Before you begin

  • Confirm that your instance meets allrequirementsto use Managed Connection Pooling.
  • If you're usinggcloud CLI, then use thegcloud beta command andconfirm that yourgcloud CLI version is515.0.0 or later.

You can enable Managed Connection Pooling for an instance at time of creation,or edit an existing instance to enable it.

Enable Managed Connection Pooling for a new instance

To create an instance withManaged Connection Pooling enabled, seeCreate instances. You can enableManaged Connection Pooling for an instance usinggcloud CLI or theCloud SQL API.

Enable Managed Connection Pooling for an existing instance

You can enable Managed Connection Pooling for an existing instance using theGoogle Cloud console,gcloud CLI, or the Cloud SQL API. You mustenable Managed Connection Pooling before modifying Managed Connection Poolingoptions.

Console

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

    Go to Cloud SQL Instances

  2. Find the instance you want to enable Managed Connection Pooling for.To open the Overview page of the instance, click the instance name.

  3. ClickEdit.

  4. UnderCustomize your instance, expandConnections.

  5. To enable Managed Connection Pooling, check the box forEnable Managed Connection Pool.

  6. ClickSave.

    Note: This will cause your instance to restart.

gcloud

Use thegcloud beta sql instances command to enable Managed Connection Pooling.

  gcloud beta sql instances patchINSTANCE_NAME \  --enable-connection-pooling

Replace the following:

  • INSTANCE_NAME: the name of the Cloud SQL instance that you want to enable Managed Connection Pooling for.

REST v1

To enable Managed Connection Pooling for an existing instance, use the following command and setconnectionPoolingEnabled:

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

  • PROJECT_ID: the project ID
  • INSTANCE_ID: the instance ID

HTTP method and URL:

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

Request JSON body:

{  "settings": {    "connectionPoolConfig": {      "connectionPoolingEnabled": true    }  }}

To send your request, expand one of these options:

curl (Linux, macOS, or Cloud Shell)

Note: The following command assumes that you have logged in to thegcloud CLI with your user account by runninggcloud init orgcloud auth login , or by usingCloud Shell, which automatically logs you into thegcloud CLI . You can check the currently active account by runninggcloud auth list.

Save the request body in a file namedrequest.json, and execute the following command:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID"

PowerShell (Windows)

Note: The following command assumes that you have logged in to thegcloud CLI with your user account by runninggcloud init orgcloud auth login . You can check the currently active account by runninggcloud auth list.

Save the request body in a file namedrequest.json, and execute the following command:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID" | Select-Object -Expand Content

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

To enable Managed Connection Pooling for an existing instance, use the following command and setconnectionPoolingEnabled:

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

  • PROJECT_ID: the project ID
  • INSTANCE_ID: the instance ID

HTTP method and URL:

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

Request JSON body:

{  "settings": {    "connectionPoolConfig": {      "connectionPoolingEnabled": true    }  }}

To send your request, expand one of these options:

curl (Linux, macOS, or Cloud Shell)

Note: The following command assumes that you have logged in to thegcloud CLI with your user account by runninggcloud init orgcloud auth login , or by usingCloud Shell, which automatically logs you into thegcloud CLI . You can check the currently active account by runninggcloud auth list.

Save the request body in a file namedrequest.json, and execute the following command:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID"

PowerShell (Windows)

Note: The following command assumes that you have logged in to thegcloud CLI with your user account by runninggcloud init orgcloud auth login . You can check the currently active account by runninggcloud auth list.

Save the request body in a file namedrequest.json, and execute the following command:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID" | Select-Object -Expand Content

You should receive a JSON response similar to the following:

{  "kind": "sql#operation",  "targetLink": "https://sqladmin.googleapis.com/sql/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/sql/v1/projects/PROJECT_ID/operations/OPERATION_ID",  "targetProject": "PROJECT_ID"}

Terraform

To enable Managed Connection Pooling for an existing instance, use the followingTerraform resource:

# This example shows creating an instance with Managed Connection Pooling enabled and custom flags set.resource "google_sql_database_instance" "mysql_managed_connection_pooling_enable" {  name                = "mysql-instance-managed-connection-pooling-enable"  region              = "us-central1"  database_version    = "MYSQL_8_0"  deletion_protection = false  settings {    tier    = "db-perf-optimized-N-2"    edition = "ENTERPRISE_PLUS"    connection_pool_config {      connection_pooling_enabled = true    }  }}

Modify Managed Connection Pooling for an instance

After you enable Managed Connection Pooling, you can customizeManaged Connection Pooling using the availableconfiguration options. These configuration options are called Managed Connection Poolingpool flags. Configurations added to Managed Connection Pooling are applied toall poolers used by the instance. For more information on the availableconfiguration options, their default values, and ranges, seeavailable configurations options.

To modify the available Managed Connection Pooling configuration options for aninstance, do the following:

Note: You mustenable Managed Connection Pooling beforemodifying Managed Connection Pooling configuration options.

Console

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

    Go to Cloud SQL Instances

  2. Find the instance you want to enable Managed Connection Pooling for.To open the Overview page of the instance, click the instance name.

  3. ClickEdit.

  4. UnderCustomize your instance, expandConnections.

  5. UnderManaged connection pool, expandAdvanced pooling options.

    Modify the available pooling options that you want to update.

  6. ClickSave.

gcloud

Use thegcloud beta sql instances command to modify configuration options.

  gcloud beta sql instances patchINSTANCE_NAME \  --connection-pool-flags=CONFIGURATION_NAME=CONFIGURATION_VALUE

Replace the following:

  • INSTANCE_NAME: the name of the Cloud SQL instance that you want to modify Managed Connection Pooling for.
  • CONFIGURATION_NAME: the name of the configuration option you want to modify. For a list of all available configuration options, seeavailable configurations options.
  • CONFIGURATION_VALUE: the new value for the configuration option that that you selected.

REST v1

To modify Managed Connection Poolingavailable configurations, use the following command and setConnectionPoolConfig:

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

  • PROJECT_ID: the project ID
  • INSTANCE_ID: the instance ID

HTTP method and URL:

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

Request JSON body:

{  "settings": {    "connectionPoolConfig": {      "flags":      [        {          "name": "CONFIGURATION_NAME",          "value":"CONFIGURATION_VALUE"        }      ]    }  }}

To send your request, expand one of these options:

curl (Linux, macOS, or Cloud Shell)

Note: The following command assumes that you have logged in to thegcloud CLI with your user account by runninggcloud init orgcloud auth login , or by usingCloud Shell, which automatically logs you into thegcloud CLI . You can check the currently active account by runninggcloud auth list.

Save the request body in a file namedrequest.json, and execute the following command:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID"

PowerShell (Windows)

Note: The following command assumes that you have logged in to thegcloud CLI with your user account by runninggcloud init orgcloud auth login . You can check the currently active account by runninggcloud auth list.

Save the request body in a file namedrequest.json, and execute the following command:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID" | Select-Object -Expand Content

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

To modify Managed Connection Poolingavailable configurations, use the following command and setConnectionPoolConfig:

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

  • PROJECT_ID: the project ID
  • INSTANCE_ID: the instance ID

HTTP method and URL:

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

Request JSON body:

{  "settings": {    "connectionPoolConfig": {      "flags":      [        {          "name": "CONFIGURATION_NAME",          "value":"CONFIGURATION_VALUE"        }      ]    }  }}

To send your request, expand one of these options:

curl (Linux, macOS, or Cloud Shell)

Note: The following command assumes that you have logged in to thegcloud CLI with your user account by runninggcloud init orgcloud auth login , or by usingCloud Shell, which automatically logs you into thegcloud CLI . You can check the currently active account by runninggcloud auth list.

Save the request body in a file namedrequest.json, and execute the following command:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID"

PowerShell (Windows)

Note: The following command assumes that you have logged in to thegcloud CLI with your user account by runninggcloud init orgcloud auth login . You can check the currently active account by runninggcloud auth list.

Save the request body in a file namedrequest.json, and execute the following command:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID" | Select-Object -Expand Content

You should receive a JSON response similar to the following:

{  "kind": "sql#operation",  "targetLink": "https://sqladmin.googleapis.com/sql/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/sql/v1/projects/PROJECT_ID/operations/OPERATION_ID",  "targetProject": "PROJECT_ID"}

Terraform

To modify Managed Connection Poolingavailable configurations, use the followingTerraform resource:

# This example shows modifying the flags of an existing Managed Connection Pooling configuration.resource "google_sql_database_instance" "mysql_managed_connection_pooling_modify" {  name                = "mysql-instance-managed-connection-pooling-modify"  region              = "us-central1"  database_version    = "MYSQL_8_0"  deletion_protection = false  settings {    tier    = "db-perf-optimized-N-2"    edition = "ENTERPRISE_PLUS"    connection_pool_config {      connection_pooling_enabled = true      flags {        name  = "max_pool_size" # Modify or add the name and value of an flag        value = "10"      }    }  }}

Disable Managed Connection Pooling for an instance

You can disable Managed Connection Pooling for an existing instance using theGoogle Cloud console,gcloud CLI, or the Cloud SQL API.

To disable Managed Connection Pooling for an instance, do the following:

Console

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

    Go to Cloud SQL Instances

  2. Find the instance you want to disable Managed Connection Pooling for.To open the Overview page of the instance, click the instance name.

  3. ClickEdit.

  4. UnderCustomize your instance, expandConnections.

  5. To disable Managed Connection Pooling, clear the box forEnable Managed Connection Pool.

  6. ClickSave.

    Note: This will cause your instance to restart.

gcloud

Use thegcloud beta sql instances command to disable Managed Connection Pooling.

  gcloud beta sql instances patchINSTANCE_NAME \  --no-enable-connection-pooling

Replace the following:

  • PROJECT_ID: the name of the Cloud SQL instance that you want to disable Managed Connection Pooling for.

REST v1

To disable Managed Connection Pooling for an instance, use the following command and setconnectionPoolingEnabled:

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

  • PROJECT_ID: the project ID
  • INSTANCE_ID: the instance ID

HTTP method and URL:

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

Request JSON body:

{  "settings": {    "connectionPoolConfig": {      "connectionPoolingEnabled": false    }  }}

To send your request, expand one of these options:

curl (Linux, macOS, or Cloud Shell)

Note: The following command assumes that you have logged in to thegcloud CLI with your user account by runninggcloud init orgcloud auth login , or by usingCloud Shell, which automatically logs you into thegcloud CLI . You can check the currently active account by runninggcloud auth list.

Save the request body in a file namedrequest.json, and execute the following command:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID"

PowerShell (Windows)

Note: The following command assumes that you have logged in to thegcloud CLI with your user account by runninggcloud init orgcloud auth login . You can check the currently active account by runninggcloud auth list.

Save the request body in a file namedrequest.json, and execute the following command:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID" | Select-Object -Expand Content

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

To disable Managed Connection Pooling for an instance, use the following command and setconnectionPoolingEnabled:

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

  • PROJECT_ID: the project ID
  • INSTANCE_ID: the instance ID

HTTP method and URL:

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

Request JSON body:

{  "settings": {    "connectionPoolConfig": {      "connectionPoolingEnabled": false    }  }}

To send your request, expand one of these options:

curl (Linux, macOS, or Cloud Shell)

Note: The following command assumes that you have logged in to thegcloud CLI with your user account by runninggcloud init orgcloud auth login , or by usingCloud Shell, which automatically logs you into thegcloud CLI . You can check the currently active account by runninggcloud auth list.

Save the request body in a file namedrequest.json, and execute the following command:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID"

PowerShell (Windows)

Note: The following command assumes that you have logged in to thegcloud CLI with your user account by runninggcloud init orgcloud auth login . You can check the currently active account by runninggcloud auth list.

Save the request body in a file namedrequest.json, and execute the following command:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID" | Select-Object -Expand Content

You should receive a JSON response similar to the following:

{  "kind": "sql#operation",  "targetLink": "https://sqladmin.googleapis.com/sql/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/sql/v1/projects/PROJECT_ID/operations/OPERATION_ID",  "targetProject": "PROJECT_ID"}

Terraform

To disable Managed Connection Pooling for an instance, use the followingTerraform resource:

# This example shows disabling Managed Connection Pooling on an existing instance.resource "google_sql_database_instance" "mysql_managed_connection_pooling_disable" {  name                = "mysql-instance-managed-connection-pooling-disable"  region              = "us-central1"  database_version    = "MYSQL_8_0"  deletion_protection = false  settings {    tier    = "db-perf-optimized-N-2"    edition = "ENTERPRISE_PLUS"    connection_pool_config {      # Set to false to disable Managed Connection Pooling. You can also remove the block entirely.      connection_pooling_enabled = false    }  }}

View Managed Connection Pooling status for an instance

You can view the status of Managed Connection Pooling for an instance usingthe Google Cloud console,gcloud CLI, or the Cloud SQL API.

To view the status of Managed Connection Pooling for a Cloud SQL Enterprise Plus edition instance, do thefollowing:

Console

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

    Go to Cloud SQL Instances

  2. Find the instance you want to view the Managed Connection Pooling status for.To open the Overview page of the instance, click the instance name.

    TheConnections section shows whether Managed Connection Pooling isenabled or disabled.

gcloud

  gcloud beta sql instances describeINSTANCE_NAME  --format="value(settings.connectionPoolConfig.connectionPoolingEnabled)"

Replace the following:

  • PROJECT_ID: the name of the Cloud SQL instance that you want to view Managed Connection Pooling status for.

    If Managed Connection Pooling is enabled, the following response is returned:

    connectionPoolingEnabled: true

REST v1

To view the status of Managed Connection Pooling for your Cloud SQL instance, use the following command and look forconnectionPoolingEnabled:

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

HTTP method and URL:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME

To send your request, expand one of these options:

curl (Linux, macOS, or Cloud Shell)

Note: The following command assumes that you have logged in to thegcloud CLI with your user account by runninggcloud init orgcloud auth login , or by usingCloud Shell, which automatically logs you into thegcloud CLI . You can check the currently active account by runninggcloud auth list.

Execute the following command:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME"

PowerShell (Windows)

Note: The following command assumes that you have logged in to thegcloud CLI with your user account by runninggcloud init orgcloud auth login . You can check the currently active account by runninggcloud auth list.

Execute the following command:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME" | Select-Object -Expand Content

You should receive a JSON response similar to the following:

{  "kind": "sql#instance",  "state": "RUNNABLE",  "databaseVersion": "MYSQL_8_0",  "settings": {    "authorizedGaeApplications": [],    "tier": "db-custom-2-7680",    "kind": "sql#settings",    "availabilityType": "REGIONAL",    "pricingPlan": "PER_USE",    "replicationType": "SYNCHRONOUS",    "activationPolicy": "ALWAYS",    "ipConfiguration": {      "authorizedNetworks": [],      "pscConfig": {        "allowedConsumerProjects": [          "ALLOWED_PROJECTS"        ],        "pscEnabled": true      },      "ipv4Enabled": false    },  ...  "createTime": "2023-06-14T18:48:34.975Z",  "sqlNetworkArchitecture": "NEW_NETWORK_ARCHITECTURE",  "pscServiceAttachmentLink": "projects/PROJECT_ID/regions/REGION_NAME/serviceAttachments/SERVICE_ATTACHMENT_ID",  "dnsName": "DNS_NAME"}

REST v1beta4

To view the status of Managed Connection Pooling for your Cloud SQL instance, use the following command and look forconnectionPoolingEnabled:

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

HTTP method and URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME

To send your request, expand one of these options:

curl (Linux, macOS, or Cloud Shell)

Note: The following command assumes that you have logged in to thegcloud CLI with your user account by runninggcloud init orgcloud auth login , or by usingCloud Shell, which automatically logs you into thegcloud CLI . You can check the currently active account by runninggcloud auth list.

Execute the following command:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME"

PowerShell (Windows)

Note: The following command assumes that you have logged in to thegcloud CLI with your user account by runninggcloud init orgcloud auth login . You can check the currently active account by runninggcloud auth list.

Execute the following command:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME" | Select-Object -Expand Content

You should receive a JSON response similar to the following:

{  "kind": "sql#instance",  "state": "RUNNABLE",  "databaseVersion": "MYSQL_8_0",  "settings": {    "authorizedGaeApplications": [],    "tier": "db-custom-2-7680",    "kind": "sql#settings",    "availabilityType": "REGIONAL",    "pricingPlan": "PER_USE",    "replicationType": "SYNCHRONOUS",    "activationPolicy": "ALWAYS",    "ipConfiguration": {      "authorizedNetworks": [],      "pscConfig": {        "allowedConsumerProjects": [          "ALLOWED_PROJECTS"        ],        "pscEnabled": true      },      "ipv4Enabled": false    },  ...  "createTime": "2023-06-14T18:48:34.975Z",  "sqlNetworkArchitecture": "NEW_NETWORK_ARCHITECTURE",  "pscServiceAttachmentLink": "projects/PROJECT_ID/regions/REGION_NAME/serviceAttachments/SERVICE_ATTACHMENT_ID",  "dnsName": "DNS_NAME"}

Monitor Managed Connection Pooling

You canmonitor howManaged Connection Pooling is running on your Cloud SQL instances using thefollowing Cloud SQL Managed Connection Pooling metrics:

Metric nameDescription
threadsTracks the threads count in the connection pool by its status. The statuses included in this metric are:
  • idle: the number of idle threads in the pool.
  • active: the number of active (non-idle) threads in the pool.
pending_connectionThe number of connections actively in the pooling queue.
avg_wait_timeThe average time spent by the connection request waiting for a server.

For more information about these metrics, seeCloud SQL metrics. To view thesemetrics using the Google Cloud console, seeView metrics on the Cloud SQL instance overview page.

What's next

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-07-18 UTC.