华为云用户手册

  • USER_TAB_COLUMNS USER_TAB_COLUMNS视图存储当前用户可访问的表和视图字段信息。 名称 类型 描述 owner character varying(64) 表或视图的所有者。 table_name character varying(64) 表名或视图名。 column_name character varying(64) 列名。 data_type character varying(128) 列的数据类型。 column_id integer 创建表或视图时列的序号。 data_length integer 列的字节长度。 comments text 注释。 avg_col_len numeric 列的平均长度,单位为字节。 nullable bpchar 该列是否允许为空,对于主键约束和非空约束,该值为n。 data_precision integer 数据类型的精度,对于numeric数据类型有效,其他类型为NULL。 data_scale integer 小数点右边的位数,对于numeric数据类型有效,其他类型为0。 char_length numeric 列的长度,单位为字符。只对varchar,nvarchar2, bpchar,char类型有效。 schema character varying(64) 包含该表或视图的命名空间。 kind text 当前记录所属的种类,如果此列属于表,则此字段显示为table;如果此列属于视图,则此字段显示为view。 父主题: 系统视图
  • ALL_CONSTRAINTS ALL_CONSTRAINTS视图存储当前用户可访问的约束的信息。 表1 ALL_CONSTRAINTS字段 名称 类型 描述 constraint_name vcharacter varying(64) 约束名。 constraint_type text 约束类型。 c表示检查约束。 f表示外键约束。 p表示主键约束。 u表示唯一约束。 table_name character varying(64) 约束相关的表名。 index_owner character varying(64) 约束相关的索引的所有者(只针对唯一约束和主键约束)。 index_name character varying(64) 约束相关的索引名(只针对唯一约束和主键约束)。 父主题: 系统视图
  • GS_VIEW_DEPENDENCY GS_VIEW_DEPENDENCY视图提供查询当前用户可见的所有视图的直接依赖关系。 表1 GS_VIEW_DEPENDENCY字段 名称 类型 描述 objschema name 视图空间名称。 objname name 视图名称。 refobjschema name 依赖对象的空间名称。 refobjname name 依赖对象的名称。 relobjkind char 依赖对象的类型。 r表示依赖对象为表。 v表示依赖对象为视图。 父主题: 系统视图
  • 应用示例 查询当前节点上所有MemoryContext的使用情况。 根据sessid定位到该MemoryContext是在哪个线程中创建和使用的,依据totalsize,freesize及usedsize来确认内存的使用情况是否符合预期,预先判断是否可能存在内存泄露的风险。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 SELECT * FROM PV_SESSION_MEMORY_DETAIL order by totalsize desc; sessid | sesstype | contextname | level | parent | totalsize | freesize | usedsize ----------------------------+-------------------------+---------------------------------------------+-------+------------------------------+-----------+----------+---------- 0.139975915622720 | postmaster | gs_signal | 1 | TopMemoryContext | 17209904 | 8081136 | 9128768 1667462258.139973631031040 | postgres | SRF multi-call context | 5 | FunctionScan_139973631031040 | 1725504 | 3168 | 1722336 1667461280.139973666686720 | postgres | CacheMemoryContext | 1 | TopMemoryContext | 1472544 | 284456 | 1188088 1667450443.139973877479168 | postgres | CacheMemoryContext | 1 | TopMemoryContext | 1472544 | 356088 | 1116456 1667462258.139973631031040 | postgres | CacheMemoryContext | 1 | TopMemoryContext | 1472544 | 128216 | 1344328 1667461250.139973915236096 | postgres | CacheMemoryContext | 1 | TopMemoryContext | 1472544 | 226352 | 1246192 1667450439.139974010144512 | WLMarbiter | CacheMemoryContext | 1 | TopMemoryContext | 1472544 | 386736 | 1085808 1667450439.139974151726848 | WDRSnapshot | CacheMemoryContext | 1 | TopMemoryContext | 1472544 | 159720 | 1312824 1667450439.139974026925824 | WLMmonitor | CacheMemoryContext | 1 | TopMemoryContext | 1472544 | 297976 | 1174568 1667451036.139973746386688 | postgres | CacheMemoryContext | 1 | TopMemoryContext | 1472544 | 208064 | 1264480 1667461250.139973950891776 | postgres | CacheMemoryContext | 1 | TopMemoryContext | 1472544 | 270016 | 1202528 1667450439.139974076212992 | WLMCalSpaceInfo | CacheMemoryContext | 1 | TopMemoryContext | 1472544 | 393952 | 1078592 1667450439.139974092994304 | WLMCollectWorker | CacheMemoryContext | 1 | TopMemoryContext | 1472544 | 94848 | 1377696 1667461254.139973971343104 | postgres | CacheMemoryContext | 1 | TopMemoryContext | 1472544 | 338544 | 1134000 1667461280.139973822945024 | postgres | CacheMemoryContext | 1 | TopMemoryContext | 1472544 | 284456 | 1188088 1667450439.139974202070784 | JobScheduler | CacheMemoryContext | 1 | TopMemoryContext | 1472544 | 216728 | 1255816 1667450454.139973860697856 | postgres | CacheMemoryContext | 1 | TopMemoryContext | 1472544 | 388384 | 1084160 0.139975915622720 | postmaster | Postmaster | 1 | TopMemoryContext | 1004288 | 88792 | 915496 1667450439.139974218852096 | AutoVacLauncher | CacheMemoryContext | 1 | TopMemoryContext | 948256 | 183488 | 764768 1667461250.139973915236096 | postgres | TempSmallContextGroup | 0 | | 584448 | 148032 | 119 1667462258.139973631031040 | postgres | TempSmallContextGroup | 0 | | 579712 | 162128 | 123
  • GS_STAT_SESSION_CU GS_STAT_SESSION_CU视图查询当前集群各个节点,当前运行session的CU命中情况。session退出相应的统计数据会清零。集群重启后,统计数据也会清零。 表1 GS_STAT_SESSION_CU字段 名称 类型 描述 node_name1 text 节点名称。 mem_hit integer 内存命中次数。 hdd_sync_read integer 硬盘同步读次数。 hdd_asyn_read integer 硬盘异步读次数。 父主题: 系统视图
  • 输出性能统计日志 参数说明:对每条查询,以下4个选项控制在服务器日志里记录相应模块的性能统计数据,具体含义如下: log_parser_stats控制在服务器日志里记录解析器的性能统计数据。 log_planner_stats控制在服务器日志里记录查询优化器的性能统计数据。 log_executor_stats控制在服务器日志里记录执行器的性能统计数据。 log_statement_stats控制在服务器日志里记录整个语句的性能统计数据。 这些参数只能辅助管理员进行粗略分析,类似Linux中的操作系统工具getrusage() 。 参数类型:SUSET log_statement_stats记录总的语句统计数据,而其他参数只记录针对每个模块的统计数据。 log_statement_stats不能和其他任何针对每个模块统计的选项一起打开。 取值范围:布尔型 on表示开启记录性能统计数据的功能。 off表示关闭记录性能统计数据的功能。 默认值:off
  • 获取结果集中的数据 ResultSet对象提供了丰富的方法,以获取结果集中的数据。获取数据常用的方法如表4所示,其他方法请参考JDK官方文档。 表4 ResultSet对象的常用方法 方法 描述 int getInt(int columnIndex) 按列标获取int型数据。 int getInt(String columnLabel) 按列名获取int型数据。 String getString(int columnIndex) 按列标获取String型数据。 String getString(String columnLabel) 按列名获取String型数据。 Date getDate(int columnIndex) 按列标获取Date型数据。 Date getDate(String columnLabel) 按列名获取Date型数据。
  • 获取结果集中光标的位置 对于可滚动的结果集,可能会调用定位方法来改变光标的位置。JDBC驱动程序提供了获取结果集中光标所处位置的方法。获取光标位置的方法如表3所示。 表3 获取结果集光标的位置 方法 描述 isFirst() 是否在一行。 isLast() 是否在最后一行。 isBeforeFirst() 是否在第一行之前。 isAfterLast() 是否在最后一行之后。 getRow() 获取当前在第几行。
  • 设置结果集类型 不同类型的结果集有各自的应用场景,应用程序需要根据实际情况选择相应的结果集类型。在执行SQL语句过程中,都需要先创建相应的语句对象,而部分创建语句对象的方法提供了设置结果集类型的功能。具体的参数设置如表1所示。涉及的Connection的方法如下: 1 2 3 4 5 6 7 8 //创建一个Statement对象,该对象将生成具有给定类型和并发性的ResultSet对象。 createStatement(int resultSetType, int resultSetConcurrency); //创建一个PreparedStatement对象,该对象将生成具有给定类型和并发性的ResultSet对象。 prepareStatement(String sql, int resultSetType, int resultSetConcurrency); //创建一个CallableStatement对象,该对象将生成具有给定类型和并发性的ResultSet对象。 prepareCall(String sql, int resultSetType, int resultSetConcurrency); 表1 结果集类型 参数 描述 resultSetType 表示结果集的类型,具体有三种类型: ResultSet.TYPE_FORWARD_ONLY:ResultSet只能向前移动。是缺省值。 ResultSet.TYPE_SCROLL_SENSITIVE:在修改后重新滚动到修改所在行,可以看到修改后的结果。 ResultSet.TYPE_SCROLL_INSENSITIVE:对可修改例程所做的编辑不进行显示。 说明: 结果集从数据库中读取了数据之后,即使类型是ResultSet.TYPE_SCROLL_SENSITIVE,也不会看到由其他事务在这之后引起的改变。调用ResultSet的refreshRow()方法,可进入数据库并从其中取得当前游标所指记录的最新数据。 resultSetConcurrency 表示结果集的并发,具体有两种类型: ResultSet.CONCUR_READ_ONLY:如果不从结果集中的数据建立一个新的更新语句,不能对结果集中的数据进行更新。 ResultSet.CONCUR_UPDATEABLE:可改变的结果集。对于可滚动的结果集,可对结果集进行适当的改变。
  • 在结果集中定位 ResultSet对象具有指向其当前数据行的光标。最初,光标被置于第一行之前。next方法将光标移动到下一行;因为该方法在ResultSet对象没有下一行时返回false,所以可以在while循环中使用它来迭代结果集。但对于可滚动的结果集,JDBC驱动程序提供更多的定位方法,使ResultSet指向特定的行。定位方法如表2所示。 表2 在结果集中定位的方法 方法 描述 next() 把ResultSet向下移动一行。 previous() 把ResultSet向上移动一行。 beforeFirst() 把ResultSet定位到第一行之前。 afterLast() 把ResultSet定位到最后一行之后。 first() 把ResultSet定位到第一行。 last() 把ResultSet定位到最后一行。 absolute(int) 把ResultSet移动到参数指定的行数。 relative(int) 向前或者向后移动参数指定的行。
  • PGXC_USER_TRANSACTION PGXC_USER_TRANSACTION视图提供查询所有CN上用户相关的事务信息。需要有系统管理员权限才可以访问此视图。该视图仅在资源实时监控功能开启,即enable_resource_track为on时有效。 表1 PGXC_USER_TRANSACTION字段 名称 类型 描述 node_name name 节点名称。 usename name 用户名称。 commit_counter bigint 提交次数。 rollback_counter bigint 回滚次数。 resp_min bigint 最小响应时间。 resp_max bigint 最大响应时间。 resp_avg bigint 平均响应时间。 resp_total bigint 响应时间总和。 父主题: 系统视图
  • GS_ROW_TABLE_IO_STAT GS_ROW_TABLE_IO_STAT视图显示当前数据库中所有行存表在当前节点上的IO情况。各统计字段为实例启动以来的累计值。 表1 GS_ROW_TABLE_IO_STAT字段 名称 类型 描述 schemaname name 表的命名空间。 relname name 表的名称。 heap_read bigint 堆逻辑读块数。 heap_hit bigint 堆命中块数。 idx_read bigint 索引逻辑读块数。 idx_hit bigint 索引命中块数。 toast_read bigint TOAST表逻辑读块数。 toast_hit bigint TOAST表命中块数。 tidx_read bigint TOAST表Index逻辑读个数。 tidx_hit bigint TOAST表Index命中个数。 父主题: 系统视图
  • 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 当前线程的线程号。 lwtid integer 当前线程的轻量级线程号。 ptid integer streaming线程的父线程。 tlevel integer streaming线程的层级。 smpid integer 并行线程的ID。 wait_status text 当前线程的等待状态。等待状态的详细信息请参见表2。 wait_event text 如果wait_status是acquire lock、acquire lwlock、wait io三种类型,此列描述具体的锁、轻量级锁、IO的信息。否则为空。 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 steam plan结束时,等待stream线程组内的线程统一退出。 nodegroup destroy steam plan结束时,等待销毁stream node group。 wait active statement 等待作业执行,正在资源负载管控中。 wait global queue 等待作业执行,正在全局队列排队。 wait respool queue 等待作业执行,正在资源池上排队。 wait ccn queue 等待作业执行,正在中心协调节点(CCN)中排队。 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 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 sync consumer next step Consumer接收端同步等待下一轮迭代。 wait sync producer next step Producer发送端同步等待下一轮迭代。 wait agent release 正在释放当前agent(8.1.2及以上版本支持)。 wait stream task stream线程等待被复用(8.1.2及以上版本支持)。 当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控制数据结构。 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。 SyncScanLock 用于确定heap扫描时某个relfilenode的起始位置。 NodeTableLock 用于保护存放CN和DN节点信息的共享结构。 PoolerLock 用于保证两个线程不会同时从连接池里取到相同的连接。 RelationMappingLock 用于等待更新系统表到存储位置之间映射的文件。 AsyncCtlLock 用于避免并发访问或者修改共享通知状态。 AsyncQueueLock 用于避免并发访问或者修改共享通知信息队列。 SerializableXactHashLock 用于避免对于可串行事务共享结构的写写并发和读写并发。 SerializableFinishedListLock 用于避免对于已完成可串行事务共享链表的写写并发和读写并发。 SerializablePredicateLockListLock 用于保护对于可串行事务持有的锁链表。 OldSerXidLock 用于保护记录冲突可串行事务的结构。 FileStatLock 用于保护存储统计文件信息的数据结构。 SyncRepLock 用于在主备复制时保护xlog同步信息。 DataSyncRepLock 用于在主备复制时保护数据页同步信息。 CStoreColspaceCacheLock 用于保护列存表的CU空间分配。 CStoreCUCacheSweepLock 用于列存CU Cache循环淘汰。 MetaCacheSweepLock 用于元数据循环淘汰。 DfsConnectorCacheLock 用于保护缓存HDFS连接的句柄的全局哈希表。 dummyServerInfoCacheLock 用于保护缓存加速集群连接信息的全局哈希表。 ExtensionConnectorLibLock 用于初始化ODBC连接场景,在加载与卸载特定动态库时进行加锁。 SearchServerLibLock 用于GPU加速场景初始化加载特定动态库时,对读文件操作进行加锁。 DfsUserLoginLock 用于保护HDFS用户信息的全局链表。 DfsSpaceCacheLock 用于控制HDFS表导入时文件ID单调递增。 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 用于获取环境变量,如GAUSSHOME。 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锁。 父主题: 系统视图
  • PG_COMM_QUERY_SPEED PG_COMM_QUERY_SPEED视图展示单个节点上所有query对应的流量信息。 表1 PG_COMM_QUERY_SPEED字段 名称 类型 描述 node_name text 节点名称。 query_id bigint 通信流对应的debug_query_id编号。 rxkB/s bigint 查询对应的通信流接收速率,单位为Byte/s。 txkB/s bigint 查询对应的通信流发送速率,单位为Byte/s。 rxkB bigint 查询对应的通信流接收数据总量,单位为Byte。 txkB bigint 查询对应的通信流发送数据总量,单位为Byte。 rxpck/s bigint 查询对应的通信包接收速率,单位为packages/s。 txpck/s bigint 查询对应的通信包发送速率,单位为packages/s。 rxpck bigint 查询对应的通信包接收总量,单位为packages。 txpck bigint 查询对应的通信包发送总量,单位为packages。 父主题: 系统视图
  • GS_SQL_COUNT GS_SQL_COUNT视图显示数据库当前节点当前时刻执行的五类语句(SELECT、INSERT、UPDATE、DELETE、MERGE INTO)统计信息,包括执行次数和响应时间(除MERGE INTO语句外,统计其他四类语句的最大、最小、平均和总响应时间,单位为微秒),以及DDL、DML、DCL类型语句的执行次数。 GS_SQL_COUNT视图中对DDL、DML、DCL类型语句分类与SQL语法中略有不同,具体如下: CREATE/ALTER/DROP USER,CREATE/ALTER/DROP ROLE等用户相关语句属于DCL类型。 BEGIN/COMMIT/SET CONSTRAINTS/ROLLBACK/SAVEPOINT/START等事务相关语句属于DCL类型。 ALTER SYSTEM KILL SESSION等价于SELECT pg_terminate_backend()语句,属于DML类型。 其余语句的分类与SQL语法中定义类似。 普通用户查询GS_SQL_COUNT视图仅能看到该用户当前节点的统计信息。管理员权限用户查询GS_SQL_COUNT视图则能看到所有用户当前节点的统计信息;当集群或该节点重启时,计数会清零,并重新开始计数 。计数以节点收到的查询数为准,包括集群内部进行的查询;GS_SQL_COUNT视图涉及的统计信息只在CN上统计,且不统计从其他CN发送过来的SQL。在DN上查询该视图返回结果为空。 表1 GS_SQL_COUNT字段 名称 类型 描述 node_name name 节点名称。 user_name name 用户名。 select_count bigint SELECT数量。 update_count bigint UPDATE数量。 insert_count bigint INSERT数量。 delete_count bigint DELETE数量。 mergeinto_count bigint MERGE INTO数量。 ddl_count bigint DDL数量。 dml_count bigint DML数量。 dcl_count bigint DCL数量。 total_select_elapse bigint SELECT总响应时间。 avg_select_elapse bigint SELECT平均响应时间。 max_select_elapse bigint SELECT最大响应时间。 min_select_elapse bigint SELECT最小响应时间。 total_update_elapse bigint UPDATE总响应时间。 avg_update_elapse bigint UPDATE平均响应时间。 max_update_elapse bigint UPDATE最大响应时间。 min_update_elapse bigint UPDATE最小响应时间。 total_delete_elapse bigint DELETE总响应时间。 avg_delete_elapse bigint DELETE平均响应时间。 max_delete_elapse bigint DELETE最大响应时间。 min_delete_elapse bigint DELETE最小响应时间。 total_insert_elapse bigint INSERT总响应时间。 avg_insert_elapse bigint INSERT平均响应时间。 max_insert_elapse bigint INSERT最大响应时间。 min_insert_elapse bigint INSERT最小响应时间。 父主题: 系统视图
  • PG_TABLESPACE PG_TABLESPACE系统表存储表空间信息。 表1 PG_TABLESPACE字段 名称 类型 描述 spcname name 表空间名。 spcowner oid 表空间的所有者,通常是其创建者。 spcacl aclitem[] 访问权限。具体请参见GRANT和REVOKE。 spcoptions text[] 表空间的选项。 spcmaxsize text 可使用的最大磁盘空间大小,单位为Byte。 父主题: 系统表
  • GS_RESPOOL_RESOURCE_HISTORY GS_RESPOOL_RESOURCE_HISTORY表记录资源池监控历史信息,CN和DN上均进行记录。 表1 GS_RESPOOL_RESOURCE_HISTORY字段 名称 类型 描述 timestamp timestamp 资源池监控信息持久化时间。 nodegroup name 资源池所属逻辑集群名称,默认集群显示"installation"。 rpname name 资源池名称。 cgroup name 资源池关联控制组名称。 ref_count int 资源池引用作业数,作业经过资源池不管是否管控都会计数,仅CN上有效。 fast_run int 资源池快车道运行作业数,只在CN上有效。 fast_wait int 资源池快车道排队作业数,只在CN上有效。 fast_limit int 资源池快车道作业并发限制,只在CN上有效。 slow_run int 资源池慢车道运行作业数,只在CN上有效。 slow_wait int 资源池慢车道排队作业数,只在CN上有效。 slow_limit int 资源池慢车道作业并发限制,只在CN上有效。 used_cpu double 资源池5s监控周期内使用CPU个数平均值,保留小数点后2位。 DN:显示当前DN上资源池使用的CPU个数。 CN:显示所有DN上资源池使用CPU的累积和。 cpu_limit int 资源池可用CPU的上限,CPU配额管控情况下为GaussDB可用CPU,CPU限额管控情况下为关联控制组CPU可用CPU。 DN:显示当前DN上资源池可用CPU上限。 CN:显示所有DN上资源池可用CPU上限的累积和。 used_mem int 资源池使用的内存大小,单位为MB。 DN:显示当前DN上资源池使用的内存大小。 CN:显示所有DN上资源池使用内存的累积和。 estimate_mem int 当前CN上,资源池运行作业的估算内存之和,只在CN上有效。 mem_limit int 资源池可用内存上限,单位为MB。 DN:显示当前DN上资源池可用内存上限。 CN:显示所有DN上资源池可用内存上限的累积和。 read_kbytes bigint 资源池5s监控周期内逻辑读字节数,单位为KB。 DN:显示当前DN上资源池逻辑读字节数。 CN:显示所有DN上资源池逻辑读字节的累积和。 write_kbytes bigint 资源池5s监控周期内逻辑写字节数,单位为KB。 DN:显示当前DN上资源池逻辑写字节数。 CN:显示所有DN上资源池逻辑写字节的累积和。 read_counts bigint 资源池5s监控周期内逻辑读次数。 DN:显示当前DN上资源池逻辑读次数。 CN:显示所有DN上资源池逻辑读次数的累积和。 write_counts bigint 资源池5s监控周期内逻辑写次数。 DN:显示当前DN上资源池逻辑写次数。 CN:显示所有DN上资源池逻辑写次数的累积和。 read_speed double 资源池5s监控周期内逻辑读速率的平均值。 DN:显示当前DN上资源池逻辑读速率。 CN:显示所有DN上资源池逻辑读速率的累积和。 write_speed double 资源池5s监控周期内逻辑写速率平均值。 DN:显示当前DN上资源池逻辑写速率。 CN:显示所有DN上资源池逻辑写速率的累积和。 父主题: 系统表
  • PG_COMM_STATUS PG_COMM_STATUS视图展示单个DN的通信库状态。 表1 PG_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 当前使用的逻辑连接总数。 父主题: 系统视图
  • PGXC_WORKLOAD_TRANSACTION PGXC_WORKLOAD_TRANSACTION视图提供查询所有CN上Workload控制组相关的事务信息。需要有系统管理员权限或预置角色gs_role_read_all_stats权限才可以访问此视图。该视图仅在资源实时监控功能开启,即enable_resource_track为on时有效。 表1 PGXC_WORKLOAD_TRANSACTION字段 名称 类型 描述 node_name name 节点名称。 workload name Workload控制组名称。 commit_counter bigint 提交次数。 rollback_counter bigint 回滚次数。 resp_min bigint 最小响应时间,单位为微秒。 resp_max bigint 最大响应时间,单位为微秒。 resp_avg bigint 平均响应时间,单位为微秒。 resp_total bigint 响应时间总和,单位为微秒。 父主题: 系统视图
  • 术语表 术语 解释 A – E ACID 在可靠数据库管理系统(DBMS)中,事务(transaction)所应该具有的四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。 安全环 每一个环都由若干物理机组成,环内的DN形成主、备、从备关系,不向环外延伸。也就是说,环内的任何一个节点的主,或者备,或从备,依然在环内。扩容与缩容时,是以环为最小单位进行的。 Bgwriter 数据库启动时创建的一个后台写线程,此线程用于将数据库中脏页面写入到持久性设备(例如磁盘)中。 bit 比特。计算机处理的最小的信息单位。比特用来表示二进制数字1或0,或者一种逻辑条件真或假。在物理上,比特表示一个电路上高或低的电压点或者磁盘上的磁化单程或其它。一个单独的比特位所传达的信息很少有意义的。然而,一个8位组却构成了一个字节,可用于表示如一个英文字母,十进制数字,或其它字符等多种类型的信息。 Bloom Filter 布隆过滤器。由Howard Bloom在1970年提出的二进制向量数据结构,它具有很好的空间和时间效率,被用来检测一个元素是不是集合中的一个成员,这种检测只会对在集合内的数据错判,而不会对不是集合内的数据进行错判,这样每个检测请求返回有“在集合内(可能错误)”和“不在集合内(绝对不在集合内)”两种情况,可见Bloom filter是牺牲了正确率换取时间和空间。 CCN Central Coordinator ,GaussDB(DWS)动态负载管理中心协调节点。负责进行各CN中复杂作业是否可以执行的中心判断、排队和调度,以实现动态负载管理。 CIDR Classless Inter-Domain Routing,无类域间路由IP编址方案。CIDR摒弃传统的基于类(A类:8,B类:16,C类:24)的地址分配方式,允许使用任意长度的地址前缀,有效提高地址空间的利用率。CIDR表示方法:IP地址/网络ID的位数。比如192.168.23.35/21,其中“21”表示前面地址中的前21位代表网络部分,其余位代表主机部分。 Cgroups Control Groups,控制组(GaussDB(DWS)中也称之为优先级组)。SUSE Linux和RedHat内核提供的一种可以限制、记录、隔离进程组所使用的物理资源的机制。 CLI Command-line Interface,命令行界面。应用程序和用户交互的一种方式,完全基于文本输入和输出。命令通过键盘或类似装置输入,由程序编译并执行。结果是以文本或图形的方式呈现在终端界面。 CM Cluster Manager,集群管理模块。管理和监控分布式系统中各个功能单元和物理资源的运行情况,确保整个系统的稳定运行。 CMS Cluster Management Service,集群管理服务。是用于管理集群状态的部件。 CN Coordinator,负责数据库系统元数据存储、查询任务的分解和部分执行,以及将DN中查询结果汇聚在一起。 CU Compression Unit,压缩单元。列存表的最小存储单位。 core文件 当程序出现内存越界、断言失败或者访问非法内存时,操作系统会中止进程,并将当前内存状态导出到core文件中,以便进一步分析。 core文件包含内存转储,支持全二进制和指定端口格式。core文件名称由字符串core以及操作系统进程ID组成。 core文件不依赖于任何平台。 Core Dump 通常在程序异常终止时,核心转储(Core Dump)、内存转储或系统转储用于记录特定时间计算机程序工作内存的状态。实际上,其它关键程序的状态经常在同一时间进行转储,例如处理器寄存器,包括程序指标和栈指针、内存管理信息、其它处理器和操作系统标记及信息。Core Dump经常用于辅助诊断和纠错计算机程序问题。 DBA Database Administrator,数据库管理员。指导或执行所有和维护数据库环境相关的操作。 DBLINK DBLINK是定义一个数据库到另一个数据库路径的对象,通过它可以查询远程数据库对象。 DBMS Database Management System,数据库管理系统。数据库管理系统是为了访问数据库中的信息而使用的一个管理系统软件。它包含一组程序使用户可以进入、管理、查询数据库中数据。基于真实数据的位置,可以分为内存数据库管理系统和磁盘数据库管理系统。 DCL Data Control Language,数据控制语言。 DDL Data Definition Language,数据定义语言。 DML Data Manipulation Language,数据操纵语言。 DN Data Node,和CN对应的概念。负责实际执行表数据的存储、查询操作。 ETCD Editable Text Configuration Daemon,分布式键值存储系统,用于共享配置和服务发现(服务注册和查找)。 ETL Extract-Transform-Load,描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。 Extension Connector Extension Connector是GaussDB(DWS)提供的功能模块,使用它可以将SQL语句发送到集群外部的Spark,并在当前库中返回执行结果,实现跨集群处理数据。 备份 备份件或者备份过程。指复制并归档计算机数据,当发生数据丢失事件时,可以用该复制并归档的数据来恢复原始数据。 备份和恢复 保护数据库防止由于媒介失效或人为错误造成的数据丢失过程中涉及的一组概念、过程及策略。 备机 GaussDB(DWS)双机方案中的一个节点,用于作为主机的备份,在主机异常时,备机会切换到主机状态,以确保能正常提供数据服务。 崩溃 崩溃(或系统崩溃)指计算机或程序(例如软件应用程序或操作系统)异常终止的事件。出现错误后,通常会自动退出。有时出现恶意程序冻结或挂起直到崩溃上报服务记录崩溃的详细信息。对于操作系统内核关键部分的程序,整个计算机可能瘫痪(可能造成致命的系统错误)。 编码 编码是指用代码来表示各组数据资料,使其成为可利用计算机进行处理和分析的信息。用预先规定的方法将文字、数字或其它对象编成数码,或将信息、数据转换成规定的电脉冲信号。 编码技术 呈现计算机软硬件识别的特定字符集数据的技术。 表 表是由行与列组合成的。每一列被当作是一个字段。每个字段中的值代表一种类型的数据。例如,一个表可能有3个字段:姓名、城市和国家。这个表就会有3列:一列代表姓名,一列代表城市,一列代表国家。表中的每一行包含3个字段的内容,姓名字段包含姓名,城市字段包含城市,国家字段包含国家。 表空间 包含表、索引、大对象、长数据等数据的逻辑存储结构。表空间在物理数据和逻辑数据间提供了抽象的一层,为所有的数据库对象分配存储空间。表空间创建好后,创建数据库对象时可以指定该对象所属的表空间。 并发控制 在多用户环境下同时执行多个事务并保证数据完整性的一个DBMS服务。并发控制是GaussDB(DWS)提供的一种多线程管理机制,用来保证多线程环境下在数据库中执行的操作是安全的和一致的。 查询 向数据库发出的信息请求,包含更新、修改、查询或删除信息的请求。 查询操作符 Query Operator,也称为查询迭代算子(Iterator)或查询节点(Query Tree Node)。一个查询的执行可以分解为一个或多个查询操作符,是构成一个查询执行的最基本单位。常见的查询操作符包括表扫描(Scan),表关联(Join),表聚集(Aggregation)等。 查询片段 每一个查询任务都可以分解成为一个或者多个查询片段。每个查询片段由一个或多个查询操作符构成,可独立在节点上运行。通过数据流操作符与其它查询片段块交换数据。 持久性 数据库事务的ACID特性之一。在事务完成以后,该事务对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。 存储过程 存储过程(StoredProcedure)是在大型数据库系统中,一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名称并设置参数(如果该存储过程带有参数)来执行它。 操作系统 操作系统OS(operating system)由引导程序加载到计算中,对计算机中其它程序进行管理。其它程序叫做应用或应用程序。 从备 Secondary,为了保证集群的高可靠性,主、备间无法正常同步数据时,主节点会将日志同步到从备。如果主节点突然故障不可用,备节点会升主,并且升主成功后从从备节点上同步之前异常期间的日志。 大对象 大对象(Blob)在数据库中指使用二进制方式存储的数据。它通常可以用于存储视频、音频和图像等多媒体数据。 动态负载 GaussDB(DWS)动态负载是指基于系统中CPU、I/O、内存等资源的使用情况,自动调节并发作业的运行数量,避免因为系统资源过载导致业务报错或无响应。 段 数据库中,一段指包含一个或多个区域的数据库中的一部分。区域是数据库的最小范围,由单元调用块组成。一个或多个段组成一个表空间。 F – J Failover 指当某个节点出现故障时,自动切换到备节点上的过程。反之,从备节点上切换回来的过程称为Failback。 FDW Foreign Data Wrapper,外部数据封装器。是Postgres提供的一个SQL接口,用于访问远程数据存储中的大数据对象,使DBA可以整合来自不相关数据源的数据,将它们存入数据库中的一个公共模型。 Freeze 在事务ID耗尽时由AutoVacuum Worker进程自动执行的操作。GaussDB(DWS)会把事务ID记在行头,在一个事务取得一行时,通过比较行头的事务ID和事务本身的ID判断这行是否可见,而事务ID是一个无符号整数,如果事务ID耗尽,事务ID会跨过整数的界限重新计算,此时原先可见的行就会变成不可见的行,为了避免这个问题,Freeze操作会将行头的事务标记为一个特殊的事务ID,标记了这个特殊的事务ID的行将对所有事务可见,以此避免事务ID耗尽产生的问题。 GDB GNU工程调试器,可以监控其它程序运行时的内部情况,或者其它程序要崩溃时发生了什么。GDB支持如下四种主要操作(使PDK功能更加强大),辅助查找缺陷。 启动程序,指定可能影响行为的任何因素。 特定条件下,停止程序。 程序停止时,检查发生了什么。 修改程序内容,尝试纠正一个缺陷并继续下一个。 GDS General Data Service,数据并行加载工具。向GaussDB(DWS)导入数据时,需要将此工具部署到源数据所在的服务器上,使DN可以通过该工具获取数据。 GIN索引 Generalized Inverted Index,通用倒排索引。作用为处理索引项为组合值的情况,查询时需要通过索引搜索出出现在组合值中的特定元素值。 GNU GNU计划,又称革奴计划,是由RichardStallman在1983年9月27日公开发起的。它的目标是创建一套完全自由的操作系统。GNU是“GNU's NotUnix”的递归缩写。Stallman宣布GNU应当发音为Guh-NOO以避免与new这个单词混淆(注:Gnu在英文中原意为非洲牛羚,发音与new相同)。Unix是一种广泛使用的商业操作系统的名称。技术上讲,GNU类似Unix。但是GNU却给了用户自由。 gsql GaussDB(DWS)交互终端。通过gsql能够以交互的方式输入查询,下发查询到GaussDB(DWS),然后查看查询结果。或者,也可以从文件中输入。此外,gsql还提供许多元命令和各种类似shell命令,协助脚本编写及自动化各种任务。 GTM Global Transaction Manager,全局事务管理器。用于管理事务状态的部件。 GUC Grand Unified Configuration,数据库运行参数。配置这些参数可以影响数据库系统的行为。 HA 高可用性(HighAvailability),通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性。 HBA host-based authentication,主机认证。主机鉴权允许主机鉴权部分或全部系统用户。适用于系统所有用户或者使用Match指令的子集。该类型鉴权对于管理计算集群以及其它完全同质设备非常有用。总之,服务器上的三个文件以及客户端上的一个文件必须修改,为主机鉴权做准备。 HDFS Hadoop Distributed File System,Apache Hadoop项目的一个子项目。一个高度容错的分布式文件系统,设计用于在低成本硬件上运行。HDFS提供高吞吐量应用程序数据访问功能,适合带有大型数据集的应用程序。 服务器 为客户端提供服务的软硬件的组合。单独使用时,指运行服务器操作系统的计算机,也可以指提供服务的软件或者专用硬件。 高级包 GaussDB(DWS)提供的具有一定逻辑和功能的存储过程、函数,这些具备功能的存储过程、函数统称为高级包。 隔离性 数据库事务的ACID特性之一。它是指一个事务内部的操作及使用的数据对其它并发事务是隔离的,并发执行的各个事务之间不能互相干扰。 关系型数据库 创建在关系模型基础上的数据库。关系型数据库借助于集合代数等数学概念和方法来处理数据库中的数据。 归档线程 数据库打开归档功能时启动的一个线程,此线程用于将数据库日志归档到指定的路径。 故障接管 功能对等的系统部件对于故障部件的自动替换过程。系统部件包含处理器、服务器、网络、数据库等。 环境变量 定义进程操作环境某一方面的变量。例如,环境变量可以为主目录,命令搜索路径,使用终端或当前时区。 检查点 将数据库内存中某一时刻的数据存到磁盘的机制。GaussDB(DWS)定期将已提交的事务数据和未提交的事务数据存到磁盘,这些数据用来和Redo日志一起在数据库重启和崩溃时恢复数据库。 加密 用于传输数据的功能。通过该功能,可以隐藏信息内容,防止非法使用。 节点 将构成GaussDB(DWS)集群环境的各台服务器(物理机或虚拟机)称为集群节点,简称节点。 纠错 系统自动识别软件和数据流上的错误并自动修正错误的能力,提升系统的稳定性和可靠性。 进程 在单个计算机上执行程序的实例。一个进程由一个或多个线程组成。其它进程不能接入某个进程已占用的线程。 基于时间点恢复 PITR(Point-In-TIme Recovery),基于时间点恢复是GaussDB(DWS)备份恢复的一个特性,是指在备份数据和WAL日志正常的情况下,数据可以恢复到指定时间点。 记录 在关系型数据库中,每一条记录对应表中的每一行数据。 集群 集群是由一组服务器和其它资源组成的一个单独的系统,可以实现高可用性。有的情况下,可以实现负载均衡及并行处理。 K – O LLVM LLVM命名最早源自于底层虚拟机(Low Level Virtual Machine)的缩写。LLVM是构架编译器(compiler)的框架系统,以C++编写而成,用于优化以任意程序语言编写的程序的编译时间(compile-time)、链接时间(link-time)、运行时间(run-time)以及空闲时间(idle-time),对开发者保持开放,并兼容已有脚本。 GaussDB(DWS) LLVM动态编译技术可以为每个查询生成定制化的机器码用于替换原本的通用函数。通过减少实际查询时冗余的条件逻辑判断、虚函数调用并提高数据局域性,从而达到提升查询整体性能的目的。 LVS Linux Virtual Server,虚拟服务器集群系统,用于负责集群的负载均衡。 逻辑复制 数据库主备或两个集群间的数据同步方式。区别于通过物理日志回放方式的物理复制,逻辑复制在两个集群间传输逻辑日志或通过逻辑日志对应的SQL语句实现数据同步。 逻辑日志 数据库修改的日志记录,可直接对应为SQL语句,一般为行级记录。区别于物理日志,物理日志是记录物理页面修改的日志。 逻辑解码 逻辑解码是一种通过对xlog日志的反解实现将数据库表的所有持久更改抽取到一种清晰、易于理解的格式的处理过程。 逻辑复制槽 在逻辑复制的环境下,逻辑复制槽用以防止Xlog被系统或VACUUM回收。GaussDB(DWS)中用于记录逻辑解码位置的对象,提供创建、删除、读取、推进等多个SQL接口函数。 MPP Massive Parallel Processing,大规模并行处理。指利用多个机器构成集群的架构方式,也称为集群(Cluster)系统。 MVCC Multi-Version Concurrency Control,多版本并发控制。数据库并发控制协议的一种,它的基本算法是一个元组可以有多个版本,不同的查询可以工作在不同的版本上。一个基本的好处是读和写可以不冲突。 NameNode NameNode是Hadoop系统中的一个中心服务器,负责管理文件系统的名字空间(namespace)以及客户端对文件的访问。 Node Group 在GaussDB(DWS)集群里Node Group指DN的集合,是集群中的子集群。从性质上可以分为存储子集群Storage Node Group和计算子集群Computing Node Group。存储子集群用来承载本地表的数据存储,而计算子集群用来承载查询的聚集、关联计算。 OLAP Online Analytical Processing,联机分析处理。是数据仓库系统最主要的应用,专门设计用于支持复杂的分析操作,侧重对决策人员和高层管理人员的决策支持,可以根据分析人员的要求快速、灵活地进行大数据量的复杂查询处理,并且以一种直观而易懂的形式将查询结果提供给决策人员,以便准确掌握企业(公司)的经营状况,了解对象的需求,制定正确的方案。 OM Operations Management,运维管理模块。提供集群日常运维、配置管理的管理接口、工具。 ORC Optimized Row Columnar,一种广泛使用的Hadoop系统结构化数据的文件格式,由Hadoop HIVE项目引入。 客户端 连接或请求其它计算机或程序服务的计算机或程序。 空闲空间管理 管理表内空闲空间的机制,通过记录每个表内空闲空间信息,并建立易于查找的数据结构,可以加速对空闲空间进行的操作(例如INSERT)。 跨集群 GaussDB(DWS)支持通过外表和Extension Connector访问当前GaussDB(DWS)集群外的其他DBMS中的数据,这种行为称为跨集群。 垃圾元组 是指使用DELETE和UPDATE语句删除的元组,GaussDB(DWS)在删除元组时只是打个删除标记,由Vacuum线程清理这种垃圾元组。 列 字段的等效概念。在数据库中,表由一列或多列组成。 逻辑节点 一个物理节点上可以安装多个逻辑节点。一个逻辑节点是一个数据库实例。 模式 数据库对象集,包括逻辑结构,例如表、视图、序、存储过程、同义名、索引、集群及数据库链接。 模式文件 用于决定数据库结构的SQL文件。 P – T Page GaussDB(DWS)数据库关系对象结构中行存的最小存储单元。一个Page大小为默认为8KB。 PostgreSQL PostgreSQL是一个开源的关系数据库管理系统(DBMS),由全球志愿者团队开发。PostgreSQL不受任何公司或个体所控制,源代码免费使用。 Postgres-XC 一款多节点同步,读写可扩展的PostgreSQL集群数据库。 Postmaster 数据库服务启动时启动的一个线程。用于监听来自集群其它节点或客户端的连接请求。 主机上监听到备机连接请求,并接受后,就会创建一个WAL Sender线程,用于处理与备机的交互。 RHEL Red Hat Enterprise Linux,红帽企业Linux。 REDO日志 记录对数据库进行操作的日志,这些日志包含重新执行这些操作所需要的信息。当数据库故障时,可以利用REDO日志将数据库恢复到故障前的状态。 SCTP Stream Control Transmission Protocol,流控制传输协议。是IETF于2000年新定义的一个传输层协议。是提供基于不可靠传输业务的协议之上的可靠的数据报传输协议。SCTP的设计用于通过IP网传输SCN窄带信令消息。 Savepoint 保存点。是一种在关系数据库管理系统中实现子事务(也称为嵌套事务)的方法。在一个长事务中,可以把操作过程分成几部分,前面部分执行成功后,可以建一个保存点,若后面的执行失败,则回滚到这个保存点即可,无需回滚整个事务。保存点对于在数据库应用程序中实现复杂错误恢复很有用。如果在多语句事务中发生错误,则应用程序可能能够从错误中恢复(通过回滚到保存点)而无需中止整个事务。 Session 数据库系统在接收到应用程序的连接请求时,为该连接创建的一个任务。它被Session Manager管理,完成一些初始化任务,执行用户的所有操作。 Shared-nothing architecture 无共享架构是一种分布式计算架构,这种架构中不存在集中共享CPU、存储的状态,这种架构具有非常强的扩展性。 SLES SUSE Linux Enterprise Server,由SUSE提供的企业级Linux操作系统。 SMP Symmetric Multi-Processing,对称多处理技术,是指在一台计算机上汇集了一组处理器(多CPU),各CPU之间共享内存子系统以及总线结构。操作系统必须支持多任务和多线程处理,以使得SMP系统发挥高效的性能。数据库领域的SMP并行技术,一般指利用多线程技术实现查询的并行执行,以充分利用CPU资源,从而提升查询性能。 SQL Structure Query Language,结构化查询语言。数据库的标准查询语言。它可以分为数据定义语言(DDL),数据操纵语言(DML)和数据控制语言(DCL)。 SSL Secure Socket Layer,安全套接层。SSL是Netscape公司率先采用的网络安全协议。它是在传输通信协议(TCP/IP)上实现的一种安全协议,采用公开密钥技术。SSL广泛支持各种类型的网络,同时提供三种基本的安全服务,它们都使用公开密钥技术。SSL支持服务通过网络进行通信而不损害安全性。它在客户端和服务器之间创建一个安全连接。然后通过该连接安全地发送任意数据量。 收敛比 交换机下行带宽与上行带宽的比值。收敛比越高,流量收敛程度越大,丢包越严重。 TCP Transmission Control Protocol,传输控制协议。用于将数据信息分解成信息包,使之经过IP协议发送;并对利用IP协议接收来的信息包进行校验并将其重新装配成完整的信息。TCP是面向连接的可靠协议,能够确保信息的无误发送。 trace 一种特殊的日志记录方法,用来记录程序执行的信息。程序员使用该信息进行纠错。另外,根据trace日志中信息的类型和内容,有经验的系统管理员或技术支持人员以及软件监控工具诊断软件常见问题。 全备份 备份整个数据库集群。 全量同步 GaussDB(DWS)双机方案中的一种数据同步机制,是指把主机中的所有数据同步给备机。 日志文件 计算机记录自身活动的记录。 事务 数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成,事务必须满足ACID原则。 数据 事实或指令的一种表达形式,适用于人为或自动的通信、解释或处理。数据包含常量、变量、阵列和字符串。 数据重分布 用户改变数据的分布方式后,数据表在节点间重新分布的过程。 数据分布 表数据在分布式环境中的分布方式(Distribution),即数据表以何种方式打散存储到各个数据库实例上去。具体的分布方式可以有:散列(Hash)方式,复制方式(Replication)和随机方式(Random)。散列方式根据元组中指定字段的取值算得哈希值,根据节点与哈希值的映射关系获得该元组的目标存储位置。复制方式将元组复制到所有节点上。随机方式将数据随机分布到各节点。 数据分区 数据分区是指在一个数据库实例内部,将表按照划分为多个数据互不重叠的部分(Partition)。具体的分区方式可以有:范围分区(Range),它根据元组中指定字段的取值所处的范围映射到目标存储位置。 数据库 数据库是存储在一起的相关数据的集合,这些数据可以被访问,管理以及更新。同一视图中,数据库可以根据存储内容类型分为以下几类:数目类、全文本类、数字类及图像类。 数据库实例 一个数据库实例是一个GaussDB(DWS)进程以及它控制的数据库文件。GaussDB(DWS)在一个物理节点上安装多个数据库实例,集群各节点上所安装的GTM、CM、CN、DN统称为实例。一个数据库实例也被称为一个逻辑节点。 数据库双机 GaussDB(DWS)提供的高可靠性双机方案。在此方案中,每个GaussDB(DWS)逻辑节点标识为主机或备机。在同一时间内,只有一个GaussDB(DWS)被标识为主机。双机初次建立时,主机会对每个备机数据做全量同步,然后做增量同步。双机建立之后的运行过程中,主机能接收数据读和写的操作请求,备机只做日志同步。 数据库文件 保存用户数据和数据库系统内部数据的二进制文件。 数据流操作符 负责查询片段间交换数据的操作符。根据数据流的输入、输出关系,可以细分为聚合流(Gather)、广播流(Broadcast)和重分布流(Redistribution)。聚合流将数据从多个查询片段聚合到一个。广播流将数据从一个查询片段向多个传输。重分布流则将多个查询片段的数据,按照一定规则重组后向多个传输。 数据字典 数据字典是一系列只读的表,用来提供数据库的信息。这些信息包括:数据库设计信息、存储过程信息、用户权限、用户统计数据、数据库进程信息、数据库增长统计数据和数据库性能统计数据。 死锁 为使用同一资源而产生的无法解决的争用状态。 索引 数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。 统计信息 数据库使用统计信息估算查询代价,以查找代价最小的执行计划,统计信息一般是数据库自动收集的,包括表级信息(元组数、页面数等)和列级信息(列的值域分布直方图)。 停用词 在信息检索中,为节省存储空间和提高搜索效率,在处理自然语言数据(或文本)之前或之后会自动过滤掉某些字或词,这些字或词即被称为Stop Words(停用词)。 U – Z Vacuum 数据库定期启动的清理垃圾元组的线程,根据配置参数可以同时启动多个。 verbose verbose选项指定显示在屏幕上的处理信息。 WAL Write-Ahead Logging,预写日志系统。实现事务日志的标准方法,是指对数据文件(表和索引的载体)持久化修改之前必须先持久化相应的日志。 WAL Receiver 数据库复制时备机创建的一个线程的名称。此线程用于从主机接收数据、命令,并反馈确认信息至主机。一个备机只有一个WAL Receiver线程。 WAL Sender 数据库复制过程中,主机接收到备机的连接请求后创建的一个线程的名称。此线程用于发送命令、数据到备机,并从备机接收信息。一个主机可能会有多个WAL Sender线程,每一个WAL Sender线程对应一个备机的一个连接请求。 WAL Writer 数据库启动时创建的一个写Redo日志的线程,用于将内存中的日志写入到持久性设备(如:磁盘)。 WLM WorkLoad Manager,负载管理。GaussDB(DWS)中系统资源控制和分配的模块。 Xlog 表示事务日志,一个逻辑节点中只有一个,不允许创建多个Xlog文件。 xDR 详单。用户面和信令面详单的统称,包括CDR和UFDR、TDR和SDR。 网络备份 网络备份为各种平台提供一套完整的、灵活的数据保护方案。平台包含MS Windows、UNIX及Linux。网络备份支持备份、归档、恢复计算机上的文件、文件夹或目录、卷或分区。 物理节点 一个物理机器称为一个物理节点。 系统表 存储数据库元信息的表,元信息包括数据库中的用户表、索引、列、函数和数据类型等。 下推 GaussDB(DWS)是分布式数据库,其可以利用多DN分布式并行执行查询计划,即将CN中的查询计划下发到各DN中并行执行。这种行为称为下推。与将数据抽取到CN上执行查询的方式相比,下推可以大幅提升查询性能。 压缩 数据压缩,信源编码,或比特率降低涉及使用相比原来较少比特的编码信息。压缩可以是有损或无损。无损压缩通过识别和消除统计冗余降低比特位。无损压缩中没有信息丢失。有损压缩识别并删除次要信息,减少了比特位。减少数据文件大小的方法被普遍称为数据压缩,尽管其正式名称为源编码(数据源的编码,然后将其存储或传输)。 一致性 数据库事务的ACID特性之一。在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。 元数据 用来定义数据的数据。主要是描述数据自身信息,包含源、大小、格式或其它数据特征。数据库字段中,元数据用于理解以及诠释数据仓库的内容。 原子性 数据库事务的ACID特性之一。整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚到事务开始前的状态,就像这个事务从来没有执行过一样。 在线扩容 在线扩容是指GaussDB(DWS)扩容重分布过程中支持数据持续入库、查询业务不中断。 脏页面 已经被修改且未写入持久性设备的页面。 增量备份 基于上次有效备份之后对文件修改的备份。 增量同步 GaussDB(DWS)双机方案中的一种数据同步机制,是指把主机中数据增量同步给备机,即只同步主备间有差异的数据。 主机 GaussDB(DWS)数据库双机系统中接收数据读写操作的节点,和所有备机一起协同工作。在同一时间内,双机系统中只有一个节点被标识为主机。 主题词 在标引和检索中用以表达文献主题的规范化的词或词组。 转储文件 转储文件是一种特定类型的trace文件。转储文件为响应事件过程中一次性输出的诊断数据,trace文件指诊断数据的连续输出。 资源池 资源池是GaussDB(DWS)提供的一种资源划分的配置机制。通过将用户绑定到资源池,来限定其所执行作业的优先级及能够利用到的资源。 租户 数据库业务用户在给定的计算资源(cpu,内存和io)和存储资源下执行业务,通过资源管理和隔离,达成业务的服务等级协定(SLA)。 最小恢复点 最小恢复点是GaussDB(DWS)提供的数据一致性保障手段之一。最小恢复点特性可以在GaussDB(DWS)启动时检查出WAL日志和持久化到磁盘的数据的不一致性,并提示用户进行处理。
  • USER_TABLES USER_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 表的估计行数。 父主题: 系统视图
  • 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 提供信息包括:单实例空间最大值、单实例空间最小值以及最大最小空间所在的实例名。 父主题: 系统视图
  • 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 通信流当前生命周期使用时长,单位为毫秒。 speed bigint 通信流的平均接收速率,单位为Byte/s。 quota bigint 通信流当前的通信配额值,单位为Byte。 buff_usize bigint 通信流当前缓存的数据大小,单位为Byte。 父主题: 系统视图
  • 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 当前使用的逻辑连接总数。 父主题: 系统视图
  • PG_STAT_ACTIVITY PG_STAT_ACTIVITY视图显示和当前用户查询相关的信息。若有管理员权限或预置角色权限可以显示和所有用户查询相关的信息。 表1 PG_STAT_ACTIVITY字段 名称 类型 描述 datid oid 用户会话在后端连接到的数据库OID。 datname name 用户会话在后端连接到的数据库名称。 pid bigint 后端线程ID。 lwtid integer 轻量级线程ID。 usesysid oid 登录该后端的用户OID。 usename 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。 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 如果后端当前正等待锁或者等待节点则为t,否则为f。 enqueue text 语句当前排队状态。可能值是: waiting in global queue:表示语句在全局并发队列排队中,主要包含并发数超过单CN配置的max_active_statements。 waiting in respool queue:表示语句在资源池排队中,简单作业并发受限,主要是简单作业并发超过快车道并发上限max_dop。 waiting in ccn queue:表示作业在CCN排队中,包含全局内存排队和慢车道内存和并发排队,包含以下场景: 全局可用内存超过上限,进行全局内存队列排队。 资源池慢车道并发上限,即资源池并发超过active_statements上限。 资源池慢车道内存上限,即资源池并发作业估算内存超过mem_percent计算的上限。 空或no waiting queue:表示语句正在运行。 state text 后端当前总体状态。可能值是: active:后台正在执行查询。 idle:后台正在等待新的客户端命令。 idle in transaction:后端在事务中,但事务中没有语句在执行。 idle in transaction (aborted):后端在事务中,但事务中有语句执行失败。 fastpath function call:后端正在执行一个fast-path函数。 disabled:如果后端禁用track_activities,则报告此状态。 说明: 普通用户只能查看到自己账户所对应的会话状态。即其他账户的state信息为空。 resource_pool name 用户使用的资源池。 stmt_type text 语句类型。 query_id bigint 查询语句的ID。 query text 此后端的最新查询。如果state状态是active(活跃的),此字段显示当前正在执行的查询。其他情况表示上一个查询。 connection_info text json格式字符串,记录当前连接数据库的驱动类型、驱动版本号、当前驱动的部署路径、进程属主用户等信息(参见connection_info)。 父主题: 系统视图
  • PGXC_NODE_ENV PGXC_NODE_ENV视图提供获取集群中所有节点的环境变量信息。 表1 PGXC_NODE_ENV字段 名称 类型 描述 node_name text 集群中所有节点的名称。 host text 集群中所有节点的主机名称。 process integer 集群中所有节点的进程号。 port integer 集群中所有节点的端口号。 installpath text 集群中所有节点的安装目录。 datapath text 集群中所有节点的数据目录。 log_directory text 集群中所有节点的日志目录。 父主题: 系统视图
  • connection_info 参数说明:连接数据库的驱动类型、驱动版本号、当前驱动的部署路径和进程属主用户。(运维类参数,不建议用户设置) 参数类型:USERSET 取值范围:字符串 默认值:空字符串 空字符串,表示当前连接数据库的驱动不支持自动设置connection_info参数或应用程序未设置。 驱动连接数据库的时候自行拼接的connection_info参数格式如下: 1 {"driver_name":"ODBC","driver_version": "(GaussDB 8.1.3 build 39137c2d) compiled at 2022-04-01 15:43:11 commit 3629 last mr 5138 debug","driver_path":"/usr/local/lib/psqlodbcw.so","os_user":"dbadmin"} ODBC,JDBC,gsql连接默认显示driver_name和driver_version,driver_path,os_user,其他接口连接默认显示driver_name和driver_version,driver_path和os_user的显示由用户控制。
  • max_connections 参数说明:允许和数据库连接的最大并发连接数。此参数会影响集群的并发能力。 参数类型:POSTMASTER 取值范围:整型。CN最小值为1,最大值为16384;DN最小值为1, 最大值为262143,由于集群内部存在着各种连接,设置时通常达不到最大值,若日志中出现'invalid value for parameter "max_connections"',需要调小DN的max_connections值。 默认值:CN节点为800,DN节点为5000,如果该默认值超过内核支持的最大值(在执行gs_initdb的时候判断),系统会提示错误。 设置建议: CN中此参数建议保持默认值。DN中此参数按照如下公式计算: dop_limit * 20 * 6 + 24,公式中的dop_limit为集群中每个DN对应的CPU数,计算公式为:dop_limit = 单机器的CPU逻辑核数 / 单机器的DN数。 最小值5000。 增大这个参数可能导致GaussDB(DWS)要求更多的SystemV共享内存或者信号量,可能超过操作系统缺省配置的最大值。这种情况下,请酌情对数值加以调整。 max_connections取值的设置受max_prepared_transactions的影响,在设置max_connections之前,应确保max_prepared_transactions的值大于或等于max_connections的值,这样可确保每个会话都有一个等待中的预备事务。
  • 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_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对应的线程创建的时间。 父主题: 系统视图
共100000条