Updated on 2025-10-10 GMT+08:00

ALTER NODE GROUP

Function

ALTER NODE GROUP modifies the information about a Node Group.

Precautions

  • Only a system administrator is allowed to modify Node Group information.
  • Node Group modification operations (excluding SET DEFAULT) are internal and need to be performed in maintenance mode (by invoking set xc_maintenance_mode=on;).
  • ALTER NODE GROUP can be used only within a database. To avoid data inconsistency in DBMS, do not manually run this SQL statement.

Syntax

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
ALTER NODE GROUP groupname
    | SET DEFAULT
    | RENAME TO new_group_name
    | SET VCGROUP RENAME TO new_group_name
    | SET NOT VCGROUP
    | SET TABLE GROUP new_group_name
    | COPY BUCKETS FROM src_group_name
    | ADD NODE ( nodename [, ... ] )
    | DELETE NODE ( nodename [, ... ] )
    | RESIZE TO dest_group_name
    | SET VCGROUP WITH GROUP new_group_name
    | SET STATUS TO value
    | SET PARENT_NAME TO parent_group_name
    | SET [NOT] AUTOSCALE
    | SET [NOT] ELASTIC
    | SET OFFLOADING_STRATEGY TO new_offloading_strategy
    | SET OFFLOADING_RATE TO value

Parameter Description

Table 1 ALTER NODE GROUP parameters

Parameter

Description

Value Range

groupname

Specifies the Node Group to be renamed.

Valid node group name.

SET DEFAULT

Sets in_redistribution to 'y' for all Node Groups excluding the one specified by groupname. To be compatible with earlier versions, this syntax is retained and does not need to be executed in maintenance mode.

-

RENAME TO new_group_name

Renames the Node Group specified by groupname to new_group_name.

-

SET VCGROUP RENAME TO new_group_name

Converts the entire physical cluster into a logical cluster. After the conversion, groupname is the logical cluster name, and the original physical cluster is changed to new_group_name.

-

SET NOT VCGROUP

Converts all logical clusters to common Node Groups and changes group_kind from 'v' to 'n' for all of them.

-

SET TABLE GROUP new_group_name

Updates the group_name in the pgroup columns of the pgxc_class tables across all CNs to new_group_name.

-

COPY BUCKETS FROM src_group_name

Copies values in the group_members and group_buckets columns from the Node Group specified by src_group_name to the Node Group specified by groupname.

-

ADD NODE ( nodename [, ... ] )

Adds nodes from the Node Group specified by groupname. These new nodes exist in the pgxc_node system catalog. This statement only modifies the system catalog and does not add nodes or redistribute data. Do not call this statement.

-

DELETE NODE ( nodename [, ... ] )

Deletes nodes from the Node Group specified by groupname. The deleted nodes still exist in the pgxc_node system catalog. This statement only modifies the system catalog and does not delete nodes or redistribute data. Do not invoke this statement.

-

RESIZE TO dest_group_name

Specifies a resize flag for the cluster. Set the Node Group specified by groupname to the Node Group before data redistribution and set is_installation of the Node Group to FALSE. Set desst_group_name to the Node Group after data redistribution and set is_installation of the Node Group to TRUE.

-

SET VCGROUP WITH GROUP new_group_name

Converts a physical cluster into a logical cluster. After the conversion, groupname is still the physical cluster, and new_group_name is the name of the logical cluster.

-

SET STATUS TO value

Sets the status of a logical cluster. This is used only for elastic concurrency expansion. This parameter is available only for clusters of version 9.1.0.100 or later.

0 to 4

  • 0 indicates that the system is running properly.
  • 1 indicates that you apply for creating an elastic logical cluster.
  • 2 indicates that the elastic logical cluster is being created.
  • 3 indicates that the elastic logical cluster times out and is to be deleted.
  • 4 indicates that the elastic logical cluster does not receive new queries after the specified deletion time expires. After all running queries are complete, the value is automatically changed to 3.
    NOTE:

    0 indicates the initial status of all logical clusters. 1 and 2 can be set only for classic logical clusters, while 3 and 4 can be set only for elastic logical clusters.

