小编wol*_*pel的帖子

在 postgresql/PL/pgSQL 中创建函数时同时更新元组

初始化我的进程时,它运行下面的 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

6
推荐指数
1
解决办法
1520
查看次数

标签 统计

postgresql ×1