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的使用与动态增删数据节点相关推荐

  1. CDH5 添加数据节点

    本文介绍如何在CDH Hadoop集群中动态添加数据节点.添加节点之前需要准备好一台新的机器,Linux版本最好跟原有集群中其他机器保持相同,然后便是基本的Hadoop安装之前的配置,如关闭防火墙.开 ...

  2. Postgres XL 集群中各节点的角色和作用

    2019独角兽企业重金招聘Python工程师标准>>> Postgres XL包含3个主要的组件:GTM, Coordinator和Datanode. GTM负责提供事务的ACID特 ...

  3. android 多数据图表,Android统计图表MPAndroidChart:为多条统计折线动态更新数据,以高温低温曲线为例【7】...

     Android统计图表MPAndroidChart:为多条统计折线动态更新数据,以高温低温曲线为例[7] 本文在附录文章6的基础上,为Android统计图表MPAndroidChart的同一个L ...

  4. 关于用java编写生成word文档,动态添加数据到word文档的一些心得

    关于用java编写生成word文档,动态添加数据到word文档的一些心得,经过翻阅了无数的有用的和无用的资料以后,总算找到了一种靠谱的方法 1.概述 经过反反复复的查阅资料,总算找到了一个靠谱的生成w ...

  5. jsp ajax动态添加数据,jquery Ajax实现Select动态添加数据

    jquery Ajax实现Select动态添加数据,具体内容如下 1.背景 最近在工作中,遇到了一个关于select的问题.一般情况下,select下拉框中的数据都是固定的或者直接在jsp中读取列表值 ...

  6. Spring Boot实现定时任务的动态增删启停

    欢迎关注方志朋的博客,回复"666"获面试宝典 作者 | jessehua 来源 | https://www.jianshu.com/p/0f68936393fd 在spring ...

  7. Spring Boot 实现定时任务的动态增删启停

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源:jianshu.com/p/0f68936393fd 添加执 ...

  8. @scheduled cron动态修改_spring boot实现动态增删启停定时任务

    作者:jessehua 来源:https://www.jianshu.com/p/0f68936393fd 在spring boot项目中,可以通过@EnableScheduling注解和@Sched ...

  9. 动态增删表格行(纯JS写法)

    动态增删表格行(纯JS写法) 归档 进行表格下行的动态增加与删除 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional// ...

最新文章

  1. c语言实验设计报告,C语言实验设计报告.doc
  2. 三家运营商的手机终端补贴政策分析(二)
  3. mysql 数据复制停止工作_linux – Mysql GTID复制停止工作
  4. surfaceView和View区别
  5. 计算机小白学生物信息的难度,基因表达数据分析,对于还是分子生物学小白的我来说太难了。。。...
  6. 数值分析matlab实验报告,数值分析第一次作业matlab实验报告.doc
  7. 步进电机驱动器powerSTEP01_电源管理外围电路解析
  8. 74HC573锁存器的原理和使用
  9. word-embedding(skip-gram)(pytorch入门3)
  10. 创龙Xilinx Zynq-7000系列SoC高性能处理器开发板的SFP+接口、FMC接口
  11. 微信硬件平台蓝牙打印机
  12. php算法,记录PHP常见的几种算法
  13. python降低图片分辨率怎么调_使用PIL调整图片分辨率
  14. repos install.packages()安装镜像
  15. 技术分享 | 黑盒测试方法论—场景法
  16. HotSwap和JRebel原理
  17. JavaMail详解
  18. STM32 CUbeIDE 使用Ymodem协议进行串口IAP升级
  19. 插上耳机,电脑跟耳机都有声音(声音外放)解决办法
  20. SQL Server 触发器创建、删除、修改、查看示例

热门文章

  1. Linux环境下安装Mysql+SphinxSE
  2. BGP community
  3. kali burpsuite 安装与使用
  4. STC89C52单片机 数码管静态显示
  5. 禁止Html5在手机上屏幕页面缩放
  6. Nginx在windows上安装 及 Nginx的配置及优化
  7. 6.Mybatis中的动态Sql和Sql片段(Mybatis的一个核心)
  8. POJ 2391 Ombrophobic Bovines 网络流 建模
  9. 【线性规划和网络流24题】
  10. Ubuntu 10.10 安装配置 Ruby on Rails