I have created following function in pgpool .
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 run following command inside the postgres shell of pgpool
select fun1(1);
It is deleted the data only from master. I tried again then it is deleted from different server.So replication fails in this case. But if i use delete queries separately then it is working fine.It is deleting data from all servers.
DELETE FROM table1 where table1_id = 1 ;DELETE from table2 where table2_id = 1 ;DELETE from table3 where table3_id = 1 ;
Please let me know how to fix this issue .