Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Identifiez et résolvez les bloqueurs de vide agressifs dans
Dans PostgreSQL, la mise sous vide est essentielle pour garantir l'intégrité de la base de données, car elle permet de récupérer de l'espace de stockage et d'éviter les problèmes d'encapsulation des identifiants de transaction.
Cette postgres_get_av_diag()
fonction permet d'identifier les problèmes qui empêchent ou retardent la progression de l'aspirateur agressif. Des suggestions sont fournies, qui peuvent inclure des commandes pour résoudre le problème lorsqu'il est identifiable ou des conseils pour des diagnostics supplémentaires lorsque le problème n'est pas identifiable. Les bloqueurs d'aspiration agressifs sont signalés lorsque leur âge dépasse le seuil d'autoaspiration adaptatif de 500 millions de transactions fixé par RDS. IDs
Quel est l'âge de l'identifiant de transaction ?
La age()
fonction de transaction IDs calcule le nombre de transactions survenues depuis le plus ancien identifiant de transaction dégelé pour une base de données (pg_database.datfrozenxid
) ou une table (pg_class.relfrozenxid
). Cette valeur indique l'activité de la base de données depuis la dernière opération de vide agressif et met en évidence la charge de travail probable pour les prochains processus VACUUM.
Qu'est-ce qu'un aspirateur agressif ?
Une opération VACUUM agressive effectue une numérisation complète de toutes les pages d'un tableau, y compris celles qui sont généralement ignorées en mode normal VACUUMs. Cette analyse approfondie vise à « geler » les transactions IDs qui approchent de leur âge maximum, évitant ainsi une situation connue sous le nom d'encapsulation des identifiants de transaction
postgres_get_av_diag()
Pour signaler un bloqueur, celui-ci doit dater d'au moins 500 millions de transactions.