Table of Contents
1
Introduction
pgBackRest peut être utilisé entièrement avec les paramètres de la ligne de commande mais un fichier de configuration est plus pratique pour les installations complexes ou comportant beaucoup d'options. L'emplacement par défaut du fichier de configuration est /etc/pgbackrest/pgbackrest.conf. Si aucun fichier n'existe à cet emplacement, l'ancienne valeur par défaut /etc/pgbackrest.conf sera alors utilisée.
2
Archive Options (archive)
La section archive définit les options des commandes archive-push et archive-get.
2.1
Archivage asynchrone (--archive-async)
Pousser et obtenir des segments WAL de manière asynchrone.
Permet d'activer un fonctionnement asynchrone pour les commandes archive-push et archive-get.

Le fonctionnement asynchrone est plus performant car il permet de réutiliser les connexions et de tirer parti du parallélisme. Consultez les options spool-path, archive-get-queue-max, et archive-push-queue-max pour plus d'informations.
default: n
example: archive-async=y
2.2
Taille maximale file d'attente récupération d'Archive (--archive-get-queue-max)
Taille maximale de la file d'attente pgBackRest archive-get.
Spécifie la taille maximale de la file d'attente archive-get lorsque archive-async est activée. La file d'attente est stockée sur l'emplacement définit par spool-path et est utilisée pour accélérer la réception des données de WAL par PostgreSQL.

La taille peut être saisie en octets (par défaut) ou en KB, MB, GB, TB ou PB où le multiplicateur est une puissance de 1024.
default: 134217728
allowed: 0-4503599627370496
example: archive-get-queue-max=1073741824
2.3
Taille maximale de la file d'attente pour les archives (--archive-push-queue-max)
Taille maximale de la file d'attente PostgreSQL archive..
Une fois la limite atteinte, voici ce qui se produira :
  1. pgBackRest signalera à PostgreSQL que les journaux de transaction (WAL) ont été archivée avec succès, puis, LES SUPPRIMES.
  2. Un avertissement sera émis dans le journal de trace de PostgreSQL.
Si cela se produit, le flux d'archives sera interrompu et le PITR ne sera plus possible au-delà de ce moment. Une nouvelle sauvegarde est alors indispensable pour retrouver la fonctionnalité de restauration complète.

En mode asynchrone, la totalité de la file d'attente sera supprimée afin d'éviter que des flots de WAL ne passent avant que la limite de la file ne soit à nouveau dépassée.

Le but de cette fonction est d'éviter que le disque utilisé pour le stockage du journal (pg_wal ou pg_log) ne se remplisse, ce qui entraînerait l'arrêt complet de l'instance PostgreSQL. Il est peut être préférable de perdre la sauvegarde que d'avoir PostgreSQL s'arrêter.

La taille peut être saisie en octets (par défaut) ou en KB, MB, GB, TB ou PB où le multiplicateur est une puissance de 1024.
allowed: 0-4503599627370496
example: archive-push-queue-max=1GB
Nom obsolète: archive-queue-max
2.4
Archive Délai d'attente (--archive-timeout)
Délai d'attente de l'archivage (archive timeout).
Définit le temps maximum, en secondes, à attendre pour que chaque segment WAL atteigne le dépôt d'archives de pgBackRest. Le délai s'applique aux commandes check et backup lorsqu'on attend que les segments WAL nécessaires à la cohérence de la sauvegarde soient archivés.
default: 60
allowed: 0.1-86400
example: archive-timeout=30
3
Sauvegarde Options (backup)
La section backup définit les paramètres relatifs à la sauvegarde.
3.1
Check Archive (--archive-check)
Contrôle que les segments WAL se trouvent bien dans les archives à la fin du processus de sauvegarde.
Contrôle que tous les segments de WAL nécessaires pour rendre la sauvegarde cohérente sont présents dans les archives de WAL. Il est conseillé de laisser ce paramètre par défaut, à moins que vous n'utilisiez une autre méthode d'archivage..

Cette option doit être activée si archive-copy est activé.
default: y
example: archive-check=n
3.2
Copie des Archives (--archive-copy)
Copier tous les segments WAL nécessaires à la cohérence de la sauvegarde.
Cette option un peu parano protège contre la corruption dans les archives des segments WAL en stockant les segments WAL nécessaires à la cohérence directement dans la sauvegarde. Les segments WAL sont toujours stockés dans l'archive, donc cette option utilisera de l'espace supplémentaire.

Lors de la restauration, les segments WAL seront présents dans pg_xlog/pg_wal et PostgreSQL les utilisera de préférence plutôt que d'appeler la restore_command.

L'option archive-check doit être activée si archive-copy est activée
default: n
example: archive-copy=y
3.3
Sauvegarde à partir du secondaire (--backup-standby)
Sauvegarde depuis l'instance standby secondaire.
Activer la sauvegarde depuis le secondaire en standby pour réduire la charge sur l'instance primaire. Cette option nécessite que les hôtes primary (primaire) et standby (secondaire en standby) soit correctement configurés.
default: n
example: backup-standby=y
3.4
Sommes de controle des Pages (--checksum-page)
Validation des sommes de contrôle des pages de données (checksums).
Permet à pgBackRest de valider toutes les sommes de contrôle des pages de données pendant la sauvegarde de l'instance. Cette option est automatiquement activée lorsque les sommes de contrôle des pages de données sont activées sur l'instance.

Un échec dans la validation de la somme de contrôle n'annulera pas la sauvegarde. Au contraire, des avertissements seront émis dans le journal des traces (et par défaut sur la console); la liste des pages non valides sera stockée dans le manifeste de sauvegarde.
example: checksum-page=n
3.5
Exclusions Chemin/Fichier (--exclude)
Exclusion des chemins/fichiers de la sauvegarde..
Toutes les exclusions sont relatives à $PGDATA. Si l'exclusion se termine par / alors seuls les fichiers du répertoire spécifié seront exclus, par exemple --exclude=junk/ exclura tous les fichiers du répertoire $PGDATA/junk mais inclura le répertoire lui-même. Si l'exclusion ne se termine pas par / alors le fichier peut correspondre exactement à l'exclusion ou correspondre à / apposé à l'exclusion, par exemple --exclude=junk exclura le répertoire $PGDATA/junk et tous les fichiers qu'il contient.

