Menu Close

4.5.3.4. 进行基础备份

您可以通过多种方法创建基础备份:本节描述了在运行的 PostgreSQL 服务器上使用 pg_basebackup 工具执行基础备份的最简单的方法。

基础备份进程会创建一个备份历史记录文件,该文件存储在 WAL 归档区,并以基础备份所需的第一个 WAL 段文件来命名。

备份历史记录文件是一个小文本文件,其包含开始和结束时间,以及备份的 WAL 段。如果您使用标签字符串来标识关联的转储文件,那么您可以使用备份历史记录文件来确定要恢复哪个转储文件。

注意

请考虑保留多个备份集,以确保您可以恢复数据。

要执行基础备份,请使用以下流程:

先决条件

  • 您必须以 postgres 超级用户身份、具有数据库管理员特权的用户身份或至少具有 REPLICATION 权限的其他用户身份来运行命令。
  • 您必须保留在基础备份期间和之后生成的所有 WAL 段文件。

流程

  1. 使用 pg_basebackup 工具执行基础备份。

    • 将基础备份创建为单个的文件(纯格式):

      $ pg_basebackup -D backup_directory -Fp

      backup_directory 替换为您所希望的备份位置。

      如果您在与服务器相同的主机上使用表空间并执行基础备份,那么也必须使用 --tablespace-mapping 选项,否则当试图将备份写入到同一位置时,备份将失败。

    • 将基础备份创建为一个 tar 归档(tar 和压缩格式):

      $ pg_basebackup -D backup_directory -Ft -z

      backup_directory 替换为您所希望的备份位置。

      要恢复此数据,您必须手动提取正确位置中的文件。

  2. 基础备份进程完成后,将备份历史记录文件中指定的数据库集群副本和备份过程中使用的 WAL 段文件进行安全归档。
  3. 删除比基础备份中使用的 WAL 段文件数值更低的WAL段,因为这些比基础备份旧,并且不再需要进行恢复。

要指定serverpg_basebackup将与哪个数据库联系,请使用以下命令行选项:

  • -h 选项用来定义主机的。

    默认主机要么是本地主机,要么是 PGHOST 环境变量所指定的主机。

  • -p 选项用来定义端口。

    默认端口是由 PGPORT 环境变量或编译后的默认值指明的。