PostgreSQL模板数据库


当我们用 psql 登录输入 \l+ 或者 select * from pg_database;的时候,我们可以看到除了 postgres,还有 template1 和 template0 这两个数据库。当我切换template1数据库然后 \dt+想看看该数据库下有什么表的时候,却发现返回的是Di

PG优化实战系列-32线程CPU100%


背景 前段时间在某现场遇到个问题,早上到项目现场,技术支持反映数据库不可查,32个现场的CPU直接全部100%。 为了尽快恢复使用,在得到业务同意情况下,直接重启Postgresql,重启后CPU恢复正常,未出现再持续增长情况。

PG故障处理:PG归档磁盘满了恢复后归档仍旧异常


前言:今天这个故障感觉有点奇怪,突然PG就报归档日志错误了。我们都知道PG的归档操作是非常的灵活,完全可以由用户自定义,也是自定义灵活,所以引发了很多故障,有些隐患及时发现了,有些隐患只有在出现重大故障时才能发现,就如本次这个故障,如果没有提示归档失败,后续数据库如果要事故时,就会遇到归档日志文件损

如何排查阻塞语句


查询阻塞当前sql的语句,并结束阻塞语句。 详细信息 1、通过pg_stat_activity视图和pg_blocking_pids函数查找阻塞sql。 highgo=# select pid,pg_blocking_pids(pid),wait_event_type,wait_event,quer

repmgr集群故障修复


症状 repmgr集群无法连接。 问题原因 数据库无法分配内存,出现宕机。 解决方案

PostgreSQL数据压缩技术


在以往文章我们有讲到 toask 技术,今天我们来了解下数据是怎么被压缩的。 我们先来复习下 Toask,在pg中,行不能跨页存储,为了存储更大的行,pg使用Toast技术将行压缩成更小的块。pg使用固定的页面大小(通常为8kb),并且不允许跨页存储。因此,单行不能直接存储很大的字段值。为了克服这个

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_