【问题标题】:Postgres incomplete schema tables dump using pg-dumpPostgres 使用 pg-dump 转储不完整的模式表
【发布时间】:2018-07-04 13:58:23
【问题描述】:

我有 20GB 数据的 postgres 9.6 数据库。我正在使用以下命令进行转储 -

 pg_dump -U postgres -d test > test.sql

现在模式表的大小为 12GB。

我采取了另一种方式转储:

pg_dump -U postgres -d iedb -Fc > iedb.dmp

转储文件中仍仅导出 2.3gb 数据。它在恢复后给了我以下输出 -

我尝试过使用单一模式,但它没有获取正确的数据。 有人可以帮我解决这个问题。我的数据存储在作为数据库一部分的对象模式中。我无法将相同数量的数据导出到其他服务器。他们是否有任何关于导出数据限制的配置参数?

【问题讨论】:

  • 欢迎来到 StackOverflow。我没有答案,但Database Administrators 的社区或许可以为您提供帮助。已经有人投票将您的问题移到那里,因此您无需交叉发布即可获得答案,它可能很快就会自动移动!
  • 这可能是您的表格臃肿而“干净”的插入只是将其缩小到实际大小

标签: postgresql postgresql-9.6 pg-dump


【解决方案1】:

转储小于原始数据库是正常的。一方面,索引在转储中不占用空间,它们成为单个 CREATE INDEX 行。

恢复转储也会导致数据库更小,因为行将被打包并且不会膨胀。表和索引有一定程度的膨胀是正常的。

我会说没什么好担心的。

【讨论】:

  • 感谢您的帮助。一些表膨胀并且未启用自动清理。
  • 启用自动吸尘。它永远不应该被禁用,除非可能是暂时的批量加载和类似操作。
猜你喜欢
  • 2017-07-15
  • 1970-01-01
  • 2013-01-08
  • 1970-01-01
  • 1970-01-01
  • 2017-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多