From: | "Marco Bizzarri" <marco(dot)bizzarri(at)gmail(dot)com> |
---|---|
To: | "Berend Tober" <btober(at)ct(dot)metrocast(dot)net> |
Cc: | PgSQL-General <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Advice on implementing counters in postgreSQL |
Date: | 2008-08-03 07:50:21 |
Message-ID: | 3f0d61c40808030050o4e162ec8jd26fe68eb26b60e2@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Sun, Aug 3, 2008 at 1:40 AM, Berend Tober <btober(at)ct(dot)metrocast(dot)net> wrote:
>
>
> The way I understand the documentation at
>
> "http://www.postgresql.org/docs/8.3/static/transaction-iso.html"
>
> and
>
> 'http://www.postgresql.org/docs/current/static/explicit-locking.html',
>
> you should not have to use the serial isolation level.
>
> I would define the counter table so as to hold the last-used value, rather
> that the "next" value, and then do the UPDATE first.
>
> As a consequence, assuming all this happens within a transaction of course,
> the SELECT FOR UPDATE syntax is not required either because the UPDATE will
> grab a lock on the row and block other updates until the transaction is
> finished. That is, concurrency is protected and you don't have to restart
> any transactions because subsequent transactions will just wait until the
> first one finishes due to nature of the lock automatically acquired by the
> initial UPDATE statement.
>
Yes, I'm considering moving away from serializable; the problem is
that I have to explore all the implications of this on my code. Up to
now, I wrote considering a serializable level, so I think I should do
quite a review to be sure about it.
Regards
Marco
--
Marco Bizzarri
http://iliveinpisa.blogspot.com/
From | Date | Subject | |
---|---|---|---|
Next Message | Yi Zhao | 2008-08-03 09:25:24 | missing chunk number 0 for toast value when pg_dump?? |
Previous Message | Marco Bizzarri | 2008-08-03 07:47:21 | Re: Advice on implementing counters in postgreSQL |