
# ALTER NODE
#### 功能描述
修改一个现有节点的定义。
#### 注意事项
ALTER NODE是集群管理工具封装的接口，用来实现集群管理，管理员用户才有权限使用该接口。该接口不建议用户直接使用，以免对集群状态造成影响。
#### 语法格式
```
ALTER NODE nodename WITH
  (
    [ TYPE = nodetype,]
    [ HOST = hostname,]
    [ PORT = portnum,]
    [ HOST1 = 'hostname',]
    [ PORT1 = portnum,]
    [ HOSTPRIMARY [ = boolean ],]
    [ PRIMARY [ = boolean ],]
    [ PREFERRED [ = boolean ],]
    [ SCTP_PORT = portnum,]
    [ CONTROL_PORT = portnum,]
    [ SCTP_PORT1 = portnum,]
    [ CONTROL_PORT1 = portnum, ]
    [ NODEIS_CENTRAL [ = boolean ]]
  );
```
![](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
PORT选项指定的端口号为节点间内部通信绑定的端口号，不同于外部客户端连接节点的端口号，可通过pgxc_node表查询。
#### 参数说明
请参见CREATE NODE的[参数说明](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-12-0528.html#ZH-CN_TOPIC_0000002235270541__zh-cn_topic_0000002235218573_zh-cn_topic_0059777554_s68bbe2607b464e78b392c344c0e2fbdd)。
#### 示例
```
--创建集群节点，在所有CN上执行。
gaussdb=# CREATE NODE datanode1 WITH(
   TYPE = datanode,
   PREFERRED = false
);
--查询集群DN初始状态。
gaussdb=# SELECT node_name, nodeis_preferred FROM pgxc_node WHERE node_type = 'D' ORDER BY 1;
 node_name | nodeis_preferred
-----------+------------------
 datanode1 | f
 datanode2 | f
(2 rows)
--将datanode1设为preferred DN。
gaussdb=# ALTER NODE datanode1 WITH(preferred = true);
--查询集群DN变更后状态。
gaussdb=# SELECT node_name, nodeis_preferred FROM pgxc_node WHERE node_type = 'D' ORDER BY 1;
 node_name | nodeis_preferred
-----------+------------------
 datanode1 | t
 datanode2 | f
(2 rows)
--删除集群节点，连接一个CN即可。
gaussdb=# DROP NODE datanode1;
```
#### 相关链接
[CREATE NODE](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-12-0528.html#ZH-CN_TOPIC_0000002235270541)，[DROP NODE](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-12-0574.html#ZH-CN_TOPIC_0000002200190342)
