云数据库 GAUSSDB-段页式存储函数:gs_seg_get_extents(tablespace_name NAME, bucketnode INTEGER, head_block_id BIGINT)

时间:2025-07-25 09:27:32

gs_seg_get_extents(tablespace_name NAME, bucketnode INTEGER, head_block_id BIGINT)

描述:输出该表空间下段头文件里段头页面的段对象的所有扩展,包含1号文件中的segment head、fork head、level1 page,2~5号文件中的data extent。只支持管理员权限用户查询。

参数说明:

名称

类型

描述

tablespace_name

NAME

段对象所属的表空间。

bucketnode

INTEGER

  • 0~1023表示hashbucket表的bucketnode。
  • 1024表示段页式普通表的bucketnode。
  • 1025表示段页式全局临时表的bucketnode。
  • 1026表示段页式unlogged表的bucketnode。
  • 1027表示段页式本地临时表的bucketnode。

head_block_id

BIGINT

段头页面号。

返回值说明:

名称

类型

描述

extent_id

INTEGER

逻辑扩展号。

file_id

INTEGER

扩展所在的数据文件标识。取值范围:[1,5]的int4值。

forknum

INTEGER

段对象的分支。

取值范围:
  • 0:main fork。
  • 1:fsm fork。
  • 2:vm fork。

block_id

BIGINT

扩展所在的数据文件中的起始页面号。

blocks

INTEGER

扩展大小。

取值范围:

  • 1表示1号文件。
  • 8表示2号文件。
  • 128表示3号文件。
  • 1024表示4号文件。
  • 4096表示5号文件。

usage_type

TEXT

Extent的使用类型。

取值范围:
  • segment head表示段头。
  • fork head表示分支头。
  • level1 page表示level页面。
  • data extent表示数据扩展。

例如(下列操作需要在表空间下创建过段页式普通表后再执行):

gaussdb=# SELECT * FROM gs_seg_get_extents('pg_default', 1024, 4157);
 extent_id | file_id | forknum | block_id | blocks |  usage_type
-----------+---------+---------+----------+--------+--------------
           |       1 |       0 |     4157 |      1 | segment head
         0 |       2 |       0 |     4157 |      8 | data extent
         1 |       2 |       0 |     4165 |      8 | data extent
(3 rows)
support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-42-0392.html