文档首页/ 数据仓库服务 GaussDB(DWS)/ 故障排除/ 数据库使用/ 对系统表gs_wlm_session_info执行TRUNCATE命令报错
更新时间:2024-11-01 GMT+08:00

对系统表gs_wlm_session_info执行TRUNCATE命令报错

问题现象

清理磁盘空间,因系统表pg_catalog.gs_wlm_session_info较大(有20G),在不需要查询历史sql语句的前提下,对此系统表执行TRUNCATE命令,执行时报错“permission denied for relation gs_wlm_session_info”。

原因分析

对系统表执行TRUNCATE命令是版本8.0.x及以上集群才支持的,低版本集群不支持TRUNCATE系统表。

集群版本可登录GaussDB(DWS) 管理控制台,在“集群管理”页面进入对应集群的“集群详情”页面进行查看。

处理方法

  • 8.0以下版本集群清理系统表需要先执行DELETE FROM,再执行VACUUM FULL。

    此处仅以gs_wlm_session_info系统表为例:

    1
    2
    DELETE FROM pg_catalog.gs_wlm_session_info;
    VACUUM FULL pg_catalog.gs_wlm_session_info;
    
  • 8.0及以上版本集群可执行以下命令清理系统表:
    1
     TRUNCATE TABLE dbms_om.gs_wlm_session_info;
    

    此系统表的schema是dbms_om。