09 2023 档案
摘要:大家好,这次大表哥给大家分享的是PG的表和索引的膨胀。 首先,为什么会出现表和索引的膨胀? 总所周知, Postgres SQL 实现的MVCC的机制不同于 oracle , mysql innodb 的 undo tablespace 的机制。 表上所用的更新和删除等操作的行为,都不会实际的删除或
阅读全文
摘要:监控 WITH max_age AS ( SELECT 2000000000 as max_old_xid , setting AS autovacuum_freeze_max_age FROM pg_catalog.pg_settings WHERE name = 'autovacuum_free
阅读全文
摘要:Hello, 大家好, 今天给大家分享的这个本周发生在生产环境的一个真实的案例。 故障的现象是: 主库短时间内生成了大量的WAL日志,触发了归档archive_command的操作,导致灾备中心的2台standby 机器同步中断。 Standby Log: FATAL: could not rece
阅读全文
摘要:故障发生 Postgresql某系统数据库反馈数据库慢,使用Pgbadger 分析慢日志发现以下SQL执行消耗较高,执行时间平均2S。 分析索引表上列msg_source存在索引,该表可以正常走索引。既然能走索引,PG中考虑就是表死元组过多了。 一、分析表的死元组:表有273852002 行死元组未
阅读全文
摘要:1. 背景很多初学者会对WAL日志占用多少空间比较疑惑,听网上的一些文章说是由max_wal_size来控制的,但发现很多时候WAL日志空间会超过这个设置的值,不知道为什么? 同时有时会发现WAL日志不清理了,占用空间在不停的增长,然后不知道为什么?看一些网上的文章,发现情况不是网上说的那种情况。中
阅读全文