From: | Francisco Olarte <folarte(at)peoplecall(dot)com> |
---|---|
To: | pinker <pinker(at)onet(dot)eu> |
Cc: | Postgres General <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: pg_sleep() inside plpgsql block - pro & cons |
Date: | 2018-10-02 10:26:25 |
Message-ID: | CA+bJJbzEe9Gt3g98Nn9SXx4WMdcnU6LvOG049B8Bc3MpN1cxFQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hi:
On Tue, Oct 2, 2018 at 12:10 PM, pinker <pinker(at)onet(dot)eu> wrote:
> There is second time I see that somebody uses pg_sleep function inside
> plpgsql block. This case is quite similar to the last one - it's some kind
> of wait for data to be loaded. After pg_sleep there is a check if some
> condition is true, if not procedure goes to sleep again. As a result an
> average duration of this function is 1,5h...
> I'm trying to gather pros and cons regarding using pg_sleep this way. What's
> coming to my mind are only 2 cons:
> * clog contention
> * long running open transactions (which is quite good described in here:
> https://www.simononsoftware.com/are-long-running-transactions-bad/)
> So maybe you'll add some more to the list?
With so few details, nothing much can be said. Cons, if the proc is
something like do-stuff wait for data to appear, do more stuff, I
think the function will also need read-commited or something similar
to see the data appear, and fail under serializable. Pattern certainly
smells funny. I do some similar things, but I sleep outside of the
database, is there a reason this can not be done?
Francisco Olarte.
From | Date | Subject | |
---|---|---|---|
Next Message | Adrian Klaver | 2018-10-02 13:29:16 | Re: regarding bdr extension |
Previous Message | pinker | 2018-10-02 10:10:03 | pg_sleep() inside plpgsql block - pro & cons |