PG中pg_basebackup多表空间备份恢复方法是什么
这篇文章主要讲解了“PG中pg_basebackup多表空间备份恢复方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PG中pg_basebackup多表空间备份恢复方法是什么”吧!
![PG中pg_basebackup多表空间备份恢复方法是什么 PG中pg_basebackup多表空间备份恢复方法是什么](https://cn.pingcap.com/article/zb_users/cache/ly_autoimg/m/MTY2NzI.jpg)
--增量备份,pg_basebackup
--开归档
psql mydb postgres
alter system set wal_level=
replica;
alter system set archive_mode=
on;
--修改archive_command参数,"%p"包含完整路径信息的文件名,“%f"表示不包含
alter system set archive_command=
cp %p /pgbackup/archive_wals/%f;
select pg_reload_conf();
--查看,注意后边空格
show archive_command ;
--基础备份,备份用户必须有superuser 权限pg_basebackup -Ft -Pv -Xf -z -p 1921 -D /pgbackup/backups
--查看当前时间
select current_timestamp;
--切换日志
select pg_switch_wal();
--恢复测试
--停库
pg_ctl -D $PGDATA -mi
stop
--移动原库目录
mv /pgdata/
10/
data /pgdata/
10/data_bak2019
--创建新的目录
mkdir -p /pgdata/
10/
data
chmod
0770 /pgdata/
10/
data
tar -zxvf /pgbackup/backups/base.tar.gz -C /pgdata/
10/
data/
--注意,如果有多个表空间,解压基础包后,可参考tablespace_map 文件,解压其他表空间到指定目录,例如
[postgres@pgnode1 backups]$ cat tablespace_map
16385 /pgdata/
10/
data/pg_tbs/tbs_mydb
[postgres@pgnode1 backups]$
--查看备份信息
[postgres@pgnode1
data]$ cat backup_label
STARTWAL LOCATION:
0/
19000028 (
file 000000010000000000000019)
CHECKPOINT LOCATION:
0/
19000060
BACKUPMETHOD: streamed
BACKUP FROM:
master
START TIME:
2019-01-15 16:
01:
40 CST
LABEL: pg_basebackup base
backup
--解压其他表空间tar -zxvf /pgbackup/backups/
16385.tar.gz -C /pgdata/
10/
data/pg_tbs/tbs_mydb
--配置recovery.conf文件cp /opt/pgsql/
share/postgresql/recovery.conf.sample /pgdata/
10/
data/recovery.conf
echo
"restore_command=cp /pgbackup/archive_wals/%f %p" >> /pgdata/
10/
data/recovery.conf
[postgres@pgnode1
data]$ cat /pgdata/
10/
data/recovery.conf | grep -v
#
restore_command=
cp /pgbackup/archive_wals/%f %p
#默认显示recovery_target_timeline=
latest;
--启动数据库
pg_ctl
start -D $PGDATA
--当前数据库服务器ip和port
selectinet_server_addr(),inet_server_port();
--or
select now();
--基于时间点
select current_timestamp;
restore_target_time=2019-01-15 16:17:18.590319+08
--基于还原点
select pg_create_restore_point(
restore_point);
restore_target_name=restore_point;
--基于事务
select txid_current();
restore_target_txid=
--基于时间线(时间线,恢复一次增加一个自然数)[postgres@pgnode1 ~]$ pg_controldata $PGDATA |grep TimeLineID
Latest checkpoints TimeLineID: 2
Latest checkpoints PrevTimeLineID: 2
recover_target_timeline=2
recover_target_time=2019-01-15 21:02:00
感谢各位的阅读,以上就是“PG中pg_basebackup多表空间备份恢复方法是什么”的内容了,经过本文的学习后,相信大家对PG中pg_basebackup多表空间备份恢复方法是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。