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.失效复制 复制槽会保留

autovacuum


一、什么是 autovacuum 简单来说,autovacuum 是 PostgreSQL 中一个自动执行 VACUUM 和 ANALYZE 命令的后台进程。它的主要作用有两个: 回收死元组 (dead tuples) 占用的空间: 当你更新或删除表中的数据时,PostgreSQL 并不会立即物理删

PostgreSQL自动巡检一键出报告,堪比AWR!


该脚本来源于德邦大佬,链接如下:https://mp.weixin.qq.com/s/UTEBTT1JACV0SrtAITcuvQ 脚本下载链接如下:DB_PG_HC_V4.0.sql pg_stat_statements插件 cd /home/postgres/contrib/pg_stat_st