Vous n'êtes pas identifié(e).

#1 07/02/2019 16:06:11

pitpoule
Membre

XID wraparound

Bonjour,

Le stock le txid arrive à la limite des 2^32 (il nous reste à peu près 200 millions txid de libre) sur notre base de production. J'ai lu pas mal d'articles sur le sujet mais je n'arrive pas à savoir exactement ce qu'il va se passer au moment où le compteur va revenir à zéro. Est ce qu'il va y avoir un vacuum freeze globale de la base ? Ou est ce que les vacuum freeze préventifs vont s’enchaîner lié au paramètre autovacuum_freeze_max_age rendant le passage à zéro "indolore" ?
Nous sommes en PG 9.6

Merci

Hors ligne

#2 07/02/2019 17:51:12

gleu
Administrateur

Re : XID wraparound

L'utilisation des xid est cyclique. Il reviendra à 0 après avoir atteint la valeur max, mais ce n'est pas un problème en soi si des VACUUM ont été exécutés régulièrement. Que donne :

select datname, datfrozenxid from pg_database ;

et quel est le xid courant ?


Guillaume.

Hors ligne

#3 07/02/2019 17:57:32

pitpoule
Membre

Re : XID wraparound

lengow=> select datname, datfrozenxid from pg_database ;
  datname   | datfrozenxid
------------+--------------
postgres  |   4039956812
******         |   3924274179
template1 |   3998600242
template0 |   3998600242
**********   |   4010500360
******        |   4010500360
*****         |   4010500360
(7 rows)



lengow=> select txid_current();       
txid_current
--------------
   4123673365
(1 row)

Dernière modification par pitpoule (07/02/2019 17:58:49)

Hors ligne

#4 07/02/2019 18:30:01

gleu
Administrateur

Re : XID wraparound

OK, donc toutes les bases ont un age très avancé elles-aussi. Elles sont très proches du xid courant. Il n'y a donc aucun soucis. En gros, ce que ça veut dire, c'est que l'XID le plus ancien sur le système est 3924274179 (correspondant à la deuxième base, entre postgres et template1). Il reste donc un peu plus de 3924274179-200 millions de transactions à utiliser avant d'avoir un risque de réutilisation des id de transactions. Pour moi, ce serveur ne risque rien actuellement.


Guillaume.

Hors ligne

#5 07/02/2019 18:37:32

pitpoule
Membre

Re : XID wraparound

C'est une bonne nouvelle ;p

Du coup, de ce que je comprends, c'est que finalement le txid "0" n'est pas plus particulier que le txid 200 ou 10 millions... ce qui compte c'est que le moteur connaissent quels sont les txid du passé et ceux du futur.... et freezer les plus vieux. Comme vous l'avez précédemment écrit, c'est lié à la cyclicité

Hors ligne

#6 07/02/2019 22:34:19

gleu
Administrateur

Re : XID wraparound

C'est exactement ça.


Guillaume.

Hors ligne

Pied de page des forums