更新时间:2024-05-07 GMT+08:00

Retry管理

Retry是数据库在SQL或存储过程(包含匿名块)执行失败时,在数据库内部进行重新执行的过程,以提高执行成功率和用户体验。数据库内部通过检查发生错误时的错误码及Retry相关配置,决定是否进行重试。

  • 失败时回滚之前执行的语句,并重新执行存储过程进行Retry。

    示例:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    gaussdb=# CREATE OR REPLACE PROCEDURE retry_basic ( IN  x INT) 
    AS  
    BEGIN
    	  INSERT INTO t1 (a) VALUES (x);
    	  INSERT INTO t1 (a) VALUES (x+1);
    END;
    /
    
    gaussdb=# CALL retry_basic(1);