日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Postgres-XL的使用与动态增删数据节点

發布時間:2025/5/22 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Postgres-XL的使用与动态增删数据节点 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Postgres-XL的部署請參考上一篇:《在CentOS7.2上部署Postgres-XL分布式數據庫》

1. 建表

【REPLICATION表】即復制表,表的內容在各個數據節點完全相同。

postgres=# CREATE TABLE repltab (c1 int, c2 int) DISTRIBUTE BY REPLICATION;

【DISTRIBUTE表】及分片表,按照分片(sharding)規則,數據會被分配到不同的數據節點中。通過協調節點查詢完整的數據集合。

postgres=# CREATE TABLE disttab(c1 int, c2 int) DISTRIBUTE BY HASH(c1);

本次實操創建分片事件表:

CREATE TABLE my_event (occur_time timestamp without time zone,milli_second integer NOT NULL,region_id integer,content character varying(256),value double precision )DISTRIBUTE BY HASH(occur_time);

2. 插入數據

insert into my_event values(... ...);

查看節點情況:

select * from pgxc_node;

查看數據分片分布:

SELECT xc_node_id, count(*) FROM my_event GROUP BY xc_node_id;

或者

SELECT t2.node_name, t1.cnt from (SELECT xc_node_id as node_id, count(*) as cnt FROM my_event GROUP BY xc_node_id order by xc_node_id) t1 left join pgxc_node t2 on t1.node_id = t2.node_id order by t2.node_name;

3. 增加節點

在GTM節點上以postgres用戶執行:

$ pgxc_ctl PGXC add datanode master datanode3 server6 5433 20005 /home/postgres/pgxl9.5/data/nodes/dn_master none none none

用SQL連接協調節點,執行下面的SQL語句:(實際起到了rebalance的功能)

ALTER TABLE scada_event ADD NODE (datanode3);

然后再查看數據分片分布,發現數據已經重新分布在3個節點上了

4. 刪除節點

用SQL連接協調節點,執行下面的SQL語句:(實際起到了rebalance的功能)

ALTER TABLE my_event DELETE NODE (datanode3);

在GTM節點上以postgres用戶執行:

$ pgxc_ctl PGXC remove datanode master datanode3 clean

然后再查看數據分片分布,發現數據已經重新分布在2個節點上了

總結

以上是生活随笔為你收集整理的Postgres-XL的使用与动态增删数据节点的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。