pg_waldump — affiche une version lisible du contenu des fichiers WAL (journaux de transactions) d'une instance PostgreSQL
pg_waldump
[option
...] [startseg
[endseg
]]
pg_waldump
affiche une version lisible des journaux de
transactions (appelés aussi fichiers WAL), ce qui peut être très utile pour
le debugging ou l'apprentissage.
Cet utilitaire peut seulement être lancé par l'utilisateur qui a installé l'instance car il nécessite un accès en lecture seule sur le répertoire principal des données.
Les options suivantes de la ligne de commande vérifient l'emplacement et le format de la sortie :
startseg
On commence à lire au niveau du segment de journal spécifié. Implicitement, cela détermine le chemin dans lequel les fichiers vont être cherchés et la timeline à utiliser.
endseg
On arrête de lire au niveau du segment de journal spécifié.
-b
--bkp-details
Permet de renvoyer des informations détaillées sur les blocs de sauvegarde.
-B block
--block=block
Affiche seulement les enregistrements qui modifient le bloc indiqué. La
relation doit aussi être indiquée avec les arguments
--relation
ou -R
.
-e end
--end=end
Arrête la lecture à une position dans le journal spécifié, au lieu de lire jusqu'à la fin du flux.
-f
--follow
Après avoir atteint la fin d'un fichier WAL valide, la commande vérifie toutes les secondes si un nouveau fichier WAL est apparu.
-F fork
--fork=fork
Affiche seulement les enregistrements qui modifient des blocs
dans le fork donné. Les valeurs valides
sont main
pour la partie principale,
fsm
pour la carte des espaces libres,
vm
pour la carte de visibilité, et
init
pour la partie init.
-n limite
--limit=limite
Affiche seulement le nombre spécifié d'enregistrements, puis s'arrête.
-p chemin
--path=chemin
Indique un répertoire où rechercher les segments de journaux de
transactions ou un répertoire contenant un sous-répertoire
pg_wal
qui contient ces fichiers. Par défaut,
l'outil recherche dans le répertoire courant, dans le sous-répertoire
pg_wal
du répertoire courant et dans le
sous-répertoire pg_wal
du répertoire ciblé par
PGDATA
.
-q
--quiet
N'affiche aucun message, sauf en cas d'erreurs. Cette option peut être utile quand vous voulez connaître l'intervalle d'enregistrements pouvant être analysés mais que vous n'ayez pas besoin du contenu des enregistrements.
-r rmgr
--rmgr=rmgr
N'affiche que les enregistrements générés par le gestionnaire de
ressources spécifié. Vous pouvez indiquer l'option plusieurs fois pour
sélectionner plusieurs gestionnaires de ressources. Si
list
est positionné comme un nom, alors cela affiche
la liste des gestionnaires valides, puis quitte.
Les
extensions peuvent définir des gestionnaires personnalisés de ressources,
mais pg_waldump ne charge pas le module d'extension
et de ce fait, ne
reconnaît pas les gestionnaires personnalisés de ressources par nom. À la
place, vous pouvez indiquer les gestionnaires personnalisés de ressource
comme custom###
où ###
est
l'identifiant du gestionnaire de ressources sur trois chiffres. Les noms
de cette forme seront toujours considérés valides.
-R tblspc
/db
/rel
--relation=tblspc
/db
/rel
Affiche seulement les enregistrements qui modifient des blocs dans la
relation indiquée. La relation est indiquée avec l'OID du tablespace,
l'OID de la base et le relfilenode, séparés par des slashs, par exemple
1234/12345/12345
. C'est le même format utilisé pour
les relations dans la sortie du programme.
-s début
--start=début
Position dans le journal de début de lecture. Par défaut, la lecture commence au premier enregistrement valide trouvé dans le fichier le plus ancien trouvé.
-t timeline
--timeline=timeline
La timeline des journaux depuis laquelle on lit les enregistrements.
Le comportement par défaut prendra la valeur trouvée dans
startseg
, s'il est spécifié, sinon la
valeur par défaut sera 1. La valeur peut être spécifiée en décimal ou
hexadécimal, par exemple 17
or 0x11
.
-V
--version
Affiche la version de pg_waldump, puis quitte.
-w
--fullpage
Affiche seulement les enregistrements qui incluent des images de bloc complet.
-x xid
--xid=xid
N'affiche que les enregistrements marqués avec l'identifiant de transaction donné.
-z
--stats[=enregistrement]
Affiche un résumé des statistiques (nombre, taille des enregistrements et bloc complet) au lieu des enregistrements individuels. En option, il peut générer les statistiques par enregistrement plutôt que par gestionnaire de ressources.
Si pg_waldump est terminé par le signal SIGINT (Control+C), le résumé des statistiques calculées est affiché jusqu'à ce moment. Cette opération n'est pas supportée sur Windows.
--save-fullpage=save_path
Sauvegarde des images complètes de blocs trouvées dans les
enregistrements des journaux de transaction. Les images sont stockées
dans le répertoire save_path
. Elles sont
sujettes aux mêmes critères de filtre et de limitation que les
enregistrements affichés.
Les images complètes de bloc sont sauvegardées avec le format de nom de
fichier suivant :
Les noms de fichiers sont composés des parties suivantes :
TIMELINE
-LSN
.RELTABLESPACE
.DATOID
.RELNODE
.BLKNO
FORK
Composant | Description |
---|---|
TIMELINE | La timeline du fichier segment où l'enregistrement
est situé, formatée sous la forme d'un nombre hexadécimal sur 8
caractères %08X |
LSN | Le LSN de l'enregistrement pour cette
image, formaté sous la forme d'un nombre hexadécimal sur 8
caractères %08X-%08X |
RELTABLESPACE | OID du tablespace du bloc |
DATOID | OID de la base du bloc |
RELNODE | numéro de fichier du bloc |
BLKNO | numéro de bloc |
FORK |
Le nom du fork d'où provient l'image complète de bloc, par exemple
_main , _fsm ,
_vm ou _init .
|
-?
--help
Affiche l'aide sur les arguments en ligne de commande de pg_waldump puis quitte.
PGDATA
Répertoire des données ; voir aussi l'option -p
.
PG_COLOR
Indique s'il faut utiliser la couleur dans les messages de diagnostique.
Les valeurs possibles sont always
,
auto
, never
.
Les résultats peuvent être erronés lorsque le serveur est démarré.
Seule la timeline spécifiée est affichée (ou celle par défaut s'il n'y en a pas de spécifiée). Les enregistrements des autres timelines sont ignorés.
pg_waldump ne peut pas lire les fichiers
suffixés avec .partial
. Si ces fichiers ont tout de même
besoin d'être lus, le suffixe .partial
doit être retiré
du nom du fichier.