PostgreSQL AB表切换最佳实践

  • 时间:
  • 浏览:2
  • 来源:uu快3倍率_uu快3网游_单双计划

怎么让 ,注意,是因为着切换表名是DDL操作,会加排它锁,与所有这些所会发送冲突。是因为着数据库富含长事务持有了老的表的任何锁,越来越DDL会被堵塞,在等待,同都不堵塞并且的任何前要持有老表锁的请求。

为了尽量解决导入影响查询,通常会使用AB表切换的方法 。使用如下步骤:

3、在新表底下建必要的索引

PostgreSQL , 雪崩 , 锁在等待 , 切换表名 , DDL

2、全量数据导入到新表

1、长事务,持有老表锁(共享锁)

1、建新表

4、切换新、老表名

AB表切换老是老是出现在数据导入的场景中,之类每天是因为着每个固定周期,前要全量导入一批数据到数据库,共同被导入的数据要持续的被查询。

以上状况,很容易造

2、切换表名,DDL,请求排他锁,在等待,排它锁加入锁在等待队列

3、这些会话,查询老表(请求共享锁),与锁在等待队列中的DDL排他锁冲突,在等待,共享锁加入锁在等待队列。