|
| 1 | +--- |
| 2 | +title: Backup and restore – Hyperscale (Citus) - Azure Database for PostgreSQL |
| 3 | +description: Protecting data from accidental corruption or deletion |
| 4 | +author: jonels-msft |
| 5 | +ms.author: jonels |
| 6 | +ms.service: postgresql |
| 7 | +ms.subservice: hyperscale-citus |
| 8 | +ms.topic: conceptual |
| 9 | +ms.date: 04/28/2020 |
| 10 | +--- |
| 11 | + |
| 12 | +# Backup and restore in Azure Database for PostgreSQL - Hyperscale (Citus) |
| 13 | + |
| 14 | +Azure Database for PostgreSQL – Hyperscale (Citus) automatically creates |
| 15 | +backups of each node and stores them in locally redundant storage. Backups can |
| 16 | +be used to restore your Hyperscale (Citus) cluster to a specified time. Backup |
| 17 | +and restore are an essential part of any business continuity strategy because |
| 18 | +they protect your data from accidental corruption or deletion. |
| 19 | + |
| 20 | +## Backups |
| 21 | + |
| 22 | +At least once a day, Azure Database for PostgreSQL takes snapshot backups of |
| 23 | +data files and the database transaction log. The backups allow you to restore a |
| 24 | +server to any point in time within the retention period. (The retention period |
| 25 | +is currently 35 days for all clusters.) All backups are encrypted using AES |
| 26 | +256-bit encryption. |
| 27 | + |
| 28 | +In Azure regions that support availability zones, backup snapshots are stored |
| 29 | +in three availability zones. As long as at least one availability zone is |
| 30 | +online, the Hyperscale (Citus) cluster is restorable. |
| 31 | + |
| 32 | +Backup files can't be exported. They may only be used for restore operations |
| 33 | +in Azure Database for PostgreSQL. |
| 34 | + |
| 35 | +### Backup storage cost |
| 36 | + |
| 37 | +For current backup storage pricing, see the Azure Database for PostgreSQL - |
| 38 | +Hyperscale (Citus) [pricing |
| 39 | +page](https://azure.microsoft.com/pricing/details/postgresql/hyperscale-citus/). |
| 40 | + |
| 41 | +## Restore |
| 42 | + |
| 43 | +In Azure Database for PostgreSQL, restoring a Hyperscale (Citus) cluster |
| 44 | +creates a new cluster from the original nodes' backups. |
| 45 | + |
| 46 | +> [!IMPORTANT] |
| 47 | +> Deleted Hyperscale (Citus) clusters can't be restored. If you delete the |
| 48 | +> cluster, all nodes that belong to the cluster are deleted and can't be |
| 49 | +> recovered. To protect cluster resources, post deployment, from accidental |
| 50 | +> deletion or unexpected changes, administrators can leverage [management |
| 51 | +> locks](/azure/azure-resource-manager/management/lock-resources). |
| 52 | +
|
| 53 | +### Point-in-time restore (PITR) |
| 54 | + |
| 55 | +You can restore a cluster to any point in time within the last 35 days. |
| 56 | +Point-in-time restore is useful in multiple scenarios. For example, when a user |
| 57 | +accidentally deletes data, drops an important table or database, or if an |
| 58 | +application accidentally overwrites good data with bad data. |
| 59 | + |
| 60 | +The restore process creates a new cluster in the same Azure region, |
| 61 | +subscription, and resource group as the original. The cluster has the |
| 62 | +original's configuration: the same number of nodes, number of vCores, storage |
| 63 | +size, user roles, PostgreSQL version, and version of the Citus extension. |
| 64 | + |
| 65 | +Firewall settings and PostgreSQL server parameters are not preserved from the |
| 66 | +original server group, they are reset to default values. The firewall will |
| 67 | +prevent all connections. You will need to manually adjust these settings after |
| 68 | +restore. |
| 69 | + |
| 70 | +> [!IMPORTANT] |
| 71 | +> You'll need to open a support request to perform point-in-time restore of |
| 72 | +> your Hyperscale (Citus) cluster. |
| 73 | +
|
| 74 | +### Post-restore tasks |
| 75 | + |
| 76 | +After a restore from either recovery mechanism, you should do the |
| 77 | +following to get your users and applications back up and running: |
| 78 | + |
| 79 | +* If the new server is meant to replace the original server, redirect clients |
| 80 | + and client applications to the new server |
| 81 | +* Ensure appropriate server-level firewall and VNet rules are in place for |
| 82 | + users to connect. These rules aren't copied from the original server group. |
| 83 | +* Adjust PostgreSQL server parameters as needed. The parameters aren't copied |
| 84 | + from the original server group. |
| 85 | +* Ensure appropriate logins and database level permissions are in place |
| 86 | +* Configure alerts, as appropriate |
| 87 | + |
| 88 | +## Next steps |
| 89 | + |
| 90 | +* Learn about [Azure availability zones](/azure/availability-zones/az-overview). |
| 91 | +* Set [suggested alerts](/azure/postgresql/howto-hyperscale-alert-on-metric#suggested-alerts) on Hyperscale (Citus) server groups. |
0 commit comments