SET PARENT_NAME TO parent_group_name

Specifies the name of the classic logical cluster corresponding to the elastic logical cluster. This parameter is available only for elastic concurrency expansion.

To name a logical cluster, enclose the name in quotation marks. The double quotation marks indicate that the cluster name is case sensitive.

SET [NOT] AUTOSCALE

This parameter is available only for elastic concurrency expansion.

  • NOT AUTOSCALE indicates that the elastic logical cluster is manually created.
  • AUTOSCALE indicates that the elastic logical cluster is automatically created by the system.

-

SET [NOT] ELASTIC

This parameter is available only for automatic workload distribution of manual scaling.
  • NOT ELASTIC indicates that the elastic logical cluster does not belong to the elastic resource pool.
  • ELASTIC indicates that the elastic logical cluster belongs to the elastic resource pool.

-

SET OFFLOADING_STRATEGY TO new_offloading_strategy

This parameter is available only for automatic workload distribution of manual scaling and must be used together with SET OFFLOADING_RATE. This parameter specifies the offloading policy of the primary logical cluster. This parameter is available only for clusters of version 9.1.1.100 or later.

You can set an elastic logical cluster to a dedicated elastic logical cluster by specifying PARENT_NAME and ELASTIC. For example, if there is the primary logical cluster v3_logical and the elastic logical cluster computing_group1 in a cluster, you can run ALTER NODE GROUP computing_group1 SET ELASTIC and ALTER NODE GROUP computing_group1 SET PARENT_NAME TO "v3_logical" to set computing_group1 as the dedicated elastic logical cluster of v3_logical. It means that computing_group1 executes only the workloads from the primary logical cluster v3_logical.

To set a public elastic logical cluster, you only need to specify ELASTIC. PARENT_NAME is not required. The workloads executed by a public elastic logical cluster can come from any primary logical cluster in a cluster.

None, Dedicated, or Elastic.

  • None: The workloads of the primary logic cluster are completed by itself and will not be unloaded.
  • dedicated: The primary logical cluster routes some workloads to dedicated elastic logical clusters. The unloading ratio is controlled by the offloading_rate parameter.
  • elastic: The primary logical cluster routes some loads to dedicated and public elastic logical clusters. The unloading ratio is controlled by the offloading_rate parameter.

SET OFFLOADING_RATE TO value

This parameter is available only for automatic workload distribution of manual scaling and must be used together with SET OFFLOADING_STRATEGY. This parameter controls the offloading percentage of the primary logical cluster. This parameter is available only for clusters of version 9.1.1.100 or later.

SET OFFLOADING_STRATEGY and SET OFFLOADING_RATE are used together to enable automatic workload distribution of manual scaling. For example, there is the primary logical cluster v3_logical, the dedicated elastic logical cluster computing_group1, and the public elastic logical cluster computing_group2 in a cluster.

  • If OFFLOADING_STRATEGY is set to dedicated and OFFLOADING_RATE is set to 40 for v3_logical, 40% of the workloads of v3_logical can be routed to the dedicated elastic logical cluster computing_group1 for execution.
  • If OFFLOADING_STRATEGY is set to elastic and OFFLOADING_RATE is set to 40 for v3_logical, 40% of the workloads of v3_logical can be routed to the dedicated elastic logical cluster computing_group1 and public elastic logical cluster computing_group2 for execution based on a round-robin policy.

0 to 100

The offloading percentage may not reach the value of OFFLOADING_RATE. The reasons are as follows:

  • Automatic workload distribution applies only to the DML workloads of all V3 tables.
  • To ensure the execution performance of simple workloads (the planned cost of workloads is less than vw_offloading_min_cost), the workloads are executed in the primary logical cluster even though they are executed in the elastic logical clusters.