共计 2274 个字符,预计需要花费 6 分钟才能阅读完成。
这篇文章主要讲解了“PG 中 pg_basebackup 多表空间备份恢复方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着丸趣 TV 小编的思路慢慢深入,一起来研究和学习“PG 中 pg_basebackup 多表空间备份恢复方法是什么”吧!
-- 增量备份,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
START WAL LOCATION: 0/19000028 (file 000000010000000000000019)
CHECKPOINT LOCATION: 0/19000060
BACKUP METHOD: 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
select inet_server_addr(),inet_server_port();
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 checkpoint s TimeLineID: 2
Latest checkpoint s PrevTimeLineID: 2
recover_target_timeline=2
recover_target_time= 2019-01-15 21:02:00
感谢各位的阅读,以上就是“PG 中 pg_basebackup 多表空间备份恢复方法是什么”的内容了,经过本文的学习后,相信大家对 PG 中 pg_basebackup 多表空间备份恢复方法是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是丸趣 TV,丸趣 TV 小编将为大家推送更多相关知识点的文章,欢迎关注!
正文完