华为云用户手册

  • 表分布的定义 GaussDB (DWS)支持的分布方式:复制表(Replication)、哈希表(Hash)和轮询表(Roundrobin)。 轮询表(Roundrobin)分布方式仅8.1.2及以上集群版支持。 策略 描述 适用场景 优势与劣势 复制表(Replication) 集群中每一个DN实例上都有一份全量表数据。 小表、维度表。 Replication优点是每个DN上都有此表的全量数据,在join操作中可以避免数据重分布操作,从而减小网络开销,同时减少了plan segment(每个plan segment都会起对应的线程) Replication缺点是每个DN都保留了表的完整数据,造成数据的冗余。一般情况下只有较小的维度表才会定义为Replication表。 哈希表(Hash) 表数据通过hash方式散列到集群中的所有DN实例上。 数据量较大的事实表。 在读/写数据时可以利用各个节点的IO资源,大幅度提升表的读/写速度。 一般情况下大表(1000000条记录以上)定义为Hash表。 轮询表(Roundrobin) 表的每一行被轮番地发送给各个DN,数据会被均匀地分布在各个DN中。 数据量较大的事实表,且使用Hash分布时找不到合适的分布列。 Roundrobin优点是保证了数据不会发生倾斜,从而提高了集群的空间利用率。 Roundrobin缺点是无法像Hash表一样进行DN本地化优化,查询性能通常不如Hash表。 一般在大表无法找到合适的分布列时,定义为Roundrobin表,若大表能够找到合适的分布列,优先选择性能更好的Hash分布。
  • PG_JOB_INFO PG_JOB_INFO系统表记录定时任务的执行结果信息。该系统表的schema是dbms_om。 表1 pg_job_info字段 名称 类型 描述 job_id integer 任务ID。 job_db oid 任务所在数据库OID。 start_time timestamp with zone 任务执行开始时间。 status character(8) 任务执行状态。 end_time timestamp with zone 任务执行结束时间。 err_msg text 任务执行出错信息。 父主题: 系统表
  • 应用示例 查询当前用户下指定表的约束信息。t1替换为实际的表名。 1 2 3 4 5 SELECT * FROM USER_CONSTRAINTS WHERE table_name='t1'; constraint_name | constraint_type | table_name | index_owner | index_name -----------------+-----------------+------------+-------------+--------------- c_custkey_key | p | t1 | u1 | c_custkey_key (1 row)
  • PGXC_TOTAL_SCHEMA_INFO_ANALYZE PGXC_TOTAL_SCHEMA_INFO_ANALYZE视图提供了集群整体的Schema空间信息,包括:集群空间总值、各实例空间平均值、倾斜率、单实例空间最大值、单实例空间最小值以及最大最小空间所在的实例名,便于用户获悉集群整体的Schema空间使用情况,仅支持在CN节点上查询。 表1 PGXC_TOTAL_SCHEMA_INFO_ANALYZE字段 名称 类型 描述 schemaname text 模式名称。 databasename text 数据库名称。 nodegroup text 节点组名称。 total_value bigint 该模式的集群空间总值。 avg_value bigint 该模式的各实例空间平均值。 skew_percent integer 倾斜率。 extend_info text 提供信息包括:单实例空间最大值、单实例空间最小值以及最大最小空间所在的实例名。 父主题: 系统视图
  • SNAPSHOT SNAPSHOT系统表记录每次创建性能视图快照的起止时间,设置enable_wdr_snapshot为on后,该表由后台快照线程创建并维护。需要有系统管理员权限才可以访问此系统表。 表1 dbms_om.snapshot字段 名称 类型 描述 snapshot_id name 快照ID(此字段为主键和分布键)。 start_ts timestamp with time zone 快照开始时间。 end_ts timestamp with time zone 快照结束时间。 此系统表的schema是dbms_om。 禁止从外部修改或删除此表,否则可能引起视图快照相关功能异常。 父主题: 系统表
  • PG_WORKLOAD_ACTION PG_WORKLOAD_ACTION系统表存储query_band的信息。 表1 PG_WORKLOAD_ACTION字段 名称 类型 描述 qband name query band键值对。 class name query band关联行为类别。 object name query band关联行为。 action name query band关联行为表现。 父主题: 系统表
  • PGXC_TOTAL_SCHEMA_INFO PGXC_TOTAL_SCHEMA_INFO视图提供了集群所有实例上的Schema空间信息,便于用户获悉集群各个实例上的Schema空间使用情况,仅支持在CN节点上查询。 表1 PGXC_TOTAL_SCHEMA_INFO字段 名称 类型 描述 schemaname text 模式名称。 schemaid oid 模式OID。 databasename text 数据库名称。 databaseid oid 数据库OID。 nodename text 实例名称。 nodegroup text 节点组名称。 usedspace bigint 已使用的空间大小。 permspace bigint 空间上限值。 父主题: 系统视图
  • PGXC_COMM_STATUS PGXC_COMM_STATUS视图展示所有DN的通信库状态。 表1 PGXC_COMM_STATUS字段 名称 类型 描述 node_name text 节点名称。 rxpck/s integer 节点通信库接收速率,单位为Byte/s。 txpck/s integer 节点通信库发送速率,单位为Byte/s。 rxkB/s bigint 节点通信库接收速率,单位为KByte/s。 txkB/s bigint 节点通信库发送速率,单位为KByte/s。 buffer bigint cmailbox的buffer大小。 memKB(libcomm) bigint libcomm进程通信内存大小,单位为KByte。 memKB(libpq) bigint libpq进程通信内存大小,单位为KByte。 %USED(PM) integer postmaster线程实时使用率。 %USED (sflow) integer gs_sender_flow_controller线程实时使用率。 %USED (rflow) integer gs_receiver_flow_controller线程实时使用率。 %USED (rloop) integer 多个gs_receivers_loop线程中最高的实时使用率。 stream integer 当前使用的逻辑连接总数。 父主题: 系统视图
  • GS_WLM_SESSION_HISTORY GS_WLM_SESSION_HISTORY视图显示当前用户在当前CN上执行作业结束后的负载管理记录。此视图用于从GaussDB(DWS)中查询数据,仅当GUC参数enable_resource_track为on时,视图会查询GS_WLM_SESSION_INFO表中3分钟内的数据进行返回。 表1 GS_WLM_SESSION_HISTORY的字段 名称 类型 描述 datid oid 连接后端的数据库OID。 dbname text 连接后端的数据库名称。 schemaname text 模式名。 nodename text 语句执行的CN名称。 username text 连接到后端的用户名。 application_name text 连接到后端的应用名。 client_addr inet 连接到后端的客户端的IP地址。 如果此字段是null,它表明通过服务器机器上UNIX套接字连接客户端或者这是内部进程,如autovacuum。 client_hostname text 客户端的主机名,这个字段是通过client_addr的反向DNS查找得到。这个字段只有在启动log_hostname且使用IP连接时才非空。 client_port integer 客户端用于与后端通讯的TCP端口号,如果使用Unix套接字,则为-1。 query_band text 用于标示作业类型,可通过GUC参数query_band进行设置,默认为空字符串。 block_time bigint 语句执行前的阻塞时间,包含语句解析和优化时间,单位为毫秒。 start_time timestamp with time zone 语句执行的开始时间。 finish_time timestamp with time zone 语句执行的结束时间。 duration bigint 语句实际执行的时间,单位为毫秒。 estimate_total_time bigint 语句预估执行时间,单位为毫秒。 status text 语句执行结束状态:正常为finished,异常为aborted。该处记录的语句状态应为数据库服务端执行状态,当服务器端执行成功,结果集返回时报错,该语句应为finished。 abort_info text 语句执行结束状态为aborted时显示异常信息。 resource_pool text 用户使用的资源池。 control_group text 语句所使用的Cgroup。 estimate_memory integer 语句在单个实例上预估使用的内存,单位为MB。该字段只有当GUC参数enable_dynamic_workload为on时才有效。 min_peak_memory integer 语句在所有DN上的最小内存峰值,单位为MB。 max_peak_memory integer 语句在所有DN上的最大内存峰值,单位为MB。 average_peak_memory integer 语句执行过程中的内存使用平均值,单位为MB。 memory_skew_percent integer 语句各DN间的内存使用倾斜率。 spill_info text 语句在所有DN上的下盘信息: None:所有DN均未下盘。 All:所有DN均下盘。 [a:b]:数量为b个DN中有a个DN下盘。 min_spill_size integer 若发生下盘,所有下盘DN的最小下盘数据量,单位为MB。默认为0。 max_spill_size integer 若发生下盘,所有下盘DN的最大下盘数据量,单位为MB。默认为0。 average_spill_size integer 若发生下盘,所有下盘DN的平均下盘数据量,单位为MB。默认为0。 spill_skew_percent integer 若发生下盘,DN间下盘倾斜率。 min_dn_time bigint 语句在所有DN上的最小执行时间,单位为毫秒。 max_dn_time bigint 语句在所有DN上的最大执行时间,单位为毫秒。 average_dn_time bigint 语句在所有DN上的平均执行时间,单位为毫秒。 dntime_skew_percent integer 语句在各DN间的执行时间倾斜率。 min_cpu_time bigint 语句在所有DN上的最小CPU时间,单位为毫秒。 max_cpu_time bigint 语句在所有DN上的最大CPU时间,单位为毫秒。 total_cpu_time bigint 语句在所有DN上的CPU总时间,单位为毫秒。 cpu_skew_percent integer 语句在DN间的CPU时间倾斜率。 min_peak_iops integer 语句在所有DN上的每秒最小IO峰值(列存单位为次/s,行存单位为万次/s)。 max_peak_iops integer 语句在所有DN上的每秒最大IO峰值(列存单位为次/s,行存单位为万次/s)。 average_peak_iops integer 语句在所有DN上的每秒平均IO峰值(列存单位为次/s,行存单位为万次/s)。 iops_skew_percent integer 语句在DN间的IO倾斜率。 warning text 主要显示如下几类告警信息以及SQL自诊断调优相关告警: Spill file size large than 256MB Broadcast size large than 100MB Early spill Spill times is greater than 3 Spill on memory adaptive Hash table conflict queryid bigint 语句执行使用的内部query id。 query text 执行的语句,最多可保留64KB长度的字符串。 query_plan text 语句的执行计划。 规格限制: DML语句都会显示执行计划,DDL语句不显示执行计划。 当用户下发PBE(Parse Bind Execute)批处理语句时,为了便于分析语句情况,自8.2.1.100集群版本开始,为批处理的PBE语句的执行计划添加数据绑定次数,显示为“PBE bind times:次数”格式。 node_group text 语句所属用户对应的逻辑集群。 pid bigint 语句的后端线程的pid。 lane text 语句执行时所在的快慢车道。 unique_sql_id bigint 归一化的Unique SQL ID。 session_id text 在数据库系统中唯一标记一个session,格式:session_start_time.tid.node_name。 min_read_bytes bigint 语句在所有DN上的最小IO读字节数,单位为Bytes。 max_read_bytes bigint 语句在所有DN上的最大IO读字节数,单位为Bytes。 average_read_bytes bigint 语句在所有DN上的平均IO读字节数,单位为Bytes。 min_write_bytes bigint 语句在所有DN上的最小IO写字节数,单位为Bytes。 max_write_bytes bigint 语句在所有DN上的最大IO写字节数,单位为Bytes。 average_write_bytes bigint 语句在所有DN上的平均IO写字节数,单位为Bytes。 recv_pkg bigint 语句在所有DN上的通信包接收总量,单位为packages。 send_pkg bigint 语句在所有DN上的通信包发送总量,单位为packages。 recv_bytes bigint 语句在所有DN上的通信流接收数据总量,单位为Byte。 send_bytes bigint 语句在所有DN上的通信流发送数据总量,单位为Byte。 stmt_type text 语句对应的查询类型。 except_info text 语句触发的异常规则信息。 parse_time bigint 语句排队前的解析总时间(包含词法语法解析,优化重写和计划生成时间),单位为毫秒。该字段仅8.3.0.100及以上版本支持。 父主题: 系统视图
  • PG_STAT_BGWRITER PG_STAT_BGWRITER视图显示关于后端写进程活动的统计信息。 表1 PG_STAT_BGWRITER字段 名称 类型 描述 checkpoints_timed bigint 定期执行的检查点数量。 checkpoints_req bigint 请求执行的检查点数量。 checkpoint_write_time double precision 检查点期间将文件写入磁盘花费的时间,单位为毫秒。 checkpoint_sync_time double precision 检查点期间数据同步到磁盘花费的时间,单位为毫秒。 buffers_checkpoint bigint 检查点期间写入缓冲区的数量。 buffers_clean bigint 后端写进程写的缓冲区数量。 maxwritten_clean bigint 由于写入缓冲区太多,后端写进程停止清理扫描的次数。 buffers_backend bigint 后端直接写入的缓冲区数量。 buffers_backend_fsync bigint 后端需要fsync的次数。 buffers_alloc bigint 分配的缓冲区数量。 stats_reset timestamp with time zone 统计重置的时间。 父主题: 系统视图
  • PGXC_WLM_SESSION_STATIS TICS PGXC_WLM_SESSION_STATISTI CS 视图显示在所有CN上正在执行的作业的负载管理信息。 表1 PGXC_WLM_SESSION_STATISTICS的字段 名称 类型 描述 datid oid 连接后端的数据OID。 dbname name 连接后端的数据库名称。 schemaname text 模式名。 nodename text 语句执行的CN节点名称。 username name 连接到后端的用户名。 application_name text 连接到后端的应用名。 client_addr inet 连接到后端的客户端的IP地址。 如果此字段是null,它表明通过服务器机器上UNIX套接字连接客户端或者这是内部进程,如autovacuum。 client_hostname text 客户端的主机名,这个字段是通过client_addr的反向DNS查找得到。这个字段只有在启动log_hostname且使用IP连接时才非空。 client_port integer 客户端用于与后端通讯的TCP端口号,如果使用Unix套接字,则为-1。 query_band text 用于标示作业类型,可通过GUC参数query_band进行设置,默认为空字符串。 pid bigint 后端线程ID。 block_time bigint 语句执行前的阻塞时间,单位为毫秒。 start_time timestamp with time zone 语句执行的开始时间。 duration bigint 语句已经执行的时间,单位为毫秒。 estimate_total_time bigint 语句执行预估总时间,单位为毫秒。 estimate_left_time bigint 语句执行预估剩余时间,单位为毫秒。 enqueue text 工作负载管理资源状态。 resource_pool name 用户使用的资源池。 control_group text 语句所使用的Cgroup。 estimate_memory integer 语句在单个实例上预估使用的内存,单位为MB。该字段只有当GUC参数enable_dynamic_workload为on时才有效。 min_peak_memory integer 语句在所有DN上的最小内存峰值,单位为MB。 max_peak_memory integer 语句在所有DN上的最大内存峰值,单位为MB。 average_peak_memory integer 语句执行过程中的内存使用平均值,单位为MB。 memory_skew_percent integer 语句在各DN间的内存使用倾斜率。 spill_info text 语句在所有DN上的下盘信息: None:所有DN均未下盘。 All:所有DN均下盘。 [a:b]:数量为b个DN中有a个DN下盘。 min_spill_size integer 若发生下盘,所有下盘DN的最小下盘数据量,单位为MB。默认为0。 max_spill_size integer 若发生下盘,所有下盘DN的最大下盘数据量,单位为MB。默认为0。 average_spill_size integer 若发生下盘,所有下盘DN的平均下盘数据量,单位为MB,默认为0。 spill_skew_percent integer 若发生下盘,DN间下盘倾斜率。 min_dn_time bigint 语句在所有DN上的最小执行时间,单位为毫秒。 max_dn_time bigint 语句在所有DN上的最大执行时间,单位为毫秒。 average_dn_time bigint 语句在所有DN上的平均执行时间,单位为毫秒。 dntime_skew_percent integer 语句在各DN间的执行时间倾斜率。 min_cpu_time bigint 语句在所有DN上的最小CPU时间,单位为毫秒。 max_cpu_time bigint 语句在所有DN上的最大CPU时间,单位为毫秒。 total_cpu_time bigint 语句在所有DN上的CPU总时间,单位为毫秒。 cpu_skew_percent integer 语句在各DN间的CPU时间倾斜率。 min_peak_iops integer 语句在所有DN上的每秒最小IO峰值(列存单位为次/s,行存单位为万次/s)。 max_peak_iops integer 语句在所有DN上的每秒最大IO峰值(列存单位为次/s,行存单位为万次/s)。 average_peak_iops integer 语句在所有DN上的每秒平均IO峰值(列存单位为次/s,行存单位为万次/s)。 iops_skew_percent integer 语句在DN间的IO倾斜率。 min_read_speed integer 一个监控周期(5s)内,语句在所有DN上的最小IO读速率,单位为KB/s。 max_read_speed integer 一个监控周期(5s)内,语句在所有DN上的最大IO读速率,单位为KB/s。 average_read_speed integer 一个监控周期(5s)内,语句在所有DN上的平均IO读速率,单位为KB/s。 min_write_speed integer 一个监控周期(5s)内,语句在所有DN上的最小IO写速率,单位为KB/s。 max_write_speed integer 一个监控周期(5s)内,语句在所有DN上的最大IO写速率,单位为KB/s。 average_write_speed integer 一个监控周期(5s)内,语句在所有DN上的平均IO写速率,单位为KB/s。 recv_pkg bigint 语句在所有DN上的通信包接收总量,单位为packages。 send_pkg bigint 语句在所有DN上的通信包发送总量,单位为packages。 recv_bytes bigint 语句在所有DN上的通信流接收数据总量,单位为Byte。 send_bytes bigint 语句在所有DN上的通信流发送数据总量,单位为Byte。 warning text 主要显示如下几类告警信息以及SQL自诊断调优相关告警: Spill file size large than 256MB Broadcast size large than 100MB Early spill Spill times is greater than 3 Spill on memory adaptive Hash table conflict unique_sql_id bigint 归一化的Unique SQL ID。 queryid bigint 语句执行使用的内部query id。 query text 正在执行的语句。 query_plan text 语句的执行计划。 规格限制: DML语句都会显示执行计划,DDL语句不显示执行计划。 当用户下发PBE(Parse Bind Execute)批处理语句时,为了便于分析语句情况,自8.2.1.100集群版本开始,为批处理的PBE语句的执行计划添加数据绑定次数,显示为“PBE bind times:次数”格式。 node_group text 语句所属用户对应的逻辑集群。 stmt_type text 语句所对应的查询类型。 except_info text 语句触发的异常规则信息。 parse_time bigint 语句排队前的解析总时间(包含词法语法解析,优化重写和计划生成时间),单位为毫秒。该字段仅8.3.0.100及以上版本支持。 父主题: 系统视图
  • PGXC_OS_THREADS PGXC_OS_THREADS视图提供当前集群中所有正常节点下的线程状态信息。 表1 PGXC_OS_THREADS字段 名称 类型 描述 node_name text 当前集群中所有正常节点的名称。 pid bigint 当前集群中所有正常节点进程中正在运行的线程号。 lwpid integer 与pid对应的轻量级线程号。 thread_name text 与pid对应的线程名称。 creation_time timestamp with time zone 与pid对应的线程创建的时间。 父主题: 系统视图
  • PG_COMM_RECV_STREAM PG_COMM_RECV_STREAM视图展示单个DN上所有的通信库接收流状态。 表1 PG_COMM_RECV_STREAM字段 名称 类型 描述 node_name text 节点名称。 local_tid bigint 使用此通信流的线程ID。 remote_name text 连接对端节点名称。 remote_tid bigint 连接对端线程ID。 idx integer 通信对端DN在本DN内的标识编号。 sid integer 通信流在物理连接中的标识编号。 tcp_sock integer 通信流所使用的tcp通信socket。 state text 通信流当前的状态: UNKNOWN:表示当前逻辑连接状态未知。 READY:表示逻辑连接已就绪。 RUN:表示逻辑连接接收报文正常。 HOLD:表示逻辑连接接收报文等待中。 CLOSED:表示关闭逻辑连接。 TO_CLOSED:表示将会关闭逻辑连接。 WRITING:表示正在写入数据。 query_id bigint 通信流对应的debug_query_id编号。 pn_id integer 通信流所执行查询的plan_node_id编号。 send_smp integer 通信流所执行查询send端的smpid编号。 recv_smp integer 通信流所执行查询recv端的smpid编号。 recv_bytes bigint 通信流接收的数据总量,单位为Byte。 time bigint 通信流当前生命周期使用时长,单位为毫秒。 speed bigint 通信流的平均接收速率,单位为Byte/s。 quota bigint 通信流当前的通信配额值,单位为Byte。 buff_usize bigint 通信流当前缓存的数据大小,单位为Byte。 父主题: 系统视图
  • GS_WORKLOAD_SQL_COUNT GS_WORKLOAD_SQL_COUNT视图显示当前节点上Workload控制组内的SQL语句执行次数的统计信息,包括SELECT、UPDATE、INSERT、DELETE语句的执行次数统计,以及DDL、DML、DCL类型语句的执行次数统计。 表1 GS_WORKLOAD_SQL_COUNT字段 名称 类型 描述 workload name Workload控制组名称。 select_count bigint SELECT数量。 update_count bigint UPDATE数量。 insert_count bigint INSERT数量。 delete_count bigint DELETE数量。 ddl_count bigint DDL数量。 dml_count bigint DML数量。 dcl_count bigint DCL数量。 父主题: 系统视图
  • ALL_TABLES ALL_TABLES视图存储当前用户可访问的所有表。 表1 ALL_TABLES字段 名称 类型 描述 owner character varying(64) 表的所有者。 table_name character varying(64) 表名。 tablespace_name character varying(64) 表所在的表空间名称。 status character varying(8) 当前记录是否有效。 temporary character(1) 表是否为临时表。 Y表示是临时表。 N表示不是临时表。 dropped character varying 当前记录是否已删除。 YES表示已删除。 NO表示未删除。 num_rows numeric 表的估计行数。 父主题: 系统视图
  • USER_JOBS USER_JOBS视图为当前用户所属定时任务的详细信息。需要有系统管理员权限才可以访问此系统视图。 表1 USER_JOBS字段 名字 类型 描述 job int4 作业ID。 log_user name not null 创建者的UserName。 priv_user name not null 作业执行者的UserName。 dbname name not null 作业创建数据库名字。 start_date timestamp without time zone 作业的开始时间。 start_suc text 作业成功执行的开始时间。 last_date timestamp without time zone 上次运行开始时间。 last_suc text 上次成功运行的开始时间。 this_date timestamp without time zone 正在运行任务的开始时间。 this suc text 正在运行任务成功的开始时间。 next_date timestamp without time zone 任务下次执行时间。 next suc text 任务下次成功执行时间。 broken text 任务状态 如果为Y,不尝试运行此任务。 如果为N,将尝试执行此任务。 status char 当前任务的执行状态,取值范围:('r', 's', 'f', 'd'),默认为'r',取值含义: r=running s=successfully finished f= job failed d=aborted interval text 用来计算下次运行时间的时间表达式,如果为nul,l则表示定时任务只执行一次。 failures smallint 连续失败计数。 what text 可执行的作业。 父主题: 系统视图
  • PG_STAT_OBJECT PG_STAT_OBJECT系统表存储当前实例上表的统计信息和autovacuum效率信息,并且对于databaseid,relid,partid字段创建索引。该系统表的更新受enable_pg_stat_object参数控制。该系统表仅8.2.1及以上集群版本支持。 表1 PG_STAT_OBJECT字段 名称 类型 引用 描述 databaseid oid PG_DATABASE.oid 数据库OID。 relid oid PG_CLASS.oid 表OID,分区表为主表OID。 partid oid PG_PARTITION .oid 分区OID,普通表此列为0。 numscans bigint - 启动顺序扫描的次数。 tuples_returned bigint - 顺序扫描抓取的可见元组条数。 tuples_fetched bigint - 抓取的可见元组条数。 tuples_inserted bigint - 插入条数。 tuples_updated bigint - 更新条数。 tuples_deleted bigint - 删除条数。 tuples_hot_updated bigint - HOT更新条数。 n_live_tuples bigint - 可见元组数。 last_autovacuum_begin_n_dead_tuple bigint - Autovacuum执行前删除元组数。 n_dead_tuples bigint - Autovacuum成功后删除元组数。 changes_since_analyze bigint - Analyze后最近一次数据修改时间。 blocks_fetched bigint - 选中的页面数。 blocks_hit bigint - 扫描过的页面数。 cu_mem_hit bigint - CU内存命中次数。 cu_hdd_sync bigint - 从磁盘同步读取CU次数。 cu_hdd_asyn bigint - 从磁盘异步读取CU次数。 data_changed_timestamp timestamp with time zone - 最近一次数据修改时间。 data_access_timestamp timestamp with time zone - 表的最后一次访问时间。 analyze_timestamp timestamp with time zone - 最近一次analyze时间。 analyze_count bigint - Analyze总次数。 autovac_analyze_timestamp timestamp with time zone - 最近一次autoanalyze时间。 autovac_analyze_count bigint - Autoanalyze总次数。 vacuum_timestamp timestamp with time zone - 最近一次vacuum的时间。 vacuum_count bigint - vacuum总次数。 autovac_vacuum_timestamp timestamp with time zone - 最近一次autovacuum时间。 autovac_vacuum_count bigint - Autovacuum总次数。 autovacuum_success_count bigint - 成功执行的autovacuum总次数。 last_autovacuum_time_cost bigint - 最近一次成功的autovacuum花费时间,单位为微秒。 avg_autovacuum_time_cost bigint - 成功执行autovacuum的平均执行时间,单位为微秒。 last_autovacuum_failed_count bigint - 从上一次autovacuum成功到现在,autovacuum总失败次数。 last_autovacuum_trigger smallint - 最近一次autovacuum触发方式,用于辅助维护人员进行vacuum情况的判断。 last_autovacuum_oldestxmin bigint - 最近一次autovacuum成功执行后的oldestxmin。如果表级oldestxmin特性开启,此字段记录此表最近一次(auto)vacuum使用的oldestxmin值。 last_autovacuum_scan_pages bigint - 最近一次autovacuum扫描的页面数(仅针对行存表)。 last_autovacuum_dirty_pages bigint - 最近一次autovacuum修改的页面数(仅针对行存表)。 last_autovacuum_clear_deadtuples bigint - 最近一次autovacuum清理的deadtuple数(仅针对行存表)。 sum_autovacuum_scan_pages bigint - 从数据库初始化开始到现在,autovacuum累计扫描的页面数(仅针对行存表)。 sum_autovacuum_dirty_pages bigint - 从数据库初始化开始到现在,autovacuum累计修改的页面数(仅针对行存表)。 sum_autovacuum_clear_deadtuples bigint - 从数据库初始化开始到现在,autovacuum累计清理的deadtuple数(仅针对行存表)。 last_autovacuum_begin_cu_size bigint - 最近一次autovacuum前的CU文件大小(仅针对列存表)。 last_autovacuum_cu_size bigint - 最近一次autovacuum后的CU文件大小(仅针对列存表)。 last_autovacuum_rewrite_size bigint - 最近一次autovacuum重写的列存文件大小(仅针对列存表)。 last_autovacuum_clear_size bigint - 最近一次autovacuum清理的列存文件大小(仅针对列存表)。 last_autovacuum_clear_cbtree_tuples bigint - 最近一次autovacuum清理的cbtree tuple数(仅针对列存表)。 sum_autovacuum_rewrite_size bigint - 从数据库初始化开始到现在,autovacuum累计重写的列存文件大小(仅针对列存表)。 sum_autovacuum_clear_size bigint - 从数据库初始化开始到现在,autovacuum累计清理的列存文件大小(仅针对列存表)。 sum_autovacuum_clear_cbtree_tuples bigint - 从数据库初始化开始到现在,autovacuum累计清理的cbtree tuple数(仅针对列存表)。 last_autovacuum_csn bigint - 如果表级oldestxmin特性打开,此字段记录此表最近一次(auto)vacuum使用的oldestxmin值对应的CSN值。 extra1 bigint - 预留字段1。 extra2 bigint - 预留字段2。 extra3 bigint - 预留字段3。 extra4 bigint - 预留字段4。 父主题: 系统表
  • 应用示例 查询集群当前正在执行的语句,以及这些语句分别产生的wal日志的总量和平均速率、数据页总量和平均速率,以及这些信息各自DN上的分布情况。 1 2 3 4 5 6 7 8 9 10 SELECT * FROM PGXC_STAT_WAL; query_id | query_start | global_wal | global_avg_wal_speed | global_datapage | global_avg_datapage_speed | min_wal_node | min_wal | max_wal_node | max_wal | min_datapage_node | min_data_page | max_datapage_node | max_data_page | avg_wal_per_node | avg_datapage_per_node | query -------------------+-------------------------------+------------+----------------------+-----------------+---------------------------+--------------+----------+--------------+----------+-------------------+---------------+-------------------+---------------+------------------+- ----------------------+---------------------------------------------- 72620543991351767 | 2022-11-10 16:49:47.743291+08 | 7579052 | 419000 | 284057600 | 15740000 | datanode1 | 7579052 | datanode1 | 7579052 | datanode1 | 284057600 | datanode1 | 284057600 | 7579052 | 284057600 | insert into mpptest3 select * from mpptest3; 72620543991351781 | 2022-11-10 16:50:00.616697+08 | 55022176 | 10638000 | 0 | 0 | datanode1 | 55022176 | datanode1 | 55022176 | datanode1 | 0 | datanode1 | 0 | 55022176 | 0 | insert into mpptest1 select * from mpptest1; (2 rows)
  • PGXC_SESSION_WLMSTAT PGXC_SESSION_WLMSTAT视图显示当前集群中各CN节点用户执行作业正在运行时的负载管理相关信息。 表1 PGXC_SESSION_WLMSTAT字段 名称 类型 描述 nodename name 节点名称 datid oid 连接后端的数据库OID。 datname name 连接后端的数据库名称。 threadid bigint 后端线程ID。 processid integer 后端线程的PID。 usesysid oid 登录后端的用户OID。 appname text 连接到后端的应用名。 usename name 登录到该后端的用户名。 priority bigint 语句所在Cgroups的优先级。 attribute text 语句的属性: Ordinary:语句发送到数据库后被解析前的默认属性。 Simple:简单语句。 Complicated:复杂语句。 Internal:数据库内部语句。 block_time bigint 语句当前为止的pending的时间,单位为秒。 elapsed_time bigint 语句当前为止的实际执行时间,单位为秒。 total_cpu_time bigint 语句在上一时间周期内的DN上CPU使用的总时间,单位为秒。 cpu_skew_percent integer 语句在上一时间周期内的DN上CPU使用的倾斜率。 statement_mem integer 语句执行所需要的估算内存。 active_points integer 语句占用的资源池并发点数。 dop_value integer 从资源池中获取语句的dop值。 control_group text 语句当前所使用的Cgroups。 status text 语句当前的状态,包括: pending:执行前状态。 running:执行进行状态。 finished:执行正常结束。(当enqueue字段为StoredProc或Transaction时,仅代表语句中的部分作业已经执行完毕,该状态会持续到该语句完全执行完毕。) aborted:执行异常终止。 active:非以上四种状态外的正常状态。 unknown:未知状态。 enqueue text 语句当前的排队情况,包括: Global:全局排队。 Respool:资源池排队。 CentralQueue:在中心协调节点(CCN)中排队。 Transaction:语句处于一个事务块中。 StoredProc:语句处于一个存储过程中。 None:未在排队。 Forced None:事务块语句或存储过程语句由于超出设定的等待时间而强制执行。 resource_pool name 语句当前所在的资源池。 query text 该后端的最新查询。如果state状态是active,此字段显示当前正在执行的查询。所有其他情况表示上一个查询。 isplana bool 逻辑集群模式下,语句当前是否占用其他逻辑集群的资源执行。该值默认为f,表示不占用其他逻辑集群的资源执行。 node_group text 语句所属用户对应的逻辑集群。 lane text 表示语句查询的快慢车道。 fast:快车道。 slow:慢车道。 none:未管控。 父主题: 系统视图
  • PG_STAT_BAD_BLOCK PG_STAT_BAD_BLOCK视图显示自节点启动后,读取数据时出现Page/CU校验失败的统计信息。 表1 PG_STAT_BAD_BLOCK字段 名字 类型 描述 nodename text 节点名称。 databaseid integer 数据库OID。 tablespaceid integer 表空间OID。 relfilenode integer 文件对象ID。 forknum integer 文件类型。 error_count integer 出现校验失败的次数。 first_time timestamp with time zone 第一次出现时间。 last_time timestamp with time zone 最近一次出现时间。 父主题: 系统视图
  • PV_REDO_STAT PV_REDO_STAT视图提供当前节点上X LOG 重做过程中的统计信息。 表1 PV_REDO_STAT字段 名称 类型 描述 phywrts bigint 物理写次数。 phyblkwrt bigint 物理写块数。 writetim bigint 物理写消耗时间。 avgiotim bigint 平均每次写入时间。 lstiotim bigint 上一次写入时间。 miniotim bigint 最小写入时间。 maxiowtm bigint 最大写入时间。 父主题: 系统视图
  • PG_SHDESCRIPTION PG_SHDESCRIPTION系统表存储共享数据库对象的可选注释。可以使用COMMENT命令操作注释的内容,使用gsql的\d命令查看注释内容。 PG_DESCRIPTION提供了类似的功能,它记录了单个数据库中对象的注释。 不同于大多数系统表,PG_SHDESCRIPTION在集群中所有数据库之间共享:每个数据库集群只有一个PG_SHDESCRIPTION,而不是每个数据库一个。 表1 PG_SHDESCRIPTION字段 名字 类型 引用 描述 objoid oid 任意OID属性 此描述所属的对象的OID。 classoid oid PG_CLASS.oid 此对象所在的系统目录的OID。 description text - 作为对该对象描述的任意文本。 父主题: 系统表
  • PG_SHARED_MEMORY_DETAIL PG_SHARED_MEMORY_DETAIL视图查询所有已产生的共享内存上下文的使用信息。 表1 PG_SHARED_MEMORY_DETAIL字段 名字 类型 描述 contextname text 内存上下文的名字。 level smallint 当前上下文在整体内存上下文中的层级。 parent text 上级内存上下文。 totalsize bigint 共享内存总大小,单位为Byte。 freesize bigint 共享内存剩余大小,单位为Byte。 usedsize bigint 共享内存使用大小,单位为Byte。 父主题: 系统视图
  • GS_TOTAL_NODEGROUP_MEMORY_DETAIL GS_TOTAL_NODEGROUP_MEMORY_DETAIL视图统计当前数据库逻辑集群使用内存的信息,单位为MB。 表1 GS_TOTAL_NODEGROUP_MEMORY_DETAIL字段 名称 类型 描述 ngname text 逻辑集群名称。 memorytype text 内存类型,包括以下几种: ng_total_memory:该逻辑集群的总内存大小。 ng_used_memory:该逻辑集群的实际使用内存大小。 ng_estimate_memory:该逻辑集群的估算使用内存大小。 ng_foreignrp_memsize:该逻辑集群的外部资源池的总内存大小。 ng_foreignrp_usedsize:该逻辑集群的外部资源池实际使用内存大小。 ng_foreignrp_peaksize:该逻辑集群的外部资源池使用内存的峰值。 ng_foreignrp_mempct:该逻辑集群的外部资源池占该逻辑集群总内存大小的百分比。 ng_foreignrp_estmsize:该逻辑集群的外部资源池估算使用内存大小。 memorymbytes integer 内存类型分配内存的大小。 父主题: 系统视图
  • GS_WLM_USER_RESOURCE_HISTORY GS_WLM_USER_RESOURCE_HISTORY系统表存储与用户使用资源相关的信息,该表在CN和DN上均存有数据。该系统表的每条记录都是对应时间点某用户的资源使用情况,包括:内存、CPU核数、存储空间、临时空间、算子落盘空间、逻辑IO流量、逻辑IO次数和逻辑IO速率信息。其中,内存、CPU、IO相关监控项仅记录用户复杂作业的资源使用情况。 GS_WLM_USER_RESOURCE_HISTORY系统表的数据来源于PG_TOTAL_USER_RESOURCE_INFO视图。 表1 GS_WLM_USER_RESOURCE_HISTORY字段 名称 类型 描述 username text 用户名。 timestamp timestamp with time zone 时间戳。 used_memory int 用户使用的内存大小,单位为MB。 DN:显示当前DN上用户使用的内存大小。 CN:显示所有DN上用户使用内存的累积和。 total_memory int 资源池使用的内存大小,单位为MB。值为0表示未限制最大可用内存,其限制取决于数据库最大可用内存max_dynamic_memory。具体的计算公式为: total_memory = max_dynamic_memory * parent_percent * user_percent CN:显示所有DN上用户可用内存上限的累积和。 used_cpu real 正在使用的CPU核数。 total_cpu int 该机器节点上,用户关联控制组的CPU核数总和。 used_space bigint 已使用的存储空间大小,单位为KB。 total_space bigint 可使用的存储空间大小,单位为KB。值为-1表示未限制最大存储空间。 used_temp_space bigint 已使用的临时存储空间大小,单位为KB。 total_temp_space bigint 可使用的临时存储空间大小,单位为KB。值为-1表示未限制最大临时存储空间。 used_spill_space bigint 已使用的算子落盘存储空间大小,单位为KB。 total_spill_space bigint 可使用的算子落盘存储空间大小,单位为KB。值为-1表示未限制最大算子落盘存储空间。 read_kbytes bigint 监控周期内,读操作的字节流量,单位为KB。 write_kbytes bigint 监控周期内,写操作的字节流量,单位为KB。 read_counts bigint 监控周期内,读操作的次数。 write_counts bigint 监控周期内,写操作的次数。 read_speed real 监控周期内,读操作的字节速率,单位为KB/s。 write_speed real 监控周期内,写操作的字节速率,单位为KB/s。 send_speed double 监控周期内,网络发送速率,单位为KB/s。 recv_speed double 监控周期内,网络接收速率,单位为KB/s。 父主题: 系统表
  • transaction_sync_timeout 参数说明:为保证数据一致性,当本地事务与GTM上snapshot中状态不一样时会阻塞其他事务的运行,需要等待本地节点上事务状态与GTM状态一致后再运行。当CN上等待时长超过transaction_sync_timeout时会报错,回滚事务,避免由于sync lock等其他情况长时间进程停止响应造成对系统的阻塞。 参数类型:USERSET 取值范围:整型,最小值为0,单位为秒。 默认值:10min
  • transaction_sync_naptime 参数说明:为保证数据一致性,当本地事务与GTM上snapshot中状态不一样时会阻塞其他事务的运行,需要等待本地节点上事务状态与GTM状态一致后再运行。当CN上等待时长超过transaction_sync_naptime时会主动触发gs_clean进行清理,缩短不一致时的阻塞时长。 参数类型:USERSET 取值范围:整型,最小值为0,单位为秒。 默认值:5s 若该值设为0,则不会在阻塞达到时长时主动调用gs_clean进行清理,而是靠gs_clean_timeout间隔来调用gs_clean,默认是5分钟。
  • PG_AUTH_MEMBERS PG_AUTH_MEMBERS系统表存储显示角色之间的成员关系。 表1 PG_AUTH_MEMBERS字段 名称 类型 描述 roleid oid 拥有成员的角色ID。 member oid 属于ROLEID角色的成员角色ID。 grantor oid 赋予此成员关系的角色ID。 admin_option boolean 如果有权限可以把ROLEID角色的成员关系赋予其他角色,则为真。 父主题: 系统表
  • USER_CONS_COLUMNS USER_CONS_COLUMNS视图存储当前用户下表中约束列的信息。 名称 类型 描述 table_name character varying(64) 约束相关的表名。 column_name character varying(64) 约束相关的列名。 constraint_name character varying(64) 约束名。 position smallint 表中列的位置。 父主题: 系统视图
  • PGXC_VARIABLE_INFO PGXC_VARIABLE_INFO视图用于查询集群中所有节点的xid、oid的状态。 表1 PGXC_VARIABLE_INFO字段 名称 类型 描述 node_name text 节点名称。 nextOid oid 该节点下一次生成的OID。 nextXid xid 该节点下一次生成的事务号。 oldestXid xid 该节点最早的事务号。 xidVacLimit xid 强制autovacuum的临界点。 oldestXidDB oid 该节点datafrozenxid最小的数据库OID。 lastExtendCSNLogpage integer 最后一次扩展csnlog的页面号。 startExtendCSNLogpage integer csnlog扩展的起始页面号。 nextCommitSeqNo integer 该节点下次生成的csn号。 latestCompletedXid xid 该节点提交或者回滚后节点上的最新事务号。 startupMaxXid xid 该节点关机前的最后一个事务号。 父主题: 系统视图
共100000条