说明,数据库归档有集中方式,之前的文档曾经采用文件夹方式的。
https://blog.51cto.com/lishiyan/3867038
我们现在采用的是
archive_command=‘cp %p /data/pgdata/11/archive_wals/%f’
这种方式。
采用这种方式有个缺点,就是不能够自动的进行清理该归档目录的归档。
我们编写脚本
1 18 * * 1 /bin/bash /home/postgres/scripts/pg_archivecleanup.sh >/dev/null
#!/bin/bash
source /home/postgres/.bash_profile
cd /data/pgdata/11/archive_wals
#注意,有.backup结尾的,清理后不会有任何问题。我们清理倒数第二个.backup之前的内容
backfile=`ls -rlt *.backup|tail -2|head -1|awk '{print $NF}'`
if [[ -e $backfile ]]
then
echo "/usr/pgsql/bin/pg_archivecleanup /data/pgdata/11/archive_wals $backfile"|sh
fi