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导出的文件大小比较
最新推荐文章于 2023-03-24 14:46:13 发布
本文探讨了pg_database_size函数的使用方法及其在评估数据库实际空间占用中的作用,并对比了物理备份pg_basebackup与逻辑备份pg_dump的区别,尤其是在处理频繁增删操作导致的空间占用问题。
943

被折叠的 条评论
为什么被折叠?



