Database 为什么SQL转储文件的大小比原始数据库大小小?

Database 为什么SQL转储文件的大小比原始数据库大小小?,database,postgresql,Database,Postgresql,我使用pg_dump来备份数据库,结果sql文件小于2MB。 我查看了原始数据库的大小,它超过了30MB,我认为出了问题,所以我执行sql在别处恢复数据库,结果发现备份实际上是正常的 另外,在生成备份SQL文件时,大量额外的文本(如'INSERT INTO…)会使SQL文件比原始数据大 我错过了什么 这在很大程度上取决于您的数据库模式。当您进行一些严肃的索引时,这些索引将占用最多的空间。它们没有备份。当然,您的主键列已经被自动索引。这在很大程度上取决于您的数据库架构。当您进行一些严肃的索引时,这

我使用pg_dump来备份数据库,结果sql文件小于2MB。 我查看了原始数据库的大小,它超过了30MB,我认为出了问题,所以我执行sql在别处恢复数据库,结果发现备份实际上是正常的

另外,在生成备份SQL文件时,大量额外的文本(如
'INSERT INTO…)
会使SQL文件比原始数据大


我错过了什么

这在很大程度上取决于您的数据库模式。当您进行一些严肃的索引时,这些索引将占用最多的空间。它们没有备份。当然,您的主键列已经被自动索引。

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

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

检查数据库转储格式。二进制转储格式的转储大小很小是正常的


您可以在此处找到有关所有转储格式的详细信息:

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

检查数据库转储格式。二进制转储格式的转储大小很小是正常的


您可以在此处找到有关所有转储格式的详细信息:

转储中不包含索引,我会想象索引、元数据、可能的更新会导致旧版本一直保留到清空为止……转储中不包含索引,我会想象索引、元数据、可能的更新会导致旧版本一直保留到清空为止。。。