How to Undelete BigQuery Tables Using Time Travel

  • Relative timestamp (1 hour ago):
    bq cp mydataset.table@-3600000 mydataset.table_restored
    
  • Absolute timestamp (milliseconds since epoch UTC):
    bq cp mydataset.table@1622036513000 mydataset.table_restored
    

Tips

  • BigQuery retains table history for seven days by default.
  • Restored tables create a new copy—rename or overwrite as needed.
  • For datasets with delete protection enabled, you can also use bq --location=... cp to copy between regions.

Reference