云服务器内容精选

  • gs_streaming_dr_get_switchover_barrier() 描述:两地三中心跨Region容灾-基于流式复制的解决方案中,查询灾备数据库实例的DN实例是否已接收到switchover barrier日志并完成回放,已完成返回true。灾备数据库实例只有在所有DN实例都完成switchover barrier日志回放,才会启动switchover流程中的灾备数据库实例升为生产数据库实例的步骤(需要系统管理员角色)。 返回值类型:Boolean 备注:该函数只有在流式容灾解决方案中容灾数据库实例启动计划内switchover时使用。
  • gs_hadr_local_rto_and_rpo_stat() 描述:显示流式容灾的主数据库实例和备数据库实例日志流控信息(只可在主数据库实例的主DN使用,备DN以及备数据库实例均上不可获取到统计信息)。 返回值类型:record,具体各个字段的类型和含义如表1所示。 表1 gs_hadr_local_rto_and_rpo_stat参数说明 参数 类型 描述 hadr_sender_node_name text 节点的名称,包含主数据库实例和备数据库实例首备。 hadr_receiver_node_name text 备数据库实例首备名称。 source_ip text 主数据库实例主DN IP地址。 source_port int 主数据库实例主DN通信端口。 dest_ip text 备数据库实例首备DN IP地址。 dest_port int 备数据库实例首备DN通信端口。 current_rto int 流控的信息,当前主备数据库实例的日志rto时间(单位:秒)。 target_rto int 流控的信息,目标主备数据库实例间的rto时间(单位:秒)。 current_rpo int 流控的信息,当前主备数据库实例的日志rpo时间(单位:秒)。 target_rpo int 流控的信息,目标主备数据库实例间的rpo时间(单位:秒)。 rto_sleep_time int RTO流控信息,为了达到目标rto,预期主机walsender所需要的睡眠时间(单位:微秒)。 rpo_sleep_time int RPO流控信息,为了达到目标rpo,预期主机xlogInsert所需要的睡眠时间(单位:微秒)。
  • gs_change_dorado_state(device_name cstring, dorado_state cstring, term int) 描述:初始化用户权限,主要功能为更改dorado共享卷通道状态。 返回值类型:Boolean 参数类型 参数名 类型 共享卷通道名称 输入参数 device_name text 共享卷通道名称。 输入参数 dorado_state text 共享卷状态。 输入参数 term int 当前数据库实例term值。
  • gs_get_local_barrier_status() 描述:两地三中心跨Region容灾特性开启后,主数据库实例和灾备数据库实例进行日志同步,通过barrier日志在主数据库实例的落盘,在灾备数据库实例的回放来确定主数据库实例归档日志进度与灾备数据库实例日志回放进度。gs_get_local_barrier_status用于查询灾备数据库实例每个节点当前的日志回放情况。 返回值类型:text barrier_id:灾备数据库实例某节点当前回放到的最新barrier ID。 barrier_lsn:灾备数据库实例某节点当前回放到的最新barrier ID的Log Sequence Number ( LSN )。 archive_lsn:灾备数据库实例某节点当前已获得归档日志的位置,该参数当前未生效。 flush_lsn:灾备数据库实例某节点当前已完成刷盘日志位置。
  • gs_streaming_dr_service_truncation_check() 描述:两地三中心跨Region容灾-基于流式复制的解决方案中,查询主数据库实例的DN实例是否已完成switchover barrier日志发送,已完成返回true。只有完成日志发送,才会启动switchover流程中的生产数据库实例降为灾备数据库实例的步骤(需要系统管理员角色)。 返回值类型:Boolean 备注:该函数只有在容灾数据库实例启动计划内switchover时使用。
  • gs_seg_get_datafiles(database_name NAME) 描述:输出查看实例所有数据文件信息。只支持管理员权限用户查询。 参数说明: 名称 类型 描述 database_name NAME 数据库名称。默认为current_database(),代表当前数据库名称。 返回值说明: 名称 类型 描述 file_name TEXT 数据文件名。例如:base/17467/2_fsm。 file_id INTEGER 数据文件标识。取值范围:【1~5】号文件。 bucketnode INTEGER 0~1023表示hashbucket表的bucketnode。 1024表示段页式普通表的bucketnode。 1025表示段页式全局临时表的bucketnode。 1026表示段页式unlogged表的bucketnode。 1027表示段页式本地临时表的bucketnode。 forknum INTEGER 数据文件分支类型。 tablespace_name NAME 数据文件所属的表空间名称。 contents TEXT 数据文件的存储内容。 取值范围: permanent:永久。 unlogged:不记录日志。 temporary:全局临时。 temporary2:本地临时。 extent_size INTEGER 数据文件的扩展大小。 meta_blocks BIGINT 数据文件的已分配的元页面数。 data_blocks BIGINT 数据文件的已分配的数据页面数。 total_blocks BIGINT 数据文件的总物理页面数。 high_water_mark BIGINT 数据文件使用页数的高水位线。 utilization REAL 使用的block数占总block数的百分比。即(data_blocks+meta_blocks)/total_blocks。 例如(下列操作需要在创建过段页式表后再执行): gaussdb=# SELECT * FROM gs_seg_get_datafiles(); file_name | file_id | bucketnode | forknum | tablespace_name | contents | extent_size | meta_blocks | data_blocks | total_blocks | high_water_mark | utilization --------------+---------+------------+---------+-----------------+-----------+-------------+-------------+-------------+--------------+-----------------+------------- base/15949/1 | 1 | 1024 | 0 | pg_default | permanent | 1 | 4157 | 1 | 16384 | 1048702976 | 2.24208e-44 base/15949/2 | 2 | 1024 | 0 | pg_default | permanent | 8 | 4157 | 8 | 16384 | 1048717312 | 2.24208e-44 (2 rows)
  • gs_seg_get_spc_extents(tablespace_name NAME, file_id INTEGER, bucketnode INTEGER, forknum INTEGER, skip_unused BOOLEAN DEFAULT TRUE) 描述:获取指定表空间所有扩展信息。只支持管理员权限用户查询。 参数说明: 名称 类型 描述 tablespace_name NAME 表空间名称。 file_id INTEGER 数据文件标识。取值范围:[1,5]的int4值。 bucketnode INTEGER 0~1023表示hashbucket表的bucketnode。 1024表示段页式普通表的bucketnode。 1025表示段页式全局临时表的bucketnode。 1026表示段页式unlogged表的bucketnode。 1027表示段页式本地临时表的bucketnode。 forknum INTEGER 数据文件分支。 取值范围: 0:main fork。 1:fsm fork。 2:vm fork。 skip_unused BOOLEAN DEFAULT TRUE 是否只输出已分配的extent,默认为TRUE,代表只输出已分配的extent。 返回值说明: 名称 类型 描述 block_id BIGINT 数据扩展的起始页面号。 blocks INTEGER 数据扩展大小。 取值范围: 1表示1号文件。 8表示2号文件。 128表示3号文件。 1024表示4号文件。 4096表示5号文件。 contents TEXT 存储内容。 取值范围: permanent表示永久。 unlogged表示不记录日志。 temporary表示全局临时。 temporary2表示本地临时。 in_used TEXT 是否已分配。 取值范围: Y表示已分配。 N表示未分配。 mapblock_location TEXT 扩展在map block中的位置。格式:(page_id, offset)。 head_file_id INTEGER 段头所在数据文件标识。 head_block_id BIGINT 段头页面号。 usage_type TEXT Extent的使用类型。 取值范围: segment head表示段头。 fork head表示分支头。 level1 page表示level页面。 data extent表示数据扩展。 remain_flag TEXT 是否为shrink残留扩展。 取值范围: Y表示是shrink残留扩展。 N表示不是shrink残留扩展。 special_data INTEGER 扩展对应反向指针的特殊数据区。 ipblock_location TEXT 扩展反向指针位置。格式:(block_id, offset)。 例如: gaussdb=# SELECT * FROM gs_seg_get_spc_extents('pg_default', 1,1024, 0); block_id | blocks | contents | in_used | mapblock_location | head_file_id | head_block_id | usage_type | remain_flag | special_data | ipblock_location ----------+--------+-----------+---------+-------------------+--------------+---------------+--------------+-------------+--------------+------------------ 4157 | 1 | permanent | Y | (4157,0) | 1 | 4157 | segment head | N | 0 | (67,0) 4158 | 1 | permanent | Y | (4157,1) | 1 | 4158 | fork head | N | 1 | (67,1) (2 rows)
  • gs_seg_free_spc_remain_segment(tablespace_name NAME, head_file_id INTEGER, bucketnode INTEGER, head_block_id BIGINT) 描述:释放指定表空间上的段页式残留段在1号文件上占用的页面。残留段可以在GS_SEG_SPC_REMAIN_SEGMENTS视图中查询。只支持管理员权限用户查询。且仅允许在主机执行。 当前该函数存在缺陷,计划在后续版本重构,以彻底解决段页式残留问题,该函数为离线兜底的段页式清理手段。 为保证查询到的残留段和残留扩展的一致性,以及残留清理的一致性,该函数及GS_SEG_SPC_REMAIN_SEGMENTS视图应在DDL\DML受限状态下执行。鉴于当前版本并未提供DML\DDL受限能力,用户在是使用该特性时,应保证其执行环境DML\DDL受限状态。 该函数需要在参数enable_segment_remain_cleanup取值为off时使用。 参数说明: 名称 类型 描述 tablespace_name NAME 表空间名称。 head_file_id INTEGER 段页式残留段的段头所在的数据文件标识。取值范围:【1】。 bucketnode INTEGER 0~1023表示hashbucket表的bucketnode。 1024表示段页式普通表的bucketnode。 1025表示段页式全局临时表的bucketnode。 1026表示段页式unlogged表的bucketnode。 1027表示段页式本地临时表的bucketnode。 head_block_id BIGINT 指定的段头页面号。 返回值说明:void 例如: gaussdb=# SELECT * FROM gs_seg_free_spc_remain_segment('pg_default', 1, 1024, 4159); gs_seg_free_spc_remain_segment -------------------------------- (1 row)
  • gs_seg_free_spc_remain_extent(tablespace_name NAME, file_id INTEGER, bucketnode INTEGER, forknum INTEGER, block_id BIGINT) 描述:释放指定表空间上残留的段页式孤立扩展。残留的孤立扩展可以在GS_SEG_SPC_REMAIN_EXTENTS视图中查询。该函数也可以清理GS_SEG_SPC_REMAIN_SEGMENTS视图中查询得到的segment的segment head,但是该动作会导致被清理的segment head所在的segment中其他的extent(fork head、level1 page、data extent等)在GS_SEG_SPC_REMAIN_EXTENTS视图暴露出来。只支持管理员权限用户查询。且仅允许在主机执行。 当前该函数存在缺陷,计划在后续版本重构,以彻底解决段页式残留问题,该函数为离线兜底的段页式清理手段。 为保证查询到的残留段和残留扩展的一致性,以及残留清理的一致性,该函数及GS_SEG_SPC_REMAIN_EXTENTS视图应在DDL\DML受限状态下执行。鉴于当前版本并未提供DML\DDL受限能力,用户在是使用该特性时,应保证其执行环境DML\DDL受限状态。 该函数需要在参数enable_segment_remain_cleanup取值为off时使用。 参数说明: 名称 类型 描述 tablespace_name NAME 表空间名称。 file_id INTEGER 段页式残留扩展所在数据文件标识。取值范围:【1~5】号文件。 bucketnode INTEGER 0~1023表示hashbucket表的bucketnode。 1024表示段页式普通表的bucketnode。 1025表示段页式全局临时表的bucketnode。 1026表示段页式unlogged表的bucketnode。 1027表示段页式本地临时表的bucketnode。 forknum INTEGER 数据文件分支编号。 取值范围: 0:main fork。 1:fsm fork。 2:vm fork。 block_id BIGINT 指定的段头页面号。 返回值说明:void 例如: gaussdb=# SELECT * FROM gs_seg_free_spc_remain_extent('pg_default', 1, 1024, 0, 4159); gs_seg_free_spc_remain_extent ------------------------------- (1 row)
  • 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)
  • gs_seg_get_extents(relid OID, bucketnode INTEGER, partition BOOLEAN DEFAULT FALSE,forknum INTEGER DEFAULT 0) 描述:输出对应段头文件里段头页面的段对象的所有扩展,包含1号文件中的segment head、fork head、level1 page,2~5号文件中的data extent。只支持管理员权限用户查询。 参数说明: 名称 类型 描述 relid OID 表对应的OID。 bucketnode INTEGER 0~1023表示hashbucket表的bucketnode。 1024表示段页式普通表的bucketnode。 1025表示段页式全局临时表的bucketnode。 1026表示段页式unlogged表的bucketnode。 1027表示段页式本地临时表的bucketnode。 partition BOOLEAN DEFAULT FALSE 段对象是否为分区,默认为false。 取值范围:bool,代表所传入的oid对应的对象是否为分区。 forknum INTEGER DEFAULT 0 数据文件fork号,默认为0。 取值范围: 0:main fork。 1:fsm fork。 2:vm fork。 返回值说明: 名称 类型 描述 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表示数据扩展。 例如(下列操作中relid必须是合法的段页式对象的oid): gaussdb=# SELECT * FROM gs_seg_get_extents(16768, 1024); 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)
  • gs_seg_get_segment(relid OID, bucketnode INTEGER, partition BOOLEAN DEFAULT FALSE,forknum INTEGER DEFAULT 0) 描述:给定relid,bucketnode等信息输出对应的段头信息。只支持管理员权限用户查询。 参数说明: 名称 类型 描述 relid OID 表对应的OID。 bucketnode INTEGER 0~1023表示hashbucket表的bucketnode。 1024表示段页式普通表的bucketnode。 1025表示段页式全局临时表的bucketnode。 1026表示段页式unlogged表的bucketnode。 1027表示段页式本地临时表的bucketnode。 partition BOOLEAN DEFAULT FALSE 段对象是否为分区,默认为false。 取值范围:bool,代表所传入的oid对应的对象是否为分区。 forknum INTEGER DEFAULT 0 数据文件fork号,默认为0。 取值范围: 0:main fork。 1:fsm fork。 2:vm fork。 返回值说明: 名称 类型 描述 blocks BIGINT 段对象的逻辑页面数。 total_blocks BIGINT 段对象的物理页面数。 extents INTEGER 段对象的逻辑扩展数。 total_extents INTEGER 段对象的物理扩展数。 head_lsn TEXT 段头lsn标识。 level0_slots BIGINT[] 段扩展映射level0槽位数组。 level1_slots BIGINT[] 段扩展映射level1槽位数组。 fork_head BIGINT[] 段对象的分支段头数组。 例如(下列操作中relid必须是合法的段页式对象的oid): gaussdb=# SELECT * FROM gs_seg_get_segment(16768, 1024); blocks | total_blocks | extents | total_extents | head_lsn | level0_slots | level1_slots | fork_head --------+--------------+---------+---------------+----------+--------------+--------------+---------------- 9 | 16 | 2 | 2 | 62211744 | {4157,4165} | {} | {4157,4158,4294967295} (1 row)
  • gs_seg_get_segment_layout() 描述:输出段的静态布局。只支持管理员权限用户查询。 返回值说明: 名称 类型 描述 version TEXT 段页式版本。默认:1.0。 section_id INTEGER 段划分的数据区号。 section_type TEXT 段数据区扩展类型。 取值范围: meta:段头。 data:数据。 extent_size INTEGER 扩展大小。单位为字节。 extent_page_count INTEGER 扩展页面数。 extent_count_start BIGINT 起始扩展号。 extent_count_end BIGINT 终止扩展号。 total_size BIGINT 段数据区的大小。单位为字节。 例如: gaussdb=# SELECT * FROM gs_seg_get_segment_layout(); version | section_id | section_type | extent_size | extent_page_count | extent_count_start | extent_count_end | total_size ---------+------------+--------------+-------------+-------------------+--------------------+------------------+---------------- 1.0 | 1 | meta | 8192 | 1 | 0 | 0 | 8192 1.0 | 2 | data | 65536 | 8 | 1 | 16 | 1048576 1.0 | 3 | data | 1048576 | 128 | 17 | 143 | 134217728 1.0 | 4 | data | 8388608 | 1024 | 144 | 255 | 1073741824 1.0 | 5 | data | 33554432 | 4096 | 256 | 1025255 | 34394366541824 (5 rows)
  • gs_seg_get_segment(tablespace_name NAME, bucketnode INTEGER, head_block_id BIGINT) 描述:输出该表空间下段头文件里段头页面的段头信息。只支持管理员权限用户查询。 参数说明: 名称 类型 描述 tablespace_name NAME 段对象所属的表空间。 bucketnode INTEGER 0~1023表示hashbucket表的bucketnode。 1024表示段页式普通表的bucketnode。 1025表示段页式全局临时表的bucketnode。 1026表示段页式unlogged表的bucketnode。 1027表示段页式本地临时表的bucketnode。 head_block_id BIGINT 段头页面号。 返回值说明: 名称 类型 描述 blocks BIGINT 段对象的逻辑页面数。 total_blocks BIGINT 段对象的物理页面数。 extents INTEGER 段对象的逻辑扩展数。 total_extents INTEGER 段对象的物理扩展数。 head_lsn TEXT 段头lsn标识。 level0_slots BIGINT[] 段扩展映射level0槽位数组。 level1_slots BIGINT[] 段扩展映射level1槽位数组。 fork_head BIGINT[] 段对象的分支段头数组。 例如(下列操作需要在创建过段页式普通表后再执行): gaussdb=# SELECT * FROM gs_seg_get_segment('pg_default', 1024, 4157); blocks | total_blocks | extents | total_extents | head_lsn | level0_slots | level1_slots | fork_head --------+--------------+---------+---------------+----------+--------------+--------------+---------------- 9 | 16 | 2 | 2 | 62211744 | {4157,4165} | {} | {4157,4158,-1} (1 row)
  • gs_seg_get_datafile_layout() 描述:查看1~5号数据文件的静态布局。只支持管理员权限用户查询。 返回值说明: 名称 类型 描述 version TEXT 段页式版本。默认:1.0。 seg_storage_type TEXT segment表示普通段页式数据。 hashbucket表示hashbucket数据。 file_id INTEGER 数据文件标识。取值范围:[1,5]的int4值。 section_id INTEGER 数据文件划分的数据区号。 section_type TEXT 数据文件区类型。 取值范围: file_header表示文件头。 spc_header表示空间头。 map_header表示映射头。 map_pages表示映射页面。 ip_pages(inverse pointer pages)表示反向指针页面。 data_pages表示数据页面。 page_start BIGINT 数据区域起始页面号。 page_end BIGINT 数据区域结束页面号。 page_count BIGINT 数据区域页面数。 total_size BIGINT 数据区的大小。单位为字节。 例如: gaussdb=# SELECT * FROM gs_seg_get_datafile_layout(); ...(数据较多,仅展示部分) version | seg_storage_type | file_id | section_id | section_type | page_start | page_end | page_count | total_size ---------+------------------+---------+------------+--------------+--------------+--------------+-------------+----------------- 1.0 | segment | 1 | 0 | file_header | 0 | 0 | 1 | 8192 1.0 | segment | 1 | 1 | spc_header | 1 | 1 | 1 | 8192 1.0 | segment | 1 | 2 | map_header | 2 | 2 | 1 | 8192 1.0 | segment | 1 | 3 | map_pages | 3 | 66 | 64 | 524288 1.0 | segment | 1 | 4 | ip_pages | 67 | 4156 | 4090 | 33505280 1.0 | segment | 1 | 5 | data_pages | 4157 | 4147260 | 4143104 | 33940307968
提示

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