我们有一个系统可以将一些数据归档到 PostgreSQL 数据库。我们发现由于数据库归档,PC 存储空间已满。问题是我检查了驻留在其中的数据文件/var/lib/pgsql/data/base/
,它们总共大约 70 GB,而当我使用pg_dump
输出文件转储所有数据库时,它们没有超过 24 GB。我在这里遗漏了什么或误解了什么?这么大的尺寸差异去哪儿了?
编辑:我确实pg_dump
包含模式和数据,并带有-c
允许删除和创建的选项。
编辑 2:我调查了 DB 模式文件,发现包含 24 GB(约 3.324 亿行)数据中的近 23.9 GB 的表上有一个索引。另一个表上有另一个索引,但该表为空。
编辑 3:程序定期存储大约 1500 个变量的值,我的意思是所有变量的记录时间为 0.1 秒到 1 分钟或更长时间,所以我认为这里有一个巨大的数据库访问。
编辑 4:我在这里执行第二个查询以查找模式中每个关系的大小,我发现以下内容:
我的目的是我想经常(每隔几个月)进行一次备份和恢复。在进行备份和恢复时,我应该关心这些数据库索引还是只关注我的数据表?
我在 LAN 上的服务器上安装了 SQL Server 2014,在我的 PC 上我已经安装了 SQL Server Management Studio 2014 几个月了。当我打开 SSMS 时,我突然发现
The type initializer for 'system.windows.media.fonts' threw an exception
我不知道是什么导致了这个异常。我尝试重新安装 SSMS 2014,删除我 PC 上的所有 SQL 组件并再次重新安装 SSMS,我什至删除了 .NET 4.7(因为我也有 VS 2017)。此异常的原因是什么以及如何解决?