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 虽然执行了,但是没有执行成功,这个时候看下日志是最好的,但是没有权限登录数据库服务器。只能

Oracle逻辑体系知识

Oracle 

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

揭秘行数据是怎么存储的

Oracle 

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

Docker日志太多?磁盘爆了?一篇教你搞定容器日志问题

Linux 

今天分享一下如何处理Docker日志的问题。 1 Docker日志好坑 Docker 默认使用的是 json-file 日志驱动。日志会一直写,一直写,一直写……没有限制、没有轮转、没有清理! 日志默认位置: /var/lib/docker/containers/&l