pg_basebackup:是从pgsql提供的一个方便基础备份的工具。经常用来搭建流复制环境
属于物理备份。pgsql的逻辑备份是pg_dump工具。
参数说明(pg_basebackup --help 详细查看):
-h 指定连接的数据库的主机名或IP地址,这里就是主库的ip。
-U 指定连接的用户名,专门负责流复制的repl用户。
-F 指定了输出的格式,支持p(原样输出)或者t(tar格式输出)。
-x 表示备份开始后,启动另一个流复制连接从主库接收WAL日志。
-P 表示允许在备份过程中实时的打印备份的进度。
-R 表示会在备份结束后自动生成文件,这样也就避免了手动创建。(12.0有差异)
-D 指定把备份写到哪个目录,这里尤其要注意一点就是做基础备份之前从库的数据目录(比如:/usr/local/postgresql/data)目录需要手动清空。
-l 表示指定一个备份的标识
如:pg_basebackup -h 192.168.23.193 -p 3012 -U testacc -F p -P -X s -R -D /data -r 50M -l label_1576225683"
注意:
12 版本pg_basebackup
命令的 -R 参数的效果和之前不同,主要体现在:
- 命令执行后在 $PGDATA 目录创建 标识文件,文件内容为空
- 命令执行后在 $PGDATA 目录的 文件中添加 primary_conninfo 参数信息