Search Postgresql Archives

RE: How can I set a timeout for a locked table in Function ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

 

You cannot set the statement_timeout within a function.

You have to set it before you call the function.

For example, you can try :

BEGIN;

  SET LOCAL statement_timeout = 6000;

  SELECT * from public.”testlock”();

COMMIT;

 

The reason why is explained in this post : https://dba.stackexchange.com/questions/82977/why-set-local-statement-timeout-does-not-work-as-expected-with-postgresql-func

 

Regards,

 

Patrick Fiche

Database Engineer, Aqsacom Sas.

c. 33 6 82 80 69 96

 

01-03_AQSA_Main_Corporate_Logo_JPEG_White_Low.jpg

 

From: İlyas Derse <ilyasderse@xxxxxxxxx>
Sent: Friday, January 3, 2020 10:54 AM
To: pgsql-general@xxxxxxxxxxxxxxxxxxxx
Subject: How can I set a timeout for a locked table in Function ?

 

CREATE OR REPLACE FUNCTION public."testlock"()
    RETURNS TABLE
         (
                 id integer,
                 name character varying,
                  state integer,
                  owner character varying
         )
    LANGUAGE 'plpgsql'
AS $BODY$       
         BEGIN 
                 SET  "statement_timeout" = 6000; --- It's not changing. !!
                 LOCK TABLE public."lock" IN ROW EXCLUSIVE MODE;  
                                   UPDATE public."lock" as l set name = 'deneme' WHERE l."id" = 4;        
        
                 RETURN QUERY
                          select l."id",l."name",l."state",l."owner" from public."lock" as l, pg_sleep(10) where l."id" = 4;           
         END;
$BODY$;
select * from public."testlock"(); 
How can I do ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux