En esta página, se describe qué es el agrupamiento de conexiones administrado y cómo usarlo para optimizar la administración de conexiones de bases de datos para tus instancias de Cloud SQL que usan el agrupamiento.
El agrupamiento de conexiones administrado te permite escalar tus cargas de trabajo optimizando el uso de recursos y la latencia de conexión para tus instancias de Cloud SQL con el agrupamiento.
La agrupación de conexiones administrada asigna dinámicamente conexiones de servidor a las solicitudes entrantes cuando es posible. Esto ofrece mejoras significativas en el rendimiento, en especial para las conexiones escaladas, ya que absorbe los picos repentinos de conexión y reutiliza las conexiones de bases de datos existentes. En lugar de conectarse a una base de datos en particular, la agrupación de conexiones administradas se conecta a un clúster de agrupadores, lo que proporciona tiempos de conexión más cortos y escalabilidad para tus cargas de trabajo. La cantidad de agrupadores que se usan se basa en la cantidad de núcleos de CPU virtuales de tu instancia.
Si bien puedes usar la agrupación de conexiones administrada para cualquier carga de trabajo transaccional, esta proporciona el mayor beneficio de rendimiento y latencia con las aplicaciones que contienen conexiones de corta duración o que generan un aumento repentino de conexiones.
En el caso de las conexiones de larga duración, el rendimiento de la conexión con la reducción de conexiones administradas puede ser ligeramente inferior al que se obtiene con una conexión directa. En este caso, la agrupación de conexiones administrada proporciona un ajuste de escala de las conexiones cuando la cantidad de conexiones es muy alta. Sin embargo, para las aplicaciones que suelen establecer conexiones de larga duración, puedes usar conexiones directas a tu instancia.
Para usar la agrupación de conexiones administrada, tu instancia debe cumplir con los siguientes requisitos:
Tu instancia debe ser de la edición Cloud SQL Enterprise Plus.
Debes conectarte a tu instancia solo con una conexión directa o con el proxy de autenticación de Cloud SQL.
Debes conectarte a tu instancia con un nombre de usuario y una contraseña válidos. Los usuarios de IAM y de grupos de IAM no son compatibles con el uso del grupo de conexiones administrado.
La agrupación de conexiones administrada requiere un número de versión de mantenimiento mínimo de POSTGRES_$version.R20250302.00_04. Para obtener más información, consulta Cómo realizar el mantenimiento de autoservicio.
Puertos que usa el grupo de conexiones administrado para instancias de Cloud SQL
Cuando habilitas el grupo de conexiones administrado, cambian los puertos que usan las instancias de Cloud SQL para entregar el tráfico de la base de datos. Los puertos que usa la agrupación de conexiones administradas son los siguientes:
Puerto TCP 5432: Se usa para las conexiones directas del servidor de bases de datos de PostgreSQL. Este es el número de puerto predeterminado que se usa cuando se establece una conexión directa con el cliente psql.
Puerto TCP 6432: Se usa para las conexiones directas del agrupador de grupos de conexiones administrado. Para conectarte con este puerto, especifica psql -p 6432 cuando te conectes directamente con el cliente psql.
Puerto TCP 3307: Lo usa un agrupador de Managed Connection Pooling solo para las conexiones del proxy de autenticación de Cloud SQL. Cuando usas el proxy de autenticación de Cloud SQL para conectarte al agrupador de Managed Connection Pooling, este número de puerto se configura con el cliente del proxy de autenticación de Cloud SQL y no se puede cambiar.
Opciones de configuración avanzada
La agrupación de conexiones administrada ofrece las siguientes opciones de agrupación que puedes configurar con el parámetro pool_mode:
transaction (predeterminado): Agrupa las conexiones a nivel de la transacción.
session: Agrupa las conexiones a nivel de la sesión.
max_pool_size: Es el tamaño máximo del grupo de conexiones. El valor predeterminado es 50 conexiones.
min_pool_size: Es el tamaño de umbral del grupo de conexiones. Si la cantidad de conexiones de servidor es menor que min_pool_size, agrega más conexiones de servidor al grupo. El valor predeterminado es 0 conexiones.
max_client_connections: Es la cantidad máxima de conexiones permitidas para tu instancia. El valor predeterminado es 5,000 conexiones.
client_connection_idle_timeout: Es el tiempo que una conexión de cliente permanece inactiva antes de que se agote el tiempo de espera. Este valor puede variar de 0 a 2,147,483 segundos, y el valor predeterminado es 0 segundos.
server_connection_idle_timeout: Es el tiempo que una conexión del servidor permanece inactiva antes de que se agote el tiempo de espera. Este valor puede oscilar entre 0 y 2,147,483 segundos, y el valor predeterminado es de 600 segundos.
query_wait_timeout: Es el tiempo que espera una consulta hasta que se agota el tiempo de espera.
Este valor puede oscilar entre 0 y 2,147,483 segundos, y el valor predeterminado es de 120 segundos.
max_prepared_statements: Es la cantidad máxima de comandos de sentencias preparadas con nombre a nivel del protocolo que se admiten en el modo de agrupación de transacciones. El valor predeterminado es 0 instrucciones.
ignore_startup_parameters: Son los parámetros que deseas ignorar y que no se rastrean en los paquetes de inicio de la agrupación de conexiones administradas de forma predeterminada.
server_lifetime: Es el tiempo máximo que una conexión del servidor permanece sin usar antes de que el grupo de conexiones administradas la cierre. El valor predeterminado es 3,600 segundos.
Limitaciones
Cuando uses la agrupación de conexiones administradas con tus instancias de la edición de Cloud SQL Enterprise Plus, ten en cuenta estas limitaciones:
Habilitar el grupo de conexiones administrado en una instancia existente provoca el reinicio de la base de datos.
Cuando usas la API de Cloud SQL para habilitar, inhabilitar o configurar el Agrupamiento de conexiones administradas, la API de instance.update no puede contener ninguna otra actualización de configuración de la instancia.
El agrupamiento de conexiones administrado solo se puede usar con la versión 2.15.2 y versiones posteriores del proxy de Cloud SQL Auth.
Si usas el conector de lenguaje de Go en Cloud SQL, te recomendamos que uses la versión 1.24 de Go como mínimo. Si usas la versión 1.23 de Go o una anterior, es posible que experimentes limitaciones en el rendimiento cuando uses el grupo de conexiones administrado.
Si usas el agrupamiento de conexiones administrado en el modo de agrupamiento transaction, no se admiten las siguientes funciones de SQL:
SET/RESET
LISTEN
WITH HOLD CURSOR
PREPARE/DEALLOCATE
PRESERVE/DELETE ROW tablas temporales
LOAD
Bloqueos de asesoramiento a nivel de la sesión
Si usas la biblioteca de interfaz de base de datos asyncpg para el agrupador de Managed Connection Pooling en los puertos 3307 y 6432, debes actualizar max_prepared_statements a un valor mayor que 0 para habilitar la compatibilidad con las sentencias preparadas en el agrupador de Managed Connection Pooling.
Si usas la versión 17 de Cloud SQL para PostgreSQL, la opción sslnegotiation=direct no es compatible.
El seguimiento de la IP del cliente no es compatible con la agrupación de conexiones administradas. Si habilitas Almacenar las direcciones IP de clientes en Estadísticas de búsquedas, las direcciones IP de los clientes se mostrarán como local en lugar de la dirección IP en sí.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-09-04 (UTC)"],[],[],null,["# Managed Connection Pooling overview\n\n\u003cbr /\u003e\n\n[MySQL](/sql/docs/mysql/managed-connection-pooling \"View this page for the MySQL database engine\") \\| PostgreSQL \\| SQL Server\n\n\u003cbr /\u003e\n\n|\n| **Preview\n| --- [Managed Connection Pooling](/sql/docs/postgres/managed-connection-pooling)**\n|\n|\n| This feature is subject to the \"Pre-GA Offerings Terms\" in the General Service Terms section\n| of the [Service Specific Terms](/terms/service-terms#1).\n|\n| You can process personal data for this feature as outlined in the\n| [Cloud Data Processing\n| Addendum](/terms/data-processing-addendum), subject to the obligations and restrictions described in the agreement under\n| which you access Google Cloud.\n|\n| Pre-GA features are available \"as is\" and might have limited support.\n|\n| For more information, see the\n| [launch stage descriptions](/products#product-launch-stages).\n\nThis page describes what Managed Connection Pooling is and how to use it with your\nCloud SQL instances.\n\nManaged Connection Pooling lets you scale your workloads by optimizing resource utilization\nand connection latency for your Cloud SQL for PostgreSQL instances using pooling.\n\nManaged Connection Pooling dynamically assigns server connections to\nincoming requests when possible. This delivers significant performance\nimprovements, especially for scaled connections, by absorbing sudden\nconnection spikes and reusing existing database connections. Instead of\nconnecting to a particular database, Managed Connection Pooling connects to a\ncluster of poolers, which provide shorter connection times and scalability\nfor your workloads. The number of poolers used is based on the number of vCPU\ncores of your instance.\n\n\nWhile you can use Managed Connection Pooling for any transactional workloads,\nManaged Connection Pooling provides the most throughput and latency benefit with applications\nthat contain short-lived connections, or applications that result in a\nconnection surge.\n\nFor long-lived connections, the connection performance using\nManaged Connection Pooling can be slightly lower than when using a direct\nconnection. In this case, Managed Connection Pooling provides connection\nscaling when the number of connections is very high. However, for\napplications that typically establish long-lived connections, you might use\ndirect connections to your instance instead.\n\nFor more information on how to enable Managed Connection Pooling, see\n[Configure Managed Connection Pooling](/sql/docs/postgres/configure-mcp).\n\nRequirements\n------------\n\nTo use Managed Connection Pooling, your instance must meet the following requirements:\n\n- Your instance must be a Cloud SQL Enterprise Plus edition instance.\n- You must be connected to your instance using a direct connection, or the Cloud SQL Auth Proxy only.\n- You must be connected to your instance using a valid username and password. IAM and IAM group users aren't supported when using Managed Connection Pooling.\n- Your instance must either be set up for [private service access](/sql/docs/postgres/private-ip#set_up_private_services_access_for_your_network), use public IP, or be a new instance with [Private Service Connect](/sql/docs/postgres/about-private-service-connect) enabled.\n- Your instance must use the new [Cloud SQL network architecture](/sql/docs/postgres/upgrade-cloud-sql-instance-new-network-architecture).\n- Managed Connection Pooling requires a minimum maintenance version number of `POSTGRES_$version.R20250302.00_04`. For more information, see [Perform self-service maintenance](/sql/docs/postgres/self-service-maintenance).\n\nPorts used by Managed Connection Pooling for Cloud SQL instances\n----------------------------------------------------------------\n\nWhen you enable Managed Connection Pooling, the ports used by Cloud SQL instances to serve database traffic change. The ports used by Managed Connection Pooling are as follows:\n\n- **TCP port 5432** : used for direct connections by the Postgres database server. This is the default port number used when [directly connecting using psql client](/sql/docs/postgres/connect-admin-ip#connect).\n- **TCP port 6432** : used for direct connections by the Managed Connection Pooling pooler. To connect using this port, specify `psql -p 6432` when [directly connecting using psql client](/sql/docs/postgres/connect-admin-ip#connect).\n- **TCP port 3307**: used for the Cloud SQL Auth Proxy only connections by a Managed Connection Pooling pooler. When you use Cloud SQL Auth Proxy to connect to Managed Connection Pooling pooler, this port number is configured with the Cloud SQL Auth Proxy client and can't be changed.\n\nAvailable configuration options\n-------------------------------\n\nManaged Connection Pooling offers the following pooling options that you can set using the `pool_mode` parameter:\n\n\u003cbr /\u003e\n\n- `transaction` (default): pools connections at a transaction level.\n- `session`: pools connections at a session level.\n\n| **Note:** The maximum number of server connections used by the pooler in Managed Connection Pooling is limited by the `max_connections` database configuration. Cloud SQL recommends adjusting this value based on your instance's workload requirements and the database instance size. For more information about the `max_connections` flag, see [Maximum concurrent connections](/sql/docs/quotas#maximum_concurrent_connections). To modify the `max_connections` database configuration flag for your instance, see [Configure database flags](/sql/docs/postgres/flags#config).\n\nYou can also\n[customize Managed Connection Pooling](/sql/docs/postgres/configure-mcp#modify-mcp)\nby using the following configuration parameters:\n\n- `max_pool_size`: the maximum size of the connection pool. The default value is 50 connections.\n- `min_pool_size`: the threshold size of the connection pool. If the number of server connections is less than `min_pool_size`, then add more server connections to the pool. The default value is 0 connections.\n- `max_client_connections`: the maximum number of connections allowed for your instance. The default value is 5,000 connections.\n- `client_connection_idle_timeout`: the time that a client-connection remains idle before it times out. This value can range from 0 to 2,147,483 seconds, and the default value is 0 seconds.\n- `server_connection_idle_timeout`: the time that a server connection remains idle before it times out. This value can range from 0 to 2,147,483 seconds, and the default value is 600 seconds.\n- `query_wait_timeout`: the time that a query waits until it times out. This value can range from 0 to 2,147,483 seconds, and the default value is 120 seconds.\n- `max_prepared_statements`: the maximum number of protocol-level named prepared statements commands supported in transaction pooling mode. The default value is 0 statements.\n- `ignore_startup_parameters`: the parameters you want ignored, that aren't tracked in Managed Connection Pooling's startup packets by default.\n- `server_lifetime`: the maximum time a server connection is unused before Managed Connection Pooling closes it. The default value is 3600 seconds.\n\nLimitations\n-----------\n\nConsider the following limitations when using Managed Connection Pooling with\nyour Cloud SQL Enterprise Plus edition instances:\n\n- Enabling Managed Connection Pooling on an existing instance results in a database restart.\n- When you use the Cloud SQL API to enable, disable, or configure Managed Connection Pooling, the `instance.update` API can't contain any other instance configuration updates.\n- Managed Connection Pooling can only be used with Cloud SQL Auth Proxy version 2.15.2 and later.\n- If you're using the Cloud SQL Go Language Connector, then we recommend a minimum Go version of `1.24`. If you use Go version 1.23 or earlier, then you might experience limitations on performance when using Managed Connection Pooling.\n- If you're using Managed Connection Pooling in `transaction` pooling mode, then\n the following SQL features aren't supported:\n\n - `SET/RESET`\n - `LISTEN`\n - `WITH HOLD CURSOR`\n - `PREPARE/DEALLOCATE`\n - `PRESERVE/DELETE ROW` temp tables\n - `LOAD`\n - Session-level advisory locks\n- If you're using the\n [asyncpg database interface library](https://magicstack.github.io/asyncpg/current/)\n for Managed Connection Pooling pooler on port 3307 and 6432, then you must update the\n `max_prepared_statements` to a value larger than 0 to enable support for\n prepared statements in Managed Connection Pooling pooler.\n\n- If you're using Cloud SQL for PostgreSQL version 17, then the\n `sslnegotiation=direct` option isn't supported.\n\n- Client IP tracking isn't supported with Managed Connection Pooling. If you enable\n *store client IP addresses* in [query insights](/sql/docs/postgres/using-query-insights),\n then client IP addresses are displayed as `local` instead of the IP address\n itself.\n\nWhat's next\n-----------\n\n- [Create an instance](/sql/docs/postgres/create-instance)\n- [Configure Managed Connection Pooling](/sql/docs/postgres/configure-mcp)"]]