PG_备份还原系列之物理备份

pg_basebackup

 

注意事项:

  • 备份整个实例,无法备份单个数据库或者schema;
  • pg_basebackup被用于获得一个正在运行的PostgreSQL数据库集簇的基础备份,不会影响连接到该数据库的其他客户端,并且可以被用于时间点恢复。
  • 必须由一个超级用户或者一个具有REPLICATION权限的用户建立,并且pg_hba.conf必须显式地允许该复制连接。
  • 可以改变数据、配置等文件的路径

 

参数解释:

 

-D directory

将输出写到哪个目录

-F format

   p 原样输出,即把主数据库中的各个数据文件,配置文件、目录结构都完全一样的写到备份目录;

   t 将输出写成目标目录中的 tar 文件

-r rate

   从该服务器传输数据的最大传输率。值的单位是千字节每秒。加上一个后缀M表示兆字节每秒,限制在运行服务器上的pg_basebackup产生的影响

-R

--write-recovery-conf

在输出目录中(或者当使用 tar 格式时再基础归档文件中)建立 standby.signal 并附加连接设置到postgresql.auto.conf 来简化设置一个后备服务器。postgresql.auto.conf文件将记录连接设置(如果有)以及pg_basebackup所使用的复制槽,这样流复制后面就会使用相同的设置。

-T olddir=newdir

--tablespace-mapping=olddir=newdir

   将指定目录下的表空间目录重构路径

--waldir=waldir

指定用于预写式日志目录的位置。waldir必须是绝对路径。只有当备份是平面文件模式时才能指定事务日志目录。

-X method

   n 不要在备份中包括预写式日志

   f 在备份末尾收集预写式日志文件。因此,有必要把wal_keep_segments参数设置得足够高,这样在备份末尾之前日志不会被移除。如果在要传输日志时它已经被轮转,备份将失败并且是不可用的。

   s 在备份被创建时流传送预写式日志

-z 

   启用压缩

-Z level

   0 到 9,0 是不压缩,9 是最佳压缩

-P

   启用进度报告

-h host

   指定运行服务器的机器的主机名。

-U username

   用户名

-c fast|spread

--checkpoint=fast|spread

将检查点模式设置为 fast(立刻)或 spread(默认)

 

例子:

--启用压缩等级为9 更改/data/pgsql/12下表空间路径为/testdata2/data/pgsql/12,同时采用流式备份wal日志。

nohup pg_basebackup -D /data/backup_pg -Ft -z -Z 9 -T /data/pgsql/12=/testdata2/data/pgsql/12 -Xs -P -Upostgres -p 5431 -h 127.0.0.1 &

--搭建主从时,备份主库

export PGPASSWORD=repl && $PGHOME/bin/pg_basebackup -R -D /pgsql/12/data -Fp -Xs -P -h 192.168.88.130 -p 5432 -Urepl --checkpoint=fast

 

还原:

pg12将recovery.conf合进了postgresql.conf中

1.将对应数据文件放到对应目录下

2.在postgresql.conf中添加如下配置

3.启动数据库实例pg_ctl start -D /pgdata/10/data1/

a.恢复到最新:

restore_command = 'cp /pgdata/10/archive_wal/%f %p'

recovery_target_timeline = 'latest'

 

b.恢复到指定的时间点:

restore_command = 'cp /pgdata/10/archive_wal/%f %p'

recovery_target_time = '2019-04-02 13:16:49.007657+08'

 

c.创建还原点:

SELECT pg_create_restore_point('restore_point1');

 

d.恢复到还原点:

restore_command = 'cp /pgdata/10/archive_wal/%f %p'

recovery_target_name ='restore_point1'

 

参考资料:

http://postgres.cn/docs/11/app-pgbasebackup.html

posted @ 2020-09-30 13:32  DUAN的博客  阅读(720)  评论(0)    收藏  举报