本文介绍如何使用 Azure 门户备份 Azure Database for PostgreSQL 服务器。 还可以使用适用于 PostgreSQL 数据库的 Azure PowerShell、 Azure CLI 和 REST API 配置备份。
在开始之前,请查看 支持的配置、功能注意事项和已知限制,以及 常见问题。
在 PostgreSQL 数据库上配置备份
可以在多个 Azure Database for PostgreSQL 服务器上配置多个 PostgreSQL 数据库的备份。 若要使用 Azure 备份配置此类备份,请执行以下步骤:
转到 备份保管库,选择保管库,然后选择“ 备份”。
或者,可以从 备份中心转到此页面。
在“基本信息”选项卡上输入所需的信息。
在 “备份策略 ”选项卡上,选择或 创建 定义备份计划和保留期的策略。
在 “数据源 ”选项卡上,选择“ 添加/编辑”。
在 “选择要备份的资源”窗格中,如果这些跨订阅的 Azure Database for PostgreSQL 服务器与保管库位于同一区域,则选择其一。 选择箭头以显示服务器中的数据库列表。
注意
无需备份 azure_maintenance 和 azure_sys 数据库。 此外,无法备份已备份到备份保管库的数据库。
通过在网络设置中允许使用受信任的 Microsoft 服务,可以备份启用了专用终结点的 Azure Database for PostgreSQL 服务器。
选择 “分配密钥保管库 ”以选择存储用于连接到所选数据库的凭据的密钥保管库。 你应该已在密钥保管库中创建了相关机密。
若要在单个行的级别分配密钥保管库,请单击“选择密钥保管库和机密”。 还可以通过选择多行,然后在操作菜单中选择“分配密钥保管库”来分配密钥保管库。
若要指定机密信息,请使用以下选项之一:
输入机密 URI:如果共享或已知机密 URI,请使用此选项。 可以通过选择机密,然后复制 机密标识符 值,从密钥保管库获取机密 URI。
但是,使用此选项,Azure 备份无法查看引用的密钥保管库。 无法以内联方式授予对密钥保管库的访问权限。 若要使备份作成功,备份管理员以及 PostgreSQL 和/或密钥保管库管理员需要确保在配置备份流之外手动授予备份保管库对密钥保管库的访问权限。
从密钥保管库中进行选择:如果知道密钥保管库和机密名称,请使用此选项。 然后单击 “选择密钥保管库和机密 ”并输入详细信息。
如果使用此选项,你(对密钥保管库拥有写入访问权限的备份管理员)能够以内联方式授予对密钥保管库的访问权限。 密钥保管库和机密可能预先存在,也可以随时创建。
确保机密是 Azure Database for PostgreSQL 服务器的连接字符串,格式为 ADO.NET。 必须使用在服务器上具有备份权限的数据库用户的凭据更新字符串。 详细了解如何在密钥保管库中创建机密。
完成密钥保管库和机密信息更新后,验证将启动。
Azure 备份服务验证它是否具有从密钥保管库读取机密详细信息并连接到数据库所需的所有 访问权限 。 在此过程中,“ 配置备份 ”窗格中所选数据源的状态显示为 “验证”。
如果缺少一个或多个访问权限,服务将显示以下错误消息之一:
用户无法分配角色:当(作为备份管理员)在 Azure Database for PostgreSQL 服务器和/或密钥保管库上没有写入访问权限时,将显示此消息,以分配“ 查看详细信息”中列出的缺失权限。
通过在作菜单上选择 “下载角色分配模板 ”按钮来下载分配模板,然后让 PostgreSQL 和/或密钥保管库管理员运行该模板。 它是一个 Azure 资源管理器模板,可帮助你为所需的资源分配必要的权限。
成功运行模板后,在“配置备份”窗格中选择“重新验证”。
角色分配未完成:当你(备份管理员)对 Azure Database for PostgreSQL 服务器和/或密钥保管库拥有写权限,因此可以分配“查看详细信息”下列出的缺失权限时,将显示此消息。 使用操作菜单中的“分配缺少的角色”按钮以内联方式授予对 Azure Database for PostgreSQL 服务器和/或密钥保管库的权限。
在操作菜单上选择“分配缺少的角色”,然后分配角色。 进程启动后,将向备份保管库授予对密钥保管库和/或 Azure Database for PostgreSQL 服务器的缺失访问权限。 在 “范围” 区域中,可以定义应向其授予访问权限的范围。 该操作完成后,将开始重新验证。
备份保管库从密钥保管库访问机密,并运行与数据库的测试连接,以验证是否已正确输入凭据。 还会检查数据库用户的权限,以查看 数据库用户是否对数据库具有备份相关权限。
如果低特权用户对数据库没有备份/还原权限,则验证会失败。 为每个记录或所选数据库动态生成 PowerShell 脚本。 运行 PowerShell 脚本以向数据库用户授予对数据库的这些特权。 或者,可以使用 pgAdmin 或 PSQL 工具分配这些权限。
当 备份就绪情况 显示 “成功”时,选择“ 查看并配置 ”选项卡以继续提交作的最后一步。
选择“配置备份”。 然后,跟踪 “备份实例 ”窗格中的进度。
创建备份策略
可以在流中创建备份策略来配置备份。 或者,可以转到“备份中心”“备份策略”>“添加” 。 还可以 使用 REST API 为 PostgreSQL 数据库创建备份策略。
在“ 创建备份策略 ”窗格的“ 基本信息 ”选项卡上,输入新策略的名称。
在 “计划和保留 ”选项卡上,定义备份计划。
目前,只有每周备份选项可用。 但是,可以计划在一周中的多天进行备份。
选择 “添加保留规则 ”以定义保留设置。
可以添加一个或多个保留规则。 每个保留规则都假定特定备份的输入,以及这些备份的数据存储和保留期。
若要将备份存储在两个数据存储(或层)之一中,请选择保管库标准或保管库存档(预览版)。
若要在备份数据存储中的备份过期时将其移动到存档数据存储,请选择“过期时”。
注意
如果没有任何其他保留规则,则应用 默认 保留规则。 默认值为三个月。
在备份数据存储中,保留期范围为 7 天到 10 年。
在存档数据存储中,保留期范围为 6 个月到 10 年。
选择 “添加”,然后完成审核和创建策略的过程。
保留规则按预先确定的优先级顺序进行评估。 每年规则的优先级最高,其次分别是每月规则和每周规则。
如果其他规则没有资格,则默认保留设置适用。 例如,同一恢复点可能是每周执行的第一次成功备份,以及每月执行的第一次成功备份。 但是,由于每月规则的优先级高于每周规则的优先级,因此适用与每月进行的首次成功备份相对应的保留期。
在密钥保管库中创建机密
机密在于 ADO.NET 格式的 Azure Database for PostgreSQL 服务器连接字符串。 它使用获得服务器备份权限的数据库用户的凭据进行更新。
从 Azure Database for PostgreSQL 服务器复制连接字符串。 使用文本编辑器更新用户 ID 和密码。
运行 PowerShell 脚本向数据库用户授予权限
在配置备份的过程中动态生成的 PowerShell 脚本接受数据库用户作为输入,以及 PostgreSQL 管理员凭据,以向数据库上的数据库用户授予与备份相关的权限。
若要运行脚本,请确保 PSQL 工具 位于计算机上。 此外,请确保 PATH
将环境变量适当地设置为 PSQL 工具的路径:
若要允许网络连接,请确保 Azure Database for PostgreSQL 实例中的 连接安全设置 在允许列表中包括计算机的 IP 地址。
运行按需备份
触发不在策略指定的计划中的备份:
跟踪备份作业
Azure 备份服务为计划的备份创建作业,或者触发按需备份操作以便进行跟踪。 若要查看备份作业的状态:
转到 “备份实例 ”窗格。 它会显示“作业”仪表板,其中包含过去七天的操作和状态。
选择“ 全部查看 ”以显示此备份实例的持续和过去的作业。
查看备份和还原作业及其状态的列表。 选择职位以查看其详细信息。
相关内容
- 使用 Azure 门户还原 PostgreSQL 数据库。
- 使用 Azure PowerShell、 Azure CLI 和 REST API 还原 PostgreSQL 数据库。
- Azure 备份定价
- 排查使用 Azure 备份进行 PostgreSQL 数据库备份的问题