Ich habe folgende Funktion in pgpool erstellt.In pgpool bei der Verwendung von delete query innerhalb der postgresql-Funktion löscht es keine Daten von allen Servern
CREATE OR REPLACE Function fun1(Id int)
RETURNS boolean as $executionStatus$
DECLARE
BEGIN
DELETE FROM table1 where table1_id = Id ;
DELETE from table2 where table2_id = Id ;
DELETE from table3 where table3_id = Id ;
RETURN true;
END;
$executionStatus$ LANGUAGE plpgsql;
I laufe folgenden Befehl in der postgres Schale pgpool
select fun1(1);
sie die Daten nur aus dem Master gelöscht. Ich habe es erneut versucht, dann wird es von verschiedenen Server gelöscht.So Replikation schlägt in diesem Fall fehl. Aber wenn ich Abfragen separat lösche, funktioniert es gut. Es löscht Daten von allen Servern.
DELETE FROM table1 where table1_id = 1 ;DELETE from table2 where table2_id = 1 ;DELETE from table3 where table3_id = 1 ;
Bitte lassen Sie mich wissen, wie Sie dieses Problem beheben können.