-
gs_undo_meta(type, zoneId, location)
描述:Undo各模块元信息。
参数说明:
-
type(元信息类型)
0表示Undo Zone(Record) 对应的元信息。
1表示Undo Zone(Transaction Slot) 对应的元信息。
2表示Undo Space(Record) 对应的元信息。
3表示Undo Space(Transaction Slot) 对应的元信息。
-
zoneId(undo zone编号)
-1表示所有undo zone的元信息。
0-1024*1024表示对应zoneid的元信息。
-
location(读取位置)
0表示从当前内存中读取。
1表示从物理文件中读取。
返回值类型:record
表 1 gs_undo_meta(0,-1,0)输出示例
参数类型
|
参数名
|
类型
|
描述
|
输出参数
|
zoneId
|
oid
|
undo zone的id。
|
输出参数
|
persistType
|
oid
|
持久化级别。
|
输出参数
|
insert
|
text
|
下一条插入的undo记录位置。
|
输出参数
|
discard
|
text
|
普通回收到的undo记录位置。
|
输出参数
|
end
|
text
|
强制回收掉undo记录位置,小于它的undo记录已经被回收。
|
输出参数
|
used
|
text
|
已经使用的undo空间。
|
输出参数
|
lsn
|
text
|
修改zone的lsn。
|
输出参数
|
pid
|
oid
|
zone绑定的进程id。
|
-
gs_undo_translot(location, zoneId)
描述:Undo事务槽信息。
参数说明:
返回值类型:record
表 2 gs_undo_translot(0,-1)输出示例
参数类型
|
参数名
|
类型
|
描述
|
输出参数
|
groupId
|
oid
|
使用的undo zone id。
|
输出参数
|
xactId
|
text
|
事务id。
|
输出参数
|
startUndoPtr
|
text
|
slot对应事务起始插入undo记录位置。
|
输出参数
|
endUndoPtr
|
text
|
slot对应事务结束插入undo记录位置。
|
输出参数
|
lsn
|
text
|
对应slot指针。
|
输出参数
|
slot_states
|
oid
|
事务状态,0表示已经提交,1表示正在执行中,2表示回滚中,3表示回滚完成。
|
-
gs_stat_undo()
描述:Undo统计信息。
返回值类型:record
表 3 gs_stat_undo参数说明
参数类型
|
参数名
|
类型
|
描述
|
输出参数
|
curr_used_zone_count
|
uint32
|
当前使用的Undo zone数量。
|
输出参数
|
top_used_zones
|
text
|
前三个使用量最大的Undo zone信息,格式输出为:
(zoneId1:使用大小,zoneId2:使用大小,zoneId3:使用大小)。
|
输出参数
|
curr_used_undo_size
|
uint32
|
当前使用的Undo总空间大小,单位为MB。
|
输出参数
|
undo_threshold
|
uint32
|
为guc参数undo_space_limit_size * 80%计算的结果,单位为MB。
|
输出参数
|
oldest_xid_in_undo
|
uint64
|
当前Undo空间回收到的事务xid(小于该xid事务产生的Undo记录都已经被回收)。
|
输出参数
|
oldest_xmin
|
uint64
|
最老的活跃事务。
|
输出参数
|
total_undo_chain_len
|
int64
|
所有访问过的Undo链总长度。
|
输出参数
|
max_undo_chain_len
|
int64
|
最大访问过的Undo链长度。
|
输出参数
|
create_undo_file_count
|
uint32
|
创建的Undo文件数量统计。
|
输出参数
|
discard_undo_file_count
|
uint32
|
删除的Undo文件数量统计。
|
-
gs_undo_record(undoptr)
描述:Undo记录解析。
参数说明:
返回值类型:record
-
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
|
bigint
|
- -1 解析所有block页面。
- 0-MaxBlocNumber解析指定的block页面。
|
输入参数
|
reltype
|
text
|
表类型,目前仅支持ustore数据表,取值为uheap。
|
输入参数
|
rmem
|
boolean
|
|
输出参数
|
output
|
text
|
解析结果文件的绝对路径。
|
-
gs_undo_meta_dump_zone(zone_id int, read_memory boolean)
描述:解析Undo模块中zone的元信息。
返回值类型:record
表 5 gs_undo_meta_dump_zone参数说明
参数类型
|
参数名
|
类型
|
描述
|
输入参数
|
zone_id
|
int
|
Undo zone编号:
- -1:查询所有Undo zone。
- 0-1,048,575:查询对应zone_id编号的undo zone元信息。
|
输入参数
|
read_memory
|
boolean
|
- true:从当前内存中读取。
- false:从物理文件中读取。
|
输出参数
|
zone_id
|
int
|
Undo zone编号。
|
输出参数
|
persist_type
|
int
|
持久化级别:
|
输出参数
|
insert
|
text
|
下一条插入的undo记录位置。
|
输出参数
|
discard
|
text
|
普通回收到的undo记录位置。
|
输出参数
|
forcediscard
|
text
|
强制回收掉undo记录位置,小于它的undo记录已经被回收。
|
输出参数
|
lsn
|
text
|
修改zone的lsn。
|
-
gs_undo_meta_dump_spaces(zone_id int, read_memory boolean)
描述:解析Undo模块中undo记录空间,undo slot空间的元信息。
返回值类型:record
表 6 gs_undo_meta_dump_spaces参数说明
参数类型
|
参数名
|
类型
|
描述
|
输入参数
|
zone_id
|
int
|
Undo zone编号:
- -1:查询所有Undo zone。
- 0-1,048,575:查询对应zone_id编号的undo zone元信息。
|
输入参数
|
read_memory
|
boolean
|
- true:从当前内存中读取。
- false:从物理文件中读取。
|
输出参数
|
zone_id
|
int
|
Undo zone编号。
|
输出参数
|
undorecord_space_tail
|
text
|
Undo record空间的结尾位置。
|
输出参数
|
undorecord_space_head
|
text
|
Undo record空间的起始位置。
|
输出参数
|
undorecord_space_lsn
|
text
|
修改Undo record空间lsn。
|
输出参数
|
undoslot_space_tail
|
text
|
Undo slot空间的结尾位置。
|
输出参数
|
undoslot_space_head
|
text
|
Undo slot空间的起始位置。
|
输出参数
|
undoreslot_space_lsn
|
text
|
修改Undo slot空间lsn。
|
-
gs_undo_meta_dump_slot(zone_id int, read_memory boolean)
描述:解析Undo模块中slot元信息。
返回值类型:record
表 7 gs_undo_meta_dump_slot参数说明
参数类型
|
参数名
|
类型
|
描述
|
输入参数
|
zone_id
|
int
|
Undo zone编号:
- -1:查询所有Undo zone。
- 0-1,048,575:查询对应zone_id编号的undo zone元信息。
|
输入参数
|
read_memory
|
boolean
|
- true:从当前内存中读取。
- false:从物理文件中读取。
|
输出参数
|
zone_id
|
int
|
Undo zone编号。
|
输出参数
|
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,小于该xid的事务被回收。
|
-
gs_undo_translot_dump_slot(zone_id int, read_memory boolean)
描述:解析zone中的slot。
返回值类型:record
表 8 gs_undo_translot_dump_slot参数说明
参数类型
|
参数名
|
类型
|
描述
|
输入参数
|
zone_id
|
oid
|
Undo zone编号:
- -1:查询所有Undo zone。
- 0-1,048,575:查询对应zone_id编号的undo zone元信息。
|
输入参数
|
read_memory
|
boolean
|
- true:从当前内存中读取。
- false:从物理文件中读取。
|
输出参数
|
zone_id
|
text
|
Undo zone编号。
|
输出参数
|
slot_xid
|
text
|
事务id。
|
输出参数
|
start_undoptr
|
text
|
slot对应事务起始插入undo记录位置。
|
输出参数
|
end_undoptr
|
text
|
slot对应事务结束插入undo记录位置。
|
输出参数
|
lsn
|
text
|
修改slot的lsn。
|
输出参数
|
slot_states
|
oid
|
|
-
gs_undo_translot_dump_xid(slot_xid xid, read_memory boolean)
描述:根据xid,解析zone中对应的slot。
返回值类型:record
表 9 gs_undo_translot_dump_xid参数说明
参数类型
|
参数名
|
类型
|
描述
|
输入参数
|
slot_xid
|
xid
|
需要查询的事务id。
|
输入参数
|
read_memory
|
boolean
|
- true:从当前内存中读取。
- false:从物理文件中读取。
|
输出参数
|
zone_id
|
text
|
Undo zone编号。
|
输出参数
|
slot_xid
|
text
|
事务id。
|
输出参数
|
start_undoptr
|
text
|
slot对应事务起始插入undo记录位置。
|
输出参数
|
end_undoptr
|
text
|
slot对应事务结束插入undo记录位置。
|
输出参数
|
lsn
|
text
|
修改slot的lsn。
|
输出参数
|
slot_states
|
oid
|
|
-
gs_undo_dump_record(undoptr bigint)
描述:解析undo记录。
返回值类型:record
表 10 gs_undo_dump_record参数说明
参数类型
|
参数名
|
类型
|
描述
|
输入参数
|
undoptr
|
bigint
|
需要解析的undo记录起始位置。
|
输出参数
|
undoptr
|
bigint
|
需要解析的undo记录起始位置。
|
输出参数
|
xactid
|
text
|
事务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
|
是否保存
|
输出参数
|
flag
|
text
|
标识1
|
输出参数
|
flag2
|
text
|
标识2
|
输出参数
|
t_hoff
|
text
|
Undo记录数据头的长度。
|
-
gs_undo_dump_xid(undo_xid xid)
描述:根据xid解析undo记录。
返回值类型:record
表 11 gs_undo_dump_xid参数说明
参数类型
|
参数名
|
类型
|
描述
|
输入参数
|
undo_xid
|
xid
|
事务xid
|
输出参数
|
undoptr
|
xid
|
需要解析的undo记录起始位置。
|
输出参数
|
xactid
|
text
|
事务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
|
是否保留
|
输出参数
|
flag
|
text
|
标识1
|
输出参数
|
flag2
|
text
|
标识2
|
输出参数
|
t_hoff
|
text
|
Undo记录数据头的长度。
|
-
gs_verify_undo_record(type, startIdx,endIdx, location)
描述:校验Undo记录。
返回值类型:record
说明:
该接口仅为扩展预留接口,禁止使用。
-
gs_verify_undo_translot(type, startIdx,endIdx, location)
描述:校验Undo事务槽。
返回值类型:record
说明:
该接口仅为扩展预留接口,禁止使用。
-
gs_verify_undo_meta(type, startIdx,endIdx, location)
描述:校验Undo元信息。
返回值类型:record
说明:
该接口仅为扩展预留接口,禁止使用。