返回首页

gbase数据、南大通用产品文档:GBase8sdbload 实用程序的命令文件

更新日期:2024年09月11日

使用 dbload 实用程序之前,必须创建一个命令文件,该文件命名输入数
据文件以及接收数据的表。命令文件将来自一个或多个输入文件的字段映射到
您数据库中的一个或多个表的列。
该命令文件只包含 FILE 和 INSERT 语句。
每个 FILE 语句命名一个输入
数据文件。FILE 语句还定义来自输入文件的已插入到表中的数据字段。每个
INSERT 语句命名一个用来接收数据的表。INSERT 语句还定义 dbload 如何
将 FILE 语句中描述的数据放入表列中。
在命令文件中,FILE 语句可以下面的形式出现:

定界符格式

字符位置格式
FILE 语句有 4,096 字节的大小限制。



当输入数据行中的每个字段使用相同的定界符且每行都以换行字符结束时,
请使用定界符格式的 FILE 语句。此格式是典型的带可变长度字段的数据行。
只要数据行符合定界符和换行要求,您也可将定界符格式的 FILE 语句用于长
度固定的字段。
定界符格式的 FILE 和 INSERT 语句比字符位置格式易于使用。

当无法用定界符来进行标识且必须使用输入行中的字符位置来标识输入数
据字段时,请使用字符位置格式的 FILE 语句。例如:使用此形式来指示第一
输入数据字段从字符位置 1 开始并继续直到字符位置 20。如果必须将字符串
转换为空值,您也可使用此形式。例如:如果输入数据文件使用空格序列来指
示空值,那么如果您希望指示 dbload 在出现空格字符串的每个地方替换为空
时,您必须使用此形式。
您可在单个命令文件中使用两种形式的 FILE 语句。但为清楚起见,以下
部分将两种形式分开描述。

功能描述
创建统一审计策略。

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
845
注意事项
只有poladmin、sysadmin 或初始用户能进行此操作。
需要开启安全策略开关,即设置GUC 参数enable_security_policy=on,审计策略才可以
生效。
语法格式
CREATE AUDIT POLICY [ IF NOT EXISTS ] policy_name { { privilege_audit_clause |
access_audit_clause } [ filter_group_clause ] [ ENABLE | DISABLE ] };

privilege_audit_clause:
PRIVILEGES { DDL | ALL } [ ON LABEL ( resource_label_name [, ... ] ) ]

access_audit_clause:
ACCESS { DML | ALL } [ ON LABEL ( resource_label_name [, ... ] ) ]

filter_group_clause:
FILTER ON { ( FILTER_TYPE ( filter_value [, ... ] ) ) [, ... ] }

DDL 支持:
{ ( ALTER | ANALYZE | COMMENT | CREATE | DROP | GRANT | REVOKE | SET | SHOW |
LOGIN_ACCESS | LOGIN_FAILURE | LOGOUT | LOGIN ) }

DML 支持:
{ ( COPY | DEALLOCATE | DELETE_P | EXECUTE | REINDEX | INSERT | PREPARE |
SELECT | TRUNCATE | UPDATE ) }

FILTER_TYPE 支持:
{ APP | ROLES | IP }
参数说明

policy_name

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
846
审计策略名称,需要唯一,不可重复;
取值范围:字符串,要符合标识符的命名规范。

DDL
指的是针对数据库执行如下操作时进行审计,
目前支持:
CREATE、
ALTER、
DROP、
ANALYZE、COMMENT、GRANT、REVOKE、SET、SHOW、LOGIN_ANY、
LOGIN_FAILURE、LOGIN_SUCCESS、LOGOUT。

ALL
指的是上述DDL 支持的所有对数据库的操作。

resource_label_name
资源标签名称。

DML
指的是针对数据库执行如下操作时进行审计,目前支持:SELECT、COPY、
DEALLOCATE、DELETE、EXECUTE、INSERT、PREPARE、REINDEX、TRUNCATE、
UPDATE。

FILTER_TYPE
描述策略过滤的条件类型,包括IP | APP | ROLES。

filter_value
指具体过滤信息内容。

