返回首页

gbase数据、南大通用产品文档:GBase8aPARTITIONS

更新日期:2024年09月11日

功能说明
记录数据库中的表分区信息。
表结构说明
表5- 218 表结构信息说明:




TABLE_CATALOG
表所在的目录,始终为NULL
TABLE_SCHEMA
表所在数据库名
TABLE_NAME
表名
PARTITION_NAME
分区名
SUBPARTITION_NAME
如果partititon 表行表示一个子分区,则为子分区名,
否则为0,无则为NULL
PARTITION_ORDINAL_POSI
TION
分区索引的位置编号,
从1 开始。
所有分区的索引顺
序与定义的顺序相同
SUBPARTITION_ORDINAL_
POSITION
子分区的位置编号
PARTITION_METHOD
分区类型,取值包括LIST、RANGE、HASH、KEY

SUBPARTITION_METHOD
字分区类型,
取值包括LIST、
RANGE、
HASH、
KEY

PARTITION_EXPRESSION
创建表的当前分区方案
SUBPARTITION_EXPRESSI
ON
创建表的当前子分区方案,如果没有为NULL
PARTITION_DESCRIPTION
用于RANGE 和LIST 分区。对于RANGE 分区,它
包含分区VALUES LESS THAN 子句中设置的值,

值可以是整数或MAXVALUE。对于LIST 分区,此
列包含分区的VALUES IN 子句中定义的值,该子句
是用逗号分隔的整数值的列表。
TABLE_ROWS
分区中的行数
AVG_ROW_LENGTH
分区或子分区中的行的平均长度,单位:字节
DATA_LENGTH
分区或子分区中存储的所有行的总长度,
单位:
字节
MAX_DATA_LENGTH
分区或子分区中存储的最大字节数
INDEX_LENGTH
分区或子分区的索引文件的长度,单位:字节
DATA_FREE
分配给分区或子分区但未使用的字节数

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1463
CREATE_TIME
分区或子分区的创建时间
UPDATE_TIME
分区或子分区的更新时间
CHECK_TIME
上次检查该分区或子分区所属的表的时间
CHECKSUM
校验和值,没有未NULL
PARTITION_COMMENT
分区注释,如无显示为空
NODEGROUP
分区所属的节点组
TABLESPACE_NAME
分区所属的表空间名称
TABLE_ID
分区的表ID

使用“视图管理”功能,您可以对数据库中的视图进行管理。
视图管理功能只能对用户数据库下的视图进行增删改查操作。
下面的章节将根据如下功能详细介绍视图管理功能:

新建视图

编辑视图

删除视图

GBaseDataStudio 管理工具手册
南大通用数据技术股份有限公司
- 301 -

过滤视图


pg_create_logical_replication_slot('slot_name', 'plugin_name')

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
462
描述:创建逻辑复制槽。
参数说明:

slot_name :流复制槽名称。
取值范围:字符串,不支持除字母,数字,以及(_?-.)以外的字符。

plugin_name
插件名称。
取值范围:字符串,当前支持mppdb_decoding。
返回值类型:name, text
备注:第一个返回值表示slot_name,第二个返回值表示该逻辑复制槽解码的起始LSN
位置。调用该函数的用户需要具有SYSADMIN 权限或具有REPLICATION 权限或继承了内
置角色gs_role_replication 的权限。此函数目前只支持在主机调用。

pg_create_physical_replication_slot('slot_name', 'isDummyStandby')
描述:创建新的物理复制槽。
参数说明:

slot_name :流复制槽名称。
取值范围:字符串,不支持除字母,数字,以及(_?-.)以外的字符。

isDummyStandby
是否是从从备连接主机创建的复制槽。
类型:bool。
返回值类型:name, text
备注:调用该函数的用户需要具有SYSADMIN 权限或具有REPLICATION 权限或继承
了内置角色gs_role_replication 的权限。目前默认不支持主备从部署模式。

pg_drop_replication_slot('slot_name')

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
463
描述:删除流复制槽。
参数说明:

slot_name :流复制槽名称。
取值范围:字符串,不支持除字母,数字,以及(_?-.)以外的字符。
返回值类型:void
备注:调用该函数的用户需要具有SYSADMIN 权限或具有REPLICATION 权限或继承
了内置角色gs_role_replication 的权限。此函数目前只支持在主机调用。

