gs_basebackup是一个独立的二进制程序,有自己的主函数,代码在src/bin/pg_basebackup目录下。在备份时,gs_basebackup通过指定的IP地址连接openGauss数据库服务器,openGauss数据库服务器把需要备份的数据文件和redo日志文件发送给备份工具gs_basebackup,gs_basebackup收到后把文件存放到本地指定的目录,从而完成数据库的备份。
gs_basebackup主要有两种备份格式:plain普通格式和tar压缩包格式。普通格式就是以通常的数据文件进行备份,tar压缩包格式就是把备份文件打包进行备份。openGauss的tar包头是2048字节,文件名最长支持1024个字节长度,不是标准的tar,所以需要openGauss自己解包,实现解包的命令为GsTar。
gs_basebackup的主干处理流程比较简单,首先对支持的命令行参数进行解析,主要的命令行参数请参照表10-1。参数解析后进入备份主函数BaseBackup,BaseBackup参照后面详细介绍。在主函数之后是free_basebackup,释放前面分配的内存资源,整个备份流程就结束了。
表10-1 命令参数
| 参数 | 描述 |
| -D | 备份的目的路径 |
| -F | 备份的文件格式,plain普通格式和tar压缩包格式 |
| -X | 是否进行流复制模式,当前要求必须采用流复制模式,保证备份数据的正确性 |
| -Z | 压缩级别 |
| -c | 备份时是否做快速检查点 |
| -h | 进行备份的数据库服务器监听IP地址 |
| -p | 进行备份的数据库服务器监听端口号 |
| -U | 进行备份时连接数据库服务器的用户名 |
| -W | 进行备份时连接数据库服务器的密码 |
| -s | 备份时状态更新时间间隔 |
| -v | 是否显示备份详细信息 |
| - P | 是否显示备份进度信息 |
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