Soyez prudent en utilisant cette fonctionnalité : il est très rapide d'exclure quelque chose d'essentiel qui rendra la sauvegarde incohérente. Assurez-vous de tester vos restaurations !

Tous les fichiers exclus seront journalisés au niveau info avec la règle d'exclusion.Veillez à vérifier la liste des fichiers exclus pour vous assurer que rien d'inattendu n'est exclu.
NOTE:
Les exclusions ne sont pas prises en compte lors des restaurations delta. Tout fichier/répertoire qui a été exclu par la sauvegarde sera supprimé lors de la restauration delta.
Cette option ne doit pas être utilisée pour exclure les journaux de traces PostgreSQL d'une sauvegarde. Les journaux peuvent être déplacés hors du répertoire PGDATA en utilisant le paramètre PostgreSQL log_directory, ce qui présente l'avantage de permettre la préservation des journaux après une restauration.

Les exclusions multiples peuvent être spécifiées sur la ligne de commande ou dans le fichier de configuration.
example: exclude=junk/
3.6
Seuil sauvegarde manifeste (--manifest-save-threshold)
Seuil de déclenchement de la sauvegarde du manifeste lors de la sauvegarde.
Définit la fréquence à laquelle le manifeste sera sauvegardé lors d'une sauvegarde. La sauvegarde du manifeste est importante car elle permet de stocker les sommes de contrôle et de faire fonctionner efficacement la fonction de reprise. Le volume réel utilisé est de 1 % de la taille de la sauvegarde ou manifest-save-threshold, la valeur la plus élevée étant retenue.

La taille peut être saisie en octets (par défaut) ou en KB, MB, GB, TB, ou PB où le multiplicateur est une puissance de 1024.
default: 1073741824
allowed: 1-1099511627776
example: manifest-save-threshold=5G
3.7
Reprise (--resume)
Permettre la reprise d'une sauvegarde échoué
Définit si la fonctionnalité de reprise est activée. La reprise peut réduire considérablement le temps nécessaire pour exécuter une sauvegarde si une sauvegarde précédente du même type a échoué. Elle ajoute toutefois de la complexité, de sorte qu'il peut être conseillé de la désactiver dans les environnements qui n'ont pas besoin de cette fonction.
default: y
example: resume=n
3.8
Démarrage rapide (--start-fast)
Forcer un point de contrôle (checkpoint) pour lancer plus rapidement la sauvegarde.
Force un point de contrôle (en passant le paramètre y à fast de pg_start_backup()) pour que la sauvegarde commence immédiatement. Sinon, la sauvegarde commencera après le prochain point de contrôle contrôle.

Cette fonction ne fonctionne qu'à partir de PostgreSQL version >= 8.4.
default: n
example: start-fast=y
3.9
Arrêt Automatique (--stop-auto)
Arrêt d'une sauvegarde antérieure défaillante lors la nouvelle sauvegarde.
Cette opération ne sera effectuée que si un verrouillage consultatif exclusif peut être acquis afin de faire la preuve que le processus de sauvegarde antérieur ayant échoué s'est réellement arrêté.

Cette fonctionnalité repose sur pg_is_in_backup() et ne fonctionne donc qu'avec PostgreSQL >= 9.3.

Cette fonctionnalité n'est pas prise en charge pour PostgreSQL >= 9.6 car les sauvegardes sont exécutées en mode non exclusif.

Ce paramètre est désactivé par défaut car il suppose que pgBackRest est le seul processus qui effectue exclusivement des sauvegardes en ligne. Il se base sur un verrou consultatif que seul pgBackRest définit afin de pouvoir interrompre les autres processus qui effectuent des sauvegardes exclusives en ligne. Notez que base_backup et pg_dump sont sans risque avec ce paramétrage car ils n'appellent pas pg_start_backup() et ne sont donc pas exclusifs.
default: n
example: stop-auto=y
4
General Options (general)
La section general définit les options qui sont communes à de nombreuses commandes.
4.1
Taille de la mémoire tampon (--buffer-size)
Taille de la mémoire tampon pour les opérations sur les fichiers.
Définissez la taille de la mémoire tampon utilisée pour les opérations de copie, de compression et de décompression. Un maximum de 3 tampons seront utilisés à la fois par processus. Un maximum supplémentaire de 256K par processus peut être utilisé pour les tampons zlib.

La taille peut être saisie en octets (par défaut) ou en KB, MB, GB, TB, ou PB où le multiplicateur est une puissance de 1024. Par exemple, la valeur insensible à la casse 32k (ou 32KB) peut être utilisée au lieu de 32768.

Les valeurs autorisées, en octets, sont16384, 32768, 65536, 131072, 262144, 524288, 1048576, 2097152, 4194304, 8388608, et 16777216.
default: 1048576
example: buffer-size=32K
4.2
Commande client SSH (--cmd-ssh)
Chemin d'accès à l'exécutable du client ssh.
Utilisez un client SSH spécifique lorsqu'une alternative est nécessaire ou lorsque l'exécutable ssh n'est pas dans $PATH.
default: ssh
example: cmd-ssh=/usr/bin/ssh
4.3
Compression (--compress)
Utilisez la compression de fichiers.
Les fichiers de sauvegarde sont compatibles avec les outils de compression en ligne de commande.

