环境

系统平台:Linux x86-64 Red Hat Enterprise Linux 7,UOS(海光),UOS (飞腾),UOS(鲲鹏),银河麒麟svs(X86_64),银河麒麟(龙芯)svs,银河麒麟(飞腾)svs,银河麒麟 (X86_64),银河麒麟 (飞腾),银河麒麟 (鲲鹏),银河麒麟 (海光)
版本:9.0.5,9.0.4,9.0.3,6.0.4.1,6.0.4,9.0.1,9.0,6.0,4.5.11,4.5.10,4.5.8.9,4.5.8.5,4.5.8,4.5.7

文档用途

瀚高数据库基于 PostgreSQL 内核,pg_basebackup 是进行在线物理备份的核心工具,能够在不影响数据库正常运行的情况下创建完整的数据库基础备份。瀚高数据库部署时会根据现场要求部署自动备份,本文档主要说明修改备份存放路径和归档日志路径的操作步骤;

详细信息

一、查找备份脚本所在位置

不同环境下备份脚本的存放位置可能不同,首先需要确认当前环境使用的备份脚本路径。

  1. 通过 crontab 定时任务查找
    备份脚本通常通过 crontab 定时执行,查看 crontab 是定位脚本路径的最直接方式:
# 查看当前用户的定时任务
crontab -l | grep -i backup

输出示例:

30 00 * * * /opt/highgo/hgdb_backup.sh 

从中可获取脚本绝对路径(如 /opt/highgo/hgdb_backup.sh)。

若定时任务配置在 highgo 用户下:

su - highgo -c "crontab -l | grep -i backup"

二、脚本中可修改的路径参数

参数说明
backup_db_cluster基础备份文件存放路径
archdir归档日志文件存放路径
rebak_dir / rearch_dir冗余备份相关路径(启用冗余备份时)

三、重要提示

  • 归档路径(archdir):必须手动创建目录并授权,因为数据库 archive_command 不会自动创建。
  • 备份路径(backup_db_cluster):脚本会自动创建子目录,只需确保父目录存在且权限正确。

四、修改备份路径

  1. 修改脚本中的 backup_db_cluster

例:修改备份路径为 /data/backup/hgdbbak

编辑 /opt/highgo/hgdb_backup.sh:

vi /opt/highgo/hgdb_backup.sh

将:

backup_db_cluster=/data/highgo/hgdbbak

改为:

backup_db_cluster=/data/backup/hgdbbak
  1. 验证备份是否正常

手动执行备份脚本

注意:生产环境建议在业务空窗期进行备份测试,或手动修改完成后等待晚上定时任务自动触发,次日查看备份是否成功

sh /opt/highgo/hgdb_backup.sh
#执行完成后检查新路径下是否有新备份生成
ls -l /data/backup/hgdbbak

五、修改归档路径

例:修改归档路径为 /data/archive/wal_archive

  1. 手动创建新归档目录
mkdir -p /data/archive/wal_archive
chown -R highgo:highgo /data/archive/wal_archive  #如使用普通用户启动数据库需调整目录属主,使用root用户可忽略此步骤
  1. 修改数据库归档配置

登录数据库并修改 archive_command(以安全版 V4.5 为例):

psql -U sysdba -d highgo -p 5866      #登录数据库
ALTER SYSTEM SET archive_command = 'cp %p /data/archive/wal_archive/%f';  --修改归档路径,只需要修改命令中路径部分即可
SELECT pg_reload_conf();             --重载配置使修改生效
show archive_command;                --验证修改是否成功
  1. 修改脚本中的 archdir

编辑 /opt/highgo/hgdb_backup.sh:

vi /opt/highgo/hgdb_backup.sh

将 archdir 改为:

archdir=/data/archive/wal_archive
  1. 验证归档是否正常

触发 WAL 切换并检查归档目录:

psql  -U sysdba -d highgo  
SELECT pg_switch_wal();
checkpoint;
\! ls -la /data/archive/wal_archive/        #检查有无最新时间点的日志文件生成

相关文档

Logo

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。

更多推荐