华为云用户手册

  • PV_SESSION_MEMORY PV_SESSION_MEMORY视图统计Session级别的内存使用情况,包含执行作业在数据节点上Postgres线程和Stream线程分配的所有内存。 表1 PV_SESSION_MEMORY字段 名称 类型 描述 sessid text 线程启动时间+线程标识。 init_mem integer 当前正在执行作业进入执行器前已分配的内存,单位MB。 used_mem integer 当前正在执行作业已分配的内存,单位MB。 peak_mem integer 当前正在执行作业已分配的内存峰值,单位MB。 父主题: 系统视图
  • PV_SESSION_MEMORY_CONTEXT PV_SESSION_MEMORY_CONTEXT视图统计所有的会话的内存使用情况,以MemoryContext节点来统计。该视图仅在开启线程池(enable_thread_pool = on)时生效。 其中内存上下文“TempSmallContextGroup”,记录当前线程中所有内存上下文字段“totalsize”小于8192字节的信息汇总,并且内存上下文统计计数记录到“usedsize”字段中。所以在视图中,“TempSmallContextGroup”内存上下文中的“totalsize”和“freesize”是该线程中所有内存上下文“totalsize”小于8192字节的汇总总和,usedsize字段表示统计的内存上下文个数。 表1 PV_SESSION_MEMORY_CONTEXT字段 名称 类型 描述 sessid text 会话启动时间+会话标识(字符串信息为timestamp.sessionid)。 threadid bigint 会话绑定的线程标识,如果未绑定线程,该值为-1。 contextname text 内存上下文名称。 level smallint 当前上下文在整体内存上下文中的层级。 parent text 父内存上下文名称。 totalsize bigint 当前内存上下文的内存总数,单位Byte。 freesize bigint 当前内存上下文中已释放的内存总数,单位Byte。 usedsize bigint 当前内存上下文中已使用的内存总数,单位Byte;“TempSmallContextGroup”内存上下文中该字段含义为统计计数。 父主题: 系统视图
  • PV_FILE_STAT PV_FILE_STAT视图通过对数据文件IO的统计,反映数据的IO性能,用以发现IO操作异常等性能问题。 表1 PV_FILE_STAT字段 名称 类型 描述 filenum oid 文件标识。 dbid oid 数据库标识。 spcid oid 表空间标识。 phyrds bigint 读物理文件的数目。 phywrts bigint 写物理文件的数目。 phyblkrd bigint 读物理文件块的数目。 phyblkwrt bigint 写物理文件块的数目。 readtim bigint 读文件的总时长,单位微秒。 writetim bigint 写文件的总时长,单位微秒。 avgiotim bigint 读写文件的平均时长,单位微秒。 lstiotim bigint 最后一次读文件时长,单位微秒。 miniotim bigint 读写文件的最小时长,单位微秒。 maxiowtm bigint 读写文件的最大时长,单位微秒。 父主题: 系统视图
  • PV_REDO_STAT PV_REDO_STAT视图用于统计会话线程日志回放情况。 表1 PV_REDO_STAT字段 名称 类型 描述 phywrts bigint 日志回放过程中写数据的次数。 phyblkwrt bigint 日志回放过程中写数据的块数。 writetim bigint 日志回放过程中写数据所耗的总时间。 avgiotim bigint 日志回放过程中写一次数据的平均消耗时间。 lstiotim bigint 日志回放过程中最后一次写数据消耗的时间。 miniotim bigint 日志回放过程中单次写数据消耗的最短时间。 maxiowtm bigint 日志回放过程中单次写数据消耗的最长时间。 父主题: 系统视图
  • PV_OS_RUN_INFO PV_OS_RUN_INFO视图显示当前操作系统运行的状态信息。 表1 PV_OS_RUN_INFO字段 名称 类型 描述 id integer 编号。 name text 操作系统运行状态名称。 value numeric 操作系统运行状态值。 comments text 操作系统运行状态注释。 cumulative boolean 操作系统运行状态的值是否为累加值。 父主题: 系统视图
  • PLAN_TABLE PLAN_TABLE显示用户通过执行EXPLAIN PLAN收集到的计划信息。计划信息的生命周期是session级别,session退出后相应的数据将被清除。同时不同session和不同user间的数据是相互隔离的。 表1 PLAN_TABLE字段 名称 类型 描述 statement_id character varying(30) 用户输入的查询标签。 plan_id bigint 查询标识。 id int 查询生成的计划中的每一个执行算子的编号。 operation character varying(30) 计划中算子的操作描述。 options character varying(255) 操作选项。 object_name name 操作对应的对象名,非查询中使用到的对象别名。来自于用户定义。 object_type character varying(30) 对象类型。 object_owner name 对象所属schema,来自于用户定义。 projection character varying(4000) 操作输出的列信息。 object_type取值范围为PG_CLASS中定义的relkind类型(TABLE普通表,INDEX索引,SEQUENCE序列,VIEW视图,FOREIGN TABLE外表,COMPOSITE TYPE复合类型,TOASTVALUE TOAST表)和计划使用到的rtekind(SUBQUERY, JOIN, FUNCTION, VALUES, CTE, REMOTE_QUERY)。 object_owner对于RTE来说是计划中使用的对象描述,非用户定义的类型不存在object_owner。 statement_id、object_name、object_owner、projection字段内容遵循用户定义的大小写存储,其它字段内容采用大写存储。 支持用户对PLAN_TABLE进行SELECT和DELETE操作,不支持其它DML操作。 父主题: 系统视图
  • PV_INSTANCE_TIME 提供当前节点下的各种时间消耗信息,主要分为以下类型: DB_TIME: 作业在多核下的有效时间花费。 CPU_TIME:CPU时间的消耗。 EXECUTION_TIME:执行器内花费的时间。 PARSE_TIME:SQL解析的时间花费。 PLAN_TIME:生成Plan的时间花费。 REWRITE_TIME:SQL重写的时间消耗。 PL_EXECUTION_TIME :plpgsql(存储过程)的执行时间. PL_COMPILATION_TIME:plpgsql(存储过程)编译时间。 NET_SEND_TIME:网络上的时间花销。 DATA_IO_TIME:IO时间上的花销。 表1 PV_INSTANCE_TIME字段 名称 类型 描述 stat_id integer 统计编号。 stat_name text 类型名称。 value bigint 时间值(单位:微秒)。 父主题: 系统视图
  • PGXC_WLM_SESSION_HISTORY PGXC_WLM_SESSION_HISTORY视图显示的是缓存在内存中的所有CN上执行作业结束后的负载管理记录。查询该视图需要sysadmin或者monitor admin权限。 该数据会被定期转存到gs_wlm_session_info表中,转存周期为3分钟,详见GS_WLM_SESSION_HISTORY视图介绍。 具体的字段请参考表1。 父主题: 系统视图
  • PG_THREAD_WAIT_STATUS 通过PG_THREAD_WAIT_STATUS视图可以检测当前实例中工作线程(backend thread)以及辅助线程(auxiliary thread)的阻塞等待情况。 表1 PG_THREAD_WAIT_STATUS字段 名称 类型 描述 node_name text 当前节点的名称。 db_name text 数据库名称。 thread_name text 线程名称。 query_id bigint 查询ID,对应debug_query_id。 tid bigint 当前线程的线程号。 sessionid bigint 当前会话ID。 lwtid integer 当前线程的轻量级线程号。 psessionid bigint 父会话ID。 tlevel integer streaming线程的层级。 smpid integer 并行线程的ID。 wait_status text 当前线程等待状态的详细信息。 wait_event text 当前线程正在等待的事件,请参见表2。 locktag text 当前线程正在等待锁的信息。 lockmode text 当前线程正等待获取的锁模式。包含表级锁、行级锁、页级锁下的各模式。 block_sessionid bigint 阻塞当前线程获取锁的会话标识。 global_sessionid text 全局会话ID。 wait_status列的等待状态有以下状态。 表2 等待状态列表 wait_status值 含义 none 没在等任意事件。 acquire lock 等待加锁,要么加锁成功,要么加锁等待超时。 acquire lwlock 等待获取轻量级锁。 wait io 等待IO完成。 wait cmd 等待完成读取网络通信包。 wait pooler get conn 等待pooler完成获取连接。 wait pooler abort conn 等待pooler完成终止连接。 wait pooler clean conn 等待pooler完成清理连接。 pooler create conn: [nodename], total N 等待pooler建立连接,当前正在与nodename指定节点建立连接,且仍有N个连接等待建立。 get conn 获取到其他节点的连接。 set cmd: [nodename] 在连接上执行SET/RESET/TRANSACTION BLOCK LEVEL PARA SET/SESSION LEVEL PARA SET,当前正在nodename指定节点上执行。 cancel query 取消某连接上正在执行的SQL语句。 stop query 停止某连接上正在执行的查询。 wait node: [nodename](plevel), total N, [phase] 等待接收与某节点的连接上的数据,当前正在等待nodename节点plevel线程的数据,且仍有N个连接的数据待返回。如果状态包含phase信息,则可能的阶段状态有: begin:表示处于事务开始阶段。 commit:表示处于事务提交阶段。 rollback:表示处于事务回滚阶段。 wait transaction sync: xid 等待xid指定事务同步。 wait wal sync 等待特定LSN的wal log完成到备机的同步。 wait data sync 等待完成数据页到备机的同步。 wait data sync queue 等待把行存的数据页或列存的CU放入同步队列。 flush data: [nodename](plevel), [phase] 等待向网络中nodename指定节点的plevel对应线程发送数据。如果状态包含phase信息,则可能的阶段状态为wait quota,即当前通信流正在等待quota值。 stream get conn: [nodename], total N 初始化stream flow时,等待与nodename节点的consumer对象建立连接,且当前有N个待建连对象。 wait producer ready: [nodename](plevel), total N 初始化stream flow时,等待每个producer都准备好,当前正在等待nodename节点plevel对应线程的producer对象准备好,且仍有N个producer对象处于等待状态。 synchronize quit stream plan结束时,等待stream线程组内的线程统一退出。 nodegroup destroy stream plan结束时,等待销毁stream node group。 wait active statement 等待作业执行,正在资源负载管控中。 gtm connect 等待与GTM建连。 gtm get gxid 等待从GTM获取事务xid。 gtm get snapshot 等待从GTM获取事务快照snapshot。 gtm begin trans 等待GTM开始事务。 gtm commit trans 等待GTM提交事务。 gtm rollback trans 等待GTM执行事务回滚。 gtm start prepare trans 等待GTM开始两阶段事务的prepare阶段。 gtm prepare trans 等待GTM完成两阶段事务的prepare阶段。 gtm open sequence 等待GTM打开sequence。 gtm close sequence 等待GTM关闭sequence。 gtm create sequence 等待GTM创建sequence。 gtm alter sequence 等待GTM修改sequence。 gtm get sequence val 等待从GTM获取sequence的下一个值。 gtm set sequence val 等待GTM设置sequence的值。 gtm drop sequence 等待GTM删除sequence。 gtm rename sequece 等待GTM重命名sequence。 analyze: [relname], [phase] 当前正在对表relname执行analyze。如果状态包含phase信息,则为autovacuum,表示是数据库自动开启AutoVacuum线程执行的analyze分析操作。 vacuum: [relname], [phase] 当前正在对表relname执行vacuum。如果状态包含phase信息,则为autovacuum,表示是数据库自动开启AutoVacuum线程执行的vacuum清理操作。 vacuum full: [relname] 当前正在对表relname执行vacuum full清理。 create index 当前正在创建索引。 HashJoin - [ build hash | write file ] 当前是HashJoin算子,主要关注耗时的执行阶段。 build hash:表示当前HashJoin算子正在建立哈希表。 write file:表示当前HashJoin算子正在将数据写入磁盘。 HashAgg - [ build hash | write file ] 当前是HashAgg算子,主要关注耗时的执行阶段。 build hash:表示当前HashAgg算子正在建立哈希表。 write file:表示当前HashAgg算子正在将数据写入磁盘。 HashSetop - [build hash | write file ] 当前是HashSetop算子,主要关注耗时的执行阶段。 build hash:表示当前HashSetop算子正在建立哈希表。 write file:表示当前HashSetop算子正在将数据写入磁盘。 Sort | Sort - write file 当前是Sort算子做排序,write file表示Sort算子正在将数据写入磁盘。 Material | Material - write file 当前是Material算子,write file表示Material算子正在将数据写入磁盘。 当wait_status为acquire lwlock、acquire lock或者wait io时,表示有等待事件。正在等待获取wait_event列对应类型的轻量级锁、事务锁,或者正在进行IO。 其中,wait_status值为acquire lwlock(轻量级锁)时对应的wait_event等待事件类型与描述信息如下。(wait_event为extension时,表示此时的轻量级锁是动态分配的锁,未被监控。) 表3 轻量级锁等待事件列表 wait_event类型 类型描述 ShmemIndexLock 用于保护共享内存中的主索引哈希表。 OidGenLock 用于避免不同线程产生相同的OID。 XidGenLock 用于避免两个事务获得相同的xid。 ProcArrayLock 用于避免并发访问或修改ProcArray共享数组。 SInvalReadLock 用于避免与清理失效消息并发执行。 SInvalWriteLock 用于避免与其它写失效消息、清理失效消息并发执行。 WALInsertLock 用于避免与其它WAL插入操作并发执行。 WALWriteLock 用于避免并发WAL写盘。 ControlFileLock 用于避免pg_control文件的读写并发、写写并发。 CheckpointLock 用于避免多个checkpoint并发执行。 CLogControlLock 用于避免并发访问或者修改Clog控制数据结构。 SubtransControlLock 用于避免并发访问或者修改子事务控制数据结构。 MultiXactGenLock 用于串行分配唯一MultiXact id。 MultiXactOffsetControlLock 用于避免对pg_multixact/offset的写写并发和读写并发。 MultiXactMemberControlLock 用于避免对pg_multixact/members的写写并发和读写并发。 RelCacheInitLock 用于失效消息场景对init文件进行操作时加锁。 CheckpointerCommLock 用于向checkpointer发起文件刷盘请求场景,需要串行的向请求队列插入请求结构。 TwoPhaseStateLock 用于避免并发访问或者修改两阶段信息共享数组。 TablespaceCreateLock 用于确定tablespace是否已经存在。 BtreeVacuumLock 用于防止vacuum清理B-tree中还在使用的页面。 AutovacuumLock 用于串行化访问autovacuum worker数组。 AutovacuumScheduleLock 用于串行化分配需要vacuum的table。 AutoanalyzeLock 用于获取和释放允许执行Autoanalyze的任务资源。 SyncScanLock 用于确定heap扫描时某个relfilenode的起始位置。 NodeTableLock 用于保护存放CN和DN节点信息的共享结构。 PoolerLock 用于保证两个线程不会同时从连接池里取到相同的连接。 RelationMappingLock 用于等待更新系统表到存储位置之间映射的文件。 AsyncCtlLock 用于避免并发访问或者修改共享通知状态。 AsyncQueueLock 用于避免并发访问或者修改共享通知信息队列。 SerializableXactHashLock 用于避免对于可串行事务共享结构的写写并发和读写并发。 SerializableFinishedListLock 用于避免对于已完成可串行事务共享链表的写写并发和读写并发。 SerializablePredicateLockListLock 用于保护对于可串行事务持有的锁链表。 OldSerXidLock 用于保护记录冲突可串行事务的结构。 FileStatLock 用于保护存储统计文件信息的数据结构。 SyncRepLock 用于在主备复制时保护xlog同步信息。 DataSyncRepLock 用于在主备复制时保护数据页同步信息。 CStoreColspaceCacheLock 用于保护列存表的CU空间分配。 CStoreCUCacheSweepLock 用于列存CU Cache循环淘汰。 MetaCacheSweepLock 用于元数据循环淘汰。 dummyServerInfoCacheLock 用于保护缓存加速集群连接信息的全局哈希表。 ExtensionConnectorLibLock 用于初始化ODBC连接场景,在加载与卸载特定动态库时进行加锁。 SearchServerLibLock 用于GPU加速场景初始化加载特定动态库时,对读文件操作进行加锁。 LsnXlogChkFileLock 用于串行更新特定结构中记录的主备机的xlog flush位置点。 GTMHostInfoLock 用于避免并发访问或者修改GTM主机信息。 ReplicationSlotAllocationLock 用于主备复制时保护主机端的流复制槽的分配。 ReplicationSlotControlLock 用于主备复制时避免并发更新流复制槽状态。 ResourcePoolHashLock 用于避免并发访问或者修改资源池哈希表。 WorkloadStatHashLock 用于避免并发访问或者修改包含CN侧的SQL请求构成的哈希表。 WorkloadIoStatHashLock 用于避免并发访问或者修改用于统计当前DN的IO信息的哈希表。 WorkloadCGroupHashLock 用于避免并发访问或者修改Cgroup信息构成的哈希表。 OBSGetPathLock 用于避免对obs路径的写写并发和读写并发。 WorkloadUserInfoLock 用于避免并发访问或修改负载管理的用户信息哈希表。 WorkloadRecordLock 用于避免并发访问或修改在内存自适应管理时对CN收到请求构成的哈希表。 WorkloadIOUtilLock 用于保护记录iostat,CPU等负载信息的结构。 WorkloadNodeGroupLock 用于避免并发访问或者修改内存中的nodegroup信息构成的哈希表。 JobShmemLock 用于MPP兼容ORACLE定时任务功能中保护定时读取的全局变量。 OBSRuntimeLock 用于获取环境变量,如GASSHOME。 LLVMDumpIRLock 用于导出动态生成函数所对应的汇编语言。 LLVMParseIRLock 用于在查询开始处从IR文件中编译并解析已写好的IR函数。 RPNumberLock 用于加速集群的DN对正在执行计划的任务线程的计数。 ClusterRPLock 用于加速集群的CCN中维护的集群负载数据的并发存取控制。 CriticalCacheBuildLock 用于从共享或者本地缓存初始化文件中加载cache的场景。 WaitCountHashLock 用于保护用户语句计数功能场景中的共享结构。 BufMappingLock 用于保护对共享缓冲映射表的操作。 LockMgrLock 用于保护常规锁结构信息。 PredicateLockMgrLock 用于保护可串行事务锁结构信息。 OperatorRealTLock 用于避免并发访问或者修改记录算子级实时数据的全局结构。 OperatorHistLock 用于避免并发访问或者修改记录算子级历史数据的全局结构。 SessionRealTLock 用于避免并发访问或者修改记录query级实时数据的全局结构。 SessionHistLock 用于避免并发访问或者修改记录query级历史数据的全局结构。 CacheSlotMappingLock 用于保护CU Cache全局信息。 BarrierLock 用于保证当前只有一个线程在创建Barrier。 当wait_status值为wait io时对应的wait_event等待事件类型与描述信息如下。 表4 IO等待事件列表 wait_event类型 类型描述 BufFileRead 从临时文件中读取数据到指定buffer。 BufFileWrite 向临时文件中写入指定buffer中的内容。 ControlFileRead 读取pg_control文件。主要在数据库启动、执行checkpoint和主备校验过程中发生。 ControlFileSync 将pg_control文件持久化到磁盘。数据库初始化时发生。 ControlFileSyncUpdate 将pg_control文件持久化到磁盘。主要在数据库启动、执行checkpoint和主备校验过程中发生。 ControlFileWrite 写入pg_control文件。数据库初始化时发生。 ControlFileWriteUpdate 更新pg_control文件。主要在数据库启动、执行checkpoint和主备校验过程中发生。 CopyFileRead copy文件时读取文件内容。 CopyFileWrite copy文件时写入文件内容。 DataFileExtend 扩展文件时向文件写入内容。 DataFileFlush 将表数据文件持久化到磁盘 DataFileImmediateSync 将表数据文件立即持久化到磁盘。 DataFilePrefetch 异步读取表数据文件。 DataFileRead 同步读取表数据文件。 DataFileSync 将表数据文件的修改持久化到磁盘。 DataFileTruncate 表数据文件truncate。 DataFileWrite 向表数据文件写入内容。 LockFileAddToDataDirRead 读取"postmaster.pid"文件。 LockFileAddToDataDirSync 将"postmaster.pid"内容持久化到磁盘。 LockFileAddToDataDirWrite 将pid信息写到"postmaster.pid"文件。 LockFileCreateRead 读取LockFile文件"%s.lock"。 LockFileCreateSync 将LockFile文件"%s.lock"内容持久化到磁盘。 LockFileCreateWRITE 将pid信息写到LockFile文件"%s.lock"。 RelationMapRead 读取系统表到存储位置之间的映射文件 RelationMapSync 将系统表到存储位置之间的映射文件持久化到磁盘。 RelationMapWrite 写入系统表到存储位置之间的映射文件。 ReplicationSlotRead 读取流复制槽文件。重新启动时发生。 ReplicationSlotRestoreSync 将流复制槽文件持久化到磁盘。重新启动时发生。 ReplicationSlotSync checkpoint时将流复制槽临时文件持久化到磁盘。 ReplicationSlotWrite checkpoint时写流复制槽临时文件。 SLRUFlushSync 将pg_clog、pg_subtrans和pg_multixact文件持久化到磁盘。主要在执行checkpoint和数据库停机时发生。 SLRURead 读取pg_clog、pg_subtrans和pg_multixact文件。 SLRUSync 将脏页写入文件pg_clog、pg_subtrans和pg_multixact并持久化到磁盘。主要在执行checkpoint和数据库停机时发生。 SLRUWrite 写入pg_clog、pg_subtrans和pg_multixact文件。 TimelineHistoryRead 读取timeline history文件。在数据库启动时发生。 TimelineHistorySync 将timeline history文件持久化到磁盘。在数据库启动时发生。 TimelineHistoryWrite 写入timeline history文件。在数据库启动时发生。 TwophaseFileRead 读取pg_twophase文件。在两阶段事务提交、两阶段事务恢复时发生。 TwophaseFileSync 将pg_twophase文件持久化到磁盘。在两阶段事务提交、两阶段事务恢复时发生。 TwophaseFileWrite 写入pg_twophase文件。在两阶段事务提交、两阶段事务恢复时发生。 WALBootstrapSync 将初始化的WAL文件持久化到磁盘。在数据库初始化发生。 WALBootstrapWrite 写入初始化的WAL文件。在数据库初始化发生。 WALCopyRead 读取已存在的WAL文件并进行复制时产生的读操作。在执行归档恢复完后发生。 WALCopySync 将复制的WAL文件持久化到磁盘。在执行归档恢复完后发生。 WALCopyWrite 读取已存在WAL文件并进行复制时产生的写操作。在执行归档恢复完后发生。 WALInitSync 将新初始化的WAL文件持久化磁盘。在日志回收或写日志时发生。 WALInitWrite 将新创建的WAL文件初始化为0。在日志回收或写日志时发生。 WALRead 从xlog日志读取数据。两阶段文件redo相关的操作产生。 WALSyncMethodAssign 将当前打开的所有WAL文件持久化到磁盘。 WALWrite 写入WAL文件。 当wait_status值为acquire lock(事务锁)时对应的wait_event等待事件类型与描述信息如下。 表5 事务锁等待事件列表 wait_event类型 类型描述 relation 对表加锁。 extend 对表扩展空间时加锁。 partition 对分区表加锁。 partition_seq 对分区表的分区加锁。 page 对表页面加锁。 tuple 对页面上的tuple加锁。 transactionid 对事务ID加锁。 virtualxid 对虚拟事务ID加锁。 object 加对象锁。 cstore_freespace 对列存空闲空间加锁。 userlock 加用户锁。 advisory 加advisory锁。 父主题: 系统视图
  • 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的字段。 父主题: 系统视图
  • PGXC_VARIABLE_INFO PGXC_VARIABLE_INFO视图用于查询集群中所有节点的xid、oid的状态。该视图只有monitor admin和sysadmin权限可以查看。只能在CN上查询,不支持execute direct on (dn) 'select * from PGXC_VARIABLE_INFO';语句。 表1 PGXC_VARIABLE_INFO字段 名称 类型 描述 node_name text 节点名称。 nextOid oid 该节点下一次生成的oid。 nextXid xid 该节点下一次生成的事务号。 oldestXid xid 该节点最老的事务号。 xidVacLimit xid 强制autovacuum的临界点。 oldestXidDB oid 该节点datafrozenxid最小的数据库oid。 lastExtendCSNLogpage xid 最后一次扩展csnlog的页面号。 startExtendCSNLogpage xid csnlog扩展的起始页面号。 nextCommitSeqNo xid 该节点下次生成的csn号。 latestCompletedXid xid 该节点提交或者回滚后节点上的最新事务号。 startupMaxXid xid 该节点关机前的最后一个事务号。 父主题: 系统视图
  • PG_STAT_XACT_ALL_TABLES PG_STAT_XACT_ALL_TABLES视图显示命名空间中所有普通表和toast表的事务状态信息。 表1 PG_STAT_XACT_ALL_TABLES字段 名称 类型 描述 relid oid 表的OID。 schemaname name 该表的模式名。 relname name 表名。 seq_scan bigint 该表发起的顺序扫描数。 seq_tup_read bigint 顺序扫描抓取的活跃行数。 idx_scan bigint 该表发起的索引扫描数。 idx_tup_fetch bigint 索引扫描抓取的活跃行数。 n_tup_ins bigint 插入行数。 n_tup_upd bigint 更新行数。 n_tup_del bigint 删除行数。 n_tup_hot_upd bigint HOT更新行数(比如没有更新所需的单独索引)。 父主题: 系统视图
  • PG_STAT_XACT_SYS_TABLES PG_STAT_XACT_SYS_TABLES视图显示命名空间中系统表的事务状态信息。 表1 PG_STAT_XACT_SYS_TABLES字段 名称 类型 描述 relid oid 表的OID。 schemaname name 该表的模式名。 relname name 表名。 seq_scan bigint 该表发起的顺序扫描数。 seq_tup_read bigint 顺序扫描抓取的活跃行数。 idx_scan bigint 该表发起的索引扫描数。 idx_tup_fetch bigint 索引扫描抓取的活跃行数。 n_tup_ins bigint 插入行数。 n_tup_upd bigint 更新行数。 n_tup_del bigint 删除行数。 n_tup_hot_upd bigint HOT更新行数(比如没有更新所需的单独索引)。 父主题: 系统视图
  • PGXC_WLM_EC_OPERATOR_HISTORY PGXC_WLM_EC_OPERATOR_HISTORY视图显示在所有CN上执行的EC(Extension Connector)作业结束时的算子信息。查询该视图需要sysadmin权限。 此视图从数据库中查询的数据,视图中的记录会定时被清理,清理周期为3分钟。 具体的字段请参考GS_WLM_EC_OPERATOR_INFO的字段。 父主题: 系统视图
  • PGXC_TOTAL_MEMORY_DETAIL PGXC_TOTAL_MEMORY_DETAIL视图显示集群内存使用情况。只能在CN上查询,不支持execute direct on (dn) 'select * from PGXC_TOTAL_MEMORY_DETAIL';语句。查询该视图需要sysadmin或者monitor admin权限。 表1 PGXC_TOTAL_MEMORY_DETAIL字段 名称 类型 描述 nodename text 节点名称。 memorytype text 内存使用的名称。 max_process_memory:GaussDB集群实例所占用的内存大小。 process_used_memory:GaussDB进程所使用的内存大小。 max_dynamic_memory:最大动态内存。 dynamic_used_memory:已使用的动态内存。 dynamic_peak_memory:内存的动态峰值。 dynamic_used_shrctx:最大动态共享内存上下文。 dynamic_peak_shrctx:共享内存上下文的动态峰值。 max_shared_memory:最大共享内存。 shared_used_memory:已使用的共享内存。 max_cstore_memory:列存所允许使用的最大内存。 cstore_used_memory:列存已使用的内存大小。 max_sctpcomm_memory:通信库所允许使用的最大内存。 sctpcomm_used_memory:通信库已使用的内存大小。 sctpcomm_peak_memory:通信库的内存峰值。 other_used_memory:其他已使用的内存大小。 memorymbytes integer 内存使用的大小,单位为MB。 父主题: 系统视图
  • PGXC_STAT_ACTIVITY PGXC_STAT_ACTIVITY视图显示当前集群下所有CN的当前用户查询相关的信息,该视图只有monitor admin和sysadmin权限可以查看。 表1 PGXC_STAT_ACTIVITY字段 名称 类型 描述 coorname text 当前集群下的CN名称。 datid oid 用户会话在后台连接到的数据库OID。 datname text 用户会话在后台连接到的数据库名称。 pid bigint 后台线程ID。 sessionid bigint 会话ID。 usesysid oid 登录该后台的用户OID。 usename 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。 backend_start timestamp with time zone 该过程开始的时间,即当客户端连接服务器的时间。 xact_start timestamp with time zone 启动当前事务的时间,如果没有事务是活跃的,则为null。如果当前查询是首个事务,则这列等同于query_start列。 query_start timestamp with time zone 开始当前活跃查询的时间, 如果state的值不是active,则这个值是上一个查询的开始时间。 state_change timestamp with time zone 上次状态改变的时间。 waiting boolean 如果后台当前正等待锁则为true。否则为false。 enqueue text 语句当前排队状态。可能值是: waiting in queue:表示语句在排队中。 空:表示语句正在运行。 state text 该后台当前总体状态。可能值是: active:后台正在执行一个查询。 idle:后台正在等待一个新的客户端命令。 idle in transaction:后台在事务中,但事务中没有语句在执行。 idle in transaction (aborted):后台在事务中,但事务中有语句执行失败。 fastpath function call:后台正在执行一个fast-path函数。 disabled:如果后台禁用track_activities,则报告这个状态。 说明: 只有系统管理员能查看到自己帐户所对应的会话状态。其他帐户的state信息为空。例如以judy用户连接数据库后,在pgxc_stat_activity中查看到的普通用户joe及初始用户omm的state信息为空: SELECT datname, usename, usesysid, state,pid FROM pgxc_stat_activity; datname | usename | usesysid | state | pid----------+---------+----------+--------+----------------- postgres | omm | 10 | | 139968752121616 postgres | omm | 10 | | 139968903116560 db_tpcds | judy | 16398 | active | 139968391403280 postgres | omm | 10 | | 139968643069712 postgres | omm | 10 | | 139968680818448 postgres | joe | 16390 | | 139968563377936(6 rows) resource_pool name 用户使用的资源池。 query_id bigint 查询语句的ID。 query text 该后台的最新查询。如果state状态是active(活跃的),此字段显示当前正在执行的查询。所有其他情况表示上一个查询。 connection_info text json格式字符串,记录当前连接数据库的驱动类型、驱动版本号、当前驱动的部署路径、进程属主用户等信息(参见connection_info)。 global_sessionid text 全局会话ID。 父主题: 系统视图
  • PGXC_SQL_COUNT 通过PGXC_SQL_COUNT视图,可以实时显示SELECT、INSERT、UPDATE、DELETE、MERGE INTO五种SQL的节点级和用户级统计结果,识别当前业务负载较重的query类型,衡量整个集群和单个节点执行某种类型查询的能力。通过对以上五类SQL查询进行计数,获得指定时刻的统计结果,经计算可以得到指定QPS等统计信息。例如,T1时刻,USER1的SELECT计数结果为X1,T2时刻为X2,则可计算得到该用户SELECT查询的QPS值为(X2-X1)\(T2-T1)。由此,可获得集群用户级QPS曲线图和集群吞吐情况,追踪每个用户的业务负载是否发生剧烈变化。如果有剧烈变化,可以定位具体的语句类型(SELECT/INSERT/UPDATE/DELETE/MERGE INTO)。同时观测QPS曲线可以获知问题发生时间点,结合其它工具,定位问题点。能够为集群性能调优、问题定位等提供依据。该视图只有monitor admin和sysadmin权限可以查看。只能在CN上查询,不支持execute direct on (dn) 'select * from PGXC_SQL_COUNT';语句。 PGXC_SQL_COUNT视图的字段与GS_SQL_COUNT一致,详见表1。 当执行用户的MERGE INTO语句时,若能下推,在DN上收到的是MERGE INTO语句,将在DN节点上进行MERGE INTO类型计数,相应mergeinto_count列计数增加;若不能下推,在DN上收到的是UPDATE或INSERT语句,将在DN节点上进行UPDATE或INSERT类型计数,相应的update_count列或insert_count列计数增加。 父主题: 系统视图
  • PGXC_STAT_BAD_BLOCK PGXC_STAT_BAD_BLOCK视图显示集群所有节点从启动后,在读取数据时出现Page/CU校验失败的统计信息。该视图只有monitor admin和sysadmin权限可以查看。 表1 PGXC_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 最近一次出现的时间。 父主题: 系统视图
  • PGXC_RUNNING_XACTS PGXC_RUNNING_XACTS视图主要功能是显示集群中各个节点运行事务的信息,字段内容和PG_RUNNING_XACTS相同。只有system admin和monitor admin用户有权限查看。 表1 PGXC_RUNNING_XACTS字段 名称 类型 描述 handle integer 事务在GTM对应的句柄。 gxid xid 事务id号。 state tinyint 事务状态(3:prepared或者0:starting)。 node text 节点名称。 xmin xid 节点上当前数据涉及的最小事务号xmin。 vacuum boolean 标志当前事务是否是lazy vacuum事务。 t(true):表示是。 f(false):表示否。 timeline bigint 标志数据库重启次数。 prepare_xid xid 处于prepared状态事务的id号,若不在prepared状态,值为0。 pid bigint 事务对应的线程id。 next_xid xid CN传给DN的事务id号。 父主题: 系统视图
  • PGXC_GET_TABLE_SKEWNESS PGXC_GET_TABLE_SKEWNESS视图展示当前库中表的数据分布倾斜情况。只有系统管理员权限可以访问。 表1 PGXC_GET_TABLE_SKEWNESS字段 名称 类型 描述 schemaname name 表所在的模式名。 tablename name 表名。 totalsize numeric 表的总大小,单位Byte。 avgsize numeric(1000,0) 表大小平均值(totalsize/DN个数,该值为平均分布的理想情况下,表在各DN占用空间大小)。 maxratio numeric(4,3) 单DN表大小最大值占比(表在各DN占用空间的最大值/totalsize)。 minratio numeric(4,3) 单DN表大小最小值占比(表在各DN占用空间的最小值/totalsize)。 skewsize bigint 表分布倾斜值(单DN表大小最大值 - 单DN表大小最小值)。 skewratio numeric(4,3) 表分布倾斜率(skewsize/totalsize)。 skewstddev numeric(1000,0) 表分布标准方差(在表大小一定的情况下,该值越大表明表的整体分布情况越倾斜)。 父主题: 系统视图
  • 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对应的线程创建的时间。 父主题: 系统视图
  • PGXC_GET_STAT_ALL_TABLES PGXC_GET_STAT_ALL_TABLES视图获取各表的插入、更新、删除以及脏页率信息。对于高脏页率的系统表,建议在确认当前没有人操作该系统表时,再执行VACUUM FULL。此视图为GaussDB新增功能,升级到该版本后,升级前的插入、更新、删除信息不会被统计。建议对脏页率超过30%的非系统表执行VACUUM FULL,用户也可根据业务场景自行选择是否执行VACUUM FULL。只有system admin和monitor admin用户有权限查看。 表1 PGXC_GET_STAT_ALL_TABLES字段 名称 类型 描述 relid oid 表的oid。 relname name 表名。 schemaname name 表的schemaname。 n_tup_ins numeric 插入的元组条数。 n_tup_upd numeric 更新的元组条数。 n_tup_del numeric 删除的元组条数。 n_live_tup numeric 存活元组的条数。 n_dead_tup numeric 死亡元组的条数。 page_dirty_rate numeric(5,2) 表的脏页率信息(%)。 父主题: 系统视图
  • PGXC_COMM_STATUS PGXC_COMM_STATUS视图展示所有DN的通信库状态。 表1 PGXC_COMM_STATUS字段 名称 类型 描述 node_name text 节点名称。 rxpck_rate integer 节点通信库接收速率,单位Byte/s。 txpck_rate integer 节点通信库发送速率,单位Byte/s。 rxkB_rate bigint bigint节点通信库接收速率,单位KByte/s。 txkB_rate bigint bigint节点通信库发送速率,单位KByte/s。 buffer bigint cmailbox的buffer大小。 memKB_libcomm bigint libcomm进程通信内存大小,单位Byte。 memKB_libpq bigint libpq进程通信内存大小,单位Byte。 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 当前使用的逻辑连接总数。 父主题: 系统视图
  • PGXC_GET_SENDERS_CATCHUP_TIME PGXC_GET_SENDERS_CATCHUP_TIME视图显示所有dn中是否有追赶状态。 表1 PGXC_GET_SENDERS_CATCHUP_TIME字段 名称 类型 描述 nodename text 节点名。 lwpid integer 线程id。 local_role text 当前实例角色。 peer_role text 统一分片其他实例角色。 state text 实例状态。 sender text 发送端地址。 catchup_start timestamp Catchup状态起始时间。 catchup_end timestamp Catchup状态结束时间。 父主题: 系统视图
  • PGXC_COMM_SEND_STREAM PGXC_COMM_SEND_STREAM视图展示所有DN上的通信库发送流状态。 表1 PGXC_COMM_SEND_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:表示将会关闭连接。 query_id bigint 通信流对应的debug_query_id编号。 pn_id integer 通信流所执行查询的plan_node_id编号。 send_smp integer 通信流所执行查询send端的smpid编号。 recv_smp integer 通信流所执行查询recv端的smpid编号。 send_bytes bigint 通信流发送的数据总量,单位Byte。 time bigint 通信流当前生命周期使用时长,单位ms。 speed bigint 通信流的平均发送速率,单位Byte/s。 quota bigint 通信流当前的通信配额值,单位Byte。 wait_quota bigint 通信流等待quota值产生的额外时间开销,单位ms。 父主题: 系统视图
  • PGXC_COMM_RECV_STREAM PGXC_COMM_RECV_STREAM视图展示所有DN上的通信库接收流状态。 表1 PGXC_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:表示将会关闭逻辑连接。 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 通信流当前生命周期使用时长,单位ms。 speed bigint 通信流的平均接收速率,单位Byte/s。 quota bigint 通信流当前的通信配额值,单位Byte。 buff_usize bigint 通信流当前缓存的数据大小,单位Byte。 父主题: 系统视图
  • PG_WLM_STATISTICS PG_WLM_STATISTICS视图显示作业结束后或已被处理异常后的负载管理相关信息。查询该视图需要sysadmin权限。 表1 PG_WLM_STATISTICS字段 名称 类型 描述 statement text 执行了异常处理的语句。 block_time bigint 语句执行前的阻塞时间。 elapsed_time bigint 语句的实际执行时间。 total_cpu_time bigint 语句执行异常处理时DN上CPU使用的总时间。 qualification_time bigint 语句检查倾斜率的时间周期。 cpu_skew_percent integer 语句在执行异常处理时DN上CPU使用的倾斜率。 control_group text 语句执行异常处理时所使用的Cgroups。 status text 语句执行异常处理后的状态,包括: pending:执行前预备状态。 running:执行进行状态。 finished:执行正常结束。 abort:执行异常终止。 action text 语句执行的异常处理动作,包括: abort:执行终止操作。 adjust:执行Cgroups调整操作,目前只有降级操作。 finish:正常结束。 父主题: 系统视图
  • PGXC_COMM_DELAY PGXC_COMM_DELAY视图展示所有DN的通信库时延状态,仅system admin和monitor admin可以查看。 表1 PGXC_COMM_DELAY字段 名称 类型 描述 node_name text 节点名称。 remote_name text 连接对端节点的对端节点名称。 remote_host text 连接对端IP的对端地址。 stream_num integer 当前物理连接使用的stream逻辑连接数量。 min_delay integer 当前物理连接一分钟内探测到的最小时延,单位微秒。 说明: 负数结果无效,请重新等待时延状态更新后再执行查询。 average integer 当前物理连接一分钟内探测时延的平均值,单位微秒。 max_delay integer 当前物理连接一分钟内探测到的最大时延,单位微秒。 父主题: 系统视图
  • PG_VIEWS PG_VIEWS视图提供访问数据库中每个视图的有用信息。 表1 PG_VIEWS字段 名称 类型 引用 描述 schemaname name PG_NAMESPACE.nspname 包含视图的模式名。 viewname name PG_CLASS.relname 视图名。 viewowner name PG_AUTHID.Erolname 视图的所有者。 definition text - 视图的定义。 父主题: 系统视图
  • PG_USER PG_USER视图提供了访问数据库用户的信息,默认只有初始化用户和具有sysadmin属性的用户可以查看,其余用户需要赋权后才可以查看。 表1 PG_USER字段 名称 类型 描述 usename name 用户名。 usesysid oid 此用户的ID。 usecreatedb boolean 用户是否可以创建数据库。 t(true):表示是。 f(false):表示否。 usesuper boolean 用户是否是拥有最高权限的初始系统管理员。 t(true):表示是。 f(false):表示否。 usecatupd boolean 用户是否可以直接更新系统表。只有usesysid=10的初始系统管理员拥有此权限。其他用户无法获得此权限。 t(true):表示是。 f(false):表示否。 userepl boolean 用户是否可以复制数据流。 t(true):表示是。 f(false):表示否。 passwd text 密文存储后的用户口令,始终为********。 valbegin timestamp with time zone 帐户的有效开始时间;如果没有设置有效开始时间,则为NULL。 valuntil timestamp with time zone 帐户的有效结束时间;如果没有设置有效结束时间,则为NULL。 respool name 用户所在的资源池。 parent oid 父用户OID。 spacelimit text 永久表存储空间限额。 useconfig text[] 运行时配置参数的会话缺省。 nodegroup name 用户关联的逻辑集群名称,如果该用户没有管理逻辑集群,则该字段为空。 tempspacelimit text 临时表存储空间限额。 spillspacelimit text 算子落盘空间限额。 usemonitoradmin boolean 用户是否是监控管理员。 t(true):表示是。 f(false):表示否。 useoperatoradmin boolean 用户是否是运维管理员。 t(true):表示是。 f(false):表示否。 usepolicyadmin boolean 用户是否是安全策略管理员。 t(true):表示是。 f(false):表示否。 父主题: 系统视图
共100000条