Postgresql макс. TransactionId> 4 миллиарда - PullRequest
0 голосов
/ 07 марта 2020

Максимальный идентификатор транзакции Postgresql должен составлять 2 ^ 31, что составляет 2 миллиарда, однако, когда я запрашиваю текущий идентификатор транзакции из БД с помощью функции выбора (txid_current () как текст), я получаю число 8 миллиардов. почему это происходит? Autovacuum_freeze_max_age составляет 200 миллионов.

1 Ответ

1 голос
/ 07 марта 2020

Как документация для используемого семейства функций гласит:

Тип внутреннего идентификатора транзакции (xid) имеет ширину 32 бита и охватывает каждые 4 миллиарда транзакций. Однако эти функции экспортируют 64-битный формат, который расширен счетчиком «эпох», поэтому он не будет изменяться в течение срока службы установки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...