Delete table snapshots

This document describes how to delete a table snapshot by using the Google Cloud console, a DROP SNAPSHOT TABLE GoogleSQL statement, a bq rm command, or a BigQuery API tables.delete call. It also provides information about how to recover a table snapshot that was deleted or that expired in the past seven days. It is intended for users who are familiar with table snapshots.

Permissions and roles

This section describes the Identity and Access Management (IAM) permission that you need to delete a table snapshot, and the predefined IAM roles that grant those permissions.

Permissions

To delete a table snapshot, you need the following permission:

Permission Resource
bigquery.tables.deleteSnapshot The table snapshot that you want to delete

Roles

The predefined BigQuery roles that provide the required permissions are as follows:

Role Resource
Any of the following:

bigquery.dataOwner
bigquery.admin
The table snapshot that you want to delete.

Delete a table snapshot

Delete a table snapshot as you would delete a standard table. You don't need to delete a table snapshot that has expired.

You can delete a table snapshot by using one of the following options:

Console

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

Go to BigQuery

  1. In the Explorer pane, expand the project and dataset nodes of the table snapshot you want to look at.

  2. Click the name of the table snapshot.

  3. In the snapshot pane that appears, click Delete.

  4. Confirm, and then click Delete again.

SQL

Use the DROP SNAPSHOT TABLE DDL statement:

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

    Go to BigQuery

  2. In the query editor, enter the following statement:

    DROP SNAPSHOT TABLE PROJECT_ID.DATASET_NAME.SNAPSHOT_NAME;

    Replace the following:

    • PROJECT_ID: the project ID of the project that contains the snapshot.
    • DATASET_NAME: the name of the dataset that contains the snapshot.
    • SNAPSHOT_NAME: the name of the snapshot.

  3. Click Run.

For more information about how to run queries, see Run an interactive query.

bq

Enter the following command in the Cloud Shell:

Go to Cloud Shell

bq rm \
PROJECT_ID:DATASET_NAME.SNAPSHOT_NAME

Replace the following:

  • PROJECT_ID: the project ID of the project that contains the snapshot.
  • DATASET_NAME: the name of the dataset that contains the snapshot.
  • SNAPSHOT_NAME: the name of the snapshot.

API

Call the tables.delete method with the following parameters:

Parameter Value
projectId The project ID of the project that contains the snapshot.
datasetId The name of the dataset that contains the snapshot.
tableId The name of the snapshot.

Restore a deleted or expired table snapshot

You can recover a table snapshot that was deleted or that expired in the past seven days in the same way that you recover a standard table. For more information, see Restore deleted tables.

What's next