Re: 100% CPU at concurent access
От | Sabin Coanda |
---|---|
Тема | Re: 100% CPU at concurent access |
Дата | |
Msg-id | gcne3o$1l0t$1@news.hub.org обсуждение исходный текст |
Ответ на | 100% CPU at concurent access ("Sabin Coanda" <sabin.coanda@deuromedia.ro>) |
Список | pgsql-sql |
I find the problem is in my outer procedure, because it has no sleep there, and I change it calling pg_sleep: -- Function: "TestProcOuter"() -- DROP FUNCTION "TestProcOuter"(); CREATE OR REPLACE FUNCTION "TestProcOuter"() RETURNS integer AS $BODY$ DECLARE Loops int4 := 1; BEGIN LOOP RAISE NOTICE 'TestProcOuter: % loop', Loops; IF 0 = "TestProcInner"() THEN EXIT; -- LOOP END IF; Loops = Loops + 1; PERFORM pg_sleep(4); END LOOP; RETURN 0; END; $BODY$ LANGUAGE 'plpgsql' VOLATILE; ALTER FUNCTION "TestProcOuter"() OWNER TO postgres; With this change, I found the first session succeeds, the CPU is not rised anymore, but the second session doesn't succeed even after the first one finish successfully. It fails forever. Why ? What have I make to succeed ? TIA, Sabin
В списке pgsql-sql по дате отправления: