华为云用户手册

  • 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 开始位置: type为'urp'时,表示起始undo记录位置。 type为'zone'时,表示起始UndoZone编号。 输入参数 end_idx int8 结束位置: type为'urp'时,表示undo记录结束位置。 type为'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_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_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 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_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_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_slot(zone_id int, read_memory boolean) 描述:解析Undo模块中Transaction Slot元信息。 返回值类型:record 该系统函数仅支持回滚段使用页式存储方式。 表7 gs_undo_meta_dump_slot参数说明 参数类型 参数名 类型 描述 输入参数 zone_id int Undo zone编号: -1:查询所有UndoZone。 0-1,048,575:查询对应zone_id编号的UndoZone元信息。 输入参数 read_memory boolean true:从当前内存中读取。 false:从物理文件中读取。 输出参数 zone_id int UndoZone编号。 输出参数 allocate text Undo Transaction Slot分配位置。 输出参数 recycle text Undo 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,小于该Xxid的事务被回收。
  • 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 UndoRecord空间的结尾位置。 输出参数 undorecord_space_head text UndoRecord空间的起始位置。 输出参数 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_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_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)
  • gs_undo_dump_parsepage_mv(relpath text, blkno bigint, reltype text, rmem boolean) 描述:解析USTORE数据表磁盘页面的页头信息,每个元组的头部信息,标识位信息以及所有可以查询到undo历史版本信息。 返回值类型: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(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。
  • PERF_QUERY 提供当前节点下采集到堆栈信息的名称、树状结构和百分比,如表1所示。需要有monadmin权限。 使用该视图查询堆栈信息之前,需要先执行gs_perf_start函数,采集火焰图数据。 表1 PERF_QUERY字段 名称 类型 描述 backtrace text 堆栈信息树状结构文本。 overhead double precision 当前堆栈信息在整个堆栈采集过程中所占时间比重。 父主题: OS
  • SUMMARY_FILE_IOSTAT 通过集群内各节点数据文件I/O统计的汇总结果,反映数据的I/O性能,用以发现I/O操作异常等性能问题,如表1所示。 其中phyrds、phywrts、phyblkrd、phyblkwrt、readtim、writetim字段按照各节点的数据累加求和,avgiotim为各节点的平均值(总时长/总次数),lstiotim、maxiowtm取各节点的最大值,miniotim取各节点的最小值。 表1 SUMMARY_FILE_IOSTAT字段 名称 类型 描述 filenum oid 文件标识。 dbid oid 数据库标识。 spcid oid 表空间标识。 phyrds numeric 读物理文件的数目。 phywrts numeric 写物理文件的数目。 phyblkrd numeric 读物理文件块的数目。 phyblkwrt numeric 写物理文件块的数目。 readtim numeric 读文件的总时长(单位:微秒)。 writetim numeric 写文件的总时长(单位:微秒)。 avgiotim bigint 读写文件的平均时长(单位:微秒)。 lstiotim bigint 最后一次读文件时长(单位:微秒)。 miniotim bigint 读写文件的最小时长(单位:微秒)。 maxiowtm bigint 读写文件的最大时长(单位:微秒)。 父主题: File
  • SUMMARY_STATIO_USER_TABLES SUMMARY_STATIO_USER_TABLES视图显示集群内各节点的用户关系表的I/O状态汇总信息,如表1所示。 表1 SUMMARY_STATIO_USER_TABLES字段 名称 类型 描述 schemaname name 该表模式名。 relname name 表名。 heap_blks_read numeric 从该表中读取的磁盘块数。 heap_blks_hit numeric 该表缓存命中数。 idx_blks_read numeric 从表中所有索引读取的磁盘块数。 idx_blks_hit numeric 表中所有索引命中缓存数。 toast_blks_read numeric 该表的TOAST表读取的磁盘块数(如果存在)。 toast_blks_hit numeric 该表的TOAST表命中缓冲区数(如果存在)。 tidx_blks_read numeric 该表的TOAST表索引读取的磁盘块数(如果存在)。 tidx_blks_hit numeric 该表的TOAST表索引命中缓冲区数(如果存在)。 父主题: Cache/IO
  • enable_nonsysadmin_execute_direct 参数说明:是否允许非系统管理员和非监控管理员执行EXECUTE DIRECT ON语句。 参数类型:布尔型 参数单位:无 取值范围: on:表示允许任意用户执行EXECUTE DIRECT ON语句。 off:表示只允许系统管理员和监控管理员执行EXECUTE DIRECT ON语句。 默认值:off 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
  • audit_xid_info 参数说明:该参数决定是否在审计日志字段detail_info中记录SQL语句的事务ID。 参数类型:整型 参数单位:无 取值范围:0、1 0:表示关闭审计日志记录事务ID功能。 1:表示开启审计日志记录事务ID功能。 默认值:0 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。 如果开启此开关,审计日志中detail_info信息则以xid开始,例如: detail_info: xid=14619 , create table t1(id int); 对于不存在事务ID的审计行为,则记录xid=NA。
  • enableSeparationOfDuty 参数说明:是否开启三权分立选项。 参数类型:布尔型 参数单位:无 取值范围: on:表示开启三权分立。 off:表示不开启三权分立。 默认值:off 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:此参数设置为on,系统管理员权限会受限制,部分之前可以执行的操作会无法执行。
  • enable_access_server_directory 参数说明:是否允许非初始用户创建、修改和删除DIRECTORY对象。 参数类型:布尔型 参数单位:无 取值范围: on:表示允许非初始用户创建、修改和删除DIRECTORY对象。 off:表示不允许非初始用户创建、修改和删除DIRECTORY对象。 默认值:off 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。 用户在使用高级包UTL_FILE访问服务器端文件时,要求必须拥有所指定的DIRECTORY对象的权限。 出于安全考虑,默认情况下,只有初始用户才能够创建、修改、删除DIRECTORY对象。 如果开启了enable_access_server_directory,具有SYSADMIN权限的用户和继承了内置角色gs_role_directory_create权限的用户可以创建directory对象;具有SYSADMIN权限的用户、directory对象的属主、被授予了该directory的DROP权限的用户或者继承了内置角色gs_role_directory_drop权限的用户可以删除directory对象;具有SYSADMIN权限的用户和directory对象的属主可以修改directory对象的所有者,且要求该用户是新属主的成员。
  • audit_copy_exec 参数说明:这个参数决定是否对COPY操作进行审计。 参数类型:整型 参数单位:无 取值范围:0、1 0:表示关闭COPY审计功能。 1:表示开启COPY审计功能。 默认值:1 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:此参数设置为1,当数据库频繁执行COPY操作时会频繁记录审计日志,导致数据库性能下降。
  • audit_set_parameter 参数说明:该参数表示是否对SET操作进行审计。 参数类型:整型 参数单位:无 取值范围:0、1 0:表示关闭SET审计功能。 1:表示开启SET审计功能。 默认值:0 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:此参数设置为1,当数据库频繁执行SET操作时会频繁记录审计日志,导致数据库性能下降。
  • audit_system_function_exec 参数说明:这个参数决定在执行白名单内的系统函数时是否记录审计日志。 参数类型:整型 参数单位:无 取值范围:0、1 0:表示关闭系统函数执行的审计功能。 1:表示开启系统函数执行的审计功能。 默认值:0 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:此参数设置为1,当数据库频繁执行白名单内系统函数时会频繁记录审计日志,导致数据库性能下降。 支持记录审计的系统函数白名单如下表所示: set_working_grand_version_num_manually set_config pg_terminate_backend pg_cancel_backend pg_cancel_session pg_cancel_invalid_query pg_reload_conf pg_rotate_logfile pg_terminate_session pg_terminate_backend pg_start_backup pg_stop_backup pg_create_restore_point pg_switch_xlog pg_cbm_get_merged_file pg_cbm_recycle_file pg_enable_delay_ddl_recycle pg_disable_delay_ddl_recycle pg_cbm_rotate_file gs_roach_enable_delay_ddl_recycle gs_roach_disable_delay_ddl_recycle gs_roach_stop_backup pg_last_xlog_receive_location pg_xlog_replay_pause pg_xlog_replay_resume gs_roach_switch_xlog gs_pitr_archive_slot_force_advance gs_pitr_clean_history_global_barriers gs_download_obs_file gs_upload_obs_file gs_set_obs_file_context gs_set_obs_delete_location gs_hadr_do_switchover gs_set_obs_delete_location_with_slotname gs_streaming_dr_in_switchover pg_advisory_lock pg_advisory_lock_shared pg_advisory_unlock pg_advisory_unlock_shared pg_advisory_unlock_all pg_advisory_xact_lock pg_advisory_xact_lock_shared pg_try_advisory_lock pg_try_advisory_lock_shared pg_try_advisory_xact_lock pg_try_advisory_xact_lock_shared gs_get_hadr_key_cn pg_create_physical_replication_slot_extern pg_create_logical_replication_slot pg_drop_replication_slot pg_logical_slot_peek_changes pg_logical_slot_get_changes pg_logical_slot_get_binary_changes pg_replication_origin_drop pg_replication_origin_session_reset local_space_shrink gs_space_shrink global_space_shrink pg_free_remain_segment gs_fault_inject sqladvisor.init sqladvisor.set_weight_params sqladvisor.set_cost_params sqladvisor.assign_table_type gs_repair_file local_clear_bad_block_info gs_repair_page - - - - - 在系统函数执行这类审计事件的审计记录中,object_name字段的内容为系统函数名,不再带函数参数。
  • audit_dml_state 参数说明:该参数表示是否对所有表的INSERT、UPDATE、DELETE、MERGE操作进行审计。 参数类型:整型 参数单位:无 取值范围:0、1 0:表示关闭所有表的INSERT、UPDATE、DELETE、MERGE操作审计功能。 1:表示开启所有表的INSERT、UPDATE、DELETE、MERGE操作审计功能。 默认值:0 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:此参数设置为1,当数据库频繁进行INSERT、UPDATE、DELETE、MERGE操作时会频繁记录审计日志,导致数据库性能下降。
  • audit_dml_state_select 参数说明:该参数表示是否对SELECT操作进行审计。 参数类型:整型 参数单位:无 取值范围:0、1 0:表示关闭SELECT操作审计功能。 1:表示开启SELECT操作审计功能。 默认值:0 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:此参数设置为1,当数据库频繁进行SELECT操作时会频繁记录审计日志,导致数据库性能下降。
  • audit_function_exec 参数说明:该参数表示在执行存储过程、匿名块或自定义函数(不包括系统自带函数)时是否记录审计信息。 参数类型:整型 参数单位:无 取值范围:0、1 0:表示关闭对存储过程、匿名块或自定义函数(不包括系统自带函数)执行的审计功能。 1:表示开启对存储过程、匿名块或自定义函数(不包括系统自带函数)执行的审计功能。 默认值:0 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:此参数设置为1,当数据库频繁执行存储过程、匿名块或自定义函数时会频繁记录审计日志,导致数据库性能下降。
  • audit_system_object 参数说明:该参数表示是否对数据库对象的CREATE、DROP、ALTER等操作进行审计。数据库对象包括DATABASE、USER、SCHEMA、TABLE等。通过修改该配置参数的值,可以只审计需要的数据库对象的操作。参数类型:整型 参数单位:无 取值范围:0 ~ 536870911 0代表关闭数据库对象的CREATE、DROP、ALTER等操作审计功能。 非0代表只审计某类或者某些数据库对象的CREATE、DROP、ALTER等操作。 取值说明: 该参数的值由29个二进制位的组合求出,这29个二进制位分别代表29类数据库对象。如果对应的二进制位取值为0,表示不审计对应的数据库对象的CREATE、DROP、ALTER等操作;取值为1,表示审计对应的数据库对象的CREATE、DROP、ALTER等操作。这29个二进制位代表的具体审计内容请参见表1。 用于记录SQL PATCH的参数存在特殊性,如果对该对象进行审计且audit_dml_state_select也开启时,对于一条SQL PATCH操作的审计日志会作为DML和DDL被记录两次,如果调用remote接口,则会在入参对应的节点上产生DDL日志,而不是在下发语句的节点上。 默认值:67121159(十进制),对应二进制为:0 0100 0000 0000 0011 0000 0000 0111,表示对DATABASE、SCHEMA、USER、NODE GROUP、SQLPatch这五种数据库对象的DDL操作进行审计。 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:根据业务需要设置记录审计的数据库对象类型。在主备强制选主场景建议audit_system_object取最大值,所有DDL对象全部审计。 设置不当的风险与影响:需要审计的对象越多,对系统性能的影响越大,占用的系统CPU和I/O越多。 表1 audit_system_object取值含义说明 二进制位 含义 取值说明 第0位 是否审计DATABASE对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作。 第1位 是否审计SCHEMA对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作。 第2位 是否审计USER和USER MAPPING对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作。 第3位 是否审计TABLE对象的CREATE、DROP、ALTER、TRUNCATE操作。 0表示不审计该对象的CREATE、DROP、ALTER、TRUNCATE操作。 1表示审计该对象的CREATE、DROP、ALTER、TRUNCATE操作。 第4位 是否审计INDEX对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作。 第5位 是否审计VIEW/MATVIEW对象的CREATE、DROP操作。 0表示不审计该对象的CREATE、DROP操作。 1表示审计该对象的CREATE、DROP操作。 第6位 是否审计TRIGGER对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作。 第7位 是否审计PROCEDURE/FUNCTION对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作。 第8位 是否审计TABLESPACE对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作。 第9位 是否审计RESOURCE POOL对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作。 第10位 是否审计WORKLOAD对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作。 第11位 是否审计SERVER对象的CREATE、DROP、ALTER操作 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作。 第12位 保留 - 第13位 是否审计NODE GROUP对象的CREATE、DROP操作。 0表示不审计该对象的CREATE、DROP操作。 1表示审计该对象的CREATE、DROP操作。 第14位 是否审计ROW LEVEL SECURITY对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作。 1表示审计该对象的CREATE、DROP、ALTER操作。 第15位 是否审计TYPE对象的CREATE、DROP、ALTER操作。 0表示不审计TYPE对象的CREATE、DROP、ALTER操作。 1表示审计TYPE对象的CREATE、DROP、ALTER操作。 第16位 是否审计TEXT SEARCH对象(CONFIGURATION和DICTIONARY)的CREATE、DROP、ALTER操作。 0表示不审计TEXT SEARCH对象的CREATE、DROP、ALTER操作。 1表示审计TEXT SEARCH对象的CREATE、DROP、ALTER操作。 第17位 是否审计DIRECTORY对象的CREATE、DROP、ALTER操作。 0表示不审计DIRECTORY对象的CREATE、DROP、ALTER操作。 1表示审计DIRECTORY对象的CREATE、DROP、ALTER操作。 第18位 是否审计SYNONYM对象的CREATE、DROP、ALTER操作。 0表示不审计SYNONYM对象的CREATE、DROP、ALTER操作。 1表示审计SYNONYM对象的CREATE、DROP、ALTER操作。 第19位 是否审计SEQUENCE对象的CREATE、DROP、ALTER操作。 0表示不审计SEQUENCE对象的CREATE、DROP、ALTER操作。 1表示审计SEQUENCE对象的CREATE、DROP、ALTER操作。 第20位 是否审计CMK、CEK对象的CREATE、ALTER、DROP操作。 0表示不审计CMK、CEK对象的CREATE、ALTER、DROP操作。 1表示审计CMK、CEK对象的CREATE、ALTER、DROP操作。 第21位 是否审计PACKAGE对象的CREATE、DROP、ALTER操作(目前仅集中式支持PACKAGE)。 0表示不审计PACKAGE对象的CREATE、DROP、ALTER操作。 1表示审计PACKAGE对象的CREATE、DROP、ALTER操作。 第22位 保留 - 第23位 保留 - 第24位 是否审计对gs_global_config全局对象的ALTER、DROP操作。 0表示不审计对系统表gs_global_config全局对象的ALTER、DROP操作。 1表示审计对系统表gs_global_config全局对象的ALTER、DROP操作。 第25位 是否审计FOREIGN DATA WRAPPER对象的CREATE、DROP、ALTER操作,目前该功能暂不支持。 0表示不审计FOREIGN DATA WRAPPER对象的CREATE、DROP、ALTER操作。 1表示审计FOREIGN DATA WRAPPER对象的CREATE、DROP、ALTER操作。 第26位 是否审计SQL PATCH对象的CREATE、ENABLE、DISABLE、DROP操作。 0表示不审计SQL PATCH对象的CREATE、ENABLE、DISABLE、DROP操作。 1表示审计SQL PATCH对象的CREATE、ENABLE、DISABLE、DROP操作。 第27位 保留 - 第28位 是否审计DBLINK对象的CREATE、ALTER、DROP操作。目前DATABASE LINK功能暂不支持。 0表示不审计DBLINK对象的CREATE、ALTER、DROP操作。 1表示审计DBLINK对象的CREATE、ALTER、DROP操作。
  • DBE_PLDEBUGGER.error_end server端因为存储过程报错断住,可以在debug端调用error_end结束报错断住流程,结束调试流程,返回结束报错断住,停止调试(限制报错断住时使用),如表1所示。 表1 error_end返回值列表 名称 类型 描述 funcoid OUT oid 函数id。 funcname OUT text 函数名。 lineno OUT integer 当前调试运行的下一行行号(固定值:0)。 query OUT text 结束报错断住,停止调试。 父主题: DBE_PLDEBUGGER Schema
  • PGXC_NODE_ENV PGXC_NODE_ENV视图显示集群中所有节点的环境变量信息。该视图只有monitor admin和sysadmin权限可以查看。具体字段信息如表1所示。 表1 PGXC_NODE_ENV字段 名称 类型 描述 node_name1 text 集群中节点的名称。 host1 text 集群中节点的主机名称。 process1 integer 集群中节点的进程号。 port1 integer 集群中节点的端口号。 installpath1 text 集群中节点的安装目录。 datapath1 text 集群中节点的数据目录。 log_directory1 text 集群中节点的日志目录。 父主题: 其他系统视图
  • ADM_TAB_STATS_HISTORY ADM_TAB_STATS_HISTORY系统视图提供数据库所有表的表统计信息历史。默认只有系统管理员权限才可以访问,普通用户需要授权才可以访问。该视图同时存在于PG_CATA LOG 和SYS Schema下。 表1 ADM_TAB_STATS_HISTORY字段 名称 类型 描述 owner character varying(128) 对象的拥有者。 table_name character varying(128) 表名。 partition_name character varying(128) 暂不支持,值为NULL。 subpartition_name character varying(128) 暂不支持,值为NULL。 stats_update_time timestamp(6) with time zone 统计信息更新的时间。数据库重启后,数据会丢失。 父主题: 其他系统视图
  • 注意事项 系统管理员或者继承了内置角色gs_role_tablespace权限的用户可以创建表空间。 不允许在一个事务块内部执行CREATE TABLESPACE。 执行CREATE TABLESPACE失败,如果内部创建目录(文件)操作成功了就会产生残留的目录(文件),重新创建时需要用户手动清理表空间指定的目录下残留的内容。如果在创建过程中涉及到数据目录下的表空间软连接残留,需要先将软连接的残留文件删除,再重新执行OM相关操作。 CREATE TABLESPACE不支持两阶段事务,如果部分节点执行失败,不支持回滚。 创建表空间是依次下发给各节点执行的,如果远端节点执行失败则会提示该报错信息的来源:“CONTEXT: Error message received from nodes: 节点名称”。 在公有云场景下一般不建议用户使用自定义的表空间。 原因:用户自定义表空间通常配合主存(即默认表空间所在的存储设备,如磁盘)以外的其它存储介质使用,以隔离不同业务可以使用的I/O资源,而在公有云场景下,存储设备都是采用标准化的配置,无其它可用的存储介质,自定义表空间使用不当不利于系统长稳运行以及影响整体性能,因此建议使用默认表空间即可。
  • 示例 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 --创建表空间。 gaussdb=# CREATE TABLESPACE tbs_location1 RELATIVE LOCATION 'test_tablespace/test_tablespace_1'; --创建表空间指定最大值。 gaussdb=# CREATE TABLESPACE tbs_location2 RELATIVE LOCATION 'test_tablespace/test_tablespace_2' MAXSIZE '10G'; --查询表空间信息。 gaussdb=# SELECT * FROM pg_tablespace WHERE spcname = 'tbs_location2'; spcname | spcowner | spcacl | spcoptions | spcmaxsize | relative ---------------+----------+--------+------------+------------+---------- tbs_location2 | 10 | | | 10485760 K | t (1 row) --创建用户joe。 gaussdb=# CREATE ROLE joe IDENTIFIED BY '********'; --创建表空间,且所有者指定为用户joe。 gaussdb=# CREATE TABLESPACE tbs_location3 OWNER joe RELATIVE LOCATION 'test_tablespace/test_tablespace_3'; --创建表空间指定绝对路径(请根据实际情况修改路径)。 gaussdb=# CREATE TABLESPACE tbs_location4 LOCATION '/tmp/tbs_location4'; --删除表空间及用户。 gaussdb=# DROP TABLESPACE tbs_location1; gaussdb=# DROP TABLESPACE tbs_location2; gaussdb=# DROP TABLESPACE tbs_location3; gaussdb=# DROP TABLESPACE tbs_location4; gaussdb=# DROP ROLE joe;
共100000条
提示

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