华为云用户手册

  • Information Schema 信息模式本身是一个名为information_schema的模式。这个模式自动存在于所有数据库中。信息模式由一组视图构成,它们包含定义在当前数据库中对象的信息。这个模式的拥有者是初始数据库用户,但是所有用户仅有使用权限,没有创建表、函数等对象的权限。 信息模式兼容PG,包括:constraint_table_usage、domain_constraints、domain_udt_usage、domains、enabled_roles、key_column_usage、parameters、referential_constraints、applicable_roles、administrable_role_authorizations、attributes、character_sets、check_constraint_routine_usage、check_constraints、collations、collation_character_set_applicability、column_domain_usage、column_privileges、column_udt_usage、columns、constraint_column_usage、role_column_grants、routine_privileges、role_routine_grants、routines、schemata、sequences、table_constraints、table_privileges、role_table_grants、tables、triggered_update_columns、udt_privileges、role_udt_grants、usage_privileges、role_usage_grants、user_defined_types、view_column_usage、view_routine_usage、view_table_usage、views、data_type_privileges、element_types、column_options、foreign_data_wrapper_options、foreign_data_wrappers、foreign_server_options、foreign_servers、foreign_table_options、foreign_tables、user_mapping_options、user_mappings、sql_features、sql_implementation_info、sql_languages、sql_packages、sql_parts、sql_sizing、sql_sizing_profiles。 下面章节只显示未在上述描述内的视图信息。 _PG_FOREIGN_DATA_WRAPPERS _PG_FOREIGN_SERVERS _PG_FOREIGN_TABLE_COLUMNS _PG_FOREIGN_TABLES _PG_USER_MAPPINGS INFORMATION_SCHEMA_CATA LOG _NAME INFORMATION_SCHEMA.TRIGGERS 父主题: Schema
  • STATIO_ALL_TABLES STATIO_ALL_TABLES视图显示数据库当前节点每张表(包括TOAST表)的I/O状态信息,如表1所示。 表1 STATIO_ALL_TABLES字段 名称 类型 描述 relid oid 表OID。 schemaname name 该表模式名。 relname name 表名。 heap_blks_read bigint 从该表中读取的磁盘块数。 heap_blks_hit bigint 该表缓存命中数。 idx_blks_read bigint 从表中所有索引读取的磁盘块数。 idx_blks_hit bigint 表中所有索引命中缓存数。 toast_blks_read bigint 该表的TOAST表读取的磁盘块数(如果存在)。 toast_blks_hit bigint 该表的TOAST表命中缓冲区数(如果存在)。 tidx_blks_read bigint 该表的TOAST表索引读取的磁盘块数(如果存在)。 tidx_blks_hit bigint 该表的TOAST表索引命中缓冲区数(如果存在)。 last_updated timestampwith time zone 视图中该对象监控数据最后一次更新的时间。 父主题: Cache/IO
  • 功能描述 创建一个视图。视图与表不同,是一个虚拟的表。数据库中仅存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中。若基本表中的数据发生变化,从视图中查询出的数据也随之改变。从这个意义上讲,视图就像一个窗口,透过它可以看到数据库中用户感兴趣的数据及变化。 将经常使用的数据定义为视图,可以将复杂的查询SQL语句进行封装。简化操作。 安全性,用户只能查询视图定义的数据。隐藏基表字段,保护数据库的数据结构。 简化用户权限的管理,只授予用户使用视图的权限。
  • 参数说明 OR REPLACE 可选。如果视图已存在,则重新定义。 TEMP | TEMPORARY 可选。创建一个临时视图。在当前会话结束时会自动删除掉视图。如果视图引用的任何表是临时表,视图将被创建为临时视图(不管SQL中有没有指定TEMP|TEMPORARY)。 view_name 要创建的视图名称。可以用模式修饰。 取值范围:字符串,符合标识符命名规范。 column_name 可选的名称列表,用作视图的字段名。如果没有给出,字段名取自查询中的字段名。 取值范围:字符串,符合标识符命名规范。 view_option_name [= view_option_value] 该子句为视图指定一个可选的参数。 目前view_option_name支持的参数仅有security_barrier和check_option。 security_barrier:当VIEW视图提供行级安全时,应使用该参数。取值范围:Boolean类型(true、false)。 check_option:控制更新视图的行为。取值范围:CASCADED、LOCAL。 query 为视图提供行和列的SELECT或VALUES语句。 若query包含指定分区表分区的子句,创建视图会将所指定分区的OID硬编码到系统表中。如果使用导致指定分区的OID发生变更的分区DDL语法,如DROP/SPLIT/MERGE该分区,则会导致视图不可用。需要重新创建视图。
  • 语法格式 CREATE [ OR REPLACE ] [ TEMP | TEMPORARY ] VIEW view_name [ ( column_name [, ...] ) ] [ WITH ( {view_option_name [= view_option_value]} [, ... ] ) ] AS query [ WITH [ CASCADED | LOCAL ] CHECK OPTION | WITH READ ONLY ]; 创建视图时使用WITH(security_barrier)可以创建一个相对安全的视图,避免攻击者利用低成本函数的RAISE语句打印出隐藏的基表数据。 当视图创建后,不允许使用REPLACE修改本视图当中的列名,也不允许删除列。
  • 语法格式 1 wlmrule("time_limit,max_execute_time,max_iops") 本参数仅在enable_thread_pool=on时对非SYSADMIN/MONADMIN用户执行的SELECT类型的语句生效。 time_limit:SQL语句被标记为慢SQL的执行时长,取值为0-INT_MAX。 max_execute_time:SQL语句的最大执行时间,执行时间超过该时长后被强制cancel退出,取值为0-INT_MAX。当max_execute_time小于或等于time_limit时,该规则不生效。 max_iops:SQL语句被标记为慢SQL后最大iops上限,仅在use_workload_manager=on时生效。iops限制采用逻辑IO管控,iops定义请参考io_control_unit定义。取值范围为:Low、Medium、High、None、0-INT_MAX。
  • 废弃函数 GaussDB 中下列函数在最新版本中已废弃: gs_wlm_get_session_info gs_wlm_get_user_session_info pgxc_get_csn pgxc_get_stat_dirty_tables pgxc_get_thread_wait_status pgxc_gtm_snapshot_status pgxc_is_committed pgxc_lock_for_backup pgxc_lock_for_sp_database pgxc_lock_for_transfer pgxc_log_comm_status pgxc_max_datanode_size pgxc_node_str pgxc_pool_check pgxc_pool_connection_status pgxc_pool_reload pgxc_prepared_xact pgxc_snapshot_status pgxc_stat_dirty_tables pgxc_unlock_for_sp_database pgxc_unlock_for_transfer pgxc_version array_extend prepare_statement_status remote_rto_stat dbe_perf.global_slow_query_info dbe_perf.global_slow_query_info_bytime dbe_perf.global_slow_query_history pg_stat_get_pooler_status pg_stat_get_wlm_node_resource_info pg_stat_get_wlm_session_info_internal DBE_PERF.get_wlm_controlgroup_ng_config() DBE_PERF.get_wlm_user_resource_runtime() global_space_shrink pg_pool_validate gs_stat_ustore table_skewness(text) table_skewness(text, text, text) local_segment_space_info pg_stat_segment_extent_usage 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_session_info() gs_wlm_get_all_user_resource_info() gs_wlm_get_user_session_info() gs_wlm_get_workload_records() gs_wlm_persistent_user_resource_info() gs_wlm_session_respool(bigint) gs_total_nodegroup_memory_detail gs_wlm_user_resource_info(name text) create_wlm_instance_statistics_info pg_stat_get_session_wlmstat pg_stat_get_wlm_ec_operator_info pg_stat_get_wlm_instance_info pg_stat_get_wlm_instance_info_with_cleanup pg_stat_get_wlm_statistics pg_stat_get_wlm_operator_info pg_stat_get_wlm_realtime_ec_operator_info pg_stat_get_wlm_realtime_operator_info pg_stat_get_wlm_realtime_session_info get_node_modulo check_murmurhash_route_node gs_redis_set_bucketxid(bigint) 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_async_rollback_xact_status() 描述:异步回滚任务哈希表监控。多租场景下,在PDB内部仅返回本PDB的数据,在Non-PDB可查看全局数据。 返回值类型:record 表16 gs_async_rollback_xact_status参数说明 参数类型 参数名 类型 描述 输出参数 xid xid 需要进行异步回滚的事务Xid。 输出参数 start_undoptr xid 该事务起始Undo记录指针。 输出参数 end_undoptr xid 该事务结束Undo记录指针。 输出参数 dbid uint32 该事务所在数据库ID。 输出参数 slot_ptr xid 该事务对应事务槽的指针。 输出参数 launched bool 是否有对应的活跃的异步回滚线程。
  • gs_undo_recycler_status() 描述:异步回收线程状态监控。 返回值类型:record 表17 gs_undo_recycler_status参数说明 参数类型 参数名 类型 描述 输出参数 datid oid 数据库ID。 输出参数 pid int8 线程ID。 输出参数 sessionid int8 会话ID。 输出参数 usesysid oid 发起该线程的用户ID。 输出参数 state int 线程当前状态: 0:未定义。 1:空闲。 2:运行中。 输出参数 backend_start timestamptz 线程启动时间戳。 输出参数 total_recycle_time xid 总回收时间。 输出参数 max_recycle_time xid 最大回收时间。 输出参数 total_recycle_size xid 总回收空间。 输出参数 total_recycle_count xid 总回收次数。 输出参数 recycle_sleep_count xid 睡眠次数。 输出参数 recycle_sleep_time xid 睡眠总时间。 输出参数 max_recycle_sleep_time xid 最长睡眠时间。 输出参数 last_recycle_timestamp timestamptz 上次成功回收时间戳。 输出参数 last_update_global_recycle_xid_timestamp timestamptz globalRecycleXid上次推进时间戳。
  • gs_undo_launcher_status() 描述:异步回滚发起线程状态监控。 返回值类型:record 表18 gs_undo_launcher_status参数说明 参数类型 参数名 类型 描述 输出参数 datid oid 数据库ID。 输出参数 pid int64 线程ID。 输出参数 sessionid int64 会话ID。 输出参数 usesysid oid 发起该线程的用户ID。 输出参数 state int32 线程当前状态: 0:未定义。 1:空闲。 2:运行中。 输出参数 backend_start timestamptz 线程启动时间戳。 输出参数 total_async_rollback_task_count uint64 本节点数据库启动后发起异步回滚任务总个数。 输出参数 average_async_rollback_time uint64 异步回滚任务平均耗时。 输出参数 max_async_rollback_time uint64 异步回滚任务最长耗时。 输出参数 min_async_rollback_time uint64 异步回滚任务最短耗时。
  • gs_async_rollback_worker_status() 描述:活跃异步回滚线程状态监控。多租场景下,在PDB内部返回为空。 返回值类型:record 表15 gs_async_rollback_worker_status参数说明 参数类型 参数名 类型 描述 输出参数 datid oid 数据库ID。 输出参数 pid int8 线程ID。 输出参数 sessionid int8 会话ID。 输出参数 usesysid oid 发起该线程的用户ID。 输出参数 state int 线程当前状态: 0:未定义。 1:空闲。 2:运行中。 输出参数 rollback_start_time timestamptz 线程启动时间戳。 输出参数 idx oid 异步回滚线程在数组中的下标。 输出参数 xid xid 正在回滚的事务Xid。 输出参数 progress text 该事务的回滚进度(当前已回滚的 Undo 记录条数/总 Undo 记录条数,以百分比形式显示)。
  • gs_verify_undo_slot(type, start_idx,end_idx, location) 描述:校验Undo事务槽,目前只支持磁盘校验模式。仅支持在业务非运行时执行离线校验,校验之前需要手动执行一次checkpoint落盘操作。 返回值类型:record 当回滚段使用页式文件存储方式时,使用以下格式。 表13 gs_verify_undo_slot页式参数说明 参数类型 参数名 类型 描述 输入参数 type text 校验类型: 'zone':校验给定Zone区间的所有Zone的所有事务槽。 输入参数 start_idx int8 起始UndoZone编号。 输入参数 end_idx int8 结束UndoZone编号。 输入参数 location bool 0:内存校验。 1:磁盘校验。 目前该参数只支持输入为 1。 输出参数 zone_id int8 UndoZone编号。 输出参数 detail text 校验出错信息。 示例,从磁盘中校验zone0到zone2的所有事务槽记录: gaussdb=# select * from gs_verify_undo_slot('zone', 0, 2, 1); zone_id | detail --------+-------- (0 rows) 调用此视图如有报错,请联系华为技术工程师提供技术支持。
  • gs_verify_undo_meta(type, start_idx,end_idx, location) 描述:校验Undo元信息,目前只支持磁盘校验模式。仅支持在业务非运行时执行离线校验,校验之前需要手动执行一次checkpoint落盘操作。 返回值类型:record 该系统函数仅支持回滚段使用页式存储方式。 表14 gs_verify_undo_meta参数说明 参数类型 参数名 类型 描述 输入参数 type text 校验类型,type只能设置为'all'。 'all':校验给定Zone区间的所有Zone的所有Meta信息。 输入参数 start_idx int64 起始UndoZone编号。 输入参数 end_idx int64 结束UndoZone。 输入参数 location bool 0:内存校验。 1:磁盘校验。 目前该参数只支持输入为 1。 输出参数 zone_id int64 UndoZone编号。 输出参数 detail text 校验出错信息。 示例,从磁盘中校验zone0到zone2的所有meta信息记录: gaussdb=# SELECT * FROM gs_verify_undo_meta('all', 0, 2, 1); zone_id | detail --------+-------- (0 rows) 调用此视图如有报错,请联系华为技术工程师提供技术支持。
  • gs_verify_undo_record(type, start_idx,end_idx, location) 描述:校验Undo记录,目前只支持磁盘校验模式。仅支持在业务非运行时执行离线校验,校验之前需要手动执行一次checkpoint落盘操作。 返回值类型:record 当回滚段使用页式文件存储方式时,使用以下格式。 表12 gs_verify_undo_record页式参数说明 参数类型 参数名 类型 描述 输入参数 type text 校验类型: 'urp':校验给定urp区间的所有Undo记录。 'zone':校验给定Zone区间的所有Zone的所有Undo记录。 输入参数 start_idx int8 开始位置: 'urp'时,表示起始Undo记录位置。 type为'zone'时,表示起始UndoZone编号。 输入参数 end_idx int8 结束位置: 'urp'时,表示Undo记录结束位置。 'zone'时,表示结束UndoZone编号。 输入参数 location bool 0:内存校验。 1:磁盘校验。 目前该参数只支持输入为 1。 输出参数 zone_id int8 UndoZone编号。 输出参数 detail text 校验出错信息。 示例1,校验urp为24的这条Undo记录: gaussdb=# SELECT * FROM gs_verify_undo_record('urp', 24, 24, 1); zone_id | detail --------+-------- (0 rows) 示例2,从磁盘中校验zone0到zone2的所有Undo记录: gaussdb=# SELECT * FROM gs_verify_undo_record('zone', 0, 2, 1); zone_id | detail --------+-------- (0 rows) 调用此视图如有报错,请联系华为技术工程师提供技术支持。
  • gs_undo_dump_xid(undo_xid xid) 描述:根据xid解析Undo记录。 返回值类型:record 当回滚段使用页式文件存储方式时,使用以下格式。 表11 gs_undo_dump_xid页式参数说明 参数类型 参数名 类型 描述 输入参数 undo_xid xid 事务Xid。 输出参数 undoptr xid 需要解析的Undo记录在本UndoZone内的起始位置。 输出参数 xactid xid 事务ID。 输出参数 cid text Command Id。 输出参数 reloid text Relation oid。 输出参数 relfilenode text 文件的Relfinode。 输出参数 utype text Undo记录类型。 输出参数 blkprev text 同一个块前一条Undo记录的位置。 输出参数 blockno text 块号。 输出参数 uoffset text Undo记录偏移。 输出参数 prevurp text 前一条Undo记录位置。 输出参数 payloadlen text Undo记录数据部分长度。 输出参数 oldxactid text 前一个事务ID。 输出参数 partitionoid text 分区oid。 输出参数 tablespace text 表空间。 输出参数 alreadyread_bytes text 读取到的Undo记录长度。 输出参数 prev_undorec_len text 前一条Undo记录长度。 输出参数 td_id text Transaction Directory的ID。 输出参数 reserved text Undo 记录中存储的旧版本元组预留标识位。 输出参数 flag text Undo 记录中存储的旧版本元组状态标识。 输出参数 flag2 text Undo 记录中存储的旧版本元组列数。 输出参数 t_hoff text Undo记录数据头的长度。 示例: gaussdb=# SELECT * FROM gs_undo_dump_xid('15779'); undoptr | xactid | cid | reloid | relfilenode | utype | blkprev | blockno | uoffset | prevurp | payloadlen | oldxactid | partitionoid | tablespace | alreadyread_bytes | pr ev_undorec_len | td_id | reserved | flag | flag2 | t_hoff ---------+--------+-----+--------+-------------+-------+---------+---------+---------+---------+------------+-----------+--------------+------------+-------------------+--- ---------------+-------+----------+------+-------+-------- 108 | 15779 | 0 | 16767 | 16767 | 64 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 1663 | 40 | 42 | -1 | -1 | -1 | -1 | -1 (1 row)
  • gs_undo_translot_dump_xid(slot_xid xid, read_memory boolean) 描述:根据xid解析UndoZone中对应的Transaction Slot。 返回值类型:record 当回滚段使用页式文件存储方式时,使用以下格式。 表9 gs_undo_translot_dump_xid页式参数说明 参数类型 参数名 类型 描述 输入参数 slot_xid xid 需要查询的事务ID。 输入参数 read_memory boolean true:从当前内存中读取。 false:从物理文件中读取。 输出参数 zone_id oid UndoZ-one编号。 输出参数 slot_xid text 事务ID。 输出参数 start_undoptr text 本 Transaction Slot 起始 Undo Record在本UndoZone内的位置。 输出参数 end_undoptr text 本 Transaction Slot 结束 Undo Record在本UndoZone内的位置。 输出参数 slot_ptr text Transaction Slot对应的位置。 输出参数 slot_states oid 事务状态: 0 已提交。 1 执行中。 2 回滚中。 3 回滚完成。 示例: gaussdb=# SELECT * FROM gs_undo_translot_dump_xid('15758',false); zone_id | slot_xid | start_undoptr | end_undoptr | slot_ptr | slot_states ---------+------------------+------------------+------------------+------------------+------------- 1 | 0000000000015758 | 0000000000000042 | 000000000000006C | 0000000000000038 | 0 (1 row)
  • gs_undo_dump_record(undoptr bigint) 描述:解析给定 URP 的 Undo Record 信息。 返回值类型:record 当回滚段使用页式文件存储方式时,使用以下格式。 表10 gs_undo_dump_record页式参数说明 参数类型 参数名 类型 描述 输入参数 undoptr xid 需要解析的Undo记录起始位置,十进制格式。 输出参数 undoptr xid 需要解析的Undo记录在本UndoZone内的起始位置。 输出参数 xactid xid 事务ID。 输出参数 cid text Command Id。 输出参数 reloid text Relation oid。 输出参数 relfilenode text 文件的Relfinode。 输出参数 utype text Undo记录类型。 输出参数 blkprev text 同一个块前一条Undo记录的位置。 输出参数 blockno text 块号。 输出参数 uoffset text Undo记录偏移。 输出参数 prevurp text 前一条Undo记录位置。 输出参数 payloadlen text Undo记录数据部分长度。 输出参数 oldxactid text 前一个事务ID。 输出参数 partitionoid text 分区oid。 输出参数 tablespace text 表空间。 输出参数 alreadyread_bytes text 读取到的Undo记录长度。 输出参数 prev_undorec_len text 前一条Undo记录长度。 输出参数 td_id text Transaction Directory的ID。 输出参数 reserved text Undo 记录中存储的旧版本元组预留标识位。 输出参数 flag text Undo 记录中存储的旧版本元组状态标识。 输出参数 flag2 text Undo 记录中存储的旧版本元组列数。 输出参数 t_hoff text Undo记录数据头的长度。 示例(在Undo记录没有被回收的前提下,入参undoptr可以通过gs_undo_translot_dump_slot函数的出参end_undoptr转换为10进制后进行查询): gaussdb=# SELECT * FROM gs_undo_dump_record('0000000000000042'); undoptr | xactid | cid | reloid | relfilenode | utype | blkprev | blockno | uoffset | prevurp | payloadlen | oldxactid | partitionoid | tablespace | alreadyread_byt es | prev_undorec_len | td_id | reserved | flag | flag2 | t_hoff ---------+------------+-----+--------+-------------+-------+------------+---------+---------+---------+------------+-----------+--------------+------------+---------------- ---+------------------+-------+----------+------+-------+-------- 42 | 1073807360 | 0 | 0 | 108986369 | 0 | 1024786474 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 36 | 16390 | -1 | -1 | -1 | -1 | -1 (1 row)
  • gs_undo_translot_dump_slot(zone_id int, read_memory boolean) 描述:解析UndoZone中的Transaction Slot。 返回值类型:record 当回滚段使用页式文件存储方式时,使用以下格式。 表8 gs_undo_translot_dump_slot页式参数说明 参数类型 参数名 类型 描述 输入参数 zone_id int UndoZone编号: -1:查询所有UndoZone。 0-1,048,575:查询对应zone_id编号的UndoZone元信息。 输入参数 read_memory boolean true:从当前内存中读取。 false:从物理文件中读取。 输出参数 zone_id oid UndoZone编号。 输出参数 slot_xid text 事务ID。 输出参数 start_undoptr text 本 Transaction Slot 起始 Undo Record在本UndoZone内的位置。 输出参数 end_undoptr text 本 Transaction Slot 结束 Undo Record在本UndoZone内的位置。 输出参数 slot_ptr text Transaction Slot对应的位置。 输出参数 slot_states oid 事务状态: 0:已提交。 1:执行中。 2:回滚中。 3:回滚完成。 示例: gaussdb=# SELECT * FROM gs_undo_translot_dump_slot(-1,true); zone_id | slot_xid | start_undoptr | end_undoptr | slot_ptr | slot_states ---------+------------------+------------------+------------------+------------------+------------- 1 | 0000000000015758 | 0000000000000042 | 000000000000006C | 0000000000000038 | 0 (1 row)
  • gs_undo_meta_dump_spaces(zone_id int, read_memory boolean) 描述:解析Undo模块中Undo记录空间、Transaction Slot空间的元信息。 返回值类型:record 该系统函数仅支持回滚段使用页式存储方式。 表6 gs_undo_meta_dump_spaces参数说明 参数类型 参数名 类型 描述 输入参数 zone_id int UndoZone编号: -1:查询所有UndoZone。 0-1,048,575:查询对应zone_id编号的UndoZone元信息。 输入参数 read_memory boolean true:从当前内存中读取。 false:从物理文件中读取。 输出参数 zone_id int UndoZone编号。 输出参数 undorecord_space_tail text Undo Record空间的结尾位置。 输出参数 undorecord_space_head text Undo Record空间的起始位置。 输出参数 undorecord_space_lsn text 修改UndoRecord空间LSN。 输出参数 undoslot_space_tail text Transaction Slot空间的结尾位置。 输出参数 undoslot_space_head text Transaction Slot空间的起始位置。 输出参数 undoreslot_space_lsn text 修改Transaction Slot空间LSN。
  • gs_undo_meta_dump_slot(zone_id int, read_memory boolean) 描述:解析Undo模块中Transaction Slot元信息。 返回值类型:record 该系统函数仅支持回滚段使用页式存储方式。 表7 gs_undo_meta_dump_slot参数说明 参数类型 参数名 类型 描述 输入参数 zone_id int UndoZone编号: -1:查询所有UndoZone。 0-1,048,575:查询对应zone_id编号的UndoZone元信息。 输入参数 read_memory boolean true:从当前内存中读取。 false:从物理文件中读取。 输出参数 zone_id int UndoZone编号。 输出参数 allocate text Transaction Slot分配位置。 输出参数 recycle text Transaction Slot回收位置。 输出参数 frozen_xid text Frozen Xid,用于可见性判断。 输出参数 global_frozen_xid text 全局最小的Frozen Xid,小于该Xid的事务可见。 输出参数 recycle_xid text 回收到的Xid,小于该Xid的事务被回收。 输出参数 global_recycle_xid text 全局最小的Recycle Xid,小于该Xid的事务被回收。
  • gs_undo_dump_parsepage_mv(relpath text, blkno bigint, reltype text, rmem boolean) 描述:解析USTORE数据表磁盘页面的页头信息,每个元组的头部信息,标识位信息以及所有可以查询到undo历史版本信息。多租场景下,该函数在PDB内部禁用。 返回值类型:text 备注:必须是系统管理员或者运维管理人员才能执行此函数。 该接口当前仅支持USTORE数据表。 表4 gs_undo_dump_parsepage_mv参数说明 参数类型 参数名 类型 描述 输入参数 relpath text USTORE表数据文件相对路径,相对路径格式为:tablespace name/database oid/relfilenode,例如base/16603/16384, 表对应数据文件的相对路径查找可以通过pg_relation_filepath('tablename')查询。 输入参数 blkno int8 -1 解析所有block页面。 0-MaxBlocNumber解析指定的block页面。 输入参数 reltype text 表类型,目前仅支持USTORE数据表,取值为uheap。 输入参数 rmem boolean false true 目前仅支持false,从磁盘文件上解析对应的页面。 输出参数 output text 解析结果文件的绝对路径。
  • gs_undo_meta_dump_zone(zone_id int, read_memory boolean) 描述:解析Undo模块中UndoZone的元信息。 返回值类型:record 当回滚段使用页式文件存储方式时,使用以下格式。 表5 gs_undo_meta_dump_zone页式参数说明 参数类型 参数名 类型 描述 输入参数 zone_id int UndoZone编号: -1:查询所有UndoZone。 0-1,048,575:查询对应zone_id编号的UndoZone元信息。 输入参数 read_memory boolean true:从当前内存中读取。 false:从物理文件中读取。 输出参数 zone_id oid UndoZone编号。 输出参数 persist_type oid 持久化级别: 0:普通表。 1:无日志表。 2:临时表。 输出参数 insert text 下一条插入的Undo记录位置。 输出参数 discard text 普通回收到的Undo记录位置。 输出参数 forcediscard text 强制回收掉Undo记录位置,小于它的Undo记录已经被回收。 输出参数 lsn text 修改UndoZone的LSN。 示例: gaussdb=# SELECT * FROM gs_undo_meta_dump_zone(-1,true); zone_id | persist_type | insert | discard | forcediscard | lsn ---------+--------------+--------+---------+--------------+---------- 0 | 0 | 244577 | 244577 | 244577 | 43967224 1 | 0 | 108 | 66 | 66 | 43967568 349525 | 1 | 24 | 24 | 24 | 0 349526 | 1 | 24 | 24 | 24 | 0 699050 | 2 | 24 | 24 | 24 | 0 699051 | 2 | 24 | 24 | 24 | 0 (6 rows)
  • DB_TABLES DB_TABLES视图显示当前用户可访问的所有表的信息。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 DB_TABLES字段 名称 类型 描述 owner character varying(64) 表的所有者。 table_name character varying(64) 表名。 tablespace_name character varying(64) 存储表的表空间名称。 dropped character varying 当前表是否已删除: YES:表示已删除。 NO:表示未删除。 num_rows numeric 表的估计行数。 status character varying(8) 当前表是否有效。 VALID:表示当前表有效。 UNUSABLE:表示当前表不可用。 sample_size numeric 分析表使用的样本数量。 temporary character(1) 表是否为临时表: Y:表示是临时表。 N:表示不是临时表。 pct_free numeric 块中空闲空间的最小比例。 ini_trans numeric 事务的初始数量。 max_trans numeric 事务数量的最大值。 avg_row_len integer 平均每行的字节数。 partitioned character varying(3) 表是否为分区表。 YES:是分区表。 NO:不是分区表。 last_analyzed timestamp with time zone 上次分析表的时间。数据库重启后,数据会丢失。 row_movement character varying(8) 是否允许分区行移动。 ENABLED:允许分区行移动。 DISABLED:不允许分区行移动。 compression character varying(8) 是否启用表压缩。 ENABLED:启用表压缩。 DISABLED:不启用表压缩。 duration character varying(15) 临时表的期限。 NULL:表示非临时表。 sys$session:表示会话临时表。 sys$transaction:表示事务临时表。 logical_replication character varying(8) 表是否启用逻辑复制。 ENABLED:启用逻辑复制。 DISABLED:不启用逻辑复制。 external character varying(3) 表是否为外表。 YES:是外表。 NO:不是外表。 logging character varying(3) 表的更改是否记录日志。 YES:表的更改记录日志。 NO:表的更改不记录日志。 default_collation character varying(100) 表的默认排序规则。 degree character varying(10) 扫描表的实例数量。 table_lock character varying(8) 是否启用表级锁。 ENABLED:启用表级锁。 DISABLED:不启用表级锁。 nested character varying(3) 是否为嵌套表。 YES:是嵌套表。 NO:不是嵌套表。 buffer_pool character varying(7) 表的默认缓冲池。 flash_cache character varying(7) 暂不支持,值为NULL。 cell_flash_cache character varying(7) 暂不支持,值为NULL。 skip_corrupt character varying(8) 扫描表是否跳过损坏的块。 ENABLED:跳过损坏的块。 DISABLED:不跳过损坏的块。 has_identity character varying(3) 表是否具有标识列。 YES:有标识列。 NO:没有标识列。 inmemory character varying(8) 是否启用内存列存储。 ENABLED:启用内存列存储。 DISABLED:不启用内存列存储。 segment_created character varying(3) 表段是否已被创建。 YES:表段已被创建。 NO:表段未被创建。 monitoring character varying(3) 是否跟踪表的修改。 YES:跟踪表的修改。 NO:不跟踪表的修改。 cluster_name character varying(128) 暂不支持,值为NULL。 iot_name character varying(128) 暂不支持,值为NULL。 pct_used numeric 暂不支持,值为NULL。 initial_extent numeric 暂不支持,值为NULL。 next_extent numeric 暂不支持,值为NULL。 min_extents numeric 暂不支持,值为NULL。 max_extents numeric 暂不支持,值为NULL。 pct_increase numeric 暂不支持,值为NULL。 freelists numeric 暂不支持,值为NULL。 freelist_groups numeric 暂不支持,值为NULL。 backed_up character varying(1) 暂不支持,值为NULL。 blocks numeric 暂不支持,值为NULL。 empty_blocks numeric 暂不支持,值为NULL。 avg_space numeric 暂不支持,值为NULL。 chain_cnt numeric 暂不支持,值为NULL。 avg_space_freelist_blocks numeric 暂不支持,值为NULL。 num_freelist_blocks numeric 暂不支持,值为NULL。 instances character varying(10) 暂不支持,值为NULL。 cache character varying(5) 暂不支持,值为NULL。 iot_type character varying(12) 暂不支持,值为NULL。 secondary character varying(1) 暂不支持,值为NULL。 global_stats character varying(3) 暂不支持,值为NULL。 user_stats character varying(3) 暂不支持,值为NULL。 cluster_owner character varying(30) 暂不支持,值为NULL。 dependencies character varying(8) 暂不支持,值为NULL。 compression_for character varying(30) 暂不支持,值为NULL。 read_only character varying(3) 暂不支持,值为NULL。 result_cache character varying(7) 暂不支持,值为NULL。 clustering character varying(3) 暂不支持,值为NULL。 activity_tracking character varying(23) 暂不支持,值为NULL。 dml_timestamp character varying(25) 暂不支持,值为NULL。 container_data character varying(3) 暂不支持,值为NULL。 inmemory_priority character varying(8) 暂不支持,值为NULL。 inmemory_distribute character varying(15) 暂不支持,值为NULL。 inmemory_compression character varying(17) 暂不支持,值为NULL。 inmemory_duplicate character varying(13) 暂不支持,值为NULL。 duplicated character varying(1) 暂不支持,值为NULL。 sharded character varying(1) 暂不支持,值为NULL。 hybrid character varying(3) 暂不支持,值为NULL。 cellmemory character varying(24) 暂不支持,值为NULL。 containers_default character varying(3) 暂不支持,值为NULL。 container_map character varying(3) 暂不支持,值为NULL。 extended_data_link character varying(3) 暂不支持,值为NULL。 extended_data_link_map character varying(3) 暂不支持,值为NULL。 inmemory_service character varying(12) 暂不支持,值为NULL。 inmemory_service_name character varying(1000) 暂不支持,值为NULL。 container_map_object character varying(3) 暂不支持,值为NULL。 memoptimize_read character varying(8) 暂不支持,值为NULL。 memoptimize_write character varying(8) 暂不支持,值为NULL。 has_sensitive_column character varying(3) 暂不支持,值为NULL。 admit_null character varying(3) 暂不支持,值为NULL。 data_link_dml_enabled character varying(3) 暂不支持,值为NULL。 object_id_type character varying(16) 暂不支持,值为NULL。 table_type_owner character varying(128) 暂不支持,值为NULL。 table_type character varying(128) 暂不支持,值为NULL。 compress_for character varying(30) 暂不支持,值为NULL。 父主题: 其他系统视图
  • gs_undo_translot(location, zoneId) 描述:Undo事务槽信息。 参数说明: location(读取位置) 0:表示从当前内存中读取。 1:表示从物理文件中读取。 zoneId(UndoZone编号) -1:表示所有UndoZone的元信息。 0-1024*1024-1:表示对应ZoneID的元信息。 返回值类型:record 该系统函数仅支持回滚段使用页式存储方式。 表2 gs_undo_translot参数说明 参数类型 参数名 类型 描述 输出参数 groupId oid 使用的UndoZone ID。 输出参数 xactId text 事务ID。 输出参数 startUndoPtr text Transaction Slot对应事务起始插入Undo记录位置。 输出参数 endUndoPtr text Transaction Slot对应事务结束插入Undo记录位置。 输出参数 lsn text 对应Transaction Slot指针。 输出参数 slot_states oid 事务状态。 0表示已经提交。 1表示正在执行中。 2表示回滚中。 3表示回滚完成。
  • gs_undo_meta(type, zoneId, location) 描述:Undo模块元信息。 参数说明: type(元信息类型) 0:表示UndoZone(Record)对应的元信息。 1:表示UndoZone(Transaction Slot)对应的元信息。 2:表示UndoSpace(Record)对应的元信息。 3:表示UndoSpace(Transaction Slot)对应的元信息。 zoneId(UndoZone编号) -1:表示所有UndoZone的元信息。 0-1024*1024-1:表示对应ZoneID的元信息。 location(读取位置) 0:表示从当前内存中读取。 1:表示从物理文件中读取。 返回值类型:record 该系统函数仅支持回滚段使用页式存储方式。 表1 gs_undo_meta参数说明 参数类型 参数名 类型 描述 输出参数 zoneId oid UndoZone的ID。 输出参数 persistType oid 持久化级别。 输出参数 insert text 下一条插入的Undo记录位置。 输出参数 discard text 普通回收到的Undo记录位置。 输出参数 end text 强制回收掉的Undo记录位置,小于它的Undo记录已经被回收。 输出参数 used text 已经使用的Undo空间。 输出参数 lsn text 修改UndoZone的LSN。 输出参数 pid oid UndoZone绑定的线程ID。
  • ChainedStreamBuilder的继承关系 ChainedStreamBuilder是逻辑复制的接口,实现类是ReplicationStreamBuilder,该类位于com.huawei.gaussdb.jdbc.replication.fluent Package中,该类的声明如下: public class ReplicationStreamBuilder implements ChainedStreamBuilder
  • MY_PART_TABLES MY_PART_TABLES视图显示当前用户下分区表的信息。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 MY_PART_TABLES字段 名称 类型 描述 table_owner character varying(64) 分区表的所有者名称。 table_name character varying(64) 分区表的名称。 partitioning_type text 分区表的分区策略。 说明: 当前分区表策略支持范围见CREATE TABLE PARTITION。 partition_count bigint 分区表的分区个数。 partitioning_key_count integer 分区表的分区键个数。 def_tablespace_name name 分区表的表空间名称。 schema character varying(64) 分区表的模式。 subpartitioning_type text 二级分区表的分区策略。如果分区表是一级分区表,则显示NONE。 说明: 当前二级分区表策略支持范围见CREATE TABLE SUBPARTITION。 def_subpartition_count integer 默认创建二级分区的个数,二级分区表为1,一级分区表为0。 subpartitioning_key_count integer 分区表二级分区键的个数。 status character varying(8) 暂不支持,值为valid。 def_pct_free numeric 添加分区时使用的PCTFREE默认值。 def_pct_used numeric 暂不支持,值为NULL。 def_ini_trans numeric 添加分区时使用的INITRANS默认值。 def_max_trans numeric 添加分区时使用的MAXTRANS默认值。 def_initial_extent character varying(40) 暂不支持,值为NULL。 def_next_extent character varying(40) 暂不支持,值为NULL。 def_min_extents character varying(40) 暂不支持,值为NULL。 def_max_extents character varying(40) 暂不支持,值为NULL。 def_max_size character varying(40) 暂不支持,值为NULL。 def_pct_increase character varying(40) 暂不支持,值为NULL。 def_freelists numeric 暂不支持,值为NULL。 def_freelist_groups numeric 暂不支持,值为NULL。 def_logging character varying(7) 暂不支持,值为NULL。 def_compression character varying(8) 添加分区时使用的默认压缩: NONE ENABLED DISABLED def_compress_for character varying(30) 添加分区时使用的默认压缩。 说明: 可用的压缩方法和压缩级别见•WITH ( { storage_parameter = value } [, ... ] )。 def_buffer_pool character varying(7) 暂不支持,值为DEFAULT。 def_flash_cache character varying(7) 暂不支持,值为NULL。 def_cell_flash_cache character varying(7) 暂不支持,值为NULL。 ref_ptn_constraint_name character varying(128) 暂不支持,值为NULL。 interval character varying(1000) 区间值字符串。 autolist text 一级列表分区是否开启自动扩展功能。 YES:表示开启自动扩展功能。 NO:表示不开启自动扩展功能。 interval_subpartition character varying(1000) 暂不支持,值为NULL。 autolist_subpartition text 二级列表分区是否开启自动扩展功能。 YES:表示开启自动扩展功能。 NO:表示不开启自动扩展功能。 is_nested character varying(3) 暂不支持,值为NO。 def_segment_creation character varying(4) 暂不支持段页式设置,当启用segment时,值为YES。 def_indexing character varying(3) 暂不支持,值为ON。 def_inmemory character varying(8) 暂不支持,值为NONE。 def_inmemory_priority character varying(8) 暂不支持,值为NULL。 def_inmemory_distribute character varying(15) 暂不支持,值为NULL。 def_inmemory_compression character varying(17) 暂不支持,值为NULL。 def_inmemory_duplicate character varying(13) 暂不支持,值为NULL。 def_read_only character varying(3) 暂不支持,值为NO。 def_cellmemory character varying(24) 暂不支持,值为NULL。 def_inmemory_service character varying(12) 暂不支持,值为NULL。 def_inmemory_service_name character varying(1000) 暂不支持,值为NULL。 父主题: 分区表
  • 原因分析 A模式数据库能够插入成功并通过校验:Hibernate框架在校验数据时,通过判断插入数据类型java.lang.Long的TypeCode,与表结构的number类型的TypeCode进行对比,结果不一致,随后会把插入数据的long类型的sqlType与表结构的Type作比较,将long类型转成number(19,0)(对应关系由org.hibernate.dialect.OracleDialect进行维护),因为表结构的type是number,number(19,0)以number开头,所以校验可以通过。使用A模式数据库时,业务代码涉及整数类型的数据,可以使用Java中的long类型插入。 GaussDB数据库 校验不同,关闭校验后数据插入成功:Hibernate框架在插入数据做校验时,业务代码是java.lang.Long类型,和表数据类型bigint的TypeCode是对应的,所以不报错。但是表数据类型是Integer时无法对应,首先判断业务代码java.lang.Long类型的TypeCode,与表数据Integer的TypeCode比较,结果不一致,之后根据org.hibernate.dialect.PostgreSQLDialect对应关系,会将long类型转换为int8,将表数据类型Integer转换为int4,无法对应,所以校验失败。使用GaussDB数据库时,业务代码涉及整数类型的数据,必须使用表类型对应的Java整型。
  • DB_PART_COL_STATIS TICS DB_PART_COL_STATISTI CS 视图显示当前用户可访问的表分区的列统计信息和直方图信息。所有用户都可以访问该视图。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 DB_PART_COL_STATISTICS字段 名称 类型 描述 owner character varying(128) 分区表的所有者。 table_name character varying(128) 表名。 partition_name character varying(128) 表分区名称。 column_name character varying(4000) 列名。 num_distinct numeric 暂不支持,值为NULL。 low_value raw 暂不支持,值为NULL。 high_value raw 暂不支持,值为NULL。 density numeric 暂不支持,值为NULL。 num_nulls numeric 暂不支持,值为NULL。 num_buckets numeric 暂不支持,值为NULL。 sample_size numeric 暂不支持,值为NULL。 last_analyzed timestamp(0) without time zone 暂不支持,值为NULL。 global_stats character varying(3) 暂不支持,值为NULL。 user_stats character varying(3) 暂不支持,值为NULL。 notes character varying(63) 暂不支持,值为NULL。 avg_col_len numeric 暂不支持,值为NULL。 histogram character varying(15) 暂不支持,值为NULL。 schema character varying(64) 列所属的名称空间的名称。 父主题: 分区表
  • 功能描述 SET CONSTRAINTS设置当前事务检查行为的约束条件。 IMMEDIATE约束是在每条语句后面进行检查。DEFERRED约束一直到事务提交时才检查。每个约束都有自己的模式。 从创建约束条件开始,一个约束总是设定为DEFERRABLE INITIALLY DEFERRED、DEFERRABLE INITIALLY IMMEDIATE和NOT DEFERRABLE三个特性之一。第三种总是IMMEDIATE,并且不会受SET CONSTRAINTS影响。前两种以指定的方式启动每个事务,但是其行为可以在事务里用SET CONSTRAINTS改变。 带着一个约束名列表的SET CONSTRAINTS改变这些约束的模式(都必须是可推迟的)。如果有多个约束匹配某个名称,则所有都会被影响。SET CONSTRAINTS ALL改变所有可推迟约束的模式。 当SET CONSTRAINTS把一个约束从DEFERRED改成IMMEDIATE的时候,任何将在事务结束准备进行的数据修改都将在SET CONSTRAINTS的时候执行检查。如果违反了任何约束,SET CONSTRAINTS都会失败(并且不会修改约束模式)。因此,SET CONSTRAINTS可以用于强制在事务中某一点进行约束检查。
共100000条
提示

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