GaussDB(DWS)添加主机在初始化服务和实例失败,报错不能修改default_transaction_read_only

发生版本

【GaussDB(DWS)】【C80SPC300】

问题描述

扩容新节点导入元数据阶段报错:

“defalt_transaction_read_only” can not be changed now

1.png

问题分析

使用如下命令手动导出对应sql文件,确认文件中包含设置default_transaction_read_only为off的语句

gs_dumpall -U omm -W Bigdata123@   -p 25330 -s –dump-wrm –include-templatedb –file=’schema_datanode.sql’ -g

2.png

手动alter role属性报同样的错误

3.png

查看pg_db_role_setting结果如下:

4.png

解决方案

使用如下存储过程将pg_db_role_setting中的内容清空:

CREATE OR REPLACE FUNCTION public.pgxc_set_roles() RETURNS void

AS $$

DECLARE

rd    record;

fetch_dn  text;

SQL_STR TEXT;

BEGIN

fetch_dn := ‘SELECT node_name FROM pg_catalog.pgxc_node WHERE node_type=”D” or node_type=”C” order by node_name’;

FOR rd IN EXECUTE(fetch_dn) LOOP

sql_str := ‘EXECUTE DIRECT ON (‘ || rd.node_name || ‘) ”delete from pg_db_role_setting ”’;

EXECUTE IMMEDIATE sql_str;

RAISE INFO ‘cancel query with node_name = %’, rd.node_name;

END LOOP;

END; $$

LANGUAGE ‘plpgsql’;

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/bigdata/316525.html

(0)
上一篇 2025年10月29日 22:54
下一篇 2025年10月29日 22:55

相关推荐

发表回复

登录后才能评论