Cette option est désormais obsolète. L'option compress-type doit être utilisée à la place.
default: y
example: compress=n
4.4
Niveau de compression (--compress-level)
Niveau de compression des fichiers.
Définit le niveau à utiliser pour la compression des fichiers lorsque compress-type n'est pas égal à none ou compress=y (déprécié).
allowed: 0-9
example: compress-level=9
4.5
Niveau de compression réseau (--compress-level-network)
Niveau de compression du réseau.
Définit le niveau de compression sur le réseau, lorsque compress-type=none et que la commande n'est pas exécutée sur le même hôte que le dépôt. La compression est utilisée pour réduire le trafic réseau mais peut être désactivée en définissant compress-level-network=0. Lorsque compress-type n'est pas égal à none, le paramètre compress-level-network est ignoré et compress-level est utilisé à la place de sorte que le fichier ne soit compressé qu'une seule fois. La compression SSH est toujours désactivée.
default: 3
allowed: 0-9
example: compress-level-network=1
4.6
Type de compression (--compress-type)
Type de compression pour les fichiers.
Les types de compression suivants sont pris en charge :
  • bz2 - format de compression bzip2
  • gz - format de compression gzip
  • lz4 - format de compression lz4 (non disponible sur toutes les plateformes)
  • zst - format de compression Zstandard (non disponible sur toutes les plateformes)
default: gz
example: compress-type=n
4.7
Timeout de la base de données (--db-timeout)
Délai d'attente des requêtes à la base de données.
Définit le délai d'attente, en secondes, pour les interrogations de la base de données. Cela inclut les fonctions pg_start_backup() et pg_stop_backup() qui peuvent chacune prendre un temps considérable. C'est pourquoi le délai d'attente doit être maintenu à un niveau élevé, sauf si vous savez que ces fonctions retourneront rapidement (c'est-à-dire si vous avez défini startfast=y et que vous savez que l'instance de base de données ne générera pas beaucoup de segments WAL pendant la sauvegarde).
NOTE:
L'option db-timeout doit être inférieure à l'option protocol-timeout.
default: 1800
allowed: 0.1-604800
example: db-timeout=600
4.8
Delta (--delta)
Restauration ou sauvegarde à l'aide de sommes de contrôle.
Lors d'une restauration, par défaut, les répertoires PostgreSQL data et tablespace sont censés être présents mais vides. Cette option effectue une restauration delta en utilisant des sommes de contrôle.

Lors d'une sauvegarde, cette option utilisera les sommes de contrôle au lieu des horodatages pour déterminer si les fichiers devront être copiés.
default: n
example: delta=y
4.9
Délai d'attente E/S (--io-timeout)
Délai d'attente E/S.
Délai d'attente, en secondes, utilisé pour les connexions et les opérations de lecture/écriture.

Notez que l'ensemble de l'opération de lecture/écriture n'a pas besoin de se terminer dans ce délai mais une progression doit être constatée, même s'il ne s'agit que d'un seul octet.
default: 60
allowed: 0.1-3600
example: io-timeout=120
4.10
Chemin fichier de verrouillage (--lock-path)
Chemin d'accès où sont stockés les fichiers de verrouillage.
Le chemin de verrouillage fournit l'emplacement à pgBackRest pour créer des fichiers de verrouillage afin d'éviter que des opérations en conflictuelles ne soient exécutées simultanément.
default: /tmp/pgbackrest
example: lock-path=/backup/db/lock
4.11
Umask neutre (--neutral-umask)
Utilisation d'un umask neutre
Définit l'umask à 0000 pour que les modes dans le dépôt de sauvegarde soient créés de manière appropriée. Le mode par défaut du répertoire est 0750 et le mode par défaut du fichier est 0640. Pour les répertoires lock et log, les modes de répertoire et de fichier sont respectivement fixés à 0770 et 0660.

Pour utiliser l'umask de l'utilisateur en cours d'exécution, spécifiez plutôt neutral-umask=n dans le fichier de configuration ou --no-neutral-umask sur la ligne de commande.
default: y
example: neutral-umask=n
4.12
Processus Maximum (--process-max)
Nombre de processus maximal lors utilisé lors de la compression et du transfert.
Chaque processus effectuera une compression et un transfert pour que la commande s'exécute plus rapidement, mais ne réglez pas process-max à un niveau si élevé que cela affecte les performances de la base de données.
default: 1
allowed: 1-999
example: process-max=4
4.13
Délai d'attente au niveau Protocole (--protocol-timeout)
Délai d'attente du protocole.
Définit le délai, en secondes, durant lequel le processus local ou distant attendra qu'un nouveau message soit reçu au niveau de la couche protocole. Cela permet d'éviter que les processus n'attendent indéfiniment un message.
NOTE:
L'option protocol-timeout doit être supérieure à celle de db-timeout option.
default: 1830
allowed: 0.1-604800
example: protocol-timeout=630
4.14
Keep Alive (--sck-keep-alive)
Activation de la fonction de keep-alive (maintien en vie).
Activation des messages de keep-alive (maintien en vie) sur les connexions réseaux.
default: y
example: sck-keep-alive=n
4.15
Chemin pour données transitoires (Spool) (--spool-path)
Chemin où les données transitoires sont stockées.
Ce chemin est utilisé pour stocker les données nécessaires à la commande asynchrone archive-push et archive-get.

