
现在,谎言很可能是我在任何方面都有资格谈论这个话题,但是,我可以做得更好一些。让我们从简单但重要的信息开始,即备份:
1、pg_dump可以直接转到SQL集合,也可以转到压缩的数字格式
2、pg_dumpall备份可用于在现有数据库上恢复数据。
3、你可以使用 pg_dump 来备份单独的模式
现在,为了与游戏保持一致,这些陈述中有一个是谎言。是的,所有核心PostgreSQL人员都已经发现了它。然而,我们这些刚刚学习的人,这些东西可能并不明显。让我们来看一下。
pg_dump格式
进入 pg_dump 的命令是非常简单:
pg_dump databasename > backupfile;
-Fp – 普通,或默认值
-Fd – 目录,每个表都有自己的目录以及其中的数据
- Ft – Tar,压缩文件
- Fc – Custome,一个二进制的压缩文件,也就是我正在寻找的东西。
因此,我们将输出修改为:
pg_dump -Fc databasename > backupfile;
pg_dumpall恢复
正如我在上面撰写并链接的文章中所述,您可以使用 pg_dumpall 通过一个命令备份给定PostgreSQL服务器上的所有数据库。这比多次发出 pg_dump 要容易得多。基本语法极其简单:
pg_dumpall > location;
pg_restoreall < location;
pg_dump转储单个模式
pg_dump 在某些功能上做得很好。有很多选项可用于修改要备份的内容。我最喜欢的功能之一是能够简单地提取一个模式,将其与其他模式分开。语法还不错:
pg_dump -n 'dev.*' -Fc databasename > backupfile;
哪一个是谎言?
这是 pg_restoreall 。对于那些关注 pg_restoreall 链接的人,我希望你们喜欢这个知识点。pg_dumpall 是 pg_dump 的包装器。然而,它并没有实现 pg_dump 的所有方面。因此,如果数据库中有数据,则不能在其中运行恢复,除非您使用“ CLEAN ”或“ -c ”创建备份以确保在恢复过程之前发生删除(但它会在恢复过程之前删除所有内容,因此请进行相应的计划)。你可以在这里阅读更多关于 pg_dumpall 的内容(这次是诚实的链接)。
我希望你喜欢我在 #PGSQLPhriday#001 中为两个真相和一个关于 PostgreSQL 的谎言所做的微薄贡献。
点击下方链接,了解更多关于这个有趣的社区博客的信息。
https://www.scarydba.com/


点击此处阅读原文
↓↓↓
文章转载自开源软件联盟PostgreSQL分会,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




