版本:latest

PG_STAT_VECTOR_BUFFER_CHUNK ​

PG_STAT_VECTOR_BUFFER_CHUNK 显示当前实例向量专用缓存的各内存块及槽位状态,每个 chunk 对应一行。普通用户可以查询;缓存未启用时返回空集。

名称类型描述
chunk_indexinteger内存块在共享载荷区中的编号。
vbp_idinteger读取到的所属缓存池标识;没有取得有效所属池信息时为 -1。
vbp_generationinteger所属缓存池的代次;未取得有效所属池信息时为 0。
statetext内存块状态:FREE(空闲)、ACTIVE(正在使用)、DRAINING(正在排空)、CLAIMED(正在认领);未知值显示 UNKNOWN。
n_freeinteger当前空闲槽位数。
n_reservedinteger处于封闭或保留状态、尚未作为有效缓存条目发布的槽位数。
n_cachedinteger当前已缓存槽位数。
n_quarantinedinteger已失效但尚待安全回收的隔离槽位数。
slot_countinteger该内存块按所属缓存池布局可容纳的槽位数。
slot_strideinteger槽位之间的字节跨度,包含管理信息和对齐开销。
in_clboolean是否在所属缓存池的内存块链表中。
in_freelistboolean是否带有全局空闲链表标记。

没有取得有效所属池信息时,槽位布局及计数字段可能为 0。状态和计数在并发分配、失效和回收期间可能变化,不应通过一次查询的字段相加判断内存一致性。

sql
openGauss=# SELECT chunk_index, vbp_id, state, n_free, n_cached, n_quarantined
             FROM pg_stat_vector_buffer_chunk ORDER BY chunk_index;

该视图会扫描内存块中的槽位,建议仅在诊断时按需查询。它对应无输入参数的集合返回函数 pg_stat_get_vector_buffer_chunk(),函数返回字段与视图一致。使用方法请参见使用向量专用缓存。