You can manage backups after an instance is deleted if you elected to
retain backups after instance deletion ,
or took a final backup 
prior to deleting your instance. Retained backups include automated and
on-demand backups that were taken when the instance was live. When you delete
your instance, these backups become independent of your instance and are stored
at the project level. For more information about how backups work and which
backups are retained, see
Cloud SQL backups overview .
You can use these backups to restore an instance 
after your instance is deleted.
Before you begin 
To manage retained backups in a Google Cloud project, you need the following
permissions:
 Console  
    Task 
    Required permissions 
 
    List backups 
    cloudsql.backupRuns.list 
    Describe a backup 
    cloudsql.backupRuns.get 
    Update a backup 
    cloudsql.backupRuns.update 
    Delete a backup 
    cloudsql.backupRuns.delete 
 gcloud  
    Action 
    Command 
    Required permissions 
 
    List backups 
    gcloud sql backups listcloudsql.backupRuns.list 
    Describe a backup 
    gcloud sql backups describecloudsql.backupRuns.get 
    Update a backup 
    gcloud sql backups patchcloudsql.backupRuns.update 
    Delete a backup 
    gcloud sql backups deletecloudsql.backupRuns.delete 
 REST  
    Action 
    Method 
    Required permissions 
 
    List backups 
    backups.listBackupcloudsql.backupRuns.list 
    Describe a backup 
    backups.getBackupcloudsql.backupRuns.get 
    Update a backup 
    backups.updateBackupcloudsql.backupRuns.update 
    Delete a backup 
    backups.deleteBackupcloudsql.backupRuns.delete 
 
List all backups for a deleted instance 
You can see a list of all retained and final backups for a deleted instance
for your Google Cloud console project. Backups include details such as the name of
the backup, the instance it belonged to, the type of backup, and the time
the instance was deleted. Since the name of a deleted instance can be reused
after its been deleted, we recommend using the
instance deletion time field to differentiate which instance a particular
backup belongs to. For a live instance, this field is blank.
 Console  
In the Google Cloud console, go to the Cloud SQL Backups  page.
Go to Cloud SQL Backups 
Select your instance's backup option :
standard tier  or enhanced tier .
Click Filter , then Instance status , and select
Deleted instance .
This page lists all deleted instances in your
Google Cloud console project.
Click the name of the deleted instance you want to view backups for.
This page lists all retained automed and on-demand backups, and the
final backup, if available, for your deleted instance.
  gcloud  
To get a list of all backups that are associated with a Google Cloud project,
use the gcloud sql backups list 
command:
gcloud sql backups list
--project=PROJECT_ID 
Replace the following:
PROJECT_ID  To view details about a specific retained backup, use the
gcloud sql backups describe 
command:
gcloud sql backups describe BACKUP_NAME 
--project=PROJECT_ID 
Replace the following:
BACKUP_NAME PROJECT_ID    REST v1  Get a list of all backups 
Use this example to get a list of all retained and final backups associated
with a Google Cloud project. For a complete list of parameters for this call, see
the backups.listBackups
  
  
  
  
  
  
    
  
  Before using any of the request data,
  make the following replacements:
  PROJECT_ID : the project ID 
  HTTP method and URL:
  
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups  
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
          the gcloud CLI with your user account by running
          gcloud initgcloud auth loginCloud Shell ,
            which automatically logs you into the gcloud CLI
            .
          You can check the currently active account by running
          gcloud auth list
    Execute the following command:
  
  
  
  
  
    
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
curl -X GET \PROJECT_ID /backups"  
  PowerShell (Windows) 
  
  
    
      
    
  
  
  
    Execute the following command:
  
  
  
  
  
    
  
  
  
  
  
    
    
  
  
  
  
  
  
  
  
  
  
  
  
    
  
  
  
  
  
  
  
  
    
  
  
$cred = gcloud auth print-access-tokenPROJECT_ID /backups" | Select-Object -Expand Content  
    You should receive a JSON response similar to the following:
    
Response 
  
{
      "name": "projects/PROJECT_ID /backups/BACKUP_ID ",
      "kind": "sql#backup",
      "state": "SUCCESSFUL",
      "backupInterval": {
            "startTime": "2020-01-21T11:25:33.858Z",
            "endTime": "2020-01-21T11:26:18.663Z",
       }
      "type": "FINAL",
      "instance": "INSTANCE_ID ",
      "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups/BACKUP_ID ",
      "location": "us"
      "description": "This is a final backup.",
      "backupKind": "SNAPSHOT",
      "dataDiskSizeGB": "10",
      "expiryTime": "2020-01-30T11:26:18.663Z",
      "backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ",
      "satisfies_pzs": false,
      "satisfies_pzi": false
}
 View details for a backup 
