PostgreSQL TOAST技术解析


一、TOAST是什么? TOAST是“The Oversized-Attribute Storage Technique”(超尺寸字段存储技术)的缩写,主要用于存储一个大字段的值。

posgresql逻辑复制实战


搭建逻辑复制一般是为了迁移数据,所以并不要求从库只能只读,我们需只要搭建好两台 postgresql 就行了。 搭建逻辑复制需要把wal_level 修改成logical ,从库需要有主库配置要同步的表结构。 我们可以先把主库上的所有表结构导出来(不包括数据),然后去从库上执行。 pg_dump -

PostgreSQL逻辑复制详解


什么是逻辑复制 我们前面讲的都是基于物理的流复制,接下来我们来讲讲逻辑复制。pg 逻辑复制基于逻辑解析,将 wal 日志流解析成一定格式输出,从节点收到解析后的数据进行应用。 逻辑复制基于发布(Publisher)与订阅(Subscription)模型。 一个发布者可以有多个发布,一个订阅者上可以有

PostgreSQL物理复制槽


前言 相信大家学到这里,基础肯定很不错了。我们知道 wal 文件默认是 16M,wal_keep_size 默认是 0 ,表示不存放额外的 wal 日志,max_wal_size 表示 wal 目录的大小,如果超过了这个大小,有设置了归档的情况下,则会移动到归档目录里。在老版本里面这个参数是wal_

手工操作之主备切换和故障转移


手工主备切换 对于 Oracle 数据库的 DBA 来说,切换 Oracle 数据库主备库之间的角色过程叫作“switchover”,Oracle 提供了相应的“switchover”的一些较为复杂的命令和过程,对于 Postgresql 来说,切换操作的步骤毕竟简单。只需要以下几步操作: 停主库,

PostgreSQL流复制介绍


流复制介绍 什么是流复制? 如果有人问你PostgreSQL的流复制究竟是什么?你大概会说通过wal日志来进行数据同步之类的,的确如此,流复制大概就是这么回事。 但是准确的来说:PostgreSQL通过wal日志来传送的方式有两种:基于文件的日志传送和流复制。 不同于基于文件的日志传送,流复制的关键

PostgreSQL 16 in docker 配置流复制


前面学完了理论知识,今天我们来实战学习下怎么配置这个流复制。为什么采用 docker 进行实验呢,原因很简单,非常方便。 #先设置目录 mkdir -p /data/postgres-replication mkdir -p /data/postgres-replication/postgres-0

排查PostgreSQL无法回收死元组的原因


早上巡查时发现一张业务大表死元组占比高达 60%,autovacuum 早上也才刚刚执行过。第一反应就是 autovacuum 虽然执行了,但是没有执行成功,这个时候看下日志是最好的,但是没有权限登录数据库服务器。只能查询资料总结了下基本的常见情况然后找厂家battle。 1.失效复制 复制槽会保留

Oracle逻辑体系知识

Oracle 

Oracle逻辑体系 上回我们主要是了解oracle的物理体系,我们可以清楚地看到数据文件,参数文件,控制文件等等文件的大小和存放位置,后台进程是如何被唤起而又任何退出的。 接下来我们来说说逻辑体系,偏抽象一点,不过这部分是重中之重,可以加深我们对体系的理解。

揭秘行数据是怎么存储的

Oracle 

数据如何在底层进行存储 每个表都有一个段头,段头里记录了哪些文件哪些 BLOCK 属于该表。我们可以通过以下 SQL 进行查询: select HEADER_FILE,HEADER_BLOCK from dba_segments where segment_name='TB0101'; HEADE