账本数据库归档功能目前提供两种校验接口,分别为: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。
对指定用户历史表进行归档操作。
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)
该结果表明当前节点用户历史表导出成功。
执行全局区块表导出操作。
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)
该结果表明,当前节点全局区块表导出成功。
点赞,你的认可是我创作的动力!
⭐️ 收藏,你的青睐是我努力的方向!
✏️ 评论,你的意见是我进步的财富!