Usage of epoch in txid_current

Поиск
Список
Период
Сортировка
От Amit Kapila
Тема Usage of epoch in txid_current
Дата
Msg-id CAA4eK1+Mv+mb0HFfWM9Srtc6MVe160WFurXV68iAFMcagRZ0dQ@mail.gmail.com
обсуждение исходный текст
Ответы Re: Usage of epoch in txid_current
Список pgsql-hackers
Hi,

Currently, txid_current and friends export a 64-bit format of
transaction id that is extended with an “epoch” counter so that it
will not wrap around during the life of an installation.   The epoch
value it uses is based on the epoch that is maintained by checkpoint
(aka only checkpoint increments it).

Now if epoch changes multiple times between two checkpoints
(practically the chances of this are bleak, but there is a theoretical
possibility), then won't the computation of xids will go wrong?
Basically, it can give the same value of txid after wraparound if the
checkpoint doesn't occur between the two calls to txid_current.

Am I missing something which ensures that epoch gets incremented at or
after wraparound?

--
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com


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

Предыдущее
От: Noah Misch
Дата:
Сообщение: Re: REPLICA IDENTITY FULL
Следующее
От: Michael Paquier
Дата:
Сообщение: Re: [HACKERS] pow support for pgbench