When attempting to check the value of the parameter using gpconfig, the gpconfig fails with an error similar as below:
[gpadmin@instance-2 ~]$ gpconfig -c gp_recursive_cte_prototype -v on 20171002:02:00:31:002355 gpconfig:instance-2:gpadmin-[CRITICAL]:-GUC Valid ation Failed: gp_recursive_cte_prototype cannot be changed under normal co nditions. Please refer to gpconfig documentation. GUC Validation Failed: gp_recursive_cte_prototype cannot be changed under normal conditions. Please refer to gpconfig documentation. [gpadmin@instance-2 ~]$ gpconfig -c gp_recursive_cte_prototype -v off 20171002:02:00:35:002372 gpconfig:instance-2:gpadmin-[CRITICAL]:-GUC Valid ation Failed: gp_recursive_cte_prototype cannot be changed under normal co nditions. Please refer to gpconfig documentation. GUC Validation Failed: gp_recursive_cte_prototype cannot be changed under normal conditions. Please refer to gpconfig documentation.
From the 4.3.13.0 release, when you try to change a protected Greenplum Database server configuration parameter with the gpconfig utility without the --skip validation option, the utility returns a message stating that the parameter is restricted and should not be changed under normal conditions. In previous releases, the message indicated that parameter was not valid.
For above example, we can use below command to change the GUC:
gpconfig -c optimizer_force_multistage_agg -v false --skipvalidation
Then, restart the cluster as the GUC itself needs a restart. It would show the changed value after the DB restart.