返回首页

gbase数据、南大通用产品文档:GBase8cPURGE

更新日期:2024年09月11日

功能描述
使用PURGE 语句可以实现如下功能:
从回收站中清理表或索引,并释放对象相关的全部空间。
清理回收站。
清理回收站中指定表空间的对象。
注意事项
清除(PURGE)操作支持:表(PURGE TABLE)、索引(PURGE INDEX)、回收站
(PURGE RECYCLEBIN)。
执行PURGE 操作的权限要求如下:
PURGE TABLE:
用户必须是表的所有者,
且用户必须拥有表所在模式的USAGE 权限,
系统管理员默认拥有此权限。
PURGE INDEX:用户必须是索引的所有者,用户必须拥有索引所在模式的USAGE 权
限,系统管理员默认拥有此权限。

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
1202
PURGE RECYCLEBIN:普通用户只能清理回收站中当前用户拥有的对象,且用户必须
拥有对象所在模式的USAGE 权限,系统管理员默认可以清理回收站所有对象。
语法格式
PURGE { TABLE [schema_name.]table_name
| INDEX index_name
| RECYCLEBIN
}
参数说明

schema_name
模式名。

TABLE [ schema_name. ] table_name
清空回收站中指定的表。

INDEX index_name
清空回收站中指定的索引。

RECYCLEBIN
清空回收站中的对象。
示例
-- 创建表空间reason_table_space
gbase=# CREATE TABLESPACE REASON_TABLE_SPACE1 owner tpcds RELATIVE
location 'tablespace/tsp_reason1';
-- 在表空间创建表tpcds.reason_t1
gbase=# CREATE TABLE tpcds.reason_t1
(
r_reason_sk
integer,

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
1203
r_reason_id
character(16),
r_reason_desc
character(100)
) tablespace reason_table_space1;
-- 在表空间创建表tpcds.reason_t2
gbase=# CREATE TABLE tpcds.reason_t2
(
r_reason_sk
integer,
r_reason_id
character(16),
r_reason_desc
character(100)
) tablespace reason_table_space1;
-- 在表空间创建表tpcds.reason_t3
gbase=# CREATE TABLE tpcds.reason_t3
(
r_reason_sk
integer,
r_reason_id
character(16),
r_reason_desc
character(100)
) tablespace reason_table_space1;
-- 对表tpcds.reason_t1 创建索引
gbase=# CREATE INDEX index_t1 on tpcds.reason_t1(r_reason_id);
gbase=# DROP TABLE tpcds.reason_t1;
gbase=# DROP TABLE tpcds.reason_t2;
gbase=# DROP TABLE tpcds.reason_t3;
--查看回收站
gbase=# SELECT rcyname,rcyoriginname,rcytablespace FROM GS_RECYCLEBIN;
rcyname
| rcyoriginname | rcytablespace
-----------------------+---------------+---------------
BIN$16409$2CEE988==$0 | reason_t1
|
16408
BIN$16412$2CF2188==$0 | reason_t2
|
16408

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
1204
BIN$16415$2CF2EC8==$0 | reason_t3
|
16408
BIN$16418$2CF3EC8==$0 | index_t1
|
0
(4 rows)
--PURGE 清除表
gbase=# PURGE TABLE tpcds.reason_t3;
gbase=# SELECT rcyname,rcyoriginname,rcytablespace FROM GS_RECYCLEBIN;
rcyname
| rcyoriginname | rcytablespace
-----------------------+---------------+---------------
BIN$16409$2CEE988==$0 | reason_t1
|
16408
BIN$16412$2CF2188==$0 | reason_t2
|
16408
BIN$16418$2CF3EC8==$0 | index_t1
|
0
(3 rows)
--PURGE 清除索引
gbase=# PURGE INDEX tindex_t1;
gbase=# SELECT rcyname,rcyoriginname,rcytablespace FROM GS_RECYCLEBIN;
rcyname
| rcyoriginname | rcytablespace
-----------------------+---------------+---------------
BIN$16409$2CEE988==$0 | reason_t1
|
16408
BIN$16412$2CF2188==$0 | reason_t2
|
16408
(2 rows)
--PURGE 清除回收站所有对象
gbase=# PURGE recyclebin;
gbase=# SELECT rcyname,rcyoriginname,rcytablespace FROM GS_RECYCLEBIN;
rcyname
| rcyoriginname | rcytablespace
-----------------------+---------------+---------------
(0 rows)

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
1205

问题现象
数据库自动执行shrinkspace 回收空间
解决方法:
建议通过外部调用方式来处理,如使用event schedule、crontab 定期执行。

GBase 8a MPP Cluster 最佳实践
5 FAQ
文档版本(2022-02-11)
南大通用数据技术股份有限公司
119

GBase 8s Client Software Development Kit (Client SDK) V3.70.xC3 之前各版本中的连接管理
器配置文件与当前版本的连接管理器不兼容。
必须使用命令行选项转换 3.70.xC3 之前版本
的配置文件。
先决条件:

在 UNIX™ 上,必须以用户 gbasedbt 或 root 身份登录才能转换配置文件。

必须具有对要转换的配置文件的读许可权。

必须具有对要创建的配置文件的写许可权。

如果转换多个配置文件,那么必须将每个文件中的 SLA 定义合并为一个配置文
件。
即使连接管理器当前正在运行,也可以转换连接管理器的配置文件。
要将连接管理器文件转换为当前格式,请执行以下操作:
登录到运行连接管理器实例的计算机。
运行带 -n 选项的 oncmsm 实用程序,并指定新旧配置文件的路径和文件名。
如果连接管理器已在运行,那么必须重新启动连接管理器以使用新配置文件。