当前位置: 首页 > news >正文

网站建设系统教程上海网站建设沪icp备

网站建设系统教程,上海网站建设沪icp备,wordpress导入采集文章,房地产新闻app哪个好1.walminer介绍 WalMiner是PostgreSQL的WAL(write ahead logs)日志解析工具#xff0c;旨在挖掘wal日志所有的有用信息#xff0c;从而提供PG的数据恢复支持。 目前主要有如下功能#xff1a; 从waL日志中解析出SQL#xff0c;包括DML和少量DDL。 解析出执行的SQL语句的工…1.walminer介绍 WalMiner是PostgreSQL的WAL(write ahead logs)日志解析工具旨在挖掘wal日志所有的有用信息从而提供PG的数据恢复支持。 目前主要有如下功能 从waL日志中解析出SQL包括DML和少量DDL。 解析出执行的SQL语句的工具并能生成对应的undo SQL语句。与传统的logical decode插件相比walminer不要求logical日志级别且解析方式较为灵活。 数据页挽回。 当数据库被执行了TRUNCATE等不被wal记录的数据清除操作或者发生磁盘页损坏可以使用此功能从wal日志中搜索数据以期尽量挽回数据。 Walminer 3.0版本是以插件的模式进行使用。 walminer 4.0版本摒弃插件模式改为bin模式现已脱离对目标数据库的编译依赖和安装依赖一个walminer工具可以解析PG10~PG15的WAL日志。walminer 4.0安装使用看这里 2.下载walminer https://gitee.com/movead/XLogMiner 3.安装walminer ## 解压walminer_3.0 [postgrespg tmp]$ unzip XLogMiner-walminer_3.0_stable.zip## 将解压后的 walminer 目录放置到编译通过的PG工程的../contrib/目录下 [postgrespg tmp]$ cd XLogMiner-walminer_3.0_stable/ [postgrespg XLogMiner-walminer_3.0_stable]$ cp -r walminer/ /tmp/soft/postgresql-15.4/contrib/## 编译安装walminer_3.0 [postgrespg XLogMiner-walminer_3.0_stable]$ cd /tmp/soft/postgresql-15.4/contrib/walminer/ [postgrespg walminer]$ make make install## 数据库中创建 walminer 插件 postgres# create extension walminer; CREATE EXTENSION postgres# \dxList of installed extensionsName | Version | Schema | Description -------------------------------------------------------------plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural languagewalminer | 3.0 | public | analyse wal to SQL (2 rows)4.WAL日志解析挖掘测试 ## 创建测试表 postgres# create table t1(id int,note text); CREATE TABLE postgres# insert into t1 values (1,aaa); INSERT 0 1 postgres# insert into t1 values (2,bbb); INSERT 0 1 postgres# insert into t1 values (3,ccc); INSERT 0 1 postgres# select * from t1;id | note ----------1 | aaa2 | bbb3 | ccc (3 rows)## 模拟误操作 postgres# update t1 set notebbbbbbbbbbb where id2; UPDATE 1 postgres# delete from t1 where id1; DELETE 1 postgres# select * from t1;id | note -----------------3 | ccc2 | bbbbbbbbbbb (2 rows)## 切换wal日志 postgres# select pg_switch_wal();pg_switch_wal ---------------0/70580F0 (1 row)## 根据误操作时间选择合适的wal日志 [postgrespg ~]$ cd /pgsql15.4/data/pg_wal [postgrespg pg_wal]$ ls -lrt total 32768 -rw-------. 1 postgres postgres 16777216 Nov 21 16:31 000000010000000000000008 drwx------. 2 postgres postgres 43 Nov 21 16:31 archive_status -rw-------. 1 postgres postgres 16777216 Nov 21 16:31 000000010000000000000009 注如果pg_wal下的wal日志已经发生归档或者重用就需要找到误操作时间范围的归档日志文件。## 添加解析的wal日志 postgres# select walminer_wal_add(/pgsql15.4/data/pg_wal);walminer_wal_add --------------------2 file add success (1 row)postgres# select walminer_wal_add(/pgsql15.4/pg_arch/000000010000000000000008);walminer_wal_add --------------------1 file add success (1 row) 注参数可以为一个目录或文件。## 列出等待解析的wal日志 postgres# select walminer_wal_list();walminer_wal_list ---------------------------------------------------(/pgsql15.4/pg_arch/000000010000000000000008)(/pgsql15.4/data/pg_wal/000000010000000000000009)(/pgsql15.4/data/pg_wal/00000001000000000000000A) (3 rows)## 移除不需要解析的wal日志 postgres# select walminer_wal_remove(/pgsql15.4/pg_arch/000000010000000000000008);## 开始解析 postgres# select walminer_all(); NOTICE: Switch wal to 000000010000000000000008 on time 2023-11-21 16:53:54.53460808 NOTICE: Switch wal to 000000010000000000000009 on time 2023-11-21 16:53:54.53506808walminer_all ---------------------pg_minerwal success (1 row)--指定时间范围解析 select walminer_by_time(2023-11-21 16:20:00,2023-11-21 16:31:00); 2023-11-21 16:20:00开始时间 2023-11-21 16:31:00结束时间## 查看解析结果 postgres# \x Expanded display is on. postgres# select * from walminer_contents; -[ RECORD 1 ]----------------------------------------------------------------- sqlno | 1 xid | 740 topxid | 0 sqlkind | 2 minerd | t timestamp | 2023-11-21 16:29:47.90510208 op_text | UPDATE public.t1 SET notebbbbbbbbbbb WHERE id2 AND notebbb undo_text | UPDATE public.t1 SET notebbb WHERE id2 AND notebbbbbbbbbbb complete | t schema | public relation | t1 start_lsn | 0/8000060 commit_lsn | 0/8000180 -[ RECORD 2 ]----------------------------------------------------------------- sqlno | 1 xid | 741 topxid | 0 sqlkind | 3 minerd | t timestamp | 2023-11-21 16:30:52.47906908 op_text | DELETE FROM public.t1 WHERE id1 AND noteaaa undo_text | INSERT INTO public.t1(id ,note) VALUES(1 ,aaa) complete | t schema | public relation | t1 start_lsn | 0/80001B8 commit_lsn | 0/8000218## walminer_contents各字段解释 (sqlno int, --本条sql在其事务内的序号xid bigint, --事务IDtopxid bigint, --如果为子事务这是是其父事务否则为0sqlkind int, --sql类型1-insert;2-update;3-delete(待优化项目)minerd bool, --解析结果是否完整(缺失checkpoint情况下可能无法解析出正确结果)timestamp timestampTz, --这个SQL所在事务提交的时间op_text text, --sqlundo_text text, --undo sqlcomplete bool, --如果为false说明有可能这个sql所在的事务是不完整解析的schema text, --目标表所在的模式relation text, --目标表表名start_lsn pg_lsn, --这个记录的开始LSNcommit_lsn pg_lsn --这个事务的提交LSN )## 结束wal日志分析 postgres# select walminer_stop();walminer_stop ------------------walminer stoped! (1 row)## 通过undo_text对误操作进行恢复 postgres# UPDATE public.t1 SET notebbb WHERE id2 AND notebbbbbbbbbbb; UPDATE 1 postgres# INSERT INTO public.t1(id ,note) VALUES(1 ,aaa); INSERT 0 1 postgres# select * from t1;id | note ----------3 | ccc2 | bbb1 | aaa (3 rows)
http://www.pierceye.com/news/836688/

