暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

PG的备份与恢复

原创 风声 2021-12-23
1233

1 逻辑备份

pg_dump

导出指定对象、库、表等

 

pg_dump postgres > /tmp/postgres.sql

 

pg_dump -t public.score2 postgres > /tmp/score2.sql

 

 

pg_dumpall

导出全实例信息、用户、表空间等

 

Pg_dumpall > /tmp/pgall.sql

 

copy

服务端导出:

Copy t1 to '/tmp/text.sql'

 

客户端导出:

\copy t1 to '/tmp/text.sql'

 

 

逻辑备份一致性:

备份时创建库级别一致的snapshot

 

事务隔离级别为RR

 

 

逻辑恢复

pg_restore

 

 

psql

psql < /tmp/score2.sql

copy from

copy score2 from '/tmp/score2.sql';

 

全量备份和恢复

全量备份所涉及的文件

Datafile

Wal日志

手动:

pg_start_backup

copy file

pg_stop_backup

 

自动:

pg_hba.conf 中配置好规则

pg_basebackup

 

pg_rman 块级别备份

 

https://github.com/ossc-db/pg_rman

 

开源PG备份管理软件

使用的是pg_start_backup(),copy,pg_stop_backup()的备份模式

 

使用的不是流复制协议,而是文件拷贝

 

Http://ossc-db.github.io/pg_rman/index.html

 

全量加归档的时间点恢复

 

show archive_mode;

show archive_command;

 

创建相关目录并更改属主

 

pg_basebackup -D /postgresql/pg12/bak/ -Ft -Xstream -P –Upostgres

 

--Ft 指定压缩格式   -Xstream 指定事务日志 –P 实时打印进度

 

基于时间点的恢复

 

vim postgresql.conf

restore_command = 'cp /postgresql/arch/%f %p'

recovery_target_time = '2020-05-14 17:02:40.763446+08'

 

 

touch recovery.signal

 

./startup 恢复

 

select pg_wal_replay_resume(); 解除只读模式

 

容灾策略

构建异地standby

Standby 定期快照

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论