创建一张log表,然后插入500条数据,如下:
[postgres@pg01 ~]$ psql -p5433 psql (PGXL 10r1, based on PG 10.5 (Postgres-XL 10r1)) Type "help" for help. postgres=# CREATE TABLE log (id numeric NOT NULL,stamp timestamp with time zone,user_id numeric); postgres=# copy log from '/u02/tmp/log.csv' with csv; COPY 499 3.2 查看表数据分布信息可以在协调器节点或者各个数据节点查看,这里使用下面的语句直接统计每个数据节点的表数据分布情况:
postgres=# SELECT xc_node_id, count(*) FROM log GROUP BY xc_node_id; 3.3 建表说明distribute表
默认情况下,系统会将插入的数据,按照拆分规则,分配到不同的datanode节点中存储,也就是sharding技术。每个datanode节点只保存了部分数据,通过coordinate节点可以查询完整的数据视图。上面创建的log表就是distribute表。建表语法如下:
postgres=# CREATE TABLE log (id numeric NOT NULL,stamp timestamp with time zone,user_id numeric) distribute by hash(id);
distribute表数据分布如下图: