[
  {
    "mechanism": "logical archive",
    "useful_when": "A selected database or schema needs an inspectable, architecture-portable logical representation and restore duration is acceptable.",
    "owned_obligations": "Retain roles and cluster objects separately where required, select compatible server versions, inspect restore errors, and run application acceptance.",
    "reconsider_when": "Database size or recovery-time requirements make logical reconstruction too slow, or cluster-level recovery and finer point selection are required."
  },
  {
    "mechanism": "physical base backup and WAL",
    "useful_when": "The entire compatible PostgreSQL cluster must recover efficiently and a continuous WAL chain can provide point selection.",
    "owned_obligations": "Retain a valid base backup, every required WAL segment and timeline, compatible storage and server state, recovery configuration, and application acceptance.",
    "reconsider_when": "Only a small logical subset is needed, compatibility cannot be preserved, or the organization cannot operate and test the archive chain."
  },
  {
    "mechanism": "provider-managed point-in-time recovery",
    "useful_when": "A managed provider can operate backup capture, retention, and target creation within the required service boundary.",
    "owned_obligations": "Choose the source and target point, restore networking and configuration, provide permissions, observe completion, and run integrity and application acceptance.",
    "reconsider_when": "Provider recovery points, portability, configuration behavior, cost, or recovery duration do not meet the declared contract."
  }
]
