自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(7)
  • 收藏
  • 关注

原创 【postgresql案例一】一个LIMIT引发的“血案”

之前给业务排查的时候发现,业务上存在大量的全量查询,其中很多信息都是无用的,采用全量查询存在以下几个方面问题:查询数据量大,导致发送时间长,在数据库中经常看到慢查询日志,经常需要分析当前业务采用sqlachemly方式操作数据库,数据量大的时候,经常出现python接收慢,并且占用大量内存的情况,之前出现过大并发下全量查询导致客户端卡死的情况根据经验,提出了加上LIMIT的方法,限制每次查询返回的...

2018-04-30 11:51:37 2929 2

原创 【pg_rman】备份GIN索引bug

最近有业务反应,每次使用pg_rman备份恢复之后,过段时间数据库会停止失败。当时查看进程相关信息,发现有个对GIN索引的自动清理进程挂死,怀疑和IN索引有关。如是做了如下测试,发现为pg_rman备份恢复GIN索引文件存在bug导致。测试版本:PG9.2.21 和pg_rman1.3测试步骤如下:1、建立表和索引postgres@X86U149:~

2017-06-25 10:29:07 583

原创 【Postgresql源码分析之五】主备热备代码分析--Walsender进程(一)

PG中的主备复制通过两个进程实现的,主机通过walsender进程发送xlog日志,备机通过walreciver进程接收xlog日志并进行redo恢复操作。

2016-08-06 22:21:15 2290

原创 【Postgresql源码分析之四】同步复制源码分析--支持多个同步备机

前面介绍了,在PG9.6之前的同步复制的代码实现过程。我们知道,在前面判断是否取消等待的时候,只管理一个同步备机(优先级最高),其它的备机均为潜在同步备机,这样会降低可靠性。在PG9.6版本中,对同步复制做了增强,支持多个同步备机。支持多个同步备机说明首先看下,releasenotes中关于多个同步备机的说明      Support synchronous replication

2016-07-27 21:22:36 934

原创 【Postgresql源码分析之三】同步复制源码分析

前面介绍了,在开启同步复制模式后,进程在主机上提交事物之后,需要等待同步备机的响应(确保备机已经接收到这条xlog日志),主要是在函数SyncRepWaitForLSN中等待同步状态的更新(由SYNC_REP_WAITING变为SYNC_REP_WAIT_COMPLETE)。下面介绍状态更新的过程,即主机如何感知到等待的xlog日志发送到备机。我们知道,在建立正常的流复制关系之后,备机

2016-07-27 19:59:08 719

原创 【Postgresql源码分析之二】同步复制源码分析

前面说明了pg中同步复制的设置方法,主要是设置参数synchronous_commit和synchronous_standby_names,下面介绍同步复制的代码实现流程(这里先介绍PG9.6之前的同步复制方式,即只支持一个同步备机)。    同步复制的源代码在pg中的位置为src/backend/replication/syncrep.c,该程序中包含的函数主要分为三部分:  提

2016-07-24 15:20:31 978

原创 【Postgresql源码分析之一】主备同步复制介绍

postgresql主备热备postgresql支持主机和备机以及级联之间的热备,即通过先进行一次基础备份,让其拥有相同的基础数据,然后通过传输XLOG日志的方式,在备机或者级联备机上REDO模拟主机上的操作,保证他们之间数据的一致性。目前热备传输方式有下面两种;异步复制(async):主机上产生xlog日志,只需要将该xlog日志发送给备机就返回给客户端结果,不关心备机是否接收到该日志

2016-07-24 14:22:28 1106

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除