账本数据库的函数
- ledger_hist_check(text, text)
描述:校验指定防篡改用户表的表级数据hash值与其对应历史表hash一致性。
参数类型:text
返回值类型:Boolean
示例:
1 2 3 4 5 6 7 8 9 10 11
--创建schema。 gaussdb=# CREATE SCHEMA ledgernsp WITH BLOCKCHAIN; --创建表。 gaussdb=# CREATE TABLE ledgernsp.tab(a int, b text); --插入数据。 gaussdb=# INSERT INTO ledgernsp.tab values(generate_series(1, 10000), 'test'); gaussdb=# SELECT ledger_hist_check('ledgernsp','tab'); ledger_hist_check ------------------- t (1 row)
- ledger_hist_repair(text, text)
描述:修复指定防篡改用户表对应的历史表hash值,使之与用户表hash一致,返回hash差值。
参数类型:text
返回值类型:hash16
示例:
1 2 3 4 5
gaussdb=# SELECT ledger_hist_repair('ledgernsp','tab'); ledger_hist_repair -------------------- 0000000000000000 (1 row)
- ledger_hist_archive(text, text)
描述:归档指定防篡改用户表对应的历史表至审计日志目录中hist_back文件夹下。如果用户历史表名称中带有'/'符号,归档所生成的文件名中将会把'/'替换为'_'。
参数类型:text
返回值类型:Boolean
示例:
1 2 3 4 5
gaussdb=# SELECT ledger_hist_archive('ledgernsp','tab'); ledger_hist_archive --------------------- t (1 row)
- ledger_gchain_check(text, text)
描述:校验指定防篡改用户表对应的历史表hash与全局历史表对应的relhash一致性。
参数类型:text
返回值类型:Boolean
示例:
1 2 3 4 5
gaussdb=# SELECT ledger_gchain_check('ledgernsp','tab'); ledger_gchain_check --------------------- t (1 row)
- ledger_gchain_repair(text, text)
描述:修复指定防篡改用户表在全局历史表中的relhash,使之与其历史表hash一致,返回指定表的hash总和。
参数类型:text
返回值类型:hash16
示例:
1 2 3 4 5
gaussdb=# SELECT ledger_gchain_repair('ledgernsp','tab'); ledger_gchain_repair ---------------------- da30c1260af5be50 (1 row)