PostgreSQL逻辑复制数据同步到kafka
目前CDC(Change Data Capture)工具还是比较多的 ,现在有部分增量数据同步工具是基于触发器实现的,把数据库的变化记录到某个系统表中,然后在客户端建立缓冲,并定期将变化push到接收端,接收端和发送端建立通道,并定期pull新的数据变化,在目标数据库回放 。但因为使用了触发器会影响生产环境的性能,这点可能无法接受 ,其他的增量数据同步工具中占比比较大的一类,是基于kafka来实现
PostgreSQL的insert语句执行过程分析
在数据库的使用中,增删改查这种操作每天都在进行,本文通过gdb工具演示了一个insert语句的执行流程。一、gdb增加断点开启一个session,获取pid另开一个窗口,用gdb进入调试状态数据库端执行插入操作,因为gdb绑定了pid,会卡住,直到随着gdb的调试过程,执行到真正插入动作的函数我在gdb端加了总共四个断点二、执行到exec_simple_query()先从当前位置开始连续运行程序,
@1-MYSQL当前用户user()与current_user()
MYSQL在进行登陆时,会去匹配mysql库中的user表,并赋予相应的权限在MYSQL中,有两个函数,一个是user(),一个是current_user();user()是用来显示当前登陆的用户名与它对应的host,currrent_user()是用来显示当前登陆用户对应在user表中的哪一个。mysql> select user(); +--------------
Alertmanager发送告警邮件配置
Prometheus将数据采集和报警分成了两个模块。报警规则配置在Prometheus Servers上,然后发送报警信息到AlertManger,然后我们的AlertManager就来管理这些报警信息,聚合报警信息过后通过email、PagerDuty、HipChat、Slack 等方式发送消息提示。本文演示通过email发送告警信息。如下为在prometheus已经部署好的情况下,配置Aler
openGauss/MOGDB Copy支持容错机制
一、COPY容错机制相关选项MOGDB/openGauss允许用户在使用Copy From指令时指定容错选项,使得Copy From语句在执行过程中部分解析、数据格式、字符集等相关的报错不会报错中断事务、而是被记录至错误表中,使得在Copy From的目标文件即使有少量数据错误也可以完成入库操作。用户随后可以在错误表中对相关的错误进行定位以及进一步排查。主要包括三个主要的选项:LOG ERRORS
openGauss/MOGDB与PG等待事件
数据库版本:PG12.1 openGauss/MOGDB 2.1.0最近看到了许多关于PG等待事件的文章,对等待事件这部分也有了很大的兴趣。等待事件是一个累计的统计信息,表明一个server process要继续完成作业,必须等待一个时间的结束;因为系统资源有限,那么完成某些工作,所需资源就要轮流使用,那么在这个过程当中,就会产生等待资源的情况。数据库会用不同类型的定义,来描述这个事情,称之为等待
PostgreSQL的表文件以及TOAST表文件对应关系
一、表和表文件对应关系表和索引属于数据库对象,在pg_calss里都有相应的oid与之对应。每个表都有与之相关的两个关联文件,为_fsm和_vm,是空闲空间映射和可见性映射文件。表的三个文件也被称为相应关系的分支(fork),空闲空间映射是表或者数据文件的第一个分支(分支编号为1),可见性映射是数据文件的第二个分支(分支编号为2),数据文件的分支标编号为0。表或索引对象被创建后会生成以relfil
PostgreSQL删除表中重复数据
一、测试数据创建postgres=# create table test_chongfu(id int not null default null,name char(50) default null,class int default null)
PG恢复被打了删除标记的列
环境 PostgreSQL 12.1一、创建测试数据postgres=# create table ysl1(id int,name char(10)); CREATE TABLE postgres=# insert into ysl1 values(1,'qwe'); INS
MOGDB/openGauss数据库gs_dump备份脚本及清理
有客户需要对MOGDB/openGauss进行每天逻辑备份。如下脚本分享给大家。当然专业的备份工具也可以了解一下云和恩墨的BRM备份工具。一、备份脚本1.脚本c.sh (可以改名字)# database dump shell # you should change the GAUSSHOME GAUSSPO
PostgreSQL的 "OAR-01555"?
一、介绍如果大家用过ORACLE的话,可能对于如下这个报错不会陌生A transaction fails with an ORA-01555 error. ORA-01555: snapshot too old (rollback segment too smal
MOGDB/openGauss的dbe_perf.Statement与pgstat.stat文件关系验证
数据目录的/global下在数据库stop之后会自动生成一个pgstat.stat文件。保存着DBE_PERF_Schema下query记录statement相关的dbe_perf.Statement(获得当前节点的执行语句(归一化SQL)的信息。查询视图必须具有sysadmin权限。数据库主节点上可以看到此数据库主节点接收到的归一化的SQL的全量统计信息(包含数据库节点);数据库节点上仅可看到归
POSTGIS以及QGIS可视化工具使用
PostGIS是一个空间数据库 ,空间数据库像存储和操作数据库中其他任何对象一样去存储和操作空间对象。空间数据类型用于指定图形为点(point)、线(line)和面(polygon)多维度空间索引被用于进行空间操作的高效处理(多维度,而不是只有针对二维空间数据的索引)空间函数构建于SQL语言中,用于进行空间属性和空间关系的查询空间数据类型、空间索引和空间函数组合在一起,提供了灵活的结构用于空间数据
Docker部署PostgreSQL14.1以及postgres_exporter+prometheus+grafana监控
一、Docker软件部署1.构建yum源在/etc/yum.repos.d下创建docker-ce.repodocker-ce.repok可在https://download.docker.com/linux/centos/docker-ce.repo下载查看全部仓库中全部docker版本,并选择特定版本安装[root@node1 yum.repos.d]# yum
MOGDB/openGauss数据库执行计划缓存/失效机制的测试
1.强制对临时对象使用COMMIT而不是2PCpostgres=# SET enforce_two_phase_commit TO off; SET2.创建测试表并插入测试数据postgres=# CREATE TEMP TABLE tab_test_plancache(q1 int8, q2&n
MOGDB/openGauss的txid_snapshot 数据类型和相关函数
txid_snapshot的文本表示为:xmin:xmax:xip_list。 名称 描述
PostgreSQL编写自定义extension
众所周知,PG数据库可以添加许多扩展,用的比较多的有pg_show_plans,pg_stat_statments, 扩展提供给我们很多的便利,这篇文章,是我整理的一篇怎样编写自定义的extension,希望对大家有帮助。举个例子 pg_show_plans插件,在目录中,它最主要的四个文件如图黄框里所示。一个格式为 的控制文件extension_name.control,它告诉&nbs
MOGDB/openGauss索引推荐及虚拟索引
索引推荐在ORACLE的优化中,可能大家有接触过SQL Tuning Advisor(SQL调优顾问,STA),类似的MOGDB/openGauss的索引推荐(Index-advisor)功能也可以对你的查询进行分析,并提出合理的创建索引的建议。ORACLE的STA输出是以一种意见或者建议的形式,以及对每一项建议和期望效益的理由。该建议涉及对象的统计收集,新索引的创建,SQL语句的重组,或SQL概
PG wal日志LSN相关函数
如下对PG一些wal以及LSN相关函数进行介绍1.wal文件名组成wal在$PGDATA/pg_wal下。10之前为pg_xlogwal命名格式文件名称为16进制的24个字符组成,每8个字符一组,每组的意义如下:00000001 00000000 00000001 -------- -------- -------- 时间线 &nb
PostgreSQL11.2+PostGIS2.5部署
软件版本:PostgreSQL-11.2 gdal-2.2.3 proj-4.8.0 geos-3.5.0 json-c-0.13.1 protobuf-2.6.1 protobuf-c-1.2.1 postgis-2.5.0一、源码安装pg11.2用户配置创建安装用户 groupadd dba -g 1000 useradd