openGauss 校验账本数据一致性

校验账本数据一致性

前提条件

数据库正常运行,并且对防篡改数据库执行了一系列增、删、改等操作,保证在查询时段内有账本操作记录结果产生。

背景信息

  • 账本数据库校验功能目前提供两种校验接口,分别为:ledger_hist_check(text,...ledger_gchain_check(text...。普通用户调用校验接口,仅能校验自己有权限访问的表。

  • 校验防篡改用户表和用户历史表的接口为pg_catalog.ledger_hist_check,操作为:

    SELECT pg_catalog.ledger_hist_check(schema_name text,table_name text);
    

    如果校验通过,函数返回t,反之则返回f。

  • 校验防篡改用户表、用户历史表和全局区块表三者是否一致的接口为pg_catalog.ledger_gchain_check,操作为:

    SELECT pg_catalog.ledger_gchain_check(schema_name text, table_name text);
    

    如果校验通过,函数返回t,反之则返回f。

操作步骤

  1. 校验防篡改用户表ledgernsp.usertable与其对应的历史表是否一致。

    openGauss=# SELECT pg_catalog.ledger_hist_check('ledgernsp', 'usertable');
    

    查询结果如下:

     ledger_hist_check
    -------------------
     t
    (1 row)
    

    该结果表明防篡改用户表和用户历史表中记录的结果能够一一对应,保持一致。

  2. 查询防篡改用户表ledgernsp.usertable与其对应的历史表以及全局区块表中关于该表的记录是否一致。

    openGauss=#  SELECT pg_catalog.ledger_gchain_check('ledgernsp', 'usertable');
    

    查询结果如下:

     ledger_gchain_check
    ---------------------
     t
    (1 row)
    

    查询结果显示,上述三表中关于ledgernsp.usertable的记录保持一致,未发生篡改行为。

详情查看:https://opengauss.org

详情查看:https://docs-opengauss.osinfra.cn

posted @   techbing  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
· 全程使用 AI 从 0 到 1 写了个小工具
点击右上角即可分享
微信分享提示