Use this example to view the details of a retained or final backup. For
a complete list of parameters for this call, see the
backup.getBackup
  
  
  
  
  
  
    
  
  Before using any of the request data,
  make the following replacements:
  PROJECT_ID : the project ID.BACKUP_ID : the backup ID. You obtain this ID from the output of running the previous call. 
  HTTP method and URL:
  
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups/BACKUP_ID   
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
          the gcloud CLI with your user account by running
          gcloud initgcloud auth loginCloud Shell ,
            which automatically logs you into the gcloud CLI
            .
          You can check the currently active account by running
          gcloud auth list
    Execute the following command:
  
  
  
  
  
    
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
curl -X GET \PROJECT_ID /backups/BACKUP_ID "  
  PowerShell (Windows) 
  
  
    
      
    
  
  
  
    Execute the following command:
  
  
  
  
  
    
  
  
  
  
  
    
    
  
  
  
  
  
  
  
  
  
  
  
  
    
  
  
  
  
  
  
  
  
    
  
  
$cred = gcloud auth print-access-tokenPROJECT_ID /backups/BACKUP_ID " | Select-Object -Expand Content  
    You should receive a JSON response similar to the following:
    
Response 
  
{
      "name": "projects/PROJECT_ID /backups/BACKUP_ID ",
      "kind": "sql#backup",
      "status": "SUCCESSFUL",
      "backupInterval": {
            "startTime": "2020-01-21T11:25:33.858Z",
            "endTime": "2020-01-21T11:26:18.663Z",
         }
      "type": "FINAL",
      "instance": "INSTANCE_ID ",
      "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups/BACKUP_ID ",
      "location": "us"
      "description": "final backup",
      "backupKind": "SNAPSHOT",
      "dataDiskSizeGB": "10",
      "expiryTime": "2020-01-30T11:26:18.663Z",
      "backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ",
      "satisfies_pzs": false,
      "satisfies_pzi": false
    }
  REST v1beta4  Get a list of all retained backs 
Use this example to get a list of all retained and final backups associated
Google Cloud project. For a complete list of parameters for this call, see
the backups.listBackups
  
  
  
  
  
  
    
  
  Before using any of the request data,
  make the following replacements:
  PROJECT_ID : the project ID 
  HTTP method and URL:
  
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups  
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
          the gcloud CLI with your user account by running
          gcloud initgcloud auth loginCloud Shell ,
            which automatically logs you into the gcloud CLI
            .
          You can check the currently active account by running
          gcloud auth list
    Execute the following command:
  
  
  
  
  
    
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
curl -X GET \PROJECT_ID /backups"  
  PowerShell (Windows) 
  
  
    
      
    
  
  
  
    Execute the following command:
  
  
  
  
  
    
  
  
  
  
  
    
    
  
  
  
  
  
  
  
  
  
  
  
  
    
  
  
  
  
  
  
  
  
    
  
  
$cred = gcloud auth print-access-tokenPROJECT_ID /backups" | Select-Object -Expand Content  
    You should receive a JSON response similar to the following:
    
Response 
  
{
      "name": "projects/PROJECT_ID /backups/BACKUP_ID ",
      "kind": "sql#backup",
      "state": "SUCCESSFUL",
      "backupInterval": {
            "startTime": "2020-01-21T11:25:33.858Z",
            "endTime": "2020-01-21T11:26:18.663Z",
       }
      "type": "FINAL",
      "instance": "INSTANCE_ID ",
      "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups/BACKUP_ID ",
      "location": "us"
      "description": "This is a final backup.",
      "backupKind": "SNAPSHOT",
      "dataDiskSizeGB": "10",
      "expiryTime": "2020-01-30T11:26:18.663Z",
      "backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ",
      "satisfies_pzs": false,
      "satisfies_pzi": false
}
 View details for a retained backup 
Use this example to view the details of a retained or final backup. For
a complete list of parameters for this call, see the
backups.getBackup
  
  
  
  
  
  
    
  
  Before using any of the request data,
  make the following replacements:
  PROJECT_ID : the project ID.BACKUP_ID : the backup ID. You obtain this ID from the output of running the previous call. 
  HTTP method and URL:
  
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups/BACKUP_ID   
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
          the gcloud CLI with your user account by running
          gcloud initgcloud auth loginCloud Shell ,
            which automatically logs you into the gcloud CLI
            .
          You can check the currently active account by running
          gcloud auth list
    Execute the following command:
  
  
  
  
  
    
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
curl -X GET \PROJECT_ID /backups/BACKUP_ID "  
  PowerShell (Windows) 
  
  
    
      
    
  
  
  
    Execute the following command:
  
  
  
  
  
    
  
  
  
  
  
    
    
  
  
  
  
  
  
  
  
  
  
  
  
    
  
  
  
  
  
  
  
  
    
  
  
