admin管理员组文章数量:1432029
【openGauss】openGauss清空表在回收站记录,彻底释放磁盘空间
- 问题描述
- 一、查参数
- 二、设置参数default_transaction_read_only参数值为off
- 三、truncate清空一些不常用的但占用磁盘空间很大的表,比如日志表
- 四、openGauss清空表在回收站记录,彻底释放磁盘空间
- 4.1、针对truncate
- 4.2、针对drop
- 4.3、一把梭
- 五、其他回收站相关操作
问题描述
数据库只读模式,只能查询,做其他dml操作都报错:
ERROR: cannot execute XXXXXX in a read-only transaction
一、查参数
select name,setting,unit,context from pg_settings where name ~* 'read_only';
name setting unit context
default_transaction_read_only on user
transaction_read_only on user
二、设置参数default_transaction_read_only参数值为off
set default_transaction_read_only = off;
三、truncate清空一些不常用的但占用磁盘空间很大的表,比如日志表
truncate tzq_log_t; -- 日志表
四、openGauss清空表在回收站记录,彻底释放磁盘空间
4.1、针对truncate
-- 针对truncate
select concat('PURGE TABLE ',rcyoriginname,';') from gs_recyclebin
where rcyoriginname in(
select -- t2.nspname,
t1.relname as tablename_in_recyclebin
from pg_class t1
join pg_namespace t2 on (t1.relnamespace=t2.oid)
where t1.relkind = 'r'
and t1.relname ~* '^bin'
and t2.nspname = '模式名'
order by 1
);
4.2、针对drop
-- 针对drop
select concat('PURGE TABLE ',rcyoriginname,';') from gs_recyclebin where rcyname in(
select --t2.nspname,
t1.relname as tablename_in_recyclebin
from pg_class t1
join pg_namespace t2 on (t1.relnamespace=t2.oid)
where t1.relkind = 'r'
and t1.relname ~* '^bin'
and t2.nspname = '模式名'
order by 1);
4.3、一把梭
-- 清空当前用户的回收站
PURGE RECYCLEBIN;
-- 清空指定用户的回收站(需要有相应权限)
PURGE DBA_RECYCLEBIN USER username;
五、其他回收站相关操作
/* 查回收站参数 */
select name,setting,unit,context from pg_settings where name ~* 'bin';
/* 查回收站对象 */
select * from my_recyclebin;
-- truncate \ drop
/* 恢复对象 */
TIMECAPSULE TABLE "BIN$4BE24EB5475$315BC00A480==$0" TO BEFORE TRUNCATE;
版权声明:本文标题:【openGauss】openGauss清空表在回收站记录,彻底释放磁盘空间 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/biancheng/1743710122a2525787.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论