搭建PG数据库一些归档的配置
Posted 李石岩
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搭建PG数据库一些归档的配置相关的知识,希望对你有一定的参考价值。
说明
搭建PG数据库的时候,归档一般一份放在pg_wal目录,另外一份作为备份放在备份空间。
因为容灾的时候,灾备传输一般时应用pg_wal的目录,pg_wal目录受到设置的影响,有可能导致归档无法及时的应用,导致断掉。
这时候在备份的归档(我一般保留10天)就起到了作用。
搭建PG集群时,配置归档备份目录
首先我们脚本都放在/zdata/dbbak/scripts目录
cd /zdata/dbbak/scripts
vim archive.sh
#!/bin/bash
source /var/lib/pgsql/.bash_profile
DATE=`date +%Y%m%d`
DIR="/zdata/dbbak/archivedir/$DATE"
BACK="/zdata/dbbak/archivedir/"`date -d \'-10 day\' +%Y%m%d`
if [ -d "$BACK" ]; then
rm -rf $BACK
echo "success rm $BACK" >/zdata/dbbak/logs/pg_archive_logs
else
echo "the old backup file not exists!" >/zdata/dbbak/logs/pg_archive_logs
fi
(test -d $DIR || mkdir -p $DIR) && cp $1 $DIR/$2
archive_command = \'bin/bash /zdata/dbbak/scripts/archive.sh %p %f\'
然后配置postgresql.conf
archive_mode = on # enables archiving; off, on, or always
archive_command = \'/bin/bash /zdata/dbbak/scripts/archive.sh %p %f\'
对数据库重启
sudo systemctl restart postgresql-11.service
归档目录每天会生成一个天数目录。
-bash-4.2$ ll
total 0
drwxr-xr-x 6 postgres postgres 72 Sep 13 17:53 dbbak
drwxrwxr-x 4 postgres postgres 34 Aug 5 15:57 pg
-bash-4.2$ cd dbbak/
-bash-4.2$ ll
total 0
drwxr-xr-x 3 postgres postgres 22 Sep 13 18:14 archivedir
drwxr-xr-x 2 postgres postgres 6 Aug 5 15:51 archivelog
drwxr-xr-x 2 postgres postgres 6 Aug 5 15:51 backups
drwxr-xr-x 2 postgres postgres 24 Sep 13 18:14 scripts
-bash-4.2$ cd archivedir/
-bash-4.2$ ll
total 4
drwxr-xr-x 2 postgres postgres 4096 Sep 13 18:33 20210913
-bash-4.2$ pwd
/zdata/dbbak/archivedir
-bash-4.2$
以上是关于搭建PG数据库一些归档的配置的主要内容,如果未能解决你的问题,请参考以下文章
Oracle数据库从RMAN备份集片段还原指定单个归档日志进行日志挖掘分析