$cred = gcloud auth print-access-tokenPROJECT_ID /backups/BACKUP_ID " | Select-Object -Expand Content  
    You should receive a JSON response similar to the following:
    
Response 
  
{
      "name": "projects/PROJECT_ID /backups/BACKUP_ID ",
      "kind": "sql#backup",
      "status": "SUCCESSFUL",
      "backupInterval": {
            "startTime": "2020-01-21T11:25:33.858Z",
            "endTime": "2020-01-21T11:26:18.663Z",
         }
      "type": "FINAL",
      "instance": "INSTANCE_ID ",
      "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups/BACKUP_ID ",
      "location": "us"
      "description": "final backup",
      "backupKind": "SNAPSHOT",
      "dataDiskSizeGB": "10",
      "expiryTime": "2020-01-30T11:26:18.663Z",
      "backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ",
      "satisfies_pzs": false,
      "satisfies_pzi": false
    }
  
Update a retained or final backup after instance deletion 
After you delete an instance, you can update the settings for any retained or final backups
associated with that instance that are stored at the project level. Depending
on the type of backup, the details you can update might be different.
You can update the description and the retention settings of a final backup
taken prior to deleting your instance. However, for on-demand or automated
backups that are retained after instance deletion, you can only update the
description of for these backups. For retained backups, the retention settings
are set based on the retention settings of the backups when the instance
was live. For more information, see
Retain backups after instance deletion .
Update a final backup 
You can update the retention settings and the description of a final backup
taken before an instance is deleted. To update the backup, do the following:
 Console  
In the Google Cloud console, go to the Cloud SQL Backups  page.
Go to Cloud SQL Backups 
Click the name of the deleted instance you want to view backups for.
You will see a list of all retained and final backups, and their
details for the deleted instance.
For the final backup you want to update, click more actions
If you want to edit the description of the final backup, click
Edit description .
Enter the description in the Describe this backup  field, then
click Update .
If you want to edit the retention period for the final backup,
click Edit retention period .
Select the date in the Retain backup until  field. The retention
period can range from 1 to 365 days after instance deletion. Once
you select the date to retain the backup until, click Update .
   gcloud  You'll need the backup-name of the final backup you want to update.
To get the backup-name, see
List backups for a deleted instance .
To update the retention period or the description of a final backup, use
the gcloud sql backups patch 
command and specify either the expiry-time or the ttl-days for
the backup:
gcloud sql backups patch BACKUP_NAME 
--description=BACKUP_DESCRIPTION 
--expiry-time=EXPIRY_TIME  | --ttl-days=TTL_DAYS 
Replace the following:
BACKUP_NAME BACKUP_DESCRIPTION One of the following:
EXPIRY_TIME TTL_DAYS    REST v1  You'll need the backup-name of the final backup you want to update.
To get the backup-name, see
List backups for a deleted instance .
You can update the description and the retention settings for the final
backup. The retention setting can be updated using one of the following
methods:
Update the retention days for the final backup 
Update the expiration time for the final backup 
 
Update the retention period using retention days 
Use this example to update the retention setting of the final backup
using the retention days parameter:
  
  
  
    
    
  
  
  
    
  
  Before using any of the request data,
  make the following replacements:
  PROJECT_ID : the project ID.BACKUP_ID : the backup ID. You obtain this ID from the output of running the previous call.TTL_DAYS : the retention period of the final backup (from 1 to 365 days). This is known as time to live (TTL) . The retention period starts from the current date and time, and the maximum retention period that Cloud SQL allows is 1 year (or 365 days). 
  HTTP method and URL:
  
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups/BACKUP_ID ?update_mask=ttl_days  
  Request JSON body:
  
{
        "backup": {
            expiration: {
            "ttl_days": TTL_DAYS ,
            }
         },
}  
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
          the gcloud CLI with your user account by running
          gcloud initgcloud auth loginCloud Shell ,
            which automatically logs you into the gcloud CLI
            .
          You can check the currently active account by running
          gcloud auth list
      Save the request body in a file named request.json,
      and execute the following command:
    
    
  
  
  
    
  
  
  
  
  
  
  
  
  
  
  
    
  
  
  
    
  
  
  
  
  
curl -X PATCH \PROJECT_ID /backups/BACKUP_ID ?update_mask=ttl_days"  
  PowerShell (Windows) 
  
  
    
      
    
  
  
    
      Save the request body in a file named request.json,
      and execute the following command:
    
    
  
  
  
    
  
  
  
  
  
    
    
  
  
  
  
  
  
  
  
  
  
  
  
    
  
  
  
    
  
  
  
    
  
  
  
  
    
  
  
