pg_dump与pg_restore的逻辑逻辑备份还原

打印 上一主题 下一主题

主题 1877|帖子 1877|积分 5631

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
 
整理了一下pg_dump逻辑备份还原,pg啥时候推出一个库级别的物理备份还原就好,逻辑备份能行但操作大库效率太低,就像MySQL/MSSQL一样,跨实例做库级别还原的需求太多了
pg_dump备份
  1. pg_dump备份
  2.    
  3.     -F format 参数,备份文件的格式。format可以是下列之一:
  4.     p plain
  5.         输出一个纯文本形式的SQL脚本文件(默认值)。
  6.     c custom
  7.         输出一个适合于作为pg_restore输入的自定义格式归档。和目录输出格式一起,这是最灵活的输出格式,它允许在恢复时手动选择和排序已归档的项。这种格式在默认情况还会被压缩。
  8.     d directory
  9.         输出一个适合作为pg_restore输入的目录格式归档。这将创建一个目录,其中每个被转储的表和大对象都有一个文件
  10.     t tar
  11.         输出一个适合于输入到pg_restore中的tar-格式归档。tar 格式可以兼容目录格式,抽取一个 tar 格式的归档会产生一个合法的目录格式归档。不过,tar 格式不支持压缩。
  12.         还有,在使用 tar 格式时,表数据项的相对顺序不能在恢复过程中被更改。
  13.     --plain格式备份
  14.     pg_dump -v -h 127.0.0.14 -p 9100 -U postgres -Fp -f /usr/local/pgbackup/plain_formart_dump.sql  db02
  15.     导出的格式为txt格式的平面文件,可执行的sql文本
  16.     --custom格式备份
  17.     pg_dump -v -h 127.0.0.14 -p 9100 -U postgres -Fc -f /usr/local/pgbackup/custom_formart_dump.sql db02
  18.     导出custom格式备份,无法以文本格式打开,不可读
  19.     --directory格式备份,指定一个路径而不是文件名,另,该格式允许使用-j选项进行表级别并行备份
  20.     pg_dump -v -h 127.0.0.14 -p 9100 -U postgres -Fd -f /usr/local/pgbackup/db02dirbak db02
  21.     --tar格式备份,指定一个不存在的文件名
  22.     pg_dump -v -h 127.0.0.14 -p 9100 -U postgres -Ft -f /usr/local/pgbackup/db02tarbak.tar db02
复制代码
pg_restore还原
  1. pg_restore还原
  2.     pg_restore还原命令从pg_dump创建的备份文件中恢复PostgreSQL数据库:
  3.     1,pg_restore会自动判断格式,可以不用指定文件格式
  4.     2,指定备份文件的格式。因为pg_restore会自动判断格式, 所以如果一定要指定的话,
  5.         它可以是下面之一:
  6.         c custom 备份的格式是来自pg_dump的自定义格式。
  7.         d directory 备份是一个目录归档。
  8.         t tar 备份是一个tar归档。
  9.     3,-Fc:指定备份文件格式,pg_restore会自动判断格式,可以不用指定文件格式
  10.     4,-c:此选项为恢复指定“clean”模式。它告诉 pg_restore 在重新创建数据库对象(表、函数等)之前删除它们。这可以确保恢复的数据库处于干净状态,并与备份文件的结构相匹配。
  11.    
  12.     --plain格式备份无法通过pg_restore还原,只能通过psql命令导入
  13.     psql  -h 127.0.0.1 -p 9100 -U postgres  db03 < /usr/local/pgbackup/plain_formart_dump.sql
  14.     --custom格式备份还原
  15.     pg_restore -v -h 127.0.0.14 -p 9100 -U postgres -Fc -c -d db05  /usr/local/pgbackup/custom_formart_dump.sql
  16.     1,将custom_formart_dump.sql备份恢复到db05数据库中,db05必须已经存在
  17.     --directory格式备份还原
  18.     pg_restore -v -h 127.0.0.1 -p 9100 -U postgres -Fd -c -d db04  /usr/local/pgbackup/db02dirbak
  19.     --tar格式备份还原
  20.     pg_restore -v -h 127.0.0.1 -p 9100 -U postgres -Ft -c -d db04  /usr/local/pgbackup/db02tarbak.tar
复制代码
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

立山

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表