ENABLE|DISABLE
可以打开或关闭统一审计策略。若不指定ENABLE|DISABLE,语句默认为ENABLE。
示例
--创建dev_audit 和bob_audit 用户。
gbase=#CREATE USER dev_audit PASSWORD 'dev@1234';
CREATE USER bob_audit password 'bob@1234';

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
847
--创建一个表tb_for_audit
gbase=#CREATE TABLE tb_for_audit(col1 text, col2 text, col3 text);
--创建资源标签
gbase=#CREATE RESOURCE LABEL adt_lb0 add TABLE(tb_for_audit);
--对数据库执行create 操作创建审计策略
gbase=#CREATE AUDIT POLICY adt1 PRIVILEGES CREATE;
--对数据库执行select 操作创建审计策略
gbase=#CREATE AUDIT POLICY adt2 ACCESS SELECT;
--仅审计记录用户dev_audit 和bob_audit 在执行针对adt_lb0 资源进行的create 操作数据库创
建审计策略
gbase=#CREATE AUDIT POLICY adt3 PRIVILEGES CREATE ON LABEL(adt_lb0) FILTER
ON ROLES(dev_audit, bob_audit);
--仅审计记录用户dev_audit 和bob_audit,客户端工具为psql 和gsql,IP 地址为'10.20.30.40',
'127.0.0.0/24',在执行针对adt_lb0 资源进行的select、insert、delete 操作数据库创建审计策
略。
gbase=#CREATE AUDIT POLICY adt4 ACCESS SELECT ON LABEL(adt_lb0), INSERT ON
LABEL(adt_lb0), DELETE FILTER ON ROLES(dev_audit, bob_audit), APP(psql, gsql),
IP('10.20.30.40', '127.0.0.0/24');
相关命令
ALTER AUDIT POLICY DROP AUDIT POLICY。

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

STATEMENT_WLMSTAT_COMPLEX_RUNTIME 视图显示和当前用户执行作业正在运
行时的负载管理相关信息。
名称
类型
描述

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
1035
名称
类型
描述
datid
oid
连接后端的数据库OID。
datname
name
连接后端的数据库名称。
threadid
bigint
后端线程ID。
processid
integer
后端线程的pid。
usesysid
oid
登录后端的用户OID。
appname
text
连接到后端的应用名。
usename
name
登录到该后端的用户名。
priority
bigint
语句所在Cgroups 的优先级。
attribute
text
语句的属性:
Ordinary:
语句发送到数据库后被解析前的默
认属性。
Simple:简单语句。
Complicated:复杂语句。
Internal:数据库内部语句。
block_time
bigint
语句当前为止的pending 的时间,单位s。
elapsed_time
bigint
语句当前为止的实际执行时间,单位s。
total_cpu_time
bigint
语句在上一时间周期内的数据库节点上CPU
使用的总时间,单位s。
cpu_skew_percent
integer
语句在上一时间周期内的数据库节点上CPU
使用的倾斜率。
statement_mem
integer
语句执行使用的statement_mem,预留字段。
active_points
integer
语句占用的资源池并发点数。
dop_value
integer
语句的从资源池中获取的dop 值。
control_group
text
该字段不支持。
status
text
该字段不支持。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
1036
名称
类型
描述
enqueue
text
语句当前的排队情况,包括:
Global:在全局队列中排队。
Respool:在资源池队列中排队。
CentralQueue:在中心协调节点(CCN)中排
队。
Transaction:语句处于一个事务块中。
StoredProc:句处于一个存储过程中。
None:未在排队。
Forced None:事务块语句或存储过程语句由
于超出设定的等待时间而强制执行。
resource_pool
name
语句当前所在的资源池。
query
text
该后端的最新查询。如果state 状态是active
(活的),此字段显示当前正在执行的查询。
所有其他情况表示上一个查询。
is_plana
boolean
逻辑GBase 8c 模式下,
语句当前是否占用其
他逻辑GBase 8c 的资源执行。该值默认为f
(否)。
node_group
text
语句所属用户对应的逻辑GBase 8c。