华为云用户手册

  • 语法格式 1 2 3 4 5 VALUES {( expression [, ...] )} [, ...] [ ORDER BY { sort_expression [ ASC | DESC | USING operator ] } [, ...] ] [ LIMIT { count | ALL } ] [ OFFSET start [ ROW | ROWS ] ] [ FETCH { FIRST | NEXT } [ count ] { ROW | ROWS } ONLY ];
  • 优化说明 通常优化器总会选择最优的执行计划,但是众所周知代价估算,尤其是中间结果集的代价估算一般会有比较大的偏差,这种比较大的偏差就可能会导致agg的计算方式出现比较大的偏差,这时候就需要通过best_agg_plan进行agg计算模型的干预。 一般来说,当agg汇聚的收敛度很小时,即结果集的个数在agg之后并没有明显变少时(经验上以5倍为临界点),选择redistribute+hashagg执行方式,否则选择hashagg+redistribute+hashagg执行方式。
  • GLOBAL_REL_IOSTAT 获取所有节点上的数据文件I/O统计信息。 表1 GLOBAL_REL_IOSTAT字段 名称 类型 描述 node_name name 节点名称 phyrds bigint 读物理文件的数目。 phywrts bigint 写物理文件的数目。 phyblkrd bigint 读物理文件块的数目。 phyblkwrt bigint 写物理文件块的数目。 父主题: File
  • 示例 下面列举了基本的匿名块程序: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 --空语句块 gaussdb=# BEGIN NULL; END; / --将信息打印到控制台: gaussdb=# BEGIN dbe_output.print_line('hello world!'); END; / hello world! ANONYMOUS BLOCK EXECUTE --将变量内容打印到控制台: gaussdb=# DECLARE my_var VARCHAR2(30); BEGIN my_var :='world'; dbe_output.print_line('hello'||my_var); END; / helloworld ANONYMOUS BLOCK EXECUTE
  • ADM_AUDIT_STATEMENT ADM_AUDIT_STATEMENT显示所有grant、revoke审计跟踪条目, GaussDB 审计信息主要通过pg_query_audit函数,该视图同时存在于PG_CATA LOG 和SYS schema下。仅拥有AUDITADMIN属性的用户才可以查看审计信息。GaussDB的action_name字段与ORA数据库审计动作不一致,transactionid字段与ORA数据库中transactionid数据的类型保持一致,GaussDB的sql_text字段为解析后sql描述语句,不完全与执行的sql语句相同。 表1 ADM_AUDIT_STATEMENT字段 名称 类型 描述 os_username character varying(255) 暂不支持,值为NULL。 username character varying(128) 操作被审计的用户的名称,不是用户ID。 userhost character varying(128) 暂不支持,值为NULL。 terminal character varying(255) 暂不支持,值为NULL。 timestamp timestamp(0) without time zone 在本地数据库会话时区中创建审计跟踪条目的日期和时间(由审计会话创建的条目的用户登录日期和时间)。 owner character varying(128) 受操作影响的对象的创建者。 obj_name character varying(128) 受操作影响的对象的名称。 action numeric 暂不支持,值为NULL。 action_name character varying(28) action列中的数字代码对应的action类型名称。 new_owner character varying(128) 暂不支持,值为NULL。 new_name character varying(128) 暂不支持,值为NULL。 obj_privilege character varying(32) 暂不支持,值为NULL。 sys_privilege character varying(40) 暂不支持,值为NULL。 admin_option character varying(1) 暂不支持,值为NULL。 grantee character varying(128) 暂不支持,值为NULL。 audit_option character varying(40) 暂不支持,值为NULL。 ses_actions character varying(19) 暂不支持,值为NULL。 logoff_time timestamp(0) without time zone 暂不支持,值为NULL。 logoff_lread numeric 暂不支持,值为NULL。 logoff_pread numeric 暂不支持,值为NULL。 logoff_lwrite numeric 暂不支持,值为NULL。 logoff_dlock character varying(40) 暂不支持,值为NULL。 comment_text character varying(4000) 暂不支持,值为NULL。 sessionid numeric 暂不支持,值为NULL。 entryid numeric 暂不支持,值为NULL。 statementid numeric 暂不支持,值为NULL。 returncode numeric 暂不支持,值为NULL。 priv_used character varying(40) 暂不支持,值为NULL。 client_id character varying(128) 暂不支持,值为NULL。 econtext_id character varying(64) 暂不支持,值为NULL。 session_cpu numeric 暂不支持,值为NULL。 extended_timestamp timestamp(6) with time zone 创建审计跟踪条目的时间戳(由创建的条目的用户登录时间戳UTC(协调通用)中的审计会话时间)时区。 proxy_sessionid numeric 暂不支持,值为NULL。 global_uid character varying(32) 暂不支持,值为NULL。 instance_number numeric 暂不支持,值为NULL。 os_process character varying(16) 暂不支持,值为NULL。 transactionid text 访问或修改对象的事务的事务标识符。 scn numeric 暂不支持,值为NULL。 sql_bind nvarchar2(2000) 暂不支持,值为NULL。 sql_text nvarchar2 查询的SQL文本。 obj_edition_name character varying(128) 暂不支持,值为NULL。 dbid numeric 暂不支持,值为NULL。 rls_info clob 暂不支持,值为NULL。 current_user character varying(128) 暂不支持,值为NULL。 父主题: 系统视图
  • Top 10 Events by Total Wait Time Top 10 Events by Total Wait Time列名称及描述如下表所示。 表1 Top 10 Events by Total Wait Time报表主要内容 列名称 描述 Event Wait Event名称。 Waits wait次数。 Total Wait Time(us) 总wait时间(微秒)。 Avg Wait Time(us) 平均wait时间(微秒)。 Type Wait Event类别。 父主题: WDR报告信息介绍
  • GLOBAL_WAIT_EVENTS GLOBAL_WAIT_EVENTS视图显示各节点wait event的相关统计信息。 表1 GLOBAL_WAIT_EVENTS字段 名称 类型 描述 nodename text 节点名称。 type text event类型。 event text event名称。 wait bigint 等待次数。 failed_wait bigint 失败的等待次数。 total_wait_time bigint 总等待时间(单位:微秒)。 avg_wait_time bigint 平均等待时间(单位:微秒)。 max_wait_time bigint 最大等待时间(单位:微秒)。 min_wait_time bigint 最小等待时间(单位:微秒)。 last_updated timestamp with time zone 最后一次更新该事件的时间。 父主题: Wait Events
  • 快照同步函数 快照同步函数是导出当前快照的标识符。 pg_export_snapshot() 描述:保存当前的快照并返回它的标识符。 返回值类型:text 备注:函数pg_export_snapshot保存当前的快照并返回一个文本字符串标识此快照。这个字符串必须传递给想要导入快照的客户端。可用在set transaction snapshot snapshot_id时导入snapshot,但是应用的前提是该事务设置了SERIALIZABLE或REPEATABLE READ隔离级别。而GaussDB目前是不支持这两种隔离级别的。该函数的输出不可用做set transaction snapshot的输入。 pg_export_snapshot_and_csn() 描述:保存当前的快照并返回它的标识符。比pg_export_snapshot()多返回一列 CS N,表示当前快照的CSN。 返回值类型:text 父主题: 系统管理函数
  • MY_OBJE CTS MY_OBJECTS视图描述了当前用户拥有的数据库对象。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 MY_OBJECTS字段 名称 类型 描述 object_name name 对象的名称。 object_id oid 对象的OID。 object_type name 对象的类型,包括TABLE、INDEX、SEQUENCE、VIEW、GLOBAL SECONDARY INDEX等。 namespace oid 对象所属的名称空间。 temporary character(1) 对象是否为临时对象。 status character varying(7) 对象的状态。 subobject_name name 对象的子对象名称。 generated character(1) 对象名称是否是系统生成。 created timestamp with time zone 对象的创建时间。 last_ddl_time timestamp with time zone 对象的最后修改时间。 default_collation character varying(100) 对象的默认排序规则。 data_object_id numeric 暂不支持,值为NULL。 timestamp character varying(19) 暂不支持,值为NULL。 secondary character varying(1) 暂不支持,值为NULL。 edition_name character varying(128) 暂不支持,值为NULL。 sharing character varying(18) 暂不支持,值为NULL。 editionable character varying(1) 暂不支持,值为NULL。 oracle_maintained character varying(1) 暂不支持,值为NULL。 application character varying(1) 暂不支持,值为NULL。 duplicated character varying(1) 暂不支持,值为NULL。 sharded character varying(1) 暂不支持,值为NULL。 created_appid numeric 暂不支持,值为NULL。 modified_appid numeric 暂不支持,值为NULL。 created_vsnid numeric 暂不支持,值为NULL。 modified_vsnid numeric 暂不支持,值为NULL。 created和last_ddl_time支持的范围参见PG_OBJECT中的记录范围。 父主题: 系统视图
  • 范围函数 如果范围是空或者需要的界限是无穷的,lower和upper函数将返回null。lower_inc、upper_inc、lower_inf和upper_inf函数均对空范围返回false。 numrange(numeric, numeric, [text]) 描述:表示一个范围。 返回类型:范围元素类型 示例: 1 2 3 4 5 6 7 8 9 10 gaussdb=# SELECT numrange(1.1,2.2) AS RESULT; result -------- [1.1,2.2) (1 row) gaussdb=# SELECT numrange(1.1,2.2, '()') AS RESULT; result -------- (1.1,2.2) (1 row) lower(anyrange) 描述:范围的下界。 返回类型:范围元素类型 示例: 1 2 3 4 5 gaussdb=# SELECT lower(numrange(1.1,2.2)) AS RESULT; result -------- 1.1 (1 row) upper(anyrange) 描述:范围的上界。 返回类型:范围元素类型 示例: 1 2 3 4 5 gaussdb=# SELECT upper(numrange(1.1,2.2)) AS RESULT; result -------- 2.2 (1 row) isempty(anyrange) 描述:范围是否为空。 返回类型:Boolean 示例: 1 2 3 4 5 gaussdb=# SELECT isempty(numrange(1.1,2.2)) AS RESULT; result -------- f (1 row) lower_inc(anyrange) 描述:是否包含下界。 返回类型:Boolean 示例: 1 2 3 4 5 gaussdb=# SELECT lower_inc(numrange(1.1,2.2)) AS RESULT; result -------- t (1 row) upper_inc(anyrange) 描述:是否包含上界。 返回类型:Boolean 示例: 1 2 3 4 5 gaussdb=# SELECT upper_inc(numrange(1.1,2.2)) AS RESULT; result -------- f (1 row) lower_inf(anyrange) 描述:下界是否为无穷。 返回类型:Boolean 示例: 1 2 3 4 5 gaussdb=# SELECT lower_inf('(,)'::daterange) AS RESULT; result -------- t (1 row) upper_inf(anyrange) 描述:上界是否为无穷。 返回类型:Boolean 示例: 1 2 3 4 5 gaussdb=# SELECT upper_inf('(,)'::daterange) AS RESULT; result -------- t (1 row)
  • DB_COL_PRIVS DB_COL_PRIVS视图显示以下授权信息: 当前用户作为对象所有者、授予者或被授予者时的列权限授予信息。 已启用角色或PUBLIC角色作为被授予者时的列权限授予信息。 默认所有用户都可以访问。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 DB_COL_PRIVS字段 名称 类型 描述 grantor character varying(128) 执行授权的用户名。 owner character varying(128) 对象的所有者。 grantee character varying(128) 被授予权限的用户或角色的名称。 table_schema character varying(128) 对象的Schema。 table_name character varying(128) 对象的名称。 column_name character varying(128) 列的名称。 privilege character varying(40) 列上的权限。 grantable character varying(3) 表示是否授予特权。 YES:表示授予特权。 NO:表示不授予特权。 common character varying(3) 暂不支持,值为NULL。 inherited character varying(3) 暂不支持,值为NULL。 父主题: 系统视图
  • 参数说明 statement 指定要分析的SQL语句。 ANALYZE boolean | ANALYSE boolean 显示实际运行时间和其他统计数据。 取值范围: TRUE(缺省值):显示实际运行时间和其他统计数据。 FALSE:不显示。 VERBOSE boolean 显示有关计划的额外信息。 取值范围: TRUE(缺省值):显示额外信息。 FALSE:不显示。 COSTS boolean 包括每个规划节点的估计总成本,以及估计的行数和每行的宽度。 取值范围: TRUE(缺省值):显示估计总成本和宽度。 FALSE:不显示。 CPU boolean 打印CPU的使用情况的信息。需要结合analyze选项一起使用。 取值范围: TRUE(缺省值):显示CPU的使用情况。 FALSE:不显示。 DETAIL boolean 打印DN上的信息。需要结合analyze选项一起使用。 取值范围: TRUE(缺省值):打印DN的信息。 FALSE:不打印。 NODES boolean 打印query执行的节点信息。 取值范围: TRUE(缺省值):打印执行的节点的信息。 FALSE:不打印。 NUM_NODES boolean 打印执行中的节点的个数信息。 取值范围: TRUE(缺省值):打印DN个数的信息。 FALSE:不打印。 BUFFERS boolean 包括缓冲区的使用情况的信息。需要结合analyze选项一起使用。 取值范围: TRUE:显示缓冲区的使用情况。 FALSE(缺省值):不显示。 TIMING boolean 包括实际的启动时间和花费在输出节点上的时间信息。需要结合analyze选项一起使用。 取值范围: TRUE(缺省值):显示启动时间和花费在输出节点上的时间信息。 FALSE:不显示。 PLAN boolean 是否将执行计划存储在plan_table中。当该选项开启时,会将执行计划存储在PLAN_TABLE中,不打印到当前屏幕,因此该选项为on时,不能与其他选项同时使用。 取值范围: TRUE(缺省值):将执行计划存储在plan_table中,不打印到当前屏幕。执行成功返回EXPLAIN SUC CES S。 FALSE:不存储执行计划,将执行计划打印到当前屏幕。 BLOCKNAME boolean 是否显示计划的每个操作所处于的查询块。当该选项开启时,会将每个操作所处于的查询快的名字输出在Query Block列上,方便用户获取查询块名字,并使用Hint修改执行计划: TRUE(缺省值):显示计划时,将每个操作所处于的查询快的名字输出在新增列Query Block列上。该选项需要在pretty 模式下使用。见指定Hint所处的查询块Queryblock章节。 FALSE:不对计划显示产生影响。 FORMAT 指定输出格式。 取值范围:TEXT,XML,JSON和YAML。 默认值:TEXT。 PERFORMANCE 使用此选项时,即打印执行中的所有相关信息。下述为部分信息描述: ex c/r:代表平均每行使用cpu周期数,等于(ex cyc)/(ex row)。 ex row:执行行数。 ex cyc:代表使用的cpu周期数。 inc cyc:代表包含子节点使用的总cpu周期数。 shared hit:代表算子的share buffer命中情况。 loops:算子循环执行次数。 total_calls:生成元素总数 remote query poll time stream gather:算子用于侦听各DN数据到达CN的网络poll时间。 deserialize time:反序列化所需时间。 estimated time:估计时间。
  • 功能描述 显示SQL语句的执行计划。 执行计划将显示SQL语句所引用的表会采用什么样的扫描方式,如:简单的顺序扫描、索引扫描等。如果引用了多个表,执行计划还会显示用到的JOIN算法。 执行计划的最关键的部分是语句的预计执行开销,这是计划生成器估算执行该语句将花费多长的时间。 若指定了ANALYZE选项,则该语句会被执行,然后根据实际的运行结果显示统计数据,包括每个计划节点内时间总开销(毫秒为单位)和实际返回的总行数。这对于判断计划生成器的估计是否接近现实非常有用。
  • 语法格式 显示SQL语句的执行计划,支持多种选项,对选项顺序无要求。 1 EXPLAIN [ ( option [, ...] ) ] statement; 其中选项option子句的语法为。 1 2 3 4 5 6 7 8 9 10 11 12 13 ANALYZE [ boolean ] | ANALYSE [ boolean ] | VERBOSE [ boolean ] | COSTS [ boolean ] | CPU [ boolean ] | DETAIL [ boolean ] | NODES [ boolean ] | NUM_NODES [ boolean ] | BUFFERS [ boolean ] | TIMING [ boolean ] | PLAN [ boolean ] | BLOCKNAME [ boolean ] | FORMAT { TEXT | XML | JSON | YAML } 显示SQL语句的执行计划,且要按顺序给出选项。 1 EXPLAIN { [ { ANALYZE | ANALYSE } ] [ VERBOSE ] | PERFORMANCE } statement;
  • SUMMARY_STAT_ALL_TABLES 显示集群内数据库中每个表(包括TOAST表)的状态信息的汇总求和结果(在CN节点使用。对每个节点中表的状态信息汇总求和,其中timestamp类型字段不进行求和,仅取所有节点中该字段的最新值)。 表1 SUMMARY_STAT_ALL_TABLES字段 名称 类型 描述 schemaname name 该表所在的Schema名。 relname name 表名。 seq_scan numeric 该表发起的顺序扫描数。 seq_tup_read numeric 顺序扫描抓取的活跃行数。 idx_scan numeric 该表发起的索引扫描数。 idx_tup_fetch numeric 索引扫描抓取的活跃行数。 n_tup_ins numeric 插入行数。 n_tup_upd numeric 更新行数。 n_tup_del numeric 删除行数。 n_tup_hot_upd numeric HOT更新行数(即没有更新索引列的行数)。 n_live_tup numeric 估计活跃行数。 n_dead_tup numeric 估计不活跃行数。 last_vacuum timestamp with time zone 最后一次该表是手动清理的(不计算VACUUM FULL)的时间。 last_autovacuum timestamp with time zone 上次被autovacuum守护线程清理的时间。 last_analyze timestamp with time zone 上次手动分析该表的时间。 last_autoanalyze timestamp with time zone 上次被autovacuum守护线程分析时间。 vacuum_count numeric 该表被手动清理的次数(不计算VACUUM FULL)。 autovacuum_count numeric 该表被autovacuum清理的次数。 analyze_count numeric 该表被手动分析的次数。 autoanalyze_count numeric 该表被autovacuum守护线程分析的次数。 父主题: Object
  • STAT_XACT_USER_TABLES 显示当前节点Schema中用户表的事务状态信息。 表1 STAT_XACT_USER_TABLES字段 名称 类型 描述 relid oid 表的OID。 schemaname name 该表所在的Schema名。 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更新行数(即没有更新新索引列的行数)。 父主题: Object
  • 函数和操作符 操作符可以对一个或多个操作数进行处理,位置上可能处于操作数之前、之后,或两个操作数中间。完成处理之后,返回处理结果。 函数是对一些业务逻辑的封装,以完成特定的功能。函数可以有参数,也可以没有参数。函数是有返回类型的,执行完成后,会返回执行结果。 对于系统函数,用户可以进行修改,但是修改之后系统函数的语义可能会发生改变,从而导致系统控制紊乱。正常情况下不允许用户手工修改系统函数。 当GUC参数behavior_compat_options含有'enable_funcname_with_argsname'选项时,投影别名显示完整函数。 逻辑操作符 比较操作符 字符处理函数和操作符 二进制字符串函数和操作符 位串函数和操作符 模式匹配操作符 数字操作函数和操作符 时间和日期处理函数和操作符 类型转换函数 几何函数和操作符 网络地址函数和操作符 文本检索函数和操作符 JSON/JSONB函数和操作符 HLL函数和操作符 SEQUENCE函数 数组函数和操作符 范围函数和操作符 聚集函数 窗口函数 安全函数 密态函数和操作符 返回集合的函数 条件表达式函数 系统信息函数 系统管理函数 统计信息函数 触发器函数 HashFunc函数 提示信息函数 故障注入系统函数 重分布函数 分布列推荐函数 其他系统函数 内部函数 AI特性函数 动态数据脱敏函数 hotkey特性函数 Global SysCache特性函数 数据损坏检测修复函数 XML类型函数 XMLTYPE类型函数 废弃函数 父主题: SQL参考
  • 动态数据脱敏函数 该函数为内部功能调用函数。 creditcardmasking(col text, letter char default 'x') 描述:将col字符串后四位之前的数字使用letter替换。 参数:待替换的字符串、替换字符。 返回值类型:text basicmailmasking(col text, letter char default 'x') 描述:将col字符串中第一个'@'之前的字符使用letter替换。 参数:待替换的字符串、替换字符。 返回值类型:text fullmailmasking(col text, letter char default 'x') 描述:将col字符串中出现最后一个'.'之前的字符(除'@'外)使用letter替换。 参数:待替换的字符串、替换字符。 返回值类型:text alldigitsmasking(col text, letter char default '0') 描述:将col字符串中出现的数字使用letter替换。 参数:待替换的字符串、替换字符。 返回值类型:text shufflemasking(col text) 描述:将col字符串中的字符乱序排列。 参数:待替换的字符串、替换字符。 返回值类型:text randommasking(col text) 描述:将col字符串中的字符随机化。 参数:待替换的字符串、替换字符。 返回值类型:text regexpmasking(col text, reg text, replace_text text, pos INTEGER default 0, reg_len INTEGER default -1) 描述:将col字符串使用正则表达式替换。 参数:待替换的字符串、正则表达式、替换的起始位置、替换长度。 返回值类型:text 父主题: 函数和操作符
  • java.sql.ResultSetMetaData java.sql.ResultSetMetaData是对ResultSet对象相关信息的具体描述。 表1 对java.sql.ResultSetMetaData的支持情况 方法名 返回值类型 支持JDBC 4 getCatalogName(int column) String Yes getColumnClassName(int column) String Yes getColumnCount() int Yes getColumnDisplaySize(int column) int Yes getColumnLabel(int column) String Yes getColumnName(int column) String Yes getColumnType(int column) int Yes getColumnTypeName(int column) String Yes getPrecision(int column) int Yes getScale(int column) int Yes getSchemaName(int column) String Yes getTableName(int column) String Yes isAutoIncrement(int column) boolean Yes isCaseSensitive(int column) boolean Yes isCurrency(int column) boolean Yes isDefinitelyWritable(int column) boolean Yes isNullable(int column) int Yes isReadOnly(int column) boolean Yes isSearchable(int column) boolean Yes isSigned(int column) boolean Yes isWritable(int column) boolean Yes 父主题: JDBC接口参考
  • PG_COLLATION PG_COLLATION系统表描述可用的排序规则,本质上从一个SQL名称映射到操作系统本地类别。 表1 PG_COLLATION字段 名称 类型 引用 描述 oid oid - 行标识符(隐含字段,必须明确选择)。 collname name - 排序规则名(每个名称空间和编码唯一)。 collnamespace oid PG_NAMESPACE.oid 包含这个排序规则的名称空间的OID。 collowner oid PG_AUTHID.oid 排序规则的所有者。 collencoding integer - 排序规则可用的编码,兼容PostgreSQL所有的字符编码类型,如果适用于任意编码为-1。 collcollate name - 这个排序规则对象的LC_COLLATE。 collctype name - 这个排序规则对象的LC_CTYPE。 collpadattr text - 这个排序规则的填充属性。 NULL:不适用。 NO PAD:无填充。 PAD SPACE:末尾空白填充。 collisdef boolean - 这个排序规则是否是所属字符集的默认字符序。 父主题: 系统表
  • PG_COMM_SEND_STREAM PG_COMM_SEND_STREAM视图展示单个DN上所有的通信库发送流状态。 表1 PG_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。 父主题: 系统视图
  • GS_DEPENDENCIES_OBJ GS_DEPENDENCIES_OBJ系统表记录对象的被依赖项详细信息。 表1 GS_DEPENDENCIES_OBJ字段 名称 类型 描述 schemaname name 名称空间的名称。 type integer 被依赖体的类型。 1:未知类型。 2:变量。 3:类型。 4:函数。 5:视图。 6:函数头。 name text 被依赖体名称。 objnode pg_node_tree 被依赖体的详细信息。 父主题: 系统表
  • INSTANCE_TIME 提供当前集群节点下的各种时间消耗信息,主要分为以下类型: DB_TIME:作业在多核下的有效时间花销。 CPU_TIME:CPU的时间花销。 EXECUTION_TIME:执行器内的时间花销。 PARSE_TIME:SQL解析的时间花销。 PLAN_TIME:生成Plan的时间花销。 REWRITE_TIME:SQL重写的时间花销。 PL_EXECUTION_TIME :PL/SQL(存储过程)执行的时间花销。 PL_COMPILATION_TIME:PL/SQL(存储过程)编译的时间花销。 NET_SEND_TIME:网络上的时间花销。 DATA_IO_TIME:I/O时间上的花销。 表1 INSTANCE_TIME字段 名称 类型 描述 stat_id integer 统计编号。 stat_name text 类型名称。 value bigint 时间值(单位:微秒)。 父主题: Instance
  • DB_SEQUENCES DB_SEQUENCES视图显示当前用户能够访问的所有序列的信息。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 DB_SEQUENCES字段 名称 类型 描述 sequence_owner name 序列所有者。 sequence_name name 序列的名称。 min_value int16 序列最小值。 max_value int16 序列最大值。 last_number int16 上一序列的值。 cache_size int16 序列磁盘缓存大小。 increment_by int16 序列的增量。 cycle_flag character(1) 表示序列是否是循环序列,取值为Y或N: Y表示是循环序列。 N表示不是循环序列。 order_flag character varying(1) 标志序列是否按照请求顺序发生。暂不支持,值为NULL。 scale_flag character varying(1) 标志是否为可扩展序列。暂不支持,值为NULL。 extend_flag character varying(1) 标志可扩展序列生成的值是否超出序列最大值、最小值范围。暂不支持,值为NULL。 sharded_flag character varying(1) 标志是否为分片序列。暂不支持,值为NULL。 session_flag character varying(1) 标志序列是否为私有会话。暂不支持,值为NULL。 keep_value character varying(1) 标志在失败后的replay期间是否保留序列值。暂不支持,值为NULL。 父主题: 系统视图
  • 语法格式 重命名表空间的语法。 1 2 ALTER TABLESPACE tablespace_name RENAME TO new_tablespace_name; 设置表空间所有者的语法。 1 2 ALTER TABLESPACE tablespace_name OWNER TO new_owner; 设置表空间属性的语法。 1 2 ALTER TABLESPACE tablespace_name SET ( { tablespace_option = value } [, ... ] ); 重置表空间属性的语法。 1 2 ALTER TABLESPACE tablespace_name RESET ( { tablespace_option } [, ... ] ); 设置表空间限额的语法 1 2 ALTER TABLESPACE tablespace_name RESIZE MAXSIZE { UNLIMITED | 'space_size'};
  • 参数说明 tablespace_name 要修改的表空间。 取值范围:已存在的表空间名。 new_tablespace_name 表空间的新名称。 新名称不能以"PG_"开头。 取值范围:字符串,符合标识符命名规范。 new_owner 表空间的新所有者。 取值范围:已存在的用户名。 tablespace_option 设置或者重置表空间的参数。 取值范围: seq_page_cost:设置优化器计算一次顺序获取磁盘页面的开销。缺省为1.0。 random_page_cost:设置优化器计算一次非顺序获取磁盘页面的开销。缺省为4.0。 random_page_cost是相对于seq_page_cost的取值,等于或者小于seq_page_cost时毫无意义。 默认值为4.0的前提条件是,优化器采用索引来扫描表数据,并且表数据在cache中命中率可以90%左右。 如果表数据空间要比物理内存小,那么减小该值到一个适当水平;相反地,如果表数据在cache中命中率要低于90%,那么适当增大该值。 如果采用了类似于SSD的随机访问代价较小的存储器,可以适当减小该值,以反映真正的随机扫描代价。 value的取值范围:正的浮点类型。 RESIZE MAXSIZE 重新设置表空间限额的数值。 取值范围: UNLIMITED,该表空间不设置限额。 由space_size来确定,其格式参考CREATE TABLESPACE。 若调整后的限额值比当前表空间实际使用的值要小,调整操作可以执行成功,后续用户需要将该表空间的使用值降低到新限额值之下,才能继续往该表空间中写入数据。 修改参数MAXSIZE时也可使用: 1 2 ALTER TABLESPACE tablespace_name RESIZE MAXSIZE { 'UNLIMITED' | 'space_size'};
  • 注意事项 当前版本禁止使用ALTER TABLESPACE语法。 只有表空间的所有者或者被授予了表空间ALTER权限的用户有权限执行ALTER TABLESPACE命令,系统管理员默认拥有此权限。但要修改表空间的所有者,当前用户必须是该表空间的所有者或系统管理员,且该用户是新所有者角色的成员。 对行存表的ALTER TABLESPACE操作不支持在事务块中执行。 要修改表空间的所有者A为B,则A必须是B的直接或者间接成员。 如果new_owner与old_owner一致,此处不再校验当前执行操作的用户是否具有修改权限,而直接显示ALTER成功。
  • WAIT_EVENT_INFO WAIT_EVENT_INFO视图显示wait event的具体信息。 表1 WAIT_EVENT_INFO字段 名称 类型 描述 module text event所属的模块名。 type text event类型。 event text event名称。 表2 Wait Events事件信息列表 模块分类 事件分类 事件 说明 Lock 等待事件 acquire lock 等待加锁,要么加锁成功,要么加锁等待超时。 SharedMemory LWLOCK事件 ShmemIndexLock 用于保护共享内存中的主索引哈希表 Shared buffer LWLOCK事件 BufMappingLock 用于保护对共享缓冲映射表的操作。 Lmgr LWLOCK事件 LockMgrLock 用于保护常规锁结构信息。 LWLock 等待事件 acquire lwlock 等待获取轻量级锁 I/O 等待事件 wait io 等待IO完成 COMM 等待事件 wait cmd 等待完成读取网络通信包 COMM 等待事件 wait pooler get conn 等待pooler完成获取连接 COMM 等待事件 wait pooler abort conn 等待pooler完成终止连接 COMM 等待事件 wait pooler clean conn 等待pooler完成清理连接 COMM 等待事件 get conn 获取到其他节点的连接 COMM 等待事件 set cmd 在连接上执行SET/RESET/TRANSACTION BLOCK LEVEL COMM 等待事件 cancel query 取消某连接上正在执行的SQL语句 COMM 等待事件 stop query 停止某连接上正在执行的查询 COMM 等待事件 wait node 等待接收与某节点的连接上的数据 COMM 等待事件 flush data 等待向网络中的其他节点发送数据 COMM 等待事件 stream get conn 初始化stream flow时,等待建立到consumer nodes的连接。 COMM 等待事件 wait producer ready 初始化stream flow时,等待每个producer都准备好。 Stream 等待事件 synchronize quit steam plan结束时,等待stream线程组内的线程统一退出。 Stream 等待事件 wait stream group destroy steam plan结束时,等待销毁stream node group。 Transaction 等待事件 wait transaction sync 等待事务同步 Transaction 等待事件 wait data sync 等待完成数据页到备机的同步 Transaction 等待事件 wait data sync queue 等待把行存的数据页放入同步队列 Transaction LWLOCK事件 OidGenLock 用于避免不同线程产生相同的OID。 Transaction LWLOCK事件 XidGenLock 用于避免两个事务获得相同的xid。 Transaction LWLOCK事件 ProcArrayLock 用于避免并发访问或修改ProcArray共享数组。 Transaction LWLOCK事件 SubtransControlLock 用于避免并发访问或者修改子事务控制数据结构 Transaction LWLOCK事件 MultiXactGenLock 用于串行分配唯一MultiXactid Transaction LWLOCK事件 TwoPhaseStateLock 用于避免并发访问或者修改两阶段信息共享数组 Transaction LWLOCK事件 SerializableXactHashLock 用于避免对于可串行事务共享结构的写写并发和读写并发 Transaction LWLOCK事件 SerializableFinishedListLock 用于避免对于已完成可串行事务共享链表的写写并发和读写并发 Transaction LWLOCK事件 SerializablePredicateLockListLock 用于保护对于可串行事务持有的锁链表 Transaction LWLOCK事件 PredicateLockMgrLock 用于保护可串行事务锁结构信息。 Transaction LWLOCK事件 OldSerXid SLRU lwlock 保护old xids的slru buffer Transaction LWLOCK事件 OldSerXidLock 用于保护记录冲突可串行事务的结构 Transaction LOCK事件 transactionid 对事务ID加锁 Transaction LOCK事件 virtualxid 对虚拟事务ID加锁 Checkpoint LWLOCK事件 CheckpointLock 用于避免多个checkpoint并发执行 Checkpoint LWLOCK事件 CheckpointerCommLock 用于向checkpointer发起文件刷盘请求场景,需要串行的向请求队列插入请求结构。 Analyze LWLOCK事件 AutoanalyzeLock 用于获取和释放允许执行Autoanalyze的任务资源。 Vacuum LWLOCK事件 BtreeVacuumLock 用于防止vacuum清理btree中还在使用的页面。 Vacuum LWLOCK事件 AutovacuumLock 用于串行化访问autovacuum worker数组 Vacuum LWLOCK事件 AutovacuumScheduleLock 用于串行化分配需要vacuum的table Auto vacuum LWLOCK事件 AutovacuumLock 用于保护autovacuum shmem struct Auto vacuum LWLOCK事件 AutovacuumScheduleLock 用于保护auto vacuum worker信息 Auto analyze LWLOCK事件 AutoanalyzeLock 用于保护autoAnalyzeFreeProcess变量,保证最多有10个auto analyze线程同时运行。 WAL 等待事件 wait wal sync 等待特定LSN的wal log完成到备机的同步 WAL I/O事件 WALBootstrapSync 将初始化的WAL文件持久化到磁盘。在数据库初始化发生。 WAL I/O事件 WALBootstrapWrite 写入初始化的WAL文件。在数据库初始化发生。 WAL I/O事件 WALCopyRead 读取已存在的WAL文件并进行复制时产生的读操作。在执行归档恢复完后发生。 WAL I/O事件 WALCopySync 将复制的WAL文件持久化到磁盘。在执行归档恢复完后发生。 WAL I/O事件 WALCopyWrite 读取已存在WAL文件并进行复制时产生的写操作。在执行归档恢复完后发生。 WAL I/O事件 WALInitSync 将新初始化的WAL文件持久化磁盘。在日志回收或写日志时发生。 WAL I/O事件 WALInitWrite 将新创建的WAL文件初始化为0。在日志回收或写日志时发生。 WAL I/O事件 WALRead 从xlog日志读取数据。两阶段文件redo相关的操作产生。 WAL I/O事件 WALSyncMethodAssign 将当前打开的所有WAL文件持久化到磁盘。 WAL I/O事件 WALWrite 写入WAL文件。 WAL I/O事件 LOGCTRL_SLEEP 统计流控发生了多少次、日志流控的睡眠时间。 WAL LWLOCK事件 RcvWriteLock 防止并发调用WalDataRcvWrite。 WAL LWLOCK事件 WALBufMappingLock 初始化Xlogbufer的下一个page时需要加x锁。 WAL LWLOCK事件 WALInsertLock 用于防止多个程序同时向同一个xlog缓冲区写。 WAL LWLOCK事件 WALWriteLock 用于避免并发刷写wal日志。 Relation LWLOCK事件 SInvalReadLock 用于避免与清理失效消息并发执行。 Relation LWLOCK事件 SinvalWriteLock 用于避免与其它写失效消息、清理失效消息并发执行。 Relation LWLOCK事件 RelCacheInitLock 用于失效消息场景对init文件进行操作时加锁。 Relation LWLOCK事件 TablespaceCreateLock 用于确定tablespace是否已经存在。 Relation LWLOCK事件 RelfilenodeReuseLock 避免错误地取消已重用的列属性文件的链接。 Relation LOCK事件 relation 对表加锁。 Relation LOCK事件 extend 对表扩展空间时加锁。 Relation LOCK事件 partition 对分区表加锁。 Relation LOCK事件 partition_seq 对分区表的分区加锁。 WLM 等待事件 wait active statement WLM等待active statement。 WLM 等待事件 wait memory WLM 等待空余内存。 DDL/DCL 等待事件 create index 等待index创建成功。 DDL/DCL 等待事件 analyze 等待analyze完成。 DDL/DCL 等待事件 vacuum 等待vacuum 完成。 DDL/DCL LWLOCK事件 DelayDDLLock 防止并发ddl。 DDL/DCL 等待事件 vacuum full 等待vacuum full操作 完成。 Executor 等待事件 Sort 等待tuple 排序完成。 Executor 等待事件 Sort - write file 归并排序时内存受限,将排序完的数据暂时写入文件。 Executor 等待事件 Material 等待将tuple物化。 Executor 等待事件 Material - write file 等待将物化的tuple写入文件。 Executor 等待事件 HashJoin - build hash 执行hashJoin时,等待hashtable建立完成。 Executor 等待事件 HashJoin - write file 执行hashJoin时,等待将tuple的hash结果写到磁盘。 Executor 等待事件 HashAgg - build hash 执行hashagg时,等待hashtable建立完成。 Executor 等待事件 HashAgg - write file 执行hashagg时,等待将tuple的hash结果写到磁盘。 Executor 等待事件 HashSetop - build hash 通过hash方式执行OP操作时,等待建立hash表。 Executor 等待事件 HashSetop - write file 通过hash方式执行OP操作时,等待将tuple的hash结果写到磁盘。 Executor 等待事件 wait sync consumer next step 等待stream consumer进行下一步处理。 Executor 等待事件 wait sync producer next step 等待stream producer进行下一步处理。 GTM 等待事件 gtm connect 等待与gtm连接 GTM 等待事件 gtm reset xmin 等待gtm重新设置xmin完成 GTM 等待事件 gtm get xmin 等待从gtm获取xmin GTM 等待事件 gtm get gxid 启动事务时等待从gtm获取gxid GTM 等待事件 gtm get csn 事务提交时等待从gtm获取CSN GTM 等待事件 gtm get snapshot 事务启动时等待从gtm获取快照 GTM 等待事件 gtm begin trans 等待GTM开启事务 GTM 等待事件 gtm commit trans 等待GTM提交事务 GTM 等待事件 gtm rollback trans 等待GTM回滚事务 GTM 等待事件 gtm start preprare trans 两阶段提交时,等待GTM完成一阶段。 GTM 等待事件 gtm prepare trans 两阶段提交时,等待GTM完成第二阶段。 GTM 等待事件 gtm open sequence 等待gtm创建sequence。 GTM 等待事件 gtm close sequence 等待gtm完成alter sequence操作。 GTM 等待事件 gtm set sequence val 等待gtm设置sequence的值 GTM 等待事件 gtm drop sequence 等待gtm删除sequence GTM 等待事件 gtm rename sequence 等待gtm重命名sequence GTM LWLOCK事件 GTMHostInfoLock 用于保护gtm的信息 Temp File I/O事件 BufFileRead 从临时文件中读取数据到指定buffer Temp File I/O事件 BufFileWrite 向临时文件中写入指定buffer中的内容 Pg_control I/O事件 ControlFileRead 读取pg_control文件。主要在数据库启动、执行checkpoint和主备校验过程中发生。 Pg_control I/O事件 ControlFileSync 将pg_control文件持久化到磁盘。数据库初始化时发生。 Pg_control I/O事件 ControlFileSyncUpdate 将pg_control文件持久化到磁盘。主要在数据库启动、执行checkpoint和主备校验过程中发生。 Pg_control I/O事件 ControlFileWrite 写入pg_control文件。数据库初始化时发生。 Pg_control I/O事件 ControlFileWriteUpdate 更新pg_control文件。主要在数据库启动、执行checkpoint和主备校验过程中发生。 Pg_control LWLOCK事件 ControlFileLock 用于避免pg_control文件的读写并发、写写并发。 文件操作 I/O事件 CopyFileRead copy文件时读取文件内容 文件操作 I/O事件 CopyFileWrite copy文件时写入文件内容 文件操作 I/O事件 DataFileExtend 扩展文件时向文件写入内容 表数据文件 I/O事件 DataFileImmediateSync 将表数据文件立即持久化到磁盘 表数据文件 I/O事件 DataFilePrefetch 异步读取表数据文件 表数据文件 I/O事件 DataFileRead 同步读取表数据文件 表数据文件 I/O事件 DataFileSync 将表数据文件持久化磁盘 表数据文件 I/O事件 DataFileTruncate 表数据文件truncate 表数据文件 I/O事件 DataFileWrite 向表数据文件写入内容 表数据文件 LWLOCK事件 SyncScanLock 用于确定heap扫描时某个relfilenode的起始位置 表数据文件 LWLOCK事件 RelationMappingLock 用于等待更新系统表到存储位置之间映射的文件 元数据 LWLOCK事件 MetaCacheSweepLock 用于元数据循环淘汰 postmaster.pid I/O事件 LockFileAddToDataDirRead 读取"postmaster.pid"文件 postmaster.pid I/O事件 LockFileAddToDataDirSync 将"postmaster.pid"内容持久化到磁盘 postmaster.pid I/O事件 LockFileAddToDataDirWrite 将pid信息写到"postmaster.pid"文件 Pid File I/O事件 LockFileCreateRead 读取LockFile文件"%s.lock" Pid File I/O事件 LockFileCreateSync 将LockFile文件"%s.lock"内容持久化到磁盘 Pid File I/O事件 LockFileCreateWRITE 将pid信息写到LockFile文件"%s.lock" 系统表映射文件 I/O事件 RelationMapRead 读取系统表到存储位置之间的映射文件 系统表映射文件 I/O事件 RelationMapSync 将系统表到存储位置之间的映射文件持久化到磁盘 系统表映射文件 I/O事件 RelationMapWrite 写入系统表到存储位置之间的映射文件 Streaming replication I/O事件 ReplicationSlotRead 读取流复制槽文件。重新启动时发生 Streaming replication I/O事件 ReplicationSlotRestoreSync 将流复制槽文件持久化到文件 Streaming replication I/O事件 ReplicationSlotSync checkpoint时将流复制槽临时文件持久化到磁盘 Streaming replication I/O事件 ReplicationSlotWrite checkpoint时写流复制槽临时文件 Streaming replication LWLOCK事件 ReplicationSlotAllocationLock 方式分配同一个复制槽 Streaming replication LWLOCK事件 ReplicationSlotControlLock 检测复制槽名称冲突,识别出具体可分配的复制槽,需要ReplicationSlotControlLock锁。 Clog I/O事件 SLRUFlushSync 将pg_clog文件持久化到磁盘。主要在执行checkpoint和数据库停机时发生 Clog I/O事件 SLRURead 读取pg_clog文件 Clog I/O事件 SLRUSync 将脏页写入文件pg_clog并持久化到磁盘。主要在执行checkpoint和数据库停机时发生。 Clog I/O事件 SLRUWrite 写入pg_clog文件 Clog LWLOCK事件 CLogControlLock 用于避免并发访问或者修改Clog控制数据结构 Clog LWLOCK事件 MultiXactOffsetControlLock 用于避免对pg_multixact/offset的写写并发和读写并发 Clog LWLOCK事件 MultiXactMemberControlLock 用于避免对pg_multixact/members的写写并发和读写并发 timelinehistory I/O事件 TimelineHistoryRead 读取timelinehistory文件。在数据库启动时发生。 timelinehistory I/O事件 TimelineHistorySync 将timelinehistory文件持久化到磁盘。在数据库启动时发生。 timelinehistory I/O事件 TimelineHistoryWrite 写入timelinehistory文件 pg_twophase I/O事件 TwophaseFileRead 读取pg_twophase文件。在两阶段事务提交、两阶段事务恢复时发生。 pg_twophase I/O事件 TwophaseFileSync 将pg_twophase文件持久化到磁盘。在两阶段事务提交、两阶段事务恢复时发生。 pg_twophase I/O事件 TwophaseFileWrite 写入pg_twophase文件。在两阶段事务提交、两阶段事务恢复时发生。 Cluster LWLOCK事件 NodeTableLock 用于保护存放CN和DN节点信息的共享结构 Concurrency LWLOCK事件 PoolerLock 用于保证两个线程不会同时从连接池里取到相同的连接 Concurrency LWLOCK事件 AsyncCtlLock 用于避免并发访问或者修改共享通知状态 Concurrency LWLOCK事件 AsyncQueueLock 用于避免并发访问或者修改共享通知信息队列 Double write I/O事件 DoubleWriteFileWrite Double write过程中将页面写到Double write文件中 Double write I/O事件 DoubleWriteFileRead 发生半写进行恢复时读取Double write文件 Statistics file LWLOCK事件 FileStatLock 用于保护存储统计文件信息的数据结构 Master-slave replication LWLOCK事件 SyncRepLock 用于在主备复制时保护xlog同步信息。 Master-slave replication LWLOCK事件 ReplicationSlotAllocationLock 用于主备复制时保护主机端的流复制槽的分配。 Master-slave replication LWLOCK事件 ReplicationSlotControlLock 用于主备复制时避免并发更新流复制槽状态。 Master-slave replication LWLOCK事件 LsnXlogChkFileLock 用于串行更新特定结构中记录的主备机的xlogflush位置点 Master-slave replication LWLOCK事件 DataSyncRepLock 用于在主备复制时保护数据页同步信息。 Speed up the cluster LWLOCK事件 SearchServerLibLock 用于GPU加速场景初始化加载特定动态库时,对读文件操作进行加锁。 Resource manage LWLOCK事件 ResourcePoolHashLock 用于避免并发访问或者修改资源池哈希表。 Resource manage LWLOCK事件 WorkloadStatHashLock 用于避免并发访问或者修改包含CN侧的SQL请求构成的哈希表。 Resource manage LWLOCK事件 WorkloadIoStatHashLock 用于避免并发访问或者修改用于统计当前DN的IO信息的哈希表。 Resource manage LWLOCK事件 WorkloadCGroupHashLock 用于避免并发访问或者修改cgroup信息构成的哈希表。 Resource manage LWLOCK事件 WorkloadRecordLock 用于避免并发访问或修改在内存自适应管理时对CN收到请求构成的哈希表。 Resource manage LWLOCK事件 WorkloadIOUtilLock 用于保护记录iostat,CPU等负载信息的结构。 Resource manage LWLOCK事件 WorkloadNodeGroupLock 用于避免并发访问或者修改内存中的nodegroup信息构成的哈希表。 OBS LWLOCK事件 OBSGetPathLock 用于避免对obs路径的写写并发和读写并发。 OBS LWLOCK事件 OBSRuntimeLock 用于获取环境变量,如GASSHOME。 MPP is compatible with ORACLE scheduled task function LWLOCK事件 JobShmemLock 用于MPP兼容ORACLE定时任务功能中保护定时读取的全局变量。 Operator history information statistics LWLOCK事件 OperatorRealTLock 用于避免并发访问或者修改记录算子级实时数据的全局结构。 Operator history information statistics LWLOCK事件 OperatorHistLock 用于避免并发访问或者修改记录算子级历史数据的全局结构。 query history information statistics LWLOCK事件 SessionRealTLock 用于避免并发访问或者修改记录query级实时数据的全局结构。 query history information statistics LWLOCK事件 SessionHistLock 用于避免并发访问或者修改记录query级历史数据的全局结构。 query history information statistics LWLOCK事件 WaitCountHashLock 用于保护用户语句计数功能场景中的共享结构。 barrier LWLOCK事件 BarrierLock 用于保证当前只有一个线程在创建Barrier。 CSN LWLOCK事件 CSNBufMappingLock 保护csn页面 instrumentation LWLOCK事件 UniqueSQLMappingLock 用于保护uniquesql hash table instrumentation LWLOCK事件 InstrUserLock 用于保护InstrUserHTAB。 instrumentation LWLOCK事件 PercentileLock 用于保护全局PercentileBuffer instrumentation LWLOCK事件 InstrWorkloadLock 保护全局instr workload xact info hash table Pgproc LWLOCK事件 Pgproc lwlock 用于保护pgproc Async buffer LWLOCK事件 AsyncCtlLock 保护Async buffer MultiXact LWLOCK事件 MultiXactOffset lwlock 保护MultiXact offet的slru buffer MultiXact LWLOCK事件 MultiXactMemberlwlock 保护MultiXact member的slrubuffer CBM LWLOCK事件 CBMParseXlogLock Cbm 解析xlog时的保护锁 BadBlock LWLOCK事件 BadBlockStatHashLock 用于保护global_bad_block_stat hash表 Page LOCK事件 page 对表页面加锁 Tuple LOCK事件 tuple 对页面上的tuple加锁 object LOCK事件 object 加对象锁 user LOCK事件 userlock 加用户锁 advisor LOCK事件 advisory 加advisory锁 ODBC LWLOCK事件 ExtensionConnectorLibLock 用于初始化ODBC连接场景,在加载与卸载特定动态库时进行加锁。 父主题: Wait Events
  • PG_INHERITS PG_INHERITS系统表记录关于表继承层次的信息。数据库里每个直接的子系表都有一条记录。间接的继承可以通过追溯记录链来判断。 表1 PG_INHERITS字段 名称 类型 引用 描述 inhrelid oid PG_CLASS.oid 子表的OID。 inhparent oid PG_CLASS.oid 父表的OID。 inhseqno integer - 如果一个子表存在多个直系父表(多重继承),这个数字表明此继承字段的排列顺序。计数从1开始。 父主题: 系统表
  • BGWRITER_STAT BGWRITER_STAT视图显示关于后端写进程活动的统计信息。 表1 BGWRITER_STAT字段 名称 类型 描述 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 这些统计被重置的时间。 父主题: Utility
共100000条