更新时间:2025-05-29 GMT+08:00

账本数据库的函数

get_dn_hist_relhash(text, text)

描述:返回指定防篡改用户表的表级数据hash值。该函数集中式暂不支持。

参数类型:text

返回值类型:hash16

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)

ledger_gchain_archive(void)

描述:归档全局历史表至审计日志目录中hist_back文件夹下。

参数类型:void

返回值类型:Boolean

示例:

1
2
3
4
5
gaussdb=# SELECT ledger_gchain_archive(); 
 ledger_gchain_archive
-----------------------
 t
(1 row)

hash16in(cstring)

描述:将输入16进制字符串转化成内部hash16形式。

参数类型:cstring

返回值类型:hash16

hash16out(hash16)

描述:将内部hash16类型的数据转码转化为16进制cstring类型。

参数类型:hash16

返回值类型:cstring

hash32in(cstring)

描述:将输入16进制字符串(32个字符)转化成内部类型hash32形式。

参数类型:cstring

返回值类型:hash32

hash32out(hash32)

描述:将内部hash32类型的数据转码转化为16进制cstring类型。

参数类型:hash32

返回值类型:cstring