Automatic backups
Zenifra managed databases have automatic backups, included in your plan at no extra cost. The space the backups use is also included. This page explains what is protected, when backups run, how long they are kept, and how to request a restore.
What is backed up
| Product | Automatic backup |
|---|---|
| PostgreSQL | Yes |
| MariaDB | Yes |
| Analytics (ClickHouse) | Yes |
| Key‑Value | Yes |
| Queues | Yes |
| Cache | No: data lives in memory only, by design |
| Previews | No |
Schedule and retention by plan
Times are in UTC. In Brasília time (UTC−3), 06:00 UTC is 03:00, 14:00 UTC is 11:00, 18:00 UTC is 15:00, and 22:00 UTC is 19:00.
| Plans | Backups per day | Times (UTC / Brasília) | Kept for |
|---|---|---|---|
db-free, analytics-sandbox, queue-free | 1 | 06:00 / 03:00 | 3 days |
db-starter, analytics-starter, queue-starter | 1 | 06:00 / 03:00 | 7 days |
db-basic, queue-basic | 2 | 06:00 and 18:00 / 03:00 and 15:00 | 7 days |
db-premium, analytics-production, queue-premium | 2 | 06:00 and 18:00 / 03:00 and 15:00 | 14 days |
db-enterprise, analytics-enterprise, queue-enterprise | 3 | 06:00, 14:00 and 22:00 / 03:00, 11:00 and 19:00 | 30 days |
db-* plans cover PostgreSQL, MariaDB, and Key‑Value.
How rotation works
- When a new backup completes, the oldest one beyond the plan's count is removed.
- If backups stop for some reason, older ones are not removed early.
- Stopped databases keep their last backups and continue to be backed up on schedule.
- After a plan change, the new plan's schedule applies. Backups from the previous plan are removed only after a recent backup of the new plan exists.
- Backups are stored on Zenifra infrastructure in Brazil, with access restricted to the Zenifra team.
Deleted projects
After a project is deleted, its backups are kept for the plan's retention period (3, 7, 14, or 30 days) and then permanently removed. If a database was deleted by mistake, you can still recover it within that window by contacting support.
How to request a restore
There is no console restore or exact point-in-time recovery yet: restores are done by the support team. Contact support on WhatsApp +55 (11) 5199-3013 or by email at [email protected] and include:
- the project ID;
- the database type (PostgreSQL, MariaDB, Analytics, Key‑Value, or Queues);
- the date and time of the backup you want (or "the latest before HH:MM");
- whether to restore into a new project (default) or into the current one.
Never send passwords, tokens, or keys. The support response commitment is up to 2 business days.
New project or current project
- New project (default): the data is restored into a new project created in your organization and billed by its plan, like any project. The current database is not changed, and you decide when to switch your application's connection.
- Current project: only happens with the organization owner's explicit written confirmation, after a fresh backup of the current data. The project's data is replaced by the chosen backup.
Best practices
Backups protect against accidental deletion and corrupted data, but keep making your own exports (pg_dump, mariadb-dump) of critical data as an extra layer, and test restores periodically. Replicas protect against instance failure, not against accidental deletion.
FAQ
Do backups cost extra?
No. They are included in your plan, as is the space they use.
Can I restore by myself from the console?
Not yet. Restores are requested from support, as described above.
Can I restore to an exact point in time?
No. A restore uses one of the available backups, at your plan's schedule times.
Does Cache have backups?
No. Cache keeps data in memory only and is not designed for persistence.
Next steps
Last updated on
Connect your application to the database
How to connect Python, Node.js, and Bun applications to Zenifra PostgreSQL and MariaDB with verified TLS, per driver, with examples and common errors.
Valkey Key‑Value
Use Valkey Key‑Value for sessions, shared state, counters, and locks with secure Node.js and Python examples.