pg_logical_slot_peek_changes('slot_name',
'LSN',
upto_nchanges,
'options_name',
'options_value')
描述:解码并不推进流复制槽(下次解码可以再次获取本次解出的数据)

参数说明:

slot_name
流复制槽名称。
取值范围:字符串,不支持除字母,数字,以及(_?-.)以外的字符。

LSN
日志的LSN,表示只解码小于等于此LSN 的日志。
取值范围:字符串(LSN,格式为xlogid/xrecoff)
,如'1/2AAFC60'。为NULL 时表
示不对解码截止的日志位置做限制。

upto_nchanges
解码条数(包含begin 和commit)
。假设一共有三条事务,分别包含3、5、7 条记
录,如果upto_nchanges 为4,那么会解码出前两个事务共8 条记录。解码完第二
条事务时发现解码条数记录大于等于upto_nchanges,会停止解码。
取值范围:非负整数。

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
464
LSN 和upto_nchanges 中任一参数达到限制,解码都会结束。
options:此项为可选参数,由一系列options_name 和options_value 一一对应组成。

include-xids
解码出的data 列是否包含xid 信息。
取值范围:0 或1,默认值为1。
0:设为0 时,解码出的data 列不包含xid 信息。
1:设为1 时,解码出的data 列包含xid 信息。

skip-empty-xacts
解码时是否忽略空事务信息。
取值范围:0 或1,默认值为0。
0:设为0 时,解码时不忽略空事务信息。
1:设为1 时,解码时会忽略空事务信息。

include-timestamp
解码信息是否包含commit 时间戳。
取值范围:0 或1,默认值为0。
0:设为0 时,解码信息不包含commit 时间戳。
1:设为1 时,解码信息包含commit 时间戳。

only-local
是否仅解码本地日志。
取值范围:0 或1,默认值为1。
0:设为0 时,解码非本地日志和本地日志。

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
465
1:设为1 时,仅解码本地日志。

force-binary
是否以二进制格式输出解码结果。
取值范围:0,默认值为0。
0:设为0 时,以文本格式输出解码结果。

white-table-list
白名单参数,包含需要进行解码的schema 和表名。
取值范围:包含白名单中表名的字符串,不同的表以','为分隔符进行隔离;使用'*'
来模糊匹配所有情况;schema 名和表名间以'.'分割,不允许存在任意空白符。例:
select * from pg_logical_slot_peek_changes('slot1', NULL, 4096, 'white-table-list',
'public.t1,public.t2');
返回值类型:text, xid, text
备注:函数返回解码结果,每一条解码结果包含三列,对应上述返回值类型,分别表示
LSN 位置、xid 和解码内容。
调用该函数的用户需要具有SYSADMIN 权限或具有REPLICATION 权限或继承了内置
角色gs_role_replication 的权限。

pg_logical_slot_get_changes('slot_name',
'LSN',
upto_nchanges,
'options_name',
'options_value')
描述:解码并推进流复制槽。
参数说明:与pg_logical_slot_peek_changes 一致,详细内容请参见•
pg_logical_slot_peek_ch…。
备注:调用该函数的用户需要具有SYSADMIN 权限或具有REPLICATION 权限或继承
了内置角色gs_role_replication 的权限。此函数目前只支持在主机调用。

pg_logical_slot_peek_binary_changes('slot_name', 'LSN', upto_nchanges, 'options_name',

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
466
'options_value')
描述:以二进制格解码且不推进流复制槽(下次解码可以再次获取本次解出的数据)

参数说明:

slot_name
流复制槽名称。
取值范围:字符串,不支持除字母,数字,以及(_?-.)以外的字符。

LSN
日志的LSN,表示只解码小于等于此LSN 的日志。
取值范围:字符串(LSN,格式为xlogid/xrecoff)
,如'1/2AAFC60'。为NULL 时表
示不对解码截止的日志位置做限制。

upto_nchanges
解码条数(包含begin 和commit)
。假设一共有三条事务,分别包含3、5、7 条记
录,如果upto_nchanges 为4,那么会解码出前两个事务共8 条记录。解码完第二
条事务时发现解码条数记录大于等于upto_nchanges,会停止解码。
取值范围:非负整数。
LSN 和upto_nchanges 中任一参数达到限制,解码都会结束。
options:此项为可选参数,由一系列options_name 和options_value 一一对应组成。

include-xids
解码出的data 列是否包含xid 信息。
取值范围:0 或1,默认值为1。
0:设为0 时,解码出的data 列不包含xid 信息。
1:设为1 时,解码出的data 列包含xid 信息。

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
467

skip-empty-xacts
解码时是否忽略空事务信息。
取值范围:0 或1,默认值为0。
0:设为0 时,解码时不忽略空事务信息。
1:设为1 时,解码时会忽略空事务信息。

include-timestamp
解码信息是否包含commit 时间戳。
取值范围:0 或1,默认值为0。
0:设为0 时,解码信息不包含commit 时间戳。
1:设为1 时,解码信息包含commit 时间戳。

only-local
是否仅解码本地日志。
取值范围:0 或1,默认值为1。
0:设为0 时,解码非本地日志和本地日志。
1:设为1 时,仅解码本地日志。

force-binary
是否以二进制格式输出解码结果。
取值范围:0 或1,默认值为0,均以二进制格式输出结果。

white-table-list
白名单参数,包含需要进行解码的schema 和表名。
取值范围:包含白名单中表名的字符串,不同的表以','为分隔符进行隔离;使用'*'
来模糊匹配所有情况;schema 名和表名间以'.'分割,不允许存在任意空白符。例:
select
*
from
pg_logical_slot_peek_binary_changes('slot1',
NULL,
4096,

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
468
'white-table-list', 'public.t1,public.t2');
返回值类型:text, xid, bytea
备注:函数返回解码结果,每一条解码结果包含三列,对应上述返回值类型,分别表示
LSN 位置、xid 和二进制格式的解码内容。调用该函数的用户需要具有SYSADMIN 权限或
具有REPLICATION 权限或继承了内置角色gs_role_replication 的权限。

pg_logical_slot_get_binary_changes('slot_name',
'LSN',
upto_nchanges,
'options_name',
'options_value')
描述:以二进制格式解码并推进流复制槽。
参数说明:
与pg_logical_slot_peek_binary_changes 一致。
备注:调用该函数的用户需要具有SYSADMIN 权限或具有REPLICATION 权限或继承
了内置角色gs_role_replication 的权限。

pg_replication_slot_advance ('slot_name', 'LSN')
描述:直接推进流复制槽到指定LSN,不输出解码结果。
参数说明:

slot_name
流复制槽名称。
取值范围:字符串,不支持除字母,数字,以及(_?-.)以外的字符。

LSN
推进到的日志LSN 位置,下次解码时只会输出提交位置比该LSN 大的事务结果。
如果输入的LSN 比当前流复制槽记录的推进位置还要小,则直接返回;如果输入
的LSN 比当前最新物理日志LSN 还要大,则推进到当前最新物理日志LSN。
取值范围:字符串(LSN,格式为xlogid/xrecoff)


GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
469
返回值类型:name, text
备注:返回值分别对应slot_name 和实际推进至的LSN。调用该函数的用户需要具有
SYSADMIN 权限或具有REPLICATION 权限或继承了内置角色gs_role_replication 的权限。
此函数目前只支持在主机调用。

pg_logical_get_area_changes('LSN_start',
'LSN_end',
upto_nchanges,
'decoding_plugin',
'xlog_path', 'options_name', 'options_value')
描述:没有ddl 的前提下,指定lsn 区间进行解码,或者指定xlog 文件进行解码。
约束条件如下:
调用接口时,需要将日志级别参数设置为logical,即wal_level=logical 并重启数据库生
效。只有该条件期间产生的日志文件才能被解析。如果使用的xlog 文件为非logical 级别,
则解码内容没有对应的值和类型,无其他影响。
xlog 文件只能被完全同构的dn 的某个副本解析,确保可以找到数据对应的元信息,且
没有DDL 操作和VACUUM FULL。
用户可以找到需要解析的xlog。用户需要注意一次不要读入过多xlog 文件,推荐一次
一个,
一个xlog 文件估测占用内存为xlog 文件大小的2~3 倍。
无法解码扩容前的xlog 文件。
参数说明:

LSN_start
指定开始解码的lsn。
取值范围:字符串(LSN,格式为xlogid/xrecoff)
,如'1/2AAFC60'。为NULL 时表
示不对解码截止的日志位置做限制。

LSN_end
指定解码结束的lsn。
取值范围:字符串(LSN,格式为xlogid/xrecoff)
,如'1/2AAFC60'。为NULL 时表
示不对解码截止的日志位置做限制。LSN_start 必须要小于LSN_end,否则报错。

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
470

upto_nchanges
解码条数(包含begin 和commit)
。假设一共有三条事务,分别包含3、5、7 条记
录,如果upto_nchanges 为4,那么会解码出前两个事务共8 条记录。解码完第二
条事务时发现解码条数记录大于等于upto_nchanges,会停止解码。
取值范围:非负整数。
LSN 和upto_nchanges 中任一参数达到限制,解码都会结束。

decoding_plugin
解码插件,指定解码内容输出格式的so 插件。
取值范围:提供mppdb_decoding 和sql_decoding 两个解码插件。

xlog_path
解码插件,指定解码文件的xlog 绝对路径,文件级别
取值范围:NULL 或者xlog 文件绝对路径的字符串。
options:此项为可选参数,由一系列options_name 和options_value 一一对应组成,
可以缺省,详见pg_logical_slot_peek_changes。
示例:
gbase=# SELECT pg_current_xlog_location();
pg_current_xlog_location
--------------------------
0/45D9370
(1 row)
gbase=# create table t1 (a int primary key,b int,c int);
NOTICE:
CREATE TABLE / PRIMARY KEY will create implicit index "t1_pkey" for table
"t1"
CREATE TABLE
gbase=# insert into t1 values(1,1,1);
INSERT 0 1
gbase=# insert into t1 values(2,2,2);
INSERT 0 1

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
471
gbase=# select data from pg_logical_get_area_changes('0/35D9370',
'0/45D9370',NULL,'mppdb_decoding',NULL);
data
------
(0 rows)

pg_get_replication_slots()
描述:获取复制槽列表。
返回值类型:text,text,text,oid,boolean,xid,xid,text,boolean
示例:
gbase=# select * from pg_get_replication_slots();
slot_name | plugin | slot_type | datoid | active | xmin | catalog
_xmin | restart_lsn | dummy_standby
-----------+--------+-----------+--------+--------+------+--------
------+-------------+---------------
(0 rows)

gs_get_parallel_decode_status()
描述:
监控各个解码线程的读取日志队列和解码结果队列的长度,
以便定位并行解码性
能瓶颈。
返回值类型:text, int, text, text
示例:
gbase=# select * from gs_get_parallel_decode_status();
slot_name | parallel_decode_num | read_change_queue_length | deco
de_change_queue_length
-----------+---------------------+--------------------------+-----
-----------------------
(0 rows)
备注:返回值的slot_name 代表复制槽名,parallel_decode_num 代表该复制槽的并行解
码线程数,read_change_queue_length 列出了每个解码线程读取日志队列的当前长度,
decode_change_queue_length 列出了每个解码线程解码结果队列的当前长度。

pg_replication_origin_create (node_name)

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
472
描述:用给定的外部名称创建一个复制源,并且返回分配给它的内部ID。
备注:调用该函数的用户需要具有SYSADMIN 权限。
参数说明:

node_name
待创建的复制源的名称。
取值范围:字符串,不支持除字母,数字,以及(_?-.)以外的字符。
返回值类型:oid

pg_replication_origin_drop (node_name)
描述:删除一个以前创建的复制源,包括任何相关的重放进度。
备注:调用该函数的用户需要具有SYSADMIN 权限。
参数说明:

node_name
待删除的复制源的名称。
取值范围:字符串,不支持除字母,数字,以及(_?-.)以外的字符。

pg_replication_origin_oid (node_name)
描述:根据名称查找复制源并返回内部ID。如果没有发现这样的复制源,则抛出错误。
备注:调用该函数的用户需要具有SYSADMIN 权限。
参数说明:

node_name
要查找的复制源的名称
取值范围:字符串,不支持除字母,数字,以及(_?-.)以外的字符。
返回值类型:oid

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
473

pg_replication_origin_session_setup (node_name)
描述:将当前会话标记为从给定的原点回放,
从而允许跟踪回放进度。只能在当前没有
选择原点时使用。使用pg_replication_origin_session_reset 命令来撤销。
备注:调用该函数的用户需要具有SYSADMIN 权限。
参数说明:

node_name
复制源名称。
取值范围:字符串,不支持除字母,数字,以及(_?-.)以外的字符。

pg_replication_origin_session_reset ()
描述:取消pg_replication_origin_session_setup()的效果。
备注:调用该函数的用户需要具有SYSADMIN 权限。

pg_replication_origin_session_is_setup ()
描述:如果在当前会话中选择了复制源则返回真。
备注:调用该函数的用户需要具有SYSADMIN 权限。
返回值类型:boolean

pg_replication_origin_session_progress (flush)
描述:返回当前会话中选择的复制源的重放位置。
备注:调用该函数的用户需要具有SYSADMIN 权限。
参数说明:

flush
决定对应的本地事务是否被确保已经刷入磁盘。
取值范围:boolean

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
474
返回值类型:LSN

pg_replication_origin_xact_setup (origin_lsn, origin_timestamp)
描述:将当前事务标记为重放在给定LSN 和时间戳上提交的事务。只能在使用
pg_replication_origin_session_setup 选择复制源时调用。
备注:调用该函数的用户需要具有SYSADMIN 权限。
参数说明:

origin_lsn
复制源回放位置。
取值范围:LSN

origin_timestamp
事务提交时间。
取值范围:timestamp with time zone

pg_replication_origin_xact_reset ()
描述:取消pg_replication_origin_xact_setup()的效果。
备注:调用该函数的用户需要具有SYSADMIN 权限。

pg_replication_origin_advance (node_name, lsn)
描述:
将给定节点的复制进度设置为给定的位置。
这主要用于设置初始位置,
或在配置更改或
类似的变更后设置新位置。
注意:这个函数的使用不当可能会导致不一致的复制数据。
备注:调用该函数的用户需要具有SYSADMIN 权限。
参数说明:

node_name

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
475
已有复制源名称。
取值范围:字符串,不支持除字母,数字,以及(_?-.)以外的字符。

lsn
复制源回放位置。
取值范围:LSN

pg_replication_origin_progress (node_name, flush)
描述:返回给定复制源的重放位置。
备注:调用该函数的用户需要具有SYSADMIN 权限。
参数说明:

node_name
复制源名称。
取值范围:字符串,不支持除字母,数字,以及(_?-.)以外的字符。

flush
决定对应的本地事务是否被确保已经刷入磁盘。
取值范围:boolean

pg_show_replication_origin_status()
描述:获取复制源的复制状态。
备注:调用该函数的用户需要具有SYSADMIN 权限。
返回值类型:
local_id:oid,复制源id。
external_id:text,复制源名称。
remote_lsn:LSN,复制源的lsn 位置。

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
476
local_lsn:LSN,本地的lsn 位置。

pg_get_publication_tables(pub_name)
描述:根据发布的名称,返回对应发布要发布的表的relid 列表
参数说明:

pub_name
已存在的发布名称
取值范围:字符串,不支持除字母,数字,以及(_?-.)以外的字符。
返回值类型:relid 列表

pg_stat_get_subscription(sub_oid oid) →record
描述:
输入订阅的oid,返回订阅的状态信息。
参数说明:

subid
订阅的oid。
取值范围:oid
返回值类型:
relid:oid,表的oid。
pid:thread_id,后台apply/sync 线程的thread id。
received_lsn:pg_lsn,从发布端接收到的最近的lsn。
last_msg_send_time:timestamp,最近发布端发送消息的时间。
last_msg_receipt_time:timestamp,最新订阅端收到消息的时间。
latest_end_lsn:pg_lsn,最近一次收到保活消息时发布端的lsn。

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
477
latest_end_time:timstamp,最近一次收到保活消息的时间。