返回首页

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

更新日期:2024年09月11日

CREATE FULLTEXT INDEX 语句建立全文索引
语法格式
在用户建立表后,使用FULLTEXT 关键字指明表中哪一列需要建立全文索引。
CREATE FULLTEXT INDEX index_name ON table_name (column_name)
[INDEX_DATA_PATH='path']
表5- 35 参数说明
参数名称


index_name
索引名(索引名表级唯一,索引名将不区分大小写)。
table_name
表名。
column_name
索引列列名,支持CHAR、VARCHAR 或TEXT 类型。
INDEX_DATA_PATH
可选项,设置索引数据路径标志。如不填写,则索引数据保
存在默认路径上。
path
索引数据存放路径,此路径应为实际已存在的路径。
注意
执行用户需要对path 指定的存放索引数据的目录具有读写权限。
示例
示例1:CREATE FULLTEXT INDEX...
gbase> CREATE FULLTEXT INDEX idx_t ON sms(MB_Text)
INDEX_DATA_PATH='/home/fti/';
Query OK, 0 rows affected
Records: 0
Duplicates: 0
Warnings: 0

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
920

PG_THREAD_WAIT_STATUS
通过PG_THREAD_WAIT_STATUS 视图可以检测当前实例中工作线程
(backend thread)
以及辅助线程(auxiliary thread)的阻塞等待情况。
名称
类型
描述
node_name
text
当前节点的名称。
db_name
text
数据库名称。
thread_name
text
线程名称。
query_id
bigint
查询ID,对应debug_query_id。
tid
bigint
当前线程的线程号。
sessionid
bigint
当前会话ID。
lwtid
integer
当前线程的轻量级线程号。
psessionid
bigint
父会话ID。
tlevel
integer
streaming 线程的层级。
smpid
integer
并行线程的ID。
wait_status
text
当前线程的等待状态。
等待状态的详细信息请参见表15-15-2。
wait_event
text
如果wait_status 是acquire lock、
acquire lwlock、
wait io 三种
类型,此列描述具体的锁、轻量级锁、IO 的信息。否则是空。
locktag
text
当前线程正在等待锁的信息。
lockmode
text
当前线程正等待获取的锁模式。包含表级锁、行级锁、页级

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
914
名称
类型
描述
锁下的各模式。
block_sessioni
d
bigint
阻塞当前线程获取锁的会话标识。
global_session
id
text
全局会话ID。
wait_status 列的等待状态有以下状态。
wait_status 值
含义
none
没在等任意事件。
acquire lock
等待加锁,要么加锁成功,要么加锁等待超时。
acquire lwlock
等待获取轻量级锁。
wait io
等待IO 完成。
wait cmd
等待完成读取网络通信包。
wait pooler get conn
等待pooler 完成获取连接。
wait pooler abort conn
等待pooler 完成终止连接。
wait pooler clean conn
等待pooler 完成清理连接。
pooler create conn:[nodename], total
N
等待pooler 建立连接,当前正在与nodename 指定
节点建立连接,且仍有N 个连接等待建立。
get conn
获取到其他节点的连接。
set cmd: [nodename]
在连接上执行SET/RESET/TRANSACTION BLO
CK LEVEL PARA SET/SESSION LEVEL PAR
A SET,当前正在nodename 指定节点上执行。
cancel query
取消某连接上正在执行的SQL 语句。
stop query
停止某连接上正在执行的查询。
wait node: [nodename](plevel), total
等待接收与某节点的连接上的数据,
当前正在等待

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
915
wait_status 值
含义
N, [phase]
nodename 节点plevel 线程的数据,且仍有N 个连
接的数据待返回。如果状态包含phase 信息,则可
能的阶段状态有:
begin:表示处于事务开始阶段。
commit:表示处于事务提交阶段。
rollback:表示处于事务回滚阶段。
wait transaction sync: xid
等待xid 指定事务同步。
wait wal sync
等待特定LSN 的wal log 完成到备机的同步。
wait data sync
等待完成数据页到备机的同步。
wait data sync queue
等待把行存的数据页或列存的CU 放入同步队列。
flush data: [nodename](plevel), [phas
e]
等待向网络中nodename 指定节点的plevel 对应线
程发送数据。如果状态包含phase 信息,则可能的
阶段状态为wait quota,即当前通信流正在等待q
uota 值。
stream get conn: [nodename], total N
初始化stream flow 时,
等待与nodename 节点的c
onsumer 对象建立连接,
且当前有N 个待建连对象。
wait producer \ready: [nodename](ple
vel), total N
初始化stream flow 时,等待每个producer 都准备
好,当前正在等待nodename 节点plevel 对应线程
的producer 对象准备好,且仍有N 个producer 对
象处于等待状态。
synchronize quit
stream plan 结束时,等待stream 线程组内的线程
统一退出。
wait stream nodegroup destroy
stream plan 结束时,
等待销毁stream node group。
wait active statement
等待作业执行,正在资源负载管控中。
analyze: [relname], [phase]
当前正在对表relname 执行analyze。
如果状态包含
phase 信息,则为autovacuum,表示是数据库自动
开启AutoVacuum 线程执行的analyze 分析操作。
vacuum: [relname], [phase]
当前正在对表relname 执行vacuum。
如果状态包含
phase 信息,则为autovacuum,表示是数据库自动
开启AutoVacuum 线程执行的vacuum 清理操作。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
916
wait_status 值
含义
vacuum full: [relname]
当前正在对表relname 执行vacuum full 清理。
create index
当前正在创建索引。
HashJoin - [ build hash | write file
]
当前是HashJoin 算子,主要关注耗时的执行阶段。
build hash:表示当前HashJoin 算子正在建立哈希
表。
write file:
表示当前HashJoin 算子正在将数据写入
磁盘。
HashAgg - [ build hash | write file
]
当前是HashAgg 算子,主要关注耗时的执行阶段。
build hash:表示当前HashAgg 算子正在建立哈希
表。
write file:表示当前HashAgg 算子正在将数据写
入磁盘。
HashSetop - [build hash | write file
]
当前是HashSetop 算子,
主要关注耗时的执行阶段。
build hash:表示当前HashSetop 算子正在建立哈
希表。
write file:表示当前HashSetop 算子正在将数据写
入磁盘。
Sort | Sort - [fetch tuple | write file]
当前是Sort 算子做排序,
fetch tuple 表示Sort 算子
正在获取tuple,write file 表示Sort 算子正在将数
据写入磁盘。
Material | Material - write file
当前是Material 算子,
write file 表示Material 算子
正在将数据写入磁盘。
NestLoop
当前是NestLoop 算子。
wait memory
等待内存获取。
wait sync consumer next step
Stream 算子等待消费者执行。
wait sync producer next step
Stream 算子等待生产者执行。
当wait_status 为acquire lwlock、acquire lock 或者wait io 时,表示有等待事件。正在等
待获取wait_event 列对应类型的轻量级锁、事务锁,或者正在进行IO。
其中,wait_status 值为acquire lwlock(轻量级锁)时对应的wait_event 等待事件类型与

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
917
描述信息如下。
(wait_event 为extension 时,表示此时的轻量级锁是动态分配的锁,未被监
控。)
轻量级锁等待事件列表
wait_event 类型
类型描述
ShmemIndexLock
用于保护共享内存中的主索引哈希表。
OidGenLock
用于避免不同线程产生相同的OID。
XidGenLock
用于避免两个事务获得相同的xid。
ProcArrayLock
用于避免并发访问或修改ProcArray 共享数组。
SInvalReadLock
用于避免与清理失效消息并发执行。
SInvalWriteLock
用于避免与其它写失效消息、清理失效消息并发执行。
WALInsertLock
用于避免与其它WAL 插入操作并发执行。
WALWriteLock
用于避免并发WAL 写盘。
ControlFileLock
用于避免pg_control 文件的读写并发、写写并发。
CheckpointLock
用于避免多个checkpoint 并发执行。
CLogControlLock
用于避免并发访问或者修改Clog 控制数据结构。
SubtransControlLock
用于避免并发访问或者修改子事务控制数据结构。
MultiXactGenLock
用于串行分配唯一MultiXact id。
MultiXactOffsetControlLock
用于避免对pg_multixact/offset 的写写并发和读写并发。
MultiXactMemberControlLock
用于避免对pg_multixact/members 的写写并发和读写并
发。
RelCacheInitLock
用于失效消息场景对init 文件进行操作时加锁。
CheckpointerCommLock
用于向checkpointer 发起文件刷盘请求场景,需要串行
的向请求队列插入请求结构。
TwoPhaseStateLock
用于避免并发访问或者修改两阶段信息共享数组。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
918
wait_event 类型
类型描述
TablespaceCreateLock
用于确定tablespace 是否已经存在。
BtreeVacuumLock
用于防止vacuum 清理B-tree 中还在使用的页面。
AutovacuumLock
用于串行化访问autovacuum worker 数组。
AutovacuumScheduleLock
用于串行化分配需要vacuum 的table。
AutoanalyzeLock
用于获取和释放允许执行Autoanalyze 的任务资源。
SyncScanLock
用于确定heap 扫描时某个relfilenode 的起始位置。
NodeTableLock
用于保护存放数据库节点信息的共享结构。
PoolerLock
用于保证两个线程不会同时从连接池里取到相同的连
接。
RelationMappingLock
用于等待更新系统表到存储位置之间映射的文件。
AsyncCtlLock
用于避免并发访问或者修改共享通知状态。
AsyncQueueLock
用于避免并发访问或者修改共享通知信息队列。
SerializableXactHashLock
用于避免对于可串行事务共享结构的写写并发和读写
并发。
SerializableFinishedListLock
用于避免对于已完成可串行事务共享链表的写写并发
和读写并发。
SerializablePredicateLockListLoc
k
用于保护对于可串行事务持有的锁链表。
OldSerXidLock
用于保护记录冲突可串行事务的结构。
FileStatLock
用于保护存储统计文件信息的数据结构。
SyncRepLock
用于在主备复制时保护xlog 同步信息。
DataSyncRepLock
用于在主备复制时保护数据页同步信息。
CStoreColspaceCacheLock
用于保护列存表的CU 空间分配。
CStoreCUCacheSweepLock
用于列存CU Cache 循环淘汰。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
919
wait_event 类型
类型描述
MetaCacheSweepLock
用于元数据循环淘汰。
ExtensionConnectorLibLock
用于初始化ODBC 连接场景,
在加载与卸载特定动态库
时进行加锁。
SearchServerLibLock
用于GPU 加速场景初始化加载特定动态库时,对读文
件操作进行加锁。
LsnXlogChkFileLock
用于串行更新特定结构中记录的主备机的xlog flush 位
置点。
ReplicationSlotAllocationLock
用于主备复制时保护主机端的流复制槽的分配。
ReplicationSlotControlLock
用于主备复制时避免并发更新流复制槽状态。
ResourcePoolHashLock
用于避免并发访问或者修改资源池哈希表。
WorkloadStatHashLock
用于避免并发访问或者修改包含数据库主节点的SQL
请求构成的哈希表。
WorkloadIoStatHashLock
用于避免并发访问或者修改用于统计当前数据库节点
的IO 信息的哈希表。
WorkloadCGroupHashLock
用于避免并发访问或者修改Cgroup 信息构成的哈希表。
OBSGetPathLock
用于避免对obs 路径的写写并发和读写并发。
WorkloadUserInfoLock
用于避免并发访问或修改负载管理的用户信息哈希表。
WorkloadRecordLock
用于避免并发访问或修改在内存自适应管理时对数据
库主节点收到请求构成的哈希表。
WorkloadIOUtilLock
用于保护记录iostat,CPU 等负载信息的结构。
WorkloadNodeGroupLock
用于避免并发访问或者修改内存中的nodegroup 信息构
成的哈希表。
JobShmemLock
用于定时任务功能中保护定时读取的全局变量。
OBSRuntimeLock
用于获取环境变量,如GASSHOME。
LLVMDumpIRLock
用于导出动态生成函数所对应的汇编语言。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
920
wait_event 类型
类型描述
LLVMParseIRLock
用于在查询开始处从IR 文件中编译并解析已写好的IR
函数。
CriticalCacheBuildLock
用于从共享或者本地缓存初始化文件中加载cache 的场
景。
WaitCountHashLock
用于保护用户语句计数功能场景中的共享结构。
BufMappingLock
用于保护对共享缓冲映射表的操作。
LockMgrLock
用于保护常规锁结构信息。
PredicateLockMgrLock
用于保护可串行事务锁结构信息。
OperatorRealTLock
用于避免并发访问或者修改记录算子级实时数据的全
局结构。
OperatorHistLock
用于避免并发访问或者修改记录算子级历史数据的全
局结构。
SessionRealTLock
用于避免并发访问或者修改记录query 级实时数据的全
局结构。
SessionHistLock
用于避免并发访问或者修改记录query 级历史数据的全
局结构。
CacheSlotMappingLock
用于保护CU Cache 全局信息。
BarrierLock
用于保证当前只有一个线程在创建Barrier。
dummyServerInfoCacheLock
用于保护缓存加速GBase 8c 连接信息的全局哈希表。
RPNumberLock
用于加速GBase 8c 的数据库节点对正在执行计划的任
务线程的计数。
CBMParseXlogLock
Cbm 解析xlog 时的保护锁。
RelfilenodeReuseLock
避免错误地取消已重用的列属性文件的链接。
RcvWriteLock
防止并发调用WalDataRcvWrite。
PercentileLock
用于保护全局PercentileBuffer。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
921
wait_event 类型
类型描述
CSNBufMappingLock
保护csn 页面。
UniqueSQLMappingLock
用于保护uniquesql hash table。
DelayDDLLock
防止并发ddl。
CLOG Ctl
用于避免并发访问或者修改Clog 控制数据结构。
Async Ctl
保护Async buffer。
MultiXactOffset Ctl
保护MultiXact offet 的slru buffer。
MultiXactMember Ctl
保护MultiXact member 的slrubuffer。
OldSerXid SLRU Ctl
保护old xids 的slru buffer。
ReplicationSlotLock
用于保护ReplicationSlot。
PGPROCLock
用于保护pgproc。
MetaCacheLock
用于保护MetaCache。
DataCacheLock
用于保护datacache。
InstrUserLock
用于保护InstrUserHTAB。
BadBlockStatHashLock
用于保护global_bad_block_stat hash 表。
BufFreelistLock
用于保证共享缓冲区空闲列表操作的原子性。
CUSlotListLock
用于控制列存缓冲区槽位的并发操作。
AddinShmemInitLock
保护共享内存对象的初始化。
AlterPortLock
保护协调节点更改注册端口号的操作。
FdwPartitionCaheLock
HDFS 分区表缓冲区的管理锁。
DfsConnectorCacheLock
DFSConnector 缓冲区的管理锁。
DfsSpaceCacheLock
HDFS 表空间管理缓冲区的管理锁。
FullBuildXlogCopyStartPtrLock
用于保护全量Build 中Xlog 拷贝的操作。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
922
wait_event 类型
类型描述
DfsUserLoginLock
用于HDFS 用户登录以及认证。
LogicalReplicationSlotPersistentD
ataLock
用于保护逻辑复制过程中复制槽位的数据。
WorkloadSessionInfoLock
保护负载管理session info 内存hash 表访问。
InstrWorkloadLock
保护负载管理统计信息的内存hash 表访问。
PgfdwLock
用于管理实例向Foreign server 建立连接。
InstanceTimeLock
用于获取实例中会话的时间信息。
XlogRemoveSegLock
保护Xlog 段文件的回收操作。
DnUsedSpaceHashLock
用于更新会话对应的空间使用信息。
CsnMinLock
用于计算CSNmin。
GPCCommitLock
用于保护全局Plan Cache hash 表的添加操作。
GPCClearLock
用于保护全局Plan Cache hash 表的清除操作。
GPCTimelineLock
用于保护全局Plan Cache hash表检查Timeline 的操作。
TsTagsCacheLock
用于时序tag 缓存管理。
InstanceRealTLock
用于保护共享实例统计信息hash 表的更新操作。
CLogBufMappingLock
用于提交日志缓存管理。
GPCMappingLock
用于全局Plan Cache 缓存管理。
GPCPrepareMappingLock
用于全局Plan Cache 缓存管理。
BufferIOLock
保护共享缓冲区页面的IO 操作。
BufferContentLock
保护共享缓冲区页面内容的读取、修改。
CSNLOG Ctl
用于CSN 日志管理。
DoubleWriteLock
用于双写的管理操作。
RowPageReplicationLock
用于管理行存储的数据页复制。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
923
wait_event 类型
类型描述
extension
其他轻量锁。
当wait_status 值为wait io 时对应的wait_event 等待事件类型与描述信息如下。
IO 等待事件列表
wait_event 类型
类型描述
BufFileRead
从临时文件中读取数据到指定buffer。
BufFileWrite
向临时文件中写入指定buffer 中的内容。
ControlFileRead
读取pg_control 文件。主要在数据库启动、执行checkp
oint 和主备校验过程中发生。
ControlFileSync
将pg_control 文件持久化到磁盘。
数据库初始化时发生。
ControlFileSyncUpdate
将pg_control 文件持久化到磁盘。主要在数据库启动、
执行checkpoint 和主备校验过程中发生。
ControlFileWrite
写入pg_control 文件。数据库初始化时发生。
ControlFileWriteUpdate
更新pg_control 文件。主要在数据库启动、执行checkp
oint 和主备校验过程中发生。
CopyFileRead
copy 文件时读取文件内容。
CopyFileWrite
copy 文件时写入文件内容。
DataFileExtend
扩展文件时向文件写入内容。
DataFileFlush
将表数据文件持久化到磁盘。
DataFileImmediateSync
将表数据文件立即持久化到磁盘。
DataFilePrefetch
异步读取表数据文件。
DataFileRead
同步读取表数据文件。
DataFileSync
将表数据文件的修改持久化到磁盘。
DataFileTruncate
表数据文件truncate。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
924
wait_event 类型
类型描述
DataFileWrite
向表数据文件写入内容。
LockFileAddToDataDirRead
读取“postmaster.pid”文件。
LockFileAddToDataDirSync
将“postmaster.pid”内容持久化到磁盘。
LockFileAddToDataDirWrite
将pid 信息写到“postmaster.pid”文件。
LockFileCreateRead
读取LockFile 文件“%s.lock”。
LockFileCreateSync
将LockFile 文件“%s.lock”内容持久化到磁盘。
LockFileCreateWRITE
将pid 信息写到LockFile 文件“%s.lock”。
RelationMapRead
读取系统表到存储位置之间的映射文件。
RelationMapSync
将系统表到存储位置之间的映射文件持久化到磁盘。
RelationMapWrite
写入系统表到存储位置之间的映射文件。
ReplicationSlotRead
读取流复制槽文件。重新启动时发生。
ReplicationSlotRestoreSync
将流复制槽文件持久化到磁盘。重新启动时发生。
ReplicationSlotSync
checkpoint 时将流复制槽临时文件持久化到磁盘。
ReplicationSlotWrite
checkpoint 时写流复制槽临时文件。
SLRUFlushSync
将pg_clog、
pg_subtrans 和pg_multixact 文件持久化到磁
盘。主要在执行checkpoint 和数据库停机时发生。
SLRURead
读取pg_clog、pg_subtrans 和pg_multixact 文件。
SLRUSync
将脏页写入文件pg_clog、pg_subtrans 和pg_multixact
并持久化到磁盘。主要在执行checkpoint 和数据库停机
时发生。
SLRUWrite
写入pg_clog、pg_subtrans 和pg_multixact 文件。
TimelineHistoryRead
读取timeline history 文件。在数据库启动时发生。
TimelineHistorySync
将timeline history 文件持久化到磁盘。
在数据库启动时
发生。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
925
wait_event 类型
类型描述
TimelineHistoryWrite
写入timeline history 文件。在数据库启动时发生。
TwophaseFileRead
读取pg_twophase 文件。在两阶段事务提交、两阶段事
务恢复时发生。
TwophaseFileSync
将pg_twophase 文件持久化到磁盘。
在两阶段事务提交、
两阶段事务恢复时发生。
TwophaseFileWrite
写入pg_twophase 文件。在两阶段事务提交、两阶段事
务恢复时发生。
WALBootstrapSync
将初始化的WAL 文件持久化到磁盘。在数据库初始化
发生。
WALBootstrapWrite
写入初始化的WAL 文件。在数据库初始化发生。
WALCopyRead
读取已存在的WAL 文件并进行复制时产生的读操作。
在执行归档恢复完后发生。
WALCopySync
将复制的WAL 文件持久化到磁盘。在执行归档恢复完
后发生。
WALCopyWrite
读取已存在WAL 文件并进行复制时产生的写操作。在
执行归档恢复完后发生。
WALInitSync
将新初始化的WAL 文件持久化磁盘。在日志回收或写
日志时发生。
WALInitWrite
将新创建的WAL 文件初始化为0。在日志回收或写日
志时发生。
WALRead
从xlog 日志读取数据。两阶段文件redo 相关的操作产
生。
WALSyncMethodAssign
将当前打开的所有WAL 文件持久化到磁盘。
WALWrite
写入WAL 文件。
WALBufferAccess
WAL Buffer 访问(出于性能考虑,内核代码里只统计
访问次数,未统计其访问耗时)。
WALBufferFull
WAL Buffer 满时,写wal 文件相关的处理。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
926
wait_event 类型
类型描述
DoubleWriteFileRead
双写文件读取。
DoubleWriteFileSync
双写文件强制刷盘。
DoubleWriteFileWrite
双写文件写入。
PredoProcessPending
并行日志回放中当前记录回放等待其它记录回放完成。
PredoApply
并行日志回放中等待当前工作线程等待其他线程回放
至本线程LSN。
DisableConnectFileRead
HA 锁分片逻辑文件读取。
DisableConnectFileSync
HA 锁分片逻辑文件强制刷盘。
DisableConnectFileWrite
HA 锁分片逻辑文件写入。
当wait_status 值为acquire lock
(事务锁)
时对应的wait_event 等待事件类型与描述信息
如下。
事务锁等待事件列表
wait_event 类型
类型描述
relation
对表加锁。
extend
对表扩展空间时加锁。
partition
对分区表加锁。
partition_seq
对分区表的分区加锁。
page
对表页面加锁。
tuple
对页面上的tuple 加锁。
transactionid
对事务ID 加锁。
virtualxid
对虚拟事务ID 加锁。
object
加对象锁。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
927
wait_event 类型
类型描述
cstore_freespace
对列存空闲空间加锁。
userlock
加用户锁。
advisory
加advisory 锁。

GBA-02DD-0027
错误码
错误标识
错误信息
分析与建议
检查SQL,看是否同时操作了多个用户,如果有,则拆成单独的SQL 后重试即


GBase 8a MPP Cluster 产品手册
7 附录
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1645
错误码
错误标识
错误信息
GBA-02DD-002
7

The require options are not supported
yet.
错误出现原因
针对grant options:REQUIRE SSL,REQUIRE X509 等,将被禁止
分析与建议
检查SQL,看是否符合授权要求。