云数据库 GAUSSDB-账本数据库的函数

时间:2024-11-13 14:46:32

账本数据库的函数

  • 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=# EXECUTE DIRECT ON (datanode1) 'select pg_catalog.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

support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-12-0376.html