Re: Statement_timeout in procedure block

Поиск
Список
Период
Сортировка
От jian he
Тема Re: Statement_timeout in procedure block
Дата
Msg-id CACJufxEWWbRjiz=ooA_J0sLFhHfui5zbhJ=Va25FFL_Pix0VZQ@mail.gmail.com
обсуждение исходный текст
Ответ на Statement_timeout in procedure block  (Teja Jakkidi <teja.jakkidi05@gmail.com>)
Список pgsql-admin
On Wed, Jun 19, 2024 at 6:12 AM Teja Jakkidi <teja.jakkidi05@gmail.com> wrote:
>
> Hello PgAdmins,
>
> We have a Postgres instance where we had set statement_timeout to 1hour at instance level.
> However, today we noticed that one of our cron jobs which calls a stored procedure failed with timeout error as it
wasrunning for more than an hour. 
> I tried setting “Set local statement_timeout=‘2 h’” within the stored procedure expecting that the statement timeout
willbe 2hours for the SP execution. However it did not work as expected. 
> Can anyone please suggest what can be done here.
>

i am not sure why “Set local statement_timeout=‘2 h’” does not work.


i found related post:
https://stackoverflow.com/questions/35706060/how-to-get-execution-time-in-postgres/35706614#35706614


i think you can do something like this:
do $$
declare t timestamptz := clock_timestamp();
begin
--do the work
if (clock_timestamp() - t > interval '1 hour ') then
        raise exception 'time out';
end if;
raise notice 'time spent=%', clock_timestamp() - t;
end
$$ language plpgsql;



В списке pgsql-admin по дате отправления:

Предыдущее
От: Achilleas Mantzios
Дата:
Сообщение: Re: Materialized views & dead tuples
Следующее
От: Laurenz Albe
Дата:
Сообщение: Re: Statement_timeout in procedure block