1. pg_basebackup备份
pg_basebackup用于对正在运行的PostgreSQL数据库集群进行基本备份。备份是在不影响数据库的其他客户端的情况下进行的,并且可以用于时间点恢复和作为日志传送或流复制备用服务器的起点 。
pg_basebackup 不仅可以从主服务器也可以从备用服务器进行基本备份。要从备用数据库进行备份,请设置备用数据库以便它可以接受复制连接。1.1 优点
a. 可以远程备份, 通过日志可以恢复到最新
b. 可以通过备库备份
c. 备份操作相关简单
1.2 不足
a. 它只把整个数据库实例的数据都拷贝出来,而不只是把实例中的部分(如某个数据库或表)单独备份
b. 归档日志需要单独备份
c. 使用复制协议 REPLICATION权限或者是超级用户的用户 ID 建立连接,并且pg_hba.conf必须允许复制连接。
d.服务器还必须配置max_wal_senders设置得足够高,以提供至少一个用于备份的 walsender 和一个用于 WAL 流式传输(如果使用)。
e.如果在备份期间将备用数据库提升为主数据库,则备份将失败。
2.pg_basebackup备份压缩脚本
#!/bin/bash
ARCHIVEDIR='归档地址'
BACKUP_PATH='备份地址'
IP_ADDR='备库地址'
echo "清除前一天归档日志"
echo 'del starting'
find $ARCHIVEDIR -type f -mtime +1 - name '000*'|xargs -i rm -rf {} >> $BACKUP_PATH/dellog.log
echo 'del stoping'
echo "创建当天备份文件夹"
mkdir -p $BACKUP_PATH/`date +%F`
export PGPASSWORD=123456
echo `date` > buckuptime.log
pg_basebackup -F t -X fetch -v -P -h 127.0.0.1 -p 5432 -U replica -D $BACKUP_PATH/`date +%F` | pigz -p 8 > `date +%F`.tar.gz
echo `date` > buckuptime.log
rm -rf $BACKUP_PATH/`date +%F`
最后修改时间:2023-11-02 17:45:34
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




