Fork me on GitHub

分类 postgres 中的文章

数据库 OOM 预防

降低主进程被OOM kill 掉的风险 restart_after_crash 默认崩溃重启 postgres=# show restart_after_crash; restart_after_crash --------------------- on (1 row) vm.overcommit # vi /etc/sysctl.conf # 0 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程 # 1 表示内核允许分配所有的物理内存,而不管当前的内存状态如何 # 2 表示内核允许分配超……

阅读全文

checkpoint 检查点

作用 一般checkpoint会将某个时间点之前的脏数据全部刷新到磁盘,以实现数据的一致性与完整性。其主要目的是为了缩短崩溃恢复时间。 数据库靠谱的原因 一条DML 写入过程 在写入数据的时,当事务提交后修改信息顺序同步写入wal。shared buffer中信息并不是马上落盘。异步同步磁盘……

阅读全文

咨询锁 adlock

https://github.com/digoal/blog/blob/master/201805/20180524_02.md 行级锁 select .. for update select .. for update skip locked select .. for share……

阅读全文

逻辑复制

逻辑复制 Postgres 10 版本开始, 在内核层面支持基于REDO流的逻辑复制。 控制粒度为表级别 物理复制相同都是基于wal 可指定多个上游数据源 下游数据可读可写 可用于数据汇总,无停服数据迁移,大版本升级等。 基本概念 发布者(publication), 上游数据 订阅者 (subscrition), 下游数据 复……

阅读全文

pg_rewind 时间线对齐

pg_rewind requires that the target server either has the wal_log_hints option enabled in postgresql.conf or data checksums enabled when the cluster was initialized with initdb. Neither of these are currently on by default. full_page_writes must also be set to on, but is enabled by default. wal_log_hints 使用场景 在数据库主从结构中,从变成主易。但是由主变为从却需要一番周折。 如果是数据量少时重新使用pg_backup拉一份从即可,但是如果数据量大时,这个过程非常的耗时耗能。对线上业务也会有影……

阅读全文

PG高可用Patroni

环境 操作系统 Centos 7 patroni 版本 2.0.2 postgres 版本 13 实现目标 高可用方案对比 patroni 结构分析 patroni 搭建新集群 patroni 接管现有集群 patroni 管理pg配置 手动swithover 自动failover 维护模式 弹性扩容,缩容 对外提供统一服务 RestFULLAPI 备份恢复 监控 日志 升级 高可用方案对比 pg的高可用方案都是基于流复制来实现 PAF pacemaker + corosyns repmgr repmgr 手动流复制管……

阅读全文

pg_pathman 分区表

介绍 分区表的诉求在现实的生成中的意义不必多说,pg以前的实现方式多采用触发器,rules实现。数据量上来时性能明显不尽如意。 虽然pg10 ,11 版本在分区表的特性上不断发力。但是性能啥还是不够给力。 pg_pathman 分区表功能在目前的pg版本10.6 中优势还是非常明显的。 在期待pg自身分区表特性的……

阅读全文

引起索引失效

简介 索引的作用,加速检索,排序,分组。 优点: 检索 缺点: 新增,更新时需要维护索引,占磁盘空间,创建时锁表。 维护: 根据统计表发生全表扫描次数,索引使用次数。合理添加删除索引。 索引失效的场景 如果where过滤条件设置不合理,即使索引存在,且where过滤条件中包含索引列,也会导致全表扫……

阅读全文

DBA 日常

备份 恢复 时时热备 定期冷备 升级 每年大版本小版本升级,新特性调研,性能测试,稳定性。 可用当前最新的上一个版本。 HA 手动 自动 读写分离 sharding 多副本 安全 权限管理 资源隔离 审计 ddl 慢sql 锁长时间占用 巡检 定期巡检 awr 报告 监控 系统 数据库 诊断 优化 背景 应用程序的野蛮生长,由产品为驱动的开发,一切以快速上线为目……

阅读全文