pg_freespacemap查看表膨胀
pg_freespacemap模块提供一种检查自由空间映射(FSM)的手段。它提供一个名为pg_freespace的函数,或精确的说是两个重载函数。该函数在一个给定的页面或关系中的所有页面的自由空间映射内显示记录的值。缺省的公共访问在该函数中取消了,只是因为潜藏的安全问题。
1,创建扩展
jinli=# create extension pg_freespacemap;
CREATE EXTENSION
jinli=# \dxS+ pg_freespacemap
Objects in extension "pg_freespacemap"
Object Description
----------------------------------------
function pg_freespace(regclass)
function pg_freespace(regclass,bigint)
(2 rows)
可以发现pg_freespacemap扩展模块被创建出来后,多了两个重载函数。
2,示例输出
jinli=# select * from pg_freespace('public.log_level_problem');
blkno | avail
-------+-------
0 | 73921 | 66562 | 35523 | 3204 | 45765 | 49286 | 59527 | 80648 | 79369 | 793610 | 6944
(11 rows)
select * from pg_freespace('public.log_level_problem',10);
pg_freespace
--------------
6944
(1 row)
jinli=# --查看表的平均空间空闲率
jinli=# select count(1) as "number of pages",pg_size_pretty(cast(avg(avail) as bigint)) as "freespace size",round(100 * avg(avail)/8192,2)||'%' as "freespace tatio" from pg_freespace('public.log_level_problem');
number of pages | freespace size | freespace tatio
-----------------+---------------------+----------------------
11 | 5841 bytes | 71.31%(1 row)
jinli=# vacuum public.log_level_problem;
VACUUM
jinli=# select count(1) as "number of pages",pg_size_pretty(cast(avg(avail) as bigint)) as "freespace size",round(100 * avg(avail)/8192,2)||'%' as "freespace tatio" from pg_freespace('public.log_level_problem');
number of pages |freespace size |freespace tatio
-----------------+---------------------+----------------------
11 | 5690 bytes | 69.46%
(1 row)
vacuum full public.log_level_problem;
VACUUM
jinli=# select count(1) as "number of pages",pg_size_pretty(cast(avg(avail) as bigint)) as "freespace size",round(100 * avg(avail)/8192,2)||'%' as "freespace tatio" from pg_freespace('public.log_level_problem');
number of pages | freespace size | freespace tatio
-----------------+---------------------+----------------------
4 | 0 bytes | 0.00%
(1 row)
jinli=# select * from pg_freespace('public.log_level_problem');
blkno | avail
-------+-------
0 | 01 | 02 | 03 | 0
(4 rows)
该示例可以看出来执行完vacuum并不能全部释放空间,需执行vacuum full之后才能彻底“压实”页面。
pg_freespacemap查看表膨胀的更多相关文章
- MySQL 查看表结构简单命令
一.简单描述表结构,字段类型 desc tabl_name; 显示表结构,字段类型,主键,是否为空等属性,但不显示外键. 例如:desc table_name 二.查询表中列的注释信息 select ...
- SOME:收缩数据库日志文件,查看表数据量和空间占用,查看表结构索引修改时间
---收缩数据库日志文件 USE [master]ALTER DATABASE yourdatabasename SET RECOVERY SIMPLE WITH NO_WAITALTER DATAB ...
- Oracle以及SDE维护常用命令-查看表空间等
之前现场反馈一个数据更新的问题,查看感觉是因为表空间满了导致的(错误在之前的博客随笔中写过),因此远程对服务器进行查看.个人平常都是通过Oracle客户端的Entreprise Manager Con ...
- ORACLE查看表空间对象
ORACLE如何查看表空间存储了那些数据库对象呢?可以使用下面脚本简单的查询表空间存储了那些对象: SELECT TABLESPACE_NAME AS TABLESPACE_NAME ...
- 161215、MySQL 查看表结构简单命令
一.简单描述表结构,字段类型desc tabl_name;显示表结构,字段类型,主键,是否为空等属性,但不显示外键.二.查询表中列的注释信息select * from information_sche ...
- Oracle 查看表空间的大小及使用情况sql语句
--1.查看表空间的名称及大小 )), ) ts_size FROM dba_tablespaces t, dba_data_files d WHERE t.tablespace_name = d.t ...
- sp_help 快速查看表结构、视图信息
sp_helptext: 是MS SQL Server的一个系统存储过程,可以通过它来查看存储过程或者视图.函数源码 示例:sp_helptext viewName (viewName 即要查询的存 ...
- Sql语句查看表结构
快速查看表对的就说明,及表字段描述及字段类型 --表描述 SELECT tbs.name 表名,ds.value 描述 FROM sys.extended_properties ds LEFT JOI ...
- MSSql使用SQL语句快速查看表对的就说明,及表字段描述及字段类型
--表描述 SELECT tbs.name 表名,ds.value 描述 FROM sys.extended_properties ds LEFT JOIN sysobjects tbs ON ds. ...
- (转)oracle 查看表所占用的空间大小
1.查看表所占空间 SELECT TABLESPACE_NAME,TO_CHAR(SUM(BYTES)/(1024*1024),'999G999D999') CNT_MB FROM ...
随机推荐
- 发送QQ消息
#include <iostream>#include <windows.h>#include <vector> using namespace std;int m ...
- [iOS]遇到了一个问题:“XXXX”中无法使用Apple Pay ,检查此应用的设置并确定其设计可使用Apple Pay”
在钥匙串里查看,发现当时申请的Merchant ID XXXX 证书过期 1. 到 apple开发者: https://developer.apple.com/account/#/overview/ ...
- Python_基础_Print_输出函数
输出函数print() print()函数: 功能:向目的地输出内容 输出的内容:数字.字符串.表达式 目的地:IDLE.控制台.文件 print()函数可以输出些什么内容? 数字 字符串(用单引号和 ...
- cnpm 安装不上
以管理员身份运行power shell,输入以下命令: set-ExecutionPolicy RemoteSigned 出现选项之后,输入A,回车,在输入 get-ExecutionPolicy 出 ...
- 李光耀观天下.PDF
书本详情 李光耀观天下作者: 李光耀出版社: 北京大学出版社原作名: 李光耀观天下出版年: 2015-6页数: 299装帧: 平装ISBN: 978730125751
- tomcat程序闪退,如何让tomcat不闪退,可以看见报错
1.在 startup.bat 文件最后加 pause 2.cd 到tomcat bin 目录下执行 startup.bat 3.直接去Tomcat目录下的log看输出日志,即catalina.out ...
- 组件中的data为什么不是一个对象而是一个函数?
组件中的data为什么不是一个对象而是一个函数? 组件是可复用的vue实例,一个组件被创建好之后,就可能被用在各个地方,而组件不管被复用了多少次,组件中的data数据都应该是相互隔离,互不影响的,基于 ...
- uniapp打包小程序运行到微信开发工具
1.在manifest.json文件中配置AppID 2.在HBuilderX中配置微信开发者工具的安装路径. 工具->设置->运行设置 3. 在微信开发者工具中配置 设置->安全 ...
- django中读取settings中的相关参数
from django.conf import settings print(settings.IP_LOCAL)
- Vue 双向绑定
devtools工具 使用devtools工具可以让你更加方便的查看到Vue实例中数据的变化. 在chorme商店搜索安装即可. 双向绑定 v-model 双向绑定一般都是与input家族进行绑定. ...