Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#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
Pages : 1