Skip to main content
Send feedback
Stay organized with collections
Save and categorize content based on your preferences.
Work with legacy slot reservations
Note: Legacy reservations, including access to flat-rate billing or certain
commitment lengths, are only available to allow-listed customers. To determine
if you have access to these legacy features, contact your administrator.
The flat-rate billing model defines how you are billed for compute, but
flat-rate reservations and commitments function as Enterprise
edition slots.
The BigQuery Reservation API lets you purchase dedicated slots (called commitments
), create pools
of slots (called reservations
),
and assign projects, folders, and organizations to those reservations.
Reservations allow you to assign a dedicated number of slots
to a workload. For example, you might not want
a production workload to compete with test workloads for slots. You could
create a reservation named prod
and assign your production workloads to this
reservation. For more information, see Reservations
.
Create reservations
Required permissions
To create a reservation, you need the following Identity and Access Management (IAM)
permission:
Each of the following predefined IAM roles includes this
permission:
BigQuery Admin
BigQuery Resource Admin
BigQuery Resource Editor
For more information about IAM roles in BigQuery,
see Predefined roles and permissions
.
Create a reservation with dedicated slots
Select one of the following options:
Console
In the Google Cloud console, go to the BigQuery page.
Go to BigQuery
In the navigation menu, click Capacity management .
Click Create reservation .
In the Reservation name field, enter a name for the reservation.
In the Location drop-down list, select the location.
In the Capacity Model section, select the capacity model.
If you select the Flat-Rate option, under Baseline slots , enter
the number of slots for the reservation.
In the Max reservation size selector list, select the maximum reservation size.
Optional: In the Baseline slots field, enter the number of baseline
slots for the reservation. To use only the specified slot capacity,
click the Ignore idle slots toggle.
The amount of autoscaling slots available to you is determined by
subtracting the baseline slots value from the maximum reservation
size value. For example, if you create a reservation with 100 baseline
slots and a max reservation size of 400, your reservation has 300
autoscaling slots. For more information about baseline slots, see Using reservations with baseline and autoscaling
slots
.
To disable idle slot sharing
, click the Ignore idle slots toggle.
The breakdown of slots is displayed in the Cost estimate table.
A summary of the reservation is displayed in the Capacity summary table.
Click Save .
The new reservation is visible in the Reservations tab.
SQL
To create a reservation, use the CREATE RESERVATION
DDL statement
.
In the Google Cloud console, go to the BigQuery page.
Go to BigQuery
In the query editor, enter the following statement:
CREATE
RESERVATION
` ADMIN_PROJECT_ID
.
region
-
LOCATION
.
RESERVATION_NAME
` OPTIONS
(
slot_capacity
=
NUMBER_OF_BASELINE_SLOTS
,
);
Replace the following:
ADMIN_PROJECT_ID
: the project ID of the administration project
that owns the reservation resource
LOCATION
: the location
of the reservation. If you select a BigQuery Omni
location
, your edition
option is limited to the Enterprise edition.
RESERVATION_NAME
: the name of the
reservation
It must start and end with a lowercase letter or a number
and contain only lowercase letters, numbers, and dashes.
NUMBER_OF_BASELINE_SLOTS
: the number of baseline slots to
allocate to the reservation. You cannot set the slot_capacity
option and the edition
option in the same reservation.
EDITION
: the edition of the reservation. Assigning a reservation to an edition comes with feature and pricing changes. For more information, see Introduction to BigQuery editions
.
NUMBER_OF_AUTOSCALING_SLOTS
: the number of autoscaling slots assigned to the reservation. This is equal to the value of the max reservation size minus the number of baseline slots.
Click play_circle
Run .
For more information about how to run queries, see Run an interactive query
.
bq
To create a reservation, use the bq mk
command with the --reservation
flag:
bq mk \
--project_id= ADMIN_PROJECT_ID
\
--location= LOCATION
\
--reservation \
--slots= NUMBER_OF_BASELINE_SLOTS
\
--ignore_idle_slots=false \ RESERVATION_NAME
Replace the following:
ADMIN_PROJECT_ID
: the project ID
LOCATION
: the location
of the reservation. If you select a BigQuery Omni
location
, your edition
option is limited to the Enterprise edition.
NUMBER_OF_BASELINE_SLOTS
: the number of baseline slots to
allocate to the reservation
RESERVATION_NAME
: the name of the reservation
EDITION
: the edition of the reservation. Assigning a reservation to an edition comes with feature and pricing changes. For more information, see Introduction to BigQuery editions
.
NUMBER_OF_AUTOSCALING_SLOTS
: the number of autoscaling slots assigned to the reservation. This is equal to the value of the max reservation size minus the number of baseline slots.
For information about the --ignore_idle_slots
flag, see Idle slots
. The default
value is false
.
Update reservations
You can make the following updates to a reservation:
Change the reservation size by adding or removing slots.
Configure whether queries in this reservation use idle slots.
Change the amount of baseline or autoscaling slots allocated to a reservation.
Required permissions
To update a reservation, you need the following Identity and Access Management (IAM)
permission:
Each of the following predefined IAM roles includes this
permission:
BigQuery Admin
BigQuery Resource Admin
BigQuery Resource Editor
For more information about IAM roles in BigQuery,
see Predefined roles and permissions
.
Change the size of a reservation
You can add or remove slots from an existing reservation.
Console
In the Google Cloud console, go to the BigQuery page.
Go to BigQuery
In the navigation menu, click Capacity management .
Click the Reservations tab.
Find the reservation you want to update.
Expand the more_vert
Actions option.
Click Edit .
In the Max reservation size selector dialog, enter the max reservation size.
In the Baseline slots field, enter the number of baseline slots.
Click Save .
bq
To update the size of a reservation, use the bq update
command with the --reservation
flag:
bq update \
--project_id= ADMIN_PROJECT_ID
\
--location= LOCATION
\
--slots= NUMBER_OF_BASELINE_SLOTS
\
--reservation RESERVATION_NAME
Replace the following:
ADMIN_PROJECT_ID
: the project ID
LOCATION
: the location
of the reservation
NUMBER_OF_BASELINE_SLOTS
: the number of baseline slots to
allocate to the reservation
RESERVATION_NAME
: the name of the reservation
The --ignore_idle_slots
flag controls whether queries running in a reservation
can use idle slots from other reservations. For more information, see Idle slots
. You can update this
configuration on an existing reservation.
To update a reservation, use the bq update
command with the --reservation
flag . The following example sets --ignore_idle_slots
to true
,
meaning the reservation will only use slots allocated to the reservation.
bq update \
--project_id= ADMIN_PROJECT_ID
\
--location= LOCATION
\
--ignore_idle_slots=true \
--reservation RESERVATION_NAME
Replace the following:
ADMIN_PROJECT_ID
: the project ID
LOCATION
: the location
of the reservation
RESERVATION_NAME
: the name of the reservation
List the idle slot configuration
To list the idle slots
setting
for a reservation, do the following:
SQL
Query the ignore_idle_slots
column of the INFORMATION_SCHEMA.RESERVATIONS_BY_PROJECT
view
.
In the Google Cloud console, go to the BigQuery page.
Go to BigQuery
In the query editor, enter the following statement:
SELECT
reservation_name
,
ignore_idle_slots
FROM
` ADMIN_PROJECT_ID
.
region
-
LOCATION
` .
INFORMATION_SCHEMA
.
RESERVATIONS_BY_PROJECT
;
Replace the following:
Click play_circle
Run .
For more information about how to run queries, see Run an interactive query
.
bq
Use the bq ls
command with the --reservation
flag:
bq ls --reservation \
--project_id= ADMIN_PROJECT_ID
\
--location= LOCATION
Replace the following:
The ignoreIdleSlots
field contains the configuration setting.
Delete reservations
When you delete a reservation, any jobs that are currently executing with slots
from that reservation will fail. To prevent errors, allow running jobs to
complete before deleting the reservation.
Required permissions
To delete a reservation, you need the following Identity and Access Management (IAM)
permission:
Each of the following predefined IAM roles includes this
permission:
BigQuery Admin
BigQuery Resource Admin
BigQuery Resource Editor
For more information about IAM roles in BigQuery,
see Predefined roles and permissions
.
Delete a reservation
Console
In the Google Cloud console, go to the BigQuery page.
Go to BigQuery
In the navigation menu, click Capacity management .
Click the Reservations tab.
Find the reservation you want to delete.
Expand the more_vert
Actions option.
Click Delete .
In the Delete reservation dialog, click Delete .
SQL
To delete a reservation, use the DROP RESERVATION
DDL statement
.
In the Google Cloud console, go to the BigQuery page.
Go to BigQuery
In the query editor, enter the following statement:
DROP
RESERVATION
` ADMIN_PROJECT_ID
.
region
-
LOCATION
.
RESERVATION_NAME
` ;
Replace the following:
ADMIN_PROJECT_ID
: the project ID of the administration project
that owns the reservation resource
LOCATION
: the location
of the reservation
RESERVATION_NAME
: the ID of the
reservation
Click play_circle
Run .
For more information about how to run queries, see Run an interactive query
.
bq
To delete a reservation, use the bq rm
command with the --reservation
flag:
bq rm \
--project_id= ADMIN_PROJECT_ID
\
--location= LOCATION
\
--reservation RESERVATION_NAME
Replace the following:
ADMIN_PROJECT_ID
: the project ID of the administration project
that owns the reservation resource
LOCATION
: the location
of the reservation
RESERVATION_NAME
: the name of the reservation
Add BigQuery Reservation API to VPC Service Controls
Note: This feature may not be available when using reservations that are created with
certain BigQuery editions. For more information about which
features are enabled in each edition, see Introduction to
BigQuery editions
.
The BigQuery Reservation API supports VPC Service Controls
.
To integrate the BigQuery Reservation API with VPC Service Controls, follow the
instructions in Create a service perimeter
,
and add the BigQuery Reservation API to the protected services.
A service perimeter protects access to reservations, commitments, and
assignments within administration projects that are specified in the perimeter.
When creating an assignment, the VPC Service Controls protects the
administration project and assignee project, folder, and organization.
Send feedback
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License
, and code samples are licensed under the Apache 2.0 License
. For details, see the Google Developers Site Policies
. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2026-05-29 UTC.
Need to tell us more?
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2026-05-29 UTC."],[],[]]