如何将PostgreSQL WAL记录注入Kafka
一年前,我曾发文介绍过PostgreSQL的Decoding工具wal2json。其目的在于将PG的WAL中的变更记录(主要指DML涉及的数据变更信息)转化为可读信息,提供给运维人员做后续数据的处理。文章中虽提及Debezium项目,但并没有介绍Debezium项目实践的内容。
Barman备份方案介绍
Barman 是一款开源的基于Python开发的集备份和恢复为一体的优秀PG数据库备份工具,它可以对单个/多个PG数据库进行远程/本地备份,用以增强业务数据的安全性,为DBA恢复数据库提供可靠的帮助。
基于Patroni的PostgreSQL高可用环境部署
1.前言PostgreSQL是一款功能,性能,可靠性都可以和高端的国外商业数据库相媲美的开源数据库。而且PostgreSQL的许可和生态完全开放,不被任何一个单一的公司或国家所操控,保证了使用者没有后顾之忧。国内越来越多的企业开始用PostgreSQL代替原来昂贵的国外商业数据库。在部署Postgr
PgSQL · 特性分析 · 内存管理机制
背景为了提高数据访问的速度,一般数据库操作系统都会引入内存作为缓存,而为了方便管理和合并I/O,一般会开辟一个缓存池(bufferpool)。本文主要讲述PostgreSQL如何进行缓存池管理。数据库物理结构在下文讲述缓存池管理之前,我们需要简单介绍下PostgreSQL的数据库集簇的物理结构。Po
PgSQL · 特性分析 · 内存管理机制
背景为了提高数据访问的速度,一般数据库操作系统都会引入内存作为缓存,而为了方便管理和合并I/O,一般会开辟一个缓存池(bufferpool)。本文主要讲述PostgreSQL如何进行缓存池管理。数据库物理结构在下文讲述缓存池管理之前,我们需要简单介绍下PostgreSQL的数据库集簇的物理结构。Po
PostgreSQL DBA常用的10个Unix命令
和任何其他数据库管理员或数据库专家一样,我们通常都需要在Unix系统上进行大量的操作。以下是一些我经常使用的命令,我认为应该与其他Postgres成员分享。 熟练地使用这些命令可以节省大量时间和精力。 可以将这些命令用作别名(要创建别名,请参阅我的上一篇文章(Postgres DBA和开发常用的Linux/Unix别名
PostgreSQL并发控制机制(1):隔离级别
并发控制是多个事务在并发运行时,数据库保证事务一致性(Consistency)和隔离性(Isolation)的一种机制。主流商用关系数据库使用的并发控制技术主要有三种:严格两阶段封锁(S2PL)、多版本并发控制(MVCC)和乐观并发控制(OCC)。 PostgreSQL使用了多版本并发控制技术的一种变体
PostgreSQL 逻辑复制异常引发Pg_wal目录膨胀一例
前几天一位社区朋友咨询一个PostgreSQL的WAL文件膨胀案例,有个生产库最近几天pg_wal目录的WAL文件爆涨到了7万多个,把硬盘空间撑满,造成数据库故障。 为了快速恢复,这位朋友删除了pg_wal目录下10天前的WAL文件,将硬盘空间使用率降下来,使得数据库恢复,但pg_wal目录下的WAL文件依然涨得很快。 数据库环境信息如下:
PostgreSQL 逻辑复制数据不一致,导致主库wal log 无限增大
PostgreSQL的逻辑复制对比物理复制的好处总结有以下几点1灵活:逻辑复制对比物理复制来说,可以单表进行数据的复制,物理复制则是不可以的,并且大部分时间对于ETL的功能需求来说,物理复制太重了,需要的磁盘,网络,等资源都相对于逻辑复制消耗的要大的多.2方便:逻辑复制相对于物理复制,设置会更简单,
PgSQL · 应用案例 · 什么情况下可能表膨胀
PostgreSQL heap TABLE AM引擎,使用多版本来解决快照问题,版本处于当前数据文件中,有垃圾回收进程进行回收,那么哪些垃圾不能被回收呢? WAL是PG的REDO文件,哪些WAL不能被回收重复利用?什么情况下可能会一直增长不清理呢? heap或INDEX的膨胀有些时候并不是因为回收慢,而是有些是无法被回收的垃圾
PgSQL · 应用案例 · 如何修改PostgreSQL分区表分区范围
背景已有分区表,修改分区的范围。例如拆分分区,合并分区。语法如下,PG支持非常灵活的分区布局,看本文提到的HASH分区拆分,支持任意层级的分区,支持每个分区的层级深度不一样。特别适合某些数据分布不均匀的情况。例如id=1落在同一个分区但是数据量非常庞大,可以对这个分区再进行二级分区(使用其他分区方法
PgSQL · 最佳实践 · pg_cron 内核分析及用法简介
pg_cron是PostgreSQL(9.5或更高版本)的一个简单的基于cron的作业调度程序,它作为扩展在数据库中运行。它与常规cron保持相同的语法,但它允许直接从数据库安排PostgreSQL命令。作为一个独立运行的工作者进程,其生命周期管理、内存空间都依赖于postgreSQL。本文主要从启
PostgreSQL 中 Pgbouncer 能用后,问自己5个问题
知识的学习是越学越不会,越学发现的"黑洞"和自己的欠缺就会越多,所以一直报以心虚的状态来学,可能理解多年的东西他变化了,或者当初就没有理解的彻底,而不自知.Pgbouncer看似是一个轻量级的连接缓冲,今天就来整理一下,来看看知识的黑洞问题1我的pgbouncer到底是应该是和PostgreSQL安
PostgreSQL Pgbouncer 到底怎么使用,疗效有多大
接上期为什么postgresql需要连接池的问题过后,本期还是要说说pgbouncer连接池,并且需要做一个实验看看pgbouncer到底在处理并发连接到底有多大的功效.Pgbouncer安装比较简单,直接下载编译,$./configure--prefix=/usr/local/pgbouncer$
PgSQL · 特性分析 · 浅析PostgreSQL 的JIT
背景估计很多同学看过之前的月报PgSQL·特性分析·JIT在数据仓库中的应用价值,对JIT(justintime)和LLVM(LowLevelVirtualMachine)有了一定的了解。概括地来说:JIT指的是即时编译,即程序在运行过程中即时进行编译,其中可以把编译的中间代码缓存或者优化。相对于静
在 ARM 架构服务器上编译 Greenplum6并制作rpm安装包
Greenplum 是一款开源MPP数据分析平台,提供包括数据分析、机器学习和人工智能等特色功能。目前 Greenplum 的二进制发行版本只能运行在 X86 服务器。github上的Greenplum releases只有x86的发行版,没有提供ARM 发行版。Greenplum 是开源软件,我们可以通过编译 Greenplum 源代码自行构建 Greenplum 的 ARM 版本。
PostgreSQL 13新特性之二: 支持异构分区表逻辑复制。
PostgreSQL 13 的逻辑复制新增了对分区表的支持,使得分区表也能够进行逻辑复制。 实现方式: PostgreSQL 13 版本CREATE SUBSCRIPTION命令新增 publish_via_partition_root 选项支持异构分区表的数据同步,具体为: 1、分区表数据逻辑复制到普通表。2、分区表数据逻辑复制到异构分区表。
PgSQL · 新版本调研 · 13 Beta 1 初体验
把PostgreSQL 13 的新增特性分为了几部分: 数据库功能相关 数据库运维管理相关 数据库安全性相关 其他亮点 我们也按照这几部分来详细介绍,并对一些功能做一些实际的测试,看下具体的效果。
PostgreSQL LIKE的那些事
作者简介刘伟,云和恩墨软件开发部研究院研究员;前微博DBA,主要研究方向为开源数据库,分布式数据库,擅长自动化运维以及数据库内核研究。笔者前段时间在写一个个人自用的项目时候,遇到一个需求,要从一个6百多万数量的表中,使用like‘%keyword%’这种语法来找到需要的结果,虽然默认情况下,也不是不
940万用户数据泄露,450万罚款,国泰航空为“低级失误”买单
以下文章来源于架构头条,作者田晓旭架构头条作者|田晓旭采访嘉宾|赵振平采访嘉宾赵振平(个人微信号:laohouzi999),太阳塔科技CTO,PostgreSQL中文社区主席,曾出版多本技术书籍,《Oracle数据库精讲与疑难解析》、《成功之路:Oracle11g学习笔记》、《IT架构实录》。3月4