Kevin Grittner <kgrittn@ymail.com> wrote:
> Alexander Korotkov <aekorotkov@gmail.com> wrote:
>> Could we start snapshot-importing transaction with repeatable
>> read isolation level?
>
> You can if you don't use the option which specifies that you want
> serializable behavior. Why specify --serializable-deferrable if
> you don't?
>
>> AFAICS, they should read exactly same data as snapshot-exporting
>> serializable transaction.
>
> Sort of. The behavior once they have a snapshot and are running is
> the same; the difference is whether the snapshot can see a
> transient state which would not be consistent with some serial
> order of transaction execution.
Oh, wait; on a re-read I think I may have misunderstood the question.
If you are talking about having pg_dump acquire a safe snapshot and
have cooperating processes in the same pg_dump run use that
snapshot in repeatable read transactions, then yes -- that would
work. As long as a repeatable read transaction is using a safe
snapshot it will not see any anomalies. That would be a better
solution if it can be done. Do you have any code to suggest, or
should I look at writing it?
--
Kevin Grittner
EDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company