华为云用户手册

  • PGXC_POOLER_STATUS PGXC_POOLER_STATUS视图显示当前集群中各CN节点的pooler中缓存连接状态。该视图只能在CN上执行查询,显示所有CN的pooler模块的连接缓存信息。PGXC_POOLER_STATUS视图仅8.2.1.300及以上集群版本支持。 表1 PGXC_POOLER_STATUS字段 名称 类型 描述 coorname text CN节点名称。 database text 数据库名称。 user_name text 用户名。 tid bigint 连接CN的线程ID。 node_oid bigint 连接的实例节点OID。 node_name name 连接的实例节点名称。 in_use boolean 连接是否正被使用。 t(true):表示连接正在使用。 f(false):表示连接没有使用。 fdsock bigint 对端socket。 remote_pid bigint 对端线程号。 session_params text 由此连接下发的GUC会话参数。 父主题: 系统视图
  • PGXC_STAT_OBJECT PGXC_STAT_OBJECT视图显示集群中所有实例的表的统计信息和autovacuum效率信息。该系统视图仅8.2.1及以上集群版本支持。 表1 PGXC_STAT_OBJECT字段 名称 类型 引用 描述 nodename name - 节点名称。 datname name - 表所在数据库名称。 relnamespace name - 表所在schema名称。 relname name - 表名。 partname name - 分区表的分区名。 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值。 last_reference_timestamp timestamp with time zone - 表的最后一次访问时间(该字段仅8.3.0及以上集群版本支持)。 对应PG_STAT_OBJECT中data_changed_time_stamp(最后一次修改时间)和data_access_timestamp(最后一次访问时间)两者中距现在最近的时间。 extra1 bigint - 预留字段1。 extra2 bigint - 预留字段2。 extra3 bigint - 预留字段3。 extra4 bigint - 预留字段4。 父主题: 系统视图
  • PGXC_RUNNING_XACTS PGXC_RUNNING_XACTS视图主要功能是显示集群中各个节点运行事务的信息,字段内容和PG_RUNNING_XACTS相同。 表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事务。 timeline bigint 标识数据库重启次数。 prepare_xid xid 处于prepared状态事务的ID号,若不在prepared状态,值为0。 pid bigint 事务对应的线程ID。 next_xid xid CN传给DN的事务ID号。 父主题: 系统视图
  • ALL_INDEXES ALL_INDEXES视图存储了当前用户可访问的索引信息。 表1 ALL_INDEXES字段 名称 类型 描述 owner character varying(64) 索引的所有者。 index_name character varying(64) 索引名。 table_name character varying(64) 索引对应的表名。 uniqueness text 表示索引是否为唯一索引。 generated character varying(1) 表示索引的名称是否为系统生成。 partitioned character(3) 表示索引是否具有分区表的性质。 父主题: 系统视图
  • PG_TOTAL_SCHEMA_INFO PG_TOTAL_SCHEMA_INFO视图显示各个数据库下所有Schema的存储资源使用情况。此视图在参数use_workload_manager为on时才有效。 名称 类型 描述 schemaid oid Schema的OID。 schemaname text Schema名称。 databaseid oid 数据库的OID。 databasename name 数据库名称。 usedspace bigint 该Schema已使用的永久表存储空间大小,单位为Byte。 permspace bigint 该Schema的永久表存储空间上限值,单位为Byte。 父主题: 系统视图
  • DBA_COL_COMMENTS DBA_COL_COMMENTS视图存储关于数据库中表和视图中字段的注释信息。需要有系统管理员权限才可以访问。 名称 类型 描述 column_name character varying(64) 列名。 table_name character varying(64) 表名或视图名。 owner character varying(64) 表或视图的所有者。 comments text 注释。 父主题: 系统视图
  • 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) 约束相关的索引名(只针对唯一约束和主键约束)。 父主题: 系统视图
  • DBA_PART_TABLES DBA_PART_TABLES视图存储数据中所有分区表的信息。需要有系统管理员权限才可以访问。 名称 类型 描述 table_owner character varying(64) 分区表的所有者名称。 schema character varying(64) 分区表的模式。 table_name character varying(64) 分区表的名称。 partitioning_type text 分区表的分区策略。 说明: 当前分区表策略仅支持范围分区(Range Partitioning)和列表分区(List Partitioning)。 partition_count bigint 分区表的分区个数。 def_tablespace_name name 分区表的表空间名称。 partitioning_key_count integer 分区表的分区键个数。 父主题: 系统视图
  • 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
  • 示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 //以下用例以gsjdbc4.jar为例,如果要使用gsjdbc200.jar,请替换驱动类名(将代码中的“org.postgresql”替换成“com.huawei.gauss200.jdbc”)与连接URL串前缀(将“jdbc:postgresql”替换为“jdbc:gaussdb”)。 //以下代码将获取数据库连接操作封装为一个接口,可通过给定用户名和密码来连接数据库。 public static Connection GetConnection(String username, String passwd) { //驱动类。 String driver = "org.postgresql.Driver"; //数据库连接描述符。 String sourceURL = "jdbc:postgresql://10.10.0.13:8000/postgres?currentSchema=test"; Connection conn = null; try { //加载驱动。 Class.forName(driver); } catch (ClassNotFoundException e ){ e.printStackTrace(); return null; } try { //创建连接。 conn = DriverManager.getConnection(sourceURL, username, passwd); System.out.println("Connection succeed!"); } catch (SQLException e) { e.printStackTrace(); return null; } return conn; }
  • 参数 表1 数据库连接参数 参数 描述 url gsjdbc4.jar数据库连接描述符。格式如下: jdbc:postgresql:database jdbc:postgresql://host/database jdbc:postgresql://host:port/database jdbc:postgresql://host:port[,host:port][...]/database 说明: 使用gsjdbc200.jar时,将“jdbc:postgresql”修改为“jdbc:gaussdb” database为要连接的数据库名称。 host为数据库服务器名称或IP地址,当集群绑定弹性负载均衡(ELB)时,应设置为ELB的IP地址。 连接GaussDB(DWS)的机器与GaussDB(DWS)不在同一网段时,host指定的IP地址应为Manager界面上所设的mppdb.coo.cooListenIp2(应用访问IP)的取值。 由于安全原因,数据库CN禁止集群内部其他节点无认证接入。如果要在集群内部访问CN,请将JDBC程序部署在CN所在机器,host使用"127.0.0.1"。否则可能会出现“FATAL: Forbid remote connection with trust method!”错误。 建议业务系统单独部署在集群外部,否则可能会影响数据库运行性能。 port为数据库服务器端口。缺省情况下,会尝试连接到localhost的8000端口的database。 支持多ip端口配置形式,jdbc自动实现了负载均衡,多ip端口配置形式是采取随机访问+failover的方式,这个过程系统会自动忽略不可达IP。 以","隔开,例如jdbc:postgresql://10.10.0.13:8000,10.10.0.14:8000/database 使用JDBC连接集群时集群链接地址只支持指定jdbc连接参数,不支持增加变量参数。 info 数据库连接属性。常用的属性如下: user:String类型。表示创建连接的数据库用户。 password:String类型。表示数据库用户的密码。 ssl:Boolean类型。表示是否使用SSL连接。 loggerLevel:string类型。为LogStream或LogWriter设置记录进DriverManager当前值的日志信息量。目前支持"OFF"、"DEBUG"和"TRACE"。 值为"DEBUG"时,表示只打印DEBUG级别以上的日志,将记录非常少的信息。值等于TRACE时,表示打印DEBUG和TRACE级别的日志,将产生详细的日志信息。默认值为OFF,表示不打印日志。 prepareThreshold:integer类型。用于确定在转换为服务器端的预备语句之前,要求执行方法PreparedStatement的次数。缺省值是5。 batchMode : boolean类型,用于确定是否使用batch模式连接。 fetchsize : integer类型,用于设置数据库链接所创建statement的默认fetchsize。 ApplicationName:string类型。应用名称,在不做设置时,缺省值为PostgreSQL JDBC Driver。 allowReadOnly:boolean类型,用于设置connection是否允许设置readonly模式,默认为false,若该参数不被设置为true,则执行connection.setReadOnly不生效。 blobMode:string类型,用于设置setBinaryStream方法为不同的数据类型赋值,设置为on时表示为blob数据类型赋值,设置为off时表示为bytea数据类型赋值,默认为on。 connectionExtraInfo:Boolean类型。表示驱动是否上报当前驱动的部署路径、进程属主用户到数据库。 说明: 取值范围:true或false,默认值为true。设置connectionExtraInfo为true,JDBC驱动会将当前驱动的部署路径、进程属主用户上报到数据库中,记录在connection_info参数(参见connection_info)里;同时可以在PG_STAT_ACTIVITY和PGXC_STAT_ACTIVITY中查询到。 user 数据库用户。 password 数据库用户的密码。
  • 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_AUTH_HISTORY PG_AUTH_HISTORY系统表记录了角色的认证历史。需要有系统管理员权限才可以访问此系统表。 表1 PG_AUTH_HISTORY字段 名称 类型 描述 roloid oid 角色标识。 passwordtime timestamp with time zone 创建和修改密码的时间。 rolpassword text 角色密码,使用MD5、SHA256加密或者不加密。 父主题: 系统表
  • 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监控周期内逻辑读速率的平均值,单位为KB/s。 DN:显示当前DN上资源池逻辑读速率。 CN:显示所有DN上资源池逻辑读速率的累积和。 write_speed double 资源池5s监控周期内逻辑写速率平均值,单位为KB/s。 DN:显示当前DN上资源池逻辑写速率。 CN:显示所有DN上资源池逻辑写速率的累积和。 send_speed double 资源池5s监控周期内网络发送平均速率,单位为KB/s。 DN:显示当前DN上资源池网络发送速率。 CN:显示所有DN上资源池网络发送速率的累积和。 recv_speed double 资源池5s监控周期内网络接收平均速率,单位为KB/s。 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 响应时间总和,单位为微秒。 父主题: 系统视图
  • DBA_PROCEDURES DBA_PROCEDURES视图存储关于数据库下的所有存储过程或函数信息。需要有系统管理员权限才可以访问。 名称 类型 描述 owner character varying(64) 存储过程或函数的所有者。 object_name character varying(64) 存储过程或函数名称。 argument_number smallint 存储过程入参个数。 父主题: 系统视图
  • 术语表 术语 解释 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)集群中,并保证数据一致性。 备机 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。 网络备份 网络备份为各种平台提供一套完整的、灵活的数据保护方案。平台包含Microsoft 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日志和持久化到磁盘的数据的不一致性,并提示用户进行处理。
  • 应用示例 查询指定表的索引信息。 1 2 3 4 5 SELECT * FROM pg_indexes WHERE tablename = 'mytable'; schemaname | tablename | indexname | tablespace | indexdef ------------+-----------+----------------+------------+------------------------------------------------------------------------------- public | mytable | idx_mytable_id | | CREATE INDEX idx_mytable_id ON mytable USING btree (id) TABLESPACE pg_default (1 row) 查询当前数据库指定模式下所有表的索引信息。 1 2 3 4 5 6 7 8 9 10 SELECT tablename, indexname, indexdef FROM pg_indexes WHERE schemaname = 'public' ORDER BY tablename,indexname; tablename | indexname | indexdef -----------+--------------------+----------------------------------------------------------------------------------------------------- books | books_pkey | CREATE UNIQUE INDEX books_pkey ON books USING btree (id) TABLESPACE pg_default books | idx_books_tags_gin | CREATE INDEX idx_books_tags_gin ON books USING gin (tags) TABLESPACE pg_default customer | c_custkey_key | CREATE UNIQUE INDEX c_custkey_key ON customer USING btree (c_custkey, c_name) TABLESPACE pg_default mytable | idx_mytable_id | CREATE INDEX idx_mytable_id ON mytable USING btree (id) TABLESPACE pg_default test1 | idx_test_id | CREATE INDEX idx_test_id ON test1 USING btree (id) TABLESPACE pg_default v0 | v0_pkey | CREATE UNIQUE INDEX v0_pkey ON v0 USING btree (c) TABLESPACE pg_default (6 rows)
  • PG_STATIO_SYS_INDEXES PG_STATIO_SYS_INDEXES视图显示命名空间中所有系统表索引的IO状态信息。 表1 PG_STATIO_SYS_INDEXES字段 名称 类型 描述 relid oid 此索引表的OID。 indexrelid oid 索引的OID。 schemaname name 索引的模式名。 relname name 索引的表名。 indexrelname name 索引名。 idx_blks_read bigint 从索引中读取的磁盘块数。 idx_blks_hit bigint 索引缓冲区命中数量。 父主题: 系统视图
  • USER_INDEXES USER_INDEXES视图存储关于本模式下的索引信息。 名称 类型 描述 owner character varying(64) 索引的所有者。 index_name character varying(64) 索引名。 table_name character varying(64) 索引对应的表名。 uniqueness text 表示索引是否为唯一索引。 generated character varying(1) 表示索引名称是否为系统生成。 partitioned character(3) 表示索引是否具有分区表的性质。 父主题: 系统视图
  • PG_GET_INVALID_BACKENDS PG_GET_INVALID_BACKENDS视图提供显示CN上连接到当前DN备机的后端线程信息。 表1 PG_GET_INVALID_BACKENDS字段 名称 类型 描述 pid bigint 线程ID。 node_name text 后端线程中连接的节点信息。 dbname name 当前连接的数据库。 backend_start timestamp with time zone 后端线程启动的时间。 query text 后端线程正在执行的查询语句。 父主题: 系统视图
  • temp_buffers 参数说明:设置每个数据库会话使用的LOCAL临时缓冲区的大小。 参数类型:USERSET 取值范围:整型,800~INT_MAX/2,单位为8KB。 默认值:8MB 在每个会话的第一次使用临时表之前可以改变temp_buffers的值,之后的设置将是无效的。 一个会话将按照temp_buffers给出的限制,根据需要分配临时缓冲区。如果在一个并不需要大量临时缓冲区的会话里设置一个大的数值,其开销只是一个缓冲区描述符的大小。当缓冲区被使用,就会额外消耗8192字节。
  • maintenance_work_mem 参数说明:设置在维护性操作(比如VACUUM、CREATE INDEX、ALTER TABLE ADD FOREIGN KEY等)中可使用的最大的内存。该参数的设置会影响VACUUM、VACUUM FULL、CLUSTER、CREATE INDEX的执行效率。 参数类型:USERSET 取值范围:整型,1024~INT_MAX,单位为KB。 默认值:小规格内存为512MB, 大规格内存为2GB(max_process_memory大于等于30GB为大规格内存,否则为小规格内存)。 设置建议: 建议设置此参数的值等于work_mem,可以改进清理和恢复数据库转储的速度。因为在一个数据库会话里,任意时刻只有一个维护性操作可以执行,并且在执行维护性操作时不会有太多的会话。 当自动清理进程运行时,autovacuum_max_workers倍数的内存将会被分配,所以此时设置maintenance_work_mem的值应该不小于work_mem。 如果进行大数据量的cluster等,可以在session中调大该值。
  • cstore_buffers 参数说明:设置列存和OBS、HDFS外表列存格式(orc、parquet、carbondata)所使用的共享缓冲区的大小。 参数类型:POSTMASTER 取值范围:整型,16384~INT_MAX,单位为KB。 默认值:CN为32MB,DN取公式计算:POWER(2,ROUND(LOG(2,max_process_memory/18),0)) 设置建议: 列存表使用cstore_buffers设置的共享缓冲区,几乎不用shared_buffers。因此在列存表为主的场景中,应减少shared_buffers,增加cstore_buffers。 OBS、HDFS外表使用cstore_buffers设置ORC、Parquet、Carbondata的元数据和数据的缓存,元数据缓存大小为cstore_buffers的1/4,最大不超过2GB,其余缓存空间为列存数据和外表列存格式数据共享使用。
共100000条