sys_spacequota 扩展插件介绍
插件sys_spacequota简介
sys_spacequota可以对指定表空间的大小进行限额,一旦大于该限额,例如对此表空间里的数据进行insert, update, copy to,
select into, create index操作将会被警告或终止(默认为0表示警告,警告或者终止可以通过GUC参数spacequota.fullwarningtype = 0/1来配置)。
表空间限额基本语法
查询限额信息:
select * from sys_space_quota;
检查表空间的限额:
space_quota_check();
设置或更改表空间限额, 可调用 set_space_quota(oid, quota)方法,quota的单位为字节。
set_space_quota(oid, quota)
参数
oid:表空间的oid值。
quota:设置的表空间限额值。
删除表空间限额, 可调用 remove_space_quota(oid)方法。
remove_space_quota(oid)
参数
oid:表空间的oid值。
插件使用说明
测试环境:V008R006C007B0012
[](javascript:void(0)
需要创建扩展
create extension sys_spacequota;
CREATE EXTENSION
开关:创建扩展后,再开启参数开关,限额功能生效
alter system set spacequota.enable = on ;
ALTER SYSTEM
TEST=# call sys_reload_conf();
sys_reload_conf
-----------------
t
(1 row)
创建测试使用的限额表空间
TEST=# CREATE TABLESPACE ttspace location '/home/kingbase7/tbl_user';
CREATE TABLESPACE
TEST=# select spcname,oid from sys_tablespace;
spcname | oid
-------------+-------
sys_default | 1663
sys_global | 1664
sysaudit | 1986
ttspace | 27158
设置表空间限额
TEST=# select set_space_quota(27158,100);
set_space_quota
-----------------
(1 row)
在设置限额的表空间上创建表
TEST=# create table ttw (id int) tablespace ttspace;
CREATE TABLE
[](javascript:void(0)
1.spacequota.fullwarningtype参数默认设置为0,插入数据有警告,但是数据插入成功。
[](javascript:void(0)
TEST=# show spacequota.fullwarningtype;
spacequota.fullwarningtype
----------------------------
0
(1 row)
TEST=# insert into ttw select generate_series(1,10000);
WARNING: user's disk space quota exceeded
INSERT 0 10000
TEST=#
TEST=# select count(*) from ttw;
count
-------
10000
(1 row)
尝试多次插入数据均有警告,但是数据插入成功了。
TEST=# insert into ttw select generate_series(1,10000);
WARNING: user's disk space quota exceeded
INSERT 0 10000
TEST=#
TEST=# select count(*) from ttw;
count
-------
20000
(1 row)
TEST=# insert into ttw select generate_series(1,10000);
WARNING: user's disk space quota exceeded
INSERT 0 10000
TEST=# select count(*) from ttw;
count
-------
30000
(1 row)
TEST=# insert into ttw select generate_series(1,10000);
WARNING: user's disk space quota exceeded
INSERT 0 10000
TEST=# select count(*) from ttw;
count
-------
40000
(1 row)
[](javascript:void(0)
2.spacequota.fullwarningtype参数设置为1时,需要手工执行space_quota_check()检查表空间限额,如果sys_space_quota视图中current_size超出quota值,则再次插入报错,禁止插入数据
[](javascript:void(0)
TEST=# alter system set spacequota.fullwarningtype=1;
ALTER SYSTEM
TEST=# call sys_reload_conf();
sys_reload_conf
-----------------
t
(1 row)
查看此参数已经设置为1,1的含义不是警告,而是报错
TEST=# show spacequota.fullwarningtype;
spacequota.fullwarningtype
----------------------------
1s
(1 row)
检查表空间限额,判断是否full
TEST=# call space_quota_check();
可以看到is_full字段是t,表示检查限额后,系统识别表空间已满
TEST=# select * from sys_space_quota;
spcname | quota | current_size | is_full
---------+-------+--------------+---------
ttspace | 100 | 8210 | t
(1 row)
检查表空间限额后,再次插入数据报错,禁止插入
TEST=# insert into ttw select generate_series(1,100);
ERROR: user's disk space quota exceeded
truncate 表后再检查限额
TEST=# truncate ttw;
TRUNCATE TABLE
call space_quota_check();
查看表空间限额配置,current_size空间已经释放
TEST=# select * from sys_space_quota;
spcname | quota | current_size | is_full
---------+-------+--------------+---------
ttspace | 120 | 30 | f
(1 row)
[](javascript:void(0)
从以下结果中我们能看出,当执行完 space_quota_check(),检查空间后,再次插入数据触发表空间限额上限,才会告警,
当spacequota.fullwarningtype设置为1后,提示error,禁止插入,数据没有插入到表中。
[](javascript:void(0)
TEST=# insert into ttw select generate_series(1,100);
INSERT 0 100
TEST=# insert into ttw select generate_series(1,100);
INSERT 0 100
插入数据库数据,查询表空间限额不变
TEST=# select * from sys_space_quota;
spcname | quota | current_size | is_full
---------+-------+--------------+---------
ttspace | 100 | 30 | f
(1 row)
执行检查表空间限额函数后,再次查询视图,current_size有变化
TEST=# call space_quota_check();
CALL
TEST=# select * from sys_space_quota;
spcname | quota | current_size | is_full
---------+-------+--------------+---------
ttspace | 100 | 8210 | t
(1 row)
此时,再次insert数据报错
TEST=# insert into ttw select generate_series(1,100);
ERROR: user's disk space quota exceeded
[](javascript:void(0)
sys_spacequota 扩展插件介绍的更多相关文章
- vs2010(vs2012)好用的扩展插件介绍
一直以来只使用番茄vs助手(https://www.wholetomato.com/downloads/default.asp)辅助写代码,也都忘了是谁介绍的,不过确实好用. 相比原始的vs,它提供了 ...
- vscode简单使用介绍及个人常用扩展插件
vscode全称Visual Studio Code 是微软开发一款IDE,官方地址 vscode 作为一款前端编辑器功能很强大,灵活,可以根据个人喜好选择扩展插件,而且还支持多种开发语言, 关于v ...
- Sharepoint 2013列表视图和字段权限扩展插件(免费下载)!
记得2014年春节期间,有博客园的网友通过QQ向我咨询Sharepoint 2013列表视图和字段权限扩展,因为之前他看到我博客介绍Sharepoint 2010列表视图和字段的权限控制扩展使用,问有 ...
- ExtJS4.2学习(13)基于表格的扩展插件---rowEditing
鸣谢:http://www.shuyangyang.com.cn/jishuliangongfang/qianduanjishu/2013-11-24/182.html --------------- ...
- 常用网站开发类Firefox扩展插件 (转)
作为一个 Web 开发人员,你几乎没有理由不喜欢Firefox,因为在Firefox下有很多专门针对开发的扩展插件,非常好用,这里就介绍一些常用的针对网站开发的FireFox扩展,供Web开发人员参考 ...
- 100个精选zencart扩展插件
100个精选zencart扩展插件 特别推荐 1. 数据库备份 2. 产品横向布局. 3. 邮件订阅Newsletter Subscribe. 4. google 翻译google_translate ...
- JMeter 线程组之Stepping Thread Group插件介绍
线程组之Stepping Thread Group插件介绍 by:授客 QQ:1033553122 测试环境 apache-jmeter-2.13 插件: https://jmeter-plu ...
- jenkins 插件介绍
1.jenkins 利用maven编译,打包,所需插件:Maven Integration: Maven集成插件这个插件提供了Jenkins和Maven的深度集成,无论是好还是坏:项目之间的自动触发取 ...
- jira 插件介绍地址
1. 官方的 介绍地址 http://confluence.gjingao.com/pages/viewpage.action?pageId=328170 序号 插件名称 功能概要 供应商 资源 10 ...
- jupyter notebook设置主题背景,字体和扩展插件
windows上安装Anaconda (IPython notebook) Anaconda是一个包与环境的管理器,一个Python发行版,以及一个超过1000多个开源包的集合.它是免费和易于安装的, ...
随机推荐
- win32 - Redirect Input and Output
如果要将exe的输出重定向到cmd,则可以使用匿名管道将子进程的标准输入和输出句柄重定向.请注意,命名管道也可以用于重定向进程I / O //CMD.exe #include <windows. ...
- Java Http客户端选型
JDK自带 HTTPURLConnect:功能单一 Apache HttpClient https://hc.apache.org/index.html 是一个比较古老的HTTP框架,使用非常普遍. ...
- 默认形参和关键字实参,收集参数,命名关键字参数,return自定义返回,全局变量和局部变量,函数名的使用---day10
1.函数定义处(默认形参在函数的定义) 1.1.函数的调用处(关键字实参在函数的调用处) 2.收集参数 (1)收集参数: (1) 普通收集参数 在参数的前面加一个*,代表的是普通收集参数 作用:收集多 ...
- java个人博客
效果浏览 首页 详情页 Aboutme 后台管理 管理/添加博客 添加分类 管理员管理 友情链接 访问地址 前台地址http://localhost 后台地址:http://localhost/adm ...
- 轻量级NuGet—BaGet
1. 介绍 BaGet是一个轻量级的包管理服务.有些时候公司或者个人不希望某一些包进行公开,那么就需要使用私有的包管理服务程序,该服务是用.netcore进行编写的(感谢开发者为社区做出的共享) Gi ...
- 【规范】Apifox就应该这么玩
前言 缘由 好的工具就要配好的玩法 起因是最近在回顾项目时,看到了年事已高并且长时间不用的Postman,发现之前自己整理的接口文档十分混乱且没有规律.遂打开现在使用的Apifox,将本狗目前项目中使 ...
- 为什么Sync.Pool不需要加锁却能保证线程安全
1. 简介 我们在 Sync.Pool: 提高go语言程序性能的关键一步 一文中,已经了解了使用sync.Pool来实现对象的复用以减少对象的频繁创建和销毁,以及使用sync.Pool的一些常见注意事 ...
- jQuery 框架
jQuery 框架 目录 jQuery 框架 一. 概述 二. jQuery 安装引用 2.1 安装 2.2 本地导入使用 2.3 jQuery CDN引入 三. jQuery基本语法 四. 查找标签 ...
- Zabbix“专家坐诊”第186期问答汇总
问题一 Q:这两个键值vm.memory.size[pused]和vm.memory.util监控内存使用率有什么区别,使用那个监控使用率更好,支持windows系统和Linux系统么,对agent端 ...
- liunx 前台打包的两个报错 Invalid value used in weak set - MIS国产化服务器不支持打包
错误1 Invalid value used in weak set Webpack4使用 mini-css-extract-plugin 最新版 压缩css 报 "Invalid valu ...