vacuum,单位毫秒
autovacuum_max_workers vacuum同时运行的进程数量默认3
autovacuum_naptime vacuum每次运行的时间间隔,默认为1分钟
autovacuum_vacuum_threshold...列就是当前活动事务的开始时间,比较就可以获取到运行时间过长的事务
2 使用pg_squeeze工具执行空间回收的任务,pg_squeeze是基于pg逻辑复制实现的在线处理工具,实现原理实际上是创建新表,...然后使用新表的文件替代原先表文件的方式,这种方式一来不访问原先的表,二来不需要触发器或者长时间的排他过程锁,是非常好用的工具....配图来着平安pg使用的ppt
◆◆
未来的解决方案
◆◆
人工策略终究是人工策略,无论如何,对于DBA能力没有那么强,自动化能力不足的团队,在使用PG的时候,vacuum造成的困扰必然是个少不了的问题...实际上如果不考虑vacuum冻结本身,vacuum本身,最多也就造成数据文件膨胀,而不会"在某个时间点数据库不可访问",这个补丁就是基于这种考虑处理的,但事务id在数据库中用处何其多,因此代码补丁是个相当庞大的玩意