【pg】物理空间大小与pg_dump导出的文件大小比较

select (pg_database_size(‘%s’))
pg_database_size:
将检查数据库文件使用的实际空间。除pg_global之外的所有表空间中的数据库大小。这包括目录(包括注释和统计信息)、空闲空间映射、可见性映射、视图、函数等,但最重要的是,这包括pg_toast表,这是表文件外部存储大型列的位置。
一个频繁做插入删除的表,由于高水位的存在,在做物理备份之后,备份结果集占用的空间会占用很大的空间。
物理备份pg_basebackup不会只是备份有效空间,高水位也会一起备份
逻辑备份pg_dump只是备份有效空间
pg_dump导出的.dmp文件的大小问题:
pg_dump -U postgres -h 10.10.13.65 -p 5432 -d testsize3 --if-exists -c -F c -b -v -f /home/postgres/temp/a4.dmp
经过试验,dmp文件大小为数据库的结构和经过重删处理的数据的实际字节大小。而sql和tar文件文件则是转为了文本文件后的大小,所以与dmp文件大小相比将十分夸张,而这还未经过压缩
在这里插入图片描述
【pg】物理空间大小与pg_dump导出的文件大小比较_第1张图片
【pg】物理空间大小与pg_dump导出的文件大小比较_第2张图片

你可能感兴趣的:(数据库,postgresql)