参考地址
https://www.postgres-xl.org/documentation/tutorial-createcluster.html
//创建表时该表的数据将在各个数据节点均存储一份,即一百条数据将在各个节点均为100条数据。
CREATE TABLE repltab (col1 int, col2 int) DISTRIBUTE BY REPLICATION;
//创建表时指定该表按照字段col1进行哈希算法负载至各个存储节点上
CREATE TABLE disttab(col1 int, col2 int, col3 text) DISTRIBUTE BY HASH(col1);
//重新分配该表的数据在各个存储节点数据占比
ALTER TABLE disttab ADD NODE (dn3);
//去掉该表在dn3的数据分配,
ALTER TABLE disttab DELETE NODE (dn3);
//将REPLICATION的表进行分配为基于hash的各数据分配各节点的方式。这里仅会初始到集群默认安装时的那几个存储节点中,不会使用后来新增的数据节点。
ALTER TABLE repltab DISTRIBUTE BY HASH(col1);
//将hash分配模式更改为复制模式
ALTER TABLE repltab DISTRIBUTE BY REPLICATION;
//查询该表目前各数据分布在各存储的数量
SELECT xc_node_id, count(*) FROM repltab GROUP BY xc_node_id;
//查询当前控制节点和存储节点信息和其oid
SELECT oid, * FROM pgxc_node;
在集群管理工具下:
PGXC$
//增加一个控制器(访问集群节点)
add coordinator master coord3 localhost 30003 30013 $dataDirRoot/coord_master.3 none none
//增加一个存储节点
add datanode master dn3 localhost 40003 40013 $dataDirRoot/dn_master.3 none none none
//查询当前启动的所有集群节点
//删除指定节点
stop -m immediate datanode master dn1
//直接关闭存储节点,不影响备份从节点
//使用slave从节点替换主节点故障
failover datanode dn1