元数据表更改步骤

请注意需要留下足够的升级与测试时间,避免升级出现问题需要回退到老版本。另外,请在升级前做好数据的备份工作,防止出现意外。

替换二进制

在进行元数据表的更新前,需要先进行二进制的替换

停止偶数数据库集群

使用gpadmin用户登录服务器master节点

hawq stop cluster -a
# 如果有正在执行的语句,并且你想要马上停止集群,你可以执行下述语句:
hawq stop cluster -a -M immediate

备份master节点的数据

在master节点上:

cp -r <hawq-data-directory> /home/gpadmin
# <hawq-data-directory> 是在hawq-site.xml文件中设置的存储master节点数据的路径

变更元数据表

在master节点上:

hawq start master
# 先启动master节点

hawq config -c gp_maintenance_conn -v true —-skipvalidation
#设置升级需要的guc值

hawq start master -U upgrade
#以升级模式启动master节点

psql -U gpadmin
#以gpadmin超级用户登录

#假如你想要改变元数据表,例如pg_authid(当从3.1.2升级到3.2.0的情况下),执行下述语句:
alter table pg_authid add column rolcreaterexthive bool;
alter table pg_authid add column rolcreatewexthive bool;

hawq stop master
hawq start cluster -a
#退出升级模式,重新启动集群

#元数据表的升级结束,可以在正常模式下来使用偶数数据库集群