开发者社区> 问答> 正文

插入一行数据后,pg_xlogdump查看xlog信息怎么看到具体插入的数值

执行:insert into test values(10000); 之后,使用pg_xlogdump 000000010000000500000086 -f -r heap 查看具体的xlog日志信息,但是无法看到具体插入的数值:10000。

请问怎么能查看到这具体插入的10000数值呢,数据库又是怎么根据xlog日志进行恢复的呢?

执行结果如下:
rmgr: Heap len (rec/tot): 8/ 54, tx: 7523915, lsn: 5/86044270, prev 5/86043088, desc: DELETE off 92 KEYS_UPDATED , blkref #0: rel 1663/13241/2608 blk 54

展开
收起
pis-j 2016-01-13 15:43:44 6094 0
1 条回答
写回答
取消 提交回答
  • 公益是一辈子的事, I am digoal, just do it. 阿里云数据库团队, 擅长PolarDB, PostgreSQL, DuckDB, ADB等, 长期致力于推动开源数据库技术、生态在中国的发展与开源产业人才培养. 曾荣获阿里巴巴麒麟布道师称号、2018届OSCAR开源尖峰人物.

    你好,pg_xlogdump是查不出数据的,要查出数据,首先要有数据结构,然后要有数据。
    数据结构是需要查数据库的元数据才能查到,pg_xlogdump不干这件事。
    PostgreSQL提供的逻辑复制功能,例如test_decoding模块,原理也是如此,首先要创建SLOT,SLOT保证你在解析XLOG时,数据库的元数据还在,因此可以解读出XLOG的数据。

    PostgreSQL基于XLOG的恢复并不是逻辑恢复,而是物理块的恢复。所以不需要解读数据。

    2019-07-17 18:24:22
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
PostgresChina2018_赖思超_PostgreSQL10_hash索引的WAL日志修改版final 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载