3.8.3. 进行基础备份
您可以通过多种方法创建基础备份:执行基础备份的最简单方法是对运行的 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。
要恢复此数据,您必须手动提取正确位置中的文件。
要指定serverpg_basebackup将与哪个数据库联系,请使用以下命令行选项:
-h选项用来定义主机的。默认主机要么是本地主机,要么是
PGHOST环境变量所指定的主机。-p选项用来定义端口 。默认端口是由
PGPORT环境变量或编译后的默认值指明的。
- 基础备份进程完成后,将备份历史记录文件中指定的数据库集群副本和备份过程中使用的 WAL 段文件进行安全归档。
- 删除比基础备份中使用的 WAL 段文件数值更低的WAL段,因为这些比基础备份旧,并且不再需要进行恢复。