首页 > 数据库 >openGauss 归档账本数据库

openGauss 归档账本数据库

时间:2024-04-30 11:02:51浏览次数:26  
标签:ledger hist 归档 openGauss 账本 archive SELECT

归档账本数据库

前提条件

  • 系统中需要有审计管理员或者具有审计管理员权限的角色。
  • 数据库正常运行,并且对防篡改数据库执行了一系列增、删、改等操作,保证在查询时段内有账本操作记录结果产生。
  • 数据库已经正确配置审计文件的存储路径audit_directory。

背景信息

  • 账本数据库归档功能目前提供两种校验接口,分别为:ledger_hist_archive(text...ledger_gchain_archive(vo...。账本数据库接口仅审计管理员可以调用。

  • 归档用户历史表的接口为pg_catalog.ledger_hist_archive,操作为:

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

    如果归档成功,函数返回t,反之则返回f。

  • 归档全局区块表的接口为pg_catalog.ledger_gchain_archive,操作为:

    SELECT pg_catalog.ledger_gchain_archive();
    

    如果归档成功,函数返回t,反之则返回f。

操作步骤

  1. 对指定用户历史表进行归档操作。

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

    执行结果如下:

     ledger_hist_archive
    ---------------------
     t
    (1 row)
    

    用户历史表将归档为一条数据:

    openGauss=# SELECT * FROM blockchain.ledgernsp_usertable_hist;
     rec_num |     hash_ins     |     hash_del     |             pre_hash
    ---------+------------------+------------------+----------------------------------
           3 | e78e75b00d396899 | 8fcd74a8a6a4b484 | fd61cb772033da297d10c4e658e898d7
    (1 row)
    

    该结果表明当前节点用户历史表导出成功。

  2. 执行全局区块表导出操作。

    openGauss=# SELECT pg_catalog.ledger_gchain_archive();
    

    执行结果如下:

     ledger_gchain_archive
    -----------------------
     t
    (1 row)
    

    全局历史表将以用户表为单位归档为N(用户表数量)条数据:

    openGauss=# SELECT * FROM gs_global_chain;
     blocknum |  dbname  | username |           starttime           | relid |  relnsp   |  relname  |     relhash      |            globalhash            | txcommand
    ----------+----------+----------+-------------------------------+-------+-----------+-----------+------------------+----------------------------------+-----------
            1 | postgres | libc     | 2021-05-10 19:59:38.619472+08 | 16388 | ledgernsp | usertable | 57c101076694b415 | be82f98ee68b2bc4e375f69209345406 | Archived.
    (1 row)
    

    该结果表明,当前节点全局区块表导出成功。

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

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

标签:ledger,hist,归档,openGauss,账本,archive,SELECT
From: https://www.cnblogs.com/techbing/p/18167337

相关文章

  • openGauss 管理数据库安全
    管理数据库安全客户端接入认证管理用户及权限设置数据库审计设置账本数据库详情查看:https://opengauss.org详情查看:https://docs-opengauss.osinfra.cn......
  • openGauss 管理用户及权限
    管理用户及权限默认权限机制管理员三权分立用户角色Schema用户权限设置行级访问控制设置安全策略详情查看:https://opengauss.org详情查看:https://docs-opengauss.osinfra.cn......
  • openGauss 更新表中数据
    更新表中数据修改已经存储在数据库中数据的行为叫做更新。用户可以更新单独一行、所有行或者指定的部分行。还可以独立更新每个字段,而其他字段则不受影响。使用UPDATE命令更新现有行,需要提供以下三种信息:表的名称和要更新的字段名字段的新值要更新哪些行SQL通常不会为数据......
  • openGauss 对比-磁盘与MOT
    对比:磁盘与MOT下表简要对比了基于openGauss磁盘的存储引擎和MOT存储引擎的各种特性。对比:基于磁盘与MOT特性openGauss磁盘存储openGaussMOT引擎英特尔x86+鲲鹏ARM是是SQL和功能集覆盖率100%98%纵向扩容(多核,NUMA)低效高效吞吐量高极高时......
  • openGauss 创建-删除MOT
    创建/删除MOT创建MOT非常简单。只有MOT中的创建和删除表语句与openGauss中基于磁盘的表的语句不同。SELECT、DML和DDL的所有其他命令的语法对于MOT表和openGauss基于磁盘的表是一样的。创建MOT:createFOREIGNtabletest(xint)[servermot_server];以上语句中:始终使......
  • openGauss 删除表中数据
    删除表中数据在使用表的过程中,可能会需要删除已过期的数据,删除数据必须从表中整行的删除。SQL不能直接访问独立的行,只能通过声明被删除行匹配的条件进行。如果表中有一个主键,用户可以指定准确的行。用户可以删除匹配条件的一组行或者一次删除表中的所有行。使用DELETE命令删除......
  • openGauss 设置安全策略
    设置安全策略设置帐户安全策略设置帐号有效期设置密码安全策略详情查看:https://opengauss.org详情查看:https://docs-opengauss.osinfra.cn......
  • openGauss 前提条件
    前提条件以下是使用openGaussMOT的软硬件前提条件。硬件支持MOT支持最新硬件和现有硬件平台,支持x86架构和华为鲲鹏Arm架构。MOT与openGauss数据库支持的硬件完全对齐。更多信息请参见《openGauss安装指南》。CPUMOT在多核服务器(扩容)上提供卓越的性能。在这些环境中,MOT的性......
  • openGauss 三权分立
    三权分立默认权限机制和管理员两节的描述基于的是数据库创建之初的默认情况。从前面的介绍可以看出,默认情况下拥有SYSADMIN属性的系统管理员,具备系统最高权限。在实际业务管理中,为了避免系统管理员拥有过度集中的权利带来高风险,可以设置三权分立。将系统管理员的部分权限分立给......
  • openGauss 配置文件参考
    配置文件参考表1参数说明参数名称描述取值范围local表示这条记录只接受通过Unix域套接字进行的连接。没有这种类型的记录,就不允许Unix域套接字的连接。只有在从服务器本机使用gsql连接且在不指定-h参数的情况下,才是通过Unix域套接字连接。-host表示这条记......