使用 pg-dump 转储 Postgres 不完整的模式表

Postgres incomplete schema tables dump using pg-dump

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

 pg_dump -U postgres -d test > test.sql

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

我用另一种方式转储:

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

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

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

转储比原始数据库小是正常的。其一,索引在转储中不占用 space,它们成为单个 CREATE INDEX 行。

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

我会说没有什么好担心的。