Kingbase kdb_protect扩展插件使用

1. 插件kdb_protect简介

kdb_protect插件是KingbaseES 的一个扩展插件。主要功能是提供保护database、schema、table等逻辑对象不被DROP的能力。

  • 插件名为 kdb_protect

  • 插件版本 v1.0

2. 插件kdb_protect加载方式

使用时需要在命令行执行create extension kdb_protect;

示例:

create extension kdb_protect;

3. 插件kdb_protect的参数配置

无需配置任何参数。

4. 插件kdb_protect的使用方法

加载插件kdb_protect后,按照如下方式使用相应功能。

4.1. kdb_protect.protect_add

添加被保护对象到保护表中。

语法

kdb_protect.protect_add(text name, char type);
kdb_protect.protect_add(text name, char type, bool iscascade);

参数

name:被保护对象的名字

type:被保护对象的类型,如下:

'd' --database(数据库) 's' --schema(模式) 't' --table(表/分区表) 'v' --view/materialized view(视图/物化视图) 'f' --function/procedure(函数/存储过程)

iscascade:是否级联。只对db、schema有效。

返回值

成功返回't',失败返回'f'或报错

示例

select kdb_protect.protect_add('table1', 't');
select kdb_protect.protect_add('table1', 't', true);

4.2. kdb_protect.protect_add_oid

添加被保护对象到保护表中。

语法

kdb_protect.protect_add_oid(Oid objid, char type);
kdb_protect.protect_add_oid(Oid objid, char type, bool iscascade);

参数

objid:被保护对象的oid

type:被保护对象的类型,如下:

'd' --database(数据库) 's' --schema(模式) 't' --table(表/分区表) 'v' --view/materialized view(视图/物化视图) 'f' --function/procedure(函数/存储过程)

iscascade:是否级联。只对db、schema有效。

返回值

成功返回't',失败返回'f'或报错

示例

select kdb_protect.protect_add_oid(16394, 't');
select kdb_protect.protect_add_oid(16394, 't', true);

4.3. kdb_protect.protect_remove

从保护表中删除被保护对象。

语法

kdb_protect.protect_remove(text name, char type);
kdb_protect.protect_remove(text name, char type, bool iscascade);

参数

name:被保护对象的名字

type:被保护对象的类型,如下:

'd' --database(数据库) 's' --schema(模式) 't' --table(表/分区表) 'v' --view/materialized view(视图/物化视图) 'f' --function/procedure(函数/存储过程)

iscascade:是否级联。只对db、schema有效。

返回值

成功返回't',失败返回'f'或报错

示例

select kdb_protect.protect_remove('table1.mysch', 't');
select kdb_protect.protect_remove('table1.mysch', 't', true);

4.4. kdb_protect.protect_remove_oid

从保护表中删除被保护对象。

语法

kdb_protect.protect_remove_oid(Oid objid, char type);

参数

objid:被保护对象的oid

type:被保护对象的类型,如下:

'd' --database(数据库) 's' --schema(模式) 't' --table(表/分区表) 'v' --view/materialized view(视图/物化视图) 'f' --function/procedure(函数/存储过程)

返回值

成功返回't',失败返回'f'或报错

示例

select kdb_protect.protect_remove_oid(16385, 't');

4.5. kdb_protect.protect_remove_all

删除保护表中所有被保护对象。

语法

kdb_protect.protect_remove_all();

参数

返回值

成功返回't',失败返回'f'或报错

示例

select kdb_protect.protect_remove_all();

4.6. kdb_protect.protect_show()

显示所有被保护对象。

语法

kdb_protect.protect_show();

参数

返回值

成功返回保护的对象信息,失败报错

示例

select * from kdb_protect.protect_show();

4.7. kdb_protect.protect_show_detail()

显示所有被保护对象(更详细信息)。

语法

kdb_protect.protect_show_detail();

参数

返回值

成功返回保护的对象信息,失败报错

示例

select * from kdb_protect.protect_show_detail();

4.8. kdb_protect.protect_show_one()

显示一个被保护对象。

语法

kdb_protect.protect_show_one(text name, char type);

参数

objid:被保护对象的oid

type:被保护对象的类型,如下:

'd' --database(数据库) 's' --schema(模式) 't' --table(表/分区表) 'v' --view/materialized view(视图/物化视图) 'f' --function/procedure(函数/存储过程)

返回值

成功返回保护的对象信息,失败报错

示例

select * from kdb_protect.protect_show_one('table1', 't');

4.9. kdb_protect.protect_show_one_detail(text name, char type)

显示一个被保护对象(更详细信息)。

语法

kdb_protect.protect_show_one_detail(text name, char type);

参数

objid:被保护对象的oid

type:被保护对象的类型,如下:

'd' --database(数据库) 's' --schema(模式) 't' --table(表/分区表) 'v' --view/materialized view(视图/物化视图) 'f' --function/procedure(函数/存储过程)

返回值

成功返回保护的对象信息,失败报错

示例

select * from kdb_protect.protect_show_one_detail('table1', 't');

5. 插件kdb_protect卸载方法

卸载时drop extension kdb_protect即可。

示例:

drop extension kdb_protect;

6. 插件kdb_protect升级方法

kdb_protect扩展插件通常随着KingbaseES安装包一并升级。通常情况下用户无须单独升级些插件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值