archive_command、restore_command 的常见设置
archive_command 是 postgresql.conf 里的参数。
restore_command 是 recovery.conf 里的参数。
非压缩
archive_command = 'cp %p /data/backup/pgwalarchive/%f && echo %f >> /data/backup/pgwalarchive/archive.list'
restore_command = 'cp /data/backup/pgwalarchive/%f %p'
压缩 gzip
archive_command = 'gzip < %p > /data/backup/pgwalarchive/%f.gz'
restore_command = 'gunzip < /data/backup/pgwalarchive/%f.gz > %p'
压缩 bzip2
主要用户二进制和大文件。经测试,压缩率比 gzip 要好很多
archive_command = 'bzip2 < %p > /data/backup/pgwalarchive/%f.bz2'
restore_command = 'bunzip2 < /data/backup/pgwalarchive/%f.bz2 > %p'
压缩 lz4
archive_command = 'lz4 -f -q -z %p /data/backup/pgwalarchive/%f.lz4'
restore_command = 'lz4 -f -q -d /data/backup/pgwalarchive/%f.lz4 %p'