为什么SQL转储文件的大小与原始db大小相比如此之小?

时间:2015-05-21 07:35:07

标签: database postgresql

我使用pg_dump备份数据库,结果sql文件小于2 MB。 我查看了原始数据库的大小,它超过30 MB,我认为出了问题,所以我执行sql将数据库恢复到别处,事实证明备份实际上没问题。

AFAIK,在生成备份SQL文件时,许多额外的文本(如'INSERT INTO ...')应使SQL文件大于原始数据。

我在这里想念什么?

2 个答案:

答案 0 :(得分:2)

这在很大程度上取决于您的数据库架构。当你做一些严肃的索引时,这些索引将占据最多的空间。他们没有备份。当然,您的主键列已经自动编入索引。

答案 1 :(得分:1)

postgres有几种备份格式。一种是纯文本格式(文本文件中的CREATECOPY语句)。其他格式使用具有可配置压缩的紧凑二进制数据表示。

检查数据库转储格式。对于二进制转储格式具有小的转储大小是正常的。

您可以在此处找到有关所有转储格式的详细信息:http://www.postgresql.org/docs/current/static/app-pgdump.html

相关问题