PG中pg

69次阅读
没有评论

共计 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 小编将为大家推送更多相关知识点的文章,欢迎关注!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-20发表,共计2274字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)