查看数据库占用磁盘空间的方法
目录
环境
文档用途
详细信息
环境
系统平台:N/A
版本:6.0,5.6.5,4.5.2,4.3.4.9
文档用途
本文用于指导在日常生产运维工作中如何查看数据库占有磁盘空间大小的方法。
详细信息
一、通过系统函数查找
通过系统函数查询数据库大小得到的结果仅为数据库、模式、表等各类逻辑数据对象占用大小,不包含WAL日志、审计日志、数据库运行日志等其他部分。
1、查看全部数据库大小之和
highgo=# select sum(pg_database_size(datname)) from pg_database;sum
----------33227060
(1 row)
highgo=#
highgo=#
highgo=# select pg_size_pretty(sum(pg_database_size(datname))) from pg_database;pg_size_pretty
----------------32 MB
(1 row)
highgo=# select sum(pg_database_size(datname)) /1024/1024 as "SIZE M" from pg_database;SIZE M
---------------------31.6877937316894531
(1 row)
注:函数pg_database_size()得到的结果单位为字节,函数pg_size_pretty()得到的结果单位是数据库认为便于观看单位,结果不是非常准确,存在四舍五入。
2、查看某几个数据库大小之和,使用过程中将函数内的参数填写对应数据库名称即可。
highgo=# select sum(pg_database_size(pg_database.datname))/1024/1024 as "SIZE M" from pg_database where datname in('highgo','template0'); total_size
------------16744602
(1 row)
highgo=# select pg_size_pretty(sum(pg_database_size(pg_database.datname))) as total_size from pg_database where datname in('highgo','template0'); total_size
------------16 MB
(1 row)
highgo=# select sum(pg_database_size(pg_database.datname))/1024/1024 as "SIZE M" from pg_database where datname in('highgo','template0');SIZE M
---------------------15.9688968658447266
(1 row)
3、查看单个数据库大小明细,使用过程中将函数内的参数填写为对应数据库名称即可。
highgo=# SELECT pg_database_size('highgo');pg_database_size
------------------8576663
(1 row)
highgo=# SELECT pg_size_pretty(pg_database_size('highgo'));pg_size_pretty
----------------8376 kB
(1 row)
highgo=# SELECT pg_database_size('highgo')/1024/1024 as "SIZE M";SIZE M
--------8
(1 row)
4、查看数据库集群内各数据库大小明细
highgo=# select datname,pg_size_pretty(pg_database_size(datname)) from pg_database;datname | pg_size_pretty
-----------+----------------highgo | 8376 kBtemplate1 | 7977 kBtemplate0 | 7977 kBtest | 8120 kB
(4 rows)
二、通过查看数据库对应目录大小确定磁盘使用空间
1、数据集簇占用大小,包含WAL日志、数据库运行日志等。如果用户手动创建过表空间,此种情况下还需要统计该表空间所在目录的大小,表空间的路径可通过元命令\db查看确定。
[highgo@host1 base]$ cd $PGDATA
[highgo@host1 data]$ du -sh
49M .
注:windows环境下找到对应文件夹,鼠标右键查看大小即可。
2、数据库各类逻辑对象大小之和,不包含WAL日志、数据库运行日志等,只需查看base、global两个文件夹大小。如果用户手动创建过表空间,此种情况下还需要统计该表空间所在目录的大小,表空间的路径可通过元命令\db查看确定。
[highgo@host1 data]$ du -sk base global
32616 base
584 global
[highgo@host1 data]$ du -sm base global
32 base
1 global
注:windows环境下找到对应文件夹,鼠标右键查看大小即可。
3、单个数据库大小确定。首先查询数据库oid,通过oid确定数据库存放路径,查看该文件夹大小即可,默认存放路径为PGDATA/base/oid;如果数据库使用的是用户自建的表空间,则数据库存放路径为PGDATA/base/oid;如果数据库使用的是用户自建的表空间,则数据库存放路径为PGDATA/base/oid;如果数据库使用的是用户自建的表空间,则数据库存放路径为PGDATA/pg_tblspc/oid
highgo=# select datname,oid from pg_database;datname | oid
-----------+-------highgo | 13864template1 | 1template0 | 13863test | 16444tbltest | 16451
(5 rows)[highgo@host1 16451]$ cd $PGDATA/base/16444
[highgo@host1 16444]$ du -sm
8 .
[highgo@host1 16444]$ du -sk
8140 .
注:windows环境下找到对应文件夹,鼠标右键查看大小即可。
查看数据库占用磁盘空间的方法相关推荐
- linux中sybase删除数据库,Linux_Sybase ASE数据库的常见问题解答,1 数据库占用磁盘空间的形式 - phpStudy...
Sybase ASE数据库的常见问题解答 1 数据库占用磁盘空间的形式是什么?Master数据库的作用是什么?如果master失败后果如何? 设备文件. 存储系统表, 系统将无法使用, 除非重建mas ...
- Linux下查看MySQL占用磁盘空间大小
1.进入mysql数据库 2.查看所有库: select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,2),' MB') as d ...
- 查找磁盘占用最大的文件linux,linux查找系统中占用磁盘空间最大的文件
Q:下午有一客户磁盘空间占用很大,使用df查看磁盘剩余空间很小了,客户想知道是哪些文件占满了文件. Q1:在Linux下如何查看系统占用磁盘空间最大的文件? Q2:在Linux下如何让文件夹下的文件让 ...
- Window10 系统休眠或睡眠状态恢复-占用磁盘空间 100% 问题以及解决方法
Window10 系统休眠或睡眠状态恢复-占用磁盘空间 100% 问题以及解决方法 系统环境版本 排除问题过程 解决问题 总结 不知从何时开始,电脑就不定期变的非常卡,尤其是笔者平时不关机,下班都是按 ...
- 【已解决】docker overlay2占用大量磁盘空间处理方法
在使用docker容器的时候遇到了容量上的问题,做一个记录 处理方式1: 在使用docker时,往往会出现磁盘空间不足,导致该问题的通常原因是因为docker中部署的系统输出了大量的日志内容. 此时, ...
- docker overlay2占用大量磁盘空间处理方法
在使用docker时,往往会出现磁盘空间不足,导致该问题的通常原因是因为docker中部署的系统输出了大量的日志内容. 此时,可通过手动或定时任务进行清除. 针对/var/lib/docker/ove ...
- 详解清除MongoDB所占用的多余的磁盘空间的方法
MongoDB不会自动进行垃圾文件清理,不过我们可以借助自带的repairDatabase等功能来实现,下面我们就来详解清除MongoDB所占用的多余的磁盘空间的方法,附带一个如何格式化mongo s ...
- docker 占用磁盘空间清理 无用数据卷删除
目录 1.删除未被任何容器使用的本地卷 2. Docker System命令 3. 手动清理Docker镜像/容器/数据卷 3. 限制容器的日志大小 4. 重启Docker 1.删除未被任何容器使用的 ...
- Win11磁盘空间不足怎么清理?Win11清理磁盘空间的方法
磁盘空间不足将会影响电脑的运行,如果是在系统盘,会造成系统启动慢,运行缓慢,死机现象增多等,如果是在其他盘,会造成游戏或者应用软件使用缓慢,保存出错,硬盘读写能力下降.下面小编将为大家分享Win11 ...
最新文章
- FreeSwitch自带的电话会议
- WPE修改完之后服务器里数据没变,【Wpe技术吧】wpe开启封包ID一直在变化,如何解决...
- 奖牌分配/Median Pyramid Hard
- 运算符中,优先级高低总结。
- 程序员必知的8大排序(三)-------冒泡排序,快速排序(java实现) .
- 针对集合中的某个字段对集合中的对象进行排序
- redis缓存穿透、缓存雪崩、缓存击穿、并发竞争
- android获取子线程id,Android 开发 知晓各种id信息 获取线程ID、activityID、内核ID
- JavaScript写一个能遍历对象和数组的通用forEach函数
- winform 项目 发布后比本地运行慢_前端团队基于 GitLab CI/CD 的自动化构建、发布实践,快来学习吧...
- 免费的图标网站汇总,天气图标主题汇总
- mysql 二进制 查询_MySql如何插入和查询二进制数据_MySQL
- python画3d图-Python绘制3D图形
- php中魔术方法总结
- 做meta分析:使用R软件绘制森林图
- 使用WireShark了解浏览器访问网络的整个过程
- Unity3D学习笔记(6)—— 飞碟射击游戏
- SIMLock锁卡功能解析
- JavaScript 循环嵌套案例、while 语句、 do...while 语句、continue 关键字、5 break 关键字
- linux桌面版 磁盘管理工具,Paragon ExtFS for Windows