Quotas and limits

Stay organized with collections Save and categorize content based on your preferences.

This document lists the quotas and limits that apply to AlloyDB for PostgreSQL.

Quotas

A quota restricts how much of a particular shared Google Cloud resource your Cloud project can use, including hardware, software, and network components.

Quotas are part of a system that does the following:

  • Monitors your use or consumption of Google Cloud products and services.
  • Restricts your consumption of those resources for reasons including ensuring fairness and reducing spikes in usage.
  • Maintains configurations that automatically enforce prescribed restrictions.
  • Provides a means to make or request changes to the quota.

When a quota is exceeded, in most cases, the system immediately blocks access to the relevant Google resource, and the task that you're trying to perform fails. In most cases, quotas apply to each Cloud project and are shared across all applications and IP addresses that use that Cloud project.

Google Cloud also offers free trial quotas that provide limited access for projects to help you explore Google Cloud at no charge.

Not all projects have the same quotas. If your Google Cloud usage increases, your quotas might increase.

For more information about quotas, see Working with quotas.

For information specific to quotas imposed by AlloyDB, see Rate quotas.

There are also limits on AlloyDB resources. These limits are unrelated to the quota system.

Permissions for checking and editing quotas

To view your quotas, you must have the serviceusage.quotas.get permission.

To change your quotas, you must have the serviceusage.quotas.update permission.

These permissions are included by default in the basic IAM roles of Owner and Editor and in the predefined Quota Administrator role.

Check your quotas

By default, the quotas table in the Google Cloud console lists quotas for all services. You can check the current quotas for AlloyDB resources in your project by using the Filter list in the table.

To check the current quotas for AlloyDB resources in your project, complete the following steps:

  1. In the Google Cloud console, go to the Quotas page.

    Go to Quotas

  2. In the quotas table, select Service: AlloyDB API from the Filter list.

Request a quota increase

To request a quota increase, file a support case.

There is no charge for requesting a quota increase. Your costs increase only if you use more resources.

Plan and request additional resources at least a few days in advance to ensure that there is enough time to fulfill your request.

Rate quotas

AlloyDB supports rate quotas, also known as rate limits or API quotas. Rate quotas define the number of requests that you can make to the AlloyDB API. Each rate quota corresponds to all the requests for a group of one or more AlloyDB API methods. Rate quotas reset after a time interval that's specific to the service—for example, the number of API requests per day.

When you use the Google Cloud CLI or the Google Cloud console, you're making requests to the API and these requests count toward your rate limits. If you use service accounts to access the API, those requests also count toward your rate limit.

The rate quotas are enforced and automatically refilled over 60-second (1-minute) intervals. That means that if your project reaches a rate quota's maximum any time within 60 seconds, you must wait for that quota to refill before making more requests in that group. If your project exceeds a rate limit, you receive an HTTP 429 status code with the reason rateLimitExceeded.

The AlloyDB APIs are divided into six groups based on the operation type. The rate quotas are imposed per minute, per API group, per project, per region, and per user. For each unique combination of these attributes, AlloyDB imposes a separate quota. For example, if 100 users are accessing the Mutate APIs in a single minute for a given project and region, each user is given a default quota in the range of 180—250 requests per minute for each project and region combination.

The default quota range for each group is as follows:

Group name Description Default quota range in queries per minute API methods
Connect APIs Establish new connections. 180-2000
  • projects.locations.clusters.generateClientCertificate
  • projects.locations.clusters.instances.getConnectionInfo
Get APIs Read a single resource. 180-1000
  • projects.locations.clusters.get
  • projects.locations.clusters.instances.get
  • projects.locations.backups.get
  • projects.locations.get
Get operation API Get the latest state of a long-running operation. 950-1400
  • projects.locations.operations.get
List APIs Read a group of resources of the same type. 180-1000
  • projects.locations.clusters.list
  • projects.locations.clusters.instances.list
  • projects.locations.backups.list
  • projects.locations.supportedDatabaseFlags.list
  • projects.locations.list
List operations API List operations that match a specific filter in the request. 2200-3000
  • projects.locations.operations.list
Mutate APIs Modify resource state. 180-250
  • projects.locations.clusters.create
  • projects.locations.clusters.patch
  • projects.locations.clusters.delete
  • projects.locations.clusters.restore
  • projects.locations.clusters.instances.create
  • projects.locations.clusters.instances.patch
  • projects.locations.clusters.instances.delete
  • projects.locations.clusters.instances.failover
  • projects.locations.clusters.instances.restart
  • projects.locations.backups.create
  • projects.locations.backups.patch
  • projects.locations.backups.delete
  • projects.locations.operations.delete
  • projects.locations.operations.cancel

Limits

To request a limit increase, file a support case.

Item Limit
Clusters per project per region Ranges from 3 to 10.
vCPUs per project per region Ranges from 128 to 512.
Database storage per cluster By default, the limit is 5 TiB. The maximum supported limit is 16 TiB.
Read pool nodes per cluster (across all read pool instances) 20 (15 if all nodes are of the 64 vCPU machine type)
Maximum concurrent connections per instance

Defaults to 1,000; adjustable up to 240,000

For more information, see Maximum concurrent connections.

Maximum concurrent connections

AlloyDB limits an instance's maximum concurrent connections to 1,000, unless you set its max_connections flag to a higher value. You can adjust the value of this flag to as high as 240,000.

When you set the max_connections flag on a read pool instance, the new value must match or exceed the max_connections value of its cluster's primary instance.