$cred = gcloud auth print-access-tokenPROJECT_ID /backups/BACKUP_ID ?update_mask=ttl_days" | Select-Object -Expand Content  
    You should receive a JSON response similar to the following:
    
Response 
  
{
      "kind": "sql#operation",
      "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups/BACKUP_ID ",
      "status": "DONE",
      "user": "user@example.com",
      "insertTime": "2024-02-15T00:10:22.078Z",
      "operationType": "UPDATE_BACKUP",
      "name": "OPERATION_ID ",
      "targetId": "BACKUP_ID ",
      "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ",
      "targetProject": "PROJECT_ID "
}
 Update the retention period using expiration time 
Use this example to update the retention setting of the final backup
using the expiration time parameter:
  
  
  
    
    
  
  
  
    
  
  Before using any of the request data,
  make the following replacements:
  PROJECT_ID : the project ID.BACKUP_ID : the backup ID. You obtain this ID from the output of running the previous call.DATE_AND_TIME_STAMP : a date-and-time stamp of when Cloud SQL deletes the final backup automatically. 
  HTTP method and URL:
  
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups/BACKUP_ID ?update_mask=expiry_time  
  Request JSON body:
  
{
        "backup": {
            expiration: {
            "expiry_time": DATE_AND_TIME_STAMP ,
            }
         },
}  
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
          the gcloud CLI with your user account by running
          gcloud initgcloud auth loginCloud Shell ,
            which automatically logs you into the gcloud CLI
            .
          You can check the currently active account by running
          gcloud auth list
      Save the request body in a file named request.json,
      and execute the following command:
    
    
  
  
  
    
  
  
  
  
  
  
  
  
  
  
  
    
  
  
  
    
  
  
  
  
  
curl -X PATCH \PROJECT_ID /backups/BACKUP_ID ?update_mask=expiry_time"  
  PowerShell (Windows) 
  
  
    
      
    
  
  
    
      Save the request body in a file named request.json,
      and execute the following command:
    
    
  
  
  
    
  
  
  
  
  
    
    
  
  
  
  
  
  
  
  
  
  
  
  
    
  
  
  
    
  
  
  
    
  
  
  
  
    
  
  
$cred = gcloud auth print-access-tokenPROJECT_ID /backups/BACKUP_ID ?update_mask=expiry_time" | Select-Object -Expand Content  
    You should receive a JSON response similar to the following:
    
Response 
  
{
      "kind": "sql#operation",
      "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups/BACKUP_ID ",
      "status": "DONE",
      "user": "user@example.com",
      "insertTime": "2024-02-15T00:10:22.078Z",
      "operationType": "UPDATE_BACKUP",
      "name": "OPERATION_ID ",
      "targetId": "BACKUP_ID ",
      "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ",
      "targetProject": "PROJECT_ID "
}
 Update the description 
Use this example to update the description of the final backup. For a
complete list of parameters for this call, see the
backups.updateBackup
  
  
  
    
    
  
  
  
    
  
  Before using any of the request data,
  make the following replacements:
  PROJECT_ID : the project ID.BACKUP_ID : the backup ID. You obtain this ID from the output of running the previous call.DESCRIPTION : the updated description for the final backup. 
  HTTP method and URL:
  
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups/BACKUP_ID ?update_mask=description  
  Request JSON body:
  
{
        "backup": {
            "description": DESCRIPTION ,
         },
}
  
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
          the gcloud CLI with your user account by running
          gcloud initgcloud auth loginCloud Shell ,
            which automatically logs you into the gcloud CLI
            .
          You can check the currently active account by running
          gcloud auth list
      Save the request body in a file named request.json,
      and execute the following command:
    
    
  
  
  
    
  
  
  
  
  
  
  
  
  
  
  
    
  
  
  
    
  
  
  
  
  
curl -X PATCH \PROJECT_ID /backups/BACKUP_ID ?update_mask=description"  
  PowerShell (Windows) 
  
  
    
      
    
  
  
    
      Save the request body in a file named request.json,
      and execute the following command:
    
    
  
  
  
    
  
  
  
  
  
    
    
  
  
  
  
  
  
  
  
  
  
  
  
    
  
  
  
    
  
  
  
    
  
  
  
  
    
  
  
$cred = gcloud auth print-access-tokenPROJECT_ID /backups/BACKUP_ID ?update_mask=description" | Select-Object -Expand Content  
    You should receive a JSON response similar to the following:
    
Response 
  
{
      "kind": "sql#operation",
      "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups/BACKUP_ID ",
      "status": "DONE",
      "user": "user@example.com",
      "insertTime": "2024-02-15T00:10:22.078Z",
      "operationType": "UPDATE_BACKUP",
      "name": "OPERATION_ID ",
      "targetId": "BACKUP_ID ",
      "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ",
      "targetProject": "PROJECT_ID "
}
  REST v1beta4  You'll need the backup-name of the final backup you want to update.
