文档中心 MogDB MogDB Stack Uqbar
v2.1

mog_filedump使用说明

简介

mog_filedump是根据pg_filedump工具改进兼容性,移植到MogDB上的解析数据文件工具,用于将MogDB的heap/index/control文件转换成用户可读的格式内容。本工具能够根据需要,解析数据列中一部分字段,也能直接以二进制格式转储数据内容。该工具可以通过文件中块的数据,自动确定文件的类型。要格式化pg_control文件必须使用-c选项。


原理说明

实现步骤主要分三步:

  1. 读取数据文件中的数据块。

  2. 以对应数据类型的回调函数,解析对应类型的数据。

  3. 调用对应的数据类型函数输出,打印数据内容。


恩墨的改进

  1. 对MogDB做了兼容性移植。

  2. 修复官方bug:数据类型char的解析bug。

  3. 修复官方bug:在多字段场景下,解析数据文件,数据类型name会产生数据长度不对齐bug。


安装方法

访问 MogDB官网下载页面下载对应版本的工具包,将工具放在MogDB安装路径的bin目录下即可。如下图所示,toolkits-xxxxxx.tar.gz即为包含mog_filedump的工具包。

img


使用方法

mog_filedump [-abcdfhikxy] [-R startblock [endblock]] [-D attrlist] [-S blocksize] [-s segsize] [-n segnumber] file

对heap和index文件有效的选项如下:

选项 功能
-a 显示绝对路径
-b 输出一个范围的二进制block images
-d 输出文件块内容
-D 表的数据类型。
目前支持的数据类型有:bigint、bigserial、bool、charN、date、float、float4、float8、int、json、macaddr、name、oid、real、serial、smallint、smallserial、text、time、timestamp、timetz、uuid、varchar、varcharN、xid、xml、
'
'表示忽略后面所有的数据类型,比如元组有10列,-D 前三列数据类型, ~表示只解析该表元组前三列数据。
-f 输出并解析数据块的内容
-h 显示使用说明和帮助信息
-i 输出并解析item的详细信息(其中包含XMIN、XMAX、Block Id、linp Index、Attributes、Size、infomask)
-k 核实数据块的校验和
-R 解析并输出指定LSN范围的数据文件内容,例如 -R startblock [endblock]。如果只有startblock没有endblock,则只输出单个数据块内容
-s 设置segment大小
-n 设置segment数量
-S 设置数据块大小
-x 把块items当作索引item格式解析并输出(默认自带)
-y 把块items当作堆item格式解析并输出(默认自带)

对控制文件有效的选项如下:

选项 功能
-c 解析控制文件的列表目录
-f 输出并解析数据块的内容
-S 设置控制文件解析的块大小

可以结合-i和-f参数,得到更有效的数据以帮助运维人员分析与参考。


示例

test表基本上覆盖了mog_filedump所包含的数据类型。

此处是展示数据解析功能的用例,其它参数请根据实际具体需要添加使用。

-- 创建表test:
create table test(serial serial, smallserial smallserial, bigserial bigserial, bigint bigint, bool bool, char char(3), date date, float float, float4 float4, float8 float8, int int, json json, macaddr macaddr, name name, oid oid, real real, smallint smallint, text text, time time, timestamp timestamp, timetz timetz, uuid uuid, varchar varchar(20), xid xid, xml xml);

-- 插入数据:
insert into test(bigint, bool, char, date, float, float4, float8, int, json, macaddr, name, oid, real, smallint, text, time, timestamp, timetz, uuid, varchar, xid, xml) values(123456789, true, 'abc', '2021-4-02 16:45:00', 3.1415926, 3.1415926, 3.14159269828412, 123456789, '{"a":1, "b":2, "c":3}'::json, '04-6C-59-99-AF-07', 'lvhui', 828243, 3.1415926, 12345, 'text', '2021-04-02 16:48:23', '2021-04-02 16:48:23', '2021-04-02 16:48:23', 'a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11', 'adsfghkjlzc', '9973::xid', '<title>Book0001</title>');

-- 查询表test的数据文件所在目录。该处gs_initdb指定的数据目录为db_p。所以表test数据文件在db_p/base/15098/32904
postgres=# select pg_relation_filepath('test');
base/15098/32904 (1 row)

-- 用mog_filedump工具解析数据文件内容:
./mog_filedump -D serial,smallserial,bigserial,bigint,bool,charN,date,float,float4,float8,int,json,macaddr,name,oid,real,smallint,text,time,timestamp,timetz,uuid,varchar,xid,xml db_p/base/15098/32904

img

深圳SEO优化公司晋城企业网站设计公司亳州关键词按天扣费推荐孝感网站建设设计乐山网站搜索优化价格中卫英文网站建设推荐滁州网站设计价格白城网站推广方案公司南平建网站公司长春网络广告推广多少钱吉林网站优化推广报价宝安百搜标王推荐延边阿里店铺运营价格丽江网站优化推广成都网站改版报价临沧百搜标王推荐石家庄阿里店铺托管推荐林芝seo报价衡水企业网站制作金华百度关键词包年推广多少钱营口外贸网站建设报价通化网页设计价格双龙英文网站建设报价上海SEO按天收费价格亳州网站改版报价百色网站搭建报价淮南建站推荐泰州营销型网站建设多少钱宿州百搜标王推荐福州seo优化价格鸡西SEO按天计费报价歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化