Menu Close
4.5.3.4. 进行基础备份
您可以通过多种方法创建基础备份:本节描述了在运行的 PostgreSQL 服务器上使用 pg_basebackup 工具执行基础备份的最简单的方法。
基础备份进程会创建一个备份历史记录文件,该文件存储在 WAL 归档区,并以基础备份所需的第一个 WAL 段文件来命名。
备份历史记录文件是一个小文本文件,其包含开始和结束时间,以及备份的 WAL 段。如果您使用标签字符串来标识关联的转储文件,那么您可以使用备份历史记录文件来确定要恢复哪个转储文件。
请考虑保留多个备份集,以确保您可以恢复数据。
要执行基础备份,请使用以下流程:
先决条件
-
您必须以
postgres
超级用户身份、具有数据库管理员特权的用户身份或至少具有REPLICATION
权限的其他用户身份来运行命令。 - 您必须保留在基础备份期间和之后生成的所有 WAL 段文件。
流程
使用
pg_basebackup
工具执行基础备份。将基础备份创建为单个的文件(纯格式):
$ pg_basebackup -D backup_directory -Fp
将 backup_directory 替换为您所希望的备份位置。
如果您在与服务器相同的主机上使用表空间并执行基础备份,那么也必须使用
--tablespace-mapping
选项,否则当试图将备份写入到同一位置时,备份将失败。将基础备份创建为一个
tar
归档(tar
和压缩格式):$ pg_basebackup -D backup_directory -Ft -z
将 backup_directory 替换为您所希望的备份位置。
要恢复此数据,您必须手动提取正确位置中的文件。
- 基础备份进程完成后,将备份历史记录文件中指定的数据库集群副本和备份过程中使用的 WAL 段文件进行安全归档。
- 删除比基础备份中使用的 WAL 段文件数值更低的WAL段,因为这些比基础备份旧,并且不再需要进行恢复。
要指定serverpg_basebackup将与哪个数据库联系,请使用以下命令行选项:
-h
选项用来定义主机的。默认主机要么是本地主机,要么是
PGHOST
环境变量所指定的主机。-p
选项用来定义端口。默认端口是由
PGPORT
环境变量或编译后的默认值指明的。