SQL转储。

这里我们用到的工具是pg_dump和pg_dumpall。

这种方式可以在数据库正在使用的时候进行完整一致的备份,并不阻塞其它用户对数据库的访问。它会产生一个脚本文件,里面包含备份开始时,已创建的各种数据库对象的SQL语句和每个表中的数据。可以使用数据库提供的工具pg_dumpall和pg_dump来进行备份。pg_dump只备份数据库集群中的某个数据库的数据,它不会导出角色和表空间相关的信息,因为这些信息是整个数据库集群共用的,不属于某个单独的数据库。pg_dumpall,对集簇中的每个数据库调用pg_dump来完成该工作,还会还转储对所有数据库公用的全局对象(pg_dump不保存这些对象)。 目前这包括适数据库用户和组、表空间以及适合所有数据库的访问权限等属性。

例如,在我的计算机上,可使用如下命令对名为dbname的数据库进行备份:

pg_dump  –h 127.0.0.1  -p  5432  -U  postgres -c  –f  dbname.sql  dbname

使用如下命令可对全部pg数据库进行备份。

pg_dumpall –h 127.0.0.1 –p 5432 -U postgres –c –f db_bak.sql

恢复方式很简单。执行恢复命令即可:

psql –h 127.0.0.1 -p 5432 -U postgres –f db_bak.sql

压缩备份的差别很大。不压缩备份出来后有1.1Gb,压缩后大约100Mb

 
       备份成压缩文件:-Fc
       pg_dump -h localhost -p 6543 -Usa -d db_sqlfx -Fc -f /opt/thun/20180319.bak
 
      自定义回复文件:pg_restore
     pg_restore -h localhost -p 6543 -Usa -d db_sqlfx -f /opt/thun/20180319.bak1
 
     多线程还原: -j
     PostgreSQL支持以下两种数据恢复方法:
    1、使用psql恢复pg_dump或pg_dumpall工具生成的SQL文本格式的数据备份。
    2、使用pg_restore工具来恢复由pg_dump工具生成的自定义压缩格式、TAR包格式或者目录格式备份。

参考:https://blog.csdn.net/international24/article/details/82689136

PgSQL备份的更多相关文章

  1. PgSql备份pg_dump与还原手记pg_restore(转)可以直接跳转至最后面的示例进行查看

    PgSql备份pg_dump与还原手记pg_restore(转) 可以直接跳转至最后面的示例进行查看 真没有想到,以前一直是PostgreSQL使用者,突然需要库移植又成了头一招了!原来它与mysql ...

  2. PgSql备份pg_dump与还原手记pg_restore

    真没有想到,以前一直是PostgreSQL使用者,突然需要库移植又成了头一招了!原来它与mysql命令行操作区别还挺大.不用怕,但绝对要细心,因为数据库操作是网站的核心,一旦出现损坏或丢失,后果就非常 ...

  3. PgSql备份pg_dump与还原手记pg_restore(转)

    可以直接跳转至最后面的示例进行查看 真没有想到,以前一直是PostgreSQL使用者,突然需要库移植又成了头一招了!原来它与mysql命令行操作区别还挺大. 不用怕,但绝对要细心,因为数据库操作是网站 ...

  4. 总结:PgSql备份pg_dump与还原pg_restore

    备份还原方法:pg_dump和pg_restore,先仔细说明这两个命令,再记录我的操作方法. 远程复制scp: #which scp  /usr/bin/scp #rpm -qf /usr/bin/ ...

  5. 【干货总结】:可能是史上最全的MySQL和PGSQL对比材料

    [干货总结]:可能是史上最全的MySQL和PGSQL的对比材料 运维了MySQL和PGSQL已经有一段时间了,最近接到一个数据库选型需求,于是便开始收集资料整理了一下,然后就有了下面的对比表 关键词: ...

  6. pgsql常用操作

    pgsql备份: --进入pgsql容器docker exec -it 容器ID bash --备份pgsql /opt/rh/rh-postgresql95/root/usr/bin/pg_dump ...

  7. pgsql数据库备份还原记

    今天又搞了一个pgsql 的备份还原,差一点没有成功,以前总是想当然的用,没认真想背后的东西,也没对过程中的疑问做记录,所以后面也没什么印象,常见常新,这次既然又遇到就总结一下. 之前操作pgsql数 ...

  8. PGSQL 数据库备份练习

    截图先 慢慢说 1. 简单使用方法 先用 之前的setx 命令设置环境变量. set path=%PATH% ---其实第一步没必要..... 跟人学的 setx PATH "%path%& ...

  9. 准备在新项目中使用pgsql【资源收集】

    pgsql大象数据库 是我最近在关注的一款开源数据库,可以自由修改,没那么多限制,准备在新项目中使用 postgresql中国下载站 http://www.postgres.cn/download#s ...

