问题现象
磁盘空间达到阈值后,设置数据库只读,只允许只读语句执行。
执行非只读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
连接成功后,执行如下命令:
postgres=# set xc_maintenance_mode=on;
-
-
步骤2 使用DROP/TRUNCATE删除当前不再使用的用户表,直至磁盘空间使用率小于设定的 阈值。
-
步骤3 设置数据库只读模式关闭。
gs_guc reload -D /gaussdb/data/dbnode -c "default_transaction_read_only=off" -
步骤4 删除用户表只能暂时缓解磁盘空间不足的问题,建议尽早通过扩容解决磁盘空间不足的问题。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
文集目录
暂无数据




