Citus系统表和视图

系统表

pg_dist_partition 分区元信息

存储数据库中分布式表的元数据

名称 类型 描述
logicalrelid regclass 分区表名
partmethod char 分发类型 ‘a’:追加类型, ‘h’:hash类型, ‘n’:参考表
partkey text 分区键值信息
colocationid integer 共址表id(引用pg_dist_colocation的colocationid列)
repmodel char 复制类型 ‘c’:citus statement-based replication,’s’: postgresql streaming replication,’t’:两阶段提交(参考表用)

pg_dist_shard 分片表元信息

存储有分布式表的各个分片的元数据。对于追加分布式表,存储分发列的最小值/最大值。在散列分布式表的情况下,它们是分配给该分片的散列hash范围。

名称 类型 描述
logicalrelid regclass 此分片所属的分布式表名
shardid BIGINT 分配给此分片的全局唯一标识符
shardstorage char 用于此分片的存储类型。‘t’:常规的分布式表。’c’:列存储表(用于分布式cstore_fdw表)。’f’:外部表(用于分布式file_fdw表)
shardminvalue text 分发列的最小值
shardmaxvalue text 分发列的最大值

pg_dist_placement 分片放置表

存储有关每个分片的运行状况和位置的信息。

名称 类型 描述
shardid BIGINT 与分片标识id。该值引用pg_dist_shard目录表中的shardid列。
shardstate INT 此分片的状态。’1‘:正常的分片。’3’:非活动状态,此分片不会被使用。’4’:master_apply_delete_command调用失败的状态,停止对该分片的操作手动删除。
shardlength BIGINT 对于append分布式表,存储分片的大小以字节为单位。对于散列分布式表为零。
placementid BIGINT 每个展示位置的唯一标识id。
GROUPID INT 分配的group信息。

pg_dist_node 工作节点表

包含有关集群中工作节点的信息。

名称 类型 描述
NODEID INT 自动生成的单个节点的标识符
GROUPID INT 组ID,流复制时主服务器与备服务器可组成一个组
nodename text PostgreSQL工作节点的主机名或IP地址
nodeport INT PostgreSQL工作节点正在侦听的端口号
noderack text (可选)工作节点的机架信息
hasmetadata bool 节点是否有元信息
isactive bool 节点是否处于活动状态
noderole text 节点是主节点还是辅节点
nodecluster text 此节点的集群的名称

pg_dist_colocation 共址表信息

表的共址信息。

名称 类型 描述
colocationid INT 共址组的唯一标识符
shardcount INT 此共址组中表的分片计数
replicationfactor INT 复制因子
distributioncolumntype OID 分发列类型

citus_stat_statements 查询统计表

是Citus Enterprise的一部分

名称 类型 描述
queryid BIGINT 标识符(可用于pg_stat_statements的join)
userid OID 运行查询的用户ID
DBID OID 协调器的数据库ID
query text 执行的语句
executor text 执行器:real-time, task-tracker, router, insert-select
partition_key text 路由器执行的查询中的分发列的值,否则为NULL
calls BIGINT 查询运行的次数

pg_dist_authinfo 连接信息

Citus Enterprise Edition的一部分

该pg_dist_authinfo表包含Citus节点用于彼此连接的身份验证参数。

名称 类型 描述
nodeid integer work节点的nodeid, 0:代表所有节点。-1:代表本地循环。
rolename name 用户名
authinfo text libpq的连接参数
SELECT * FROM pg_dist_authinfo;

 nodeid | rolename | authinfo
--------+----------+-----------------
    123 | jdoe     | password=abc123
(1 row)

pg_dist_poolinfo 连接池信息

Citus Enterprise Edition的一部分

如果存在连接池信息,Citus将尝试使用连接池而不是直接连接。
如果要使用连接池连接到节点,需要在pg_dist_poolinfo中插入连接池信息,连接信息包含主机,端口和数据库名称。

名称 类型 描述
NODEID int Worker的节点ID
poolinfo text 空格分隔的参数:host,port或dbname
INSERT  INTO  pg_dist_poolinfo  (nodeid , poolinfo )
     VALUES  (1 , 'host = 127.0.0.1 port = 5433' );

在某些情况下,Citus会忽略pg_dist_poolinfo中的设置。例如,Shard重新平衡与诸如pgbouncer之类的连接不兼容。在这些情况下,Citus将使用直接连接。


视图

citus_dist_stat_activity

显示在所有节点上执行的分布式查询

citus_worker_stat_activity

显示worker的查询包括针对各个分片的查询

citus_lock_waits

整个群集中的锁的信息

citus_shards_on_worker

MX模式下,查询分片表的信息

SELECT * FROM citus_shards_on_worker ORDER BY 2;

 Schema |        Name        | Type  | Owner
--------+--------------------+-------+-------
 public | test_table_1130000 | table | citus
 public | test_table_1130002 | table | citus

citus_shard_indexes_on_worker

MX模式下,查询索引的信息

SELECT * FROM citus_shard_indexes_on_worker ORDER BY 2

 Schema |        Name        | Type  | Owner |       Table
--------+--------------------+-------+-------+--------------------
 public | test_index_1130000 | index | citus | test_table_1130000
 public | test_index_1130002 | index | citus | test_table_1130002
文章浏览总量 1,001 次

要发表评论,您必须先登录