随机推荐

  1. APICloud发布低代码开发平台

    云原生的出现,致使传统IT模式正在集中向云架构.云开发转型,其中在企业业务的互联网化.数字化进程中尤为突出,并衍生出“敏捷开发”.“快速迭代”的刚性需求.面对双模IT,如何打造全新的IT团队与模式?并 ...

  2. Java框架之Spring02-AOP-动态代理-AspectJ-JdbcTemplate-事务

    AOP 动态代理 代理设计模式的原理:使用一个代理将原本对象包装起来,然后用该代理对象”取代”原始对象.任何对原始对象的调用都要通过代理.代理对象决定是否以及何时将方法调用转到原始对象上. 代理模式的 ...

  3. CountDownLatch,CyclicBarrier,Semaphore用法

    1.让一些线程阻塞直到另一些线程完成一系列操作后才被唤醒. 2.CountDownLatch主要有两个方法,当一个或多个线程调用await方法时,调用线程会被阻塞.其它线程调用countDown方法会 ...

  4. 20190918Java课堂记录

    1. EnumTest.java public class EnumTest { public static void main(String[] args) { Size s=Size.SMALL; ...

  5. Java入门 - 高级教程 - 02.集合

    原文地址:http://www.work100.net/training/java-collection.html 更多教程:光束云 - 免费课程 集合 序号 文内章节 视频 1 概述 2 集合接口 ...

  6. 【实战】使用 Kettle 工具将 mysql 数据增量导入到 MongoDB 中

    最近有一个将 mysql 数据导入到 MongoDB 中的需求,打算使用 Kettle 工具实现.本文章记录了数据导入从0到1的过程,最终实现了每秒钟快速导入约 1200 条数据.一起来看吧~ 一.K ...

  7. c#数字图像处理(一)Bitmap类、 Bitmapdata类和 Graphics类

    Bitmap类. Bitmapdata类和 Graphics类是C#图像处理中最重要的3个类,如果要用C#进行图像处理,就一定要掌握它们. 1.1 Bitmap类Bitmap对象封装了GDI+中的一个 ...

  8. [校内训练19_09_05]ca

    题意 对于任意1 ≤k≤N,求有多少个左右区分的恰有k个叶子节点的二叉树,满足对于每个节点要么没有叶子节点要么有两个节点,同时不存在一个叶子节点,使得根到它的路径上有不少于M条向左的边. 答案对998 ...

  9. css的字体单位

    在css中的字体单位主要以px.em.rem为主.其中px也就是像素,是一种字体长度,它的长度是相对于显示器的品目分辨率而言的.一般情况下在浏览器中默认字体的大小是16px.其中em是相对字体.em的 ...

  10. Linux服务器上python2升为python3.6

    如何在在Linux服务器上吧Python2升级为Python3 最近白嫖了一年的服务器,打算在服务器上跑一个Python项目,没想到居然预装的是Python2.7.5.本来是打算把Python2.7. ...