当在异常情况或表被损坏时需要使用账本数据库的函数章节中的ledger_gchain_repair(text, text)或ledger_hist_repair(text, text)接口对全局区块表或用户历史表进行修复,修复后调用全局区块表或用户历史表校验接口结果为true。
修复用户历史表的接口为pg_catalog.ledger_hist_repair,操作为:
SELECT pg_catalog.ledger_hist_repair(schema_name text,table_name text);
如果修复成功,函数返回修复过程中用户历史表hash的增量。
归档全局区块表的接口为pg_catalog.ledger_gchain_repair,操作为:
SELECT pg_catalog.ledger_gchain_repair(schema_name text,table_name text);
如果修复成功,函数返回修复过程中全局区块表hash的增量。
执行历史表修复操作。
openGauss=# SELECT pg_catalog.ledger_hist_repair('ledgernsp', 'usertable');
查询结果如下:
ledger_hist_repair
--------------------
84e8bfc3b974e9cf
(1 row)
该结果表明当前节点用户历史表修复成功,修复造成的用户历史表hash增量为84e8bfc3b974e9cf。
执行全局区块表修复操作。
openGauss=# SELECT pg_catalog.ledger_gchain_repair('ledgernsp', 'usertable');
查询结果如下:
ledger_gchain_repair
----------------------
a41714001181a294
(1 row)
该结果表明,全局区块表修复成功,且插入一条修复数据,其hash值为a41714001181a294。
点赞,你的认可是我创作的动力!
⭐️ 收藏,你的青睐是我努力的方向!
✏️ 评论,你的意见是我进步的财富!