La commande asynchrone archive-push enregistre des accusés de réception dans le chemin du spool lorsqu'elle a stocké avec succès le WAL dans l'archive (et des erreurs en cas d'échec) afin que le processus de premier plan puisse rapidement notifier PostgreSQL. Les fichiers d'accusés de réception sont très petits (zéro octets en cas de succès et quelques centaines d'octets en cas d'erreur).

La commande asynchrone archive-get met en file d'attente le WAL dans le chemin du spool afin qu'il puisse être fourni très rapidement lorsque PostgreSQL le demande. Le déplacement de fichiers vers PostgreSQL est plus efficace lorsque le chemin du spool se trouve sur le même système de fichiers que pg_xlog/pg_wal.

Les données stockées dans le chemin du spool ne sont pas réellement temporaires puisqu'elles peuvent et doivent survivre à un redémarrage. Cependant, la perte des données dans le chemin du spool n'est pas un problème. pgBackRest va simplement revérifier chaque segment WAL pour s'assurer qu'il est bien archivé pour archive-push et reconstruire la file d'attente pour archive-get.

Le chemin du spool est destiné à être situé sur un système de fichiers local compatible Posix, et non sur un système de fichiers distant tel que NFS ou CIFS.
default: /var/spool/pgbackrest
example: spool-path=/backup/db/spool
4.16
Conteur Keep Alive (--tcp-keep-alive-count)
Compteur Keep-alive.
Spécifie le nombre de messages TCP à garder en mémoire qui peuvent être perdus avant que la connexion ne soit considérée comme morte.

Cette option n'est disponible que sur les systèmes qui prennent en charge l'option réseau TCP_KEEPCNT.
allowed: 1-32
example: tcp-keep-alive-count=3
4.17
Temps d'inactivité Keep Alive (--tcp-keep-alive-idle)
Temps d'inactivité du keepalive.
Spécifie la durée (en secondes) sans activité du réseau après laquelle le système d'exploitation doit envoyer un message TCP de maintien en activité (keep-alive).

Cette option n'est disponible que sur les systèmes qui prennent en charge l'option réseau TCP_KEEPIDLE.
allowed: 1-3600
example: tcp-keep-alive-idle=60
4.18
Intervalle du Keep Alive (--tcp-keep-alive-interval)
Temps d'intervalle de maintien en vie (keep-alive).
Spécifie le temps (en secondes) après lequel un message TCP de maintien en activité (keep-alive) non acquitté doit être retransmis.

Cette option n'est disponible que sur les systèmes qui prennent en charge l'option réseau TCP_KEEPINTVL.
allowed: 1-900
example: tcp-keep-alive-interval=30
5
Log Options (log)
La section log définit les paramètres liés à la journalisation des traces.
CAUTION:
Cette journalisation peut révéler des informations sensibles telles que des clés et des mots de passe. À utiliser donc avec prudence !
5.1
Niveau du journal de la console (--log-level-console)
Niveau de journalisation en sortie sur la console.
Les niveaux de traces suivants sont pris en charge:
  • off - Pas de journal de traces (non recommandé)
  • error - Journaliser uniquement les erreurs
  • warn - Journaliser les avertissements et les erreurs
  • info - Journaliser les messages d'information, les avertissements et les erreurs
  • detail - Journaliser les détails, les messages d'information, les avertissements et les erreurs
  • debug - Journaliser les message de Débogage, les détails, les messages d'information, les avertissements et les erreurs
  • trace - Journaliser les traces (un débogage très verbeux), les message de Débogage, les détails, les messages d'information, les avertissements et les erreurs
default: warn
example: log-level-console=error
5.2
Niveau du journal fichier (--log-level-file)
Niveau d'enregistrement des traces lors de l'enregistrement sur fichier.
Les niveaux de traces suivants sont pris en charge:
  • off - Pas de journal de traces (non recommandé)
  • error - Journaliser uniquement les erreurs
  • warn - Journaliser les avertissements et les erreurs
  • info - Journaliser les messages d'information, les avertissements et les erreurs
  • detail - Journaliser les détails, les messages d'information, les avertissements et les erreurs
  • debug - Journaliser les message de Débogage, les détails, les messages d'information, les avertissements et les erreurs
  • trace - Journaliser les traces (un débogage très verbeux), les message de Débogage, les détails, les messages d'information, les avertissements et les erreurs
default: info
example: log-level-file=debug
5.3
Niveau du journal pour stderr (--log-level-stderr)
Niveau de traces sur la sortie console stderr.
Spécifie les niveaux de traces qui sortiront en stderr plutôt que stdout (spécifié par log-level-console). L'horodatage et le processus ne seront pas émis sur stderr.

Les niveaux de traces suivants sont pris en charge:
  • off - Pas de journal de traces (non recommandé)
  • error - Journaliser uniquement les erreurs
  • warn - Journaliser les avertissements et les erreurs
  • info - Journaliser les messages d'information, les avertissements et les erreurs
  • detail - Journaliser les détails, les messages d'information, les avertissements et les erreurs
  • debug - Journaliser les message de Débogage, les détails, les messages d'information, les avertissements et les erreurs
  • trace - Journaliser les traces (un débogage très verbeux), les message de Débogage, les détails, les messages d'information, les avertissements et les erreurs
default: warn
example: log-level-stderr=error
5.4
Emplacement du journal (--log-path)
Emplacement où les fichiers journaux de traces sont stockés.
Le chemin d'accès au journal fournit un emplacement pour pgBackRest pour stocker les fichiers journaux. Notez que si log-level-file=off alors aucun chemin pour l'emplacement des journaux de traces n'est nécessaire.
default: /var/log/pgbackrest
example: log-path=/backup/db/log
5.5
Journalisation des sous-processus (--log-subprocess)
Activer la journalisation des traces dans les sous-processus.
Activez la journalisation des traces dans les fichiers pour tous les sous-processus créés par ce processus en utilisant le niveau de journalisation spécifié par log-level-file.
default: n
example: log-subprocess=y
5.6
Horodatage du journal (--log-timestamp)
Activer l'horodatage dans les traces.
Active l'horodatage dans la console et l'enregistrement des fichiers. Cette option est désactivée dans des situations particulières telles que la génération de documentation.
default: y
example: log-timestamp=n
6
Dépot (Repository) Options (repository)
La section repository (dépot) définit les options utilisées pour configurer le dépôt de sauvegarde.

Indexation : Toutes les options repo- sont indexées pour permettre la configuration de plusieurs dépôts, bien qu'un seul dépôt soit actuellement pris en charge. Par exemple, le dépôt est configuré avec les options repo1-path, repo1-host, etc.

Les options repo-retention-* définissent la durée de la rétention des sauvegardes. L'expiration ne se produit que lorsque le nombre de sauvegardes complètes dépasse la rétention autorisée. Autrement dit, si l'option de conservation-full est réglée sur 2, il doit y avoir 3 sauvegardes complètes avant que la plus ancienne ne soit périmée. Veillez à toujours disposer d'un espace suffisant pour la conservation + 1 sauvegarde.
6.1
Phrase de chiffrement du dépôt (--repo-cipher-pass)
Phrase de chiffrement du dépôt.
Mot de passe utilisée pour chiffrer/déchiffrer les fichiers du dépôt.
example: repo1-cipher-pass=zWaf6XtpjIVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO
6.2
Type de chiffrement du dépôt (--repo-cipher-type)
Chiffrement (cipher) utilisé pour chiffrer le dépôt.
Les types de chiffrement suivants sont pris en charge:
  • none - Le dépôt n'est pas chiffré.
  • aes-256-cbc - Advanced Encryption Standard avec une clef de 256 bit
À noter que le chiffrement est toujours effectué côté client même si le type de stockage (par exemple S3) supporte le chiffrement.
default: none
example: repo1-cipher-type=aes-256-cbc
6.3
Liens physiques Dépot (--repo-hardlink)
Liens physiques (hardlink) des fichiers entre les sauvegardes dans le dépôt.
Activation la liaison physique des fichiers dans les sauvegardes différentielles et incrémentales avec leurs sauvegardes complètes. Cela donne l'impression que chaque sauvegarde est une sauvegarde complète au niveau du système de fichiers. Attention, cependant, car la modification de fichiers liés peut affecter toutes les sauvegardes de ce jeu.
default: n
example: repo1-hardlink=y
Nom obsolète: hardlink
6.4
Hôte du dépot (--repo-host)
Hôte de dépôt dans le cas d'un fonctionnement à distance via SSH.
Assurez-vous que l'authentification SSH soit correctement approuvé entre l'hôte PostgreSQL et l'hôte du référentiel.

Ce paramètre n'est pas nécessaire pour la sauvegarde et l'archivage sur un système de fichiers monté localement.
example: repo1-host=repo1.domain.com
Nom obsolète: backup-host
6.5
Chemin des binaires (--repo-host-cmd)
Chemin des binaires pgBackRest sur l'hôte du dépôt.
Nécessaire uniquement si le chemin d'accès à pgbackrest est différent entre les hôtes locaux et l'hote du dépôt. S'il n'est pas défini, le chemin des binaires sur l'hôte du dépôt sera le même que le chemin des binaires locaux.
example: repo1-host-cmd=/usr/lib/backrest/bin/pgbackrest
Nom obsolète: backup-cmd
6.6
Emplacement du fichier de configuration (--repo-host-config)
Emplacement du fichier de configuration pgBackRest sur l'hôte du dépôt.
Définit l'emplacement du fichier de configuration sur l'hôte du dépôt. Ceci n'est nécessaire que si le fichier de configuration de l'hôte du dépôt se trouve dans un emplacement différent de celui du fichier de configuration local.
default: /etc/pgbackrest/pgbackrest.conf
example: repo1-host-config=/conf/pgbackrest/pgbackrest.conf
Nom obsolète: backup-config
6.7
Chemin d'inclusion de la configuration (--repo-host-config-include-path)
Chemin d'inclusion pgBackRest de la configuration de l'hôte du dépôt.
Définit l'emplacement du chemin d'inclusion de la configuration sur l'hôte du dépôt. Ceci n'est nécessaire que si le chemin d'inclusion de la configuration de l'hôte du dépôt se trouve à un endroit différent du chemin d'inclusion de la configuration locale.
default: /etc/pgbackrest/conf.d
example: repo1-host-config-include-path=/conf/pgbackrest/conf.d
6.8
Chemin de configuration (--repo-host-config-path)
Chemin de configuration pgBackRest de l'hôte du dépôt.
Définit l'emplacement du chemin de configuration sur l'hôte du dépôt. Ceci n'est nécessaire que si le chemin de configuration de l'hôte du référentiel se trouve à un endroit différent du chemin de configuration local.
default: /etc/pgbackrest
example: repo1-host-config-path=/conf/pgbackrest
6.9
Port de l'hôte du dépôt (--repo-host-port)
Port de l'hôte du dépôt lorsque repo-host est défini.
Utilisez cette option pour spécifier un port non par défaut pour le protocole d'accès à l'hôte du dépôt. Actuellement, seul SSH est pris en charge
allowed: 0-65535
example: repo1-host-port=25
Nom obsolète: backup-ssh-port
6.10
Utilisateur de l'hôte du dépôt (--repo-host-user)
Utilisateur de l'hôte du dépôt lorsque repo-host est défini.
Définit l'utilisateur qui sera utilisé pour les opérations sur l'hôte du dépôt. De préférence, il ne s'agit pas de l'utilisateur postgres mais plutôt d'un autre utilisateur comme pgbackrest. Si PostgreSQL fonctionne sur l'hôte du dépôt, l'utilisateur postgres peut être placé dans le groupe pgbackrest afin qu'il ait les autorisations de lecture sur le dépôt sans pouvoir en endommager le contenu accidentellement.
default: pgbackrest
example: repo1-host-user=repo-user
Nom obsolète: backup-user
6.11
Chemin d'accès du Dépots (--repo-path)
Chemin d'accès où sont stockées les sauvegardes et les archives.
Le dépôt est l'endroit où pgBackRest stocke les sauvegardes et archive les segments des journaux de transaction (WAL).

Il peut être difficile d'estimer à l'avance l'espace dont vous aurez besoin. La meilleure chose à faire est de prendre quelques sauvegardes puis d'enregistrer la taille des différents types de sauvegardes (full/incr/diff) et de mesurer la quantité de WAL générée par jour. Cela vous donnera une idée générale de l'espace dont vous aurez besoin, même si, bien sûr, les besoins changeront probablement au fil du temps, à fur et à mesure de l'évolution de votre base de données.
default: /var/lib/pgbackrest
example: repo1-path=/backup/db/backrest
6.12
Rétention d'Archive (--repo-retention-archive)
Nombre de sauvegardes correspondant à la valeur de WAL continue à conserver.
NOTE:
Les segments WAL nécessaires pour rendre une sauvegarde cohérente sont toujours conservés jusqu'à l'expiration de la sauvegarde, quelle que soit la configuration de cette option.
Si cette configuration n'est pas définie et que repo-retention-full-type est positionné sur count (valeur par défaut), alors l'expiration de l'archive sera par défaut à la valeur de repo-retention-full si repo-retention-archive-type est définit à full (ou à repo-retention-diff si repo-retention-archive-type est définit à diff ). Cela permet de garantir que le WAL n'expirera que pour les sauvegardes ayant déjà expirées. Si repo-retention-full-type est positionné sur time, avec cette valeur, par défaut, les archives qui sont antérieures à la plus ancienne sauvegarde complète conservée et satisfaisant au paramètre repo-retention-full seront supprimés.

Cette option doit être définie si repo-retention-archive-type est positionné sur incr. Si l'espace disque est insuffisant, ce paramètre, associé à repo-retention-archive-type, peut être utilisé pour faire expirer de manière agressive les segments WAL. Toutefois, cela annule la possibilité d'effectuer un PITR à partir des sauvegardes avec les WAL expirés et donc n'est pas recommandé.
allowed: 1-9999999
example: repo1-retention-archive=2
Nom obsolète: retention-archive
6.13
Type Rétention Archive (--repo-retention-archive-type)
Type de sauvegarde pour la conservation des journaux de transaction (WAL).
Lorsque repo-retention-archive-type est positionné sur full pgBackRest conservera les journaux de trasnaction (WAL) pour le nombre de sauvegardes complètes défini par repo-retention-archive. S'il est positionné sur diff (différentiel) pgBackRest conservera les journaux de trasnaction (WAL) pour le nombre de sauvegardes complètes et différentielles défini par repo-retention-archive, ce qui signifie que si la dernière sauvegarde effectuée était une sauvegarde complète, elle sera comptée comme un différentiel pour les besoins de la retention du dépôt. S'il est positionné sur incr (incrémental) pgBackRest conservera les journaux de trasnaction (WAL) pour le nombre de sauvegardes complètes, différentielles et incrémentielles défini par repo-retention-archive. Il est recommandé de ne pas modifier ce paramètre par rapport à la valeur par défaut : expiration que lorsque les sauvegardes complètes auront expiré.
default: full
example: repo1-retention-archive-type=diff
Nom obsolète: retention-archive-type
6.14
Rétention Différentielle (--repo-retention-diff)
Nombre de sauvegardes différentielles à conserver.
Lorsqu'une sauvegarde différentielle expire, toutes les sauvegardes incrémentales associées à la sauvegarde différentielle expirent également. Lorsqu'elles ne sont pas définies, toutes les sauvegardes différentielles seront conservées jusqu'à ce que les sauvegardes complètes dont elles dépendent expirent.
allowed: 1-9999999
example: repo1-retention-diff=3
Nom obsolète: retention-diff
6.15
Rétention Complète (--repo-retention-full)
Nombre ou temps de sauvegardes complètes à conserver.
Lorsqu'une sauvegarde complète expire, toutes les sauvegardes différentielles et incrémentielles associées à la sauvegarde complète expirent également. Lorsque l'option n'est pas définie, un avertissement sera émis. Si une conservation indéfinie est souhaitée, il faut alors définir l'option à la valeur maximale.
allowed: 1-9999999
example: repo1-retention-full=2
Nom obsolète: retention-full
6.16
Type de rétention Complète (--repo-retention-full-type)
Type de conservation pour les sauvegardes complètes.
Détermine si le paramètre repo-retention-full représente une période de temps (jours) ou le nombre de sauvegardes complètes à conserver. Si le paramètre est réglé sur time les sauvegardes complètes plus anciennes que le paramètre repo-retention-full seront supprimées du dépôt si au moins une sauvegarde est égale ou supérieure au paramètre repo-retention-full. Par exemple, si repo-retention-full est de 30 (jours) et qu'il y a 2 sauvegardes complètes : une de 25 jours et une de 35 jours, aucune sauvegarde complète n'expirera puisque l'expiration de la sauvegarde de 35 jours ne laisserait que la sauvegarde de 25 jours; ce qui violerait la politique de conservation de 30 jours : à savoir, avoir au moins une sauvegarde de 30 jours avant qu'une plus ancienne puisse expirer. Les journaux de transactions archivés (WAL) plus anciennes que la sauvegarde complète la plus ancienne restante seront automatiquement expirées, à moins que les paramètres repo-retention-archive-type et repo-retention-archive ne soient explicitement définis.
default: count
example: repo1-retention-full-type=30
6.17
S3 Bucket (--repo-s3-bucket)
S3 dépôt bucket.
Bucket S3 utilisé pour stocker le dépôt.

Les dépots pgBackRest peuvent être stockés à la racine du bucket en définissant repo-path=/ mais il est généralement préférable de spécifier un préfixe, comme par exemple /repo, afin que les logs et autres contenus générés par AWS puissent également être stockés dans le bucket.
example: repo1-s3-bucket=pg-backup
6.18
Fichier SSL CA S3 (--repo-s3-ca-file)
Ficher SSL CA S3.
Utiliser un fichier CA autre que celui défini par défaut dans le système.
example: repo1-s3-ca-file=/etc/pki/tls/certs/ca-bundle.crt
6.19
Chemin SSL CA (--repo-s3-ca-path)
Chemin S3 SSL CA.
Utiliser un chemin pour le CA autre que celui défini par défaut dans le système.
example: repo1-s3-ca-path=/etc/pki/tls/certs
6.20
Point de terminaison S3 (--repo-s3-endpoint)
Dépot S3 Point de terminaison (endpoint).
Le point de terminaison d'AWS doit être valable pour la région sélectionnée.
example: repo1-s3-endpoint=s3.amazonaws.com
6.21
Hôte S3 (--repo-s3-host)
Hôte du dépot S3.
Conntecter sur un hôte différent du point de terminaison (endpoint). Il est généralement utilisé à des fins de test.
example: repo1-s3-host=127.0.0.1
6.22
Clé d'accès S3 (--repo-s3-key)
Clé d'accès au dépôt S3.
Clé AWS utilisée pour accéder au bucket.
example: repo1-s3-key=AKIAIOSFODNN7EXAMPLE
6.23
Clé d'accès secrète S3 (--repo-s3-key-secret)
Clé d'accès secrète au dépôt S3.
Clé secrète AWS utilisée pour accéder au bucket.
example: repo1-s3-key-secret=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
6.24
Port S3 (--repo-s3-port)
Port de connection au dépot S3.
Port à utiliser lors de la connexion au point de terminaison (ou à l'hôte si spécifié).
default: 443
allowed: 1-65535
example: repo1-s3-port=9000
6.25
Région S3 (--repo-s3-region)
Région du dépôt S3.
La région d'AWS où le bucket a été créé.
example: repo1-s3-region=us-east-1
6.26
Jeton de sécurité pour le dépôt S3 (--repo-s3-token)
Jeton de sécurité pour le dépôt S3.
Jeton de sécurité AWS utilisé avec des identifiants temporaires.
example: repo1-s3-token=AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22 ...
6.27
S3 Formats d'URI (--repo-s3-uri-style)
S3 URI formats.
Les formats URI suivants sont pris en charge:
  • host - Connexion à l'hôte bucket.endpoint.
  • path - Connexion à l'hôte endpoint et ajout du bucket aux URIs.
default: host
example: repo1-s3-uri-style=path
6.28
S3 Vérifiction TLS (--repo-s3-verify-tls)
Vérifier le certificat du serveur S3.
Désactive la vérification du certificat du serveur S3. Cette fonction ne doit être utilisée que dans le cadre de tests ou dans le cas d'une utilisation avec un certificat a été auto-signé.
default: y
example: repo1-s3-verify-tls=n
Nom obsolète: repo-s3-verify-ssl
6.29
Type de dépot (--repo-type)
Type de stockage utilisé pour le dépôt.
Les types de stockage suivants sont pris en charge :
  • cifs - Comme posix, mais désactive les liens et les fsyncs sur les répertoires
  • posix - Systèmes de fichiers conformes à Posix
  • s3 - Service de stockage d'objet (AWS Simple Storage Service)
default: posix
example: repo1-type=cifs
7
Restore Options (restore)
La section restore définit les paramètres utilisés lors de la restauration des sauvegardes.
7.1
Inclure la base de données (--db-include)
Restaurer uniquement des bases de données spécifiques.
Cette fonctionnalité permet de ne restaurer que certaines bases de données. Les bases de données qui ne sont pas spécifiquement sélectionnées seront restaurées sous la forme de fichiers épars et mis à zéro afin d'économiser de l'espace, tout en permettant à PostgreSQL d'effectuer la restauration. Après la récupération, les bases de données qui n'ont pas été incluses ne seront pas accessibles mais peuvent être supprimées avec la commande drop database.
NOTE:
Les bases de données intégrées (template0, template1, et postgres) sont toujours restaurées.
L'option --db-include peut être passée plusieurs fois pour spécifier plus d'une base de données à inclure.
example: db-include=db_main
7.2
Tous Liens synboliques (--link-all)
Restaurer tous les liens symboliques
Par défaut, les liens symboliques qu'ils soient répertoires ou fichiers sont restaurés comme des répertoires et fichiers standards dans $PGDATA. En effet, il peut être dangereux de restaurer des liens symboliques vers leur destination d'origine sur un système autre que celui où la sauvegarde d'origine a été effectuée. Cette option restaure tous les liens symboliques tels qu'ils étaient sur le système d'origine où la sauvegarde a été effectuée.
default: n
example: link-all=y
7.3
Mappage liens symboliques (--link-map)
Modification de la destination d'un lien symbolique.
Permet de modifier la destination du fichier ou du répertoire d'un lien symbolique lors de la restauration. Ceci est utile lors de la restauration sur un sytèmes avec une configuration du stockage différente de celle du système d'origine (là où la sauvegarde a été réalisée).
example: link-map=pg_xlog=/data/xlog
7.4
Option Récuperation (--recovery-option)
Définissez une option dans recovery.conf.
Consultez http://www.postgresql.org/docs/X.X/static/recovery-config.html pour plus de détails sur les options de recovery.conf (remplacez X.X par votre PostgreSQL version). Cette option peut être utilisée plusieurs fois.
NOTE:
L'option restore_command sera générée automatiquement mais peut être écrasée avec cette option. Faites attention à bien spécifier votre propre restore_command car pgBackRest est conçu pour gérer cela pour vous. Les options Target Recovery (recovery_target_name, recovery_target_time, etc.) sont générées automatiquement par pgBackRest et ne doivent pas être définies avec cette option.
Dans la mesure où pgBackRest ne démarre pas PostgreSQL après avoir écrit le fichier recovery.conf, il est toujours possible de modifier/contrôler recovery.conf avant de redémarrer manuellement.
example: recovery-option=primary_conninfo=db.mydomain.com
7.5
Mappage Tablespace (--tablespace-map)
Restaurer un tablespace dans un répertoire spécifique.
Déplace un tablespace vers un nouvel emplacement pendant la restauration. Cela est utile lorsque les emplacements des tablespaces ne sont pas les mêmes sur un secondaire en réplication, ou lorsqu'un système a des points de montage différents après une mis à niveau.

Depuis la version PostgreSQL 9.2, les emplacements des tablespaces ne sont pas stockés dans pg_tablespace, donc le déplacement des tablespaces peut se faire en toute tranquillité. Cependant, le déplacement d'un tablespace vers le data_directory n'est pas recommandé et peut causer des problèmes. Pour plus d'informations sur le déplacement des tablespaces, http://www.databasesoup.com/2013/11/moving-tablespaces.html est une bonne ressource (en anglais).
example: tablespace-map=ts_01=/db/ts_01
7.6
Remappage Tous Tablespaces (--tablespace-map-all)
Restaurez tous les tablespaces dans le répertoire spécifié.
Par défaut, les tablespaces sont restaurés à leur emplacement d'origine et, bien que ce comportement puisse être modifié avec l'option tablespace-map, il est parfois souhaitable de remapper tous les tablespaces dans un nouveau répertoire en une seule fois. Ceci est particulièrement utile pour les systèmes de développement ou de mise en place qui peuvent ne pas avoir la même disposition de stockage que le système d'origine où la sauvegarde a été réalisée.

Le chemin spécifié sera le chemin parent utilisé pour créer tous les tablespaces de la sauvegarde lors de la restauration.
example: tablespace-map-all=/data/tablespace
8
Stanza Options (stanza)
Un stanza définit la configuration de sauvegarde d'une instance de base de données PostgreSQL déterminé. La section stanza doit définir le chemin de l'instance de base de données et l'hôte/utilisateur si l'instance de base de données est distante. De plus, toute section de configuration globale peut être écrasée pour définir des paramètres spécifiques au stanza.

Indexation : Toutes les options pg- sont indexées pour permettre la configuration de plusieurs hôtes PostgreSQL . Par exemple, un seul primaire est configurée avec les options pg1-path, pg1-port, etc. Si un secondaire (standby) est configuré, alors les options pg- sur l'hôte du dépôt sont indexées comme pg2- (par exemple pg2-host, pg2-path, etc).
8.1
Hôte PostgreSQL (--pg-host)
Hôte PostgreSQL pour les opérations à distance via SSH.
Utilisé pour les sauvegardes lorsque l'hôte PostgreSQL est différent de l'hôte du dépôt.
example: pg1-host=db.domain.com
Nom obsolète: db-host
8.2
Hôte PostgreSQL Commande (--pg-host-cmd)
Emplacement des exécutable pgBackRest sur l'hôte PostgreSQL.
Uniquement requis si le chemin vers pgbackrest est différent sur le serveur local et PostgreSQL. S'il n'est pas défini, le chemin de l'pgbackrest de l'hôte de la base de données sera le même que le chemin de l'pgbackrest local.
example: pg1-host-cmd=/usr/lib/backrest/bin/pgbackrest
Nom obsolète: db-cmd
8.3
Hôte PostgreSQL Configuration (--pg-host-config)
pgBackRest database host configuration file.
Définit l'emplacement du fichier de configuration sur l'hôte PostgreSQL. Ceci n'est requis que si le fichier de configuration de l'hôte PostgreSQL se trouve dans un emplacement différent de celui du fichier de configuration local.
default: /etc/pgbackrest/pgbackrest.conf
example: pg1-host-config=/conf/pgbackrest/pgbackrest.conf
Nom obsolète: db-config
8.4
Hôte PostgreSQL Chemin inclusion Configuration (--pg-host-config-include-path)
Chemin d'inclusion de la configuration pgBackRest sur l'hôte.
Définit l'emplacement du chemin d'inclusion de la configuration sur l'hôte PostgreSQL. Ceci n'est requis que si le chemin d'inclusion de la configuration de l'hôte PostgreSQL se trouve à un endroit différent du chemin d'inclusion de la configuration locale.
default: /etc/pgbackrest/conf.d
example: pg1-host-config-include-path=/conf/pgbackrest/conf.d
8.5
Hôte PostgreSQL Chemin Configuration (--pg-host-config-path)
Chemin de configuration pgBackRest de l'hôte de base de données.
Définit l'emplacement du chemin de configuration sur l'hôte PostgreSQL. Ceci n'est requis que si le chemin de configuration de l'hôte PostgreSQL se trouve dans un emplacement différent du chemin de configuration local.
default: /etc/pgbackrest
example: pg1-host-config-path=/conf/pgbackrest
8.6
Hôte PostgreSQL Port (--pg-host-port)
Port de l'hôte PostgreSQL lorsque pg-host est configuré.
Utiliser cette option pour spécifier un port non par défaut pour le protocole hôte PostgreSQL. Actuellement, seul le protocole SSH est pris en charge
allowed: 0-65535
example: pg1-host-port=25
Nom obsolète: db-ssh-port
8.7
Hôte PostgreSQL Utilisateur (--pg-host-user)
Utilisateur de connexion PostgreSQL lorsque pg-host est défini.
Cet utilisateur sera également propriétaire du processus distant pgBackRest et initiera les connexions à PostgreSQL. Pour que cela puisse fonctionner correctement, l'utilisateur doit être le propriétaire de l'instance de base de données PostgreSQL, qui est généralement par défaut postgres.
default: postgres
example: pg1-host-user=db_owner
Nom obsolète: db-user
8.8
PostgreSQL Chemin (--pg-path)
PostgreSQL data directory.
Ce paramètre doit être le même que le paramètre data_directory du fichier postgresql.conf. Même si cette valeur peut être lue à partir de postgresql.conf ou PostgreSQL, il est conseillé de la définir au cas où ces ressources ne seraient pas disponibles pendant un scénario de restauration ou de sauvegarde hors ligne.

L'option pg-path est testée par rapport à la valeur indiquée par PostgreSQL à chaque sauvegarde en ligne, elle doit donc toujours être à jour.
example: pg1-path=/data/db
Nom obsolète: db-path
8.9
PostgreSQL Port (--pg-port)
Port PostgreSQL.
Port sur lequel PostgreSQL écoute. Il n'est généralement pas nécessaire de le préciser car la plupart des instances PostgreSQL fonctionnent sur le port par défaut.
default: 5432
allowed: 0-65535
example: pg1-port=6543
Nom obsolète: db-port
8.10
PostgreSQL Emplacement Socket Unix (--pg-socket-path)
Emplacement socket unix PostgreSQL.
Le répertoire de la socket unix qui a été spécifié au démarrage de PostgreSQL. pgBackRest trouvera automatiquement l'emplacement standard pour votre système d'exploitation, il n'est donc généralement pas nécessaire de spécifier ce paramètre, sauf si le répertoire des sockets a été explicitement modifié avec le paramètre unix_socket_directory dans postgresql.conf.
allowed: 0-65535
example: pg1-socket-path=/var/run/postgresql
Nom obsolète: db-socket-path
8.11
PostgreSQL Utilisateur Base de données (--pg-user)
Nom d'utilisateur de base de données PostgreSQL.
Le nom d'utilisateur de la base de données utilisé lors de la connexion à PostgreSQL. S'il n'est pas spécifié, pgBackRest se connectera avec l'utilisateur du système d'exploitation local ou PGUSER.
example: pg1-user=backupuser