To get the backup-name, see
List backups for a deleted instance .
You can update the description and the retention settings for the final
backup. The retention setting can be updated using one of the following
methods:
Update the retention days for the final backup 
Update the expiration time for the final backup 
 
Update the retention period using retention days 
Use this example to update the retention setting of the final backup
using the retention days parameter:
  
  
  
    
    
  
  
  
    
  
  Before using any of the request data,
  make the following replacements:
  PROJECT_ID : the project ID.BACKUP_ID : the backup ID. You obtain this ID from the output of running the previous call.TTL_DAYS : the retention period of the final backup (from 1 to 365 days). This is known as time to live (TTL) . The retention period starts from the current date and time, and the maximum retention period that Cloud SQL allows is 1 year (or 365 days). 
  HTTP method and URL:
  
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups/BACKUP_ID ?update_mask=ttl_days  
  Request JSON body:
  
{
        "backup": {
            expiration: {
            "ttl_days": TTL_DAYS ,
            }
         },
}  
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
          the gcloud CLI with your user account by running
          gcloud initgcloud auth loginCloud Shell ,
            which automatically logs you into the gcloud CLI
            .
          You can check the currently active account by running
          gcloud auth list
      Save the request body in a file named request.json,
      and execute the following command:
    
    
  
  
  
    
  
  
  
  
  
  
  
  
  
  
  
    
  
  
  
    
  
  
  
  
  
curl -X PATCH \PROJECT_ID /backups/BACKUP_ID ?update_mask=ttl_days"  
  PowerShell (Windows) 
  
  
    
      
    
  
  
    
      Save the request body in a file named request.json,
      and execute the following command:
    
    
  
  
  
    
  
  
  
  
  
    
    
  
  
  
  
  
  
  
  
  
  
  
  
    
  
  
  
    
  
  
  
    
  
  
  
  
    
  
  
$cred = gcloud auth print-access-tokenPROJECT_ID /backups/BACKUP_ID ?update_mask=ttl_days" | Select-Object -Expand Content  
    You should receive a JSON response similar to the following:
    
Response 
  
{
      "kind": "sql#operation",
      "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups/BACKUP_ID ",
      "status": "DONE",
      "user": "user@example.com",
      "insertTime": "2024-02-15T00:10:22.078Z",
      "operationType": "UPDATE_BACKUP",
      "name": "OPERATION_ID ",
      "targetId": "BACKUP_ID ",
      "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
      "targetProject": "PROJECT_ID "
}
 Update the retention period using expiration time 
Use this example to update the retention setting of the final backup
using the expiration time parameter:
  
  
  
    
    
  
  
  
    
  
  Before using any of the request data,
  make the following replacements:
  PROJECT_ID : the project ID.BACKUP_ID : the backup ID. You obtain this ID from the output of running the previous call.DATE_AND_TIME_STAMP : a date-and-time stamp of when Cloud SQL deletes the final backup automatically. 
  HTTP method and URL:
  
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups/BACKUP_ID ?update_mask=expiry_time  
  Request JSON body:
  
{
        "backup": {
            expiration: {
            "expiry_time": DATE_AND_TIME_STAMP ,
            }
         },
}  
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
          the gcloud CLI with your user account by running
          gcloud initgcloud auth loginCloud Shell ,
            which automatically logs you into the gcloud CLI
            .
          You can check the currently active account by running
          gcloud auth list
      Save the request body in a file named request.json,
      and execute the following command:
    
    
  
  
  
    
  
  
  
  
  
  
  
  
  
  
  
    
  
  
  
    
  
  
  
  
  
curl -X PATCH \PROJECT_ID /backups/BACKUP_ID ?update_mask=expiry_time"  
  PowerShell (Windows) 
  
  
    
      
    
  
  
    
      Save the request body in a file named request.json,
      and execute the following command:
    
    
  
  
  
    
  
  
  
  
  
    
    
  
  
  
  
  
  
  
  
  
  
  
  
    
  
  
  
    
  
  
  
    
  
  
  
  
    
  
  
$cred = gcloud auth print-access-tokenPROJECT_ID /backups/BACKUP_ID ?update_mask=expiry_time" | Select-Object -Expand Content  
    You should receive a JSON response similar to the following:
    
Response 
  
{
      "kind": "sql#operation",
      "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups/BACKUP_ID ",
      "status": "DONE",
      "user": "user@example.com",
      "insertTime": "2024-02-15T00:10:22.078Z",
      "operationType": "UPDATE_BACKUP",
      "name": "OPERATION_ID ",
      "targetId": "BACKUP_ID ",
      "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
      "targetProject": "PROJECT_ID "
}
 Update the description 
