Documentation PostgreSQL 14.22 » Référence » Applications relatives au serveur PostgreSQL » pg_checksums

Précédent | Niveau supérieur | Suivant
pg_archivecleanup | Sommaire | pg_controldata

## pg_checksums

pg_checksums — Active, désactive ou vérifie les sommes de contrôle des fichiers de données d'une instance PostgreSQL

## Synopsis

`pg_checksums` [`option`...] [[ `-D` | `--pgdata` ]`RÉPERTOIRE_DONNÉES`]

## Description

pg_checksums vérifie, active ou désactive les sommes de contrôle des fichiers de données d'une instance PostgreSQL. Le serveur doit être arrêté proprement avant d'exécuter pg_checksums. Lors de la vérification des sommes de contrôle, le code de retour vaut zéro s'il n'y a pas d'erreur et différent de zéro s'il y a au moins une erreur détectée. Lors de l'activation ou de la désactivation des sommes de contrôle, le code de retour est différent de zéro si l'opération a échoué.

Lors de la vérification des sommes de contrôle, chaque fichier de l'instance est scanné. Lors de l'activation des sommes de contrôle, chaque fichier de l'instance est réécrit. La désactivation des sommes de contrôle ne fait que mettre à jour le fichier `pg_control`.

## Options

Les options suivantes sont disponibles en ligne de commande :

`-D `REPERTOIRE``
`--pgdata=`REPERTOIRE``

  Spécifie le répertoire où l'instance de base de données est hébergée.

`-c`
`--check`

  Vérifie les sommes de contrôle. Il s'agit du mode par défaut si rien d'autre n'est spécifié.

`-d`
`--disable`

  Désactive les sommes de contrôle.

`-e`
`--enable`

  Active les sommes de contrôle.

`-f `filenode``
`--filenode=`filenode``

  Ne valide les sommes de contrôle que pour la relation ayant le nom de fichier `filenode`.

`-N`
`--no-sync`

  Par défaut, `pg_checksums` va attendre que tous les fichiers soient écrits proprement sur disque. Cette option force `pg_checksums` à rendre la main sans attendre, ce qui est plus rapide, mais signifie qu'un arrêt impropre du système d'exploitation laissera le répertoire de données ciblé dans un état corrompu. Généralement, cette option est utile pour des tests mais ne devrait pas être utilisée sur une installation de production. Cette option n'a pas d'effet lorsque `--check` est utilisée.

`-P`
`--progress`

  Active le suivi de la progression. Activer cette option produira un rapport de progression lors des phases de vérification ou d'activation des sommes de contrôle.

`-v`
`--verbose`

  Active l'affichage verbeux. Affichera tous les fichiers vérifiés.

`-V`
`--version`

  Affiche la version de pg_checksums puis quitte.

`-?`
`--help`

  Affiche l'aide sur les arguments en ligne de commande de pg_checksums puis quitte.

## Environnement

`PGDATA`

  Indique le répertoire de stockage de l'instance de bases de données ; peut être surchargé avec l'option `-D`.

`PG_COLOR`

  Indique s'il faut utiliser la couleur dans les messages de diagnostic. Les valeurs possibles sont `always`, `auto`, `never`.

## Notes

Activer les sommes de contrôle sur une grosse instance peut potentiellement prendre un long moment. Pendant cette opération, l'instance ou tout autre programme écrivant dans le répertoire des données ne peuvent pas être actifs. Dans le cas contraire, des pertes de données pourraient se produire.

Lors de l'utilisation de la réplication avec des outils qui copient directement les blocs des fichiers des relations (par exemple pg_rewind), l'activation ou la désactivation des sommes de contrôle peut mener à des corruptions de pages sous la forme de sommes de contrôle incorrectes si l'opération n'est pas menée de manière cohérente sur l'ensemble des nœuds. Lors de l'activation ou de la désactivation des sommes de contrôle dans un environnement répliqué, il est donc recommandé d'arrêter toutes les instances avant de les transformer une à une. Détruire toutes les instances secondaires, effectuant l'opération sur l'instance principale pour finalement recréer les secondaires de zéro est également considéré comme sûr.

Si pg_checksums est annulé ou tué lors de l'activation ou de la désactivation des sommes de contrôle, la configuration des sommes de contrôle des fichiers de l'instance reste inchangée, et pg_checksums peut être relancé pour effectuer à nouveau la même opération.