postgresql 物理备份 tar 命令

pgsql 物理备份主要就是使用tar拷贝打包文件和归档日志。因为tar是单进程操作,所以适用不太大的数据库备份。如果数据库比较大,就需要用pigz工具。

pg_start_backup

select pg_start_backup('20170922');

tar

tar -Pzcvf /var/lib/pgsql/pg96_20170922.tar.gz /var/lib/pgsql/9.6/

pg_stop_backup

select pg_stop_backup();

如果没有开启归档日志()的话,会收到如下提示信息

NOTICE:  WAL archiving is not enabled; you must ensure that all required WAL segments are copied through other means to complete the backup

关于 tar 有很多选项可以选择,比如

备份成一个文件

tar -Pzcvf /mnt/tar_pg_var_pg_tbs.tar.gz /pg_var/ /pg_tbs/

tar -Pzxvf /mnt/tar_pg_var_pg_tbs.tar.gz 

备份成多个文件,用到管道操作及 split命令

tar -Pzcvf - /pg_var/ /pg_tbs/ |split --bytes=20000 - /mnt/tar_pg_var_pg_tbs.tar.gz.

cat /mnt/tar_pg_var_pg_tbs.tar.gz.a* | tar -zxv

备份成多个文件,并排除某些文件


tar --exclude=/var/lib/postgresql/9.1/main/postmaster.pid --exclude=/var/lib/postgresql/9.1/main/pg_xlog -Pzcvf - /pg_var/ /pg_tbs/ |split --bytes=20000 - /mnt/tar_pg_var_pg_tbs.tar.gz.


原文地址:https://www.cnblogs.com/ctypyb2002/p/9793127.html