Use this example to update the description of the final backup. For a
complete list of parameters for this call, see the
backups.updateBackup
  
  
  
    
    
  
  
  
    
  
  Before using any of the request data,
  make the following replacements:
  PROJECT_ID : the project ID.BACKUP_ID : the backup ID. You obtain this ID from the output of running the previous call.DESCRIPTION : the updated description for the final backup. 
  HTTP method and URL:
  
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups/BACKUP_ID ?update_mask=description  
  Request JSON body:
  
{
        "backup": {
            "description": DESCRIPTION ,
         },
}
  
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
          the gcloud CLI with your user account by running
          gcloud initgcloud auth loginCloud Shell ,
            which automatically logs you into the gcloud CLI
            .
          You can check the currently active account by running
          gcloud auth list
      Save the request body in a file named request.json,
      and execute the following command:
    
    
  
  
  
    
  
  
  
  
  
  
  
  
  
  
  
    
  
  
  
    
  
  
  
  
  
curl -X PATCH \PROJECT_ID /backups/BACKUP_ID ?update_mask=description"  
  PowerShell (Windows) 
  
  
    
      
    
  
  
    
      Save the request body in a file named request.json,
      and execute the following command:
    
    
  
  
  
    
  
  
  
  
  
    
    
  
  
  
  
  
  
  
  
  
  
  
  
    
  
  
  
    
  
  
  
    
  
  
  
  
    
  
  
$cred = gcloud auth print-access-tokenPROJECT_ID /backups/BACKUP_ID ?update_mask=description" | Select-Object -Expand Content  
    You should receive a JSON response similar to the following:
    
Response 
  
{
      "kind": "sql#operation",
      "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups/BACKUP_ID ",
      "status": "DONE",
      "user": "user@example.com",
      "insertTime": "2024-02-15T00:10:22.078Z",
      "operationType": "UPDATE_BACKUP",
      "name": "OPERATION_ID ",
      "targetId": "BACKUP_ID ",
      "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
      "targetProject": "PROJECT_ID "
}
  
Update a retained backup 
You can update the description of retained on-demand and automated backups.
To update the backup, do the following:
 Console  
In the Google Cloud console, go to the Cloud SQL Backups  page.
Go to Cloud SQL Backups 
Click the name of the deleted instance you want to view backups for.
You will see a list of all retained and final backups, and their
details for the deleted instance.
For the retained backup you want to update, click more actions
Edit description .
In the Edit Backup Description  window, update the description for
your backup.
Click Update .
  gcloud  To update the description of your retained backup, use the
gcloud sql backups patch  command:
gcloud sql backups patch BACKUP_NAME 
--description=BACKUP_DESCRIPTION 
Replace the following:
BACKUP_NAME BACKUP_DESCRIPTION   REST v1  Get a list of all retained backs 
Use this example to get a list of all retained backups associated with a
Google Cloud project. For a complete list of parameters for this call, see
the backups.listBackups
  
  
  
  
  
  
    
  
  Before using any of the request data,
  make the following replacements:
  PROJECT_ID : the project ID 
  HTTP method and URL:
  
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups  
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
          the gcloud CLI with your user account by running
          gcloud initgcloud auth loginCloud Shell ,
            which automatically logs you into the gcloud CLI
            .
          You can check the currently active account by running
          gcloud auth list
    Execute the following command:
  
  
  
  
  
    
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
curl -X GET \PROJECT_ID /backups"  
  PowerShell (Windows) 
  
  
    
      
    
  
  
  
    Execute the following command:
  
  
  
  
  
    
  
  
  
  
  
    
    
  
  
  
  
  
  
  
  
  
  
  
  
    
  
  
  
  
  
  
  
  
    
  
  
$cred = gcloud auth print-access-tokenPROJECT_ID /backups" | Select-Object -Expand Content  
    You should receive a JSON response similar to the following:
    
Response 
  
{
      "name": "projects/PROJECT_ID /backups/BACKUP_ID ",
      "kind": "sql#backup",
      "state": "SUCCESSFUL",
      "backupInterval": {
            "startTime": "2020-01-21T11:25:33.858Z",
            "endTime": "2020-01-21T11:26:18.663Z",
       }
      "type": "FINAL",
      "instance": "INSTANCE_ID ",
      "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups/BACKUP_ID ",
      "location": "us"
      "description": "This is a final backup.",
      "backupKind": "SNAPSHOT",
      "dataDiskSizeGB": "10",
      "expiryTime": "2020-01-30T11:26:18.663Z",
      "backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ",
      "satisfies_pzs": false,
      "satisfies_pzi": false
}
 Update the description 
