Postgres 14:将环绕声故障添加到真空中

2021-04-10 07:53:49

将环绕声故障添加到真空。添加故障安全机制,当它注意到表' s Relfrozenxid和/或Relminmxid过去危险时,它会被真空触发。真空以定期的间隔动态地检查表格的年龄。当故障安全触发器时,真空采取非凡的措施,尽可能快地完成,以便可以先进,以便可以提前使用Relfrozenxid和/或Relminmxid。真空将停止应用任何可能有效的基于成本的延迟。真空还将绕过任何进一步的指标吸尘和堆吸尘 - 它只能完成需要剩余的沉淀和冻结。通过提交8523492D绕过索引/堆真空,这使得可以动态触发在使用Index_Cleanup运行时已在真空中使用的机制。预计故障安全几乎始终触发Autovacuum内的触发,以防止包裹,在Autovacuum开始后长。但是,故障安全机制可以在任何真空操作中触发。即使在一个非侵略性的真空中,我们也可以在那里'重新开始前进,它仍然看起来像完成剩余的修剪和冻结的好主意。发生攻击性/反环绕式真空将立即启动。请注意,遵循的反环绕性真空本身将触发故障安全,通常在其之前首先(并且仅)通过堆。故障安全由两个新的GUCS:VACUUM_FAILSAFE_AGE和VACUUM_MULLIXACT_FAILSAFE_AGE控制。没有等效的重选,因为它是必要的。 GUCS具有相当高的默认值(默认为16亿),预计通常仅用于更快地使用故障安全触发器。作者:Masahiko Sawada< [email protected]& gt;作者:Peter Geoghegan< [email protected]& gt;讨论:https://postgr.es/m/cad21aod0ske11fmw4jd4renawbmcw1wasvnwpvww3tvqpoqgaw@mail.gmail.com讨论:https://postgr.es/m/[email protected]