Re: Connection.setReadOnly()

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Connection.setReadOnly()
Дата
Msg-id 17892.1260545186@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Connection.setReadOnly()  (Craig Ringer <craig@postnewspapers.com.au>)
Ответы Re: Connection.setReadOnly()  (John R Pierce <pierce@hogranch.com>)
Список pgsql-jdbc
Craig Ringer <craig@postnewspapers.com.au> writes:
> Does Pg have issues with long-running read-only transactions in
> read-committed mode? Or are they an exception to the usual "avoid
> long-running mostly-idle transactions" guideline?

> Pg doesn't have to worry about retaining old rows in vacuum with such a
> statement, because each new statement creates a new snapshot, so if it's
> idle it effectively has _no_ snapshot and vacuum is free to clear old
> rows. It doesn't need to keep track of anything to roll back, since the
> transaction is read only.

As of 8.4, I think the above statements are true.  In prior releases,
transactions just advertised the age of their first snapshot, so an
open transaction created an issue for VACUUM regardless of whether
it was serializable or not.  8.4 has more bookkeeping that allows a
transaction to report that it currently has no live snapshots.

            regards, tom lane

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

Предыдущее
От: "Albe Laurenz"
Дата:
Сообщение: Re: Connection.setReadOnly()
Следующее
От: Craig Ringer
Дата:
Сообщение: PATCH: Update LISTEN/NOTIFY documentation, PGConnection JavaDoc