VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

数据销毁

功能描述

Vastbase M100支持使用函数table_destroy()批量销毁表数据并删除xlog文件,支持使用函数destroy_sensitive_data()销毁带有敏感资源标签的敏感数据。

注意事项

建议执行销毁前关闭审计日志及双写日志,避免数据在其中记录。

示例

前置步骤 关闭审计日志及双写日志,在$PGDATA/postgresql.conf配置文件中设置以下参数为off,并重启数据库使参数生效。

enable_security_policy=off;
audit_enabled=off;
enable_double_write=off;

示例1 数据销毁

1、创建测试表并插入测试数据。

create table test(id int, name text) ;
insert into test values(1,'lisi');
insert into test values(2,'zhangsan');

2、使用table_destroy销毁数据。

select table_destroy('test');

3、查询表test。

select * from test;

返回结果为:

  id   |  name
-----+---------
(0行记录)

4、退出数据库,在用户目录下查询。无返回结果表示已销毁完成。

grep -iR 'lisi'
grep -iR 'zhangsan'

示例2:敏感数据销毁

1、创建测试表并插入测试数据。

create table emp(
empno number(10) primary key,
ename varchar2(30),
job varchar2(30)
);
insert into emp values(1, 'zhangsan', 'CLERK');
insert into emp values(2, 'SMITH', 'CLERK' );
insert into emp values(3, 'lisi', 'MANAGER' );
insert into emp values(4, 'TOM', 'ENGINEER' );
insert into emp values(5, 'Steve', 'MANAGER' );

7、对表创建敏感资源标签。

create resource label label1 add table(emp) sensitive;

8、查看gs_policy_label系统表,新增is_sensitive 字段值为t (true)。

select * from gs_policy_label where labelname='label1';	

返回结果为:

  labelname | labeltype | fqdnnamespace | fqdnid | relcolumn | fqdntype | is_sensitive
---------------+-------------+---------------------+---------+-------------+-------------+------------------
 label1         |  resource |                    16648 | 16649 |                     |  table         |  t
(1行记录)

9、销毁数据库内所有敏感数据。

select * from destroy_sensitive_data();

10、查询结果。

select * from emp;

返回结果为:

  empno  |  ename  |  job  |
-----------+-----------+------+
(0行记录)

11、清理测试表。

DROP TABLE emp;