PointInTimeRecoveryUnavailableException
TL;DR — Point-in-time recovery has not been enabled on this source table, so there's no continuous-backup history to restore from. Enable PITR now (UpdateContinuousBackups) — the recovery window starts from that moment — and for anything before it, restore from an on-demand backup if you have one.
What it means
PointInTimeRecoveryUnavailableException: Point in time recovery has not
yet been enabled for this source table.PITR is opt-in per table. Until it's on, DynamoDB keeps no continuous change history, and RestoreTableToPointInTime has nothing to rebuild from — regardless of how long the table has existed. This is a configuration gap, not a transient error; retrying won't change the answer.
Why it happens
- PITR was never enabled — it's off by default when a table is created without explicitly turning it on.
- A new table missed the checklist — infrastructure code copied from a template that doesn't set
PointInTimeRecoverySpecification. - The wrong table name — you're restoring
ordersbut PITR was enabled onorders-prod(or the other way around), or the table lives in another Region.
How to fix it
Confirm the table's backup state:
aws dynamodb describe-continuous-backups --table-name orders # PointInTimeRecoveryStatus: DISABLEDEnable PITR — protection starts accruing immediately, and the restore window grows from now up to the configured recovery period:
aws dynamodb update-continuous-backups --table-name orders \ --point-in-time-recovery-specification PointInTimeRecoveryEnabled=trueRecover today's data another way — PITR can't reach the past retroactively. If an on-demand backup exists,
RestoreTableFromBackupit; otherwise the current table contents are what you have.Bake PITR into table creation — set it in your IaC for every production table so the gap can't recur, and remember a restored table doesn't inherit PITR either — re-enable it on the new table.
Before deciding how much recovery matters per table, look at what's in them — the DynoTable desktop app gives you that view across accounts and Regions, and the DynamoDB pricing calculator puts a number on the storage cost of continuous backups.
Related errors
- InvalidRestoreTimeException — PITR is on, but the requested time is outside the window.
- Export requires PITR — table exports need PITR too.
- BackupNotFoundException
- Learn: Backups & point-in-time recovery
References
- RestoreTableToPointInTime — Amazon DynamoDB API Reference
- UpdateContinuousBackups — Amazon DynamoDB API Reference
- Point-in-time recovery for DynamoDB — Amazon DynamoDB Developer Guide
Last verified 2026-07-13 against the official AWS documentation linked above.