PostgreSQL 全量 增量 归档 备份工具 pg_rman安装(一)

1.前提准备

(1)配置csvlog
  在postgresql.conf(一定要配置在postgresql.conf中,配置 postgresql.auto.conf和alter system命令 没用)中添加:
log_destination = 'csvlog'
 
(2)开启归档
  在postgresql.conf中添加:
  wal_level需要修改replica或者以上,因为postgresql 10版本默认是replica所以不用修改。
archive_mode = 'on'
 
  设置archive_command命令
  需要提前创建归档目录,cp %p ${data_directory}/pg_arch/%f,这边示例目录: /data/pgdata/pg_arch
archive_command = 'cp %p /data/pgdata/pg_arch/%f'
 

2.下载安装

  pg_rman是用rpm包进行安装的,且需要提前安装postgresql10-libs这个依赖包,需要根据pg版本和环境来下载对应的rpm包。
pg_rman下载地址:
https://github.com/ossc-db/pg_rman/releases
postgresql10-libs下载地址:
https://yum.postgresql.org/10/
注意:安装rpm包不需要提前安装postgresql
测试的依赖版本:
  potgresql :10.5版本
  linux版本:CentOS 7.4
  依赖版本:postgresql10-libs-10.7-1PGDG.rhel7.x86_64.rpm
  pg_rman版本:pg_rman-1.3.8-1.pg10.rhel7.x86_64.rpm
[root@node3 xuli]# rpm -ivh postgresql10-libs-10.7-1PGDG.rhel7.x86_64.rpm
Preparing...                ########################################### [100%]
1:postgresql10-libs      ########################################### [100%]
[root@node3 xuli]# rpm -ivh pg_rman-1.3.8-1.pg10.rhel7.x86_64.rpm
Preparing...                ########################################### [100%]
1:pg_rman                ########################################### [100%]
 
 
pg_rman安装完成之后,会默认在/usr/pgsql-10/目录下(没有特殊需求就可以使用这个默认目录)
 

3.配置环境变量

  可以选择的配置/etc/profile,但是建议配置postgres用户的.bashrc或者.bash_profile文件
  su - postgres
  vi ~/.bashrc
  # 添加下列
    export PGUSER=postgres
    export PGPORT=5432
    export PGPASSWORD=postgres
    export PGHOSTADDR=192.168.14.36
    export PG_RMAN=/usr/pgsql-10
    export PATH=$PATH:$PG_RMAN/bin
    export PGDATA=/data/pgdata
    export BACKUP_PATH=/data/pgbackup
    export ARCLOG_PATH=/data/pgdata/pg_arch
    export SRVLOG_PATH=/data/pgdata/pg_log
 

4.创建归档目录和日志目录

  需要在$PGDATA路径下创建pg_arch和pg_log,如果目录已经创建,则跳过这个步骤。
cd /data/pgdata/
su - postgres
mkdir  pg_arch
mkdir  pg_log
chmod  700  pg_arch
chmod  700  pg_log
重启pg数据库
pg_ctl restart -D /data/pgdata/
    

5.初始化备份目录

  首先需要初始化一个backup catalog,实际上就是需要一个目录,这个目录将用于存放备份的文件。 同时这个目录也会存放一些元数据,例如备份的配置文件,数据库的systemid,时间线文件历史等等。 初始化命令需要两个参数,分别为备份目标目录,以及数据库的$PGDATA
[postgres@node3 pg_rman]$ pg_rman init
INFO: ARCLOG_PATH is set to '/data/pgdata/pg_arch'
 INFO: SRVLOG_PATH is set to '/data/pgdata/log'
[postgres@node3 pg_rman]$ ll
total 16
drwx------ 4 postgres postgres 4096 Feb  1 11:52 backup
-rw-rw-r-- 1 postgres postgres   67 Feb  1 11:52 pg_rman.ini
-rw-rw-r-- 1 postgres postgres   40 Feb  1 11:52 system_identifier
drwx------ 2 postgres postgres 4096 Feb  1 11:52 timeline_history
    
    
  生成的配置文件
[postgres@node3 pg_rman]$ cat pg_rman.ini
ARCLOG_PATH='/data/pgdata/pg_arch'
SRVLOG_PATH='/data/pgdata/log'
 
  生成的数据库system id,用于区分备份的数据库是不是一个数据库,防止被冲。
[postgres@node3 pg_rman]$ cat system_identifier
SYSTEM_IDENTIFIER='6652494251747099991'
 
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值