在Postgres数据库中,不论对数据进行了什么样的更改,只要涉及到更改的数据的持久化的问题就一定离不开wal日志来为数据库的数据安全保驾护航。wal日志的重要性不言而喻。 下面几个博客讲解w...
资深的PostgreSQL DBA都知道,当我们对PostgreSQL执行一条DDL语句时,PostgreSQL会在pg_class,pg_attribute等系统表执行DML操作,比如执行了CREATE TABLE t1(i int, j int);DDL语句,那么就会...
walminer是一款PostgreSQL的wal日志的解析工具,它可以依据数据字典解析出产生wal日志中隐含的DML语句。第一个版本的xlogminer工具需要wal为logical级别,而且还有表IDENTITY级别的要求。第二...
假设一张表没有主键,且有很多重复列,如何优雅的删除重复列的一行数据呢? 如下表数据: postgres=# select *from t1; i | j ---+--- 1 | 1 1 | 1 1 | 1 2 | 2 2 | 2 2 | 2 (6 rows) postg...
问题背景 walminer工具的用户反馈来一个问题,不管添加了多少wal日志,想要的wal文件的解析结果总是有未解析出的部分。 分析问题 分析问题发现,checkpoint wal记录之后对某个数据page进行修...
导读: postgres预写式日志的内核实现详解-概述 XLOG(RM_XLOG_ID)日志类型记录很杂乱,如下为XLOG类型的wal子类型。 /* XLOG info values for XLOG rmgr */ #define XLOG_CHECKPOINT_SHUTDOW...
使用软件遇到问题可先更新代码(欢迎提交bug)~~ 开发群组:811105058欢迎任何使用者 XlogMiner是从PostgreSQL的WAL(write ahead logs)日志中解析出执行的SQL语句的工具,并能生成出对应的und...
pg11新特性,可以瞬间向一个表中添加非空默认字段。 今天研究了一下这个特性的内核实现方式,写个博客简单记录一下。 结论奉上 pg在从硬盘或者内存获取到一条数据记录后(以下称tuple),会使...
导读: postgres预写式日志的内核实现详解-概述 heap2(RM_HEAP2_ID)是数据库对heap的修改产生的wal记录(heap除去),如下为heap2类型的wal子类型 #define XLOG_HEAP2_REWRITE 0x00 #define ...
导读: postgres预写式日志的内核实现详解-概述 之前已经写了关于wal记录的结构、wal记录的写入的博客,流复制、PITR、数据库启动、逻辑复制等PG功能都需要借助wal日志,他们是怎样读取wal日...
导读: postgres预写式日志的内核实现详解-概述 如下就是将一个记录存储到wal日志文件的主要函数,本文主要是对这些函数进行逐一说明。 XLogBeginInsert(); XLogRegisterData(); XLogRegiste...
导读: postgres预写式日志的内核实现详解-概述 一、Wal文件的page结构 数据库运行时在数据目录下的pg_wal目录(pg10.0以上版本)下,产生wal日志文件段(如000000010000000000000003),每一...
导读: postgres预写式日志的内核实现详解-概述 heap(RM_HEAP_ID)是数据库对任何logged表进行insert、delete、update操作后所产生的日志类型,如下为heap类型的wal子类型。 #define XLOG_HEA...
如下示例,在数据库不同schema下有同名表t2 ,但是使用\d命令的时候只有一个t2表被查询出来。 postgres=# select oid,nspname from pg_namespace; oid | nspname -------+-------------------...
没有更多内容
加载失败,请刷新页面
文章删除后无法恢复,确定删除此文章吗?
动弹删除后,数据将无法恢复
评论删除后,数据将无法恢复