华为云用户手册

  • WLM_CONTROLGROUP_NG_CONFIG WLM_CONTROLGROUP_NG_CONFIG视图显示数据库内所有的逻辑集群(当前特性是实验室特性,使用时请联系华为技术工程师提供技术支持。)的控制组信息。 表1 WLM_CONTROLGROUP_NG_CONFIG字段 名称 类型 描述 group_name text 控制组的名称。 group_type text 控制组的类型。 gid bigint 控制组ID。 classgid bigint Workload所属Class的控制组ID。 class text Class控制组。 group_workload text Workload控制组。 shares bigint 控制组分配的CPU资源配额。 limits bigint 控制组分配的CPU资源限额。 wdlevel bigint Workload控制组层级。 cpucores text 控制组使用的CPU核的信息。 nodegroup text 逻辑集群名称。 group_kind text node group类型,取值包括i,n,v和e: i:表示installation node group。 n:表示普通非逻辑集群node group。 v:表示逻辑集群node group。 e:表示弹性集群。 父主题: Workload Manager
  • PGXC_WLM_EC_OPERATOR_STATISTICS PGXC_WLM_EC_OPERATOR_STATISTICS视图显示所有CN上正在执行的EC(Extension Connector)作业的算子信息。查询该视图需要sysadmin权限。当前特性是实验室特性,使用时请联系华为技术工程师提供技术支持。 具体的字段请参考GS_WLM_EC_OPERATOR_STATISTICS的字段。 当查询视图无数据显示时,请联系华为工程师提供技术支撑。 父主题: 系统视图
  • GS_WLM_EC_OPERATOR_INFO GS_WLM_EC_OPERATOR_INFO系统表存储执行EC(Extension Connector)作业结束后的算子相关的记录。当设置GUC参数enable_resource_record为on时,系统会每3分钟将GS_WLM_EC_OPERATOR_HISTORY中的记录导入此系统表,开启此功能会占用系统存储空间并对性能有一定影响。查询该系统表需要sysadmin权限。当前特性是实验室特性,使用时请联系华为技术工程师提供技术支持。 当查询视图无数据显示时,请联系华为工程师提供技术支撑。 表1 GS_WLM_EC_OPERATOR_INFO的字段 名称 类型 描述 queryid bigint EC语句执行使用的内部query_id。 plan_node_id integer EC算子对应的执行计划的plan node id。 start_time timestamp with time zone EC算子处理第一条数据的开始时间。 duration bigint EC算子到结束时候总的执行时间(ms)。 tuple_processed bigint EC算子返回的元素个数。 min_peak_memory integer EC算子在所有DN上的最小内存峰值(MB)。 max_peak_memory integer EC算子在所有DN上的最大内存峰值(MB)。 average_peak_memory integer EC算子在所有DN上的平均内存峰值(MB)。 ec_status text EC作业的执行状态。 ec_execute_datanode text 执行EC作业的DN名称。 ec_dsn text EC作业所使用的DSN。 ec_username text EC作业访问远端集群的USERNAME(远端集群为SPARK类型时该值为空)。 ec_query text EC作业发送给远端集群执行的语句。 ec_libodbc_type text EC作业使用的unixODBC驱动类型。 父主题: 系统表
  • GS_WLM_REBUILD_USER_RESOURCE_POOL 该视图用于在当前连接节点上重建内存中用户的资源池信息。只是用于资源池信息缺失或者错乱时用作补救措施。查询该视图需要sysadmin权限。当前特性是实验室特性,使用时请联系华为技术工程师提供技术支持。 表1 GS_WLM_REBUILD_USER_RESOURCE_POOL的字段 名称 类型 描述 gs_wlm_rebuild_user_resource_pool boolean 重建内存中用户资源池信息结果。t为成功,f为失败。 父主题: 系统视图
  • 定义DATABASE LINK对象 DATABASE LINK是可以操作远程数据库对象,所涉及的SQL语句,请参考表17。 表17 DATABASE LINK对象相关SQL 功能 相关SQL 创建一个新的DATABASE LINK对象 CREATE DATABASE LINK 修改DATABASE LINK对象 ALTER DATABASE LINK 删除DATABASE LINK对象 DROP DATABASE LINK
  • 定义负载组 负载组是负载管理(当前特性是实验室特性,使用时请联系华为技术工程师提供技术支持。)模块使用的系统表,主要用于指定相关联的资源池内可运行并发作业的数量。所涉及的SQL语句,请参考表15。 表15 负载组定义相关SQL 功能 相关SQL 创建负载组 CREATE WORKLOAD GROUP 修改负载组属性 ALTER WORKLOAD GROUP 删除负载组 DROP WORKLOAD GROUP
  • 定义应用映射组 应用映射组是负载管理(当前特性是实验室特性,使用时请联系华为技术工程师提供技术支持。)模块的系统表,主要用于关联负载组。用户连接数据库后,只需要指定负载组即可将执行作业关联到给定的资源。所涉及的SQL语句,请参考表16。 表16 应用映射组定义相关SQL 功能 相关SQL 创建应用映射组 CREATE APP WORKLOAD GROUP MAPPING 修改应用映射组属性 ALTER APP WORKLOAD GROUP MAPPING 删除应用映射组 DROP APP WORKLOAD GROUP MAPPING
  • GS_WLM_EC_OPERATOR_HISTORY GS_WLM_EC_OPERATOR_HISTORY视图显示的是当前用户在当前CN上执行EC(Extension Connector)作业结束后的算子相关记录。此视图查询数据的记录会被定时清理,清理周期为3分钟。查询该视图需要sysadmin权限。当前特性是实验室特性,使用时请联系华为技术工程师提供技术支持。 当查询视图无数据显示时,请联系华为工程师提供技术支撑。 当GUC参数enable_resource_record为on时,视图中的记录每隔3分钟被转储到系统表GS_WLM_EC_OPERATOR_INFO中一次,同时视图中的记录被删除; 当GUC参数enable_resource_record为off时,记录在视图中的存留时间达到超期时间(超期时间为3分钟)后会被删除。记录的数据同GS_WLM_EC_OPERATOR_INFO的字段。 父主题: 系统视图
  • GLOBAL_OPERATOR_EC_HISTORY_TABLE GLOBAL_OPERATOR_EC_HISTORY_TABLE系统视图用于查询存储执行EC(Extension Connector)作业结束后的算子相关的历史记录。当设置GUC参数enable_resource_record为on时,系统会每3分钟将GS_WLM_EC_OPERATOR_HISTORY中的记录导入系统表GS_WLM_EC_OPERATOR_INFO中,该视图是查询所有CN上系统表GS_WLM_EC_OPERATOR_INFO的汇聚视图。字段信息参考表1。当前特性是实验室特性,使用时请联系华为技术工程师提供技术支持。 父主题: Operator
  • GS_WLM_OPERATOR_STATISTICS GS_WLM_OPERATOR_STATISTICS视图显示当前用户正在执行的作业的算子相关信息。查询该视图需要sysadmin权限。当前特性是实验室特性,使用时请联系华为技术工程师提供技术支持。 表1 GS_WLM_OPERATOR_STATISTICS的字段 名称 类型 描述 queryid bigint 语句执行使用的内部query_id。 pid bigint 后端线程id。 plan_node_id integer 查询对应的执行计划的plan node id。 plan_node_name text 对应于plan_node_id的算子的名称。 start_time timestamp with time zone 该算子处理第一条数据的开始时间。 duration bigint 该算子到结束时候总的执行时间(ms)。 status text 当前算子的执行状态,包括finished和running。 query_dop integer 当前算子执行时的并行度。 estimated_rows bigint 优化器估算的行数信息。 tuple_processed bigint 当前算子返回的元素个数。 min_peak_memory integer 当前算子在所有DN上的最小内存峰值(MB)。 max_peak_memory integer 当前算子在所有DN上的最大内存峰值(MB)。 average_peak_memory integer 当前算子在所有DN上的平均内存峰值(MB)。 memory_skew_percent integer 当前算子在各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_cpu_time bigint 该算子在所有DN上的最小执行时间(ms)。 max_cpu_time bigint 该算子在所有DN上的最大执行时间(ms)。 total_cpu_time bigint 该算子在所有DN上的总执行时间(ms)。 cpu_skew_percent integer DN间执行时间的倾斜率。 warning text 主要显示如下几类告警信息: Sort/SetOp/HashAgg/HashJoin spill 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 父主题: 系统视图
  • PGXC_WLM_EC_OPERATOR_INFO PGXC_WLM_EC_OPERATOR_INFO视图显示在所有CN上执行的EC(Extension Connector)作业结束时的算子信息。查询该视图需要sysadmin权限。当前特性是实验室特性,使用时请联系华为技术工程师提供技术支持。 此视图的数据直接从系统表GS_WLM_EC_OPERATOR_INFO获取。 具体的字段请参考GS_WLM_EC_OPERATOR_INFO的字段。 当查询视图无数据显示时,请联系华为工程师提供技术支撑。 父主题: 系统视图
  • data_sync_retry 参数说明:控制当fsync到磁盘失败后是否继续运行数据库。由于在某些操作系统的场景下,fsync失败后重试阶段即使再次fsync失败也不会报错,从而导致数据丢失。 该参数属于POSTMASTER类型参数,请参考表2中对应设置方法进行设置。 取值范围:布尔型 on表示当fsync同步到磁盘失败后采取重试机制,数据库继续运行。 off表示当fsync同步到磁盘失败后直接报panic,停止数据库。 默认值:off
  • remote_read_mode 参数说明:远程读功能开关。读取主机上的页面失败时可以从备机上读取对应的页面。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:枚举类型 off表示关闭远程读功能。 non_authentication表示开启远程读功能,但不进行证书认证。 authentication表示开启远程读功能,但要进行证书认证。 默认值:authentication
  • omit_encoding_error 参数说明:设置为on,数据库的客户端字符集编码为UTF-8时,出现的字符编码转换错误将打印在日志中,有转换错误的被转换字符会被忽略,以"?"代替。 该参数属于USERSET类型参数,请参考表2中对应设置方法进行设置。 取值范围:布尔型 on表示有转换错误的字符将被忽略,以"?"代替,打印错误信息到日志中。 off表示有转换错误的字符不能被转换,打印错误信息到终端。 默认值:off 若该参数通过执行gs_guc reload修改时,如果当前节点上的某个session的连接不是来自于客户端,而是来自于该节点所属集群上的其他节点,那么执行gs_guc reload后该参数在该session上不会立即生效,需与连接节点断开连接后重新连接才会生效。
  • retry_ecode_list 当前特性是实验室特性,使用时请联系华为技术工程师提供技术支持。 参数说明:指定SQL语句出错自动重试功能支持的错误类型列表。 该参数属于USERSET类型参数,请参考表2中对应设置方法进行设置。 取值范围:字符串 默认值:YY001 YY002 YY003 YY004 YY005 YY006 YY007 YY008 YY009 YY010 YY011 YY012 YY013 YY014 YY015 53200 08006 08000 57P01 XX003 XX009 YY016
  • restart_after_crash 参数说明:设置为on,后端进程崩溃时,GaussDB将自动重新初始化此后端进程。 该参数属于SIGHUP类型参数,请参考表2中对应设置方法进行设置。 取值范围:布尔型 on表示能够最大限度地提高数据库的可用性。 在某些情况(比如当采用管理工具(例如xCAT)管理GaussDB时),能够最大限度地提高数据库的可用性。 off表示能够使得管理工具在后端进程崩溃时获取控制权并采取适当的措施进行处理。 默认值:on
  • udf_memory_limit 参数说明:控制每个CN、DN执行UDF时可用的最大物理内存量。本参数当前版本不生效,请使用FencedUDFMemoryLimit和UDFWorkerMemHardLimit参数控制fenced udf worker虚存。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,200*1024~2147483647,单位为KB。 默认值:200MB
  • STATEMENT_WLMSTAT_COMPLEX_RUNTIME STATEMENT_WLMSTAT_COMPLEX_RUNTIME视图显示和当前用户执行作业正在运行时的负载管理(当前特性是实验室特性,使用时请联系华为技术工程师提供技术支持。)相关信息。 表1 STATEMENT_WLMSTAT_COMPLEX_RUNTIME字段 名称 类型 描述 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的时间,单位s。 elapsed_time bigint 语句当前为止的实际执行时间,单位s。 total_cpu_time bigint 语句在上一时间周期内的DN上CPU使用的总时间,单位s。 cpu_skew_percent integer 语句在上一时间周期内的DN上CPU使用的倾斜率。 statement_mem integer 语句执行使用的statement_mem,预留字段。 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(活的),此字段显示当前正在执行的查询。所有其他情况表示上一个查询。 is_plana boolean 逻辑集群(当前特性是实验室特性,使用时请联系华为技术工程师提供技术支持。)模式下,语句当前是否占用其他逻辑集群的资源执行。该值默认为f(否)。 node_group text 语句所属用户对应的逻辑集群(当前特性是实验室特性,使用时请联系华为技术工程师提供技术支持。)。 父主题: Query
  • GS_OBSSCANINFO GS_OBSSCANINFO系统表定义了在云上加速场景中,使用加速集群(由于规格变更,当前版本已经不再支持本特性,请不要使用)时扫描OBS数据的运行时信息,每条记录对应一个query中单个OBS外表(当前特性是实验室特性,使用时请联系华为技术工程师提供技术支持。)的运行时信息。 表1 GS_OBSSCANINFO字段 名称 类型 引用 描述 query_id bigint - 查询标识。 user_id text - 执行该查询的数据库用户。 table_name text - OBS外表的表名。 file_type text - 底层数据保存的文件格式。 time_stamp timestamp with time zone - 扫描操作开始的时间。 actual_time double precision - 扫描操作执行时间,单位为秒。 file_scanned bigint - 扫描的文件数量。 data_size double precision - 扫描的数据量,单位为字节。 billing_info text - 保留字段。 父主题: 系统表
  • GS_WLM_OPERATOR_INFO GS_WLM_OPERATOR_INFO系统表显示执行作业结束后的算子相关的记录。此数据是从内核中转储到系统表中的数据。当设置GUC参数enable_resource_record为on时,系统会定时(周期为3分钟)将GS_WLM_SESSION_HISTORY中的记录导入此系统表,开启此功能会占用系统存储空间并对性能有一定影响,不建议用户使用。查询该系统表需要sysadmin权限,且仅在数据库postgres下面查询时有数据。当前特性是实验室特性,使用时请联系华为技术工程师提供技术支持。 当查询视图无数据显示时,请联系华为工程师提供技术支撑。 表1 GS_WLM_OPERATOR_INFO的字段 名称 类型 描述 queryid bigint 语句执行使用的内部query_id。 pid bigint 后端线程id。 plan_node_id integer 查询对应的执行计划的plan node id。 plan_node_name text 对应于plan_node_id的算子的名称。 start_time timestamp with time zone 该算子处理第一条数据的开始时间。 duration bigint 该算子到结束时候总的执行时间(ms)。 query_dop integer 当前算子执行时的并行度。 estimated_rows bigint 优化器估算的行数信息。 tuple_processed bigint 当前算子返回的元素个数。 min_peak_memory integer 当前算子在所有DN上的最小内存峰值(MB)。 max_peak_memory integer 当前算子在所有DN上的最大内存峰值(MB)。 average_peak_memory integer 当前算子在所有DN上的平均内存峰值(MB)。 memory_skew_percent integer 当前算子在各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_cpu_time bigint 该算子在所有DN上的最小执行时间(ms)。 max_cpu_time bigint 该算子在所有DN上的最大执行时间(ms)。 total_cpu_time bigint 该算子在所有DN上的总执行时间(ms)。 cpu_skew_percent integer DN间执行时间的倾斜率。 warning text 主要显示如下几类告警信息: Sort/SetOp/HashAgg/HashJoin spill 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 父主题: 系统表
  • GS_WLM_SESSION_STATISTICS GS_WLM_SESSION_STATISTICS视图显示当前用户在当前CN上正在执行的作业的负载管理(当前特性是实验室特性,使用时请联系华为技术工程师提供技术支持。)记录。查询该视图需要sysadmin权限。 当查询视图无数据显示时,请联系华为工程师提供技术支撑。 表1 GS_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。 sessionid bigint 会话ID。 global_sessionid text 全局会话ID。 block_time bigint 语句执行前的阻塞时间,单位ms。 start_time timestamp with time zone 语句执行的开始时间。 duration bigint 语句已经执行的时间,单位ms。 estimate_total_time bigint 语句执行预估总时间,单位ms。 estimate_left_time bigint 语句执行预估剩余时间,单位ms。 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上的最小执行时间,单位ms。 max_dn_time bigint 语句在所有DN上的最大执行时间,单位ms。 average_dn_time bigint 语句在所有DN上的平均执行时间,单位ms。 dntime_skew_percent integer 语句在各DN间的执行时间倾斜率。 min_cpu_time bigint 语句在所有DN上的最小CPU时间,单位ms。 max_cpu_time bigint 语句在所有DN上的最大CPU时间,单位ms。 total_cpu_time bigint 语句在所有DN上的CPU总时间,单位ms。 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 正在执行的语句。 query_plan text 语句的执行计划。 node_group text 语句所属用户对应的逻辑集群(当前特性是实验室特性,使用时请联系华为技术工程师提供技术支持。)。 top_cpu_dn text cpu使用量topN信息。 top_mem_dn text 内存使用量topN信息。 父主题: 系统视图
  • GS_WLM_SESSION_QUERY_INFO_ALL GS_WLM_SESSION_QUERY_INFO_ALL系统表显示当前CN执行作业结束后的负载管理(当前特性是实验室特性,使用时请联系华为技术工程师提供技术支持。)记录。此数据是从内核中转储到系统表中的数据。当设置GUC参数enable_resource_record为on时,系统会定时(周期为3分钟)将内核中query信息导入GS_WLM_SESSION_QUERY_INFO_ALL系统表。查询该系统表需要sysadmin权限,且仅在数据库postgres下面查询时有数据。 当查询视图无数据显示时,请联系华为工程师提供技术支撑。 表1 GS_WLM_SESSION_QUERY_INFO_ALL字段 名称 类型 描述 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 语句执行前的阻塞时间,包含语句解析和优化时间,单位ms。 start_time timestamp with time zone 语句执行的开始时间。 finish_time timestamp with time zone 语句执行的结束时间。 duration bigint 语句实际执行的时间,单位ms。 estimate_total_time bigint 语句预估执行时间,单位ms。 status text 语句执行结束状态:正常为finished,异常为aborted。 abort_info text 语句执行结束状态为aborted时显示异常信息。 resource_pool text 用户使用的资源池。 control_group text 语句所使用的Cgroup。 estimate_memory integer 语句估算内存大小。 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上的最小执行时间,单位ms。 max_dn_time bigint 语句在所有DN上的最大执行时间,单位ms。 average_dn_time bigint 语句在所有DN上的平均执行时间,单位ms。 dntime_skew_percent integer 语句在各DN间的执行时间倾斜率。 min_cpu_time bigint 语句在所有DN上的最小CPU时间,单位ms。 max_cpu_time bigint 语句在所有DN上的最大CPU时间,单位ms。 total_cpu_time bigint 语句在所有DN上的CPU总时间,单位ms。 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 执行的语句。 query_plan text 语句的执行计划。 node_group text 语句所属用户对应的逻辑集群(当前特性是实验室特性,使用时请联系华为技术工程师提供技术支持。)。 cpu_top1_node_name text cpu使用率第1的节点名称。 cpu_top2_node_name text cpu使用率第2的节点名称。 cpu_top3_node_name text cpu使用率第3的节点名称。 cpu_top4_node_name text cpu使用率第4的节点名称。 cpu_top5_node_name text cpu使用率第5的节点名称。 mem_top1_node_name text 内存使用量第1的节点名称。 mem_top2_node_name text 内存使用量第2的节点名称。 mem_top3_node_name text 内存使用量第3的节点名称。 mem_top4_node_name text 内存使用量第4的节点名称。 mem_top5_node_name text 内存使用量第5的节点名称。 cpu_top1_value bigint cpu使用率。 cpu_top2_value bigint cpu使用率。 cpu_top3_value bigint cpu使用率。 cpu_top4_value bigint cpu使用率。 cpu_top5_value bigint cpu使用率。 mem_top1_value bigint 内存使用量。 mem_top2_value bigint 内存使用量。 mem_top3_value bigint 内存使用量。 mem_top4_value bigint 内存使用量。 mem_top5_value bigint 内存使用量。 top_mem_dn text 内存使用量topN信息。 top_cpu_dn text cpu使用量topN信息。 n_returned_rows bigint Select返回的结果集行数。 n_tuples_fetched bigint 随机扫描行数。 n_tuples_returned bigint 顺序扫描行数。 n_tuples_inserted bigint 插入行数。 n_tuples_updated bigint 更新行数。 n_tuples_deleted bigint 删除行数。 n_blocks_fetched bigint Cache加载次数。 n_blocks_hit bigint Cache命中数。 db_time bigint 有效的DB时间花费,多线程将累加(单位:微秒)。 cpu_time bigint CPU时间(单位:微秒)。 execution_time bigint 执行器内执行时间(单位:微秒)。 parse_time bigint SQL解析时间(单位:微秒)。 plan_time bigint SQL生成计划时间(单位:微秒)。 rewrite_time bigint SQL重写时间(单位:微秒)。 pl_execution_time bigint plpgsql上的执行时间(单位:微秒)。 pl_compilation_time bigint plpgsql上的编译时间(单位:微秒)。 net_send_time bigint 网络上的时间花费(单位:微秒)。 data_io_time bigint IO上的时间花费(单位:微秒)。 is_slow_query bigint 标记是否为慢查询。 取值为1时表示其为慢查询。 父主题: 系统表
  • PG_SESSION_WLMSTAT PG_SESSION_WLMSTAT视图显示当前用户执行作业正在运行时的负载管理(当前特性是实验室特性,使用时请联系华为技术工程师提供技术支持。)相关信息。查询该视图需要sysadmin权限。 当查询视图无数据显示时,请联系华为工程师提供技术支撑。 表1 PG_SESSION_WLMSTAT字段 名称 类型 描述 datid oid 连接后端的数据库OID。 datname name 连接后端的数据库名称。 threadid bigint 后端线程ID。 sessionid bigint 会话ID。 processid integer 后端线程的pid。 usesysid oid 登录后端的用户OID。 appname text 连接到后端的应用名。 usename name 登录到该后端的用户名。 priority bigint 语句所在Cgroups的优先级。 attribute text 语句的属性: Ordinary:语句发送到数据库后被解析前的默认属性。 Simple:简单语句。 Complicated:复杂语句。 Internal:数据库内部语句。 Unknown:未知。 block_time bigint 语句当前为止的pending的时间,单位s。 elapsed_time bigint 语句当前为止的实际执行时间,单位s。 total_cpu_time bigint 语句在上一时间周期内的DN上CPU使用的总时间,单位s。 cpu_skew_percent integer 语句在上一时间周期内的DN上CPU使用的倾斜率。 statement_mem integer 语句执行使用的statement_mem,预留字段。 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(活的),此字段显示当前正在执行的查询。所有其他情况表示上一个查询。 is_plana boolean 逻辑集群(当前特性是实验室特性,使用时请联系华为技术工程师提供技术支持。)模式下,语句当前是否占用其他逻辑集群的资源执行。该值默认为f(否)。 node_group text 语句所属用户对应的逻辑集群(当前特性是实验室特性,使用时请联系华为技术工程师提供技术支持。)。 父主题: 系统视图
  • GS_WLM_WORKLOAD_RECORDS GS_WLM_WORKLOAD_RECORDS视图显示当前用户在每个CN上执行作业时在CN上的状态信息。查询该视图需要sysadmin权限。当前特性是实验室特性,使用时请联系华为技术工程师提供技术支持。 当查询视图无数据显示时,请联系华为工程师提供技术支撑。 表1 GS_WLM_WORKLOAD_RECORDS字段 名称 类型 描述 node_name text 作业执行所在CN的名称。 thread_id bigint 后端线程ID。 processid integer 后端线程的pid。 time_stamp bigint 语句执行的开始时间。 username name 登录到该后端的用户名。 memory integer 语句所需的内存大小。 active_points integer 语句在资源池上消耗的资源点数。 max_points integer 语句在资源池上可消耗的最大资源点数。 priority integer 作业的优先级。可取integer范围内值,越大优先级越高。 resource_pool text 作业所在资源池。 status text 作业执行的状态,包括: pending:阻塞状态。 running:执行状态。 finished:结束状态。 aborted:终止状态。 unknown:未知状态。 control_group text 作业所使用的Cgroups。 enqueue text 作业的排队信息,包括: GLOBAL:全局排队。 RESPOOL: 资源池排队。 ACTIVE:不排队。 query text 正在执行的语句。 node_group text 逻辑集群(当前特性是实验室特性,使用时请联系华为技术工程师提供技术支持。)名称。 父主题: 系统视图
  • GS_TOTAL_NODEGROUP_MEMORY_DETAIL GS_TOTAL_NODEGROUP_MEMORY_DETAIL返回当前数据库逻辑集群(当前特性是实验室特性,使用时请联系华为技术工程师提供技术支持。)使用内存的信息,单位为MB,若GUC参数enable_memory_limit设置为off,则该函数不能使用。 表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 内存类型分配内存的大小。 父主题: 系统视图
  • PG_SESSION_IOSTAT PG_SESSION_IOSTAT视图显示当前用户执行作业正在运行时的IO负载管理(当前特性是实验室特性,使用时请联系华为技术工程师提供技术支持。)相关信息。查询该视图需要sysadmin权限或者monitor admin权限。 以下涉及到iops,对于行存,均以万次/s为单位,对于列存,均以次/s为单位。 当查询视图无数据显示时,请联系华为工程师提供技术支撑。 表1 PG_SESSION_IOSTAT字段 名称 类型 描述 query_id bigint 作业id。 mincurriops integer 该作业当前io在各DN中的最小值。 maxcurriops integer 该作业当前io在各DN中的最大值。 minpeakiops integer 在作业运行时,作业io峰值中,各DN的最小值。 maxpeakiops integer 在作业运行时,作业io峰值中,各DN的最大值。 io_limits integer 该作业所设GUC参数io_limits。 io_priority text 该作业所设GUC参数io_priority。 query text 作业。 node_group text 作业所属用户对应的逻辑集群(当前特性是实验室特性,使用时请联系华为技术工程师提供技术支持。)。 curr_io_limits integer 使用io_priority管控io时的实时io_limits值。 父主题: 系统视图
  • 高性能场景 进行大量数据插入时,建议如下: 需要设置批量绑定odbc.ini设置UseBatchProtocol=1数据库设置support_batch_bind。 ODBC程序绑定类型要和数据库中类型一致。 客户端字符集和数据库字符集一致。 事务改成手动提交。 odbc.ini配置文件: [gaussdb] Driver=GaussMPP Servername=10.10.0.13(数据库Server IP) ... UseBatchProtocol=1 (默认打开) ConnSettings=set client_encoding=UTF8 (设置客户端字符编码,保证和server端一致)
  • 日志诊断场景 ODBC日志分为unixODBC驱动管理器日志和psqlODBC驱动端日志。前者可以用于追溯应用程序API的执行成功与否,后者是底层实现过程中的一些DFX日志,用来帮助定位问题。 unixODBC日志需要在odbcinst.ini文件中配置: 1 2 3 4 5 6 7 [ODBC] Trace=Yes TraceFile=/path/to/odbctrace.log [GaussMPP] Driver64=/usr/local/lib/psqlodbcw.so setup=/usr/local/lib/psqlodbcw.so psqlODBC日志只需要在odbc.ini加上: [gaussdb] Driver=GaussMPP Servername=10.10.0.13(数据库Server IP) ... Debug=1(打开驱动端debug日志) unixODBC日志将会生成在TraceFile配置的路径下,psqlODBC会在系统/tmp/下生成mylog_xxx.log。
  • 负载均衡场景 当应用程序有大并发场景时可开启负载均衡: 负载均衡即为将并发连接随机分发到所有CN上,避免单个CN负载过大,达到高性能的目的。 配置参数AutoBalance=1,开启负载均衡功能。 参数RefreshCNListTime=5可以选择性配置,默认刷新时间为10秒。 参数Priority=1可以选择性配置,意为并发连接优先发送到配置文件中配置的CN上,当配置的CN全部不可连接时,连接才会被分发到剩余CN上。 示例场景: 集群环境有6个CN,CN1,CN2,CN3,CN4,CN5和CN6;配置文件配置4个CN,为CN1,CN2,CN3和CN4。 配置文件示例: [gaussdb] Driver=GaussMPP Servername=10.145.130.26,10.145.130.27,10.145.130.28,10.145.130.29(数据库Server IP) Database=postgres (数据库名) Username=omm (数据库用户名) Password= (数据库用户密码) Port=8000 (数据库侦听端口) Sslmode=allow AutoBalance=1 RefreshCNListTime=3 Priority=1 当配置文件和集群环境如示例时,并发连接会随机、平均发送到CN1,CN2,CN3和CN4上,连接数均衡。当CN1,CN2,CN3和CN4全部不可用时,并发连接会随机、平均发送到CN5和CN6上。如果此时CN1,CN2,CN3和CN4中有CN重新可用时,连接则不会再发送到CN5和CN6上,而重新发送到重新可用的CN上。
  • PG_INDEX PG_INDEX系统表存储索引的一部分信息,其他的信息大多数在PG_CLASS中。 表1 PG_INDEX字段 名称 类型 描述 indexrelid oid 这个索引在pg_class里的记录的OID。 indrelid oid 使用这个索引的表在pg_class里的记录的OID。 indnatts smallint 索引中的字段数目。 indisunique boolean 如果为真,这是个唯一索引。 如果为假,这不是唯一索引。 indisprimary boolean 如果为真,该索引代表该表的主键。这个字段为真的时候indisunique总是为真。 如果为假,该索引不是该表的主键。 indisexclusion boolean 如果为真,该索引支持排他约束。 如果为假,该索引不支持排他约束。 indimmediate boolean 如果为真,在插入数据时会立即进行唯一性检查。 如果为假,在插入数据时不会进行唯一性检查。 indisclustered boolean 如果为真,则该表最后在这个索引上建了簇。 如果为假,则该表没有在这个索引上建簇。 indisusable boolean 如果为真,该索引对insert/select可用。 如果为假,该索引对insert/select不可用。 indisvalid boolean 如果为真,则该索引可以用于查询。如果为假,则该索引可能不完整,仍然必须在INSERT/UPDATE操作时进行更新,不过不能安全的用于查询。如果是唯一索引,则唯一属性也将不为真。 indcheckxmin boolean 如果为true,查询不能使用索引,直到pg_index此行的xmin低于其快照的TransactionXmin,因为该表可能包含它们能看到的不兼容行断开的HOT链。 如果为false,查询可以用于索引。 indisready boolean 如果为真,表示此索引对插入数据是可用的,否则,在插入或修改数据时忽略此索引。 indkey int2vector 这是一个包含indnatts值的数组,这些数组值表示这个索引所建立的表字段。比如一个值为1 3的意思是第一个字段和第三个字段组成这个索引键字。这个数组里的零表明对应的索引属性是在这个表字段上的一个表达式,而不是一个简单的字段引用。 indcollation oidvector 索引各列对应的排序规则的OID,参考pg_collation获取细节。 indclass oidvector 对于索引键字里面的每个字段,这个字段都包含一个指向所使用的操作符类的OID,参阅pg_opclass获取细节。 indoption int2vector 存储列前标识位,该标识位是由索引的访问方法定义。 indexprs pg_node_tree 表达式树(以nodeToString()形式表现)用于那些非简单字段引用的索引属性。它是一个列表,个数与INDKEY中的零值个数相同。如果所有索引属性都是简单的引用,则为空。 indpred pg_node_tree 部分索引断言的表达式树(以nodeToString()的形式表现)。如果不是部分索引,则是空字符串。 indisreplident boolean 如果为真,则此索引的列成为逻辑解码的解码列。 如果为假,则此索引的列不是逻辑解码的解码列。 indnkeyatts smallint 索引中的总字段数,超出indnatts的部分不参与索引查询。 父主题: 系统表
共100000条