getAuditLog

语法

getAuditLog([userName], [startTime], [endTime], [opType])

详情

查询用户 userName 在 startTime 到 endTime 这段时间内完成的,类型为 opType 的 DDL 操作记录。

返回一个表,其结构如下:

列名 类型 含义
userId STRING 执行操作的用户名称
startTime NANOTIMESTAMP 事务的开始时间
endTime NANOTIMESTAMP 事务的结束时间
dbName STRING 数据库名
tbName STRING 表名
opType STRING 操作类型
opDetail STRING 操作细节说明
tid LONG 事务ID
cid LONG commit ID
remoteIp IPADDR 提交该操作的客户端 IP
remotePort INT 提交该操作的客户端端口

opType 的所有取值及其对应的 opDetail 示例如下:

opType opDetail
CREATE_DB
DROP_DB
CREATE_TABLE
CREATE_PARTITIONED_TABLE
DROP_TABLE
DROP_PARTITION deletedPartitions=xxx
RENAME_TABLE tableName=[xxx], newTableName=[xxx]
SQL_DELETE script=[xxx], deletedRows=xxx
SQL_UPDATE script=[xxx], updatedRows=xxx
UPSERT insertedRows=xxx, updatedRows=xxx
ADD_COLUMN colName=[xxx], colType=[xxx]
SET_COLUMN_COMMENT colName=[xxx], colComment=[xxx]
TRUNCATE_TABLE
RENAME_COLUMN colName=[xxx], newColName=[xxx]
REPLACE_COLUMN colName=[xxx], colType=[xxx], newColType=[xxx]
DROP_COLUMN columnName=[xxx]
ADD_RANGE_PARTITION
ADD_VALUE_PARTITION

参数

userName 字符串标量或向量,表示要查询的用户。默认为 NULL,表示查询所有用户的 DDL 操作日志。

startTime 整数标量或者时间标量,时间标量支持DATE, MONTH, DATETIME, TIMESTAMP, DATEHOUR, NANOTIMESTAMP 类型。表示查询的起始时间点。默认值为 1970.01.01 。

endTime 整数标量或者时间标量,时间标量支持DATE, MONTH, DATETIME, TIMESTAMP, DATEHOUR, NANOTIMESTAMP 类型。表示查询的结束时间点。默认值为空,表示结束时间为当前时间。endTime 必须大于 startTime。

opType 字符串标量或向量,表示查询的操作类型。默认为 NULL,表示查询所有 DDL 操作类型。

注: startTime 和 endTime 规定的是 DDL 操作结束的时间范围。

例子

// 用户 admin 进行一系列 DDL 操作
login("admin","123456")
n = 3
id = rand(`st0001`st0002`st0003`st0004`st0005, n)
sym = rand(`A`B, n)
tradeDate = take(2022.01.01..2022.01.10, 3)
val = 1..n
dummyTb = table(id, sym,tradeDate, val)

dbPath = "dfs://auditTest"
if(existsDatabase(dbPath)){dropDatabase(dbPath)}
db = database(directory=dbPath, partitionType=VALUE, partitionScheme=2022.01.01..2022.01.05, engine='TSDB')
pt = createPartitionedTable(dbHandle=db, table=dummyTb, tableName="snap", partitionColumns=`TradeDate, sortColumns=`id`tradeDate, keepDuplicates=ALL)
pt.append!(dummyTb)

renameTable(db, `snap, `snap_2)

// 查询 DDL 操作记录
getAuditLog()

返回:

userName startTime endTime dbName tbName opType opDetail tid cid remoteIp
admin 2024.03.26 14:40:43.659196080 2024.03.26 14:40:43.676082419 dfs://auditTest CREATE_DB 1 1 192.168.0.140
admin 2024.03.26 14:40:43.676154581 2024.03.26 14:40:43.687319577 dfs://auditTest snap CREATE_PARTITIONED_TABLE 2 2 192.168.0.140
admin 2024.03.26 14:40:45.135000207 2024.03.26 14:40:45.160530442 dfs://auditTest snap RENAME_TABLE tableName=[snap], newTableName=[snap_2] 4 4 192.168.0.14