初始化我的进程时,它运行下面的 PL/pgSQL 语句,创建两个函数。但是,每次我同时创建多个进程作为端到端测试的一部分时,此语句的并行执行会导致tuple concurrently updated我似乎无法绕过的错误。任何帮助将非常感激。
CREATE OR REPLACE FUNCTION
count_rows(schema text, tablename text) returns integer
AS
$body$
DECLARE
result integer;
query varchar;
BEGIN
query := 'SELECT count(1) FROM "' || schema || '"."' || tablename || '"';
execute query into result;
return result;
END;
$body$
LANGUAGE plpgsql;
CREATE OR REPLACE FUNCTION
delete_if_empty(schema text, tablename text) RETURNS INTEGER
AS
$$
DECLARE
result integer;
query varchar;
BEGIN
query := 'SELECT COUNT(*) FROM "' || schema || '"."' || tablename || …Run Code Online (Sandbox Code Playgroud) postgresql ×1