openGauss 磁盘空间达到阈值-数据库只读

磁盘空间达到阈值,数据库只读

问题现象

执行非只读SQL时报错如下。

ERROR: cannot execute %s in a read-only transaction.

或者运行中部分非只读SQL(insert、update、create table as、create index、alter table 及copy from等)时报错。

canceling statement due to default_transaction_read_only is on.

原因分析

磁盘空间达到阈值后,设置数据库只读,只允许只读语句执行。

处理办法

  1. 使用maintenance模式连接数据库,以下两种方法均可。

    • 方式一

      gsql -d postgres -p 8000 -r -m
      
    • 方式二

      gsql -d postgres -p 8000 -r
      

      连接成功后,执行如下命令:

      set xc_maintenance_mode=on;
      
  2. 使用DROP/TRUNCATE语句删除当前不再使用的用户表,直至磁盘空间使用率小于设定的阈值。

    删除用户表只能暂时缓解磁盘空间不足的问题,建议尽早通过扩容解决磁盘空间不足的问题。

  3. 使用系统用户omm设置数据库只读模式关闭。

    gs_guc reload -D /gaussdb/data/dbnode -c "default_transaction_read_only=off"
    

    BASH 复制 全屏

详情查看:https://opengauss.org
详情查看:https://docs-opengauss.osinfra.cn
  • 10
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值