Use this example to update the description of the retained backup. For a
complete list of parameters for this call, see the
backups.updateBackup
  
  
  
    
    
  
  
  
    
  
  Before using any of the request data,
  make the following replacements:
  PROJECT_ID : the project ID.BACKUP_ID : the backup ID. You obtain this ID from the output of running the previous call.DESCRIPTION : the updated description for the final backup. 
  HTTP method and URL:
  
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups/BACKUP_ID ?update_mask=description  
  Request JSON body:
  
{
        "backup": {
            "description": DESCRIPTION ,
         },
}
  
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
          the gcloud CLI with your user account by running
          gcloud initgcloud auth loginCloud Shell ,
            which automatically logs you into the gcloud CLI
            .
          You can check the currently active account by running
          gcloud auth list
      Save the request body in a file named request.json,
      and execute the following command:
    
    
  
  
  
    
  
  
  
  
  
  
  
  
  
  
  
    
  
  
  
    
  
  
  
  
  
curl -X PATCH \PROJECT_ID /backups/BACKUP_ID ?update_mask=description"  
  PowerShell (Windows) 
  
  
    
      
    
  
  
    
      Save the request body in a file named request.json,
      and execute the following command:
    
    
  
  
  
    
  
  
  
  
  
    
    
  
  
  
  
  
  
  
  
  
  
  
  
    
  
  
  
    
  
  
  
    
  
  
  
  
    
  
  
$cred = gcloud auth print-access-tokenPROJECT_ID /backups/BACKUP_ID ?update_mask=description" | Select-Object -Expand Content  
    You should receive a JSON response similar to the following:
    
Response 
  
{
      "kind": "sql#operation",
      "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups/BACKUP_ID ",
      "status": "DONE",
      "user": "user@example.com",
      "insertTime": "2024-02-15T00:10:22.078Z",
      "operationType": "UPDATE_BACKUP",
      "name": "OPERATION_ID ",
      "targetId": "BACKUP_ID ",
      "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ",
      "targetProject": "PROJECT_ID "
}
  REST v1beta4  Get a list of all retained backs 
Use this example to get a list of all retained backups associated with a
Google Cloud project. For a complete list of parameters for this call, see
the backups.listBackups
  
  
  
  
  
  
    
  
  Before using any of the request data,
  make the following replacements:
  PROJECT_ID : the project ID 
  HTTP method and URL:
  
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups  
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
          the gcloud CLI with your user account by running
          gcloud initgcloud auth loginCloud Shell ,
            which automatically logs you into the gcloud CLI
            .
          You can check the currently active account by running
          gcloud auth list
    Execute the following command:
  
  
  
  
  
    
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
curl -X GET \PROJECT_ID /backups"  
  PowerShell (Windows) 
  
  
    
      
    
  
  
  
    Execute the following command:
  
  
  
  
  
    
  
  
  
  
  
    
    
  
  
  
  
  
  
  
  
  
  
  
  
    
  
  
  
  
  
  
  
  
    
  
  
$cred = gcloud auth print-access-tokenPROJECT_ID /backups" | Select-Object -Expand Content  
    You should receive a JSON response similar to the following:
    
Response 
  
{
      "name": "projects/PROJECT_ID /backups/BACKUP_ID ",
      "kind": "sql#backup",
      "state": "SUCCESSFUL",
      "backupInterval": {
            "startTime": "2020-01-21T11:25:33.858Z",
            "endTime": "2020-01-21T11:26:18.663Z",
       }
      "type": "FINAL",
      "instance": "INSTANCE_ID ",
      "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups/BACKUP_ID ",
      "location": "us"
      "description": "This is a final backup.",
      "backupKind": "SNAPSHOT",
      "dataDiskSizeGB": "10",
      "expiryTime": "2020-01-30T11:26:18.663Z",
      "backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ",
      "satisfies_pzs": false,
      "satisfies_pzi": false
}
 Update the description 
Use this example to update the description of the retained backup. For a
complete list of parameters for this call, see the
backups.updateBackup
  
  
  
    
    
  
  
  
    
  
  Before using any of the request data,
  make the following replacements:
  PROJECT_ID : the project ID.BACKUP_ID : the backup ID. You obtain this ID from the output of running the previous call.DESCRIPTION : the updated description for the final backup. 
  HTTP method and URL:
  
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups/BACKUP_ID ?update_mask=description  
  Request JSON body:
  
{
        "backup": {
            "description": DESCRIPTION ,
         },
}
  
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
          the gcloud CLI with your user account by running
          gcloud initgcloud auth loginCloud Shell ,
            which automatically logs you into the gcloud CLI
            .
          You can check the currently active account by running
          gcloud auth list
      Save the request body in a file named request.json,
      and execute the following command:
    
    
  
  
  
    
  
  
  
  
  
  
  
  
  
  
  
    
  
  
  
    
  
  
  
  
  
