參考地址
https://www.postgres-xl.org/documentation/tutorial-createcluster.html
//創(chuàng)建表時該表的數據將在各個數據節(jié)點均存儲一份猜嘱,即一百條數據將在各個節(jié)點均為100條數據。
CREATE TABLE repltab (col1 int, col2 int) DISTRIBUTE BY REPLICATION;
//創(chuàng)建表時指定該表按照字段col1進行哈希算法負載至各個存儲節(jié)點上
CREATE TABLE disttab(col1 int, col2 int, col3 text) DISTRIBUTE BY HASH(col1);
//重新分配該表的數據在各個存儲節(jié)點數據占比
ALTER TABLE disttab ADD NODE (dn3);
//去掉該表在dn3的數據分配沽瘦,
ALTER TABLE disttab DELETE NODE (dn3);
//將REPLICATION的表進行分配為基于hash的各數據分配各節(jié)點的方式夭委。這里僅會初始到集群默認安裝時的那幾個存儲節(jié)點中迂尝,不會使用后來新增的數據節(jié)點。
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;
//查詢當前控制節(jié)點和存儲節(jié)點信息和其oid
SELECT oid, * FROM pgxc_node;
在集群管理工具下:
PGXC$
//增加一個控制器(訪問集群節(jié)點)
add coordinator master coord3 localhost 30003 30013 $dataDirRoot/coord_master.3 none none
//增加一個存儲節(jié)點
add datanode master dn3 localhost 40003 40013 $dataDirRoot/dn_master.3 none none none
//查詢當前啟動的所有集群節(jié)點
//刪除指定節(jié)點
stop -m immediate datanode master dn1
//直接關閉存儲節(jié)點,不影響備份從節(jié)點
//使用slave從節(jié)點替換主節(jié)點故障
failover datanode dn1