相关文章:

  • 意大利语网站建设wordpress主题首页显示不全
  • 模板网站免费下载wordpress启用静态
  • 保定网站建设哪家好网站建设实践报告3000字
  • 网站制作项目执行免费制作微网站
  • 西安网站制作费用网站建设小程序开发报价
  • 深圳做针织衫服装的网站软件开发工具手机版
  • 网站域名注册的相关证书证明文件最珠海app
  • 网站规划建设与管理维护大学论文免费个人搭建网站
  • 网站解析时候让做别名企业密信app下载安装
  • 直播网站建设模板网站中文商标域名注册
  • 商务网站建设与管理读后感为什么公司要做网站
  • 高密 网站建设wordpress设置置顶文章
  • 购物京东商城西安官网seo哪家公司好
  • 专门做库存处理的网站沭阳建设网站
  • 建筑必看六个网站门户网站地方生活门户有哪些
  • 江阴 网站开发python基础教程百度亿
  • 邹城网站建设v556本校网站建设
  • 郑州一站式网站搭建北京装饰公司十大排名
  • 网站建设程序代码百度智能创作平台
  • 网上制作网站建立中文网站的英文
  • 网站域名过户查询太原企业网站怎么优化
  • 西安哪些做网站的公司创业平台网站
  • 做网站费用滁州wordpress 快站
  • 上海手机网站制作网站制作最
  • 做一网站APP多少钱网站做照片
  • 会同县做网站设计网站的结构时
  • 行业门户网站制作百度权重是怎么来的
  • 巅云建站as.net 网站开发视频教程
  • 网站开发定制合同在哪个网站可以学做衣服
  • 关键词排行优化网站搜索引擎营销的主要方式有