What do you get back from a scheduled copy?
For the single-database PostgreSQL setup, Portabase saves a dump, a file containing the records and structure selected for backup. Choose a completed copy from before the mistake. A later booking will not appear in that earlier copy.
Check the restore column for each source. Portabase lists Redis and Valkey as backup-only in its restore interface. Its Files source supports restores for Archive and Snapshots, while Sync and Copy are separate modes.
What could a restore change at the destination?
Set up a separate disposable target with a compatible database. Portabase warns that restoring can overwrite target data. Its default PostgreSQL cleanup replaces objects represented in the dump and can leave other objects behind. A used target can give you a mixed result or a partial failure.
Before any real rehearsal, verify the destination account, database and allowed connections. Keep it disconnected from the live app. A single-database dump is not a copy of the whole PostgreSQL server. Check database roles and permissions, and plan for uploads or other data kept outside the database.
What do you still pay for and keep yourself?
The project is Apache-2.0 open source and self-hosted. Budget for the dashboard and agent, the space used by retained copies and storage or transfer charges where you put them. Check the schedule and retention settings so the copy you need is still available.
Keep an approved recovery copy and the information needed to open it. If the archive is encrypted, store its decryption key securely and separately. Confirm where both the archive and its key would come from if the original host failed.
How can you choose a copy on paper?
Use fictional bookings, files and times. Leave the dashboard, storage, credentials and databases disconnected.
- Mark what each copy containsDraw a 9 a.m. copy, a 9:20 a.m. booking and an accidental change at 9:35 a.m. The 9 a.m. copy can show older records but cannot recover the 9:20 booking.
- Mark the only allowed destinationDraw a fresh test database and place the copy there. Cross out every connection to the live app. Mark external uploads and database access as separate checks.
- Decide what to keepWrite the one old value you need and what newer information must stay untouched. Do not mark the recovery verified until someone checks the restored sample separately.