华为云用户手册

  • MY_TAB_COL_STATIS TICS MY_TAB_COL_STATISTI CS 视图显示从MY_TAB_COLUMNS 中提取的列统计信息和直方图信息。所有用户都可以访问该视图。该视图同时存在于PG_CATA LOG 和SYS Schema下。具体字段信息如表1所示。 表1 MY_TAB_COL_STATISTICS字段 名称 类型 描述 table_name character varying(128) 表名。 column_name character varying(128) 列名。 num_distinct numeric 列中不同值的数量。 low_value raw 列中的低值。 high_value raw 列中的高值。 density numeric 如果COLUMN_NAME上有直方图,则此列将显示直方图中跨越少于2个端点的值的选择性。它不代表跨越2个或更多端点的值的选择性。 如果COLUMN_NAME上没有可用的直方图,则该列的值为1/NUM_DISTINCT。 num_nulls numeric 列中空值数。 num_buckets numeric 列的直方图中的桶数。 last_analyzed date 最近分析此列的日期,数据库重启后,数据会丢失。 sample_size numeric 用于分析此列的样本量。 global_stats character varying(3) 暂不支持,值为NULL。 user_stats character varying(3) 暂不支持,值为NULL。 notes character varying(99) 暂不支持,值为NULL。 avg_col_len numeric 列的平均长度(以字节为单位)。 histogram character varying(15) 表示直方图是否存在,如果存在的话是什么类型: NONE:表示不存在直方图。 FREQUENCY:表示频率直方图。 EQUI-W IDT H:表示等宽直方图。 scope character varying(7) 对于在除全局临时表之外的任何表上收集的统计信息,该值是SHARED(表示统计信息在所有会话之间共享)。 schema character varying(64) 列所属的名称空间的名称。 父主题: 其他系统视图
  • 客户端配置 前置条件:登录 GaussDB 管理控制台,在“实例管理”页面,单击实例名称进入“基本信息”页面,单击“SSL”处的,下载根证书或捆绑包,将根证书ca.pem放置在客户端。 示例: package main //依赖包根据环境中依赖包路径设置 import ( "database/sql" "fmt" _ [go驱动模块名] /*请根据go驱动实际模块名替换*/ "log" ) // 以单向认证为例,本示例以用户名和密码保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量(环境变量名称请根据自身情况进行设置) func main() { hostip := os.Getenv("GOHOSTIP") //GOHOSTIP为写入环境变量的IP地址 port := os.Getenv("GOPORT") //GOPORT为写入环境变量的port usrname := os.Getenv("GOUSRNAME") //GOUSRNAME为写入环境变量的用户名 passwd := os.Getenv("GOPASSWD") //GOPASSWDW为写入环境变量的用户密码 sslpasswd := os.Getenv("GOSSLPASSWD") //GOSSLPASSWD为写入环境变量的密码短语 dsnStr := "host=" + hostip + " port=" + port + " user=" + usrname + " password=" + passwd + " dbname=gaussdb" parameters := []string{ " sslmode=verify-ca sslrootcert=certs/ca.pem", } for _, param := range parameters { db, err := sql.Open("gaussdb", dsnStr+param) if err != nil { log.Fatal(err) } var f1 int err = db.QueryRow("select 1").Scan(&f1) if err != nil { log.Fatal(err) } else { fmt.Printf("RESULT: select 1: %d\n", f1) } db.Close() } }
  • 位串类型 位串就是一串1和0的字符串。它们可以用于存储位掩码。 GaussDB支持两种位串类型:bit(n)和bit varying(n),这里的n是一个正整数,n最大取值为83886080,相当于10M的容量。 bit类型的数据必须准确匹配长度n,如果存储的数据长度不匹配都会报错。bit varying类型的数据是最长为n的变长类型,长度超过n时会被拒绝。一个没有长度的bit等效于bit(1),没有长度的bit varying表示没有长度限制。 如果用户明确地把一个位串值转换成bit(n),则此位串数值右边超过n位的内容将被截断,或者在位串数值不足n位时右边补齐零到n位,不会提示错误。 如果用户明确地把一个位串数值转换成bit varying(n),但位串数值超过了n位,则位串数值的右边将被截断。 使用ADMS平台8.1.3-200驱动版本及之前版本时,写入bit类型需要用::bit varying进行类型转换,否则可能出现异常报错。 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 --创建表。 gaussdb=# CREATE TABLE bit_type_t1 ( BT_COL1 INTEGER, BT_COL2 BIT(3), BT_COL3 BIT VARYING(5) ) DISTRIBUTE BY REPLICATION; --插入数据。 gaussdb=# INSERT INTO bit_type_t1 VALUES(1, B'101', B'00'); --插入数据的长度不符合类型的标准会报错。 gaussdb=# INSERT INTO bit_type_t1 VALUES(2, B'10', B'101'); ERROR: bit string length 2 does not match type bit(3) CONTEXT: referenced column: bt_col2 --将不符合类型长度的数据进行转换。 gaussdb=# INSERT INTO bit_type_t1 VALUES(2, B'10'::bit(3), B'101'); --查看数据。 gaussdb=# SELECT * FROM bit_type_t1; bt_col1 | bt_col2 | bt_col3 ---------+---------+--------- 1 | 101 | 00 2 | 100 | 101 (2 rows) --删除表。 gaussdb=# DROP TABLE bit_type_t1; 父主题: 数据类型
  • PV_THREAD_MEMORY_CONTEXT PV_THREAD_MEMORY_CONTEXT视图显示所有线程的内存使用情况,以MemoryContext节点来统计。该视图在关闭线程池(enable_thread_pool = off)时等价于PV_SESSION_MEMORY_DETAIL视图。具体字段信息如表1所示。 其中内存上下文“TempSmallContextGroup”,记录当前线程中所有内存上下文字段“totalsize”小于8192字节的信息汇总,并且内存上下文统计计数记录到“usedsize”字段中。所以在视图中,“TempSmallContextGroup”内存上下文中的“totalsize”和“freesize”是该线程中所有内存上下文“totalsize”小于8192字节的汇总总和,“usedsize”字段表示统计的内存上下文个数。 表1 PV_THREAD_MEMORY_CONTEXT字段 名称 类型 描述 threadid text 线程启动时间+线程标识(字符串信息为timestamp.sessionid)。 tid bigint 线程标识。 thrdtype text 线程类型。可以是系统内存在的任何线程类型,如wlmmonitor等。 contextname text 内存上下文名称。 level smallint 当前上下文在整体内存上下文中的层级。 parent text 父内存上下文名称。 totalsize bigint 当前内存上下文的内存总数,单位Byte。 freesize bigint 当前内存上下文中已释放的内存总数,单位Byte。 usedsize bigint 当前内存上下文中已使用的内存总数,单位Byte;“TempSmallContextGroup”内存上下文中该字段含义为统计计数。 父主题: 其他系统视图
  • VACUUM参数介绍 表1 VACUUM参数介绍 名称 描述 默认取值 track_counts 是否开启统计信息收集功能。 on AutoVacuum 是否启动系统自动清理功能。 on AutoVacuum_mode 仅在AutoVacuum设置为on的场景下生效,它控制Autoanalyze或AutoVacuum的打开情况。 mix autovacuum_max_workers 设置系统自动清理工作进程的最大数量。 3 autovacuum_naptime 设置两次系统自动清理操作之间的间隔时间。 10min autovacuum_vacuum_cost_limit 将在AutoVacuum操作里使用的cost上限。 1000 autovacuum_vacuum_cost_delay 如果超过了上面的cost上限,需要休眠的时间。 20ms vacuum_freeze_min_age tuple的年龄超过该值时需要freeze。 20亿 autovacuum_freeze_max_age 表的年龄超过该值时需要强制启动AutoVacuum。 40亿 vacuum_freeze_table_age 表的年龄超过该值时需要执行紧急模式。 40亿 autovacuum_vacuum_threshold AutoVacuum进程进行Vacuum操作的阈值基数。 50 autovacuum_vacuum_scale_factor AutoVacuum因子, AutoVacuum进程进行VACUUM 的比例因子。 0.2 autovacuum_analyze_threshold AutoVacuum进程进行analyze操作的阈值基数。 50 autovacuum_analyze_scale_factor autoanalyze因子,AutoVacuum进程进行analyze的比例因子。 0.1 父主题: VACUUM最佳实践
  • ai_watchdog_oom_malloc_failures 参数说明:容忍的最大连续内存分配失败数量,超过该数量可能会触发OOM探测功能。 参数类型:整型 参数单位:个 取值范围:1 ~ 32000 默认值:50 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:设置过小,会导致频繁报警;设置过大,会导致无法及时发现异常。
  • ai_watchdog_oom_process_threshold 参数说明:预期的数据库进程使用占max_process_memory的使用比例,到达该阈值时,会触发内存泄漏判断。 参数类型:浮点型 参数单位:无 取值范围:0 ~ 10 默认值: 如果该参数是通过OM安装进行设置,其默认值为1。 如果该参数不通过OM安装进行设置,其默认值为1.1。 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
  • ai_watchdog_oom_other_used_memory_threshold 参数说明:预期的数据库的其他部分内存使用上限。 参数类型:整型 参数单位:MB 取值范围:-1 ~ 1048576 默认值: 如果该参数是通过OM安装进行设置,其默认值为-1。 当参数值为-1时,对其他部分内存使用上限按照如下规则判断是否发生泄露: 若max_process_memory小于300GB,则其他部分内存使用上限为20GB。 若max_process_memory大于等于300GB小于600GB,则其他部分内存使用上限为40GB。 若max_process_memory大于等于600GB,则其他部分内存使用上限为60GB。 若用户未采用默认值-1,则其他部分内存使用上限将采用用户设置的参数。 如果该参数不通过OM安装进行设置,其默认值为20480。 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:设置过小,会导致频繁报警;设置过大,会导致无法及时发现异常。
  • ai_watchdog_wait_time 参数说明:为了避免数据库频繁进行自愈操作,会在数据库启动后一段时间进行等待,该值即用来调整等待时间。 参数类型:整型 参数单位:s(秒) 取值范围:0 ~ 36000 默认值:1800 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。取值不能带单位。 设置建议:推荐使用默认值。 设置不当的风险与影响:设置过小,可能会导致数据库刚启动时误报;设置过大,可能会导致无法发现等待时间内的异常。
  • ai_watchdog_warning_retention 参数说明:AI Watchdog在dbe_perf.ai_watchdog_detection_warnings视图中保留的告警记录数上限。 参数类型:整型 参数单位:个 取值范围:0 ~ 32000 默认值:20 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
  • ai_watchdog_tolerance_times 参数说明:AI Watchdog启动自愈前最多能容忍多少次连续异常事件,通过该参数可以避免错误操作。 参数类型:整型 参数单位:次 取值范围:0 ~ 100 默认值:4 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
  • ai_watchdog_rto_restriction_time 参数说明:AI Watchdog自愈功能的RTO限制,超过该RTO阈值,则不进行自愈操作。 参数类型:整型 参数单位:s(秒) 取值范围:0 ~ 36000 默认值:600 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。取值不能带单位。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
  • enable_ai_stats 参数说明:该参数用于指定是否创建或者使用智能统计信息。 参数类型:布尔型 参数单位:无 取值范围: on:表示创建并且使用智能统计信息。 off:表示不创建或者不适用智能统计信息。 默认值:off 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:数据库运行过程中修改可能会造成计划劣化。
  • multi_stats_type 参数说明:该参数用于指定在enable_ai_stats为on状态下创建的统计信息类别。 参数类型:枚举类型 参数单位:无 取值范围:有效值为“BAYESNET”、“MCV”、“ALL”。 "BAYESNET":只创建智能统计信息。 "MCV":只创建传统统计信息。 "ALL":同时创建传统统计信息和智能统计信息。 默认值:"BAYESNET" 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
  • ai_stats_cache_limit 参数说明:该参数用于指定在enable_ai_stats为on状态下最多缓存的模型数量。 参数类型:整型 参数单位:个 取值范围:30 ~ 1000 默认值:100 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:建议根据使用多列统计信息模型数量设置。 设置不当的风险与影响:最大缓存个数设置过大会占用不必要的内存,参数设置过小会频繁从硬盘读取模型,造成系统性能下降。
  • enable_operator_prefer 参数说明:该参数用于指定是否开启算子倾向性规则,在估计代价相近的情况下,倾向于选择参数化路径执行表连接。 参数类型:布尔型 参数单位:无 取值范围: on:表示开启参数化路径优先。 off:表示不开启参数化路径优先。 默认值:off 此参数生效有两个必要的前置条件: 参数化路径被生成。 参数化路估计的代价和其他索引扫描算子类似。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:建议设置为默认值,推荐只在session或者hint内指定该参数设置。 设置不当的风险与影响:修改此参数会有严重的计划劣化风险。
  • ai_watchdog_max_cpu_usage 参数说明:预期的数据库CPU使用率上限,该值会根据多核情况进行归一化。该参数值设置为0时,表示不判断CPU使用率情况。 参数类型:浮点型 参数单位:无 取值范围:0 ~ 1 默认值:0.8 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:设置过大,可能会导致无法及时发现异常。
  • enable_ai_watchdog_forcible_oom_detection 参数说明:强制开启或关闭AI Watchdog的OOM探测功能,若关闭该参数,则会自动根据当前数据库的规格判断是否需要启动OOM探测功能。自动判断模式下,对于max_process_memory设置为64GB及以上的场景,才会启动OOM探测功能。由于OOM探测功能依赖内存管理模块获取的信息,因此,如果内存管理模块未开启或失效,则OOM探测功能也不会启用。 参数类型:布尔型 参数单位:无 取值范围: on:表示开启。 off:表示关闭。 默认值:off 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:功能打开会占用系统资源。
  • 注意事项 在非阻塞连接上发送任何命令或数据之后,调用PQflush。如果返回1,则等待套接字变为读或写就绪。如果为写就绪状态,则再次调用PQflush。如果已经读到,调用PQconsumeInput,然后再次调用PQflush。重复,直到PQflush返回0。(必要检查读就绪并使用PQconsumeInput耗尽输入,因为服务器可能会阻止尝试向客户端发送数据(例如NOTICE消息),并且在客户端读取它的数据之前不会读取客户端的数据。)一旦PQflush返回0,等待套接字准备好,然后按照上面描述读取响应。
  • 注意事项 当前会话的用户必须是指定的rolename角色的成员,当三权分立关闭时,系统管理员可以选择任何角色。 使用这条命令,它可能会增加一个用户的权限,也可能会限制一个用户的权限。如果会话用户的角色有INHERITS属性,则它自动拥有它能SET ROLE变成的角色的所有权限;在这种情况下,SET ROLE实际上是删除了所有直接赋予会话用户的权限,以及它的所属角色的权限,只剩下指定角色的权限。另一方面,如果会话用户的角色有NOINHERITS属性,SET ROLE删除直接赋予会话用户的权限,而获取指定角色的权限。
  • 参数说明 SESSION 声明这个命令只对当前会话起作用,此参数为缺省值。 LOCAL 声明该命令只在当前事务中有效。 role_name 角色名。 取值范围:字符串,数据库中已存在的用户名。 password 角色的密码。要求符合密码的命名规则。 使用密文密码限制如下: 管理员用户不能使用密文密码切换到其他管理员用户,只能向权限更低用户切换。 使用密文密码通常用于gs_dump、gs_dumpall导出场景,其他场景不建议直接使用密文密码。 RESET ROLE 用于重置当前用户标识。
  • V$NLS_PA RAM ETERS V$NLS_PARAMETERS视图显示数据库当前配置的(National Language Support)NLS参数和参数的值。所有用户都可以访问,该视图同时存在于PG_CATALOG和SYS Schema下。具体字段信息如表1所示。 表1 V$NLS_PARAMETERS字段 名称 类型 描述 parameter character varying(64) (National Language Support)NLS参数名。 value character varying(64) (National Language Support)NLS参数的值。 con_id numeric 暂不支持,值为0。 父主题: 其他系统视图
  • 废弃函数 GaussDB中下列函数在最新版本中已废弃: gs_wlm_get_session_info gs_wlm_get_user_session_info check_engine_status encode_plan_node model_train_opt gs_stat_get_wlm_plan_operator_info track_model_train_opt array_extend dbe_perf.global_slow_query_info dbe_perf.global_slow_query_info_bytime dbe_perf.global_slow_query_history pg_reload_conf pg_rotate_logfile pg_catalog.prepare_statement_status() gs_stat_ustore local_segment_space_info global_segment_space_info remote_segment_space_info pg_stat_segment_extent_usage pgxc_get_wlm_current_instance_info(text, int default null) pgxc_get_wlm_history_instance_info(text, TIMESTAMP, TIMESTAMP, int default null) GS_ALL_NODEGROUP_CONTROL_GROUP_INFO(text) create_wlm_operator_info(int flag) create_wlm_session_info(int flag) pg_stat_get_wlm_session_info(int flag) gs_wlm_get_resource_pool_info(int) gs_wlm_get_all_user_resource_info() gs_wlm_get_workload_records() gs_wlm_persistent_user_resource_info() gs_wlm_session_respool(bigint) pgxc_get_wlm_operator_history() pgxc_get_wlm_operator_info() pgxc_get_wlm_operator_statistics() pgxc_get_wlm_session_history() pgxc_get_wlm_session_info() pgxc_get_wlm_session_info_bytime(tag text, begin timestamp, end timestamp, limit int) pgxc_get_wlm_session_statistics() pgxc_wlm_get_workload_records() DBE_PERF.get_wlm_controlgroup_ng_config() DBE_PERF.get_global_wlm_workload_runtime() DBE_PERF.global_prepare_statement_status() gs_wlm_user_resource_info(name text) create_wlm_instance_statistics_info() pg_stat_get_session_wlmstat() pg_stat_get_wlm_instance_info() pg_stat_get_wlm_instance_info_with_cleanup() pg_stat_get_wlm_node_resource_info() pg_stat_get_wlm_operator_info() pg_stat_get_wlm_realtime_operator_info() pg_stat_get_wlm_realtime_session_info() pg_stat_get_wlm_session_info_internal() pg_stat_get_wlm_statistics() gs_redis_set_bucketxid(bigint) gs_check_logic_cluster_consistency() gs_upload_obs_file('slot_name', 'src_file', 'dest_file') gs_download_obs_file('slot_name', 'src_file', 'dest_file') gs_get_obs_file_context('file_name', 'slot_name') gs_set_obs_file_context('file_name', 'file_context','slot_name') gs_get_hadr_key_cn() gs_hadr_has_barrier_creator() gs_hadr_do_switchover() track_memory_context(context_list text) track_memory_context_detail() 父主题: 函数和操作符
  • gs_shared_storage_flush_stat(int operation) 描述:统计共享盘的写入数据量、写入速度、写入时间、读取数据量、读取速度、读取时间等。 返回值类型:record 参数类型 参数名 类型 描述 输入参数 operation int -1:关闭统计开关。 0:打开统计开关(默认状态为打开)。 1:查询统计信息。 2:重置统计信息。 关闭统计开关后重新打开时会清理之前的统计信息。 输出参数 stat_switch bool 统计开关是否打开。 输出参数 write_times uint64 shared_storage_xlog_copy线程调用dorado_write_xlog接口的次数。 输出参数 avg_write_bytes uint32 每次调用dorado_write_xlog接口请求写的xLog量(单位:B)。 输出参数 avg_actual_write_bytes uint32 实际每次调用dorado_write_xlog接口写的xLog量(单位:B)。 输出参数 total_write_time uint64 调用dorado_write_xlog操作总时间统计(单位:us)。 输出参数 avg_write_time uint32 每次调用dorado_write_xlog接口平均时间(单位:us)。 输出参数 avg_write_speed uint32 平均调用dorado_write_xlog接口请求写xLog的速度(单位:KB/s)。 输出参数 avg_actual_write_speed uint32 实际平均调用dorado_write_xlog接口请求写xLog的速度(单位:KB/s)。 输出参数 total_write_sleep_time uint64 shared_storage_xlog_copy线程总睡眠时间。 输出参数 read_times uint64 walreceiver线程调用dorado_read_xlog接口的次数。 输出参数 avg_read_bytes uint32 每次调用dorado_read_xlog接口请求写的xLog量(单位:B)。 输出参数 avg_actual_read_bytes uint32 实际每次调用dorado_read_xlog接口写的xLog量(单位:B)。 输出参数 total_read_time uint64 调用dorado_read_xlog操作总时间统计(单位:us)。 输出参数 avg_read_time uint32 每次调用dorado_read_xlog接口平均时间(单位:us)。 输出参数 avg_read_speed uint32 平均调用dorado_read_xlog接口请求写xLog的速度(单位:KB/s)。 输出参数 avg_actual_read_speed uint32 实际平均调用dorado_read_xlog接口请求写xLog的速度(单位:KB/s)。 输出参数 total_read_sleep_time uint64 walreceiver线程总睡眠时间。 输出参数 stat_start_time timestamptz 本次统计数据开始时间,若无重置统计信息操作则为GaussDB程序开始运行时间,若有重置统计信息操作则为上次重置时间。 输出参数 stat_end_time timestamptz 本次统计数据结束时间,若统计开关开启则为当前时间,若统计开关关闭则为上次关闭时间。 示例: gaussdb=# SELECT * FROM gs_shared_storage_flush_stat(1); stat_switch | write_times | avg_write_bytes | avg_actual_write_bytes | total_write_time | avg_write_time | avg_write_speed | avg_actual_write_speed | total_write_sleep_time | read_times | avg _read_bytes | avg_actual_read_bytes | total_read_time | avg_read_time | avg_read_speed | avg_actual_read_speed | total_read_sleep_time | stat_start_time | stat_end_time -------------+-------------+-----------------+------------------------+------------------+----------------+-----------------+------------------------+------------------------+------------+---- ------------+-----------------------+-----------------+---------------+----------------+-----------------------+-----------------------+-------------------------------+------------------------ ------- t | 43644 | 8624 | 8624 | 263922553 | 6047 | 1392 | 1392 | 26918503404 | 7451 | 140 13 | 14013 | 5321082 | 714 | 19163 | 19163 | 0 | 2023-12-18 07:18:39.766855+08 | 2023-12-18 16:29:22.757 535+08 (1 row)
  • gs_xlogdump_bylastlsn(last_lsn text, blocknum bigint, relation_type text) 描述:传入一个页面LSN以及块号,解析LSN对应的WAL日志,并获取对应块号的last LSN继续解析,直到last LSN为0或者更老版本的WAL日志已被复用回收,并将解析后的日志落盘到指定路径,必须是系统管理员或运维管理员才能执行此函数。本系统函数不支持备机调用。 返回值类型:text 参数类型 参数名 类型 描述 输入参数 last_lsn text 解析指定页面的LSN,基于十六进制表示,如12BA/32CDEDDD,LSN可通过页面解析工具(gs_parse_page_bypath等)获取。 输入参数 blocknum bigint 指定页面的逻辑块号。 参数范围:-1~MaxBlockNumber。 块号指定为-1时表示从WAL日志中获取默认块号。 输入参数 relation_type text 指定解析页面的类型。 参数范围:uheap、ubtree、heap、btree、undo_record、undo_slot。 输出参数 output_filepath text WAL日志解析结果的落盘路径。 示例: # 获取页面LSN信息 # 函数调用前请依据参数说明中的内容确保文件路径真实存在 gaussdb=# SELECT * FROM gs_parse_page_bypath('base/15833/16768', 0, 'uheap', false); output_filepath --------------------------------------------------------------- data1/database/cluster/primary/data/1663_15833_16768_0.page (1 row) gaussdb=# SELECT * FROM gs_xlogdump_bylastlsn('0/4593570', -1, 'uheap'); output_filepath ------------------------------------------------------------------- /data1/database/cluster/primary/data/gs_log/dump/4593570_-1.xlog (1 row) gaussdb=# SELECT * FROM gs_xlogdump_bylastlsn('0/4593570', 0, 'ubtree'); ERROR: The input lsn 0/4593570 related xlog is not ubtree.
  • dbe_perf.get_full_sql_by_parent_id_and_timestamp(parent_id bigint, start_timestamp timestamp with time zone, end_timestamp timestamp with time zone) 描述:根据parent_id获取某个时间段内,执行某个存储过程的数据库级的全量SQL及其子语句的记录。只可在系统库中查询到结果,用户库中无法查询。 返回值类型:record 参数 类型 描述 parent_id bigint 指定需要检索的存储过程的调用语句的unique_sql_id。 start_timestamp timestamp with time zone SQL启动时间范围的开始时间点。 end_timestamp timestamp with time zone SQL启动时间范围的结束时间点。 示例: gaussdb=# CREATE TABLE test(a int,b int); NOTICE: The 'DISTRIBUTE BY' clause is not specified. Using 'a' as the distribution column by default. HINT: Please use 'DISTRIBUTE BY' clause to specify suitable data distribution column. CREATE TABLE gaussdb=# INSERT INTO test values(1,1); INSERT 0 1 gaussdb=# CREATE PROCEDURE mypro1() as num int; gaussdb$# begin gaussdb$# INSERT INTO test values(2,2); gaussdb$# DELETE FROM test where a = 2; gaussdb$# end; gaussdb$# / CREATE PROCEDURE --打开参数,跟踪存储过程子语句。 gaussdb=# SET instr_unique_sql_track_type = 'all'; SET --打开参数,dbe_perf.statement_history表生成全量语句记录。 gaussdb=# SET track_stmt_stat_level = 'L0,L0'; SET gaussdb=# CALL mypro1(); mypro1 -------- (1 row) gaussdb=# SET track_stmt_stat_level = 'off,L0'; SET gaussdb=# SET instr_unique_sql_track_type = 'top'; SET --查询关键信息,作为函数参数使用。 gaussdb=# SELECT query,unique_query_id,start_time,finish_time FROM dbe_perf.statement_history; query | unique_query_id | start_time | finish_time --------------------------------------+-----------------+-------------------------------+------------------------------- set track_stmt_stat_level = 'L0,L0'; | 636388010 | 2023-06-02 17:40:49.176155+08 | 2023-06-02 17:40:49.176543+08 call mypro1(); | 536458473 | 2023-06-02 17:40:59.028144+08 | 2023-06-02 17:40:59.032027+08 delete from test where a = ? | 583323884 | 2023-06-02 17:40:59.029955+08 | 2023-06-02 17:40:59.031577+08 insert into test values(?,?) | 769279931 | 2023-06-02 17:40:59.029219+08 | 2023-06-02 17:40:59.029947+08 (4 rows) --通过外层语句的unique_query_id、外层语句的开始和结束时间作为参数,查询该时间段内,指定存储过程及其子语句的信息。 gaussdb=# SELECT query FROM dbe_perf.get_full_sql_by_parent_id_and_timestamp(536458473,'2023-06-02 17:40:59.028144+08','2023-06-02 17:40:59.032027+08'); query ------------------------------ call mypro1(); delete from test where a = ? insert into test values(?,?) (3 rows) gaussdb=# DROP PROCEDURE mypro1(); DROP PROCEDURE gaussdb=# DROP TABLE test; DROP TABLE
  • gs_index_dump_read(int8 reset, text out_type) 描述:用于查询索引获取新页面时在循环队列中产生的buffer read信息和索引页面相同key从左到右遍历叶子页面的buffer read信息。 返回值类型:record 参数类型 参数名 类型 描述 输入参数 reset int8 0:将统计信息reset为初始值0,重新开始统计。 1:直接show出当前的统计信息。 输入参数 out_type text urq:输出循环队列的统计信息。 ubtree:输出索引页的统计信息。 all:循环队列和索引页的统计信息全部输出。 输出参数 relfilenode oid 统计到的最大buffer read值对应的索引relfilenode。 输出参数 max_count int8 最大buffer read值。 输出参数 ave_count int8 平均buffer read值。 该接口当前仅支持USTORE索引表。 该接口执行时,先reset清理、将记录全部置为0。再进行查询,直到下次统计到信息值之前,查询记录会一直为0。查询示例如下: gaussdb=# SELECT * FROM gs_index_dump_read(0, 'all'); relfilenode | max_count | ave_count --------------+-------------+------------- | | (1 row) gaussdb=# SELECT * FROM gs_index_dump_read(1, 'all'); relfilenode | max_count | ave_count --------------+-------------+------------- 0 | 0 | 0 0 | 0 | 0 (2 rows)
  • gs_redo_upage(directory_path text, backup_path text, blocknum bigint, relation_type text, xlog_path text, lsn text) 描述:用于将备份的特定UStore数据页面重放到指定LSN,并在重放期间校验页面,若检测到页面受损则直接落盘该坏块,返回落盘路径、页面LSN以及受损信息,否则重放至指定LSN并落盘页面后返回,必须是系统管理员或运维管理员才能执行此函数。 返回值类型:record 参数类型 参数 类型 描述 输入参数 directory_path text 备份文件所在目录。 输入参数 backup_path text 备份表文件的相对路径,与备份文件所在目录拼成表文件的完整路径,例如,base/15635/12488,当备份不存在时,传入null。 输入参数 blocknum bigint 0~MaxBlockNumber:对应页面的块号。 输入参数 relation_type text uheap(Ustore数据页)。 ubtree(Ustore索引页)。 indexurq(Urq页面)。 undo_record(Undo record页面)。 undo_slot(Transaction slot页面)。 输入参数 xlog_path text 归档日志目录的绝对路径。 输入参数 lsn text lsn由两个16进制数(各32 bits)组成,中间通过"/"隔开,例如:2/962D1DF8。如果是0则重放到最新版本。 输出参数 output_filename text 文件的落盘路径与文件名。 输出参数 output_lsn text 最后一次页面重放的LSN。 输出参数 corruption_desc text 页面受损情况描述。
  • gs_stat_vlog_related_io() 描述:返回verifylog文件读写的io相关统计信息。 参数:nan 返回值类型:record 参数类型 参数名 类型 描述 输出参数 read_data_iops float8 每秒读文件的页面数。 输出参数 vlog_read_iops float8 每秒读vlog的页面数。 输出参数 vlog_write_iops float8 每秒写vlog的页面数。
  • gs_stat_vlog_buffer() 描述:返回verifyLog buffer的相关统计信息。 参数:nan 返回值类型:record 参数类型 参数名 类型 描述 输出参数 vbuffer_write_offset int8 vlog写入位置。 输出参数 vbuffer_flushed_offset int8 vlog刷盘位置。 输出参数 max_vbuffer_flushed_value int8 vlog下刷最大字节数。 输出参数 min_vbuffer_flushed_vlaue int8 vlog下刷最小字节数。 输出参数 ave_vbuffer_flushed_vlaue int8 vlog下刷平均字节数。 输出参数 vbuffer_flush_latency int8 vlog下刷时延统计。
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全