curl -X PATCH \PROJECT_ID /backups/BACKUP_ID ?update_mask=description"  
  PowerShell (Windows) 
  
  
    
      
    
  
  
    
      Save the request body in a file named request.json,
      and execute the following command:
    
    
  
  
  
    
  
  
  
  
  
    
    
  
  
  
  
  
  
  
  
  
  
  
  
    
  
  
  
    
  
  
  
    
  
  
  
  
    
  
  
$cred = gcloud auth print-access-tokenPROJECT_ID /backups/BACKUP_ID ?update_mask=description" | Select-Object -Expand Content  
    You should receive a JSON response similar to the following:
    
Response 
  
{
      "kind": "sql#operation",
      "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups/BACKUP_ID ",
      "status": "DONE",
      "user": "user@example.com",
      "insertTime": "2024-02-15T00:10:22.078Z",
      "operationType": "UPDATE_BACKUP",
      "name": "OPERATION_ID ",
      "targetId": "BACKUP_ID ",
      "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
      "targetProject": "PROJECT_ID "
}
  
Delete a backup associated with a deleted instance 
You can delete a final or retained on-demand and automated backup for a deleted
instance at any time.
Note:  Once you manually delete a retained or final backup, it can't be
recovered. 
 Console  
In the Google Cloud console, go to the Cloud SQL Backups  page.
Go to Cloud SQL Backups 
Click the name of the deleted instance you want to view backups for.
You will see a list of all retained and final backups, and their
details for the deleted instance.
For the backup you want to delete, click more actions
Delete .
In the Delete backup  window, enter the name of deleted instance,
and then click Delete .
  gcloud  To delete a retained backup, use the
gcloud sql backups delete
gcloud sql backups delete BACKUP_NAME 
Replace the following:
BACKUP_NAME   REST v1  Use this example to delete a final or retained backup. For a
complete list of parameters for this call, see the
backups.deleteBackup
  
  
  
  
  
  
    
  
  Before using any of the request data,
  make the following replacements:
  PROJECT_ID : the project ID.BACKUP_ID : the backup ID. You obtain this ID from the output of running the previous call. 
  HTTP method and URL:
  
DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups/BACKUP_ID   
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
          the gcloud CLI with your user account by running
          gcloud initgcloud auth loginCloud Shell ,
            which automatically logs you into the gcloud CLI
            .
          You can check the currently active account by running
          gcloud auth list
    Execute the following command:
  
  
  
  
  
    
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
curl -X DELETE \PROJECT_ID /backups/BACKUP_ID "  
  PowerShell (Windows) 
  
  
    
      
    
  
  
  
    Execute the following command:
  
  
  
  
  
    
  
  
  
  
  
    
    
  
  
  
  
  
  
  
  
  
  
  
  
    
  
  
  
  
  
  
  
  
    
  
  
$cred = gcloud auth print-access-tokenPROJECT_ID /backups/BACKUP_ID " | Select-Object -Expand Content  
    You should receive a JSON response similar to the following:
    
Response 
  
{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups/BACKUP_ID ",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-21T22:43:37.981Z",
  "operationType": "DELETE_BACKUP",
  "name": "OPERATION_ID ",
  "targetId": "BACKUP_ID ",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ",
  "targetProject": "PROJECT_ID "
}
  REST v1beta4  Use this example to delete a final or retained backup. For a
complete list of parameters for this call, see the
backups.deleteBackup
  
  
  
  
  
  
    
  
  Before using any of the request data,
  make the following replacements:
  PROJECT_ID : the project ID.BACKUP_ID : the backup ID. You obtain this ID from the output of running the previous call. 
  HTTP method and URL:
  
DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups/BACKUP_ID   
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
          the gcloud CLI with your user account by running
          gcloud initgcloud auth loginCloud Shell ,
            which automatically logs you into the gcloud CLI
            .
          You can check the currently active account by running
          gcloud auth list
    Execute the following command:
  
  
  
  
  
    
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
curl -X DELETE \PROJECT_ID /backups/BACKUP_ID "  
  PowerShell (Windows) 
  
  
    
      
    
  
  
  
    Execute the following command:
  
  
  
  
  
    
  
  
  
  
  
    
    
  
  
  
  
  
  
  
  
  
  
  
  
    
  
  
  
  
  
  
  
  
    
  
  
$cred = gcloud auth print-access-tokenPROJECT_ID /backups/BACKUP_ID " | Select-Object -Expand Content  
    You should receive a JSON response similar to the following:
    
Response 
  
{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups/BACKUP_ID ",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-21T22:43:37.981Z",
  "operationType": "DELETE_BACKUP",
  "name": "OPERATION_ID ",
  "targetId": "BACKUP_ID ",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
  "targetProject": "PROJECT_ID "
}
  
What's next